目前暂定默认用中文的技能解析

This commit is contained in:
枫谷剑仙 2021-08-15 04:57:46 +08:00
parent 168de7ecf3
commit 97cb878c9e
5 changed files with 204 additions and 35 deletions

View File

@ -101,7 +101,7 @@
scale_match_length_bonus: tp`, ${'bonus'} per orbs additionalup to ${'stats_max'} for ${'max'} 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`,
scale_state_kind_count: tp`${'stats'} for each [${'awakenings'}${'attrs'}${'types'}] in team`,
},
cond: {
unknown: tp`[ Unknown condition ]`,
@ -232,6 +232,90 @@
[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);

View File

@ -66,7 +66,7 @@ function parseSkillDescription(skill) {
//类型名数组
const typeName = ["进化", "平衡", "体力", "回复", "龙", "神", "攻击", "恶魔", "机械", "特别保护", "10", "11", "觉醒", "13", "强化", "卖钱"];
//觉醒名数组
const awokenName = ["HP+", "攻击+", "回复+", "火盾", "水盾", "木盾", "光盾", "暗盾", "自回", "防封", "防暗", "防废", "防毒", "火+", "水+", "木+", "光+", "暗+", "手指", "心解", "SB", "火横", "水横", "木横", "光横", "暗横", "U", "SX", "心+", "协力", "龙杀", "神杀", "恶魔杀", "机杀", "平衡杀", "攻击杀", "体力杀", "回复杀", "进化杀", "觉醒杀", "强化杀", "卖钱杀", "7c", "5色破防", "心追", "全体 HP ", "全体回复", "破无效", "武器觉醒", "方块心追", "5色溜", "大防封", "大手指", "防云", "防封条", "大SB", "满血强化", "下半血强化", "L盾", "L解锁", "10c", "c珠", "语音", "奖励增加", " HP -", "攻击-", "回复-", "大防暗", "大防废", "大防毒", "掉废", "掉毒", "2串火", "2串水", "2串木", "2串光", "2串暗"];
const awokenName = ["HP+", "攻击+", "回复+", "火盾", "水盾", "木盾", "光盾", "暗盾", "自回", "防封", "防暗", "防废", "防毒", "火+", "水+", "木+", "光+", "暗+", "手指", "心解", "SB", "火横", "水横", "木横", "光横", "暗横", "U", "SX", "心+", "协力", "龙杀", "神杀", "恶魔杀", "机杀", "平衡杀", "攻击杀", "体力杀", "回复杀", "进化杀", "觉醒杀", "强化杀", "卖钱杀", "7c", "5色破防", "心追", "全体 HP ", "全体回复", "破无效", "武器", "方块心追", "5色溜", "大防封", "大手指", "防云", "防封条", "大SB", "上血", "下血", "L盾", "L解锁", "10c", "c珠", "语音", "奖励增加", " HP -", "攻击-", "回复-", "大防暗", "大防废", "大防毒", "掉废", "掉毒", "火串", "水串", "木串", "光串", "暗串", "十字", "3色", "4色", "5色"];
const ClumsN = ["左边第1竖列", "左边第2竖列", "左边第3竖列", "右边第3竖列", "右边第2竖列", "右边第1竖列"];
const RowsN = ["最上1横行", "上方第2横行", "下方第3横行", "下方第2横行", "最下1横行"];
//返回属性名

View File

@ -114,7 +114,7 @@ let localTranslating = {
scale_match_length_bonus: tp`每多1个${'bonus'},最大${'max'}个时${'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'}`,
scale_state_kind_count: tp`以队伍中[${'awakenings'}${'attrs'}${'types'}]的数量提升,每个${'stats'}`,
},
cond: {
unknown: tp`[ 未知条件 ]`,
@ -244,6 +244,90 @@ let localTranslating = {
[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色`,
}
},
}

View File

@ -1829,7 +1829,7 @@ function renderAttrs(attrs, option = {}) {
const icon = document.createElement("icon");
icon.className = "attr";
icon.setAttribute("data-attr-icon",attr);
return tsp.attrs[attr]({icon: icon});
return tsp.attrs?.[attr]({icon: icon});
})
.nodeJoin(tsp.word.slight_pause());
}
@ -1874,10 +1874,7 @@ function renderOrbs(attrs, option = {}) {
icon: icon,
}
if (attr == 'variation') dict.time = renderValue(v.constant(option.time), {unit: tsp.unit.seconds}) ;
if (tsp.orbs[attr])
return tsp.orbs[attr](dict);
else
console.error(attr,'未知宝珠')
return tsp.orbs?.[attr](dict);
})
.nodeJoin(tsp.word.slight_pause());
}
@ -1896,14 +1893,16 @@ function renderTypes(types, option = {}) {
if (typeof localTranslating == "undefined") return frg;
const tsp = localTranslating.skill_parse;
const contentFrg = types.map(type => {
let contentFrg = types.map(type => {
const icon = document.createElement("icon");
icon.className = "type";
icon.setAttribute("data-type-icon",type);
return tsp.types[type]({icon: icon});
return tsp.types?.[type]({icon: icon});
})
.nodeJoin(tsp.word.slight_pause());
frg.ap(option.affix ? tsp.word.affix_type({cotent: contentFrg}) : contentFrg);
if (option.affix)
contentFrg = tsp.word.affix_type({cotent: contentFrg});
frg.ap(contentFrg);
return frg;
}
@ -1914,14 +1913,16 @@ function renderAwakenings(awakenings, option = {}) {
if (typeof localTranslating == "undefined") return frg;
const tsp = localTranslating.skill_parse;
const contentFrg = awakenings.map(awoken => {
let contentFrg = awakenings.map(awoken => {
const icon = document.createElement("icon");
icon.className = "awoken-icon";
icon.setAttribute("data-awoken-icon",awoken);
return icon;
return tsp.awokens?.[awoken]({icon: icon});
})
.nodeJoin(tsp.word.slight_pause());
frg.ap(option.affix ? tsp.word.affix_awakening({cotent: contentFrg}) : contentFrg);
if (option.affix)
contentFrg = tsp.word.affix_awakening({cotent: contentFrg});
frg.ap(contentFrg);
return frg;
}

View File

@ -724,21 +724,21 @@ ${navigator.userAgent}`);
const showMonSkillCd_id = "show-mon-skill-cd";
const btnShowMonSkillCd = controlBox.querySelector(`#btn-${showMonSkillCd_id}`);
btnShowMonSkillCd.checked = Boolean(Number(localStorage.getItem(cfgPrefix + showMonSkillCd_id)));
btnShowMonSkillCd.onclick = function(){
btnShowMonSkillCd.onclick = function(e){
toggleDomClassName(this, showMonSkillCd_id);
localStorage.setItem(cfgPrefix + showMonSkillCd_id, Number(this.checked));
if (e) localStorage.setItem(cfgPrefix + showMonSkillCd_id, Number(this.checked));
};
btnShowMonSkillCd.onclick();
btnShowMonSkillCd.onclick(false);
//记录显示觉醒开关的状态
const showMonAwoken_id = "show-mon-awoken";
const btnShowMonAwoken = controlBox.querySelector(`#btn-${showMonAwoken_id}`);
btnShowMonAwoken.checked = Boolean(Number(localStorage.getItem(cfgPrefix + showMonAwoken_id)));
btnShowMonAwoken.onclick = function(){
btnShowMonAwoken.onclick = function(e){
toggleDomClassName(this, showMonAwoken_id);
localStorage.setItem(cfgPrefix + showMonAwoken_id, Number(this.checked));
if (e) localStorage.setItem(cfgPrefix + showMonAwoken_id, Number(this.checked));
};
btnShowMonAwoken.onclick();
btnShowMonAwoken.onclick(false);
toggleDomClassName(controlBox.querySelector("#btn-show-awoken-count"), 'not-show-awoken-count', false);
@ -2299,8 +2299,8 @@ function initialize() {
const officialSortingClassName = 'show-official-awoken-sorting';
const s_showOfficialAwokenSorting = searchBox.querySelector(`#${officialSortingClassName}`); //显示官方排序的觉醒
s_showOfficialAwokenSorting.onchange = function(){
localStorage.setItem(cfgPrefix + officialSortingClassName, Number(this.checked));
s_showOfficialAwokenSorting.onchange = function(e){
if (e) localStorage.setItem(cfgPrefix + officialSortingClassName, Number(this.checked));
let fragmentAwoken = document.createDocumentFragment();
let fragmentSawoken = document.createDocumentFragment();
const awokenSorting = this.checked ? official_awoken_sorting : s_awokensUl.originalSorting;
@ -2326,7 +2326,7 @@ function initialize() {
s_sawokensUl.appendChild(fragmentSawoken);
};
s_showOfficialAwokenSorting.checked = Boolean(Number(localStorage.getItem(cfgPrefix + officialSortingClassName)));
s_showOfficialAwokenSorting.onchange();
s_showOfficialAwokenSorting.onchange(false);
const s_selectedAwokensUl = searchBox.querySelector(".selected-awokens");
function search_awokenAdd1() {
@ -2673,12 +2673,12 @@ function initialize() {
//输入id数字即时更新的开关
const realTimeClassName = 'real-time-change-card';
const s_realTimeChangeCard = settingBox.querySelector(`#${realTimeClassName}`);
s_realTimeChangeCard.onchange = function() {
s_realTimeChangeCard.onchange = function(e) {
monstersID.oninput = this.checked ? idChange : null;
localStorage.setItem(cfgPrefix + realTimeClassName, Number(this.checked));
if (e) localStorage.setItem(cfgPrefix + realTimeClassName, Number(this.checked));
}
s_realTimeChangeCard.checked = Boolean(Number(localStorage.getItem(cfgPrefix + realTimeClassName)));
s_realTimeChangeCard.onchange();
s_realTimeChangeCard.onchange(false);
//字符串搜索
btnSearchByString.onclick = function() {
@ -2815,12 +2815,12 @@ function initialize() {
};
const hideClassName = 'hide-less-use-latent';
const s_hideLessUseLetent = settingBox.querySelector(`#${hideClassName}`);
s_hideLessUseLetent.onchange = function() {
s_hideLessUseLetent.onchange = function(e) {
toggleDomClassName(this, hideClassName, true, monEditLatentAllowableUl);
localStorage.setItem(cfgPrefix + hideClassName, Number(this.checked));
if (e) localStorage.setItem(cfgPrefix + hideClassName, Number(this.checked));
}
s_hideLessUseLetent.checked = Boolean(Number(localStorage.getItem(cfgPrefix + hideClassName)));
s_hideLessUseLetent.onchange();
s_hideLessUseLetent.onchange(false);
const rowSkill = settingBox.querySelector(".row-mon-skill");
const skillBox = rowSkill.querySelector(".skill-box");
@ -2853,8 +2853,8 @@ function initialize() {
const leaderSkillBox = rowLeaderSkill.querySelector(".skill-box");
const showSkillOriginalClassName = 'show-skill-original';
const showSkillOriginal = leaderSkillBox.querySelector(`#${showSkillOriginalClassName}`); //显示官方排序的觉醒
showSkillOriginal.onchange = function(){
localStorage.setItem(cfgPrefix + showSkillOriginalClassName, Number(this.checked));
showSkillOriginal.onchange = function(e){
if (e) localStorage.setItem(cfgPrefix + showSkillOriginalClassName, Number(this.checked));
if (this.checked)
{
skillBox.classList.add(showSkillOriginalClassName);
@ -2866,7 +2866,7 @@ function initialize() {
}
};
showSkillOriginal.checked = Boolean(Number(localStorage.getItem(cfgPrefix + showSkillOriginalClassName)));
showSkillOriginal.onchange();
showSkillOriginal.onchange(false);
editBox.refreshSkillParse = function(skp, lskp){
const skillDetailParsed = skp ?? skillBox.querySelector(".skill-datail-parsed");
@ -2883,13 +2883,13 @@ function initialize() {
const mergeSillClassName = 'merge-skill';
const mergeSill = leaderSkillBox.querySelector(`#${mergeSillClassName}`); //显示官方排序的觉醒
mergeSill.onchange = function(){
localStorage.setItem(cfgPrefix + mergeSillClassName, Number(this.checked));
mergeSill.onchange = function(e){
if (e) localStorage.setItem(cfgPrefix + mergeSillClassName, Number(this.checked));
merge_skill = this.checked;
editBox.refreshSkillParse();
};
mergeSill.checked = Boolean(Number(localStorage.getItem(cfgPrefix + mergeSillClassName)));
mergeSill.onchange();
mergeSill.onchange(false);
//已有觉醒的去除