1、修订封条的技能解析

2、加入76版面主动技的搜索
This commit is contained in:
枫谷剑仙 2022-10-20 21:13:35 +08:00
parent 51d809b385
commit 1ccab7bfec
7 changed files with 43 additions and 23 deletions

View File

@ -93,7 +93,7 @@
使用顶部的开关可以切换到复制模式<br>
Use the switch at the top can switch to copy mode.
</li>
<li>如果你希望使用技能切换队长使用切换按钮。这样可以保留原始队长强调边框和76面图标。<br>
<li>如果你希望使用技能切换队长使用切换按钮。这样可以保留原始队长强调边框和76面图标。<br>
If you want switch leader by skill, use the switch button. This preserves the original leader accent border,
and the 76 board icon.<br>
<img src="images/tips-switch-leader.png" alt="切换位置">

View File

@ -445,7 +445,7 @@ function parseSkillDescription(skill) {
dataArray.push(valueArray.splice(Math.randomInteger(valueArray.length - 1),1));
}
//创建面数据,依次填入
//创建面数据,依次填入
var data = new Array(5).fill(null).map(()=>new Array(6).fill(null));
let da = dataArray.entries();
@ -914,7 +914,7 @@ function parseSkillDescription(skill) {
str = `造成敌人 HP 上限${sk[0]}%的伤害`;
break;
case 162:
str = '<span class="spColor">【7×6面】</span>';
str = '<span class="spColor">【7×6面】</span>';
break;
case 163:
str = '<span class="spColor">【没有天降消除】</span>';
@ -1245,7 +1245,7 @@ function parseSkillDescription(skill) {
if (sk[0]) str += `,操作时间${sk[0]>0?`延长`:`减少`}${Math.abs(sk[0]/100)}`;
break;
case 186:
str = '<span class="spColor">【7×6面】</span>';
str = '<span class="spColor">【7×6面】</span>';
if (sk[0] || sk[1]) str += getAttrTypeString(flags(sk[0]),flags(sk[1])) + "宠物的" + getFixedHpAtkRcvString({hp:sk[2],atk:sk[3],rcv:sk[4]});
break;
case 188: //多次单体固伤

View File

@ -99,7 +99,7 @@
obstruct_opponent_designated_position: tp`${'positions'}排位的對手`,
increase_damage_cap: tp`${'targets'}${'icon'}傷害上限提升到${'cap'}`,
board_jamming_state: tp`${'position'}生成${'icon'}${'state'}${'size'}${'count'}${'time'}`,
board_size_change: tp`面大小改變為${'icon'}${'size'}`,
board_size_change: tp`面大小改變為${'icon'}${'size'}`,
},
power: {
unknown: tp`[ 未知能力提升: ${'type'} ]`,

View File

@ -99,7 +99,7 @@
obstruct_opponent_designated_position: tp`${'positions'}排位的对手`,
increase_damage_cap: tp`${'targets'}${'icon'}伤害上限提升到${'cap'}`,
board_jamming_state: tp`${'position'}生成${'icon'}${'state'}${'size'}${'count'}${'time'}`,
board_size_change: tp`面大小改变为${'icon'}${'size'}`,
board_size_change: tp`面大小改变为${'icon'}${'size'}`,
},
power: {
unknown: tp`[ 未知能力提升: ${'type'} ]`,

View File

@ -2442,6 +2442,26 @@ const specialSearchFunctions = (function() {
return fragment;
}
},
{name:"Change Board Size",otLangName:{chs:"改变板面大小",cht:"改變板面大小"},
function:cards=>{
const searchTypeArray = [244];
return cards.filter(card=>{
const skill = getCardActiveSkill(card, searchTypeArray);
return skill;
}).sort((a,b)=>sortByParams(a,b,searchTypeArray));
},
addition:card=>{
const searchTypeArray = [244];
const skill = getCardActiveSkill(card, searchTypeArray);
if (!skill) return;
const sk = skill.params;
if (sk[1])
return `[7×6]×${sk[0]}T`;
else
return `[6×5]×${sk[0]}T`;
}
},
]},
{group:true,name:"-----Orbs States Change-----",otLangName:{chs:"-----改变宝珠状态类-----",cht:"-----改變寶珠狀態類-----"}, functions: [
{name:"Unlock",otLangName:{chs:"解锁",cht:"解鎖"},
@ -3089,14 +3109,14 @@ const specialSearchFunctions = (function() {
{name:"Type Enchantment",otLangName:{chs:"类型增强",cht:"類型增强"},
function:cards=>cards.filter(card=>card.leaderSkillTypes.restriction.typeEnhance)
},
{name:"[7×6 board]",otLangName:{chs:"【7×6 版面】",cht:"【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:"【无天降版面】",cht:"【無天降版面】"},
{name:"[No skyfall]",otLangName:{chs:"【无天降板面】",cht:"【無天降板面】"},
function:cards=>cards.filter(card=>{
const searchTypeArray = [163,177];
const skill = getCardLeaderSkill(card, searchTypeArray);

View File

@ -326,7 +326,7 @@ class Board
this.setOrbAndBlock(flatOrbsData[i], null, attrArray[i]);
}
} else {
//在面上查询符合的颜色
//在面上查询符合的颜色
flatOrbsData = flatOrbsData.filter(orb=>attrs.includes(orb.attr));
const maxLength = Math.min(count, flatOrbsData.length);
for (let i=0; i<maxLength; i++) {
@ -334,7 +334,7 @@ class Board
}
}
}
//生成面状态
//生成面状态
generateBlockStates(blockState, count = 1, size = [1,1], position = [0, 0])
{
for (let i=0; i<count; i++) {
@ -1554,20 +1554,20 @@ const parsers = {
boardJammingStates('clouds', (pos1 && pos2) ? 'fixed' : 'random', { size: [width, height], positions: [pos1, pos2] })
);
},
[239](turns, colum, row) { //产封条
[239](colum, turns, row) { //产封条
//const colums = flags(colum), rows = flags(row);
return activeTurns(turns,
boardJammingStates('immobility', 'fixed', { positions: {colums: flags(colum), rows: flags(row)} })
);
},
[241](turns, cap, target = 1) { //改变伤害上限
[241](turns, cap, target = 1) { //改变伤害上限主动技
const targetTypes = ["self","leader-self","leader-helper","sub-members"];
const typeArr = flags(target).map(n => targetTypes[n]);
return activeTurns(turns,
increaseDamageCap(cap * 1e8, typeArr)
);
},
[244](turns, type) { //改变版面大小
[244](turns, type) { //改变板面大小主动技
let width, height;
switch (type) {
case 1: {
@ -1712,7 +1712,7 @@ function renderSkillEntry(skills)
}
break;
}
case SkillKinds.BoardJammingStates: { //产生面干扰
case SkillKinds.BoardJammingStates: { //产生面干扰
const { state, posType, size, positions, count, time } = skill;
if (state == 'roulette') { //轮盘位
boardsBar.boards.forEach(board=>{
@ -2499,7 +2499,7 @@ function renderSkill(skill, option = {})
frg.ap(tsp.skill.increase_damage_cap(dict));
break;
}
case SkillKinds.BoardJammingStates: { //面产生干扰状态
case SkillKinds.BoardJammingStates: { //面产生干扰状态
const { state, posType, positions, count, time } = skill;
const boardsBar = merge_skill ? null : new BoardSet(new Board(), new Board(null,7,6), new Board(null,5,4));
const slight_pause = tsp.word.slight_pause().textContent;
@ -2553,7 +2553,7 @@ function renderSkill(skill, option = {})
}
break;
}
case SkillKinds.BoardSizeChange: { //改变面大小
case SkillKinds.BoardSizeChange: { //改变面大小
const { width, height } = skill;
let dict = {

View File

@ -6547,11 +6547,11 @@ const cachesMap = new Map([
],
[
"script-json_data.js",
"83cbe83aac41ec85c5030f1944ab0857"
"af483027642411e92e9eee8c4cb6e186"
],
[
"script-skill-parser.js",
"b7d2f728613342d120c90da80289be15"
"18a86045d9c68864a1fad02966260cd7"
],
[
"script-universal_function.js",
@ -6559,7 +6559,7 @@ const cachesMap = new Map([
],
[
"script.js",
"7a7e9925d89b7a95e7c0cf7f0643c271"
"5a52248d0177195aa35728b50553d67d"
],
[
"solo.html",
@ -6623,7 +6623,7 @@ const cachesMap = new Map([
],
[
"languages/zh-CN.js",
"a5f13891d01a97bc21897121565a25ee"
"3b922083456dace77fe587140a9e73b7"
],
[
"languages/zh-TW.css",
@ -6631,7 +6631,7 @@ const cachesMap = new Map([
],
[
"languages/zh-TW.js",
"44dd3143a97b18de2d6ab61ce00497fc"
"ee6bbc6be0d4c3c8dde708d199a23b5b"
],
[
"languages/zh.css",
@ -6639,7 +6639,7 @@ const cachesMap = new Map([
],
[
"languages/zh.js",
"1504d9cff230fa280adaef668754bdc3"
"c76b19382d75a83f5d14254c0105ac85"
],
[
"images/attrs.png",
@ -6843,7 +6843,7 @@ const cachesMap = new Map([
],
[
"doc/index.html",
"59ef0b56f90307a2c6820a08ea26640e"
"31e760f0569061597832fc91187f2d9f"
],
[
"doc/images/player-bind-box.webp",