From d0b02df4db95e2b456f8117134bf2e68c9db3957 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9E=AB=E8=B0=B7=E5=89=91=E4=BB=99?= Date: Tue, 30 Nov 2021 19:44:51 +0800 Subject: [PATCH] =?UTF-8?q?=E9=99=8D=E7=AE=80=E4=BD=93=E4=B8=AD=E6=96=87?= =?UTF-8?q?=E7=9A=84=E7=BF=BB=E8=AF=91=E8=BD=AC=E6=8D=A2=E5=88=B0=E7=B9=81?= =?UTF-8?q?=E4=BD=93=E4=B8=AD=E6=96=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 4 +- languages/en.js | 360 +------------ languages/ja.js | 4 +- languages/ko.js | 33 +- languages/language-list.js | 4 +- languages/zh-TW.js | 327 +++++++++++- languages/zh.js | 334 +++++++++++- script-json_data.js | 1003 ++++++++++++++++++------------------ 8 files changed, 1215 insertions(+), 854 deletions(-) diff --git a/README.md b/README.md index ac1f2b52..4a07ad2f 100644 --- a/README.md +++ b/README.md @@ -39,8 +39,8 @@ Chrome browser need start with the additional argument `--allow-file-access-from 1. 中文(简体) 1. 中文(繁體) 1. English -1. 日本語 (by Bing Microsoft Translator) -1. 한국어 (by Bing Microsoft Translator) +1. 日本語 (スキル解析翻訳のヘルプが必要です, by Bing Translator) +1. 한국어 (스킬 구문 분석 번역에 도움이 필요, by Bing Translator) ## How to **Pull requests** 1. Click **Fork** In the page top right corner. Fork your own copy of this repository to your account. diff --git a/languages/en.js b/languages/en.js index b51c543c..0f7a7ad0 100644 --- a/languages/en.js +++ b/languages/en.js @@ -1,334 +1,30 @@ -const _localTranslating = { - webpage_title: `P&D ${teamsCount}P Formation Maker`, - addition_display: "Additional display", - title_blank: "Input Formation Title", - detail_blank: "Input Detail", - sort_name:{ - sort_none: "Nope", - sort_id: "Cards Id", - sort_attrs : "Attribute", - sort_evoRootId: "Cards Evolution Root", - sort_evoRoot_Attrs : "Cards Evolution Root's Attribute", - sort_rarity: "Rarity", - sort_cost: "Cost", - sort_skillLv1: "Maximum Skill Turn", - sort_skillLvMax: "Minimum Skill Turn", - sort_hpMax120: "Max HP", - sort_atkMax120: "Max ATK", - sort_rcvMax120: "Max RCV", - sort_hpMax120_awoken: "Max HP (+Awoken)", - sort_atkMax120_awoken: "Max ATK (+Awoken)", - sort_rcvMax120_awoken: "Max RCV (+Awoken)", - sort_abilityIndex_awoken: "Maximum Weighted Ability Index (+Awakening)", - }, - force_reload_data: `Force refresh data`, - skill_parse: { - skill: { - unknown: tp`Unkonwn skill type: ${'type'}`, - active_turns: tp`${'actionSkill'}, for ${'turns'} turns`, - random_skills: tp`Random Activates these skills:${'skills'}`, - evolved_skills: tp`Skills evolve to the next stage when used:${'skills'}`, - evolved_skills_loop: tp`${`icon`}Returns to the first stage after use`, - damage_enemy: tp`Inflicts ${'times'}${'damage'} ${'attr'} attack on ${'target'}${'totalDamage'}`, - damage_enemy_times: tp`${'times'} `, - damage_enemy_count: tp` (${'damage'} in total)`, - //Inflicts a 50x attack to 1 enemy and recover 100% of the damage. Reduces unmatchable orb status by 9999 turns. 9999 turn awoken bind recovery. - vampire: tp`${'damage_enemy'} and ${'icon'}recover ${'heal'} of the damage`, - delay: tp`${'icon'}Delays enemies' next move`, - mass_attack: tp`${'icon'}Mass attacks`, - leader_change: tp`${'icon'}Switches ${'target'} with Leader Monster, use again to switch back`, - no_skyfall: tp`${'icon'}No Skyfall Combos`, - self_harm: tp`${'icon'}Reduces ${'stats'} by ${'value'}`, - heal: tp`${'icon'}Recover ${'value'} ${'stats'}`, - unbind: tp`Recovery ${'stats'} by ${'turns'} turns`, - unbind_normal: tp`${'icon'}Bind`, - unbind_awakenings: tp`${'icon'}Awoken bind`, - unbind_matches: tp`${'icon'}Unmatchable orb`, - bind_skill: tp`${'icon'}Unable to use skills`, - defense_break: tp`${'icon'}Reduce enemy defense by ${'value'}`, - poison: tp`${'icon'}Poisons ${'target'}, reduce ${'stats'} with ${'belong_to'} ${'value'} per turns`, - time_extend: tp`${'icon'}Orb move time ${'value'}`, - follow_attack: tp`${'icon'}Bonus attack equal to ${'belong_to'} ${'value'} when matching Orbs (Consider the ${'target'}'s defense)`, - follow_attack_fixed: tp`inflicts ${'damage'} ${'attr'} damage`, - auto_heal_buff: tp`${'icon'}Heal ${'value'} ${'stats'} every turn`, - auto_heal: tp`${'icon'}Heal ${'stats'} by ${'belong_to'} ${'value'} after matching orbs`, - ctw: tp`${'icon'}Move orbs freely for ${'value'}`, - gravity: tp`${'icon'}Reduce ${'target'} ${'value'}`, - resolve: tp`${'icon'}Survive a single hit when ${'stats'}≧${'min'}`, - board_change: tp`Change all orbs to ${'orbs'}`, - skill_boost: tp`Team's skills charge ${'icon'}${'turns_min'}${'turns_max'}`, - skill_boost_range: tp`~${'turns'}`, - add_combo: tp`Adds ${'value'} combos${'icon'}`, - fixed_time: tp`[${'icon'}Fixed orb move time: ${'value'}]`, - min_match_length: tp`[Only able to erase ≥${'matchable'} orbs]`, //matchable, unmatchable - 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'}`, - fixed_orbs: tp`Changes the ${'position'} to ${'orbs'} orbs`, - orb_drop_increase: tp`Increases the skyfall of ${'orbs'} to ${'value'}`, - orb_drop_increase_flag: tp`${'orbs'} skyfall ${'chance'}${'flag'}`, - orb_drop_increase_chance: tp`by ${'value'}`, - attr_absorb: tp`${'icon'}Attribute absorption`, - combo_absorb: tp`${'icon'}Combo absorption`, - damage_absorb: tp`${'icon'}Damage absorption`, - damage_void: tp`${'icon'}Damage void`, - void_enemy_buff: tp`Voids enemies' ${'buff'}`, - change_attribute: tp`${'target'} Att. changes to ${'attrs'}`, - set_orb_state_enhanced: tp`${'orbs'} ${'icon'}enhanced (${'value'} per orb)`, - set_orb_state_locked: tp`${'icon'}Locks ${'value'}${'orbs'}`, - set_orb_state_unlocked: tp`${'icon'}Unlocks ${'orbs'}`, - set_orb_state_bound: tp`${'orbs'} are unmatchable`, - rate_multiply: tp`${'rate'} ${'value'} when entering as leader`, - rate_multiply_drop: tp`${'icon'}Drop rate`, - rate_multiply_coin: tp`${'icon'}Coins`, - rate_multiply_exp: tp`${'icon'}Rank EXP`, - reduce_damage: tp`${'condition'}${'icon'}Reduces ${'attrs'} damage taken by ${'value'}`, - power_up: tp`${'condition'}${'targets'}${'value'}${'reduceDamage'}${'addCombo'}${'followAttack'}`, - power_up_targets: tp`[${'attrs_types'}]'s `, //attrs, types, attrs_types - henshin: tp`Transforms into ${'card'}`, - void_poison: tp`Voids ${'poison'} damage`, - skill_proviso: tp`The follow-up effect can only be activates ${'condition'}`, - obstruct_opponent: tp`Apply obstruct skill effect to ${'target'}: ${'skills'}`, - obstruct_opponent_after_me: tp`The opponent ranked lower than me`, - obstruct_opponent_before_me: tp`The opponent ranked higher than me`, - obstruct_opponent_designated_position: tp`No.${'positions'} ranked opponents`, - }, - power: { - unknown: tp`[ Unkonwn power up: ${'type'} ]`, - scale_attributes: tp`When matching ${'min'} attr. of ${'orbs'} ${'stats'}${'bonus'}`, - scale_attributes_bonus: tp`, ${'bonus'} per attr. additional, up to ${'stats_max'} for ${'max'} attr.`, - scale_combos: tp`When ${'min'} combos ${'stats'}${'bonus'}`, - scale_combos_bonus: tp`, ${'bonus'} per combos additional, up to ${'stats_max'} for ${'max'} combos`, - scale_match_attrs: tp`When matching ${'min'} combos in [${'matches'}] ${'stats'}${'bonus'}`, - scale_match_attrs_bonus: tp`, ${'bonus'} per matches additional,up to ${'stats_max'} for ${'max'} matches`, - scale_match_length: tp`When matching ${'min'} of ${'orbs'} ${'in_once'}${'stats'}${'bonus'}`, - scale_match_length_bonus: tp`, ${'bonus'} per orbs additional,up to ${'stats_max'} for ${'max'} orbs`, - scale_remain_orbs: tp`When ≤ ${'max'} orbs remain on the board ${'stats'}${'bonus'}`, - scale_remain_orbs_bonus: tp`, ${'bonus'} for each fewer orb, up to ${'stats_max'} for ${'min'} orbs`, - scale_cross: tp`When matching each cross of 5 ${'orbs'} ${'stats'}`, - scale_cross_single: tp`When matching a cross of 5 ${'orbs'} ${'stats'}`, - scale_state_kind_count: tp`${'stats'} for each [${'awakenings'}${'attrs'}${'types'}] in team`, - }, - cond: { - unknown: tp`[ Unknown condition ]`, - hp_equal: tp`When ${'hp'} == ${'min'} `, - hp_less_or_equal: tp`When ${'hp'} ≤ ${'max'} `, - hp_greater_or_equal: tp`When ${'hp'} ≥ ${'min'} `, - hp_belong_to_range: tp`When ${'hp'} ∈ [${'min'},${'max'}] `, - use_skill: tp`When skills used `, - multi_player: tp`When in Multiplayer Mode `, - remain_orbs: tp`When ≤ ${'value'} Orbs on the board `, - exact_combo: tp`When exactly ${'value'} combos `, - exact_match_length: tp`When matching exactly ${'value'}${'orbs'} `, - exact_match_enhanced: tp` orbs including enhanced`, +//const _localTranslating = {}; +//deepMerge(localTranslating, _localTranslating); +localisation(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'} `, +//大数字缩短长度 +Number.prototype.bigNumberToString = function() { + const negative = this < 0; - L_shape: tp`When matching an L shape of 5 ${'orbs'} `, - heal: tp`When healing at least ${'heal'} ${'stats'} with ${'orbs'} `, - }, - position: { - top: tp`${'pos'} of top rows`, - bottom: tp`${'pos'} of bottom rows`, - left: tp`${'pos'} of left columns`, - right: tp`${'pos'} of right columns`, - shape: tp`specified location`, - }, - value: { - unknown: tp`[ Unknown value: ${'type'}]`, //type - const: tp`${'value'} ${'unit'}`, - const_to: tp`to ${'value'}`, - mul_percent: tp`${'value'}%`, - mul_times: tp`×${'value'}`, - mul_of_percent: tp`${'stats'}'s ${'value'}%`, - mul_of_times: tp`${'stats'} ×${'value'}`, - hp_scale: tp`when ${'hp'} == 100% is ${'min'} and ${'hp'} == 1 is ${'max'}`, - random_atk: tp`${'atk'} ×${'min'}${'max'}`, - prob: tp`${'value'} chance for `, - x_awakenings: tp`count of ${'awakenings'} ×${'value'}`, - }, - target: { - unknown: tp`Unkown Target`, - self: tp`card's`, - team: tp`team`, - team_last: tp`the lastest member`, - team_leader: tp`leader`, - team_sub: tp`sub-monsters`, - enemy: tp`Enemy`, - enemy_all: tp`all enemys`, - enemy_one: tp`1 enemy`, - enemy_attr: tp`${'attr'} enemy`, - }, - stats: { - unknown: tp`[ Unknown: ${'type'}]`, //type - maxhp: tp`Max HP`, - hp: tp`HP`, - chp: tp`current HP`, - atk: tp`ATK`, - rcv: tp`RCV`, - teamhp: tp`Team HP`, - teamatk: tp`Team ${'attrs'} ATK`, - teamrcv: tp`Team RCV`, - }, - unit: { - orbs: tp``, - times: tp` times`, - seconds: tp` seconds`, - point: tp` point`, - turns: tp` turns`, - }, - word: { - comma: tp`, `, - slight_pause: tp`, `, - range_hyphen: tp`~`, - in_once: tp`in once `, - evo_type_pixel: tp`Pixel Evo`, - evo_type_reincarnation: tp`Reinc. or Super Reinc. Evo`, - evo_type_unknow: tp`Unknown Evo: ${'type'}`, - affix_attr: tp`${'cotent'} attr.`, - affix_orb: tp`${'cotent'} orbs`, - affix_type: tp`${'cotent'} types`, - affix_awakening: tp`${'cotent'} awoken`, - affix_exclude: tp`, exclude ${'cotent'}`, - }, - attrs: { - [0]: tp`${'icon'}Fire`, - [1]: tp`${'icon'}Water`, - [2]: tp`${'icon'}Wood`, - [3]: tp`${'icon'}Light`, - [4]: tp`${'icon'}Dark`, - [5]: tp`${'icon'}Recover`, - [6]: tp`${'icon'}Null`, - all: tp`All`, - self: tp`${'icon'}Self's Attr`, - fixed: tp`${'icon'}Fixed`, - }, - orbs: { - [0]: tp`${'icon'}Fire`, - [1]: tp`${'icon'}Water`, - [2]: tp`${'icon'}Wood`, - [3]: tp`${'icon'}Light`, - [4]: tp`${'icon'}Dark`, - [5]: tp`${'icon'}Heal`, - [6]: tp`${'icon'}Jammer`, - [7]: tp`${'icon'}Poison`, - [8]: tp`${'icon'}Lethal Poison`, - [9]: tp`${'icon'}Bomb`, - enhanced: tp`${'icon'}Enhanced`, - locked: tp`${'icon'}Locked`, - nail: tp`${'icon'}Nail`, - variation: tp`${'icon'}Roulette (transforms every ${'time'})`, - _5color: tp`${'icon'}5 Att.`, - _6color: tp`${'_5color'}+${'orb_rcv'}`, - all: tp`All`, - any: tp`Any ${'cotent'}`, - }, - types: { - [0]: tp`${'icon'}Evo Material`, - [1]: tp`${'icon'}Balanced`, - [2]: tp`${'icon'}Physical`, - [3]: tp`${'icon'}Healer`, - [4]: tp`${'icon'}Dragon`, - [5]: tp`${'icon'}God`, - [6]: tp`${'icon'}Attacker`, - [7]: tp`${'icon'}Devil`, - [8]: tp`${'icon'}Machine`, - [9]: tp`${'icon'}Special Protection`, - [12]: tp`${'icon'}Awaken`, - [14]: tp`${'icon'}Enhance Material`, - [15]: tp`${'icon'}Redeemable`, - }, - awokens: { - [0]: tp`${'icon'}Unknown awoken`, - [1]: tp`${'icon'}Enhanced HP`, - [2]: tp`${'icon'}Enhanced Attack`, - [3]: tp`${'icon'}Enhanced Heal`, - [4]: tp`${'icon'}Reduce Fire Damage`, - [5]: tp`${'icon'}Reduce Water Damage`, - [6]: tp`${'icon'}Reduce Wood Damage`, - [7]: tp`${'icon'}Reduce Light Damage`, - [8]: tp`${'icon'}Reduce Dark Damage`, - [9]: tp`${'icon'}Auto-Heal`, - [10]: tp`${'icon'}Resistance-Bind`, - [11]: tp`${'icon'}Resistance-Blind`, - [12]: tp`${'icon'}Resistance-Jammers`, - [13]: tp`${'icon'}Resistance-Poison`, - [14]: tp`${'icon'}Enhanced Fire Orbs`, - [15]: tp`${'icon'}Enhanced Water Orbs`, - [16]: tp`${'icon'}Enhanced Wood Orbs`, - [17]: tp`${'icon'}Enhanced Water Orbs`, - [18]: tp`${'icon'}Enhanced Dark Orbs`, - [19]: tp`${'icon'}Extend Time`, - [20]: tp`${'icon'}Recover Bind`, - [21]: tp`${'icon'}Skill Boost`, - [22]: tp`${'icon'}Enhanced Fire Rows`, - [23]: tp`${'icon'}Enhanced Water Rows`, - [24]: tp`${'icon'}Enhanced Wood Rows`, - [25]: tp`${'icon'}Enhanced Water Rows`, - [26]: tp`${'icon'}Enhanced Dark Rows`, - [27]: tp`${'icon'}Two-Pronged Attack`, - [28]: tp`${'icon'}Resistance-Skill Bind`, - [29]: tp`${'icon'}Enhanced Heal Orbs`, - [30]: tp`${'icon'}Multi Boost`, - [31]: tp`${'icon'}Dragon Killer`, - [32]: tp`${'icon'}God Killer`, - [33]: tp`${'icon'}Devil Killer`, - [34]: tp`${'icon'}Machine Killer`, - [35]: tp`${'icon'}Balanced Killer`, - [36]: tp`${'icon'}Attacker Killer`, - [37]: tp`${'icon'}Physical Killer`, - [38]: tp`${'icon'}Healer Killer`, - [39]: tp`${'icon'}Evo Killer`, - [40]: tp`${'icon'}Awaken Killer`, - [41]: tp`${'icon'}Enhance Killer`, - [42]: tp`${'icon'}Redeemable Killer`, - [43]: tp`${'icon'}Enhanced Combos`, - [44]: tp`${'icon'}Guard Break`, - [45]: tp`${'icon'}Bonus Attack`, - [46]: tp`${'icon'}Enhanced Team HP `, - [47]: tp`${'icon'}Enhanced Team RCV`, - [48]: tp`${'icon'}Damage Void Piercer`, - [49]: tp`${'icon'}Awoken Assist`, - [50]: tp`${'icon'}Super Bonus Attack`, - [51]: tp`${'icon'}Skill Charge`, - [52]: tp`${'icon'}Resistance-Bind+`, - [53]: tp`${'icon'}Extend Time+`, - [54]: tp`${'icon'}Resistance-Clouds`, - [55]: tp`${'icon'}Resistance-Immobility`, - [56]: tp`${'icon'}Skill Boost+`, - [57]: tp`${'icon'}50% or more HP Enhanced`, - [58]: tp`${'icon'}50% or less HP Enhanced`, - [59]: tp`${'icon'}L Damage Reduction`, - [60]: tp`${'icon'}L Increased Attack`, - [61]: tp`${'icon'}Super Enhanced Combos`, - [62]: tp`${'icon'}Combo Orbs`, - [63]: tp`${'icon'}Skill Voice`, - [64]: tp`${'icon'}Dungeon Bonus`, - [65]: tp`${'icon'}Reduced HP`, - [66]: tp`${'icon'}Reduced Attack`, - [67]: tp`${'icon'}Reduced RCV`, - [68]: tp`${'icon'}Resistance-Blind+`, - [69]: tp`${'icon'}Resistance-Jammers+`, - [70]: tp`${'icon'}Resistance-Poison+`, - [71]: tp`${'icon'}Blessing of Jammers`, - [72]: tp`${'icon'}Blessing of Poison Orbs`, - [73]: tp`${'icon'}Enhanced Fire Combos`, - [74]: tp`${'icon'}Enhanced Water Combos`, - [75]: tp`${'icon'}Enhanced Wood Combos`, - [76]: tp`${'icon'}Enhanced Light Combos`, - [77]: tp`${'icon'}Enhanced Dark Combos`, - [78]: tp`${'icon'}CrossBoost`, - [79]: tp`${'icon'}Enhanced 3 colors`, - [80]: tp`${'icon'}Enhanced 4 colors`, - [81]: tp`${'icon'}Enhanced 5 colors`, - } - }, -} -deepMerge(localTranslating, _localTranslating); -localisation(localTranslating); \ No newline at end of file + let numTemp = negative ? Math.abs(this) : this.valueOf(); + if (!numTemp) return "0"; + const grouping = 1e3; + const unit = ['', 'K', 'M', 'G', 'T', 'P']; + const numParts = []; + do { + numParts.push(numTemp % grouping); + numTemp = Math.floor(numTemp / grouping); + } while (numTemp > 0 && numParts.length < (unit.length - 1)) + if (numTemp > 0) { + numParts.push(numTemp); + } + let numPartsStr = numParts.map((num, idx) => { + if (num > 0) { + return num + unit[idx]; + } else + return ""; + }); + + let outStr = numPartsStr.filter(Boolean).reverse().join(" "); + return (negative ? "-" : "") + outStr; +} \ No newline at end of file diff --git a/languages/ja.js b/languages/ja.js index 2325d841..625d0d20 100644 --- a/languages/ja.js +++ b/languages/ja.js @@ -56,6 +56,4 @@ Number.prototype.bigNumberToString = function() outStr = outStr.replace(/(^と+|と+$)/g,''); //去除开头的零 outStr = outStr.replace(/と{2,}/g,'と'); //去除多个连续的零 return outStr; -} - -localisation(localTranslating); \ No newline at end of file +} \ No newline at end of file diff --git a/languages/ko.js b/languages/ko.js index c9f1aa6f..ecb45b12 100644 --- a/languages/ko.js +++ b/languages/ko.js @@ -25,4 +25,35 @@ force_reload_data: "데이터 강제 새로 고침", } deepMerge(localTranslating, _localTranslating); -localisation(localTranslating); \ No newline at end of file +localisation(localTranslating); + +//大数字缩短长度 +Number.prototype.bigNumberToString = function() +{ + let numTemp = this.valueOf(); + if (!numTemp) return "0"; + const grouping = Math.pow(10, 4); + const unit = ['','만','억','조']; + const numParts = []; + do{ + numParts.push(numTemp % grouping); + numTemp = Math.floor(numTemp / grouping); + }while(numTemp>0 && numParts.length<(unit.length-1)) + if (numTemp>0) + { + numParts.push(numTemp); + } + let numPartsStr = numParts.map((num,idx)=>{ + if (num > 0) + { + return (num < 1e3 ? "と" : "") + num.toLocaleString() + unit[idx]; + }else + return "と"; + }); + + numPartsStr.reverse(); //反向 + let outStr = numPartsStr.join(""); + outStr = outStr.replace(/(^と+|と+$)/g,''); //去除开头的零 + outStr = outStr.replace(/と{2,}/g,'と'); //去除多个连续的零 + return outStr; +} \ No newline at end of file diff --git a/languages/language-list.js b/languages/language-list.js index e15fbe09..5a053d0a 100644 --- a/languages/language-list.js +++ b/languages/language-list.js @@ -19,8 +19,8 @@ name:"한국어",i18n:"ko",searchlist:["ko","ja"], guideURL:id=>`http://www.thisisgame.com/pad/info/monster/detail.php?code=${id}` }, - { + /*{ name:"Debug用",i18n:"zh-CN",searchlist:["chs","ja"], guideURL:id=>`https://pad.skyozora.com/pets/${id}` - }, + },*/ ]; \ No newline at end of file diff --git a/languages/zh-TW.js b/languages/zh-TW.js index 44f29150..5d076c3e 100644 --- a/languages/zh-TW.js +++ b/languages/zh-TW.js @@ -1,12 +1,12 @@ const _localTranslating = { - webpage_title: `龍族拼圖${teamsCount}人隊伍圖製作工具`, - addition_display: "附加顯示", + webpage_title: `龍族拼圖${teamsCount}人隊伍圖製作`, + addition_display: "💬", title_blank: "輸入隊伍標題", - detail_blank: "輸入說明", + detail_blank: "輸入説明", sort_name:{ sort_none: "無", sort_id: "怪物ID", - sort_attrs : "屬性", + sort_attrs: "屬性", sort_evoRootId: "進化樹", sort_evoRoot_Attrs : "進化根怪物的屬性", sort_rarity: "稀有度", @@ -17,12 +17,317 @@ sort_hpMax120: "最大 HP", sort_atkMax120: "最大攻擊", sort_rcvMax120: "最大回復", - sort_hpMax120_awoken: "最大 HP(+覺醒)", - sort_atkMax120_awoken: "最大攻擊(+覺醒)", - sort_rcvMax120_awoken: "最大回復(+覺醒)", + sort_hpMax120_awoken: "最大 HP(+覺醒)", + sort_atkMax120_awoken: "最大攻擊(+覺醒)", + sort_rcvMax120_awoken: "最大回復(+覺醒)", sort_abilityIndex_awoken: "最大加權能力指數(+覺醒)", }, force_reload_data: "強制刷新數據", + skill_parse: { + skill: { + unknown: tp`未知的技能類型:${'type'}`, //type + active_turns: tp`${'turns'} 回合內,${'actionSkill'}`, //turns, actionSkill + random_skills: tp`隨機發動以下技能:${'skills'}`, //skills + evolved_skills: tp`技能使用後會進化為下一階段:${'skills'}`, //skills + evolved_skills_loop: tp`${`icon`}使用後返回第一階段`, + damage_enemy: tp`對${'target'}造成${'damage'}的${'attr'}傷害${'times'}${'totalDamage'}`, //target, damage, attr + damage_enemy_times: tp`×${'times'}`, + damage_enemy_count: tp`(共${'damage'})`, + vampire: tp`${'damage_enemy'},並${'icon'}回復傷害值${'heal'}的HP`, //target, damage, attr + delay: tp`延遲敵人的攻擊${'icon'}`, //icon + mass_attack: tp`所有攻擊變為${'icon'}全體攻擊`, + leader_change: tp`${'icon'}將${'target'}換為隊長,再次使用則換回來`, + no_skyfall: tp`${'icon'}天降的寶珠不會消除`, + self_harm: tp`${'icon'}${'stats'}減少${'value'}`, + heal: tp`${'icon'}回復 ${'value'} 的 ${'stats'}`, + unbind: tp`${'stats'}狀態減少 ${'turns'} 回合`, + unbind_normal: tp`${'icon'}封鎖`, + unbind_awakenings: tp`${'icon'}覺醒無效`, + unbind_matches: tp`${'icon'}無法消除寶珠`, + bind_skill: tp`${'icon'}自身無法使用技能`, + defense_break: tp`${'icon'}敵方的防禦力減少${'value'}`, + poison: tp`${'icon'}使${'target'}中毒,每回合損失${'belong_to'} ${'value'} 的 ${'stats'}`, + time_extend: tp`${'icon'}寶珠移動時間 ${'value'}`, + follow_attack: tp`${'icon'}消除寶珠的回合,以${'belong_to'}${'value'}的傷害追打${'target'}(計算防禦力)`, + follow_attack_fixed: tp`追加${'damage'}的${'attr'}傷害`, + auto_heal_buff: tp`行動結束後${'icon'}回復${'value'}的${'stats'}`, + auto_heal: tp`${'icon'}消除寶珠的回合,回復${'belong_to'}${'value'}的${'stats'}`, + ctw: tp`${'icon'}${'value'}內時間停止,可以任意移動寶珠`, + gravity: tp`${'icon'}造成${'target'}${'value'}的傷害`, + resolve: tp`${'icon'}如${'stats'}≧${'min'},受到單一次致命攻擊時,將會以1點 HP 生還`, + board_change: tp`全畫面的寶珠變為${'orbs'}`, + skill_boost: tp`自身以外成員的技能冷卻儲備${'icon'}${'turns_min'}${'turns_max'}`, + skill_boost_range: tp`~${'turns'}`, + add_combo: tp`結算時連擊數增加${'value'}${'icon'}`, + fixed_time: tp`【${'icon'}操作時間固定${'value'}】`, + min_match_length: tp`【限定≥${'matchable'}珠才能消除】`, + 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'}個`, + fixed_orbs: tp`在${'position'}產生${'orbs'}`, + orb_drop_increase: tp`${'orbs'}的掉落率提高到${'value'}`, + orb_drop_increase_flag: tp`${'chance'}掉落${'flag'}${'orbs'}`, + attr_absorb: tp`${'icon'}屬性吸收`, + combo_absorb: tp`${'icon'}連擊吸收`, + damage_absorb: tp`${'icon'}傷害吸收`, + damage_void: tp`${'icon'}傷害無效`, + void_enemy_buff: tp`敵人的 ${'buff'} 無效化`, + change_attribute: tp`將${'target'}變為${'attrs'}`, + set_orb_state_enhanced: tp`${'icon'}強化${'orbs'}(每顆寶珠效力增加${'value'})`, + set_orb_state_locked: tp`將${'orbs'}${'icon'}鎖定${'value'}`, + set_orb_state_unlocked: tp`${'icon'}解除${'orbs'}的鎖定狀態`, + set_orb_state_bound: tp`無法消除${'orbs'}`, + rate_multiply: tp`作為隊長進入地下城時,${'rate'}變為${'value'}`, + rate_multiply_drop: tp`${'icon'}怪物蛋掉落率`, + rate_multiply_coin: tp`${'icon'}金幣掉落率`, + rate_multiply_exp: tp`${'icon'}等級經驗倍率`, + reduce_damage: tp`${'condition'}受到的${'attrs'}傷害${'icon'}減少${'value'}`, + power_up: tp`${'condition'}${'targets'}${'target'}${'value'}${'reduceDamage'}${'addCombo'}${'followAttack'}`, + power_up_targets: tp`${'attrs_types'}的 `, + henshin: tp`變身為${'card'}`, + void_poison: tp`消除${'poison'}時不會受到毒傷害`, + skill_proviso: tp`${'condition'}才能發動後續效果`, + obstruct_opponent: tp`對${'target'}施加敵對技能效果:${'skills'}`, + obstruct_opponent_after_me: tp`排名比自身低的對手`, + obstruct_opponent_before_me: tp`排名比自身高的對手`, + obstruct_opponent_designated_position: tp`第${'positions'}排位的對手`, + }, + power: { + unknown: tp`[ 未知能力提升: ${'type'} ]`, + scale_attributes: tp`${'orbs'}中${'min'}種屬性同時攻擊時${'stats'}${'bonus'}`, + scale_attributes_bonus: tp`,每多1種${'bonus'},最大${'max'}種時${'stats_max'}`, + scale_combos: tp`${'min'}連擊以上時${'stats'}${'bonus'}`, + scale_combos_bonus: tp`,每多1連擊${'bonus'},最大${'max'}連擊時${'stats_max'}`, + scale_match_attrs: tp`${'matches'}中${'min'}串匹配時${'stats'}${'bonus'}`, + scale_match_attrs_bonus: tp`,每多1串${'bonus'},最大${'max'}串時${'stats_max'}`, + scale_match_length: tp`${'in_once'}相連消除${'min'}個${'orbs'}時${'stats'}${'bonus'}`, + scale_match_length_bonus: tp`,每多1個${'bonus'},最大${'max'}個時${'stats_max'}`, + scale_remain_orbs: tp`剩餘寶珠 ≤ ${'max'} 時${'stats'}${'bonus'}`, + scale_remain_orbs_bonus: tp`,每少1個${'bonus'},最少${'min'}個時${'stats_max'}`, + scale_cross: tp`每以十字形式消除5個${'orbs'}1次時${'stats'}`, + scale_cross_single: tp`以十字形式消除5個${'orbs'}時${'stats'}`, + scale_state_kind_count: tp`以隊伍中[${'awakenings'}${'attrs'}${'types'}]的數量提升,每個${'stats'}`, + }, + cond: { + unknown: tp`[ 未知條件 ]`, + hp_equal: tp`${'hp'} == ${'min'} 時`, + hp_less_or_equal: tp`${'hp'} ≤ ${'max'} 時`, + hp_greater_or_equal: tp`${'hp'} ≥ ${'min'} 時`, + hp_belong_to_range: tp`${'hp'} ∈ [${'min'},${'max'}] 時`, + use_skill: tp`使用技能時`, + multi_player: tp`協力時`, + remain_orbs: tp`剩餘寶珠 ≤ ${'value'} 時`, + exact_combo: tp`剛好${'value'}連擊時`, + exact_match_length: tp`相連消除剛好${'value'}${'orbs'}時`, + exact_match_enhanced: tp`並且其中包含至少一個強化寶珠`, + + compo_type_card: tp`隊伍中同時存在 ${'ids'} 時`, + compo_type_series: tp`隊員組成全為 ${'ids'} 合作時`, + compo_type_evolution: tp`隊員組成全為 ${'ids'} 進化時`, + + L_shape: tp`以L字形式消除5個${'orbs'}時`, + heal: tp`以${'orbs'}回復${'heal'}${'stats'}時`, + }, + position: { + top: tp`上方第${'pos'}橫行`, + bottom: tp`下方第${'pos'}橫行`, + left: tp`左方第${'pos'}豎列`, + right: tp`右方第${'pos'}豎列`, + shape: tp`指定位置`, + }, + value: { + unknown: tp`[ 未知數值: ${'type'}]`, //type + const: tp`${'value'}${'unit'}`, + const_to: tp`到${'value'}`, + mul_percent: tp`${'value'}%`, + mul_times: tp`×${'value'}倍`, + mul_of_percent: tp`${'stats'}的${'value'}%`, + mul_of_times: tp`${'stats'}×${'value'}倍`, + hp_scale: tp`${'hp'}為100%時${'min'},${'hp'}為1時${'max'}`, + random_atk: tp`${'atk'}×${'min'}${'max'}倍`, + prob: tp`有${'value'}幾率`, + x_awakenings: tp`${'awakenings'}數量×${'value'}`, + }, + target: { + unknown: tp`未知目標`, + self: tp`角色自身`, + team: tp`隊伍`, + team_last: tp`隊伍最後一位隊員`, + team_leader: tp`隊長`, + team_sub: tp`隊員`, + enemy: tp`敵人`, + enemy_all: tp`敵方全體`, + enemy_one: tp`敵方1體`, + enemy_attr: tp`${'attr'}敵人`, + }, + stats: { + unknown: tp`[ 未知狀態: ${'type'}]`, //type + maxhp: tp`最大HP`, + hp: tp`HP`, + chp: tp`當前HP`, + atk: tp`攻擊力`, + rcv: tp`回復力`, + teamhp: tp`隊伍總HP`, + teamatk: tp`隊伍${'attrs'}總攻擊力`, + teamrcv: tp`隊伍回復力`, + }, + unit: { + orbs: tp`個`, + times: tp`次`, + seconds: tp`秒`, + point: tp`點`, + turns: tp`回合`, + }, + word: { + comma: tp`,`, //逗號 + slight_pause: tp`、`, //頓號 + range_hyphen: tp`~`, //範圍連字符 + in_once: tp`同時`, + evo_type_pixel: tp`像素進化`, + evo_type_reincarnation: tp`轉生或超轉生進化`, + evo_type_unknow: tp`未知進化: ${'type'}`, + affix_attr: tp`${'cotent'}屬性`, //詞綴-屬性 + affix_orb: tp`${'cotent'}寶珠`, //詞綴-寶珠 + affix_type: tp`${'cotent'}類型`, //詞綴-類型 + affix_awakening: tp`${'cotent'}覺醒`, //詞綴-覺醒 + affix_exclude: tp`${'cotent'}以外`, //詞綴-屬性 + }, + attrs: { + [0]: tp`${'icon'}火`, + [1]: tp`${'icon'}水`, + [2]: tp`${'icon'}木`, + [3]: tp`${'icon'}光`, + [4]: tp`${'icon'}暗`, + [5]: tp`${'icon'}回復力`, + [6]: tp`${'icon'}空`, + all: tp`所有`, + self: tp`${'icon'}自身屬性`, + fixed: tp`${'icon'}無視防禦固定`, + }, + orbs: { + [0]: tp`${'icon'}火`, + [1]: tp`${'icon'}水`, + [2]: tp`${'icon'}木`, + [3]: tp`${'icon'}光`, + [4]: tp`${'icon'}暗`, + [5]: tp`${'icon'}回復`, + [6]: tp`${'icon'}干擾`, + [7]: tp`${'icon'}毒`, + [8]: tp`${'icon'}劇毒`, + [9]: tp`${'icon'}炸彈`, + enhanced: tp`${'icon'}強化`, + locked: tp`${'icon'}鎖定`, + nail: tp`${'icon'}釘子`, + variation: tp`${'icon'}變換珠(每${'time'}變換)`, + _5color: tp`${'icon'}5色`, + _6color: tp`${'_5color'}+${'orb_rcv'}`, + all: tp`所有`, + any: tp`任何${'cotent'}`, + }, + types: { + [0]: tp`${'icon'}進化用`, + [1]: tp`${'icon'}平衡`, + [2]: tp`${'icon'}體力`, + [3]: tp`${'icon'}回復`, + [4]: tp`${'icon'}龍`, + [5]: tp`${'icon'}神`, + [6]: tp`${'icon'}攻擊`, + [7]: tp`${'icon'}惡魔`, + [8]: tp`${'icon'}機械`, + [9]: tp`${'icon'}特別保護`, + [12]: tp`${'icon'}能力覺醒用`, + [14]: tp`${'icon'}強化合成用`, + [15]: tp`${'icon'}販賣用`, + }, + awokens: { + [0]: tp`${'icon'}未知覺醒`, + [1]: tp`${'icon'}HP+`, + [2]: tp`${'icon'}攻擊+`, + [3]: tp`${'icon'}回復+`, + [4]: tp`${'icon'}火盾`, + [5]: tp`${'icon'}水盾`, + [6]: tp`${'icon'}木盾`, + [7]: tp`${'icon'}光盾`, + [8]: tp`${'icon'}暗盾`, + [9]: tp`${'icon'}自回`, + [10]: tp`${'icon'}防封`, + [11]: tp`${'icon'}防暗`, + [12]: tp`${'icon'}防廢`, + [13]: tp`${'icon'}防毒`, + [14]: tp`${'icon'}火+`, + [15]: tp`${'icon'}水+`, + [16]: tp`${'icon'}木+`, + [17]: tp`${'icon'}光+`, + [18]: tp`${'icon'}暗+`, + [19]: tp`${'icon'}手指`, + [20]: tp`${'icon'}心解`, + [21]: tp`${'icon'}SB`, + [22]: tp`${'icon'}火橫`, + [23]: tp`${'icon'}水橫`, + [24]: tp`${'icon'}木橫`, + [25]: tp`${'icon'}光橫`, + [26]: tp`${'icon'}暗橫`, + [27]: tp`${'icon'}U`, + [28]: tp`${'icon'}SX`, + [29]: tp`${'icon'}心+`, + [30]: tp`${'icon'}協力`, + [31]: tp`${'icon'}龍殺`, + [32]: tp`${'icon'}神殺`, + [33]: tp`${'icon'}惡魔殺`, + [34]: tp`${'icon'}機殺`, + [35]: tp`${'icon'}平衡殺`, + [36]: tp`${'icon'}攻擊殺`, + [37]: tp`${'icon'}體力殺`, + [38]: tp`${'icon'}回復殺`, + [39]: tp`${'icon'}進化殺`, + [40]: tp`${'icon'}覺醒殺`, + [41]: tp`${'icon'}強化殺`, + [42]: tp`${'icon'}賣錢殺`, + [43]: tp`${'icon'}7c`, + [44]: tp`${'icon'}5色破防`, + [45]: tp`${'icon'}心追`, + [46]: tp`${'icon'}全體 HP `, + [47]: tp`${'icon'}全體回復`, + [48]: tp`${'icon'}破無效`, + [49]: tp`${'icon'}武器`, + [50]: tp`${'icon'}方塊心追`, + [51]: tp`${'icon'}5色溜`, + [52]: tp`${'icon'}大防封`, + [53]: tp`${'icon'}大手指`, + [54]: tp`${'icon'}防雲`, + [55]: tp`${'icon'}防封條`, + [56]: tp`${'icon'}大SB`, + [57]: tp`${'icon'}上血`, + [58]: tp`${'icon'}下血`, + [59]: tp`${'icon'}L盾`, + [60]: tp`${'icon'}L解鎖`, + [61]: tp`${'icon'}10c`, + [62]: tp`${'icon'}c珠`, + [63]: tp`${'icon'}語音`, + [64]: tp`${'icon'}獎勵增加`, + [65]: tp`${'icon'} HP -`, + [66]: tp`${'icon'}攻擊-`, + [67]: tp`${'icon'}回復-`, + [68]: tp`${'icon'}大防暗`, + [69]: tp`${'icon'}大防廢`, + [70]: tp`${'icon'}大防毒`, + [71]: tp`${'icon'}掉廢`, + [72]: tp`${'icon'}掉毒`, + [73]: tp`${'icon'}火串`, + [74]: tp`${'icon'}水串`, + [75]: tp`${'icon'}木串`, + [76]: tp`${'icon'}光串`, + [77]: tp`${'icon'}暗串`, + [78]: tp`${'icon'}十字`, + [79]: tp`${'icon'}3色`, + [80]: tp`${'icon'}4色`, + [81]: tp`${'icon'}5色`, + } + }, }; deepMerge(localTranslating, _localTranslating); localisation(localTranslating); @@ -46,14 +351,14 @@ Number.prototype.bigNumberToString = function() let numPartsStr = numParts.map((num,idx)=>{ if (num > 0) { - return (num < 1e3 ? "零" : "") + num.toLocaleString() + unit[idx]; + return (num < 1e3 ? "영" : "") + num.toLocaleString() + unit[idx]; }else - return "零"; + return "영"; }); numPartsStr.reverse(); //反向 let outStr = numPartsStr.join(""); - outStr = outStr.replace(/(^零+|零+$)/g,''); //去除開頭的零 - outStr = outStr.replace(/零{2,}/g,'零'); //去除多個連續的零 + outStr = outStr.replace(/(^영+|영+$)/g,''); //去除開頭的零 + outStr = outStr.replace(/영{2,}/g,'영'); //去除多個連續的零 return outStr; } \ No newline at end of file diff --git a/languages/zh.js b/languages/zh.js index ca95775e..1e4387b6 100644 --- a/languages/zh.js +++ b/languages/zh.js @@ -1,5 +1,335 @@ -//const _localTranslating = {}; -//deepMerge(localTranslating, _localTranslating); +const _localTranslating = { + webpage_title: `智龙迷城${teamsCount}人队伍图制作`, + addition_display: "💬", + title_blank: "输入队伍标题", + detail_blank: "输入说明", + sort_name:{ + sort_none: "无", + sort_id: "怪物ID", + sort_attrs: "属性", + sort_evoRootId: "进化树", + sort_evoRoot_Attrs : "进化根怪物的属性", + sort_rarity: "稀有度", + sort_cost: "消耗", + sort_mp: "MP", + sort_skillLv1: "技能最大冷却时间", + sort_skillLvMax: "技能最小冷却时间", + sort_hpMax120: "最大 HP", + sort_atkMax120: "最大攻击", + sort_rcvMax120: "最大回复", + sort_hpMax120_awoken: "最大 HP(+觉醒)", + sort_atkMax120_awoken: "最大攻击(+觉醒)", + sort_rcvMax120_awoken: "最大回复(+觉醒)", + sort_abilityIndex_awoken: "最大加权能力指数(+觉醒)", + }, + force_reload_data: "强制刷新数据", + skill_parse: { + skill: { + unknown: tp`未知的技能类型:${'type'}`, //type + active_turns: tp`${'turns'} 回合内,${'actionSkill'}`, //turns, actionSkill + random_skills: tp`随机发动以下技能:${'skills'}`, //skills + evolved_skills: tp`技能使用后会进化为下一阶段:${'skills'}`, //skills + evolved_skills_loop: tp`${`icon`}使用后返回第一阶段`, + damage_enemy: tp`对${'target'}造成${'damage'}的${'attr'}伤害${'times'}${'totalDamage'}`, //target, damage, attr + damage_enemy_times: tp`×${'times'}`, + damage_enemy_count: tp`(共${'damage'})`, + vampire: tp`${'damage_enemy'},并${'icon'}回复伤害值${'heal'}的HP`, //target, damage, attr + delay: tp`延迟敌人的攻击${'icon'}`, //icon + mass_attack: tp`所有攻击变为${'icon'}全体攻击`, + leader_change: tp`${'icon'}将${'target'}换为队长,再次使用则换回来`, + no_skyfall: tp`${'icon'}天降的宝珠不会消除`, + self_harm: tp`${'icon'}${'stats'}减少${'value'}`, + heal: tp`${'icon'}回复 ${'value'} 的 ${'stats'}`, + unbind: tp`${'stats'}状态减少 ${'turns'} 回合`, + unbind_normal: tp`${'icon'}封锁`, + unbind_awakenings: tp`${'icon'}觉醒无效`, + unbind_matches: tp`${'icon'}无法消除宝珠`, + bind_skill: tp`${'icon'}自身无法使用技能`, + defense_break: tp`${'icon'}敌方的防御力减少${'value'}`, + poison: tp`${'icon'}使${'target'}中毒,每回合损失${'belong_to'} ${'value'} 的 ${'stats'}`, + time_extend: tp`${'icon'}宝珠移动时间 ${'value'}`, + follow_attack: tp`${'icon'}消除宝珠的回合,以${'belong_to'}${'value'}的伤害追打${'target'}(计算防御力)`, + follow_attack_fixed: tp`追加${'damage'}的${'attr'}伤害`, + auto_heal_buff: tp`行动结束后${'icon'}回复${'value'}的${'stats'}`, + auto_heal: tp`${'icon'}消除宝珠的回合,回复${'belong_to'}${'value'}的${'stats'}`, + ctw: tp`${'icon'}${'value'}内时间停止,可以任意移动宝珠`, + gravity: tp`${'icon'}造成${'target'}${'value'}的伤害`, + resolve: tp`${'icon'}如${'stats'}≧${'min'},受到单一次致命攻击时,将会以1点 HP 生还`, + board_change: tp`全画面的宝珠变为${'orbs'}`, + skill_boost: tp`自身以外成员的技能冷却储备${'icon'}${'turns_min'}${'turns_max'}`, + skill_boost_range: tp`~${'turns'}`, + add_combo: tp`结算时连击数增加${'value'}${'icon'}`, + fixed_time: tp`【${'icon'}操作时间固定${'value'}】`, + min_match_length: tp`【限定≥${'matchable'}珠才能消除】`, + 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'}个`, + fixed_orbs: tp`在${'position'}产生${'orbs'}`, + orb_drop_increase: tp`${'orbs'}的掉落率提高到${'value'}`, + orb_drop_increase_flag: tp`${'chance'}掉落${'flag'}${'orbs'}`, + attr_absorb: tp`${'icon'}属性吸收`, + combo_absorb: tp`${'icon'}连击吸收`, + damage_absorb: tp`${'icon'}伤害吸收`, + damage_void: tp`${'icon'}伤害无效`, + void_enemy_buff: tp`敌人的 ${'buff'} 无效化`, + change_attribute: tp`将${'target'}变为${'attrs'}`, + set_orb_state_enhanced: tp`${'icon'}强化${'orbs'}(每颗宝珠效力增加${'value'})`, + set_orb_state_locked: tp`将${'orbs'}${'icon'}锁定${'value'}`, + set_orb_state_unlocked: tp`${'icon'}解除${'orbs'}的锁定状态`, + set_orb_state_bound: tp`无法消除${'orbs'}`, + rate_multiply: tp`作为队长进入地下城时,${'rate'}变为${'value'}`, + rate_multiply_drop: tp`${'icon'}怪物蛋掉落率`, + rate_multiply_coin: tp`${'icon'}金币掉落率`, + rate_multiply_exp: tp`${'icon'}等级经验倍率`, + reduce_damage: tp`${'condition'}受到的${'attrs'}伤害${'icon'}减少${'value'}`, + power_up: tp`${'condition'}${'targets'}${'target'}${'value'}${'reduceDamage'}${'addCombo'}${'followAttack'}`, + power_up_targets: tp`${'attrs_types'}的 `, + henshin: tp`变身为${'card'}`, + void_poison: tp`消除${'poison'}时不会受到毒伤害`, + skill_proviso: tp`${'condition'}才能发动后续效果`, + obstruct_opponent: tp`对${'target'}施加敌对技能效果:${'skills'}`, + obstruct_opponent_after_me: tp`排名比自身低的对手`, + obstruct_opponent_before_me: tp`排名比自身高的对手`, + obstruct_opponent_designated_position: tp`第${'positions'}排位的对手`, + }, + power: { + unknown: tp`[ 未知能力提升: ${'type'} ]`, + scale_attributes: tp`${'orbs'}中${'min'}种属性同时攻击时${'stats'}${'bonus'}`, + scale_attributes_bonus: tp`,每多1种${'bonus'},最大${'max'}种时${'stats_max'}`, + scale_combos: tp`${'min'}连击以上时${'stats'}${'bonus'}`, + scale_combos_bonus: tp`,每多1连击${'bonus'},最大${'max'}连击时${'stats_max'}`, + scale_match_attrs: tp`${'matches'}中${'min'}串匹配时${'stats'}${'bonus'}`, + scale_match_attrs_bonus: tp`,每多1串${'bonus'},最大${'max'}串时${'stats_max'}`, + scale_match_length: tp`${'in_once'}相连消除${'min'}个${'orbs'}时${'stats'}${'bonus'}`, + scale_match_length_bonus: tp`,每多1个${'bonus'},最大${'max'}个时${'stats_max'}`, + scale_remain_orbs: tp`剩余宝珠 ≤ ${'max'} 时${'stats'}${'bonus'}`, + scale_remain_orbs_bonus: tp`,每少1个${'bonus'},最少${'min'}个时${'stats_max'}`, + scale_cross: tp`每以十字形式消除5个${'orbs'}1次时${'stats'}`, + scale_cross_single: tp`以十字形式消除5个${'orbs'}时${'stats'}`, + scale_state_kind_count: tp`以队伍中[${'awakenings'}${'attrs'}${'types'}]的数量提升,每个${'stats'}`, + }, + cond: { + unknown: tp`[ 未知条件 ]`, + hp_equal: tp`${'hp'} == ${'min'} 时`, + hp_less_or_equal: tp`${'hp'} ≤ ${'max'} 时`, + hp_greater_or_equal: tp`${'hp'} ≥ ${'min'} 时`, + hp_belong_to_range: tp`${'hp'} ∈ [${'min'},${'max'}] 时`, + use_skill: tp`使用技能时`, + multi_player: tp`协力时`, + remain_orbs: tp`剩余宝珠 ≤ ${'value'} 时`, + exact_combo: tp`刚好${'value'}连击时`, + exact_match_length: tp`相连消除刚好${'value'}${'orbs'}时`, + exact_match_enhanced: tp`并且其中包含至少一个强化宝珠`, + + compo_type_card: tp`队伍中同时存在 ${'ids'} 时`, + compo_type_series: tp`队员组成全为 ${'ids'} 合作时`, + compo_type_evolution: tp`队员组成全为 ${'ids'} 进化时`, + + L_shape: tp`以L字形式消除5个${'orbs'}时`, + heal: tp`以${'orbs'}回复${'heal'}${'stats'}时`, + }, + position: { + top: tp`上方第${'pos'}横行`, + bottom: tp`下方第${'pos'}横行`, + left: tp`左方第${'pos'}竖列`, + right: tp`右方第${'pos'}竖列`, + shape: tp`指定位置`, + }, + value: { + unknown: tp`[ 未知数值: ${'type'}]`, //type + const: tp`${'value'}${'unit'}`, + const_to: tp`到${'value'}`, + mul_percent: tp`${'value'}%`, + mul_times: tp`×${'value'}倍`, + mul_of_percent: tp`${'stats'}的${'value'}%`, + mul_of_times: tp`${'stats'}×${'value'}倍`, + hp_scale: tp`${'hp'}为100%时${'min'},${'hp'}为1时${'max'}`, + random_atk: tp`${'atk'}×${'min'}${'max'}倍`, + prob: tp`有${'value'}几率`, + x_awakenings: tp`${'awakenings'}数量×${'value'}`, + }, + target: { + unknown: tp`未知目标`, + self: tp`角色自身`, + team: tp`队伍`, + team_last: tp`队伍最后一位队员`, + team_leader: tp`队长`, + team_sub: tp`队员`, + enemy: tp`敌人`, + enemy_all: tp`敌方全体`, + enemy_one: tp`敌方1体`, + enemy_attr: tp`${'attr'}敌人`, + }, + stats: { + unknown: tp`[ 未知状态: ${'type'}]`, //type + maxhp: tp`最大HP`, + hp: tp`HP`, + chp: tp`当前HP`, + atk: tp`攻击力`, + rcv: tp`回复力`, + teamhp: tp`队伍总HP`, + teamatk: tp`队伍${'attrs'}总攻击力`, + teamrcv: tp`队伍回复力`, + }, + unit: { + orbs: tp`个`, + times: tp`次`, + seconds: tp`秒`, + point: tp`点`, + turns: tp`回合`, + }, + word: { + comma: tp`,`, //逗号 + slight_pause: tp`、`, //顿号 + range_hyphen: tp`~`, //范围连字符 + in_once: tp`同时`, + evo_type_pixel: tp`像素进化`, + evo_type_reincarnation: tp`转生或超转生进化`, + evo_type_unknow: tp`未知进化: ${'type'}`, + affix_attr: tp`${'cotent'}属性`, //词缀-属性 + affix_orb: tp`${'cotent'}宝珠`, //词缀-宝珠 + affix_type: tp`${'cotent'}类型`, //词缀-类型 + affix_awakening: tp`${'cotent'}觉醒`, //词缀-觉醒 + affix_exclude: tp`${'cotent'}以外`, //词缀-属性 + }, + attrs: { + [0]: tp`${'icon'}火`, + [1]: tp`${'icon'}水`, + [2]: tp`${'icon'}木`, + [3]: tp`${'icon'}光`, + [4]: tp`${'icon'}暗`, + [5]: tp`${'icon'}回复力`, + [6]: tp`${'icon'}空`, + all: tp`所有`, + self: tp`${'icon'}自身属性`, + fixed: tp`${'icon'}无视防御固定`, + }, + orbs: { + [0]: tp`${'icon'}火`, + [1]: tp`${'icon'}水`, + [2]: tp`${'icon'}木`, + [3]: tp`${'icon'}光`, + [4]: tp`${'icon'}暗`, + [5]: tp`${'icon'}回复`, + [6]: tp`${'icon'}干扰`, + [7]: tp`${'icon'}毒`, + [8]: tp`${'icon'}剧毒`, + [9]: tp`${'icon'}炸弹`, + enhanced: tp`${'icon'}强化`, + locked: tp`${'icon'}锁定`, + nail: tp`${'icon'}钉子`, + variation: tp`${'icon'}变换珠(每${'time'}变换)`, + _5color: tp`${'icon'}5色`, + _6color: tp`${'_5color'}+${'orb_rcv'}`, + all: tp`所有`, + any: tp`任何${'cotent'}`, + }, + types: { + [0]: tp`${'icon'}进化用`, + [1]: tp`${'icon'}平衡`, + [2]: tp`${'icon'}体力`, + [3]: tp`${'icon'}回复`, + [4]: tp`${'icon'}龙`, + [5]: tp`${'icon'}神`, + [6]: tp`${'icon'}攻击`, + [7]: tp`${'icon'}恶魔`, + [8]: tp`${'icon'}机械`, + [9]: tp`${'icon'}特别保护`, + [12]: tp`${'icon'}能力觉醒用`, + [14]: tp`${'icon'}强化合成用`, + [15]: tp`${'icon'}贩卖用`, + }, + awokens: { + [0]: tp`${'icon'}未知觉醒`, + [1]: tp`${'icon'}HP+`, + [2]: tp`${'icon'}攻击+`, + [3]: tp`${'icon'}回复+`, + [4]: tp`${'icon'}火盾`, + [5]: tp`${'icon'}水盾`, + [6]: tp`${'icon'}木盾`, + [7]: tp`${'icon'}光盾`, + [8]: tp`${'icon'}暗盾`, + [9]: tp`${'icon'}自回`, + [10]: tp`${'icon'}防封`, + [11]: tp`${'icon'}防暗`, + [12]: tp`${'icon'}防废`, + [13]: tp`${'icon'}防毒`, + [14]: tp`${'icon'}火+`, + [15]: tp`${'icon'}水+`, + [16]: tp`${'icon'}木+`, + [17]: tp`${'icon'}光+`, + [18]: tp`${'icon'}暗+`, + [19]: tp`${'icon'}手指`, + [20]: tp`${'icon'}心解`, + [21]: tp`${'icon'}SB`, + [22]: tp`${'icon'}火横`, + [23]: tp`${'icon'}水横`, + [24]: tp`${'icon'}木横`, + [25]: tp`${'icon'}光横`, + [26]: tp`${'icon'}暗横`, + [27]: tp`${'icon'}U`, + [28]: tp`${'icon'}SX`, + [29]: tp`${'icon'}心+`, + [30]: tp`${'icon'}协力`, + [31]: tp`${'icon'}龙杀`, + [32]: tp`${'icon'}神杀`, + [33]: tp`${'icon'}恶魔杀`, + [34]: tp`${'icon'}机杀`, + [35]: tp`${'icon'}平衡杀`, + [36]: tp`${'icon'}攻击杀`, + [37]: tp`${'icon'}体力杀`, + [38]: tp`${'icon'}回复杀`, + [39]: tp`${'icon'}进化杀`, + [40]: tp`${'icon'}觉醒杀`, + [41]: tp`${'icon'}强化杀`, + [42]: tp`${'icon'}卖钱杀`, + [43]: tp`${'icon'}7c`, + [44]: tp`${'icon'}5色破防`, + [45]: tp`${'icon'}心追`, + [46]: tp`${'icon'}全体 HP `, + [47]: tp`${'icon'}全体回复`, + [48]: tp`${'icon'}破无效`, + [49]: tp`${'icon'}武器`, + [50]: tp`${'icon'}方块心追`, + [51]: tp`${'icon'}5色溜`, + [52]: tp`${'icon'}大防封`, + [53]: tp`${'icon'}大手指`, + [54]: tp`${'icon'}防云`, + [55]: tp`${'icon'}防封条`, + [56]: tp`${'icon'}大SB`, + [57]: tp`${'icon'}上血`, + [58]: tp`${'icon'}下血`, + [59]: tp`${'icon'}L盾`, + [60]: tp`${'icon'}L解锁`, + [61]: tp`${'icon'}10c`, + [62]: tp`${'icon'}c珠`, + [63]: tp`${'icon'}语音`, + [64]: tp`${'icon'}奖励增加`, + [65]: tp`${'icon'} HP -`, + [66]: tp`${'icon'}攻击-`, + [67]: tp`${'icon'}回复-`, + [68]: tp`${'icon'}大防暗`, + [69]: tp`${'icon'}大防废`, + [70]: tp`${'icon'}大防毒`, + [71]: tp`${'icon'}掉废`, + [72]: tp`${'icon'}掉毒`, + [73]: tp`${'icon'}火串`, + [74]: tp`${'icon'}水串`, + [75]: tp`${'icon'}木串`, + [76]: tp`${'icon'}光串`, + [77]: tp`${'icon'}暗串`, + [78]: tp`${'icon'}十字`, + [79]: tp`${'icon'}3色`, + [80]: tp`${'icon'}4色`, + [81]: tp`${'icon'}5色`, + } + }, +}; +deepMerge(localTranslating, _localTranslating); localisation(localTranslating); //大数字缩短长度 diff --git a/script-json_data.js b/script-json_data.js index d604c484..b3ed824b 100644 --- a/script-json_data.js +++ b/script-json_data.js @@ -13,336 +13,337 @@ }, ]; let localTranslating = { - webpage_title: `智龙迷城${teamsCount}人队伍图制作`, - addition_display: "💬", - title_blank: "输入队伍标题", - detail_blank: "输入说明", + webpage_title: `P&D ${teamsCount}P Formation Maker`, + addition_display: "Additional display", + title_blank: "Input Formation Title", + detail_blank: "Input Detail", sort_name:{ - sort_none: "无", - sort_id: "怪物ID", - sort_attrs: "属性", - sort_evoRootId: "进化树", - sort_evoRoot_Attrs : "进化根怪物的属性", - sort_rarity: "稀有度", - sort_cost: "消耗", - sort_mp: "MP", - sort_skillLv1: "技能最大冷却时间", - sort_skillLvMax: "技能最小冷却时间", - sort_hpMax120: "最大 HP", - sort_atkMax120: "最大攻击", - sort_rcvMax120: "最大回复", - sort_hpMax120_awoken: "最大 HP(+觉醒)", - sort_atkMax120_awoken: "最大攻击(+觉醒)", - sort_rcvMax120_awoken: "最大回复(+觉醒)", - sort_abilityIndex_awoken: "最大加权能力指数(+觉醒)", + sort_none: "Nope", + sort_id: "Cards Id", + sort_attrs : "Attribute", + sort_evoRootId: "Cards Evolution Root", + sort_evoRoot_Attrs : "Cards Evolution Root's Attribute", + sort_rarity: "Rarity", + sort_cost: "Cost", + sort_skillLv1: "Maximum Skill Turn", + sort_skillLvMax: "Minimum Skill Turn", + sort_hpMax120: "Max HP", + sort_atkMax120: "Max ATK", + sort_rcvMax120: "Max RCV", + sort_hpMax120_awoken: "Max HP (+Awoken)", + sort_atkMax120_awoken: "Max ATK (+Awoken)", + sort_rcvMax120_awoken: "Max RCV (+Awoken)", + sort_abilityIndex_awoken: "Maximum Weighted Ability Index (+Awakening)", }, - force_reload_data: "强制刷新数据", + force_reload_data: `Force refresh data`, skill_parse: { skill: { - unknown: tp`未知的技能类型:${'type'}`, //type - active_turns: tp`${'turns'} 回合内,${'actionSkill'}`, //turns, actionSkill - random_skills: tp`随机发动以下技能:${'skills'}`, //skills - evolved_skills: tp`技能使用后会进化为下一阶段:${'skills'}`, //skills - evolved_skills_loop: tp`${`icon`}使用后返回第一阶段`, - damage_enemy: tp`对${'target'}造成${'damage'}的${'attr'}伤害${'times'}${'totalDamage'}`, //target, damage, attr - damage_enemy_times: tp`×${'times'}`, - damage_enemy_count: tp`(共${'damage'})`, - vampire: tp`${'damage_enemy'},并${'icon'}回复伤害值${'heal'}的HP`, //target, damage, attr - delay: tp`延迟敌人的攻击${'icon'}`, //icon - mass_attack: tp`所有攻击变为${'icon'}全体攻击`, - leader_change: tp`${'icon'}将${'target'}换为队长,再次使用则换回来`, - no_skyfall: tp`${'icon'}天降的宝珠不会消除`, - self_harm: tp`${'icon'}${'stats'}减少${'value'}`, - heal: tp`${'icon'}回复 ${'value'} 的 ${'stats'}`, - unbind: tp`${'stats'}状态减少 ${'turns'} 回合`, - unbind_normal: tp`${'icon'}封锁`, - unbind_awakenings: tp`${'icon'}觉醒无效`, - unbind_matches: tp`${'icon'}无法消除宝珠`, - bind_skill: tp`${'icon'}自身无法使用技能`, - defense_break: tp`${'icon'}敌方的防御力减少${'value'}`, - poison: tp`${'icon'}使${'target'}中毒,每回合损失${'belong_to'} ${'value'} 的 ${'stats'}`, - time_extend: tp`${'icon'}宝珠移动时间 ${'value'}`, - follow_attack: tp`${'icon'}消除宝珠的回合,以${'belong_to'}${'value'}的伤害追打${'target'}(计算防御力)`, - follow_attack_fixed: tp`追加${'damage'}的${'attr'}伤害`, - auto_heal_buff: tp`行动结束后${'icon'}回复${'value'}的${'stats'}`, - auto_heal: tp`${'icon'}消除宝珠的回合,回复${'belong_to'}${'value'}的${'stats'}`, - ctw: tp`${'icon'}${'value'}内时间停止,可以任意移动宝珠`, - gravity: tp`${'icon'}造成${'target'}${'value'}的伤害`, - resolve: tp`${'icon'}如${'stats'}≧${'min'},受到单一次致命攻击时,将会以1点 HP 生还`, - board_change: tp`全画面的宝珠变为${'orbs'}`, - skill_boost: tp`自身以外成员的技能冷却储备${'icon'}${'turns_min'}${'turns_max'}`, + unknown: tp`Unkonwn skill type: ${'type'}`, + active_turns: tp`${'actionSkill'}, for ${'turns'} turns`, + random_skills: tp`Random Activates these skills:${'skills'}`, + evolved_skills: tp`Skills evolve to the next stage when used:${'skills'}`, + evolved_skills_loop: tp`${`icon`}Returns to the first stage after use`, + damage_enemy: tp`Inflicts ${'times'}${'damage'} ${'attr'} attack on ${'target'}${'totalDamage'}`, + damage_enemy_times: tp`${'times'} `, + damage_enemy_count: tp` (${'damage'} in total)`, + //Inflicts a 50x attack to 1 enemy and recover 100% of the damage. Reduces unmatchable orb status by 9999 turns. 9999 turn awoken bind recovery. + vampire: tp`${'damage_enemy'} and ${'icon'}recover ${'heal'} of the damage`, + delay: tp`${'icon'}Delays enemies' next move`, + mass_attack: tp`${'icon'}Mass attacks`, + leader_change: tp`${'icon'}Switches ${'target'} with Leader Monster, use again to switch back`, + no_skyfall: tp`${'icon'}No Skyfall Combos`, + self_harm: tp`${'icon'}Reduces ${'stats'} by ${'value'}`, + heal: tp`${'icon'}Recover ${'value'} ${'stats'}`, + unbind: tp`Recovery ${'stats'} by ${'turns'} turns`, + unbind_normal: tp`${'icon'}Bind`, + unbind_awakenings: tp`${'icon'}Awoken bind`, + unbind_matches: tp`${'icon'}Unmatchable orb`, + bind_skill: tp`${'icon'}Unable to use skills`, + defense_break: tp`${'icon'}Reduce enemy defense by ${'value'}`, + poison: tp`${'icon'}Poisons ${'target'}, reduce ${'stats'} with ${'belong_to'} ${'value'} per turns`, + time_extend: tp`${'icon'}Orb move time ${'value'}`, + follow_attack: tp`${'icon'}Bonus attack equal to ${'belong_to'} ${'value'} when matching Orbs (Consider the ${'target'}'s defense)`, + follow_attack_fixed: tp`inflicts ${'damage'} ${'attr'} damage`, + auto_heal_buff: tp`${'icon'}Heal ${'value'} ${'stats'} every turn`, + auto_heal: tp`${'icon'}Heal ${'stats'} by ${'belong_to'} ${'value'} after matching orbs`, + ctw: tp`${'icon'}Move orbs freely for ${'value'}`, + gravity: tp`${'icon'}Reduce ${'target'} ${'value'}`, + resolve: tp`${'icon'}Survive a single hit when ${'stats'}≧${'min'}`, + board_change: tp`Change all orbs to ${'orbs'}`, + skill_boost: tp`Team's skills charge ${'icon'}${'turns_min'}${'turns_max'}`, skill_boost_range: tp`~${'turns'}`, - add_combo: tp`结算时连击数增加${'value'}${'icon'}`, - fixed_time: tp`【${'icon'}操作时间固定${'value'}】`, - min_match_length: tp`【限定≥${'matchable'}珠才能消除】`, - 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'}个`, - fixed_orbs: tp`在${'position'}产生${'orbs'}`, - orb_drop_increase: tp`${'orbs'}的掉落率提高到${'value'}`, - orb_drop_increase_flag: tp`${'chance'}掉落${'flag'}${'orbs'}`, - attr_absorb: tp`${'icon'}属性吸收`, - combo_absorb: tp`${'icon'}连击吸收`, - damage_absorb: tp`${'icon'}伤害吸收`, - damage_void: tp`${'icon'}伤害无效`, - void_enemy_buff: tp`敌人的 ${'buff'} 无效化`, - change_attribute: tp`将${'target'}变为${'attrs'}`, - set_orb_state_enhanced: tp`${'icon'}强化${'orbs'}(每颗宝珠效力增加${'value'})`, - set_orb_state_locked: tp`将${'orbs'}${'icon'}锁定${'value'}`, - set_orb_state_unlocked: tp`${'icon'}解除${'orbs'}的锁定状态`, - set_orb_state_bound: tp`无法消除${'orbs'}`, - rate_multiply: tp`作为队长进入地下城时,${'rate'}变为${'value'}`, - rate_multiply_drop: tp`${'icon'}怪物蛋掉落率`, - rate_multiply_coin: tp`${'icon'}金币掉落率`, - rate_multiply_exp: tp`${'icon'}等级经验倍率`, - reduce_damage: tp`${'condition'}受到的${'attrs'}伤害${'icon'}减少${'value'}`, - power_up: tp`${'condition'}${'targets'}${'target'}${'value'}${'reduceDamage'}${'addCombo'}${'followAttack'}`, - power_up_targets: tp`${'attrs_types'}的 `, - henshin: tp`变身为${'card'}`, - void_poison: tp`消除${'poison'}时不会受到毒伤害`, - skill_proviso: tp`${'condition'}才能发动后续效果`, - obstruct_opponent: tp`对${'target'}施加敌对技能效果:${'skills'}`, - obstruct_opponent_after_me: tp`排名比自身低的对手`, - obstruct_opponent_before_me: tp`排名比自身高的对手`, - obstruct_opponent_designated_position: tp`第${'positions'}排位的对手`, + add_combo: tp`Adds ${'value'} combos${'icon'}`, + fixed_time: tp`[${'icon'}Fixed orb move time: ${'value'}]`, + min_match_length: tp`[Only able to erase ≥${'matchable'} orbs]`, //matchable, unmatchable + 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'}`, + fixed_orbs: tp`Changes the ${'position'} to ${'orbs'} orbs`, + orb_drop_increase: tp`Increases the skyfall of ${'orbs'} to ${'value'}`, + orb_drop_increase_flag: tp`${'orbs'} skyfall ${'chance'}${'flag'}`, + orb_drop_increase_chance: tp`by ${'value'}`, + attr_absorb: tp`${'icon'}Attribute absorption`, + combo_absorb: tp`${'icon'}Combo absorption`, + damage_absorb: tp`${'icon'}Damage absorption`, + damage_void: tp`${'icon'}Damage void`, + void_enemy_buff: tp`Voids enemies' ${'buff'}`, + change_attribute: tp`${'target'} Att. changes to ${'attrs'}`, + set_orb_state_enhanced: tp`${'orbs'} ${'icon'}enhanced (${'value'} per orb)`, + set_orb_state_locked: tp`${'icon'}Locks ${'value'}${'orbs'}`, + set_orb_state_unlocked: tp`${'icon'}Unlocks ${'orbs'}`, + set_orb_state_bound: tp`${'orbs'} are unmatchable`, + rate_multiply: tp`${'rate'} ${'value'} when entering as leader`, + rate_multiply_drop: tp`${'icon'}Drop rate`, + rate_multiply_coin: tp`${'icon'}Coins`, + rate_multiply_exp: tp`${'icon'}Rank EXP`, + reduce_damage: tp`${'condition'}${'icon'}Reduces ${'attrs'} damage taken by ${'value'}`, + power_up: tp`${'condition'}${'targets'}${'value'}${'reduceDamage'}${'addCombo'}${'followAttack'}`, + power_up_targets: tp`[${'attrs_types'}]'s `, //attrs, types, attrs_types + henshin: tp`Transforms into ${'card'}`, + void_poison: tp`Voids ${'poison'} damage`, + skill_proviso: tp`The follow-up effect can only be activates ${'condition'}`, + obstruct_opponent: tp`Apply obstruct skill effect to ${'target'}: ${'skills'}`, + obstruct_opponent_after_me: tp`The opponent ranked lower than me`, + obstruct_opponent_before_me: tp`The opponent ranked higher than me`, + obstruct_opponent_designated_position: tp`No.${'positions'} ranked opponents`, }, power: { - unknown: tp`[ 未知能力提升: ${'type'} ]`, - scale_attributes: tp`${'orbs'}中${'min'}种属性同时攻击时${'stats'}${'bonus'}`, - scale_attributes_bonus: tp`,每多1种${'bonus'},最大${'max'}种时${'stats_max'}`, - scale_combos: tp`${'min'}连击以上时${'stats'}${'bonus'}`, - scale_combos_bonus: tp`,每多1连击${'bonus'},最大${'max'}连击时${'stats_max'}`, - scale_match_attrs: tp`${'matches'}中${'min'}串匹配时${'stats'}${'bonus'}`, - scale_match_attrs_bonus: tp`,每多1串${'bonus'},最大${'max'}串时${'stats_max'}`, - scale_match_length: tp`${'in_once'}相连消除${'min'}个${'orbs'}时${'stats'}${'bonus'}`, - scale_match_length_bonus: tp`,每多1个${'bonus'},最大${'max'}个时${'stats_max'}`, - scale_remain_orbs: tp`剩余宝珠 ≤ ${'max'} 时${'stats'}${'bonus'}`, - scale_remain_orbs_bonus: tp`,每少1个${'bonus'},最少${'min'}个时${'stats_max'}`, - scale_cross: tp`每以十字形式消除5个${'orbs'}1次时${'stats'}`, - scale_cross_single: tp`以十字形式消除5个${'orbs'}时${'stats'}`, - scale_state_kind_count: tp`以队伍中[${'awakenings'}${'attrs'}${'types'}]的数量提升,每个${'stats'}`, + unknown: tp`[ Unkonwn power up: ${'type'} ]`, + scale_attributes: tp`When matching ${'min'} attr. of ${'orbs'} ${'stats'}${'bonus'}`, + scale_attributes_bonus: tp`, ${'bonus'} per attr. additional, up to ${'stats_max'} for ${'max'} attr.`, + scale_combos: tp`When ${'min'} combos ${'stats'}${'bonus'}`, + scale_combos_bonus: tp`, ${'bonus'} per combos additional, up to ${'stats_max'} for ${'max'} combos`, + scale_match_attrs: tp`When matching ${'min'} combos in [${'matches'}] ${'stats'}${'bonus'}`, + scale_match_attrs_bonus: tp`, ${'bonus'} per matches additional,up to ${'stats_max'} for ${'max'} matches`, + scale_match_length: tp`When matching ${'min'} of ${'orbs'} ${'in_once'}${'stats'}${'bonus'}`, + scale_match_length_bonus: tp`, ${'bonus'} per orbs additional,up to ${'stats_max'} for ${'max'} orbs`, + scale_remain_orbs: tp`When ≤ ${'max'} orbs remain on the board ${'stats'}${'bonus'}`, + scale_remain_orbs_bonus: tp`, ${'bonus'} for each fewer orb, up to ${'stats_max'} for ${'min'} orbs`, + scale_cross: tp`When matching each cross of 5 ${'orbs'} ${'stats'}`, + scale_cross_single: tp`When matching a cross of 5 ${'orbs'} ${'stats'}`, + scale_state_kind_count: tp`${'stats'} for each [${'awakenings'}${'attrs'}${'types'}] in team`, }, cond: { - unknown: tp`[ 未知条件 ]`, - hp_equal: tp`${'hp'} == ${'min'} 时`, - hp_less_or_equal: tp`${'hp'} ≤ ${'max'} 时`, - hp_greater_or_equal: tp`${'hp'} ≥ ${'min'} 时`, - hp_belong_to_range: tp`${'hp'} ∈ [${'min'},${'max'}] 时`, - use_skill: tp`使用技能时`, - multi_player: tp`协力时`, - remain_orbs: tp`剩余宝珠 ≤ ${'value'} 时`, - exact_combo: tp`刚好${'value'}连击时`, - exact_match_length: tp`相连消除刚好${'value'}${'orbs'}时`, - exact_match_enhanced: tp`并且其中包含至少一个强化宝珠`, + unknown: tp`[ Unknown condition ]`, + hp_equal: tp`When ${'hp'} == ${'min'} `, + hp_less_or_equal: tp`When ${'hp'} ≤ ${'max'} `, + hp_greater_or_equal: tp`When ${'hp'} ≥ ${'min'} `, + hp_belong_to_range: tp`When ${'hp'} ∈ [${'min'},${'max'}] `, + use_skill: tp`When skills used `, + multi_player: tp`When in Multiplayer Mode `, + remain_orbs: tp`When ≤ ${'value'} Orbs on the board `, + exact_combo: tp`When exactly ${'value'} combos `, + exact_match_length: tp`When matching exactly ${'value'}${'orbs'} `, + exact_match_enhanced: tp` orbs including enhanced`, - compo_type_card: tp`队伍中同时存在 ${'ids'} 时`, - compo_type_series: tp`队员组成全为 ${'ids'} 合作时`, - compo_type_evolution: tp`队员组成全为 ${'ids'} 进化时`, + 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'} `, - L_shape: tp`以L字形式消除5个${'orbs'}时`, - heal: tp`以${'orbs'}回复${'heal'}${'stats'}时`, + L_shape: tp`When matching an L shape of 5 ${'orbs'} `, + heal: tp`When healing at least ${'heal'} ${'stats'} with ${'orbs'} `, }, position: { - top: tp`上方第${'pos'}横行`, - bottom: tp`下方第${'pos'}横行`, - left: tp`左方第${'pos'}竖列`, - right: tp`右方第${'pos'}竖列`, - shape: tp`指定位置`, + top: tp`${'pos'} of top rows`, + bottom: tp`${'pos'} of bottom rows`, + left: tp`${'pos'} of left columns`, + right: tp`${'pos'} of right columns`, + shape: tp`specified location`, }, value: { - unknown: tp`[ 未知数值: ${'type'}]`, //type - const: tp`${'value'}${'unit'}`, - const_to: tp`到${'value'}`, + unknown: tp`[ Unknown value: ${'type'}]`, //type + const: tp`${'value'} ${'unit'}`, + const_to: tp`to ${'value'}`, mul_percent: tp`${'value'}%`, - mul_times: tp`×${'value'}倍`, - mul_of_percent: tp`${'stats'}的${'value'}%`, - mul_of_times: tp`${'stats'}×${'value'}倍`, - hp_scale: tp`${'hp'}为100%时${'min'},${'hp'}为1时${'max'}`, - random_atk: tp`${'atk'}×${'min'}${'max'}倍`, - prob: tp`有${'value'}几率`, - x_awakenings: tp`${'awakenings'}数量×${'value'}`, + mul_times: tp`×${'value'}`, + mul_of_percent: tp`${'stats'}'s ${'value'}%`, + mul_of_times: tp`${'stats'} ×${'value'}`, + hp_scale: tp`when ${'hp'} == 100% is ${'min'} and ${'hp'} == 1 is ${'max'}`, + random_atk: tp`${'atk'} ×${'min'}${'max'}`, + prob: tp`${'value'} chance for `, + x_awakenings: tp`count of ${'awakenings'} ×${'value'}`, }, target: { - unknown: tp`未知目标`, - self: tp`角色自身`, - team: tp`队伍`, - team_last: tp`队伍最后一位队员`, - team_leader: tp`队长`, - team_sub: tp`队员`, - enemy: tp`敌人`, - enemy_all: tp`敌方全体`, - enemy_one: tp`敌方1体`, - enemy_attr: tp`${'attr'}敌人`, + unknown: tp`Unkown Target`, + self: tp`card's`, + team: tp`team`, + team_last: tp`the lastest member`, + team_leader: tp`leader`, + team_sub: tp`sub-monsters`, + enemy: tp`Enemy`, + enemy_all: tp`all enemys`, + enemy_one: tp`1 enemy`, + enemy_attr: tp`${'attr'} enemy`, }, stats: { - unknown: tp`[ 未知状态: ${'type'}]`, //type - maxhp: tp`最大HP`, + unknown: tp`[ Unknown: ${'type'}]`, //type + maxhp: tp`Max HP`, hp: tp`HP`, - chp: tp`当前HP`, - atk: tp`攻击力`, - rcv: tp`回复力`, - teamhp: tp`队伍总HP`, - teamatk: tp`队伍${'attrs'}总攻击力`, - teamrcv: tp`队伍回复力`, + chp: tp`current HP`, + atk: tp`ATK`, + rcv: tp`RCV`, + teamhp: tp`Team HP`, + teamatk: tp`Team ${'attrs'} ATK`, + teamrcv: tp`Team RCV`, }, unit: { - orbs: tp`个`, - times: tp`次`, - seconds: tp`秒`, - point: tp`点`, - turns: tp`回合`, + orbs: tp``, + times: tp` times`, + seconds: tp` seconds`, + point: tp` point`, + turns: tp` turns`, }, word: { - comma: tp`,`, //逗号 - slight_pause: tp`、`, //顿号 - range_hyphen: tp`~`, //范围连字符 - in_once: tp`同时`, - evo_type_pixel: tp`像素进化`, - evo_type_reincarnation: tp`转生或超转生进化`, - evo_type_unknow: tp`未知进化: ${'type'}`, - affix_attr: tp`${'cotent'}属性`, //词缀-属性 - affix_orb: tp`${'cotent'}宝珠`, //词缀-宝珠 - affix_type: tp`${'cotent'}类型`, //词缀-类型 - affix_awakening: tp`${'cotent'}觉醒`, //词缀-觉醒 - affix_exclude: tp`${'cotent'}以外`, //词缀-属性 + comma: tp`, `, + slight_pause: tp`, `, + range_hyphen: tp`~`, + in_once: tp`in once `, + evo_type_pixel: tp`Pixel Evo`, + evo_type_reincarnation: tp`Reinc. or Super Reinc. Evo`, + evo_type_unknow: tp`Unknown Evo: ${'type'}`, + affix_attr: tp`${'cotent'} attr.`, + affix_orb: tp`${'cotent'} orbs`, + affix_type: tp`${'cotent'} types`, + affix_awakening: tp`${'cotent'} awoken`, + affix_exclude: tp`, exclude ${'cotent'}`, }, attrs: { - [0]: tp`${'icon'}火`, - [1]: tp`${'icon'}水`, - [2]: tp`${'icon'}木`, - [3]: tp`${'icon'}光`, - [4]: tp`${'icon'}暗`, - [5]: tp`${'icon'}回复力`, - [6]: tp`${'icon'}空`, - all: tp`所有`, - self: tp`${'icon'}自身属性`, - fixed: tp`${'icon'}无视防御固定`, + [0]: tp`${'icon'}Fire`, + [1]: tp`${'icon'}Water`, + [2]: tp`${'icon'}Wood`, + [3]: tp`${'icon'}Light`, + [4]: tp`${'icon'}Dark`, + [5]: tp`${'icon'}Recover`, + [6]: tp`${'icon'}Null`, + all: tp`All`, + self: tp`${'icon'}Self's Attr`, + fixed: tp`${'icon'}Fixed`, }, orbs: { - [0]: tp`${'icon'}火`, - [1]: tp`${'icon'}水`, - [2]: tp`${'icon'}木`, - [3]: tp`${'icon'}光`, - [4]: tp`${'icon'}暗`, - [5]: tp`${'icon'}回复`, - [6]: tp`${'icon'}干扰`, - [7]: tp`${'icon'}毒`, - [8]: tp`${'icon'}剧毒`, - [9]: tp`${'icon'}炸弹`, - enhanced: tp`${'icon'}强化`, - locked: tp`${'icon'}锁定`, - nail: tp`${'icon'}钉子`, - variation: tp`${'icon'}变换珠(每${'time'}变换)`, - _5color: tp`${'icon'}5色`, + [0]: tp`${'icon'}Fire`, + [1]: tp`${'icon'}Water`, + [2]: tp`${'icon'}Wood`, + [3]: tp`${'icon'}Light`, + [4]: tp`${'icon'}Dark`, + [5]: tp`${'icon'}Heal`, + [6]: tp`${'icon'}Jammer`, + [7]: tp`${'icon'}Poison`, + [8]: tp`${'icon'}Lethal Poison`, + [9]: tp`${'icon'}Bomb`, + enhanced: tp`${'icon'}Enhanced`, + locked: tp`${'icon'}Locked`, + nail: tp`${'icon'}Nail`, + variation: tp`${'icon'}Roulette (transforms every ${'time'})`, + _5color: tp`${'icon'}5 Att.`, _6color: tp`${'_5color'}+${'orb_rcv'}`, - all: tp`所有`, - any: tp`任何${'cotent'}`, + all: tp`All`, + any: tp`Any ${'cotent'}`, }, types: { - [0]: tp`${'icon'}进化用`, - [1]: tp`${'icon'}平衡`, - [2]: tp`${'icon'}体力`, - [3]: tp`${'icon'}回复`, - [4]: tp`${'icon'}龙`, - [5]: tp`${'icon'}神`, - [6]: tp`${'icon'}攻击`, - [7]: tp`${'icon'}恶魔`, - [8]: tp`${'icon'}机械`, - [9]: tp`${'icon'}特别保护`, - [12]: tp`${'icon'}能力觉醒用`, - [14]: tp`${'icon'}强化合成用`, - [15]: tp`${'icon'}贩卖用`, + [0]: tp`${'icon'}Evo Material`, + [1]: tp`${'icon'}Balanced`, + [2]: tp`${'icon'}Physical`, + [3]: tp`${'icon'}Healer`, + [4]: tp`${'icon'}Dragon`, + [5]: tp`${'icon'}God`, + [6]: tp`${'icon'}Attacker`, + [7]: tp`${'icon'}Devil`, + [8]: tp`${'icon'}Machine`, + [9]: tp`${'icon'}Special Protection`, + [12]: tp`${'icon'}Awaken`, + [14]: tp`${'icon'}Enhance Material`, + [15]: tp`${'icon'}Redeemable`, }, awokens: { - [0]: tp`${'icon'}未知觉醒`, - [1]: tp`${'icon'}HP+`, - [2]: tp`${'icon'}攻击+`, - [3]: tp`${'icon'}回复+`, - [4]: tp`${'icon'}火盾`, - [5]: tp`${'icon'}水盾`, - [6]: tp`${'icon'}木盾`, - [7]: tp`${'icon'}光盾`, - [8]: tp`${'icon'}暗盾`, - [9]: tp`${'icon'}自回`, - [10]: tp`${'icon'}防封`, - [11]: tp`${'icon'}防暗`, - [12]: tp`${'icon'}防废`, - [13]: tp`${'icon'}防毒`, - [14]: tp`${'icon'}火+`, - [15]: tp`${'icon'}水+`, - [16]: tp`${'icon'}木+`, - [17]: tp`${'icon'}光+`, - [18]: tp`${'icon'}暗+`, - [19]: tp`${'icon'}手指`, - [20]: tp`${'icon'}心解`, - [21]: tp`${'icon'}SB`, - [22]: tp`${'icon'}火横`, - [23]: tp`${'icon'}水横`, - [24]: tp`${'icon'}木横`, - [25]: tp`${'icon'}光横`, - [26]: tp`${'icon'}暗横`, - [27]: tp`${'icon'}U`, - [28]: tp`${'icon'}SX`, - [29]: tp`${'icon'}心+`, - [30]: tp`${'icon'}协力`, - [31]: tp`${'icon'}龙杀`, - [32]: tp`${'icon'}神杀`, - [33]: tp`${'icon'}恶魔杀`, - [34]: tp`${'icon'}机杀`, - [35]: tp`${'icon'}平衡杀`, - [36]: tp`${'icon'}攻击杀`, - [37]: tp`${'icon'}体力杀`, - [38]: tp`${'icon'}回复杀`, - [39]: tp`${'icon'}进化杀`, - [40]: tp`${'icon'}觉醒杀`, - [41]: tp`${'icon'}强化杀`, - [42]: tp`${'icon'}卖钱杀`, - [43]: tp`${'icon'}7c`, - [44]: tp`${'icon'}5色破防`, - [45]: tp`${'icon'}心追`, - [46]: tp`${'icon'}全体 HP `, - [47]: tp`${'icon'}全体回复`, - [48]: tp`${'icon'}破无效`, - [49]: tp`${'icon'}武器`, - [50]: tp`${'icon'}方块心追`, - [51]: tp`${'icon'}5色溜`, - [52]: tp`${'icon'}大防封`, - [53]: tp`${'icon'}大手指`, - [54]: tp`${'icon'}防云`, - [55]: tp`${'icon'}防封条`, - [56]: tp`${'icon'}大SB`, - [57]: tp`${'icon'}上血`, - [58]: tp`${'icon'}下血`, - [59]: tp`${'icon'}L盾`, - [60]: tp`${'icon'}L解锁`, - [61]: tp`${'icon'}10c`, - [62]: tp`${'icon'}c珠`, - [63]: tp`${'icon'}语音`, - [64]: tp`${'icon'}奖励增加`, - [65]: tp`${'icon'} HP -`, - [66]: tp`${'icon'}攻击-`, - [67]: tp`${'icon'}回复-`, - [68]: tp`${'icon'}大防暗`, - [69]: tp`${'icon'}大防废`, - [70]: tp`${'icon'}大防毒`, - [71]: tp`${'icon'}掉废`, - [72]: tp`${'icon'}掉毒`, - [73]: tp`${'icon'}火串`, - [74]: tp`${'icon'}水串`, - [75]: tp`${'icon'}木串`, - [76]: tp`${'icon'}光串`, - [77]: tp`${'icon'}暗串`, - [78]: tp`${'icon'}十字`, - [79]: tp`${'icon'}3色`, - [80]: tp`${'icon'}4色`, - [81]: tp`${'icon'}5色`, + [0]: tp`${'icon'}Unknown awoken`, + [1]: tp`${'icon'}Enhanced HP`, + [2]: tp`${'icon'}Enhanced Attack`, + [3]: tp`${'icon'}Enhanced Heal`, + [4]: tp`${'icon'}Reduce Fire Damage`, + [5]: tp`${'icon'}Reduce Water Damage`, + [6]: tp`${'icon'}Reduce Wood Damage`, + [7]: tp`${'icon'}Reduce Light Damage`, + [8]: tp`${'icon'}Reduce Dark Damage`, + [9]: tp`${'icon'}Auto-Heal`, + [10]: tp`${'icon'}Resistance-Bind`, + [11]: tp`${'icon'}Resistance-Blind`, + [12]: tp`${'icon'}Resistance-Jammers`, + [13]: tp`${'icon'}Resistance-Poison`, + [14]: tp`${'icon'}Enhanced Fire Orbs`, + [15]: tp`${'icon'}Enhanced Water Orbs`, + [16]: tp`${'icon'}Enhanced Wood Orbs`, + [17]: tp`${'icon'}Enhanced Water Orbs`, + [18]: tp`${'icon'}Enhanced Dark Orbs`, + [19]: tp`${'icon'}Extend Time`, + [20]: tp`${'icon'}Recover Bind`, + [21]: tp`${'icon'}Skill Boost`, + [22]: tp`${'icon'}Enhanced Fire Rows`, + [23]: tp`${'icon'}Enhanced Water Rows`, + [24]: tp`${'icon'}Enhanced Wood Rows`, + [25]: tp`${'icon'}Enhanced Water Rows`, + [26]: tp`${'icon'}Enhanced Dark Rows`, + [27]: tp`${'icon'}Two-Pronged Attack`, + [28]: tp`${'icon'}Resistance-Skill Bind`, + [29]: tp`${'icon'}Enhanced Heal Orbs`, + [30]: tp`${'icon'}Multi Boost`, + [31]: tp`${'icon'}Dragon Killer`, + [32]: tp`${'icon'}God Killer`, + [33]: tp`${'icon'}Devil Killer`, + [34]: tp`${'icon'}Machine Killer`, + [35]: tp`${'icon'}Balanced Killer`, + [36]: tp`${'icon'}Attacker Killer`, + [37]: tp`${'icon'}Physical Killer`, + [38]: tp`${'icon'}Healer Killer`, + [39]: tp`${'icon'}Evo Killer`, + [40]: tp`${'icon'}Awaken Killer`, + [41]: tp`${'icon'}Enhance Killer`, + [42]: tp`${'icon'}Redeemable Killer`, + [43]: tp`${'icon'}Enhanced Combos`, + [44]: tp`${'icon'}Guard Break`, + [45]: tp`${'icon'}Bonus Attack`, + [46]: tp`${'icon'}Enhanced Team HP `, + [47]: tp`${'icon'}Enhanced Team RCV`, + [48]: tp`${'icon'}Damage Void Piercer`, + [49]: tp`${'icon'}Awoken Assist`, + [50]: tp`${'icon'}Super Bonus Attack`, + [51]: tp`${'icon'}Skill Charge`, + [52]: tp`${'icon'}Resistance-Bind+`, + [53]: tp`${'icon'}Extend Time+`, + [54]: tp`${'icon'}Resistance-Clouds`, + [55]: tp`${'icon'}Resistance-Immobility`, + [56]: tp`${'icon'}Skill Boost+`, + [57]: tp`${'icon'}50% or more HP Enhanced`, + [58]: tp`${'icon'}50% or less HP Enhanced`, + [59]: tp`${'icon'}L Damage Reduction`, + [60]: tp`${'icon'}L Increased Attack`, + [61]: tp`${'icon'}Super Enhanced Combos`, + [62]: tp`${'icon'}Combo Orbs`, + [63]: tp`${'icon'}Skill Voice`, + [64]: tp`${'icon'}Dungeon Bonus`, + [65]: tp`${'icon'}Reduced HP`, + [66]: tp`${'icon'}Reduced Attack`, + [67]: tp`${'icon'}Reduced RCV`, + [68]: tp`${'icon'}Resistance-Blind+`, + [69]: tp`${'icon'}Resistance-Jammers+`, + [70]: tp`${'icon'}Resistance-Poison+`, + [71]: tp`${'icon'}Blessing of Jammers`, + [72]: tp`${'icon'}Blessing of Poison Orbs`, + [73]: tp`${'icon'}Enhanced Fire Combos`, + [74]: tp`${'icon'}Enhanced Water Combos`, + [75]: tp`${'icon'}Enhanced Wood Combos`, + [76]: tp`${'icon'}Enhanced Light Combos`, + [77]: tp`${'icon'}Enhanced Dark Combos`, + [78]: tp`${'icon'}CrossBoost`, + [79]: tp`${'icon'}Enhanced 3 colors`, + [80]: tp`${'icon'}Enhanced 4 colors`, + [81]: tp`${'icon'}Enhanced 5 colors`, } }, -} +}; //类型和觉醒杀和潜觉杀的对应编号,还有类型可以打什么类型的潜觉杀 const typekiller_for_type = [ @@ -1173,10 +1174,10 @@ const specialSearchFunctions = (function() { } const functions = [ - {name:"No Filter",otLangName:{chs:"不做筛选"}, + {name:"No Filter",otLangName:{chs:"不做筛选",cht:"不做篩選"}, function:cards=>cards}, - {group:true,name:"======Leader Skills=====",otLangName:{chs:"======队长技======"}, functions: [ - {name:"Fixed damage inflicts(sort by damage)",otLangName:{chs:"队长技固伤追击(按伤害排序)"}, + {group:true,name:"======Leader Skills=====",otLangName:{chs:"======队长技======",cht:"======隊長技======"}, functions: [ + {name:"Fixed damage inflicts(sort by damage)",otLangName:{chs:"队长技固伤追击(按伤害排序)",cht:"隊長技固傷追擊(按傷害排序)"}, function:cards=>{ return cards.filter(card=>{ return getSkillFixedDamage(card) > 0; @@ -1189,7 +1190,7 @@ const specialSearchFunctions = (function() { return getSkillFixedDamage(card).bigNumberToString() + "固伤"; } }, - {name:"Adds combo(sort by combo)",otLangName:{chs:"队长技+C(按+C数排序)"}, + {name:"Adds combo(sort by combo)",otLangName:{chs:"队长技+C(按+C数排序)",cht:"隊長技+C(按+C數排序)"}, function:cards=>{ return cards.filter(card=>{ return getSkillAddCombo(card) > 0; @@ -1205,21 +1206,21 @@ const specialSearchFunctions = (function() { return `+${value.bigNumberToString()}C${skill?`/十字`:""}`; } }, - {name:"[7×6 board]",otLangName:{chs:"【7×6 版面】"}, + {name:"[7×6 board]",otLangName:{chs:"【7×6 版面】",cht:"【7×6 版面】"}, function:cards=>cards.filter(card=>{ const searchTypeArray = [162,186]; const skill = getCardLeaderSkill(card, searchTypeArray); return skill; }) }, - {name:"[No skyfall]",otLangName:{chs:"【无天降版面】"}, + {name:"[No skyfall]",otLangName:{chs:"【无天降版面】",cht:"【無天降版面】"}, function:cards=>cards.filter(card=>{ const searchTypeArray = [163,177]; const skill = getCardLeaderSkill(card, searchTypeArray); return skill; }) }, - {name:"Move time changes(sort by time)",otLangName:{chs:"队长技加/减秒(按秒数排序)"}, + {name:"Move time changes(sort by time)",otLangName:{chs:"队长技加/减秒(按秒数排序)",cht:"隊長技加/減秒(按秒數排序)"}, function:cards=>{ const searchTypeArray = [15,185]; return cards.filter(card=>{ @@ -1234,7 +1235,7 @@ const specialSearchFunctions = (function() { return `${value > 0 ? "+" : ""}${value/100}s`; } }, - {name:"Fixed move time(sort by time)",otLangName:{chs:"固定操作时间(按时间排序)"}, + {name:"Fixed move time(sort by time)",otLangName:{chs:"固定操作时间(按时间排序)",cht:"固定操作時間(按時間排序)"}, function:cards=>{ const searchTypeArray = [178]; return cards.filter(card=>{ @@ -1249,7 +1250,7 @@ const specialSearchFunctions = (function() { return `固定${value}s`; } }, - {name:"Bonus attack when matching Orbs(sort by rate)",otLangName:{chs:"消除宝珠时计算防御的追打(按追打比率排序)"}, + {name:"Bonus attack when matching Orbs(sort by rate)",otLangName:{chs:"消除宝珠时计算防御的追打(按追打比率排序)",cht:"消除寶珠時計算防禦的追打(按追打比率排序)"}, function:cards=>{ const searchTypeArray = [12]; return cards.filter(card=>{ @@ -1264,7 +1265,7 @@ const specialSearchFunctions = (function() { return `攻击×${(value/100).bigNumberToString()}倍`; } }, - {name:"Recovers HP when matching Orbs(sort by rate)",otLangName:{chs:"消除宝珠时回血(按回复比率排序)"}, + {name:"Recovers HP when matching Orbs(sort by rate)",otLangName:{chs:"消除宝珠时回血(按回复比率排序)",cht:"消除寶珠時回血(按回複比率排序)"}, function:cards=>{ const searchTypeArray = [13]; return cards.filter(card=>{ @@ -1279,7 +1280,7 @@ const specialSearchFunctions = (function() { return `回复×${(value/100).bigNumberToString()}倍`; } }, - {name:"Counterattack(sort by rate)",otLangName:{chs:"队长技受伤反击"}, + {name:"Counterattack(sort by rate)",otLangName:{chs:"队长技受伤反击",cht:"隊長技受傷反擊"}, function:cards=>{ const searchTypeArray = [41]; return cards.filter(card=>{ @@ -1298,14 +1299,14 @@ const specialSearchFunctions = (function() { return fragment; } }, - {name:"Voids Poison dmg",otLangName:{chs:"毒无效"}, + {name:"Voids Poison dmg",otLangName:{chs:"毒无效",cht:"毒無效"}, function:cards=>cards.filter(card=>{ const searchTypeArray = [197]; const skill = getCardLeaderSkill(card, searchTypeArray); return skill; }) }, - {name:"Reduce damage when rcv(sort by rate)",otLangName:{chs:"回血加盾(以减伤比例排序)"}, + {name:"Reduce damage when rcv(sort by rate)",otLangName:{chs:"回血加盾(以减伤比例排序)",cht:"回血加盾(以減傷比例排序)"}, function:cards=>{ const searchTypeArray = [198]; return cards.filter(card=>{ @@ -1320,7 +1321,7 @@ const specialSearchFunctions = (function() { return `回复${sk[0].bigNumberToString()},减伤${sk[2]}%`; } }, - {name:"Recover Awkn Skill bind when rcv(sort by turns)",otLangName:{chs:"回血解觉(以解觉数排序)"}, + {name:"Recover Awkn Skill bind when rcv(sort by turns)",otLangName:{chs:"回血解觉(以解觉数排序)",cht:"回血解覺(以解覺數排序)"}, function:cards=>{ const searchTypeArray = [198]; return cards.filter(card=>{ @@ -1335,28 +1336,28 @@ const specialSearchFunctions = (function() { return `回复${sk[0].bigNumberToString()},解觉${sk[3]}T`; } }, - {name:"Cross(十) of Heal Orbs",otLangName:{chs:"十字心"}, + {name:"Cross(十) of Heal Orbs",otLangName:{chs:"十字心",cht:"十字心"}, function:cards=>cards.filter(card=>{ const searchTypeArray = [151,209]; const skill = getCardLeaderSkill(card, searchTypeArray); return skill; }) }, - {name:"Cross(十) of Color Orbs",otLangName:{chs:"N个十字"}, + {name:"Cross(十) of Color Orbs",otLangName:{chs:"N个十字",cht:"N個十字"}, function:cards=>cards.filter(card=>{ const searchTypeArray = [157]; const skill = getCardLeaderSkill(card, searchTypeArray); return skill; }) }, - {name:"Less remain on the board",otLangName:{chs:"剩珠倍率"}, + {name:"Less remain on the board",otLangName:{chs:"剩珠倍率",cht:"剩珠倍率"}, function:cards=>cards.filter(card=>{ const searchTypeArray = [177]; const skill = getCardLeaderSkill(card, searchTypeArray); return skill; }) }, - {name:"Unable to less match(sort by orbs need)",otLangName:{chs:"要求长串消除(按珠数排序)"}, + {name:"Unable to less match(sort by orbs need)",otLangName:{chs:"要求长串消除(按珠数排序)",cht:"要求長串消除(按珠數排序)"}, function:cards=>{ const searchTypeArray = [158]; return cards.filter(card=>{ @@ -1371,7 +1372,7 @@ const specialSearchFunctions = (function() { return `≥${value}珠`; } }, - {name:"Resolve",otLangName:{chs:"根性"}, + {name:"Resolve",otLangName:{chs:"根性",cht:"根性"}, function:cards=>{ const searchTypeArray = [14]; return cards.filter(card=>{ @@ -1386,35 +1387,35 @@ const specialSearchFunctions = (function() { return `HP≥${value}%`; } }, - {name:"Designate member ID",otLangName:{chs:"指定队伍队员编号"}, + {name:"Designate member ID",otLangName:{chs:"指定队伍队员编号",cht:"指定隊伍隊員編號"}, function:cards=>cards.filter(card=>{ const searchTypeArray = [125]; const skill = getCardLeaderSkill(card, searchTypeArray); return skill; }) }, - {name:"Designate collab ID",otLangName:{chs:"指定队伍队员合作编号"}, + {name:"Designate collab ID",otLangName:{chs:"指定队伍队员合作编号",cht:"指定隊伍隊員合作編號"}, function:cards=>cards.filter(card=>{ const searchTypeArray = [175]; const skill = getCardLeaderSkill(card, searchTypeArray); return skill; }) }, - {name:"Designate Evo type",otLangName:{chs:"指定队伍队员进化类型"}, + {name:"Designate Evo type",otLangName:{chs:"指定队伍队员进化类型",cht:"指定隊伍隊員進化類型"}, function:cards=>cards.filter(card=>{ const searchTypeArray = [203]; const skill = getCardLeaderSkill(card, searchTypeArray); return skill; }) }, - {name:"Floating rate based on the number of attrs/types",otLangName:{chs:"根据属性/类型个数浮动倍率"}, + {name:"Floating rate based on the number of attrs/types",otLangName:{chs:"根据属性/类型个数浮动倍率",cht:"根據屬性/類型個數浮動倍率"}, function:cards=>cards.filter(card=>{ const searchTypeArray = [229]; const skill = getCardLeaderSkill(card, searchTypeArray); return skill; }) }, - {name:"Increase item drop rate(sort by rate)",otLangName:{chs:"增加道具掉落率(按增加倍率排序)"}, + {name:"Increase item drop rate(sort by rate)",otLangName:{chs:"增加道具掉落率(按增加倍率排序)",cht:"增加道具掉落率(按增加倍率排序)"}, function:cards=>{ const searchTypeArray = [53]; return cards.filter(card=>{ @@ -1429,7 +1430,7 @@ const specialSearchFunctions = (function() { return `掉率x${sk[0]/100}`; } }, - {name:"Increase coin rate(sort by rate)",otLangName:{chs:"增加金币掉落倍数(按增加倍率排序)"}, + {name:"Increase coin rate(sort by rate)",otLangName:{chs:"增加金币掉落倍数(按增加倍率排序)",cht:"增加金幣掉落倍數(按增加倍率排序)"}, function:cards=>{ const searchTypeArray = [54]; return cards.filter(card=>{ @@ -1444,7 +1445,7 @@ const specialSearchFunctions = (function() { return `金币x${sk[0]/100}`; } }, - {name:"Increase Exp rate(sort by rate)",otLangName:{chs:"增加经验获取倍数(按增加倍率排序)"}, + {name:"Increase Exp rate(sort by rate)",otLangName:{chs:"增加经验获取倍数(按增加倍率排序)",cht:"增加經驗獲取倍數(按增加倍率排序)"}, function:cards=>{ const searchTypeArray = [148]; return cards.filter(card=>{ @@ -1460,8 +1461,8 @@ const specialSearchFunctions = (function() { } }, ]}, - {group:true,name:"-----HP Scale-----",otLangName:{chs:"-----血倍率-----"}, functions: [ - {name:"HP Scale [2, ∞) (sort by rate)",otLangName:{chs:"队长血倍率[2, ∞)(按倍率排序)"}, + {group:true,name:"-----HP Scale-----",otLangName:{chs:"-----血倍率-----",cht:"-----血倍率-----"}, functions: [ + {name:"HP Scale [2, ∞) (sort by rate)",otLangName:{chs:"队长血倍率[2, ∞)(按倍率排序)",cht:"隊長血倍率[2, ∞)(按倍率排序)"}, function:cards=>cards.filter(card=>{ const skill = Skills[card.leaderSkillId]; const HPscale = getHPScale(skill); @@ -1471,7 +1472,7 @@ const specialSearchFunctions = (function() { return getHPScale(a_s) - getHPScale(b_s); }) }, - {name:"HP Scale [1.5, 2) (sort by rate)",otLangName:{chs:"队长血倍率[1.5, 2)(按倍率排序)"}, + {name:"HP Scale [1.5, 2) (sort by rate)",otLangName:{chs:"队长血倍率[1.5, 2)(按倍率排序)",cht:"隊長血倍率[1.5, 2)(按倍率排序)"}, function:cards=>cards.filter(card=>{ const skill = Skills[card.leaderSkillId]; const HPscale = getHPScale(skill); @@ -1481,7 +1482,7 @@ const specialSearchFunctions = (function() { return getHPScale(a_s) - getHPScale(b_s); }) }, - {name:"HP Scale (1, 1.5) (sort by rate)",otLangName:{chs:"队长血倍率(1, 1.5)(按倍率排序)"}, + {name:"HP Scale (1, 1.5) (sort by rate)",otLangName:{chs:"队长血倍率(1, 1.5)(按倍率排序)",cht:"隊長血倍率(1, 1.5)(按倍率排序)"}, function:cards=>cards.filter(card=>{ const skill = Skills[card.leaderSkillId]; const HPscale = getHPScale(skill); @@ -1491,14 +1492,14 @@ const specialSearchFunctions = (function() { return getHPScale(a_s) - getHPScale(b_s); }) }, - {name:"HP Scale == 1 (sort by rate)",otLangName:{chs:"队长血倍率 == 1"}, + {name:"HP Scale == 1 (sort by rate)",otLangName:{chs:"队长血倍率 == 1",cht:"隊長血倍率 == 1"}, function:cards=>cards.filter(card=>{ const skill = Skills[card.leaderSkillId]; const HPscale = getHPScale(skill); return HPscale === 1; }) }, - {name:"HP Scale [0, 1) (sort by rate)",otLangName:{chs:"队长血倍率[0, 1)(按倍率排序)"}, + {name:"HP Scale [0, 1) (sort by rate)",otLangName:{chs:"队长血倍率[0, 1)(按倍率排序)",cht:"隊長血倍率[0, 1)(按倍率排序)"}, function:cards=>cards.filter(card=>{ const skill = Skills[card.leaderSkillId]; const HPscale = getHPScale(skill); @@ -1509,8 +1510,8 @@ const specialSearchFunctions = (function() { }) }, ]}, - {group:true,name:"-----Reduce Shield-----",otLangName:{chs:"-----减伤盾-----"}, functions: [ - {name:"Reduce Damage [75%, 100%] (sort by rate)",otLangName:{chs:"队长盾减伤[75%, 100%](按倍率排序)"}, + {group:true,name:"-----Reduce Shield-----",otLangName:{chs:"-----减伤盾-----",cht:"-----減傷盾-----"}, functions: [ + {name:"Reduce Damage [75%, 100%] (sort by rate)",otLangName:{chs:"队长盾减伤[75%, 100%](按倍率排序)",cht:"隊長盾減傷[75%, 100%](按倍率排序)"}, function:cards=>cards.filter(card=>{ const skill = Skills[card.leaderSkillId]; const reduceScale = getReduceScale(skill); @@ -1520,7 +1521,7 @@ const specialSearchFunctions = (function() { return getReduceScale(a_s) - getReduceScale(b_s); }) }, - {name:"Reduce Damage [50%, 75%) (sort by rate)",otLangName:{chs:"队长盾减伤[50%, 75%)(按倍率排序)"}, + {name:"Reduce Damage [50%, 75%) (sort by rate)",otLangName:{chs:"队长盾减伤[50%, 75%)(按倍率排序)",cht:"隊長盾減傷[50%, 75%)(按倍率排序)"}, function:cards=>cards.filter(card=>{ const skill = Skills[card.leaderSkillId]; const reduceScale = getReduceScale(skill); @@ -1530,7 +1531,7 @@ const specialSearchFunctions = (function() { return getReduceScale(a_s) - getReduceScale(b_s); }) }, - {name:"Reduce Damage [25%, 50%) (sort by rate)",otLangName:{chs:"队长盾减伤[25%, 50%)(按倍率排序)"}, + {name:"Reduce Damage [25%, 50%) (sort by rate)",otLangName:{chs:"队长盾减伤[25%, 50%)(按倍率排序)",cht:"隊長盾減傷[25%, 50%)(按倍率排序)"}, function:cards=>cards.filter(card=>{ const skill = Skills[card.leaderSkillId]; const reduceScale = getReduceScale(skill); @@ -1540,7 +1541,7 @@ const specialSearchFunctions = (function() { return getReduceScale(a_s) - getReduceScale(b_s); }) }, - {name:"Reduce Damage (0%, 25%) (sort by rate)",otLangName:{chs:"队长盾减伤(0%, 25%)(按倍率排序)"}, + {name:"Reduce Damage (0%, 25%) (sort by rate)",otLangName:{chs:"队长盾减伤(0%, 25%)(按倍率排序)",cht:"隊長盾減傷(0%, 25%)(按倍率排序)"}, function:cards=>cards.filter(card=>{ const skill = Skills[card.leaderSkillId]; const reduceScale = getReduceScale(skill); @@ -1550,32 +1551,32 @@ const specialSearchFunctions = (function() { return getReduceScale(a_s) - getReduceScale(b_s); }) }, - {name:"Reduce Damage == 0",otLangName:{chs:"队长盾减伤 == 0"}, + {name:"Reduce Damage == 0",otLangName:{chs:"队长盾减伤 == 0",cht:"隊長盾減傷 == 0"}, function:cards=>cards.filter(card=>{ const skill = Skills[card.leaderSkillId]; const reduceScale = getReduceScale(skill); return reduceScale === 0; }) }, - {name:"Reduce Damage - Must all Att.",otLangName:{chs:"队长盾减伤-必须全属性减伤"}, + {name:"Reduce Damage - Must all Att.",otLangName:{chs:"队长盾减伤-必须全属性减伤",cht:"隊長盾減傷-必須全屬性減傷"}, function:cards=>cards.filter(card=>{ const skill = Skills[card.leaderSkillId]; return getReduceScale(skill, true) > 0; }) }, - {name:"Reduce Damage - Exclude HP-line",otLangName:{chs:"队长盾减伤-排除血线盾"}, + {name:"Reduce Damage - Exclude HP-line",otLangName:{chs:"队长盾减伤-排除血线盾",cht:"隊長盾減傷-排除血線盾"}, function:cards=>cards.filter(card=>{ const skill = Skills[card.leaderSkillId]; return getReduceScale(skill, undefined, true) > 0; }) }, - {name:"Reduce Damage - Exclude chance",otLangName:{chs:"队长盾减伤-排除几率盾"}, + {name:"Reduce Damage - Exclude chance",otLangName:{chs:"队长盾减伤-排除几率盾",cht:"隊長盾減傷-排除幾率盾"}, function:cards=>cards.filter(card=>{ const skill = Skills[card.leaderSkillId]; return getReduceScale(skill, undefined, undefined, true) > 0; }) }, - {name:"More than half with 99% gravity[29%, 100%)",otLangName:{chs:"满血99重力不下半血-队长盾减伤[29%, 100%)"}, + {name:"More than half with 99% gravity[29%, 100%)",otLangName:{chs:"满血99重力不下半血-队长盾减伤[29%, 100%)",cht:"滿血99重力不下半血-隊長盾減傷[29%, 100%)"}, function:cards=>cards.filter(card=>{ const skill = Skills[card.leaderSkillId]; const reduceScale = getReduceScale(skill); @@ -1585,7 +1586,7 @@ const specialSearchFunctions = (function() { return getReduceScale(a_s) - getReduceScale(b_s); }) }, - {name:"Reduce Damage - Unconditional",otLangName:{chs:"队长盾减伤-无条件盾"}, + {name:"Reduce Damage - Unconditional",otLangName:{chs:"队长盾减伤-无条件盾",cht:"隊長盾減傷-無條件盾"}, function:cards=>cards.filter(card=>{ //获取盾减伤比例 function getReduceScale_unconditional(ls) @@ -1614,15 +1615,15 @@ const specialSearchFunctions = (function() { }) }, ]}, - {group:true,name:"======Active Skill======",otLangName:{chs:"======主动技======"}, functions: [ - {name:"1 CD",otLangName:{chs:"1 CD"}, + {group:true,name:"======Active Skill======",otLangName:{chs:"======主动技======",cht:"======主動技======"}, functions: [ + {name:"1 CD",otLangName:{chs:"1 CD",cht:"1 CD"}, function:cards=>cards.filter(card=>{ if (card.activeSkillId == 0) return false; const skill = Skills[card.activeSkillId]; return skill.initialCooldown - (skill.maxLevel - 1) <= 1; }) }, - {name:"Less than 4 can be cycled use(Inaccurate)",otLangName:{chs:"除 1 CD 外,4 个以下能永动开(可能不精确)"}, + {name:"Less than 4 can be cycled use(Inaccurate)",otLangName:{chs:"除 1 CD 外,4 个以下能永动开(可能不精确)",cht:"除 1 CD 外,4 個以下能永動開(可能不精確)"}, function:cards=>cards.filter(card=>{ if (card.activeSkillId == 0) return false; const skill = Skills[card.activeSkillId]; @@ -1638,7 +1639,7 @@ const specialSearchFunctions = (function() { return minCD > 1 && realCD <= 4; }) }, - {name:"Time pause(sort by time)",otLangName:{chs:"时间暂停(按停止时间排序)"}, + {name:"Time pause(sort by time)",otLangName:{chs:"时间暂停(按停止时间排序)",cht:"時間暫停(按停止時間排序)"}, function:cards=>{ const searchTypeArray = [5]; return cards.filter(card=>{ @@ -1654,17 +1655,17 @@ const specialSearchFunctions = (function() { } }, { - name:"Random effect active",otLangName:{chs:"随机效果技能"}, + name:"Random effect active",otLangName:{chs:"随机效果技能",cht:"隨機效果技能"}, function:cards=>cards.filter(card=>Skills[card.activeSkillId].type == 118) }, { - name:"Evolved active",otLangName:{chs:"进化类技能"}, + name:"Evolved active",otLangName:{chs:"进化类技能",cht:"進化類技能"}, function:cards=>cards.filter(card=>{ let skType = Skills[card.activeSkillId].type; return skType == 232 || skType == 233; }) }, - {name:"Enable require HP range",otLangName:{chs:"技能使用血线要求"}, + {name:"Enable require HP range",otLangName:{chs:"技能使用血线要求",cht:"技能使用血線要求"}, function:cards=>cards.filter(card=>{ const searchTypeArray = [225]; const skill = getCardActiveSkill(card, searchTypeArray); @@ -1681,8 +1682,8 @@ const specialSearchFunctions = (function() { } }, ]}, - {group:true,name:"-----Voids Absorption-----",otLangName:{chs:"-----破吸类-----"}, functions: [ - {name:"Voids attribute absorption(sort by turns)",otLangName:{chs:"破属吸 buff(按破吸回合排序)"}, + {group:true,name:"-----Voids Absorption-----",otLangName:{chs:"-----破吸类-----",cht:"-----破吸類-----"}, functions: [ + {name:"Voids attribute absorption(sort by turns)",otLangName:{chs:"破属吸 buff(按破吸回合排序)",cht:"破屬吸 buff(按破吸回合排序)"}, function:cards=>{ const searchTypeArray = [173]; return cards.filter(card=>{ @@ -1690,7 +1691,7 @@ const specialSearchFunctions = (function() { return skill && skill.params[1]; }).sort((a,b)=>sortByParams(a,b,searchTypeArray)); },addition:voidsAbsorption_Addition}, - /*{name:"Voids combo absorption(sort by turns)",otLangName:{chs:"破C吸 buff(按破吸回合排序)"}, + /*{name:"Voids combo absorption(sort by turns)",otLangName:{chs:"破C吸 buff(按破吸回合排序)",cht:"破C吸 buff(按破吸回合排序)"}, function:cards=>{ const searchTypeArray = [173]; return cards.filter(card=>{ @@ -1698,7 +1699,7 @@ const specialSearchFunctions = (function() { return skill && skill.params[2]; }).sort((a,b)=>sortByParams(a,b,searchTypeArray)); },addition:voidsAbsorption_Addition},*/ - {name:"Voids damage absorption(sort by turns)",otLangName:{chs:"破伤吸 buff(按破吸回合排序)"}, + {name:"Voids damage absorption(sort by turns)",otLangName:{chs:"破伤吸 buff(按破吸回合排序)",cht:"破傷吸 buff(按破吸回合排序)"}, function:cards=>{ const searchTypeArray = [173]; return cards.filter(card=>{ @@ -1706,7 +1707,7 @@ const specialSearchFunctions = (function() { return skill && skill.params[3]; }).sort((a,b)=>sortByParams(a,b,searchTypeArray)); },addition:voidsAbsorption_Addition}, - {name:"Voids both absorption(sort by turns)",otLangName:{chs:"双破吸 buff(按破吸回合排序)"}, + {name:"Voids both absorption(sort by turns)",otLangName:{chs:"双破吸 buff(按破吸回合排序)",cht:"雙破吸 buff(按破吸回合排序)"}, function:cards=>{ const searchTypeArray = [173]; return cards.filter(card=>{ @@ -1714,7 +1715,7 @@ const specialSearchFunctions = (function() { return skill && skill.params[1] && skill.params[3]; }).sort((a,b)=>sortByParams(a,b,searchTypeArray)); },addition:voidsAbsorption_Addition}, - {name:"Pierce through damage void(sort by turns)",otLangName:{chs:"贯穿无效盾 buff(按破吸回合排序)"}, + {name:"Pierce through damage void(sort by turns)",otLangName:{chs:"贯穿无效盾 buff(按破吸回合排序)",cht:"貫穿無效盾 buff(按破吸回合排序)"}, function:cards=>{ const searchTypeArray = [191]; return cards.filter(card=>{ @@ -1730,9 +1731,9 @@ const specialSearchFunctions = (function() { } }, ]}, - {group:true,name:"-----Recovers Bind Status-----",otLangName:{chs:"-----解封类-----"}, functions: [ + {group:true,name:"-----Recovers Bind Status-----",otLangName:{chs:"-----解封类-----",cht:"-----解封類-----"}, functions: [ { - name:"Unbind normal(sort by turns)",otLangName:{chs:"解封(按解封回合排序)"}, + name:"Unbind normal(sort by turns)",otLangName:{chs:"解封(按解封回合排序)",cht:"解封(按解封回合排序)"}, function:cards=>{ return cards.filter(card=>{ const turns = unbind_Turns(card); @@ -1746,7 +1747,7 @@ const specialSearchFunctions = (function() { addition:unbind_Addition }, { - name:"Unbind awoken(sort by turns)",otLangName:{chs:"解觉醒(按解觉回合排序)"}, + name:"Unbind awoken(sort by turns)",otLangName:{chs:"解觉醒(按解觉回合排序)",cht:"解覺醒(按解覺回合排序)"}, function:cards=>{ return cards.filter(card=>{ const turns = unbind_Turns(card); @@ -1760,7 +1761,7 @@ const specialSearchFunctions = (function() { addition:unbind_Addition }, { - name:"Unbind both(sort by awoken turns)",otLangName:{chs:"解封+觉醒(按解觉醒回合排序)"}, + name:"Unbind both(sort by awoken turns)",otLangName:{chs:"解封+觉醒(按解觉醒回合排序)",cht:"解封+覺醒(按解覺醒回合排序)"}, function:cards=>{ return cards.filter(card=>{ const turns = unbind_Turns(card); @@ -1774,7 +1775,7 @@ const specialSearchFunctions = (function() { addition:unbind_Addition }, { - name:"Unbind unmatchable(sort by turns)",otLangName:{chs:"解禁消珠(按消除回合排序)"}, + name:"Unbind unmatchable(sort by turns)",otLangName:{chs:"解禁消珠(按消除回合排序)",cht:"解禁消珠(按消除回合排序)"}, function:cards=>{ const searchTypeArray = [196]; return cards.filter(card=>{ @@ -1796,7 +1797,7 @@ const specialSearchFunctions = (function() { return document.createTextNode(`${value == 9999 ? "全" : value + "T"}解禁消`); } }, - {name:"Bind self active skill",otLangName:{chs:"自封技能"}, + {name:"Bind self active skill",otLangName:{chs:"自封技能",cht:"自封技能"}, function:cards=>cards.filter(card=>{ const searchTypeArray = [214]; const skill = getCardActiveSkill(card, searchTypeArray); @@ -1809,7 +1810,7 @@ const specialSearchFunctions = (function() { return document.createTextNode(`自封技${sk[0]}T`); } }, - {name:"Bind self matchable",otLangName:{chs:"自封消珠"}, + {name:"Bind self matchable",otLangName:{chs:"自封消珠",cht:"自封消珠"}, function:cards=>cards.filter(card=>{ const searchTypeArray = [215]; const skill = getCardActiveSkill(card, searchTypeArray); @@ -1827,15 +1828,15 @@ const specialSearchFunctions = (function() { } }, ]}, - {group:true,name:"----- Buff -----",otLangName:{chs:"----- buff 类-----"}, functions: [ - {name:"Rate by state count(Jewel Princess)",otLangName:{chs:"以状态数量为倍率类技能(宝石姬)"}, + {group:true,name:"----- Buff -----",otLangName:{chs:"----- buff 类-----",cht:"----- buff 類-----"}, functions: [ + {name:"Rate by state count(Jewel Princess)",otLangName:{chs:"以状态数量为倍率类技能(宝石姬)",cht:"以狀態數量爲倍率類技能(寶石姬)"}, function:cards=>cards.filter(card=>{ const searchTypeArray = [156,168,228,231]; const skill = getCardActiveSkill(card, searchTypeArray); return skill; }) }, - {name:"RCV rate change",otLangName:{chs:"回复力 buff(顶回复)"}, + {name:"RCV rate change",otLangName:{chs:"回复力 buff(顶回复)",cht:"回覆力 buff(頂回復)"}, function:cards=>{ return cards.filter(card=>{ const atkbuff = rcvBuff_Rate(card); @@ -1878,7 +1879,7 @@ const specialSearchFunctions = (function() { return fragment; } }, - {name:"ATK rate change(All)",otLangName:{chs:"全队攻击力 buff(顶攻击)"}, + {name:"ATK rate change(All)",otLangName:{chs:"全队攻击力 buff(顶攻击)",cht:"全隊攻擊力 buff(頂攻擊)"}, function:cards=>{ return cards.filter(card=>{ const atkbuff = atkBuff_Rate(card); @@ -1919,7 +1920,7 @@ const specialSearchFunctions = (function() { return fragment; } }, - {name:"ATK rate change(on member)",otLangName:{chs:"队员攻击力 buff"}, + {name:"ATK rate change(on member)",otLangName:{chs:"队员攻击力 buff",cht:"隊員攻擊力 buff"}, function:cards=>{ const searchTypeArray = [230]; return cards.filter(card=>{ @@ -1950,7 +1951,7 @@ const specialSearchFunctions = (function() { return str; } }, - {name:"Move time change",otLangName:{chs:"操作时间 buff(顶手指)"}, + {name:"Move time change",otLangName:{chs:"操作时间 buff(顶手指)",cht:"操作時間 buff(頂手指)"}, function:cards=>{ const searchTypeArray = [132]; return cards.filter(card=>{ @@ -1973,7 +1974,7 @@ const specialSearchFunctions = (function() { return str; } }, - {name:"No Skyfall(sort by turns)",otLangName:{chs:"无天降 buff(按回合排序)"}, + {name:"No Skyfall(sort by turns)",otLangName:{chs:"无天降 buff(按回合排序)",cht:"無天降 buff(按回合排序)"}, function:cards=>{ const searchTypeArray = [184]; return cards.filter(card=>{ @@ -1989,7 +1990,7 @@ const specialSearchFunctions = (function() { return `无↓×${sk[0]}T`; } }, - {name:"Creates Roulette Orb",otLangName:{chs:"生成变换位(转转珠)"}, + {name:"Creates Roulette Orb",otLangName:{chs:"生成变换位(转转珠)",cht:"生成變換位(轉轉珠)"}, function:cards=>{ const searchTypeArray = [207]; return cards.filter(card=>{ @@ -2007,7 +2008,7 @@ const specialSearchFunctions = (function() { return `特殊形状×${sk[0]}T`; } }, - {name:"Adds combo(sort by combo)",otLangName:{chs:"加C buff(按C数排列)"}, + {name:"Adds combo(sort by combo)",otLangName:{chs:"加C buff(按C数排列)",cht:"加C buff(按C數排列)"}, function:cards=>{ const searchTypeArray = [160]; return cards.filter(card=>{ @@ -2025,7 +2026,7 @@ const specialSearchFunctions = (function() { return `+${sk[1]}C×${sk[0]}T`; } }, - {name:"Reduce Damage for all Attr(sort by rate)",otLangName:{chs:"全属减伤 buff(按减伤比率排序)"}, + {name:"Reduce Damage for all Attr(sort by rate)",otLangName:{chs:"全属减伤 buff(按减伤比率排序)",cht:"全屬減傷 buff(按減傷比率排序)"}, function:cards=>{ const searchTypeArray = [3,156]; return cards.filter(card=>{ @@ -2065,7 +2066,7 @@ const specialSearchFunctions = (function() { return fragment; } }, - {name:"Reduce 100% Damage(invincible, sort by turns)",otLangName:{chs:"全属减伤 100%(无敌)"}, + {name:"Reduce 100% Damage(invincible, sort by turns)",otLangName:{chs:"全属减伤 100%(无敌)",cht:"全屬減傷 100%(無敵)"}, function:cards=>{ const searchTypeArray = [3]; return cards.filter(card=>{ @@ -2080,7 +2081,7 @@ const specialSearchFunctions = (function() { return `无敌×${sk[0]}T`; } }, - {name:"Reduce all Damage for designated Attr(sort by turns)",otLangName:{chs:"限属减伤 buff(按回合排序排序)"}, + {name:"Reduce all Damage for designated Attr(sort by turns)",otLangName:{chs:"限属减伤 buff(按回合排序排序)",cht:"限屬減傷 buff(按回合排序排序)"}, function:cards=>{ const searchTypeArray = [21]; return cards.filter(card=>{ @@ -2102,7 +2103,7 @@ const specialSearchFunctions = (function() { return fragment; } }, - {name:"Mass Attacks(sort by turns)",otLangName:{chs:"变为全体攻击(按回合数排序)"}, + {name:"Mass Attacks(sort by turns)",otLangName:{chs:"变为全体攻击(按回合数排序)",cht:"變爲全體攻擊(按回合數排序)"}, function:cards=>{ const searchTypeArray = [51]; return cards.filter(card=>{ @@ -2118,8 +2119,8 @@ const specialSearchFunctions = (function() { } }, ]}, - {group:true,name:"-----For Enemy-----",otLangName:{chs:"-----对敌 buff 类-----"}, functions: [ - {name:"Menace(sort by turns)",otLangName:{chs:"威吓(按推迟回合排序)"}, + {group:true,name:"-----For Enemy-----",otLangName:{chs:"-----对敌 buff 类-----",cht:"-----對敵 buff 類-----"}, functions: [ + {name:"Menace(sort by turns)",otLangName:{chs:"威吓(按推迟回合排序)",cht:"威嚇(按推遲迴合排序)"}, function:cards=>{ const searchTypeArray = [18]; return cards.filter(card=>{ @@ -2134,7 +2135,7 @@ const specialSearchFunctions = (function() { return document.createTextNode(`威吓×${sk[0]}T`); } }, - {name:"Reduces enemies' DEF(sort by rate)",otLangName:{chs:"破防(按防御减少比例排序)"}, + {name:"Reduces enemies' DEF(sort by rate)",otLangName:{chs:"破防(按防御减少比例排序)",cht:"破防(按防禦減少比例排序)"}, function:cards=>{ const searchTypeArray = [19]; return cards.filter(card=>{ @@ -2150,7 +2151,7 @@ const specialSearchFunctions = (function() { return `破防${sk[1]}%`; } }, - {name:"Voids enemies' DEF(sort by turns)",otLangName:{chs:"100% 破防(按回合排序)"}, + {name:"Voids enemies' DEF(sort by turns)",otLangName:{chs:"100% 破防(按回合排序)",cht:"100% 破防(按回合排序)"}, function:cards=>{ const searchTypeArray = [19]; return cards.filter(card=>{ @@ -2166,7 +2167,7 @@ const specialSearchFunctions = (function() { return `全破×${sk[0]}T`; } }, - {name:"Poisons enemies(sort by rate)",otLangName:{chs:"中毒(按毒伤比率排序)"}, + {name:"Poisons enemies(sort by rate)",otLangName:{chs:"中毒(按毒伤比率排序)",cht:"中毒(按毒傷比率排序)"}, function:cards=>{ const searchTypeArray = [4]; return cards.filter(card=>{ @@ -2182,7 +2183,7 @@ const specialSearchFunctions = (function() { return `攻击力×${sk[0]/100}倍`; } }, - {name:"Change enemies's Attr(sort by attr)",otLangName:{chs:"改变敌人属性(按属性排序)"}, + {name:"Change enemies's Attr(sort by attr)",otLangName:{chs:"改变敌人属性(按属性排序)",cht:"改變敵人屬性(按屬性排序)"}, function:cards=>{ return cards.filter(card=>{ return changeEnemiesAttr_Attr(card).attr != null; @@ -2201,7 +2202,7 @@ const specialSearchFunctions = (function() { return fragment; } }, - {name:"Counterattack buff(sort by rate)",otLangName:{chs:"受伤反击 buff(按倍率排序)"}, + {name:"Counterattack buff(sort by rate)",otLangName:{chs:"受伤反击 buff(按倍率排序)",cht:"受傷反擊 buff(按倍率排序)"}, function:cards=>{ const searchTypeArray = [60]; return cards.filter(card=>{ @@ -2223,8 +2224,8 @@ const specialSearchFunctions = (function() { } }, ]}, - {group:true,name:"-----For player team-----",otLangName:{chs:"-----对自身队伍生效类-----"}, functions: [ - {name:"↑Increase skills charge(sort by turns)",otLangName:{chs:"【溜】减少CD(按回合排序)"}, + {group:true,name:"-----For player team-----",otLangName:{chs:"-----对自身队伍生效类-----",cht:"-----對自身隊伍生效類-----"}, functions: [ + {name:"↑Increase skills charge(sort by turns)",otLangName:{chs:"【溜】减少CD(按回合排序)",cht:"【溜】減少CD(按回合排序)"}, function:cards=>{ const searchTypeArray = [146]; return cards.filter(card=>{ @@ -2239,7 +2240,7 @@ const specialSearchFunctions = (function() { return document.createTextNode(`${sk[0]}${sk[0]!=sk[1]?`~${sk[1]}`:""}溜`); } }, - {name:"↓Reduce skills charge(sort by turns)",otLangName:{chs:"【坐】增加CD(按回合排序)"}, + {name:"↓Reduce skills charge(sort by turns)",otLangName:{chs:"【坐】增加CD(按回合排序)",cht:"【坐】增加CD(按回合排序)"}, function:cards=>{ const searchTypeArray = [218]; return cards.filter(card=>{ @@ -2254,14 +2255,14 @@ const specialSearchFunctions = (function() { return document.createTextNode(`坐下${sk[0]}${sk[0]!=sk[1]?`~${sk[1]}`:""}`); } }, - {name:"Change Leader",otLangName:{chs:"更换队长"}, + {name:"Change Leader",otLangName:{chs:"更换队长",cht:"更換隊長"}, function:cards=>cards.filter(card=>{ const searchTypeArray = [93, 227]; const skill = getCardActiveSkill(card, searchTypeArray); return skill; }) }, - {name:"Change self's Attr(sort by turns)",otLangName:{chs:"转换自身属性(按回合数排序)"}, + {name:"Change self's Attr(sort by turns)",otLangName:{chs:"转换自身属性(按回合数排序)",cht:"轉換自身屬性(按回合數排序)"}, function:cards=>{ const searchTypeArray = [142]; return cards.filter(card=>{ @@ -2283,8 +2284,8 @@ const specialSearchFunctions = (function() { } }, ]}, - {group:true,name:"-----Player's HP change-----",otLangName:{chs:"-----玩家HP操纵类-----"}, functions: [ - {name:"Heal after turn",otLangName:{chs:"回合结束回血 buff"}, + {group:true,name:"-----Player's HP change-----",otLangName:{chs:"-----玩家HP操纵类-----",cht:"-----玩家HP操縱類-----"}, functions: [ + {name:"Heal after turn",otLangName:{chs:"回合结束回血 buff",cht:"回合結束回血 buff"}, function:cards=>{ const searchTypeArray = [179]; return cards.filter(card=>{ @@ -2299,7 +2300,7 @@ const specialSearchFunctions = (function() { return `回复${sk[1]?`${sk[1].bigNumberToString()}`:`${sk[2]}%`}×${sk[0]}T`; } }, - {name:"Heal immediately",otLangName:{chs:"玩家立刻回血"}, + {name:"Heal immediately",otLangName:{chs:"玩家立刻回血",cht:"玩家立刻回血"}, function:cards=>{ return cards.filter(card=>{ const heal = healImmediately_Rate(card); @@ -2331,7 +2332,7 @@ const specialSearchFunctions = (function() { return strArr.join(','); } }, - {name:"Damage self(sort by rate)",otLangName:{chs:"玩家自残(HP 减少,按减少比率排序)"}, + {name:"Damage self(sort by rate)",otLangName:{chs:"玩家自残(HP 减少,按减少比率排序)",cht:"玩家自殘(HP 減少,按減少比率排序)"}, function:cards=>{ return cards.filter(card=>damageSelf_Rate(card)>0) .sort((a,b)=>damageSelf_Rate(a) - damageSelf_Rate(b)); @@ -2345,15 +2346,15 @@ const specialSearchFunctions = (function() { } }, ]}, - {group:true,name:"----- Orbs Lock -----",otLangName:{chs:"-----锁珠类-----"}, functions: [ - {name:"Unlock",otLangName:{chs:"解锁"}, + {group:true,name:"----- Orbs Lock -----",otLangName:{chs:"-----锁珠类-----",cht:"-----鎖珠類-----"}, functions: [ + {name:"Unlock",otLangName:{chs:"解锁",cht:"解鎖"}, function:cards=>cards.filter(card=>{ const searchTypeArray = [172]; const skill = getCardActiveSkill(card, searchTypeArray); return skill; }) }, - {name:"Lock(Any color)",otLangName:{chs:"上锁(不限色)"}, + {name:"Lock(Any color)",otLangName:{chs:"上锁(不限色)",cht:"上鎖(不限色)"}, function:cards=>cards.filter(card=>{ const searchTypeArray = [152]; const skill = getCardActiveSkill(card, searchTypeArray); @@ -2361,7 +2362,7 @@ const specialSearchFunctions = (function() { }), addition:lock_Addition }, - {name:"Lock(≥5 color)",otLangName:{chs:"上锁5色+心或全部"}, + {name:"Lock(≥5 color)",otLangName:{chs:"上锁5色+心或全部",cht:"上鎖5色+心或全部"}, function:cards=>cards.filter(card=>{ const searchTypeArray = [152]; const skill = getCardActiveSkill(card, searchTypeArray); @@ -2370,8 +2371,8 @@ const specialSearchFunctions = (function() { addition:lock_Addition }, ]}, - {group:true,name:"----- Orbs Drop -----",otLangName:{chs:"----- 珠子掉落 类-----"}, functions: [ - {name:"Drop locked orbs(any color, sort by turns)",otLangName:{chs:"掉锁(不限色,按回合排序)"}, + {group:true,name:"----- Orbs Drop -----",otLangName:{chs:"----- 珠子掉落 类-----",cht:"----- 珠子掉落 類-----"}, functions: [ + {name:"Drop locked orbs(any color, sort by turns)",otLangName:{chs:"掉锁(不限色,按回合排序)",cht:"掉鎖(不限色,按回合排序)"}, function:cards=>{ const searchTypeArray = [205]; return cards.filter(card=>{ @@ -2381,7 +2382,7 @@ const specialSearchFunctions = (function() { }, addition:dropLock_Addition }, - {name:"Drop locked orbs(≥5 color, sort by turns)",otLangName:{chs:"掉锁5色+心或全部(按回合排序)"}, + {name:"Drop locked orbs(≥5 color, sort by turns)",otLangName:{chs:"掉锁5色+心或全部(按回合排序)",cht:"掉鎖5色+心或全部(按回合排序)"}, function:cards=>{ const searchTypeArray = [205]; return cards.filter(card=>{ @@ -2391,7 +2392,7 @@ const specialSearchFunctions = (function() { }, addition:dropLock_Addition }, - {name:"Drop Enhanced Orbs(sort by turns)",otLangName:{chs:"掉落强化宝珠(按回合排序)"}, + {name:"Drop Enhanced Orbs(sort by turns)",otLangName:{chs:"掉落强化宝珠(按回合排序)",cht:"掉落強化寶珠(按回合排序)"}, function:cards=>{ const searchTypeArray = [180]; return cards.filter(card=>{ @@ -2406,7 +2407,7 @@ const specialSearchFunctions = (function() { return `${sk[1]}%×${sk[0]}T`; } }, - {name:"Drop rate increases",otLangName:{chs:"掉落率提升"}, + {name:"Drop rate increases",otLangName:{chs:"掉落率提升",cht:"掉落率提升"}, function:cards=>cards.filter(card=>{ const searchTypeArray = [126]; const skill = getCardActiveSkill(card, searchTypeArray); @@ -2414,7 +2415,7 @@ const specialSearchFunctions = (function() { }), addition:dropOrb_Addition }, - {name:"Drop rate - Attr. - Jammers/Poison",otLangName:{chs:"掉落率提升-属性-毒、废(顶毒)"}, + {name:"Drop rate - Attr. - Jammers/Poison",otLangName:{chs:"掉落率提升-属性-毒、废(顶毒)",cht:"掉落率提升-屬性-毒、廢(頂毒)"}, function:cards=>cards.filter(card=>{ const searchTypeArray = [126]; const skill = getCardActiveSkill(card, searchTypeArray); @@ -2422,7 +2423,7 @@ const specialSearchFunctions = (function() { }), addition:dropOrb_Addition }, - {name:"Drop rate - 99 turns",otLangName:{chs:"掉落率提升-持续99回合"}, + {name:"Drop rate - 99 turns",otLangName:{chs:"掉落率提升-持续99回合",cht:"掉落率提升-持續99回合"}, function:cards=>cards.filter(card=>{ const searchTypeArray = [126]; const skill = getCardActiveSkill(card, searchTypeArray); @@ -2430,7 +2431,7 @@ const specialSearchFunctions = (function() { }), addition:dropOrb_Addition }, - {name:"Drop rate - 100% rate",otLangName:{chs:"掉落率提升-100%几率"}, + {name:"Drop rate - 100% rate",otLangName:{chs:"掉落率提升-100%几率",cht:"掉落率提升-100%幾率"}, function:cards=>cards.filter(card=>{ const searchTypeArray = [126]; const skill = getCardActiveSkill(card, searchTypeArray); @@ -2438,7 +2439,7 @@ const specialSearchFunctions = (function() { }), addition:dropOrb_Addition }, - {name:"Drop Nail Orbs(sort by turns)",otLangName:{chs:"掉落钉珠(按回合排序)"}, + {name:"Drop Nail Orbs(sort by turns)",otLangName:{chs:"掉落钉珠(按回合排序)",cht:"掉落釘珠(按回合排序)"}, function:cards=>{ const searchTypeArray = [226]; return cards.filter(card=>{ @@ -2454,8 +2455,8 @@ const specialSearchFunctions = (function() { } }, ]}, - {group:true,name:"-----Damage Enemy - Gravity-----",otLangName:{chs:"-----对敌直接伤害类-重力-----"}, functions: [ - {name:"Gravity - Current HP(sort by rate)",otLangName:{chs:"重力-敌人当前血量(按比例排序)"}, + {group:true,name:"-----Damage Enemy - Gravity-----",otLangName:{chs:"-----对敌直接伤害类-重力-----",cht:"-----對敵直接傷害類-重力-----"}, functions: [ + {name:"Gravity - Current HP(sort by rate)",otLangName:{chs:"重力-敌人当前血量(按比例排序)",cht:"重力-敵人當前血量(按比例排序)"}, function:cards=>{ const searchTypeArray = [6]; return cards.filter(card=>{ @@ -2474,7 +2475,7 @@ const specialSearchFunctions = (function() { return `当前${sk[0]}%`; } }, - {name:"Gravity - Max HP(sort by rate)",otLangName:{chs:"重力-敌人最大血量(按比例排序)"}, + {name:"Gravity - Max HP(sort by rate)",otLangName:{chs:"重力-敌人最大血量(按比例排序)",cht:"重力-敵人最大血量(按比例排序)"}, function:cards=>{ const searchTypeArray = [161]; return cards.filter(card=>{ @@ -2494,8 +2495,8 @@ const specialSearchFunctions = (function() { } }, ]}, - {group:true,name:"-----Damage Enemy - Fixed damage-----",otLangName:{chs:"-----对敌直接伤害类-无视防御固伤-----"}, functions: [ - {name:"Fixed damage - Single(sort by damage)",otLangName:{chs:"无视防御固伤-单体(按总伤害排序)"}, + {group:true,name:"-----Damage Enemy - Fixed damage-----",otLangName:{chs:"-----对敌直接伤害类-无视防御固伤-----",cht:"-----對敵直接傷害類-無視防禦固傷-----"}, functions: [ + {name:"Fixed damage - Single(sort by damage)",otLangName:{chs:"无视防御固伤-单体(按总伤害排序)",cht:"無視防禦固傷-單體(按總傷害排序)"}, function:cards=>{ const searchTypeArray = [55,188]; return cards.filter(card=>{ @@ -2515,7 +2516,7 @@ const specialSearchFunctions = (function() { return `${sk[0].bigNumberToString()}点` + (skills.length > 1 ? `×${skills.length}` : ''); } }, - {name:"Fixed damage - Mass(sort by damage)",otLangName:{chs:"无视防御固伤-全体(按伤害数排序)"}, + {name:"Fixed damage - Mass(sort by damage)",otLangName:{chs:"无视防御固伤-全体(按伤害数排序)",cht:"無視防禦固傷-全體(按傷害數排序)"}, function:cards=>{ const searchTypeArray = [56]; return cards.filter(card=>{ @@ -2532,8 +2533,8 @@ const specialSearchFunctions = (function() { } }, ]}, - {group:true,name:"-----Damage Enemy - Numerical damage-----",otLangName:{chs:"-----对敌直接伤害类-大炮-----"}, functions: [ - {name:"Numerical ATK - Target - Single",otLangName:{chs:"大炮-对象-敌方单体"}, + {group:true,name:"-----Damage Enemy - Numerical damage-----",otLangName:{chs:"-----对敌直接伤害类-大炮-----",cht:"-----對敵直接傷害類-大炮-----"}, functions: [ + {name:"Numerical ATK - Target - Single",otLangName:{chs:"大炮-对象-敌方单体",cht:"大炮-對象-敵方單體"}, function:cards=>cards.filter(card=>{ const searchTypeArray = [2,35,37,59,84,86,110,115,144]; function isSingle(skill) @@ -2549,7 +2550,7 @@ const specialSearchFunctions = (function() { return skill && isSingle(skill); }) }, - {name:"Numerical ATK - Target - Mass",otLangName:{chs:"大炮-对象-敌方全体"}, + {name:"Numerical ATK - Target - Mass",otLangName:{chs:"大炮-对象-敌方全体",cht:"大炮-對象-敵方全體"}, function:cards=>cards.filter(card=>{ const searchTypeArray = [0,1,58,85,87,110,143,144]; function isAll(skill) @@ -2565,7 +2566,7 @@ const specialSearchFunctions = (function() { return skill && skill.id!=0 && isAll(skill); }) }, - {name:"Numerical ATK - Target - Designate Attr",otLangName:{chs:"大炮-对象-指定属性敌人"}, + {name:"Numerical ATK - Target - Designate Attr",otLangName:{chs:"大炮-对象-指定属性敌人",cht:"大炮-對象-指定屬性敵人"}, function:cards=>cards.filter(card=>{ const searchTypeArray = [42]; const skill = getCardActiveSkill(card, searchTypeArray); @@ -2573,7 +2574,7 @@ const specialSearchFunctions = (function() { }) }, - {name:"Numerical ATK - Attr - Any",otLangName:{chs:"大炮-属性-不限"}, + {name:"Numerical ATK - Attr - Any",otLangName:{chs:"大炮-属性-不限",cht:"大炮-屬性-不限"}, function:cards=>cards.filter(card=>{ const searchTypeArray = [0,1,2,35,37,42,58,59,84,85,86,87,110,115,143,144]; const skill = getCardActiveSkill(card, searchTypeArray); @@ -2592,7 +2593,7 @@ const specialSearchFunctions = (function() { return fragment; } }, - {name:"Numerical ATK - Attr - Actors self",otLangName:{chs:"大炮-属性-释放者自身"}, + {name:"Numerical ATK - Attr - Actors self",otLangName:{chs:"大炮-属性-释放者自身",cht:"大炮-屬性-釋放者自身"}, function:cards=>cards.filter(card=>{ const searchTypeArray = [2,35]; const skill = getCardActiveSkill(card, searchTypeArray); @@ -2600,7 +2601,7 @@ const specialSearchFunctions = (function() { }) }, - {name:"Numerical ATK - Damage - Rate by Actors self ATK(sort by rate)",otLangName:{chs:"大炮-伤害-自身攻击倍率(按倍率排序,范围取小)"}, + {name:"Numerical ATK - Damage - Rate by Actors self ATK(sort by rate)",otLangName:{chs:"大炮-伤害-自身攻击倍率(按倍率排序,范围取小)",cht:"大炮-傷害-自身攻擊倍率(按倍率排序,範圍取小)"}, function:cards=>cards.filter(card=>{ const searchTypeArray = [0,2,35,37,58,59,84,85,115]; const skill = getCardActiveSkill(card, searchTypeArray); @@ -2632,7 +2633,7 @@ const specialSearchFunctions = (function() { return a_pC - b_pC; }) }, - {name:"Numerical ATK - Damage - Fixed Attr Number (sort by number)",otLangName:{chs:"大炮-伤害-指定属性数值(按数值排序)"}, + {name:"Numerical ATK - Damage - Fixed Attr Number (sort by number)",otLangName:{chs:"大炮-伤害-指定属性数值(按数值排序)",cht:"大炮-傷害-指定屬性數值(按數值排序)"}, function:cards=>cards.filter(card=>{ const searchTypeArray = [1,42,86,87]; const skill = getCardActiveSkill(card, searchTypeArray); @@ -2659,7 +2660,7 @@ const specialSearchFunctions = (function() { return a_pC - b_pC; }) }, - {name:"Numerical ATK - Damage - By remaining HP (sort by rate at HP 1)",otLangName:{chs:"大炮-伤害-根据剩余血量(按 1 HP 时倍率排序)"}, + {name:"Numerical ATK - Damage - By remaining HP (sort by rate at HP 1)",otLangName:{chs:"大炮-伤害-根据剩余血量(按 1 HP 时倍率排序)",cht:"大炮-傷害-根據剩餘血量(按 1 HP 時倍率排序)"}, function:cards=>{ const searchTypeArray = [110]; return cards.filter(card=>{ @@ -2668,7 +2669,7 @@ const specialSearchFunctions = (function() { }).sort((a,b)=>sortByParams(a,b,searchTypeArray,3)); } }, - {name:"Numerical ATK - Damage - Team total HP (sort by rate)",otLangName:{chs:"大炮-伤害-队伍总 HP(按倍率排序)"}, + {name:"Numerical ATK - Damage - Team total HP (sort by rate)",otLangName:{chs:"大炮-伤害-队伍总 HP(按倍率排序)",cht:"大炮-傷害-隊伍總 HP(按倍率排序)"}, function:cards=>{ const searchTypeArray = [143]; return cards.filter(card=>{ @@ -2677,7 +2678,7 @@ const specialSearchFunctions = (function() { }).sort((a,b)=>sortByParams(a,b,searchTypeArray)); } }, - {name:"Numerical ATK - Damage - Team attrs ATK (sort by rate)",otLangName:{chs:"大炮-伤害-队伍某属性总攻击(按倍率排序)"}, + {name:"Numerical ATK - Damage - Team attrs ATK (sort by rate)",otLangName:{chs:"大炮-伤害-队伍某属性总攻击(按倍率排序)",cht:"大炮-傷害-隊伍某屬性總攻擊(按倍率排序)"}, function:cards=>{ const searchTypeArray = [144]; return cards.filter(card=>{ @@ -2686,7 +2687,7 @@ const specialSearchFunctions = (function() { }).sort((a,b)=>sortByParams(a,b,searchTypeArray,1)); } }, - {name:"Numerical ATK - Special - Vampire",otLangName:{chs:"大炮-特殊-吸血"}, + {name:"Numerical ATK - Special - Vampire",otLangName:{chs:"大炮-特殊-吸血",cht:"大炮-特殊-吸血"}, function:cards=>cards.filter(card=>{ const searchTypeArray = [35,115]; const skill = getCardActiveSkill(card, searchTypeArray); @@ -2694,15 +2695,15 @@ const specialSearchFunctions = (function() { }) }, ]}, - {group:true,name:"-----Board Change-----",otLangName:{chs:"-----洗版类-----"}, functions: [ - {name:"Replaces all Orbs",otLangName:{chs:"刷版"}, + {group:true,name:"-----Board Change-----",otLangName:{chs:"-----洗版类-----",cht:"-----洗版類-----"}, functions: [ + {name:"Replaces all Orbs",otLangName:{chs:"刷版",cht:"刷版"}, function:cards=>cards.filter(card=>{ const searchTypeArray = [10]; const skill = getCardActiveSkill(card, searchTypeArray); return skill; }) }, - {name:"Changes all Orbs to 1 color(Farm)",otLangName:{chs:"洗版-1色(花火)"}, + {name:"Changes all Orbs to 1 color(Farm)",otLangName:{chs:"洗版-1色(花火)",cht:"洗版-1色(花火)"}, function:cards=>cards.filter(card=>{ const searchTypeArray = [71]; const skill = getCardActiveSkill(card, searchTypeArray); @@ -2710,7 +2711,7 @@ const specialSearchFunctions = (function() { }), addition:boardChange_Addition }, - {name:"Changes all Orbs to 2 color",otLangName:{chs:"洗版-2色"}, + {name:"Changes all Orbs to 2 color",otLangName:{chs:"洗版-2色",cht:"洗版-2色"}, function:cards=>cards.filter(card=>{ const searchTypeArray = [71]; const skill = getCardActiveSkill(card, searchTypeArray); @@ -2718,7 +2719,7 @@ const specialSearchFunctions = (function() { }), addition:boardChange_Addition }, - {name:"Changes all Orbs to 3 color",otLangName:{chs:"洗版-3色"}, + {name:"Changes all Orbs to 3 color",otLangName:{chs:"洗版-3色",cht:"洗版-3色"}, function:cards=>cards.filter(card=>{ const searchTypeArray = [71]; const skill = getCardActiveSkill(card, searchTypeArray); @@ -2726,7 +2727,7 @@ const specialSearchFunctions = (function() { }), addition:boardChange_Addition }, - {name:"Changes all Orbs to 4 color",otLangName:{chs:"洗版-4色"}, + {name:"Changes all Orbs to 4 color",otLangName:{chs:"洗版-4色",cht:"洗版-4色"}, function:cards=>cards.filter(card=>{ const searchTypeArray = [71]; const skill = getCardActiveSkill(card, searchTypeArray); @@ -2734,7 +2735,7 @@ const specialSearchFunctions = (function() { }), addition:boardChange_Addition }, - {name:"Changes all Orbs to 5 color",otLangName:{chs:"洗版-5色"}, + {name:"Changes all Orbs to 5 color",otLangName:{chs:"洗版-5色",cht:"洗版-5色"}, function:cards=>cards.filter(card=>{ const searchTypeArray = [71]; const skill = getCardActiveSkill(card, searchTypeArray); @@ -2742,7 +2743,7 @@ const specialSearchFunctions = (function() { }), addition:boardChange_Addition }, - {name:"Changes all Orbs to ≥6 color",otLangName:{chs:"洗版-6色以上"}, + {name:"Changes all Orbs to ≥6 color",otLangName:{chs:"洗版-6色以上",cht:"洗版-6色以上"}, function:cards=>cards.filter(card=>{ const searchTypeArray = [71]; const skill = getCardActiveSkill(card, searchTypeArray); @@ -2750,7 +2751,7 @@ const specialSearchFunctions = (function() { }), addition:boardChange_Addition }, - {name:"Changes all Orbs - include Fire",otLangName:{chs:"洗版-含火"}, + {name:"Changes all Orbs - include Fire",otLangName:{chs:"洗版-含火",cht:"洗版-含火"}, function:cards=>cards.filter(card=>{ const searchTypeArray = [71]; const skill = getCardActiveSkill(card, searchTypeArray); @@ -2758,7 +2759,7 @@ const specialSearchFunctions = (function() { }), addition:boardChange_Addition }, - {name:"Changes all Orbs - include Water",otLangName:{chs:"洗版-含水"}, + {name:"Changes all Orbs - include Water",otLangName:{chs:"洗版-含水",cht:"洗版-含水"}, function:cards=>cards.filter(card=>{ const searchTypeArray = [71]; const skill = getCardActiveSkill(card, searchTypeArray); @@ -2766,7 +2767,7 @@ const specialSearchFunctions = (function() { }), addition:boardChange_Addition }, - {name:"Changes all Orbs - include Wood",otLangName:{chs:"洗版-含木"}, + {name:"Changes all Orbs - include Wood",otLangName:{chs:"洗版-含木",cht:"洗版-含木"}, function:cards=>cards.filter(card=>{ const searchTypeArray = [71]; const skill = getCardActiveSkill(card, searchTypeArray); @@ -2774,7 +2775,7 @@ const specialSearchFunctions = (function() { }), addition:boardChange_Addition }, - {name:"Changes all Orbs - include Light",otLangName:{chs:"洗版-含光"}, + {name:"Changes all Orbs - include Light",otLangName:{chs:"洗版-含光",cht:"洗版-含光"}, function:cards=>cards.filter(card=>{ const searchTypeArray = [71]; const skill = getCardActiveSkill(card, searchTypeArray); @@ -2782,7 +2783,7 @@ const specialSearchFunctions = (function() { }), addition:boardChange_Addition }, - {name:"Changes all Orbs - include Dark",otLangName:{chs:"洗版-含暗"}, + {name:"Changes all Orbs - include Dark",otLangName:{chs:"洗版-含暗",cht:"洗版-含暗"}, function:cards=>cards.filter(card=>{ const searchTypeArray = [71]; const skill = getCardActiveSkill(card, searchTypeArray); @@ -2790,7 +2791,7 @@ const specialSearchFunctions = (function() { }), addition:boardChange_Addition }, - {name:"Changes all Orbs - include Heart",otLangName:{chs:"洗版-含心"}, + {name:"Changes all Orbs - include Heart",otLangName:{chs:"洗版-含心",cht:"洗版-含心"}, function:cards=>cards.filter(card=>{ const searchTypeArray = [71]; const skill = getCardActiveSkill(card, searchTypeArray); @@ -2798,7 +2799,7 @@ const specialSearchFunctions = (function() { }), addition:boardChange_Addition }, - {name:"Changes all Orbs - include Jammers/Poison",otLangName:{chs:"洗版-含毒废"}, + {name:"Changes all Orbs - include Jammers/Poison",otLangName:{chs:"洗版-含毒废",cht:"洗版-含毒廢"}, function:cards=>cards.filter(card=>{ const searchTypeArray = [71]; const skill = getCardActiveSkill(card, searchTypeArray); @@ -2811,8 +2812,8 @@ const specialSearchFunctions = (function() { addition:boardChange_Addition }, ]}, - {group:true,name:"-----Orbs Change-----",otLangName:{chs:"-----指定色转珠类-----"}, functions: [ - {name:"Orbs Change - to Fire",otLangName:{chs:"转珠-变为-火"}, + {group:true,name:"-----Orbs Change-----",otLangName:{chs:"-----指定色转珠类-----",cht:"-----指定色轉珠類-----"}, functions: [ + {name:"Orbs Change - to Fire",otLangName:{chs:"转珠-变为-火",cht:"轉珠-變爲-火"}, function:cards=>cards.filter(card=>{ const searchTypeArray = [9,20,154]; const skills = getCardActiveSkills(card, searchTypeArray); @@ -2822,7 +2823,7 @@ const specialSearchFunctions = (function() { }), addition:changeOrbs_Addition }, - {name:"Orbs Change - to Water",otLangName:{chs:"转珠-变为-水"}, + {name:"Orbs Change - to Water",otLangName:{chs:"转珠-变为-水",cht:"轉珠-變爲-水"}, function:cards=>cards.filter(card=>{ const searchTypeArray = [9,20,154]; const skills = getCardActiveSkills(card, searchTypeArray); @@ -2832,7 +2833,7 @@ const specialSearchFunctions = (function() { }), addition:changeOrbs_Addition }, - {name:"Orbs Change - to Wood",otLangName:{chs:"转珠-变为-木"}, + {name:"Orbs Change - to Wood",otLangName:{chs:"转珠-变为-木",cht:"轉珠-變爲-木"}, function:cards=>cards.filter(card=>{ const searchTypeArray = [9,20,154]; const skills = getCardActiveSkills(card, searchTypeArray); @@ -2842,7 +2843,7 @@ const specialSearchFunctions = (function() { }), addition:changeOrbs_Addition }, - {name:"Orbs Change - to Light",otLangName:{chs:"转珠-变为-光"}, + {name:"Orbs Change - to Light",otLangName:{chs:"转珠-变为-光",cht:"轉珠-變爲-光"}, function:cards=>cards.filter(card=>{ const searchTypeArray = [9,20,154]; const skills = getCardActiveSkills(card, searchTypeArray); @@ -2852,7 +2853,7 @@ const specialSearchFunctions = (function() { }), addition:changeOrbs_Addition }, - {name:"Orbs Change - to Dark",otLangName:{chs:"转珠-变为-暗"}, + {name:"Orbs Change - to Dark",otLangName:{chs:"转珠-变为-暗",cht:"轉珠-變爲-暗"}, function:cards=>cards.filter(card=>{ const searchTypeArray = [9,20,154]; const skills = getCardActiveSkills(card, searchTypeArray); @@ -2862,7 +2863,7 @@ const specialSearchFunctions = (function() { }), addition:changeOrbs_Addition }, - {name:"Orbs Change - to Heal",otLangName:{chs:"转珠-变为-心"}, + {name:"Orbs Change - to Heal",otLangName:{chs:"转珠-变为-心",cht:"轉珠-變爲-心"}, function:cards=>cards.filter(card=>{ const searchTypeArray = [9,20,154]; const skills = getCardActiveSkills(card, searchTypeArray); @@ -2872,7 +2873,7 @@ const specialSearchFunctions = (function() { }), addition:changeOrbs_Addition }, - {name:"Orbs Change - to Jammers/Poison",otLangName:{chs:"转珠-变为-毒废"}, + {name:"Orbs Change - to Jammers/Poison",otLangName:{chs:"转珠-变为-毒废",cht:"轉珠-變爲-毒廢"}, function:cards=>cards.filter(card=>{ const searchTypeArray = [9,20,154]; const skills = getCardActiveSkills(card, searchTypeArray); @@ -2882,7 +2883,7 @@ const specialSearchFunctions = (function() { }), addition:changeOrbs_Addition }, - {name:"Orbs Change - from Fire",otLangName:{chs:"转珠-转走-火"}, + {name:"Orbs Change - from Fire",otLangName:{chs:"转珠-转走-火",cht:"轉珠-轉走-火"}, function:cards=>cards.filter(card=>{ const searchTypeArray = [9,20,154]; const skills = getCardActiveSkills(card, searchTypeArray); @@ -2892,7 +2893,7 @@ const specialSearchFunctions = (function() { }), addition:changeOrbs_Addition }, - {name:"Orbs Change - from Water",otLangName:{chs:"转珠-转走-水"}, + {name:"Orbs Change - from Water",otLangName:{chs:"转珠-转走-水",cht:"轉珠-轉走-水"}, function:cards=>cards.filter(card=>{ const searchTypeArray = [9,20,154]; const skills = getCardActiveSkills(card, searchTypeArray); @@ -2902,7 +2903,7 @@ const specialSearchFunctions = (function() { }), addition:changeOrbs_Addition }, - {name:"Orbs Change - from Wood",otLangName:{chs:"转珠-转走-木"}, + {name:"Orbs Change - from Wood",otLangName:{chs:"转珠-转走-木",cht:"轉珠-轉走-木"}, function:cards=>cards.filter(card=>{ const searchTypeArray = [9,20,154]; const skills = getCardActiveSkills(card, searchTypeArray); @@ -2912,7 +2913,7 @@ const specialSearchFunctions = (function() { }), addition:changeOrbs_Addition }, - {name:"Orbs Change - from Light",otLangName:{chs:"转珠-转走-光"}, + {name:"Orbs Change - from Light",otLangName:{chs:"转珠-转走-光",cht:"轉珠-轉走-光"}, function:cards=>cards.filter(card=>{ const searchTypeArray = [9,20,154]; const skills = getCardActiveSkills(card, searchTypeArray); @@ -2922,7 +2923,7 @@ const specialSearchFunctions = (function() { }), addition:changeOrbs_Addition }, - {name:"Orbs Change - from Dark",otLangName:{chs:"转珠-转走-暗"}, + {name:"Orbs Change - from Dark",otLangName:{chs:"转珠-转走-暗",cht:"轉珠-轉走-暗"}, function:cards=>cards.filter(card=>{ const searchTypeArray = [9,20,154]; const skills = getCardActiveSkills(card, searchTypeArray); @@ -2932,7 +2933,7 @@ const specialSearchFunctions = (function() { }), addition:changeOrbs_Addition }, - {name:"Orbs Change - from Heart",otLangName:{chs:"转珠-转走-心"}, + {name:"Orbs Change - from Heart",otLangName:{chs:"转珠-转走-心",cht:"轉珠-轉走-心"}, function:cards=>cards.filter(card=>{ const searchTypeArray = [9,20,154]; const skills = getCardActiveSkills(card, searchTypeArray); @@ -2942,7 +2943,7 @@ const specialSearchFunctions = (function() { }), addition:changeOrbs_Addition }, - {name:"Orbs Change - from Jammers/Poison",otLangName:{chs:"转珠-转走-毒废"}, + {name:"Orbs Change - from Jammers/Poison",otLangName:{chs:"转珠-转走-毒废",cht:"轉珠-轉走-毒廢"}, function:cards=>cards.filter(card=>{ const searchTypeArray = [9,20,154]; const skills = getCardActiveSkills(card, searchTypeArray); @@ -2952,7 +2953,7 @@ const specialSearchFunctions = (function() { }), addition:changeOrbs_Addition }, - {name:"Enhanced Orbs",otLangName:{chs:"强化宝珠"}, + {name:"Enhanced Orbs",otLangName:{chs:"强化宝珠",cht:"強化寶珠"}, function:cards=>{ const searchTypeArray = [52,91,140]; return cards.filter(card=>{ @@ -2984,8 +2985,8 @@ const specialSearchFunctions = (function() { } }, ]}, - {group:true,name:"-----Create Orbs-----",otLangName:{chs:"-----随机产珠类-----"}, functions: [ - {name:"Create 30 Orbs",otLangName:{chs:"固定30个产珠"}, + {group:true,name:"-----Create Orbs-----",otLangName:{chs:"-----随机产珠类-----",cht:"-----隨機產珠類-----"}, functions: [ + {name:"Create 30 Orbs",otLangName:{chs:"固定30个产珠",cht:"固定30個產珠"}, function:cards=>cards.filter(card=>{ function is30(sk) { @@ -2997,7 +2998,7 @@ const specialSearchFunctions = (function() { }), addition:generateOrbs_Addition }, - {name:"Create 15×2 Orbs",otLangName:{chs:"固定15×2产珠"}, + {name:"Create 15×2 Orbs",otLangName:{chs:"固定15×2产珠",cht:"固定15×2產珠"}, function:cards=>cards.filter(card=>{ function is1515(sk) { @@ -3009,49 +3010,49 @@ const specialSearchFunctions = (function() { }), addition:generateOrbs_Addition }, - {name:"Create Fire Orbs",otLangName:{chs:"产珠-生成-火"}, + {name:"Create Fire Orbs",otLangName:{chs:"产珠-生成-火",cht:"產珠-生成-火"}, function:cards=>cards.filter(card=>{ const gens = generateOrbsParse(card); return gens.some(gen=>gen.to.includes(0)); }), addition:generateOrbs_Addition }, - {name:"Create Water Orbs",otLangName:{chs:"产珠-生成-水"}, + {name:"Create Water Orbs",otLangName:{chs:"产珠-生成-水",cht:"產珠-生成-水"}, function:cards=>cards.filter(card=>{ const gens = generateOrbsParse(card); return gens.some(gen=>gen.to.includes(1)); }), addition:generateOrbs_Addition }, - {name:"Create Wood Orbs",otLangName:{chs:"产珠-生成-木"}, + {name:"Create Wood Orbs",otLangName:{chs:"产珠-生成-木",cht:"產珠-生成-木"}, function:cards=>cards.filter(card=>{ const gens = generateOrbsParse(card); return gens.some(gen=>gen.to.includes(2)); }), addition:generateOrbs_Addition }, - {name:"Create Light Orbs",otLangName:{chs:"产珠-生成-光"}, + {name:"Create Light Orbs",otLangName:{chs:"产珠-生成-光",cht:"產珠-生成-光"}, function:cards=>cards.filter(card=>{ const gens = generateOrbsParse(card); return gens.some(gen=>gen.to.includes(3)); }), addition:generateOrbs_Addition }, - {name:"Create Dark Orbs",otLangName:{chs:"产珠-生成-暗"}, + {name:"Create Dark Orbs",otLangName:{chs:"产珠-生成-暗",cht:"產珠-生成-暗"}, function:cards=>cards.filter(card=>{ const gens = generateOrbsParse(card); return gens.some(gen=>gen.to.includes(4)); }), addition:generateOrbs_Addition }, - {name:"Create Heart Orbs",otLangName:{chs:"产珠-生成-心"}, + {name:"Create Heart Orbs",otLangName:{chs:"产珠-生成-心",cht:"產珠-生成-心"}, function:cards=>cards.filter(card=>{ const gens = generateOrbsParse(card); return gens.some(gen=>gen.to.includes(5)); }), addition:generateOrbs_Addition }, - {name:"Create Jammers/Poison Orbs",otLangName:{chs:"产珠-生成-毒废"}, + {name:"Create Jammers/Poison Orbs",otLangName:{chs:"产珠-生成-毒废",cht:"產珠-生成-毒廢"}, function:cards=>cards.filter(card=>{ const gens = generateOrbsParse(card); return gens.some(gen=>gen.to.includes(6) || gen.to.includes(7) || gen.to.includes(8) || gen.to.includes(9)); @@ -3059,15 +3060,15 @@ const specialSearchFunctions = (function() { addition:generateOrbs_Addition }, ]}, - {group:true,name:"-----Create Fixed Position Orbs-----",otLangName:{chs:"-----固定位置产珠类-----"}, functions: [ - {name:"Create designated shape",otLangName:{chs:"生成指定形状的"}, + {group:true,name:"-----Create Fixed Position Orbs-----",otLangName:{chs:"-----固定位置产珠类-----",cht:"-----固定位置產珠類-----"}, functions: [ + {name:"Create designated shape",otLangName:{chs:"生成指定形状的",cht:"生成指定形狀的"}, function:cards=>cards.filter(card=>{ const searchTypeArray = [176]; const skill = getCardActiveSkill(card, searchTypeArray); return skill; }) }, - {name:"Create 3×3 block",otLangName:{chs:"生成3×3方块"}, + {name:"Create 3×3 block",otLangName:{chs:"生成3×3方块",cht:"生成3×3方塊"}, function:cards=>cards.filter(card=>{ function is3x3(sk) { @@ -3096,7 +3097,7 @@ const specialSearchFunctions = (function() { return fragment; } }, - {name:"Create a vertical",otLangName:{chs:"产竖"}, + {name:"Create a vertical",otLangName:{chs:"产竖",cht:"產豎"}, function:cards=>cards.filter(card=>{ const searchTypeArray = [127]; const skill = getCardActiveSkill(card, searchTypeArray); @@ -3104,7 +3105,7 @@ const specialSearchFunctions = (function() { }), addition:generateColumnOrbs_Addition }, - {name:"Create a vertical include Heart",otLangName:{chs:"产竖(含心)"}, + {name:"Create a vertical include Heart",otLangName:{chs:"产竖(含心)",cht:"產豎(含心)"}, function:cards=>cards.filter(card=>{ function isHeart(sk) { @@ -3122,7 +3123,7 @@ const specialSearchFunctions = (function() { }), addition:generateColumnOrbs_Addition }, - {name:"Create a horizontal",otLangName:{chs:"产横"}, + {name:"Create a horizontal",otLangName:{chs:"产横",cht:"產橫"}, function:cards=>cards.filter(card=>{ const searchTypeArray = [128]; const skill = getCardActiveSkill(card, searchTypeArray); @@ -3130,7 +3131,7 @@ const specialSearchFunctions = (function() { }), addition:generateRowOrbs_Addition }, - {name:"Create ≥2 horizontals",otLangName:{chs:"2横或以上"}, + {name:"Create ≥2 horizontals",otLangName:{chs:"2横或以上",cht:"2橫或以上"}, function:cards=>cards.filter(card=>{ const searchTypeArray = [128]; const skill = getCardActiveSkill(card, searchTypeArray); @@ -3138,7 +3139,7 @@ const specialSearchFunctions = (function() { }), addition:generateRowOrbs_Addition }, - {name:"Create 2 color horizontals",otLangName:{chs:"2色横"}, + {name:"Create 2 color horizontals",otLangName:{chs:"2色横",cht:"2色橫"}, function:cards=>cards.filter(card=>{ const searchTypeArray = [128]; const skill = getCardActiveSkill(card, searchTypeArray); @@ -3146,7 +3147,7 @@ const specialSearchFunctions = (function() { }), addition:generateRowOrbs_Addition }, - {name:"Create horizontal not Top or Bottom",otLangName:{chs:"非顶底横"}, + {name:"Create horizontal not Top or Bottom",otLangName:{chs:"非顶底横",cht:"非頂底橫"}, function:cards=>cards.filter(card=>{ const searchTypeArray = [128]; const skill = getCardActiveSkill(card, searchTypeArray); @@ -3154,7 +3155,7 @@ const specialSearchFunctions = (function() { }), addition:generateRowOrbs_Addition }, - {name:"Extensive horizontal(include Farm and outer edges)",otLangName:{chs:"泛产横(包含花火与四周一圈等)"}, + {name:"Extensive horizontal(include Farm and outer edges)",otLangName:{chs:"泛产横(包含花火与四周一圈等)",cht:"泛產橫(包含花火與四周一圈等)"}, function:cards=>cards.filter(card=>{ const searchTypeArray = [128,71,176]; function isRow(skill) @@ -3179,31 +3180,31 @@ const specialSearchFunctions = (function() { }) }, ]}, - {group:true,name:"======Evo type======",otLangName:{chs:"======进化类型======"}, functions: [ - {name:"No Henshin",otLangName:{chs:"非变身"}, + {group:true,name:"======Evo type======",otLangName:{chs:"======进化类型======",cht:"======進化類型======"}, functions: [ + {name:"No Henshin",otLangName:{chs:"非变身",cht:"非變身"}, function:cards=>cards.filter(card=>!card.henshinFrom && !card.henshinTo) }, - {name:"Before Henshin",otLangName:{chs:"变身前"}, + {name:"Before Henshin",otLangName:{chs:"变身前",cht:"變身前"}, function:cards=>cards.filter(card=>card.henshinTo) }, - {name:"After Henshin",otLangName:{chs:"变身后"}, + {name:"After Henshin",otLangName:{chs:"变身后",cht:"變身後"}, function:cards=>cards.filter(card=>card.henshinFrom) }, - {name:"Pixel Evo",otLangName:{chs:"像素进化"}, + {name:"Pixel Evo",otLangName:{chs:"像素进化",cht:"像素進化"}, function:cards=>cards.filter(card=>card.evoMaterials.includes(3826)) }, - {name:"8 latent grids",otLangName:{chs:"8格潜觉"}, + {name:"8 latent grids",otLangName:{chs:"8格潜觉",cht:"8格潛覺"}, function:cards=>cards.filter(card=>card.is8Latent) }, - //{name:"",otLangName:{chs:"非8格潜觉"},function:cards=>cards.filter(card=>!card.is8Latent)}, - {name:"Reincarnation/Super Re..",otLangName:{chs:"转生、超转生进化"}, + //{name:"",otLangName:{chs:"非8格潜觉",cht:"非8格潛覺"},function:cards=>cards.filter(card=>!card.is8Latent)}, + {name:"Reincarnation/Super Re..",otLangName:{chs:"转生、超转生进化",cht:"轉生、超轉生進化"}, function:cards=>cards.filter(card=>isReincarnated(card)) }, //evoBaseId可能为0 - //{name:"",otLangName:{chs:"仅超转生进化"},function:cards=>cards.filter(card=>isReincarnated(card) && !Cards[card.evoBaseId].isUltEvo)}, - {name:"Super Ult Evo",otLangName:{chs:"超究极进化"}, + //{name:"",otLangName:{chs:"仅超转生进化",cht:"僅超轉生進化"},function:cards=>cards.filter(card=>isReincarnated(card) && !Cards[card.evoBaseId].isUltEvo)}, + {name:"Super Ult Evo",otLangName:{chs:"超究极进化",cht:"超究極進化"}, function:cards=>cards.filter(card=>card.is8Latent && card.isUltEvo && !card.awakenings.includes(49)) }, - /*{name:"",otLangName:{chs:"变身前"}, + /*{name:"",otLangName:{chs:"变身前",cht:"變身前"}, function:cards=>cards.filter(card=>{ const searchType = 202; const skill = Skills[card.activeSkillId]; @@ -3215,7 +3216,7 @@ const specialSearchFunctions = (function() { } }) }, - {name:"",otLangName:{chs:"变身前后队长技保持不变"}, + {name:"",otLangName:{chs:"变身前后队长技保持不变",cht:"變身前後隊長技保持不變"}, function:cards=>cards.filter(card=>{ const searchType = 202; const skill = Skills[card.activeSkillId]; @@ -3227,57 +3228,57 @@ const specialSearchFunctions = (function() { } }) },*/ - {name:"Evo from Weapon",otLangName:{chs:"由武器进化而来"}, + {name:"Evo from Weapon",otLangName:{chs:"由武器进化而来",cht:"由武器進化而來"}, function:cards=>cards.filter(card=>card.isUltEvo && Cards[card.evoBaseId].awakenings.includes(49)) }, ]}, - {group:true,name:"======Others Search======",otLangName:{chs:"======其他搜索======"}, functions: [ - {name:"Water Att. & Attacker Type(Tanjiro)",otLangName:{chs:"攻击型或水属性(炭治郎队员)"}, + {group:true,name:"======Others Search======",otLangName:{chs:"======其他搜索======",cht:"======其他搜索======"}, functions: [ + {name:"Water Att. & Attacker Type(Tanjiro)",otLangName:{chs:"攻击型或水属性(炭治郎队员)",cht:"攻擊型或水屬性(炭治郎隊員)"}, function:cards=>cards.filter(card=>card.attrs.includes(1) || card.types.includes(6)) }, - {name:"Fire & Water Att.(Seina)",otLangName:{chs:"火属性或水属性(火车队员)"}, + {name:"Fire & Water Att.(Seina)",otLangName:{chs:"火属性或水属性(火车队员)",cht:"火屬性或水屬性(火車隊員)"}, function:cards=>cards.filter(card=>card.attrs.includes(0) || card.attrs.includes(1)) }, - {name:"Level limit unable break",otLangName:{chs:"不能突破等级限制"}, + {name:"Level limit unable break",otLangName:{chs:"不能突破等级限制",cht:"不能突破等級限制"}, function:cards=>cards.filter(card=>card.limitBreakIncr===0) }, - {name:"Raise ≥50% at lv110",otLangName:{chs:"110级三维成长≥50%"}, + {name:"Raise ≥50% at lv110",otLangName:{chs:"110级三维成长≥50%",cht:"110級三維成長≥50%"}, function:cards=>cards.filter(card=>card.limitBreakIncr>=50).sort((a,b)=>a.limitBreakIncr - b.limitBreakIncr), addition:card=>`成长${card.limitBreakIncr}%` }, - {name:"Max level is lv1",otLangName:{chs:"满级只有1级"}, + {name:"Max level is lv1",otLangName:{chs:"满级只有1级",cht:"滿級只有1級"}, function:cards=>cards.filter(card=>card.maxLevel==1) }, - {name:"Less than 100mp",otLangName:{chs:"低于100mp"}, + {name:"Less than 100mp",otLangName:{chs:"低于100mp",cht:"低於100mp"}, function:cards=>cards.filter(card=>card.sellMP<100) }, - {name:"Have 3 types",otLangName:{chs:"有3个type"}, + {name:"Have 3 types",otLangName:{chs:"有3个type",cht:"有3個type"}, function:cards=>cards.filter(card=>card.types.filter(t=>t>=0).length>=3) }, - {name:"Have 2 Attrs",otLangName:{chs:"有两个属性"}, + {name:"Have 2 Attrs",otLangName:{chs:"有两个属性",cht:"有兩個屬性"}, function:cards=>cards.filter(card=>card.attrs.filter(a=>a>=0 && a<6)) }, - {name:"2 attrs are different",otLangName:{chs:"主副属性不一致"}, + {name:"2 attrs are different",otLangName:{chs:"主副属性不一致",cht:"主副屬性不一致"}, function:cards=>cards.filter(card=>card.attrs[0]<6 && card.attrs[1]>=0 && card.attrs[0] != card.attrs[1]) }, - {name:"Will get Orbs skin",otLangName:{chs:"能获得宝珠皮肤"}, + {name:"Will get Orbs skin",otLangName:{chs:"能获得宝珠皮肤",cht:"能獲得寶珠皮膚"}, function:cards=>cards.filter(card=>card.blockSkinId>0) }, - {name:"All Latent TAMADRA",otLangName:{chs:"所有潜觉蛋龙"}, + {name:"All Latent TAMADRA",otLangName:{chs:"所有潜觉蛋龙",cht:"所有潛覺蛋龍"}, function:cards=>cards.filter(card=>card.latentAwakeningId>0).sort((a,b)=>a.latentAwakeningId-b.latentAwakeningId) }, ]}, - {group:true,name:"----- Awoken -----",otLangName:{chs:"-----觉醒类-----"}, functions: [ - {name:"Have 9 awokens",otLangName:{chs:"有9个觉醒"}, + {group:true,name:"----- Awoken -----",otLangName:{chs:"-----觉醒类-----",cht:"-----覺醒類-----"}, functions: [ + {name:"Have 9 awokens",otLangName:{chs:"有9个觉醒",cht:"有9個覺醒"}, function:cards=>cards.filter(card=>card.awakenings.length>=9) }, - {name:"Not weapon",otLangName:{chs:"不是武器"}, + {name:"Not weapon",otLangName:{chs:"不是武器",cht:"不是武器"}, function:cards=>cards.filter(card=>!card.awakenings.includes(49)) }, - {name:"Able to lv110, but no Super Awoken",otLangName:{chs:"能突破等级限制但没有超觉醒"}, + {name:"Able to lv110, but no Super Awoken",otLangName:{chs:"能突破等级限制但没有超觉醒",cht:"能突破等級限制但沒有超覺醒"}, function:cards=>cards.filter(card=>card.limitBreakIncr > 0 && card.superAwakenings.length == 0) }, - {name:"3 same Killer Awoken, or 2 with same latent",otLangName:{chs:"3个相同杀觉醒,或2个杀觉醒并可打相同潜觉"}, + {name:"3 same Killer Awoken, or 2 with same latent",otLangName:{chs:"3个相同杀觉醒,或2个杀觉醒并可打相同潜觉",cht:"3個相同殺覺醒,或2個殺覺醒並可打相同潛覺"}, function:cards=>cards.filter(card=>{ const hasAwokenKiller = typekiller_for_type.find(type=>card.awakenings.filter(ak=>ak===type.awoken).length>=2); if (hasAwokenKiller) @@ -3302,7 +3303,7 @@ const specialSearchFunctions = (function() { } }) }, - {name:"3 same Killer Awoken(include super awoken), or 2 with same latent",otLangName:{chs:"3个相同杀觉醒(含超觉),或相同潜觉"}, + {name:"3 same Killer Awoken(include super awoken), or 2 with same latent",otLangName:{chs:"3个相同杀觉醒(含超觉),或相同潜觉",cht:"3個相同殺覺醒(含超覺),或相同潛覺"}, function:cards=>cards.filter(card=>{ const hasAwokenKiller = typekiller_for_type.find(type=>card.awakenings.filter(ak=>ak===type.awoken).length+(card.superAwakenings.includes(type.awoken)?1:0)>=2); if (hasAwokenKiller) @@ -3327,7 +3328,7 @@ const specialSearchFunctions = (function() { } }) }, - {name:"4 same Killer Awoken(include super awoken), or 3 with same latent",otLangName:{chs:"4个相同杀觉醒(含超觉),或相同潜觉"}, + {name:"4 same Killer Awoken(include super awoken), or 3 with same latent",otLangName:{chs:"4个相同杀觉醒(含超觉),或相同潜觉",cht:"4個相同殺覺醒(含超覺),或相同潛覺"}, function:cards=>cards.filter(card=>{ const hasAwokenKiller = typekiller_for_type.find(type=>card.awakenings.filter(ak=>ak===type.awoken).length+(card.superAwakenings.includes(type.awoken)?1:0)>=3); if (hasAwokenKiller) @@ -3352,7 +3353,7 @@ const specialSearchFunctions = (function() { } }) }, - /*{name:"8P dedicated hostile skills",otLangName:{chs:"8P专用敌对技能"}, + /*{name:"8P dedicated hostile skills",otLangName:{chs:"8P专用敌对技能",cht:"8P專用敵對技能"}, function:cards=>cards.filter(card=>{ const searchTypeArray = [1000]; const skill = getCardActiveSkill(card, searchTypeArray);