新队长技能解析

This commit is contained in:
枫谷剑仙 2025-04-18 17:10:28 +08:00
parent 88b5c2b743
commit c2154bce1f
6 changed files with 51 additions and 15 deletions

View File

@ -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'}横行`,

View File

@ -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'}橫行`,

View File

@ -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: //多色触发

View File

@ -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());
}

View File

@ -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: //多色触发

View File

@ -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",