@@ -1631,6 +1631,10 @@ class PlayerDataCard {
16311631 m . awoken = this . awoken ;
16321632 m . skilllevel = this . skillLevel ;
16331633 m . plus = [ this . plus . hp , this . plus . atk , this . plus . rcv ] ;
1634+ //游戏数据里大于297的只储存HP
1635+ if ( m . plus . every ( v => v >= 99 ) && m . plus [ 0 ] >= 100 ) {
1636+ m . plus . fill ( m . plus [ 0 ] ) ;
1637+ }
16341638 m . sawoken = this . superAwoken ;
16351639 m . latent = this . latent . concat ( ) ;
16361640 return m ;
@@ -5525,22 +5529,40 @@ function initialize() {
55255529 //加蛋
55265530 const rowMonPlus = settingBox . querySelector ( ".row-mon-plus" ) ;
55275531 const monEditAddHp = rowMonPlus . querySelector ( ".plus-box .m-hp-li .m-plus" ) ;
5528- monEditAddHp . onchange = reCalculateAbility ;
55295532 const monEditAddAtk = rowMonPlus . querySelector ( ".plus-box .m-atk-li .m-plus" ) ;
5530- monEditAddAtk . onchange = reCalculateAbility ;
55315533 const monEditAddRcv = rowMonPlus . querySelector ( ".plus-box .m-rcv-li .m-plus" ) ;
5532- monEditAddRcv . onchange = reCalculateAbility ;
5534+ const plusNodeArr = [
5535+ monEditAddHp ,
5536+ monEditAddAtk ,
5537+ monEditAddRcv
5538+ ] ;
5539+ plusNodeArr . forEach ( ( node ) => {
5540+ node . onchange = checkPlus ; //先检查加值
5541+ node . addEventListener ( "change" , reCalculateAbility ) ; //重新计算三维
5542+ } ) ;
55335543 //297按钮
55345544 const monEditPlusFastSettings = Array . from ( rowMonPlus . querySelectorAll ( ".m-plus-fast-setting" ) ) ;
55355545 monEditPlusFastSettings . forEach ( btn => btn . onclick = plusFastSetting ) ;
55365546 function plusFastSetting ( ) {
5537- const sumPlus = parseInt ( this . value , 10 ) ;
5547+ const sumPlus = parseInt ( this . value , 10 ) || 0 ;
55385548 const one_plus = sumPlus * 99 ;
5539- monEditAddHp . value = one_plus ;
5540- monEditAddAtk . value = one_plus ;
5541- monEditAddRcv . value = one_plus ;
5549+ plusNodeArr . forEach ( node => node . value = one_plus ) ;
5550+ checkPlus . call ( plusNodeArr [ 0 ] ) ;
55425551 reCalculateAbility ( ) ;
55435552 }
5553+ function checkPlus ( event ) {
5554+ const thisValue = parseInt ( this . value , 10 ) ; //目前修改的数据
5555+ if ( ! Number . isInteger ( thisValue ) ) return ; //如果不能被解析为整数,则返回
5556+ plusNodeArr . forEach ( node => node . parentElement . classList . toggle ( "gt297" , thisValue >= 100 ) ) ;
5557+ const currentValues = plusNodeArr . map ( node => parseInt ( node . value , 10 ) || 0 ) ;
5558+ if ( currentValues . some ( v => v >= 100 ) ) {
5559+ if ( thisValue >= 100 ) {
5560+ plusNodeArr . filter ( node => node !== this ) . forEach ( node => node . value = thisValue ) ;
5561+ } else {
5562+ plusNodeArr . filter ( node => node !== this ) . forEach ( node => node . value = Math . min ( 99 , parseInt ( node . value , 10 ) || 0 ) ) ;
5563+ }
5564+ }
5565+ }
55445566
55455567 //潜觉
55465568 const monEditLatentUl = settingBox . querySelector ( ".row-mon-latent .latent-ul" ) ;
@@ -6198,6 +6220,7 @@ function editMember(teamNum, isAssist, indexInTeam) {
61986220 if ( mon . awoken !== undefined && monEditAwokens [ mon . awoken ] )
61996221 monEditAwokens [ mon . awoken ] . click ( ) ; //涉及到觉醒数字的显示,所以需要点一下
62006222
6223+ monEditAddHp . onchange ( ) ;
62016224 editBox . reCalculateExp ( ) ;
62026225 editBox . reCalculateAbility ( ) ;
62036226 editBox . refreshLatent ( ) ;
0 commit comments