发现原来的抽蛋ID是flag,重新解析这里
This commit is contained in:
parent
1a722bde0e
commit
9bfc6ba502
|
@ -2,25 +2,25 @@
|
|||
{
|
||||
"code": "ja",
|
||||
"ckey": {
|
||||
"card": "c58dcc1983600c68486822e347cd51a1",
|
||||
"card": "1e62d69abd638f7f4c45d946533d211c",
|
||||
"skill": "5cf0e7bce741588c66509a9f0a9576aa"
|
||||
},
|
||||
"updateTime": 1712419233077
|
||||
"updateTime": 1712579771932
|
||||
},
|
||||
{
|
||||
"code": "en",
|
||||
"ckey": {
|
||||
"card": "27a904de0e0be40c75253c8ce8ae2110",
|
||||
"card": "40e9369fcb6dfb9759af0767c0a2137c",
|
||||
"skill": "02c89be66b54327c130e6e8b02ecf09a"
|
||||
},
|
||||
"updateTime": 1712419233077
|
||||
"updateTime": 1712579771932
|
||||
},
|
||||
{
|
||||
"code": "ko",
|
||||
"ckey": {
|
||||
"card": "3b102fc221157bd2738611a8319bd244",
|
||||
"card": "81b25bf1fd86e5d22c5789064e06eea2",
|
||||
"skill": "008073b22a02579ec7712bf61aaafee1"
|
||||
},
|
||||
"updateTime": 1712419233077
|
||||
"updateTime": 1712579771932
|
||||
}
|
||||
]
|
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
|
@ -88,7 +88,7 @@ class Card{
|
|||
card.orbSkinOrBgmId = data[i++]; //抽到后珠子皮肤ID
|
||||
card.specialAttribute = data[i++]; //特别属性,比如黄龙
|
||||
card.searchFlags = [data[i++], data[i++]]; //队长技搜索类型,解析写在这里会导致文件太大,所以写到前端去了
|
||||
card.gachaId = data[i++]; //目前猜测是桶ID
|
||||
card.gachaGroupsFlag = data[i++]; //目前猜测是桶ID
|
||||
card.unk08 = data[i++]; //未知08
|
||||
card.attrs.push(data[i++]); //属性3
|
||||
card.badgeId = data[i++]; //抽到后获取的徽章ID
|
||||
|
|
|
@ -736,7 +736,7 @@ function calculateAbility(member, assist = null, solo = true, teamsCount = 1) {
|
|||
memberCard.attrs.some(attr=>dge.attrs.includes(attr)) || //符合属性
|
||||
memberCard.types.some(type=>dge.types.includes(type)) || //符合类型
|
||||
dge?.collabs?.includes(memberCard.collabId) || //符合合作
|
||||
dge?.gachas?.includes(memberCard.gachaId); //符合抽蛋桶
|
||||
dge?.gachas?.some(n=>memberCard.gachaIds.includes(n)); //符合抽蛋桶
|
||||
|
||||
|
||||
//储存点亮的觉醒
|
||||
|
@ -1086,20 +1086,25 @@ function createTeamFlags(target)
|
|||
}
|
||||
|
||||
function showSearchBySeriesId(sId, sType) {
|
||||
showSearch(searchBySeriesId(sId, sType));
|
||||
}
|
||||
function searchBySeriesId(sId, sType) {
|
||||
if (!Number.isInteger(sId)) sId = parseInt(sId, 10);
|
||||
switch (sType) {
|
||||
case "collab": {//合作
|
||||
return Cards.filter(card => card.collabId == sId);
|
||||
if (!Number.isInteger(sId)) sId = parseInt(sId, 10);
|
||||
showSearch(Cards.filter(card => card.collabId == sId),
|
||||
card => card.collabId);
|
||||
break;
|
||||
}
|
||||
case "gacha": {//桶
|
||||
return Cards.filter(card => card.gachaId == sId);
|
||||
case "gacha": {//桶,是数组
|
||||
if (!sId.every(id=>Number.isInteger(id))) sId = sId,map(id=>parseInt(id, 10));
|
||||
showSearch(sId.flatMap(gachaId=>Cards.filter(card => card.gachaIds.includes(gachaId))),
|
||||
card => card.gachaIds.join());
|
||||
break;
|
||||
}
|
||||
case "series":
|
||||
default: { //系列
|
||||
return Cards.filter(card => card.seriesId == sId);
|
||||
if (!Number.isInteger(sId)) sId = parseInt(sId, 10);
|
||||
showSearch(Cards.filter(card => card.seriesId == sId),
|
||||
card => card.seriesId);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
33
script.js
33
script.js
|
@ -347,7 +347,7 @@ class Card {
|
|||
specialAttribute = null;
|
||||
searchFlags = [];
|
||||
#leaderSkillTypes = null;
|
||||
gachaId = 0;
|
||||
gachaGroupsFlag = 0;
|
||||
badgeId = 0;
|
||||
|
||||
unk01 = null;
|
||||
|
@ -465,7 +465,7 @@ class Card {
|
|||
this.orbSkinOrBgmId = e.next().value?.[1]; //珠子皮肤ID
|
||||
this.specialAttribute = e.next().value?.[1]; //特别属性,比如黄龙
|
||||
this.searchFlags.push(e.next().value?.[1], e.next().value?.[1]); //队长技搜索类型,解析写在这里会导致文件太大,所以写到前端去了
|
||||
this.gachaId = e.next().value?.[1]; //目前猜测是桶ID
|
||||
this.gachaGroupsFlag = e.next().value?.[1]; //目前猜测是桶ID
|
||||
this.unk08 = e.next().value?.[1]; //未知08
|
||||
this.attrs.push(e.next().value?.[1]); //属性3
|
||||
this.badgeId = e.next().value?.[1]; //抽到后获取的徽章ID
|
||||
|
@ -913,7 +913,7 @@ Formation.prototype.outObj = function() {
|
|||
});
|
||||
let dge = this.dungeonEnchance;
|
||||
if (Object.values(dge.rate).some(rate => rate != 1) || dge.benefit || dge.stage>1) obj.r = [
|
||||
[reflags(dge.types),reflags(dge.attrs),reflags(dge.rarities),dge.collabs.length ? dge.collabs : 0,dge.gachas.length ? dge.gachas : 0].deleteLatter(0), //类型,属性,星级
|
||||
[reflags(dge.types),reflags(dge.attrs),reflags(dge.rarities),dge.collabs.length ? dge.collabs : 0, reflags(dge.gachas)].deleteLatter(0), //类型,属性,星级
|
||||
[dge.rate.hp,dge.rate.atk,dge.rate.rcv].deleteLatter(1),
|
||||
dge.benefit || 0, //地下城阴阳加护
|
||||
dge.stage || 1 //地下城层数
|
||||
|
@ -1009,7 +1009,7 @@ Formation.prototype.loadObj = function(f) {
|
|||
dge.attrs = flags(attrs ?? 0);
|
||||
dge.rarities = flags(rarities ?? 0);
|
||||
dge.collabs = collabs?.length ? collabs : [];
|
||||
dge.gachas = gachas?.length ? gachas : [];
|
||||
dge.gachas = Array.isArray(gachas) ? gachas.flatMap(n=>flags(n)) :flags(gachas || 0);
|
||||
|
||||
dge.rate.hp = hp ?? 1;
|
||||
dge.rate.atk = atk ?? 1;
|
||||
|
@ -2157,6 +2157,7 @@ function loadData(force = false)
|
|||
const card = _cards[i];
|
||||
if (card.searchFlags) card.leaderSkillTypes = new LeaderSkillType(card);
|
||||
card.onlyAssist = Boolean(card.flags & 1<<4);
|
||||
card.gachaIds = flags(card.gachaGroupsFlag);
|
||||
/*card.unk01p = flags(card.unk01);
|
||||
card.unk02p = flags(card.unk02);
|
||||
card.unk03p = flags(card.unk03);
|
||||
|
@ -4393,9 +4394,10 @@ function initialize() {
|
|||
};
|
||||
const mGachaId = monInfoBox.querySelector(".monster-gachaId");
|
||||
mGachaId.onclick = function() { //搜索桶
|
||||
const sid = parseInt(this.getAttribute(dataAttrName), 10);
|
||||
if (sid > 0) {
|
||||
showSearchBySeriesId(sid, "gacha");
|
||||
const sids = this.getAttribute(dataAttrName).split(',')
|
||||
.filter(Boolean).map(n=>parseInt(n, 10));
|
||||
if (sids.length) {
|
||||
showSearchBySeriesId(sids, "gacha");
|
||||
}
|
||||
};
|
||||
//以字符串搜索窗口
|
||||
|
@ -6201,9 +6203,9 @@ function editBoxChangeMonId(id) {
|
|||
mCollabId.classList.toggle(className_displayNone, !card.collabId);
|
||||
|
||||
const mGachaId = monInfoBox.querySelector(".monster-gachaId");
|
||||
mGachaId.textContent = card.gachaId;
|
||||
mGachaId.setAttribute(dataAttrName, card.gachaId);
|
||||
mGachaId.classList.toggle(className_displayNone, !card.gachaId);
|
||||
mGachaId.textContent = card.gachaIds.join();
|
||||
mGachaId.setAttribute(dataAttrName, card.gachaIds.join());
|
||||
mGachaId.classList.toggle(className_displayNone, !card.gachaIds.length);
|
||||
|
||||
const mAltName = monInfoBox.querySelector(".monster-altName");
|
||||
//没有合作名就隐藏
|
||||
|
@ -6483,6 +6485,7 @@ function refreshAll(formationData) {
|
|||
if (dge?.collabs?.length) { //添加合作的ID名称
|
||||
//搜索并显示合作
|
||||
function searchCollab(event) {
|
||||
event.preventDefault();
|
||||
const collabId = parseInt(this.getAttribute(dataAttrName), 10);
|
||||
showSearchBySeriesId(collabId, "collab");
|
||||
return false;
|
||||
|
@ -6501,8 +6504,12 @@ function refreshAll(formationData) {
|
|||
if (dge?.gachas?.length) { //添加抽蛋的ID名称
|
||||
//搜索并显示抽蛋
|
||||
function searchGacha(event) {
|
||||
const collabId = parseInt(this.getAttribute(dataAttrName), 10);
|
||||
showSearchBySeriesId(collabId, "gacha");
|
||||
event.preventDefault();
|
||||
const sids = this.getAttribute(dataAttrName).split(',')
|
||||
.filter(Boolean).map(n=>parseInt(n, 10));
|
||||
if (sids.length) {
|
||||
showSearchBySeriesId(sids, "gacha");
|
||||
}
|
||||
return false;
|
||||
}
|
||||
const fragment = dge.gachas.map(id=>{
|
||||
|
@ -7344,7 +7351,7 @@ function refreshTeamTotalHP(totalDom, team, teamIdx) {
|
|||
case 22: case 23: return 1.50; //状态异常耐性&SB++ 辅助无效
|
||||
|
||||
case 24: return member.card.collabId === 92 ? 1.15 : 1; //英雄学院徽章
|
||||
case 25: return member.card.gachaId === 2 ? 1.15 : 1; //画师桶徽章
|
||||
case 25: return member.card.gachaIds.includes(1) ? 1.15 : 1; //画师桶,1号徽章
|
||||
default: return 1;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -24519,11 +24519,11 @@ const cachesMap = new Map([
|
|||
],
|
||||
[
|
||||
"script-universal_function.js",
|
||||
"c0d955c4ccf7c86f7a8443bfdee8c800"
|
||||
"ee468d666737a0415b2bde3b4088db15"
|
||||
],
|
||||
[
|
||||
"script.js",
|
||||
"2c98a28adce317906c368ead1a249653"
|
||||
"32dffb2471552c7567bd1ace2ee04ce5"
|
||||
],
|
||||
[
|
||||
"solo.html",
|
||||
|
@ -24531,7 +24531,7 @@ const cachesMap = new Map([
|
|||
],
|
||||
[
|
||||
"style-monsterimages.css",
|
||||
"cb192a75427cbcb98fc6ac49b8538dac"
|
||||
"e6d30681930e0ee13bf656e73242d7f7"
|
||||
],
|
||||
[
|
||||
"style.css",
|
||||
|
|
Loading…
Reference in New Issue