1.超觉醒改为实际觉醒id

2.月卡徽章50=>129(1<<7 | 1)
This commit is contained in:
枫谷剑仙 2022-11-30 04:22:21 +08:00
parent e766f39456
commit 2a9ee325ee
8 changed files with 155 additions and 168 deletions

View File

@ -1132,18 +1132,10 @@ var formation = new Formation(teamsCount,5);
</div>
<div class="row-mon-super-awoken">
<!--怪物超觉醒-->
<input type="radio" name="sawoken-choice" class="sawoken-choice" value="0" id="sawoken-choice-nosawoken" />
<template id="sawoken-option-icon"><input type="radio" name="sawoken-choice" class="sawoken-choice" /><label class="awoken-icon"></label></template>
<div class="awoken-ul">
<input type="radio" name="sawoken-choice" class="sawoken-choice" value="-1" id="sawoken-choice--1" /><!--
--><input type="radio" name="sawoken-choice" class="sawoken-choice" value="0" id="sawoken-choice-0" /><label for="sawoken-choice-0" class="awoken-icon"></label><!--
--><input type="radio" name="sawoken-choice" class="sawoken-choice" value="1" id="sawoken-choice-1" /><label for="sawoken-choice-1" class="awoken-icon"></label><!--
--><input type="radio" name="sawoken-choice" class="sawoken-choice" value="2" id="sawoken-choice-2" /><label for="sawoken-choice-2" class="awoken-icon"></label><!--
--><input type="radio" name="sawoken-choice" class="sawoken-choice" value="3" id="sawoken-choice-3" /><label for="sawoken-choice-3" class="awoken-icon"></label><!--
--><input type="radio" name="sawoken-choice" class="sawoken-choice" value="4" id="sawoken-choice-4" /><label for="sawoken-choice-4" class="awoken-icon"></label><!--
--><input type="radio" name="sawoken-choice" class="sawoken-choice" value="5" id="sawoken-choice-5" /><label for="sawoken-choice-5" class="awoken-icon"></label><!--
--><input type="radio" name="sawoken-choice" class="sawoken-choice" value="6" id="sawoken-choice-6" /><label for="sawoken-choice-6" class="awoken-icon"></label><!--
--><input type="radio" name="sawoken-choice" class="sawoken-choice" value="7" id="sawoken-choice-7" /><label for="sawoken-choice-7" class="awoken-icon"></label><!--
--><input type="radio" name="sawoken-choice" class="sawoken-choice" value="8" id="sawoken-choice-8" /><label for="sawoken-choice-8" class="awoken-icon"></label><!--
--><input type="radio" name="sawoken-choice" class="sawoken-choice" value="9" id="sawoken-choice-9" /><label for="sawoken-choice-9" class="awoken-icon"></label>
<input type="radio" name="sawoken-choice" class="sawoken-choice" id="sawoken-choice-1" /><label for="sawoken-choice-1" class="awoken-icon"></label>
</div>
</div>
</div>
@ -1176,9 +1168,8 @@ var formation = new Formation(teamsCount,5);
</div>
<div class="subrow">
<button class="m-level-btn-min" value="1"></button>~<button class="m-level-btn-max" value="99"></button>
<br>
<button class="m-level-btn-110 display-none" value="110"></button>
<button class="m-level-btn-120 display-none" value="120"></button>
<button class="m-level-btn-110 display-none" value="110">110</button>
<button class="m-level-btn-120 display-none" value="120">120</button>
</div>
<div class="m-level-exp"></div>
</div>

View File

@ -488,7 +488,7 @@ const pdcBadgeMap = [
{pdf:12,pdc:15}, //墨镜
{pdf:13,pdc:17}, //防废
{pdf:14,pdc:16}, //防毒
{pdf:50,pdc:14}, //月卡
{pdf:129,pdc:14}, //月卡
];
//pdc的潜觉对应数字
const pdcLatentMap = [

View File

@ -448,13 +448,11 @@ function awokenCountInTeam(team, awokenIndex, solo, teamsCount) {
//启用的觉醒数组片段
let enableAwoken = card.awakenings.slice(0, mon.awoken);
//单人、3人时,大于等于100级且297时增加超觉醒
if ((solo || teamsCount === 3) && mon.sawoken >= 0 && mon.level >= 100 && mon.plus.every(p=>p>=99)) {
const sAwokenT = card.superAwakenings[mon.sawoken];
if (sAwokenT >= 0)
enableAwoken = enableAwoken.concat(sAwokenT);
if ((solo || teamsCount === 3) && mon.sawoken > 0 && mon.level >= 100 && mon.plus.every(p=>p>=99)) {
enableAwoken.push(mon.sawoken);
}
if (assistCard && assistCard.enabled && assistCard.awakenings.includes(49)) { //如果卡片未启用
enableAwoken = enableAwoken.concat(assistCard.awakenings.slice(0, assist.awoken));
enableAwoken.push(...assistCard.awakenings.slice(0, assist.awoken));
}
//相同的觉醒数
@ -567,9 +565,8 @@ function calculateAbility(member, assist = null, solo = true, teamsCount = 1) {
//储存点亮的觉醒
let awokenList = memberCard.awakenings.slice(0, member.awoken);
//单人、3人时,大于等于100级且297时增加超觉醒
if ((solo || teamsCount === 3) && member.sawoken >= 0 && member.level >= 100 && member.plus.every(p=>p>=99)) {
const sAwokenT = memberCard.superAwakenings[member.sawoken];
if (sAwokenT >= 0) awokenList.push(sAwokenT)
if ((solo || teamsCount === 3) && member.sawoken > 0 && member.level >= 100 && member.plus.every(p=>p>=99)) {
awokenList.push(member.sawoken)
}
//如果有武器还要计算武器的觉醒
let enableBouns = false;
@ -1247,13 +1244,11 @@ function countTeamSB(team, solo) {
const memberCard = henshinBase(member);
let enableAwoken = memberCard?.awakenings?.slice(0, member.awoken) || [];
//单人、3人时,大于等于100级且297时增加超觉醒
if ((solo || teamsCount === 3) && member.sawoken >= 0 && member.level >= 100 && member.plus.every(p=>p>=99)) {
const sAwokenT = memberCard?.superAwakenings?.[member.sawoken];
if (sAwokenT >= 0)
enableAwoken = enableAwoken.concat(sAwokenT);
if ((solo || teamsCount === 3) && member.sawoken > 0 && member.level >= 100 && member.plus.every(p=>p>=99)) {
enableAwoken.push(member.sawoken);
}
if (assist.card && assist.card.enabled && assist.card.awakenings.includes(49)) { //如果卡片未启用
enableAwoken = enableAwoken.concat(assist.card.awakenings.slice(0, assist.awoken));
if (assist.card && assist.card.enabled && assist.card.awakenings.includes(49)) {
enableAwoken.push(...assist.card.awakenings.slice(0, assist.awoken));
}
//大SB 56小SB 21
@ -1319,7 +1314,7 @@ function countMoveTime(team, leader1id, leader2id, teamIdx) {
case 21: //大手指
moveTime.duration.badge = 2;
break;
case 50: //月卡
case PAD_PASS_BADGE: //月卡
moveTime.duration.badge = 3;
break;
}

175
script.js
View File

@ -20,11 +20,12 @@ let qrcodeReader; //二维码读取
let qrcodeWriter; //二维码输出
let selectedDeviceId; //视频源id
const dataStructure = 4; //阵型输出数据的结构版本
const dataStructure = 5; //阵型输出数据的结构版本
const cfgPrefix = "PADDF-"; //设置名称的前缀
const className_displayNone = "display-none";
const dataAttrName = "data-value"; //用于储存默认数据的属性名
const isGuideMod = !unsupportFeatures.length && Boolean(Number(getQueryString("guide"))); //是否以图鉴模式启动
const PAD_PASS_BADGE = 1<<7 | 1; //月卡徽章编号129
if (location.search.includes('&amp;')) {
location.search = location.search.replace(/&amp;/ig, '&');
@ -186,8 +187,8 @@ Member.prototype.outObj = function() {
obj[3] = m.plus;
}
}
if (m.latent != undefined && Array.isArray(m.latent) && m.latent.length >= 1) obj[4] = m.latent;
if (m.sawoken != undefined && m.sawoken >= 0) obj[5] = m.sawoken;
if (Array.isArray(m?.latent) && m.latent.length >= 1) obj[4] = m.latent;
if (m?.sawoken >= 0) obj[5] = m.sawoken;
const card = Cards[m.id] || Cards[0]; //怪物固定数据
const skill = Skills[card.activeSkillId];
//有技能等级,并且技能等级低于最大等级时才记录技能
@ -218,7 +219,11 @@ Member.prototype.loadObj = function(m, dataVersion) {
this.latent = dataVersion > 1 ? m[4] : m.latent;
if (Array.isArray(this.latent) && dataVersion <= 2) this.latent = this.latent.map(l => l >= 13 ? l + 3 : l); //修复以前自己编的潜觉编号为官方编号
if (!Array.isArray(this.latent)) this.latent = []; //如果潜觉不是数组,则改变
this.sawoken = dataVersion > 1 ? m[5] : m.sawoken;
this.sawoken = dataVersion > 1 ?
(dataStructure < 5 ?
Cards[this.id].superAwakenings[m[5]] //第四版前,是超觉醒的顺序
: m[5] ) //第5版开始超觉醒使用觉醒编号而不是顺序
: m.sawoken;
this.skilllevel = m[6] || null;
};
Member.prototype.loadFromMember = function(m) {
@ -374,7 +379,9 @@ Formation.prototype.loadObj = function(f) {
const fm = tf[1][mi];
m.loadObj(fm, dataVeision);
});
t[2] = tf[2] != undefined ? (dataVeision > 3 ? tf[2] : badgeConvert(tf[2])) : 1; //徽章
t[2] = dataVeision > 3 ? //徽章
(dataVeision < 5 && tf[2] == 50 ? PAD_PASS_BADGE : tf[2]) //5版开始月卡徽章用开关1<<7来识别
: badgeConvert(tf[2]); //1、2版老数据的徽章
t[3] = tf[3] ?? 0; //队长
}
});
@ -400,8 +407,8 @@ Formation.prototype.loadObj = function(f) {
case 15:case 16:case 17: {
return old - 3;
}
case 18: {
return 50;
case 18: { //月卡
return 1<<7 | 1 ;
}
default: return 1;
}
@ -450,8 +457,8 @@ Formation.prototype.getPdcQrStr = function()
o.set(4, m.plus[0]);
o.set(5, m.plus[1]);
o.set(6, m.plus[2]);
o.set(7, (m.awoken != null && m.awoken >= Cards[m.id].awakenings.length) ? -1 : m.awoken);
o.set(8, (m.sawoken != null && m.sawoken >= 0) ? Cards[m.id].superAwakenings[m.sawoken] : 0);
o.set(7, (m?.awoken >= Cards[m.id].awakenings.length) ? -1 : m.awoken);
o.set(8, m?.sawoken ?? 0);
if (a.id != 0)
{
o.set(9, a.id);
@ -574,9 +581,9 @@ class PlayerDataDeck {
{
let datas = decks1.concat(decks2 ?? []);
let decks = datas.map(deck=>new PlayerDataDeck(deck, parsedCards));
if (Boolean(decks2))
if (Boolean(decks2)) //如果开了月卡
{
decks.forEach(deck=>{if (deck.badge === 1) deck.badge = 50;});
decks.forEach(deck=>{if (deck.badge === 1) deck.badge |= 1 << 7;}); //觉醒1打开月卡flag
}
return decks;
}
@ -592,12 +599,12 @@ class PlayerDataDeck {
const ta = tAssists[idx];
if (member) {
tm.loadFromMember(member);
tm.sawoken = Cards[member.id].superAwakenings.indexOf(member.superAwoken);
tm.sawoken = member.superAwoken;
tm.plus = Object.values(member.plus);
tm.skilllevel = member.skillLevel;
if (member.assist) {
ta.loadFromMember(member.assist);
ta.sawoken = Cards[member.assist.id].superAwakenings.indexOf(member.assist.superAwoken);
ta.sawoken = member.assist.superAwoken;
ta.plus = Object.values(member.assist.plus);
ta.skilllevel = member.assist.skillLevel;
}
@ -654,7 +661,7 @@ class PlayerDataCard {
m.awoken = this.awoken;
m.skilllevel = this.skillLevel;
m.plus = [this.plus.hp,this.plus.atk,this.plus.rcv];
m.sawoken = Cards[this.id].superAwakenings.indexOf(this.superAwoken);
m.sawoken = this.superAwoken;
m.latent = this.latent.concat();
return m;
}
@ -1349,7 +1356,7 @@ function reloadFormationData(event) {
if (isGuideMod && !isNaN(mid)) {
formation.teams[editingTarget[0]][editingTarget[1]][editingTarget[2]].id = mid;
}
editMon(editingTarget[0], editingTarget[1], editingTarget[2]);
editBox.editMon(editingTarget[0], editingTarget[1], editingTarget[2]);
if (editingTarget && searchArr)
{
showSearch(searchArr);
@ -1442,7 +1449,7 @@ function inputFromQrString(string)
{
const re = {code: 0, message: null};
//code 1~99 为各种编码
if (string.substr(0,1) == "{" && string.substr(-1,1) == "}")
if (string[0] === "{" && string[string.length-1] === "}")
{
try{
let jo = JSON.parse(string);
@ -1517,14 +1524,14 @@ function pdcFotmationToPdfFotmation(inputString)
}
team.members = membersStr.map(memberStr=>{
let memberArr = memberStr.split(',').map(valueStr=>{
let idx = parseInt(valueStr.substr(0,2),36);
let value = valueStr.substr(2);
let idx = parseInt(valueStr.substring(0,2),36);
let value = valueStr.substring(2);
if (idx !== 2)
{
value = parseInt(value,36);
}else
{
value = value.split(/(\w{2})/).filter(Boolean).map(v=>parseInt(v,36));
value = value.match(/\w{2}/g).map(v=>parseInt(v,36));
}
return [idx, value];
});
@ -1550,7 +1557,7 @@ function pdcFotmationToPdfFotmation(inputString)
if (team2Leader)
{
team2Leader.set(15,0);
team2.splice(0,0,team2Leader);
team2.unshift(team2Leader);
team1.splice(team1.indexOf(team2Leader),1);
}
}
@ -1580,7 +1587,7 @@ function pdcFotmationToPdfFotmation(inputString)
m.awoken = member.get(7) >= 0 ? member.get(7) : Cards[m.id].awakenings.length;
a.awoken = member.get(14) >= 0 ? member.get(14) : (a.id > 0 ? Cards[a.id].awakenings.length : 0);
m.sawoken = member.get(8) ? Cards[m.id].superAwakenings.indexOf(member.get(8)) : null;
m.sawoken = member.get(8);
});
});
return f;
@ -1626,6 +1633,7 @@ function initialize() {
statusLine = controlBox.querySelector(".status"); //显示当前状态的
formationBox = document.body.querySelector(".formation-box");
editBox = document.body.querySelector(".edit-box");
editBox.editMon = editMember;
if (isGuideMod) {
console.info('现在是 怪物图鉴 模式');
@ -2227,7 +2235,7 @@ function initialize() {
//编辑界面点击每个怪物的头像的处理
function clickMonHead(e) {
const arr = getMemberArrayIndexFromMonHead(this);
editMon(arr[0], arr[1], arr[2]);
editBox.editMon(arr[0], arr[1], arr[2]);
return false; //没有false将会打开链接
}
//编辑界面每个怪物的头像的拖动
@ -3502,7 +3510,7 @@ function initialize() {
});
//id搜索
settingBox.changeMonId = editBoxChangeMonId;
editBox.changeMonId = editBoxChangeMonId;
const monstersID = settingBox.querySelector(".row-mon-id .m-id");
const btnSearchByString = settingBox.querySelector(".row-mon-id .search-by-string");
function idChange(event)
@ -3528,7 +3536,7 @@ function initialize() {
history.pushState(state, null, locationURL);
}
settingBox.changeMonId(newId);
editBox.changeMonId(newId);
}
return true;
}else
@ -3588,29 +3596,7 @@ function initialize() {
//超觉醒
const monEditSAwokensRow = settingBox.querySelector(".row-mon-super-awoken");
monEditSAwokensRow.swaokenIndex = -1;
const monEditSAwokens = Array.from(monEditSAwokensRow.querySelectorAll(".awoken-ul input[name='sawoken-choice']"));
function notCheckMyself() {
const value = parseInt(this.value, 10);
if (value >= 0 && monEditSAwokensRow.swaokenIndex === value) {
monEditSAwokens[0].click();
return false;
} else {
monEditSAwokensRow.swaokenIndex = value;
const plusArr = [monEditAddHp,monEditAddAtk,monEditAddRcv];
//自动打上297
if (value >= 0 && plusArr.some(ipt=>parseInt(ipt.value)<99))
{
console.debug("点亮超觉醒自动设定297");
plusArr.forEach(ipt=>ipt.value=99);
reCalculateAbility();
}
}
}
monEditSAwokens.forEach(akDom => {
akDom.onclick = notCheckMyself;
});
//3个快速设置this.ipt为自己的value
function setIptToMyValue() {
if (this.ipt.value != this.value) {
@ -3857,7 +3843,7 @@ function initialize() {
if (card.superAwakenings.length) //如果支持超觉醒
{
const mSAwokenChoIpt = monEditSAwokensRow.querySelector("input[name='sawoken-choice']:checked");
mon.sawoken = mSAwokenChoIpt ? parseInt(mSAwokenChoIpt.value, 10) : -1;
mon.sawoken = parseInt(mSAwokenChoIpt?.value, 10) || 0;
}
if (card.stacking || card.types.some(t=>[0,12,14,15].includes(t)) &&
@ -4152,15 +4138,14 @@ function changeid(mon, monDom, latentDom, assist) {
}
const sawoken = monDom.querySelector(".super-awoken");
if (sawoken) { //如果存在超觉醒的DOM
if (mon.sawoken != null && //怪物设定了超觉醒
mon?.sawoken >= 0 && //怪物超觉醒编号大于0
card.superAwakenings.length && //卡片有超觉醒
if (mon?.sawoken > 0 && //怪物超觉醒编号大于0
//card.superAwakenings.length && //卡片有超觉醒
mon.level >= 100 && //怪物大于100级
mon.plus.every(p=>p>=99) //怪物297了
) {
sawoken.classList.remove(className_displayNone);
const sawokenIcon = sawoken.querySelector(".awoken-icon");
sawokenIcon.setAttribute("data-awoken-icon", card.superAwakenings[mon.sawoken]);
sawokenIcon.setAttribute("data-awoken-icon", mon.sawoken);
} else {
sawoken.classList.add(className_displayNone);
}
@ -4278,7 +4263,7 @@ function refreshLatent(latents, monid, latentsNode, option) {
}
};
//点击怪物头像,出现编辑窗
function editMon(teamNum, isAssist, indexInTeam) {
function editMember(teamNum, isAssist, indexInTeam) {
//数据
const mon = formation.teams[teamNum][isAssist][indexInTeam];
@ -4313,9 +4298,10 @@ function editMon(teamNum, isAssist, indexInTeam) {
//if (mon.awoken > 0 && monEditAwokens[mon.awoken]) monEditAwokens[mon.awoken].click(); //涉及到觉醒数字的显示,所以需要点一下,为了减少计算次数,把这一条移动到了最后面
//超觉醒
const monEditSAwokensRow = settingBox.querySelector(".row-mon-super-awoken");
const monEditSAwokens = monEditSAwokensRow.querySelectorAll(".awoken-ul input[name='sawoken-choice']"); //单选框0号是隐藏的
monEditSAwokens[(mon.sawoken >= 0 && monEditSAwokens[mon.sawoken + 1]) ? mon.sawoken + 1 : 0].checked = true;
monEditSAwokensRow.swaokenIndex = mon.sawoken;
const monEditSAwokens = Array.from(monEditSAwokensRow.querySelectorAll(".awoken-ul input[name='sawoken-choice']")); //单选框0号是隐藏的
const noSAwokenRadio = settingBox.querySelector("#sawoken-choice-nosawoken"); //不选超觉醒的选项
(monEditSAwokens.find(ipt=>mon.sawoken === parseInt(ipt.value,10)) || noSAwokenRadio).checked = true;
monEditSAwokensRow.swaoken = mon.sawoken;
const monEditLv = settingBox.querySelector(".row-mon-level .m-level");
monEditLv.value = mon.level || 1;
@ -4447,28 +4433,66 @@ function editBoxChangeMonId(id) {
mAwokenIpt[card.awakenings.length].click(); //选择最后一个觉醒
//超觉醒
const monEditSAwokensRow = settingBox.querySelector(".row-mon-super-awoken");
const mSAwoken = Array.from(monEditSAwokensRow.querySelectorAll(".awoken-ul .awoken-icon"));
let prevSAwokens = mSAwoken.map(icon=>parseInt(icon.getAttribute("data-awoken-icon") || 0, 10)).filter(Boolean);
if (card.superAwakenings.length > 0) //辅助时也还是加入超觉醒吧
{
if (card.superAwakenings.length == prevSAwokens.length &&
card.superAwakenings.every((sak, idx)=>sak===prevSAwokens[idx]))
{
//切换前后超觉相同,什么都不做
const monEditSAwokensUl = settingBox.querySelector(".row-mon-super-awoken .awoken-ul");
const monEditSAwokensIcons = Array.from(monEditSAwokensUl.querySelectorAll(".awoken-icon"));
const noSAwokenRadio = settingBox.querySelector("#sawoken-choice-nosawoken"); //不选超觉醒的选项
//获得之前的所有超觉醒
const prevSAwokens = monEditSAwokensIcons.map(icon=>parseInt(icon.getAttribute("data-awoken-icon") || 0, 10)).filter(Boolean);
function notCheckMyself() {
const sawoken = parseInt(this.value, 10);
if (monEditSAwokensUl.swaoken === sawoken && this != noSAwokenRadio) {
noSAwokenRadio.click();
monEditSAwokensUl.swaoken = 0;
return false;
} else {
for (let ai = 0; ai < mSAwoken.length; ai++) {
if (ai < card.superAwakenings.length) {
mSAwoken[ai].setAttribute("data-awoken-icon", card.superAwakenings[ai]);
monEditSAwokensUl.swaoken = sawoken;
const level = settingBox.querySelector(".row-mon-level .m-level");
const plusArr = [...settingBox.querySelectorAll(".row-mon-plus input[type='number']")];
if (sawoken > 0)
{
let recalFlag = false;
//自动100级
if (parseInt(level.value, 10)<100)
{
console.debug("点亮超觉醒自动设定100级");
level.value = 100;
recalFlag = true;
}
mSAwoken[ai].classList.toggle(className_displayNone, ai >= card.superAwakenings.length);;
//自动打上297
if (plusArr.some(ipt=>parseInt(ipt.value, 10)<99))
{
console.debug("点亮超觉醒自动设定297");
plusArr.forEach(ipt=>ipt.value=99);
recalFlag = true;
}
if (recalFlag) editBox.reCalculateAbility();
}
monEditSAwokensRow.querySelector("#sawoken-choice--1").click(); //选中隐藏的空超觉
}
monEditSAwokensRow.classList.remove(className_displayNone);
}
if (card.superAwakenings.length == prevSAwokens.length &&
card.superAwakenings.every((sak, idx)=>sak===prevSAwokens[idx])
)
{
//切换前后超觉相同,什么都不做
//console.debug('与上一个超觉醒完全相同,不用修改超觉醒');
} else {
monEditSAwokensRow.classList.add(className_displayNone);
monEditSAwokensRow.querySelector("#sawoken-choice--1").click(); //选中隐藏的空超觉
const optionIconTemplate = settingBox.querySelector('#sawoken-option-icon');
monEditSAwokensUl.innerHTML = ''; //清空旧的超觉醒
monEditSAwokensUl.swaoken = 0;
card.superAwakenings.forEach((sak,idx)=>{
const clone = document.importNode(optionIconTemplate.content, true);
const input = clone.querySelector('input');
const label = clone.querySelector('label');
input.value = sak;
input.onclick = notCheckMyself;
label.setAttribute("data-awoken-icon", sak);
const id = `sawoken-choice-${idx}`;
input.id = id;
label.setAttribute('for', id);
monEditSAwokensUl.append(clone);
});
noSAwokenRadio.click(); //选中隐藏的空超觉
}
const monEditLvMax = settingBox.querySelector(".m-level-btn-max");
@ -4862,13 +4886,12 @@ function refreshmemberAwoken(memberAwokenDom, assistAwokenDom, team, idx) {
let memberAwokens = memberCard?.awakenings?.slice(0,memberData.awoken) || [];
//单人和三人为队员增加超觉醒
if ((solo || teamsCount === 3) &&
memberData.sawoken != null && //怪物设定了超觉醒
memberData.sawoken >= 0 && //怪物超觉醒编号大于0
memberCard?.superAwakenings?.length >= 0 && //卡片有超觉醒
memberData.sawoken > 0 && //怪物超觉醒编号大于0
//memberCard?.superAwakenings?.length > 0 && //卡片有超觉醒
memberData.level >= 100 && //怪物大于100级
memberData.plus.every(p=>p>=99) //怪物297了
) {
memberAwokens.push(memberCard.superAwakenings[memberData.sawoken]);
memberAwokens.push(memberData.sawoken);
}
//memberAwokens.sort();
//武器觉醒

View File

@ -96,7 +96,7 @@ var formation = new Formation(teamsCount,6);
<li><input type="radio" name="team-1-badge" class="badge-radio" value="12" id="team-1-badge-12"><label class="badge" data-badge-icon="12" for="team-1-badge-12"></label></li>
<li><input type="radio" name="team-1-badge" class="badge-radio" value="13" id="team-1-badge-13"><label class="badge" data-badge-icon="13" for="team-1-badge-13"></label></li>
<li><input type="radio" name="team-1-badge" class="badge-radio" value="14" id="team-1-badge-14"><label class="badge" data-badge-icon="14" for="team-1-badge-14"></label></li>
<li><input type="radio" name="team-1-badge" class="badge-radio" value="50" id="team-1-badge-50"><label class="badge" data-badge-icon="50" for="team-1-badge-50"></label></li>
<li><input type="radio" name="team-1-badge" class="badge-radio" value="129" id="team-1-badge-129"><label class="badge" data-badge-icon="129" for="team-1-badge-129"></label></li>
<!--<li><input type="radio" name="team-1-badge" class="badge-radio" value="15" id="team-1-badge-15"><label class="badge" data-badge-icon="15" for="team-1-badge-15"></label></li>
<li><input type="radio" name="team-1-badge" class="badge-radio" value="16" id="team-1-badge-16"><label class="badge" data-badge-icon="16" for="team-1-badge-16"></label></li>-->
</ul>
@ -978,18 +978,10 @@ var formation = new Formation(teamsCount,6);
</div>
<div class="row-mon-super-awoken">
<!--怪物超觉醒-->
<input type="radio" name="sawoken-choice" class="sawoken-choice" value="0" id="sawoken-choice-nosawoken" />
<template id="sawoken-option-icon"><input type="radio" name="sawoken-choice" class="sawoken-choice" /><label class="awoken-icon"></label></template>
<div class="awoken-ul">
<input type="radio" name="sawoken-choice" class="sawoken-choice" value="-1" id="sawoken-choice--1" /><!--
--><input type="radio" name="sawoken-choice" class="sawoken-choice" value="0" id="sawoken-choice-0" /><label for="sawoken-choice-0" class="awoken-icon"></label><!--
--><input type="radio" name="sawoken-choice" class="sawoken-choice" value="1" id="sawoken-choice-1" /><label for="sawoken-choice-1" class="awoken-icon"></label><!--
--><input type="radio" name="sawoken-choice" class="sawoken-choice" value="2" id="sawoken-choice-2" /><label for="sawoken-choice-2" class="awoken-icon"></label><!--
--><input type="radio" name="sawoken-choice" class="sawoken-choice" value="3" id="sawoken-choice-3" /><label for="sawoken-choice-3" class="awoken-icon"></label><!--
--><input type="radio" name="sawoken-choice" class="sawoken-choice" value="4" id="sawoken-choice-4" /><label for="sawoken-choice-4" class="awoken-icon"></label><!--
--><input type="radio" name="sawoken-choice" class="sawoken-choice" value="5" id="sawoken-choice-5" /><label for="sawoken-choice-5" class="awoken-icon"></label><!--
--><input type="radio" name="sawoken-choice" class="sawoken-choice" value="6" id="sawoken-choice-6" /><label for="sawoken-choice-6" class="awoken-icon"></label><!--
--><input type="radio" name="sawoken-choice" class="sawoken-choice" value="7" id="sawoken-choice-7" /><label for="sawoken-choice-7" class="awoken-icon"></label><!--
--><input type="radio" name="sawoken-choice" class="sawoken-choice" value="8" id="sawoken-choice-8" /><label for="sawoken-choice-8" class="awoken-icon"></label><!--
--><input type="radio" name="sawoken-choice" class="sawoken-choice" value="9" id="sawoken-choice-9" /><label for="sawoken-choice-9" class="awoken-icon"></label>
<input type="radio" name="sawoken-choice" class="sawoken-choice" id="sawoken-choice-1" /><label for="sawoken-choice-1" class="awoken-icon"></label>
</div>
</div>
</div>
@ -1022,9 +1014,8 @@ var formation = new Formation(teamsCount,6);
</div>
<div class="subrow">
<button class="m-level-btn-min" value="1"></button>~<button class="m-level-btn-max" value="99"></button>
<br>
<button class="m-level-btn-110 display-none" value="110"></button>
<button class="m-level-btn-120 display-none" value="120"></button>
<button class="m-level-btn-110 display-none" value="110">110</button>
<button class="m-level-btn-120 display-none" value="120">120</button>
</div>
<div class="m-level-exp"></div>
</div>

View File

@ -1397,7 +1397,7 @@
.badge[data-badge-icon='23']::before{
background-position-y:calc(-30px * 23);
}
.badge[data-badge-icon='50']::before{
.badge[data-badge-icon='129']::before{
background-position-x: -36px;
background-position-y: 0;
}

View File

@ -1209,20 +1209,20 @@ icon.inflicts::after
.member-awoken .awoken-ul,
.member-types .types-ul
{
grid-auto-rows: 25.6px;
grid-auto-rows: 21px;
place-content: start center;
}
.member-awoken .awoken-ul
{
grid-gap: 2px;
grid-template-columns: repeat(3, 25.6px);
grid-template-columns: repeat(4, 21px);
}
.member-awoken .awoken-icon,
.member-types .type-icon
{
filter: unset;
transform: scale(0.80);
margin: calc(-32px * (1 - 0.80) / 2);
transform: scale(0.65);
margin: calc(-32px * (1 - 0.65) / 2);
}
.tIf-addition-info,
.team-assist-awoken,
@ -2147,14 +2147,10 @@ icon.inflicts::after
/*未选中的超觉醒半透明,选中的不透明*/
.row-mon-super-awoken .sawoken-choice{display:none;}
.row-mon-super-awoken .sawoken-choice+label
.row-mon-super-awoken .sawoken-choice:not(:checked)+label
{
opacity: var(--search-icon-unchecked);
}
.row-mon-super-awoken .sawoken-choice:checked+label
{
opacity: unset;
}
/*怪物能力横条*/
/*.row-ability{
border-color: #D5AF5B;
@ -2274,11 +2270,10 @@ icon.inflicts::after
{
margin-left: 10px;
}
.row-mon-level .level-value::before,
.row-mon-level .m-level-btn-min::before,
.row-mon-level .m-level-btn-max::before,
.row-mon-level .m-level-btn-110::before,
.row-mon-level .m-level-btn-120::before
.row-mon-level :is(
.level-value,
button
)::before
{
content: "Lv.";
}
@ -2286,11 +2281,9 @@ icon.inflicts::after
{
font-family: var(--game-font-family );
font-size: 22px;
line-height: 35px;
line-height: 22px;
}
/*.row-mon-level .level-value::before{
content: "Lv.";
}*/
.edit-box .setting-box .m-level
{
color: inherit;
@ -2302,27 +2295,30 @@ icon.inflicts::after
width: 100px;
height: 40px;
}
.m-level-btn-min,
.m-level-btn-max,
.m-level-btn-110,
.m-level-btn-120
.row-mon-level button
{
box-sizing: border-box;
font-size: 18px;
padding: 0 3px;
vertical-align: top;
}
.row-mon-level .m-level-btn-min::after,
.row-mon-level .m-level-btn-max::after
.row-mon-level button::before
{
font-size: 0.75em;
}
.row-mon-level :where(
.m-level-btn-min,
.m-level-btn-max,
)::after
{
content: attr(value);
}
.row-mon-level .m-level-btn-110::after
{
content: attr(value) " (+" attr(data-limit-break-incr) "%)";
}
.row-mon-level .m-level-btn-120::after
{
content: attr(value);
content: "(+" attr(data-limit-break-incr) "%)";
color: #00A0D8;
font-size: 0.75em;
display: block;
}
.m-level-btn-110
{

View File

@ -110,7 +110,7 @@ var formation = new Formation(teamsCount,6);
<li><input type="radio" name="team-1-badge" class="badge-radio" value="12" id="team-1-badge-12"><label class="badge" data-badge-icon="12" for="team-1-badge-12"></label></li>
<li><input type="radio" name="team-1-badge" class="badge-radio" value="13" id="team-1-badge-13"><label class="badge" data-badge-icon="13" for="team-1-badge-13"></label></li>
<li><input type="radio" name="team-1-badge" class="badge-radio" value="14" id="team-1-badge-14"><label class="badge" data-badge-icon="14" for="team-1-badge-14"></label></li>
<li><input type="radio" name="team-1-badge" class="badge-radio" value="50" id="team-1-badge-50"><label class="badge" data-badge-icon="50" for="team-1-badge-50"></label></li>
<li><input type="radio" name="team-1-badge" class="badge-radio" value="129" id="team-1-badge-129"><label class="badge" data-badge-icon="129" for="team-1-badge-129"></label></li>
<!--<li><input type="radio" name="team-1-badge" class="badge-radio" value="15" id="team-1-badge-15"><label class="badge" data-badge-icon="15" for="team-1-badge-15"></label></li>
<li><input type="radio" name="team-1-badge" class="badge-radio" value="16" id="team-1-badge-16"><label class="badge" data-badge-icon="16" for="team-1-badge-16"></label></li>-->
</ul>
@ -624,7 +624,7 @@ var formation = new Formation(teamsCount,6);
<li><input type="radio" name="team-2-badge" class="badge-radio" value="12" id="team-2-badge-12"><label class="badge" data-badge-icon="12" for="team-2-badge-12"></label></li>
<li><input type="radio" name="team-2-badge" class="badge-radio" value="13" id="team-2-badge-13"><label class="badge" data-badge-icon="13" for="team-2-badge-13"></label></li>
<li><input type="radio" name="team-2-badge" class="badge-radio" value="14" id="team-2-badge-14"><label class="badge" data-badge-icon="14" for="team-2-badge-14"></label></li>
<li><input type="radio" name="team-2-badge" class="badge-radio" value="50" id="team-2-badge-50"><label class="badge" data-badge-icon="50" for="team-2-badge-50"></label></li>
<li><input type="radio" name="team-2-badge" class="badge-radio" value="129" id="team-2-badge-129"><label class="badge" data-badge-icon="129" for="team-2-badge-129"></label></li>
<!--<li><input type="radio" name="team-2-badge" class="badge-radio" value="15" id="team-2-badge-15"><label class="badge" data-badge-icon="15" for="team-2-badge-15"></label></li>
<li><input type="radio" name="team-2-badge" class="badge-radio" value="16" id="team-2-badge-16"><label class="badge" data-badge-icon="16" for="team-2-badge-16"></label></li>-->
</ul>
@ -1135,7 +1135,7 @@ var formation = new Formation(teamsCount,6);
<li><input type="radio" name="team-3-badge" class="badge-radio" value="12" id="team-3-badge-12"><label class="badge" data-badge-icon="12" for="team-3-badge-12"></label></li>
<li><input type="radio" name="team-3-badge" class="badge-radio" value="13" id="team-3-badge-13"><label class="badge" data-badge-icon="13" for="team-3-badge-13"></label></li>
<li><input type="radio" name="team-3-badge" class="badge-radio" value="14" id="team-3-badge-14"><label class="badge" data-badge-icon="14" for="team-3-badge-14"></label></li>
<li><input type="radio" name="team-3-badge" class="badge-radio" value="50" id="team-3-badge-50"><label class="badge" data-badge-icon="50" for="team-3-badge-50"></label></li>
<li><input type="radio" name="team-3-badge" class="badge-radio" value="129" id="team-3-badge-129"><label class="badge" data-badge-icon="129" for="team-3-badge-129"></label></li>
<!--<li><input type="radio" name="team-3-badge" class="badge-radio" value="15" id="team-3-badge-15"><label class="badge" data-badge-icon="15" for="team-3-badge-15"></label></li>
<li><input type="radio" name="team-3-badge" class="badge-radio" value="16" id="team-3-badge-16"><label class="badge" data-badge-icon="16" for="team-3-badge-16"></label></li>-->
</ul>
@ -2014,18 +2014,10 @@ var formation = new Formation(teamsCount,6);
</div>
<div class="row-mon-super-awoken">
<!--怪物超觉醒-->
<input type="radio" name="sawoken-choice" class="sawoken-choice" value="0" id="sawoken-choice-nosawoken" />
<template id="sawoken-option-icon"><input type="radio" name="sawoken-choice" class="sawoken-choice" /><label class="awoken-icon"></label></template>
<div class="awoken-ul">
<input type="radio" name="sawoken-choice" class="sawoken-choice" value="-1" id="sawoken-choice--1" /><!--
--><input type="radio" name="sawoken-choice" class="sawoken-choice" value="0" id="sawoken-choice-0" /><label for="sawoken-choice-0" class="awoken-icon"></label><!--
--><input type="radio" name="sawoken-choice" class="sawoken-choice" value="1" id="sawoken-choice-1" /><label for="sawoken-choice-1" class="awoken-icon"></label><!--
--><input type="radio" name="sawoken-choice" class="sawoken-choice" value="2" id="sawoken-choice-2" /><label for="sawoken-choice-2" class="awoken-icon"></label><!--
--><input type="radio" name="sawoken-choice" class="sawoken-choice" value="3" id="sawoken-choice-3" /><label for="sawoken-choice-3" class="awoken-icon"></label><!--
--><input type="radio" name="sawoken-choice" class="sawoken-choice" value="4" id="sawoken-choice-4" /><label for="sawoken-choice-4" class="awoken-icon"></label><!--
--><input type="radio" name="sawoken-choice" class="sawoken-choice" value="5" id="sawoken-choice-5" /><label for="sawoken-choice-5" class="awoken-icon"></label><!--
--><input type="radio" name="sawoken-choice" class="sawoken-choice" value="6" id="sawoken-choice-6" /><label for="sawoken-choice-6" class="awoken-icon"></label><!--
--><input type="radio" name="sawoken-choice" class="sawoken-choice" value="7" id="sawoken-choice-7" /><label for="sawoken-choice-7" class="awoken-icon"></label><!--
--><input type="radio" name="sawoken-choice" class="sawoken-choice" value="8" id="sawoken-choice-8" /><label for="sawoken-choice-8" class="awoken-icon"></label><!--
--><input type="radio" name="sawoken-choice" class="sawoken-choice" value="9" id="sawoken-choice-9" /><label for="sawoken-choice-9" class="awoken-icon"></label>
<input type="radio" name="sawoken-choice" class="sawoken-choice" id="sawoken-choice-1" /><label for="sawoken-choice-1" class="awoken-icon"></label>
</div>
</div>
</div>
@ -2058,9 +2050,8 @@ var formation = new Formation(teamsCount,6);
</div>
<div class="subrow">
<button class="m-level-btn-min" value="1"></button>~<button class="m-level-btn-max" value="99"></button>
<br>
<button class="m-level-btn-110 display-none" value="110"></button>
<button class="m-level-btn-120 display-none" value="120"></button>
<button class="m-level-btn-110 display-none" value="110">110</button>
<button class="m-level-btn-120 display-none" value="120">120</button>
</div>
<div class="m-level-exp"></div>
</div>