搜索功能增加破连击搜索,去掉双破搜索。自身提高伤害上限也增加位置显示。
This commit is contained in:
parent
f3e81ccfef
commit
a9819068bd
|
@ -2,25 +2,25 @@
|
|||
{
|
||||
"code": "ja",
|
||||
"ckey": {
|
||||
"card": "2e41b9a77d66f3f966fd99fd7c00f596",
|
||||
"card": "7f16bab99b5eccc90fcc8a8a98737e73",
|
||||
"skill": "f64c29d1d0f5a88b6b7409013abafcc5"
|
||||
},
|
||||
"updateTime": 1713364109629
|
||||
"updateTime": 1713367120820
|
||||
},
|
||||
{
|
||||
"code": "en",
|
||||
"ckey": {
|
||||
"card": "40e9369fcb6dfb9759af0767c0a2137c",
|
||||
"card": "3590dd3219484ec0bcad579f134fbc4b",
|
||||
"skill": "02c89be66b54327c130e6e8b02ecf09a"
|
||||
},
|
||||
"updateTime": 1712579771932
|
||||
"updateTime": 1713367120820
|
||||
},
|
||||
{
|
||||
"code": "ko",
|
||||
"ckey": {
|
||||
"card": "81b25bf1fd86e5d22c5789064e06eea2",
|
||||
"card": "1c2f8aec34dd42f82bea17c84f05d3b0",
|
||||
"skill": "008073b22a02579ec7712bf61aaafee1"
|
||||
},
|
||||
"updateTime": 1712579771932
|
||||
"updateTime": 1713367120820
|
||||
}
|
||||
]
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
@ -76,7 +76,7 @@ class Card{
|
|||
card.flags = flags;
|
||||
card.canAssist = Boolean(flags & 1<<0); //是否能当二技
|
||||
card.enabled = Boolean(flags & 1<<1); //是否已启用
|
||||
card.stacking = !Boolean(flags & 1<<3) && //flag有1<<3时,不合并占一格,没有时则根据类型进行合并(目前合并已经不占格子)
|
||||
card.stackable = !Boolean(flags & 1<<3) && //flag有1<<3时,不合并占一格,没有时则根据类型进行合并(目前合并已经不占格子)
|
||||
card.types.some(t=>[0,12,14,15].includes(t)); //0進化用;12能力覺醒用;14強化合成用;15販賣用默认合并
|
||||
//card.onlyAssist = Boolean(flags & 1<<4); //是否只能当二技
|
||||
card.is8Latent = Boolean(flags & 1<<5); //是否支持8个潜觉
|
||||
|
|
|
@ -1173,7 +1173,17 @@ const specialSearchFunctions = (function() {
|
|||
switch (skill.type) {
|
||||
case 258: {
|
||||
fragment.appendChild(createTeamFlags(sk[2]));
|
||||
break;
|
||||
}
|
||||
case 241:
|
||||
case 246:
|
||||
case 247: {
|
||||
fragment.appendChild(createTeamFlags(1));
|
||||
break;
|
||||
}
|
||||
}
|
||||
switch (skill.type) {
|
||||
case 258:
|
||||
case 241: {
|
||||
fragment.append(`${(cap*1e8).bigNumberToString()}×${sk[0]}T`);
|
||||
break;
|
||||
|
@ -1514,14 +1524,6 @@ const specialSearchFunctions = (function() {
|
|||
},
|
||||
addition:voidsAbsorption_Addition
|
||||
},
|
||||
/*{name:"Voids combo absorption(sort by turns)",otLangName:{chs:"破C吸 buff(按破吸回合排序)",cht:"破C吸 buff(按破吸回合排序)"},
|
||||
function:cards=>{
|
||||
const searchTypeArray = [173];
|
||||
return cards.filter(card=>{
|
||||
const skill = getCardActiveSkill(card, searchTypeArray);
|
||||
return skill && skill.params[2];
|
||||
}).sort((a,b)=>sortByParams(a,b,searchTypeArray));
|
||||
},addition:voidsAbsorption_Addition},*/
|
||||
{name:"Voids damage absorption(sort by turns)",otLangName:{chs:"破伤吸 buff(按破吸回合排序)",cht:"破傷吸 buff(按破吸回合排序)"},
|
||||
function:cards=>{
|
||||
const searchTypeArray = [173];
|
||||
|
@ -1532,12 +1534,12 @@ const specialSearchFunctions = (function() {
|
|||
},
|
||||
addition:voidsAbsorption_Addition
|
||||
},
|
||||
{name:"Voids both absorption(sort by turns)",otLangName:{chs:"双破吸 buff(按破吸回合排序)",cht:"雙破吸 buff(按破吸回合排序)"},
|
||||
{name:"Voids combo absorption(sort by turns)",otLangName:{chs:"破C吸 buff(按破吸回合排序)",cht:"破C吸 buff(按破吸回合排序)"},
|
||||
function:cards=>{
|
||||
const searchTypeArray = [173];
|
||||
return cards.filter(card=>{
|
||||
const skill = getCardActiveSkill(card, searchTypeArray);
|
||||
return skill && skill.params[1] && skill.params[3];
|
||||
return skill && skill.params[2];
|
||||
}).sort((a,b)=>sortByParams(a,b,searchTypeArray));
|
||||
},
|
||||
addition:voidsAbsorption_Addition
|
||||
|
@ -1706,12 +1708,41 @@ const specialSearchFunctions = (function() {
|
|||
},
|
||||
addition:memberCap_Addition
|
||||
},
|
||||
{name:"Increase Damage Cap (Not Self)",otLangName:{chs:"增加伤害上限 buff(非自身)",cht:"增加傷害上限 buff(非自身)"},
|
||||
{name:"Increase Damage Cap - Self",otLangName:{chs:"增加伤害上限 buff - 自身",cht:"增加傷害上限 buff - 自身"},
|
||||
function:cards=>{
|
||||
const searchTypeArray = [241, 246, 247, 258];
|
||||
return cards.filter(card=>{
|
||||
const skill = getCardActiveSkill(card, searchTypeArray);
|
||||
if (skill?.type === 258) return Boolean(skill.params[2] & 0b1);
|
||||
else return skill;
|
||||
}).sort((a,b)=>{
|
||||
const a_ss = getCardActiveSkill(a, searchTypeArray), b_ss = getCardActiveSkill(b, searchTypeArray);
|
||||
let a_pC = getIncreaseDamageCap(a_ss), b_pC = getIncreaseDamageCap(b_ss);
|
||||
return a_pC - b_pC;
|
||||
});
|
||||
},
|
||||
addition:memberCap_Addition
|
||||
},
|
||||
{name:"Increase Damage Cap - Leader",otLangName:{chs:"增加伤害上限 buff - 队长",cht:"增加傷害上限 buff - 隊長"},
|
||||
function:cards=>{
|
||||
const searchTypeArray = [258];
|
||||
return cards.filter(card=>{
|
||||
const skill = getCardActiveSkill(card, searchTypeArray);
|
||||
return skill;
|
||||
return skill && Boolean(skill.params[2] & (0b10 | 0b100));
|
||||
}).sort((a,b)=>{
|
||||
const a_ss = getCardActiveSkill(a, searchTypeArray), b_ss = getCardActiveSkill(b, searchTypeArray);
|
||||
let a_pC = getIncreaseDamageCap(a_ss), b_pC = getIncreaseDamageCap(b_ss);
|
||||
return a_pC - b_pC;
|
||||
});
|
||||
},
|
||||
addition:memberCap_Addition
|
||||
},
|
||||
{name:"Increase Damage Cap - Sub",otLangName:{chs:"增加伤害上限 buff - 队员",cht:"增加傷害上限 buff - 隊員"},
|
||||
function:cards=>{
|
||||
const searchTypeArray = [258];
|
||||
return cards.filter(card=>{
|
||||
const skill = getCardActiveSkill(card, searchTypeArray);
|
||||
return skill && Boolean(skill.params[2] & 0b1000);
|
||||
}).sort((a,b)=>{
|
||||
const a_ss = getCardActiveSkill(a, searchTypeArray), b_ss = getCardActiveSkill(b, searchTypeArray);
|
||||
let a_pC = getIncreaseDamageCap(a_ss), b_pC = getIncreaseDamageCap(b_ss);
|
||||
|
@ -1735,7 +1766,7 @@ const specialSearchFunctions = (function() {
|
|||
const searchTypeArray = [230];
|
||||
return cards.filter(card=>{
|
||||
const skill = getCardActiveSkill(card, searchTypeArray);
|
||||
return skill && Boolean(skill.params[1] & 1<<0);
|
||||
return skill && Boolean(skill.params[1] & 0b1);
|
||||
}).sort((a,b)=>sortByParams(a, b, searchTypeArray, 2));
|
||||
},
|
||||
addition:memberATK_Addition
|
||||
|
@ -1745,17 +1776,17 @@ const specialSearchFunctions = (function() {
|
|||
const searchTypeArray = [230];
|
||||
return cards.filter(card=>{
|
||||
const skill = getCardActiveSkill(card, searchTypeArray);
|
||||
return skill && Boolean(skill.params[1] & (1<<1 | 1<<2));
|
||||
return skill && Boolean(skill.params[1] & (0b10 | 0b100));
|
||||
}).sort((a,b)=>sortByParams(a, b, searchTypeArray, 2));
|
||||
},
|
||||
addition:memberATK_Addition
|
||||
},
|
||||
{name:"Member ATK rate change - Member",otLangName:{chs:"队员攻击力 buff - 队员",cht:"隊員攻擊力 buff - 隊員"},
|
||||
{name:"Member ATK rate change - Sub",otLangName:{chs:"队员攻击力 buff - 队员",cht:"隊員攻擊力 buff - 隊員"},
|
||||
function:cards=>{
|
||||
const searchTypeArray = [230];
|
||||
return cards.filter(card=>{
|
||||
const skill = getCardActiveSkill(card, searchTypeArray);
|
||||
return skill && Boolean(skill.params[1] & 1<<3);
|
||||
return skill && Boolean(skill.params[1] & 0b1000);
|
||||
}).sort((a,b)=>sortByParams(a, b, searchTypeArray, 2));
|
||||
},
|
||||
addition:memberATK_Addition
|
||||
|
@ -4231,10 +4262,10 @@ const specialSearchFunctions = (function() {
|
|||
function:cards=>cards.filter(card=>card.latentAwakeningId>0).sort((a,b)=>a.latentAwakeningId-b.latentAwakeningId)
|
||||
},
|
||||
{name:"Stacked material",otLangName:{chs:"堆叠的素材",cht:"堆疊的素材"},
|
||||
function:cards=>cards.filter(card=>card.stacking),
|
||||
function:cards=>cards.filter(card=>card.stackable),
|
||||
},
|
||||
{name:"Not stacked material",otLangName:{chs:"不堆叠的素材",cht:"不堆疊的素材"},
|
||||
function:cards=>cards.filter(card=>!card.stacking && card.types.some(t=>[0,12,14,15].includes(t))),
|
||||
function:cards=>cards.filter(card=>!card.stackable && card.types.some(t=>[0,12,14,15].includes(t))),
|
||||
},
|
||||
{name:"Original Name",otLangName:{chs:"怪物原始名称",cht:"怪物原始名稱"},
|
||||
function:cards=>cards,
|
||||
|
|
|
@ -2676,9 +2676,9 @@ function renderSkill(skill, option = {})
|
|||
targets: document.createDocumentFragment(),
|
||||
cap: cap.bigNumberToString(),
|
||||
};
|
||||
if (targets[0] !== 'self' || targets.length > 1) {
|
||||
// if (targets[0] !== 'self' || targets.length > 1) {
|
||||
dict.targets.append(createTeamFlags(targets));
|
||||
}
|
||||
// }
|
||||
dict.targets.append(targets.map(target=>
|
||||
tsp?.target[target.replaceAll("-","_")]?.())
|
||||
.nodeJoin(tsp.word.slight_pause()));
|
||||
|
|
|
@ -849,7 +849,7 @@ function calculateAbility_max(id, solo, teamsCount, maxLevel = 110) {
|
|||
const tempMon = {
|
||||
id: id,
|
||||
level: card.limitBreakIncr ? maxLevel : card.maxLevel,
|
||||
plus: (card.stacking || card.types[0] == 15 && card.types[1] == -1) ? [0, 0, 0] : [99, 99, 99], //当可以叠加时,不能打297
|
||||
plus: (card.stackable || card.types[0] == 15 && card.types[1] == -1) ? [0, 0, 0] : [99, 99, 99], //当可以叠加时,不能打297
|
||||
awoken: card.awakenings.length,
|
||||
sawoken: 0
|
||||
};
|
||||
|
@ -882,7 +882,8 @@ function searchCards(cards, {attrs: sAttrs, fixMainColor, types, typeAndOr, rare
|
|||
if (canAssist) cardsRange = cardsRange.filter(card=>card.canAssist);
|
||||
if (canLv110) cardsRange = cardsRange.filter(card=>card.limitBreakIncr>0);
|
||||
if (is8Latent) cardsRange = cardsRange.filter(card=>card.is8Latent);
|
||||
if (notWeapon) cardsRange = cardsRange.filter(card=>!card.awakenings.includes(49));
|
||||
if (notWeapon) cardsRange = cardsRange.filter(card=>!card.awakenings.includes(49) && //不是武器
|
||||
!card.stackable); //不可堆叠
|
||||
//属性
|
||||
const anyAttrsFlag = 0b1111101;
|
||||
const anyAttrs = sAttrs.map(attr=>attr === 0 || (attr & anyAttrsFlag) == anyAttrsFlag);
|
||||
|
|
11
script.js
11
script.js
|
@ -489,7 +489,7 @@ class Card {
|
|||
get enabled(){ //是否已启用
|
||||
return Boolean(this.flags & 1<<1);
|
||||
}
|
||||
get stacking(){ //flag有1<<3时,不合并占一格,没有时则根据类型进行合并(目前合并已经不占格子)
|
||||
get stackable(){ //flag有1<<3时,不合并占一格,没有时则根据类型进行合并(目前合并已经不占格子)
|
||||
const specialType = [0,12,14,15];
|
||||
return Boolean(this.flags & 1<<3) &&
|
||||
this.types.some(t=>specialType.includes(t)); //0進化用;12能力覺醒用;14強化合成用;15販賣用默认合并
|
||||
|
@ -1684,7 +1684,7 @@ class PlayerDataCard {
|
|||
//叠加型用他们的经验来表示数量
|
||||
const card = Cards[this.id];
|
||||
this.count = 1;
|
||||
if (card && card.stacking)
|
||||
if (card && card.stackable)
|
||||
{
|
||||
this.count = this.exp;
|
||||
this.exp = 0;
|
||||
|
@ -2158,6 +2158,7 @@ function loadData(force = false)
|
|||
if (card.searchFlags) card.leaderSkillTypes = new LeaderSkillType(card);
|
||||
card.onlyAssist = Boolean(card.flags & 1<<4);
|
||||
card.gachaIds = flags(card.gachaGroupsFlag);
|
||||
card.typesFlag = reflags(card.types);
|
||||
/*card.unk01p = flags(card.unk01);
|
||||
card.unk02p = flags(card.unk02);
|
||||
card.unk03p = flags(card.unk03);
|
||||
|
@ -5636,7 +5637,7 @@ function initialize() {
|
|||
mon.sawoken = parseInt(mSAwokenIcon.getAttribute("data-awoken-icon"), 10) || 0;
|
||||
}
|
||||
|
||||
if (card.stacking || card.types.some(t=>[0,12,14,15].includes(t)) &&
|
||||
if (card.stackable || card.types.some(t=>[0,12,14,15].includes(t)) &&
|
||||
mon.level >= card.maxLevel) { //当4种特殊type的时候是无法297和打觉醒的,但是不能叠加的在未满级时可以
|
||||
mon.plus = [0, 0, 0];
|
||||
} else {
|
||||
|
@ -6393,7 +6394,7 @@ function editBoxChangeMonId(id) {
|
|||
skillDetailOriginal.innerHTML = "";
|
||||
skillDetailOriginal.appendChild(parseSkillDescription(activeskill));
|
||||
|
||||
const t_maxLevel = card.stacking ? 1 : activeskill?.maxLevel; //遇到不能升技的,最大等级强制为1
|
||||
const t_maxLevel = card.stackable ? 1 : activeskill?.maxLevel; //遇到不能升技的,最大等级强制为1
|
||||
skillLevel.max = t_maxLevel;
|
||||
skillLevel.value = t_maxLevel;
|
||||
skillLevel_Max.value = t_maxLevel;
|
||||
|
@ -6419,7 +6420,7 @@ function editBoxChangeMonId(id) {
|
|||
rowSkill.appendChild(frg1);
|
||||
rowLederSkill.appendChild(frg2);
|
||||
|
||||
let noPowerup = card.stacking || card.types.some(t=>[0,12,14,15].includes(t)) && card.maxLevel <= 1;
|
||||
let noPowerup = card.stackable || card.types.some(t=>[0,12,14,15].includes(t)) && card.maxLevel <= 1;
|
||||
skillLevel.readOnly = noPowerup;
|
||||
rowMonPlus.classList.toggle("disabled", noPowerup);
|
||||
rowMonLatent.classList.toggle("disabled", noPowerup || card.onlyAssist); //极少数情况会出现仅允许当武器的,不能打潜觉
|
||||
|
|
|
@ -25471,19 +25471,19 @@ const cachesMap = new Map([
|
|||
],
|
||||
[
|
||||
"script-json_data.js",
|
||||
"1904d4fda5d71af7e86fed4051387f31"
|
||||
"cf98970ea6cc0b9dfef050e704614dc4"
|
||||
],
|
||||
[
|
||||
"script-skill-parser.js",
|
||||
"4519231c3aa362a66e38fa583bc80c48"
|
||||
"8f1d7a61871ebe366d301476d5afacb9"
|
||||
],
|
||||
[
|
||||
"script-universal_function.js",
|
||||
"ee468d666737a0415b2bde3b4088db15"
|
||||
"9545d2373ad30a645163ee78561c12a9"
|
||||
],
|
||||
[
|
||||
"script.js",
|
||||
"bcc3be6fe22fc1e27c1a383e3803b080"
|
||||
"84537f17f150d1a9973f19027c909b0b"
|
||||
],
|
||||
[
|
||||
"solo.html",
|
||||
|
|
Loading…
Reference in New Issue