新队长技能解析
This commit is contained in:
parent
88b5c2b743
commit
c2154bce1f
|
@ -190,6 +190,7 @@ const _localTranslating = {
|
|||
|
||||
L_shape: tp`以L字形式消除5个${'orbs'}时`,
|
||||
heal: tp`以${'orbs'}回复${'heal'}${'stats'}时`,
|
||||
awakening_activated: tp`${'awakenings'}同时发动时`,
|
||||
},
|
||||
position: {
|
||||
top: tp`上方第${'pos'}横行`,
|
||||
|
|
|
@ -189,6 +189,7 @@ const _localTranslating = {
|
|||
|
||||
L_shape: tp`以L字形式消除5個${'orbs'}時`,
|
||||
heal: tp`以${'orbs'}回復${'heal'}${'stats'}時`,
|
||||
awakening_activated: tp`${'awakenings'}同時發動時`,
|
||||
},
|
||||
position: {
|
||||
top: tp`上方第${'pos'}橫行`,
|
||||
|
|
|
@ -205,6 +205,7 @@ let localTranslating = {
|
|||
|
||||
L_shape: tp`When matching an L shape of 5 ${'orbs'} `,
|
||||
heal: tp`When healing at least ${'heal'} ${'stats'} with ${'orbs'} `,
|
||||
awakening_activated: tp`When ${'awakenings'} activated at the same time `,
|
||||
},
|
||||
position: {
|
||||
top: tp`${'pos'} of top rows`,
|
||||
|
@ -283,7 +284,7 @@ let localTranslating = {
|
|||
affix_attr: tp`${'cotent'} attr.`,
|
||||
affix_orb: tp`${'cotent'} orbs`,
|
||||
affix_type: tp`${'cotent'} types`,
|
||||
affix_awakening: tp`${'cotent'} awoken`,
|
||||
affix_awakening: tp`${'cotent'} awakenings`,
|
||||
affix_exclude: tp`, exclude ${'cotent'}`,
|
||||
each_time: tp`each time `,
|
||||
different: tp`different`,
|
||||
|
@ -763,6 +764,7 @@ const specialSearchFunctions = (function() {
|
|||
case 151: //十字心触发
|
||||
case 169: //C触发
|
||||
case 198: //回血触发
|
||||
case 271: //激活觉醒触发
|
||||
scale = sk[2]/100;
|
||||
break;
|
||||
case 170: //多色触发
|
||||
|
|
|
@ -876,14 +876,15 @@ const c = {
|
|||
useSkill: function (times = 1) { return { useSkill: times }; },
|
||||
multiplayer: function () { return { multiplayer: true }; },
|
||||
prob: function (percent) { return { prob: percent }; },
|
||||
LShape: function (attrs) { return { LShape: { attrs: attrs } }; },
|
||||
heal: function (min) { return { heal: { min: min } }; },
|
||||
stage: function (min, max) {
|
||||
return { stage: { min: min ?? 0, max: max ?? 0 } };
|
||||
LShape: function (attrs) { return { LShape: { attrs } }; },
|
||||
heal: function (min) { return { heal: { min } }; },
|
||||
stage: function (min=0, max=0) {
|
||||
return { stage: { min, max } };
|
||||
},
|
||||
remainAttrOrbs: function (attrs, min, max) {
|
||||
return { remainAttrOrbs: { attrs, min, max} };
|
||||
},
|
||||
awakeningActivated: function (awakenings) { return { awakeningActivated: { awakenings } }; },
|
||||
}
|
||||
|
||||
const p = {
|
||||
|
@ -1776,6 +1777,28 @@ const skillObjectParsers = {
|
|||
},
|
||||
//一回合内使用几次技能才有倍率的队长技。
|
||||
[270](times, atk, rcv) { { return powerUp(Bin.unflags(31), null, p.mul({ atk: atk || 100, rcv: rcv || 100 }), c.useSkill(times)); } },
|
||||
//同时发动觉醒时强化
|
||||
[271](awakenings, atk, reducePercent, combo, damage, rcv) {
|
||||
const awakeningsType = [
|
||||
27, //U-猜的
|
||||
48, //九宫-猜的
|
||||
60, //L字
|
||||
78, //十字-猜的
|
||||
126, //T字
|
||||
22, //横排-猜的
|
||||
23,
|
||||
24,
|
||||
25,
|
||||
26,
|
||||
79, //三色
|
||||
80, //四色
|
||||
81, //五色-猜的
|
||||
82, //饼干-猜的
|
||||
];
|
||||
const awakeningsArr = Bin.unflags(awakenings).map(n => awakeningsType[n]);
|
||||
let additional = [combo ? addCombo(combo) : null, damage ? followAttackFixed(damage) : null].filter(Boolean);
|
||||
return powerUp(null, null, p.mul({ atk: atk, rcv: rcv}), c.awakeningActivated(awakeningsArr), v.percent(reducePercent), additional);
|
||||
},
|
||||
//固定起手位置
|
||||
[273](turns) {return activeTurns(turns, fixedStartingPosition()); },
|
||||
|
||||
|
@ -3247,6 +3270,11 @@ function renderCondition(cond) {
|
|||
frg.ap(tsp.cond.orbs_greater_or_equal(dict));
|
||||
else if (cond.remainAttrOrbs.max > 0)
|
||||
frg.ap(tsp.cond.orbs_less_or_equal(dict));
|
||||
} else if (cond.awakeningActivated) {
|
||||
let dict = {
|
||||
awakenings: renderAwakenings(cond.awakeningActivated.awakenings, {affix: true}),
|
||||
};
|
||||
frg.ap(tsp.cond.awakening_activated(dict));
|
||||
} else {
|
||||
frg.ap(tsp.cond.unknown());
|
||||
}
|
||||
|
|
|
@ -1632,12 +1632,13 @@ function henshinBase(cardid, firstId)
|
|||
}
|
||||
//计算卡片队长技+C
|
||||
function getSkillAddCombo(card) {
|
||||
const searchTypeArray = [192, 194, 206, 209, 210, 219, 220, 235];
|
||||
const searchTypeArray = [192, 194, 206, 209, 210, 219, 220, 235, 271];
|
||||
const skills = getCardLeaderSkills(card, searchTypeArray);
|
||||
return skills.map(skill=>{
|
||||
switch (skill.type) {
|
||||
case 192:
|
||||
case 194:
|
||||
case 271:
|
||||
return skill.params[3] ?? 0;
|
||||
case 206:
|
||||
return skill.params[6] ?? 0;
|
||||
|
@ -1657,7 +1658,7 @@ function getSkillAddCombo(card) {
|
|||
}
|
||||
//计算卡片队长技追打
|
||||
function getSkillFixedDamage(card) {
|
||||
const searchTypeArray = [199, 200, 201, 223, 235];
|
||||
const searchTypeArray = [199, 200, 201, 223, 235, 271];
|
||||
const skills = getCardLeaderSkills(card, searchTypeArray);
|
||||
return skills.map(skill=>{
|
||||
switch (skill.type) {
|
||||
|
@ -1670,6 +1671,8 @@ function getSkillFixedDamage(card) {
|
|||
return skill.params[1] ?? 0;
|
||||
case 235:
|
||||
return skill.params[6] ?? 0;
|
||||
case 271:
|
||||
return skill.params[4] ?? 0;
|
||||
default:
|
||||
return 0;
|
||||
}
|
||||
|
@ -1975,7 +1978,7 @@ function getAttrShieldAwokenReduceScales(team) {
|
|||
}
|
||||
//获取盾减伤比例组
|
||||
function getReduceScales(leaderid) {
|
||||
const searchTypeArray = [16, 17, 36, 38, 43, 129, 163, 130, 131, 178, 151, 169, 198, 170, 182, 193, 171, 183, 235];
|
||||
const searchTypeArray = [16, 17, 36, 38, 43, 129, 163, 130, 131, 178, 151, 169, 198, 170, 182, 193, 171, 183, 235, 271];
|
||||
const lss = getCardLeaderSkills(Cards[leaderid], searchTypeArray);
|
||||
|
||||
function leaderReduceScale(ls) {
|
||||
|
@ -2056,6 +2059,7 @@ function getReduceScales(leaderid) {
|
|||
case 151: //十字心触发
|
||||
case 169: //C触发
|
||||
case 198: //回血触发
|
||||
case 271: //激活觉醒触发
|
||||
reduce.scale = (sk[2] || 0) / 100;
|
||||
break;
|
||||
case 170: //多色触发
|
||||
|
|
|
@ -47623,15 +47623,15 @@ const cachesMap = new Map([
|
|||
],
|
||||
[
|
||||
"script-json_data.js",
|
||||
"59077aadbc452b15c8780a90868c3604"
|
||||
"884c04445baf17f77fc701314e4d17de"
|
||||
],
|
||||
[
|
||||
"script-skill-parser.js",
|
||||
"228086552199fc6bb7eea0fe64f5feea"
|
||||
"6028d746baee2c5266706c9cc405f984"
|
||||
],
|
||||
[
|
||||
"script-universal_function.js",
|
||||
"74aa71916cf95d943fab1ce6476ddabb"
|
||||
"d415679261b7c182cd1ecae2adb003a3"
|
||||
],
|
||||
[
|
||||
"script.js",
|
||||
|
@ -47651,7 +47651,7 @@ const cachesMap = new Map([
|
|||
],
|
||||
[
|
||||
"style.css",
|
||||
"773b820fdbe75de69dbca40cd36f2fe6"
|
||||
"a6033f196d006d83c07fa431eb78d057"
|
||||
],
|
||||
[
|
||||
"temp.js",
|
||||
|
@ -47695,7 +47695,7 @@ const cachesMap = new Map([
|
|||
],
|
||||
[
|
||||
"languages/zh-hans.js",
|
||||
"92cc36747ac4440bdc45a1eba6ab4be7"
|
||||
"b383afb22425f7874a3a1c109551d478"
|
||||
],
|
||||
[
|
||||
"languages/zh-hant.css",
|
||||
|
@ -47703,7 +47703,7 @@ const cachesMap = new Map([
|
|||
],
|
||||
[
|
||||
"languages/zh-hant.js",
|
||||
"04f96537a27ece89005f42da68735431"
|
||||
"9ecee6c2178fe3676700b33caf92c640"
|
||||
],
|
||||
[
|
||||
"images/attrs.png",
|
||||
|
@ -47855,7 +47855,7 @@ const cachesMap = new Map([
|
|||
],
|
||||
[
|
||||
"images/icon-skills.png",
|
||||
"df43e89a902a603d16cc6cc4f77d25d2"
|
||||
"555ebb1eec7b8890b0af77c9f4353c4d"
|
||||
],
|
||||
[
|
||||
"images/icon-switch-leader.png",
|
||||
|
|
Loading…
Reference in New Issue