diff --git a/script.js b/script.js index 9506ca46..4e626ba0 100644 --- a/script.js +++ b/script.js @@ -1631,6 +1631,10 @@ class PlayerDataCard { m.awoken = this.awoken; m.skilllevel = this.skillLevel; m.plus = [this.plus.hp,this.plus.atk,this.plus.rcv]; + //游戏数据里大于297的只储存HP + if (m.plus.every(v=>v>=99) && m.plus[0]>=100) { + m.plus.fill(m.plus[0]); + } m.sawoken = this.superAwoken; m.latent = this.latent.concat(); return m; @@ -5525,22 +5529,40 @@ function initialize() { //加蛋 const rowMonPlus = settingBox.querySelector(".row-mon-plus"); const monEditAddHp = rowMonPlus.querySelector(".plus-box .m-hp-li .m-plus"); - monEditAddHp.onchange = reCalculateAbility; const monEditAddAtk = rowMonPlus.querySelector(".plus-box .m-atk-li .m-plus"); - monEditAddAtk.onchange = reCalculateAbility; const monEditAddRcv = rowMonPlus.querySelector(".plus-box .m-rcv-li .m-plus"); - monEditAddRcv.onchange = reCalculateAbility; + const plusNodeArr = [ + monEditAddHp, + monEditAddAtk, + monEditAddRcv + ]; + plusNodeArr.forEach((node)=>{ + node.onchange = checkPlus; //先检查加值 + node.addEventListener("change", reCalculateAbility); //重新计算三维 + }); //297按钮 const monEditPlusFastSettings = Array.from(rowMonPlus.querySelectorAll(".m-plus-fast-setting")); monEditPlusFastSettings.forEach(btn=>btn.onclick=plusFastSetting); function plusFastSetting(){ - const sumPlus = parseInt(this.value, 10); + const sumPlus = parseInt(this.value, 10) || 0; const one_plus = sumPlus * 99; - monEditAddHp.value = one_plus; - monEditAddAtk.value = one_plus; - monEditAddRcv.value = one_plus; + plusNodeArr.forEach(node=>node.value = one_plus); + checkPlus.call(plusNodeArr[0]); reCalculateAbility(); } + function checkPlus(event){ + const thisValue = parseInt(this.value, 10); //目前修改的数据 + if (!Number.isInteger(thisValue)) return; //如果不能被解析为整数,则返回 + plusNodeArr.forEach(node=>node.parentElement.classList.toggle("gt297", thisValue >= 100)); + const currentValues = plusNodeArr.map(node=>parseInt(node.value, 10) || 0); + if (currentValues.some(v=>v>=100)) { + if (thisValue >= 100) { + plusNodeArr.filter(node=>node!==this).forEach(node=>node.value = thisValue); + } else { + plusNodeArr.filter(node=>node!==this).forEach(node=>node.value = Math.min(99,parseInt(node.value, 10) || 0)); + } + } + } //潜觉 const monEditLatentUl = settingBox.querySelector(".row-mon-latent .latent-ul"); @@ -6198,6 +6220,7 @@ function editMember(teamNum, isAssist, indexInTeam) { if (mon.awoken !== undefined && monEditAwokens[mon.awoken]) monEditAwokens[mon.awoken].click(); //涉及到觉醒数字的显示,所以需要点一下 + monEditAddHp.onchange(); editBox.reCalculateExp(); editBox.reCalculateAbility(); editBox.refreshLatent(); diff --git a/style.css b/style.css index ad66266d..c339f4cd 100644 --- a/style.css +++ b/style.css @@ -792,12 +792,17 @@ body.block-width-7 .formation-box{ .monster .plus.gt297>*::before { -webkit-text-stroke: 2px black; } -.monster .plus.gt297>*::after { +.monster .plus.gt297>*::after, +.row-mon-plus .plus-value.gt297 +{ background-image: linear-gradient(#FF7711 25%, #FFEE33 80%); color: transparent; -webkit-background-clip: text; background-clip: text; } +.row-mon-plus .plus-value.gt297 { + text-shadow: none; +} .monster.null>div, .monster.delay>div @@ -2935,6 +2940,10 @@ body.use-sticky .sticky-box{ font-family: inherit; font-size: inherit; text-shadow: inherit; + background-image: inherit; + -webkit-background-clip: inherit; + background-clip: inherit; + box-sizing: border-box; width: 3em; line-height: 28px;