From 93eea25a2434287c2a4b2fd37276d299d3194f4b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9E=AB=E8=B0=B7=E5=89=91=E4=BB=99?= Date: Fri, 24 Apr 2020 15:50:44 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E9=83=A8=E5=88=86=E5=A4=A7?= =?UTF-8?q?=E7=82=AE=E6=90=9C=E7=B4=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- languages/zh-CN.js | 201 ++++++++++++++++++++++++++++++++++++++++----- 1 file changed, 180 insertions(+), 21 deletions(-) diff --git a/languages/zh-CN.js b/languages/zh-CN.js index 70d84c60..cc481901 100644 --- a/languages/zh-CN.js +++ b/languages/zh-CN.js @@ -172,7 +172,7 @@ function parseSkillDescription(skill) str = `对敌方全体造成${sk[1]}的${attrN(sk[0])}属性攻击`; break; case 2: - str = `对敌方1体造成自身攻击力×${sk[0]/100}倍的伤害`; + str = `对敌方1体造成自身攻击力×${sk[0]/100}${sk[1]&&sk[1]!=sk[0]?'~'+sk[1]/100:''}倍的自身属性伤害`; break; case 3: str = `${sk[0]}回合内,受到的伤害减少${sk[1]}%`; @@ -261,7 +261,7 @@ function parseSkillDescription(skill) str = `宝珠移动和消除的声音变成太鼓达人的音效`; break; case 35: - str = `对敌方1体造成自身攻击力×${sk[0]/100}倍的伤害,并回复${sk[1]}%的 HP`; + str = `对敌方1体造成自身攻击力×${sk[0]/100}倍的自身属性伤害,并回复伤害${sk[1]}%的 HP`; break; case 36: str = `受到的${attrN(sk[0])}属性${sk[1]>=0?`和${attrN(sk[1])}属性`:""}的伤害减少${sk[2]}%`; @@ -478,7 +478,7 @@ function parseSkillDescription(skill) if (sk[2]) str += `,所有宠物的${getFixedHpAtkRcvString({atk:sk[2]})}`; break; case 110: - str = `根据余下 HP 对敌方${sk[0]?"1":"全"}体造成${attrN(sk[1])}属性伤害(100% HP 时为自身攻击力×${sk[2]/100}倍,1 HP 时为自身攻击力×${sk[3]/100}倍)`; + str = `根据余下 HP 对敌方${sk[0] || "全"}体造成${attrN(sk[1])}属性伤害(100% HP 时为自身攻击力×${sk[2]/100}倍,1 HP 时为自身攻击力×${sk[3]/100}倍)`; break; //case 111: 在45 case 115: @@ -654,7 +654,7 @@ function parseSkillDescription(skill) str = `对敌方全体造成队伍总 HP×${sk[0]/100}倍的${attrN(sk[1])}属性伤害`; break; case 144: - str = `对敌方${sk[2]?sk[2]:"全"}体造成${nb(sk[0],attrsName).join("、")}属性总攻击力×${sk[1]/100}倍的${attrN(sk[3])}属性伤害`; + str = `对敌方${sk[2] || "全"}体造成${nb(sk[0],attrsName).join("、")}属性总攻击力×${sk[1]/100}倍的${attrN(sk[3])}属性伤害`; break; case 145: str = `回复队伍总回复力×${sk[0]/100}倍的 HP`; @@ -2217,6 +2217,32 @@ function parseBigNumber(number) b_s.params.map(id=>Skills[id]).find(subskill => subskill.type == searchType).params[0]; return a_pC - b_pC; })}, + {name:"单体固伤(按总伤害排序)",function:cards=>cards.filter(card=>{ + const searchTypeArray = [55,188]; + const skill = Skills[card.activeSkillId]; + if (searchTypeArray.includes(skill.type)) + return true; + else if (skill.type == 116 || skill.type == 118){ + const subskills = skill.params.map(id=>Skills[id]); + return subskills.some(subskill=>searchTypeArray.includes(subskill.type)); + } + }).sort((a,b)=>{ + const searchTypeArray = [55,188]; + const a_s = Skills[a.activeSkillId], b_s = Skills[b.activeSkillId]; + let a_pC = 0,b_pC = 0; + function totalDamage(skill) + { + const subSkill = skill.params.map(id=>Skills[id]).find(subskill => searchTypeArray.includes(subskill.type)); + return subSkill.params[0] * skill.params.filter(p=>p==subSkill.id).length; + } + a_pC = searchTypeArray.includes(a_s.type) ? + a_s.params[0] : + totalDamage(a_s); + b_pC = searchTypeArray.includes(b_s.type) ? + b_s.params[0] : + totalDamage(b_s); + return a_pC - b_pC; + })}, {name:"全体固伤(按伤害数排序)",function:cards=>cards.filter(card=>{ const searchType = 56; const skill = Skills[card.activeSkillId]; @@ -2238,8 +2264,47 @@ function parseBigNumber(number) b_s.params.map(id=>Skills[id]).find(subskill => subskill.type == searchType).params[0]; return a_pC - b_pC; })}, - {name:"单体固伤(按总伤害排序)",function:cards=>cards.filter(card=>{ - const searchTypeArray = [55,188]; + {name:"单体大炮",function:cards=>cards.filter(card=>{ + const searchTypeArray = [2,35,37,59,84,86,110,115,144]; + const skill = Skills[card.activeSkillId]; + function isSingle(skill) + { + if (skill.type == 110) + return Boolean(skill.params[0]); + else if (skill.type == 114) + return Boolean(skill.params[2]); + else + return true; + } + if (searchTypeArray.includes(skill.type) && isSingle(skill)) + return true; + else if (skill.type == 116 || skill.type == 118){ + const subskills = skill.params.map(id=>Skills[id]); + return subskills.some(subskill=>searchTypeArray.includes(subskill.type) && isSingle(subskill)); + } + })}, + {name:"全体大炮",function:cards=>cards.filter(card=>{ + const searchTypeArray = [0,1,58,85,87,110,143,144]; + const skill = Skills[card.activeSkillId]; + function isAll(skill) + { + if (skill.id == 0 ) return false; + if (skill.type == 110) + return !Boolean(skill.params[0]); + else if (skill.type == 114) + return !Boolean(skill.params[2]); + else + return true; + } + if (searchTypeArray.includes(skill.type) && isAll(skill)) + return true; + else if (skill.type == 116 || skill.type == 118){ + const subskills = skill.params.map(id=>Skills[id]); + return subskills.some(subskill=>searchTypeArray.includes(subskill.type) && isAll(subskill)); + } + })}, + {name:"自身攻击倍率指定属性伤害(全体)",function:cards=>cards.filter(card=>{ + const searchTypeArray = [0,58,85]; const skill = Skills[card.activeSkillId]; if (searchTypeArray.includes(skill.type)) return true; @@ -2247,22 +2312,116 @@ function parseBigNumber(number) const subskills = skill.params.map(id=>Skills[id]); return subskills.some(subskill=>searchTypeArray.includes(subskill.type)); } - }).sort((a,b)=>{ - const searchTypeArray = [55,188]; - const a_s = Skills[a.activeSkillId], b_s = Skills[b.activeSkillId]; - let a_pC = 0,b_pC = 0; - function totalDamage(skill) - { - const subSkill = skill.params.map(id=>Skills[id]).find(subskill => searchTypeArray.includes(subskill.type)); - return subSkill.params[0] * skill.params.filter(p=>p==subSkill.id).length; + })}, + {name:"固定值指定属性伤害(全体)",function:cards=>cards.filter(card=>{ + const searchTypeArray = [1,87]; + const skill = Skills[card.activeSkillId]; + if (searchTypeArray.includes(skill.type)) + return true; + else if (skill.type == 116 || skill.type == 118){ + const subskills = skill.params.map(id=>Skills[id]); + return subskills.some(subskill=>searchTypeArray.includes(subskill.type)); + } + })}, + {name:"固定值指定属性伤害(单体)",function:cards=>cards.filter(card=>{ + const searchTypeArray = [86]; + const skill = Skills[card.activeSkillId]; + if (searchTypeArray.includes(skill.type)) + return true; + else if (skill.type == 116 || skill.type == 118){ + const subskills = skill.params.map(id=>Skills[id]); + return subskills.some(subskill=>searchTypeArray.includes(subskill.type)); + } + })}, + {name:"自身攻击倍率自身属性伤害(单体)",function:cards=>cards.filter(card=>{ + const searchTypeArray = [2]; + const skill = Skills[card.activeSkillId]; + if (searchTypeArray.includes(skill.type)) + return true; + else if (skill.type == 116 || skill.type == 118){ + const subskills = skill.params.map(id=>Skills[id]); + return subskills.some(subskill=>searchTypeArray.includes(subskill.type)); + } + })}, + {name:"造成敌方伤害后吸血",function:cards=>cards.filter(card=>{ + const searchTypeArray = [35,115]; + const skill = Skills[card.activeSkillId]; + if (searchTypeArray.includes(skill.type)) + return true; + else if (skill.type == 116 || skill.type == 118){ + const subskills = skill.params.map(id=>Skills[id]); + return subskills.some(subskill=>searchTypeArray.includes(subskill.type)); + } + })}, + {name:"自身攻击倍率自身属性伤害并吸血(单体)",function:cards=>cards.filter(card=>{ + const searchTypeArray = [35]; + const skill = Skills[card.activeSkillId]; + if (searchTypeArray.includes(skill.type)) + return true; + else if (skill.type == 116 || skill.type == 118){ + const subskills = skill.params.map(id=>Skills[id]); + return subskills.some(subskill=>searchTypeArray.includes(subskill.type)); + } + })}, + {name:"自身攻击倍率指定属性伤害(单体)",function:cards=>cards.filter(card=>{ + const searchTypeArray = [37,59,84]; + const skill = Skills[card.activeSkillId]; + if (searchTypeArray.includes(skill.type)) + return true; + else if (skill.type == 116 || skill.type == 118){ + const subskills = skill.params.map(id=>Skills[id]); + return subskills.some(subskill=>searchTypeArray.includes(subskill.type)); + } + })}, + {name:"自身攻击倍率指定属性伤害并吸血(单体)",function:cards=>cards.filter(card=>{ + const searchTypeArray = [115]; + const skill = Skills[card.activeSkillId]; + if (searchTypeArray.includes(skill.type)) + return true; + else if (skill.type == 116 || skill.type == 118){ + const subskills = skill.params.map(id=>Skills[id]); + return subskills.some(subskill=>searchTypeArray.includes(subskill.type)); + } + })}, + {name:"对指定属性造成固定值指定属性伤害",function:cards=>cards.filter(card=>{ + const searchTypeArray = [42]; + const skill = Skills[card.activeSkillId]; + if (searchTypeArray.includes(skill.type)) + return true; + else if (skill.type == 116 || skill.type == 118){ + const subskills = skill.params.map(id=>Skills[id]); + return subskills.some(subskill=>searchTypeArray.includes(subskill.type)); + } + })}, + {name:"根据血量造成指定属性伤害",function:cards=>cards.filter(card=>{ + const searchTypeArray = [110]; + const skill = Skills[card.activeSkillId]; + if (searchTypeArray.includes(skill.type)) + return true; + else if (skill.type == 116 || skill.type == 118){ + const subskills = skill.params.map(id=>Skills[id]); + return subskills.some(subskill=>searchTypeArray.includes(subskill.type)); + } + })}, + {name:"根据队伍总血量造成指定属性伤害",function:cards=>cards.filter(card=>{ + const searchTypeArray = [143]; + const skill = Skills[card.activeSkillId]; + if (searchTypeArray.includes(skill.type)) + return true; + else if (skill.type == 116 || skill.type == 118){ + const subskills = skill.params.map(id=>Skills[id]); + return subskills.some(subskill=>searchTypeArray.includes(subskill.type)); + } + })}, + {name:"根据队伍属性总攻击造成指定属性伤害",function:cards=>cards.filter(card=>{ + const searchTypeArray = [144]; + const skill = Skills[card.activeSkillId]; + if (searchTypeArray.includes(skill.type)) + return true; + else if (skill.type == 116 || skill.type == 118){ + const subskills = skill.params.map(id=>Skills[id]); + return subskills.some(subskill=>searchTypeArray.includes(subskill.type)); } - a_pC = searchTypeArray.includes(a_s.type) ? - a_s.params[0] : - totalDamage(a_s); - b_pC = searchTypeArray.includes(b_s.type) ? - b_s.params[0] : - totalDamage(b_s); - return a_pC - b_pC; })}, {name:"-----大炮有些复杂我没空做-----",function:cards=>cards}, {name:"======队长技======",function:cards=>cards},