Builds / 1.13.89
Update 1.13.89
Compared with 1.13.84 · published Wed, 19 Aug 2026 06:32:35 GMT · live channel
No summary yet.
Text changes 2
| Key | Text | |
|---|---|---|
| GAME_1597 | ~ |
|
| GAME_1605 | ~ |
|
Translations touched: de (2), es (2), fr (2), id (2), it (2), ja (2), ko (2), pt (2), ru (2), th (2), tr (2), vi (2), zh-CN (2), zh-TW (2)
Code 35 changes in 13 classes
Minified client code with short names blanked for diffing. Class names are real.
- TowerClearDeckItemRenderer 43
- TowerClearDeckPopup 32
- TowerReadyPopup 27
- BattleController 10
- TowerService 6
- ConfigManager 5
- GameOverPopup 4
- VersionManager 1
- TowerSimulationPopup 1
- Delay 1
- NetworkTimeout 1
- RecaptchaVerifier 1
- BrowserPopupRedirectResolver 1
TowerClearDeckItemRenderer 2 hunks, 43 statements
- super(),qt(this,"btnTabRecent"),qt(this,"btnTabBest"),qt(this,"lblEmpty"),qt(this,"rows",[]),qt(this,"currentTab","recent"),qt(this,"recentList",[]),qt(this,"bestList",[]),qt(this,"applyCallback",null),this.outSideClickHide=!0,this.width=640,this.height=640,this.title=LG.getText("GAME_1622","클리어덱"); - const i=this.width-50; - this.btnTabRecent=new oG(LG.getText("GAME_1623","최근")),this.btnTabRecent.color=oG.BLUE,this.btnTabRecent.width=110,this.btnTabRecent.height=34,this.btnTabRecent.x=25,this.btnTabRecent.y=70,this.btnTabRecent.onClick=()=>this.setTab("recent"),this.contentContainer.addChild(this.btnTabRecent),this.btnTabBest=new oG(LG.getText("GAME_1624","추천")),this.btnTabBest.color=oG.BLUE,this.btnTabBest.width=110,this.btnTabBest.height=34,this.btnTabBest.x=143,this.btnTabBest.y=70,this.btnTabBest.onClick=()=>this.setTab("best"),this.contentContainer.addChild(this.btnTabBest); - const s=this.btnTabRecent.y+this.btnTabRecent.height+12; - for(let e=0; - e<t.ROW_COUNT; - e++){ - const n=new Ue; - n.x=25,n.y=s+98*e,this.contentContainer.addChild(n); - const h=new DB; - h.setIndex(2),h.width=i,h.height=92,n.addChild(h); - const r=new hD("",16777215,wL.DEFAULT_OUTLINE_FONT_OPTION_16); - r.textColor=16777215,r.x=12,r.y=8,n.addChild(r); - const o=new oG(LG.getText("GAME_1626","적용")); - o.color=oG.GREEN,o.width=86,o.height=28,o.x=i-o.width-10,o.y=5,o.onClick=()=>this.onClickApply(e),n.addChild(o); - const a=new oG(t.likeText(0)); - a.color=oG.BROWN,a.width=110,a.height=28,a.x=o.x-a.width-8,a.y=5,a.onClick=()=>this.onClickLike(e),n.addChild(a); - const c=[]; + super(),qt(this,"bg"),qt(this,"lblName"),qt(this,"icons",[]),qt(this,"likeBox",new Ue),qt(this,"likeIcon"),qt(this,"lblLike"),qt(this,"btnApply"),qt(this,"vo",null),this.bg=new DB,this.bg.setIndex(2),this.bg.x=5,this.bg.width=t.ROW_W,this.bg.height=t.ROW_H,this.addChild(this.bg),this.lblName=new hD("",16777215,wL.DEFAULT_OUTLINE_FONT_OPTION_16),this.lblName.textColor=16777215,this.lblName.eventMode="none",this.lblName.x=this.bg.x+12,this.lblName.y=8,this.addChild(this.lblName),this.btnApply=new tzt(LG.getText("GAME_1626","적용"),86),this.btnApply.autoResize=!1,this.btnApply.lbl.textSize=15,this.btnApply.width=86,this.btnApply.height=28,this.btnApply.x=this.bg.x+this.bg.width-this.btnApply.width-10,this.btnApply.y=5,this.btnApply.onClick=()=>{ + this.vo&&t.onApplyClick&&t.onApplyClick(this.vo)} + ,this.addChild(this.btnApply),this.likeIcon=new $e(tS.getTexture("UI_Ekkorr",t.LIKE_ICON)),this.likeIcon.scale.set(.6),this.likeIcon.eventMode="none",this.likeBox.addChild(this.likeIcon),this.lblLike=new hD("0",16777215,wL.DEFAULT_OUTLINE_FONT_OPTION_16),this.lblLike.textColor=16777215,this.lblLike.eventMode="none",this.lblLike.x=this.likeIcon.width+4,this.lblLike.y=.5*(this.likeIcon.height-this.lblLike.height),this.likeBox.addChild(this.lblLike),this.likeBox.eventMode="static",this.likeBox.cursor="pointer",this.likeBox.on("pointertap",()=>{ + this.vo&&t.onLikeClick&&t.onLikeClick(this.vo)} + ),this.likeBox.y=5+.5*(this.btnApply.height-this.likeIcon.height),this.addChild(this.likeBox);
- t.scale=.42,t.x=10+47.5*i,t.y=40,n.addChild(t),c.push(t)} - this.rows.push({ - root:n,lblName:r,btnLike:a,btnApply:o,icons:c} - )} - this.lblEmpty=new hD(LG.getText("GAME_1627","아직 클리어한 유저가 없습니다."),16777215,wL.DEFAULT_OUTLINE_FONT_OPTION_18),this.lblEmpty.textColor=13421772,this.lblEmpty.y=s+180,this.lblEmpty.visible=!1,this.contentContainer.addChild(this.lblEmpty)} + t.scale=.42,t.x=this.bg.x+10+47.5*i,t.y=40,this.addChild(t),this.icons.push(t)} + } + setData(i){ + const s=i; + this.vo=s,this.lblName.text=`${ + s.name} + ( Lv. ${ + s.knightLevel} + )`,this.lblLike.text=String(s.likeCount),this.lblLike.x=this.likeIcon.width+4,this.likeBox.alpha=s.liked||s.mine?.5:1,this.likeBox.x=this.btnApply.x-8-(this.likeIcon.width+4+this.lblLike.width); + const e=String(s.deck||"").split("|"); + for(let n=0; + n<t.SLOT_COUNT; + n++){ + const t=this.icons[n],i=(e[n]||"0_0").split("_"),s=parseInt(i[0],10)||0,h=parseInt(i[1],10)||0; + s>0?(t.visible=!0,t.setDataWithKindNum(s,h)):t.visible=!1} + } + } + ; + zt(Y0t,"TowerClearDeckItemRenderer"),qt(Y0t,"onLikeClick",null),qt(Y0t,"onApplyClick",null),qt(Y0t,"LIKE_ICON","Icon_Heart2"),qt(Y0t,"SLOT_COUNT",12),qt(Y0t,"ROW_W",610),qt(Y0t,"ROW_H",92); + let X0t=Y0t; + const J0t=class t extends wG{ + constructor(){ + super(),qt(this,"btnTabRecent"),qt(this,"btnTabBest"),qt(this,"list"),qt(this,"lblEmpty"),qt(this,"currentTab","recent"),qt(this,"recentList",[]),qt(this,"bestList",[]),qt(this,"applyCallback",null),this.outSideClickHide=!0,this.width=640,this.height=640,this.title=LG.getText("GAME_1622","클리어덱"),this.btnTabRecent=new tzt(LG.getText("GAME_1623","최근"),130,40),this.btnTabRecent.height=40,this.btnTabRecent.setCompactStyle(16,40),this.btnTabRecent.x=25,this.btnTabRecent.y=66,this.btnTabRecent.onClick=()=>this.setTab("recent"),this.contentContainer.addChild(this.btnTabRecent),this.btnTabBest=new tzt(LG.getText("GAME_1624","추천"),130,40),this.btnTabBest.height=40,this.btnTabBest.setCompactStyle(16,40),this.btnTabBest.x=this.btnTabRecent.x+this.btnTabRecent.width+6,this.btnTabBest.y=this.btnTabRecent.y,this.btnTabBest.onClick=()=>this.setTab("best"),this.contentContainer.addChild(this.btnTabBest); + const t=this.btnTabRecent.y+this.btnTabRecent.height+10,i=this.height-t-20; + this.list=new U5(X0t,640,i),this.list.x=10,this.list.y=t,this.contentContainer.addChild(this.list),this.lblEmpty=new hD(LG.getText("GAME_1627","아직 클리어한 유저가 없습니다."),16777215,wL.DEFAULT_OUTLINE_FONT_OPTION_18),this.lblEmpty.textColor=13421772,this.lblEmpty.y=t+180,this.lblEmpty.visible=!1,this.contentContainer.addChild(this.lblEmpty)}
TowerClearDeckPopup 7 hunks, 32 statements
- static likeText(t){ - return LG.getValueReplace("GAME_1625","##",t,`좋아요 ${ - t} - `)}
- F`,this.setTab("recent"),this.show()):SG.getInstance().showError(s)} + F`,X0t.onLikeClick=this.onClickLike.bind(this),X0t.onApplyClick=this.onClickApply.bind(this),this.setTab("recent"),this.show()):SG.getInstance().showError(s)}
- this.currentTab=t,this.btnTabRecent.alpha="recent"===t?1:.5,this.btnTabBest.alpha="best"===t?1:.5,this.renderList()} + this.currentTab=t,this.btnTabRecent.selected="recent"===t,this.btnTabBest.selected="best"===t,this.renderList()}
- this.lblEmpty.visible=0===i.length,this.lblEmpty.visible&&(this.lblEmpty.x=.5*(this.width-this.lblEmpty.width)); - for(let s=0; - s<this.rows.length; - s++){ - const e=this.rows[s],n=i[s]; - if(!n){ - e.root.visible=!1; - continue} - e.root.visible=!0,e.lblName.text=`${ - n.name} - ( Lv. ${ - n.knightLevel} - )`,e.btnLike.text=t.likeText(n.likeCount),e.btnLike.alpha=n.liked||n.mine?.5:1; - const h=String(n.deck||"").split("|"); - for(let i=0; - i<t.SLOT_COUNT; - i++){ - const t=e.icons[i],s=(h[i]||"0_0").split("_"),n=parseInt(s[0],10)||0,r=parseInt(s[1],10)||0; - n>0?(t.visible=!0,t.setDataWithKindNum(n,r)):t.visible=!1} - } - } + this.lblEmpty.visible=0===t.length,this.lblEmpty.visible&&(this.lblEmpty.x=.5*(this.width-this.lblEmpty.width)),this.list.dataProvider=[...t]}
- const i=this.getCurrentList()[t]; - if(!i)return;
- const i=this.getCurrentList()[t]; - i&&this.applyCallback&&(this.applyCallback(i.deck),this.hide())} + this.applyCallback&&(this.applyCallback(t.deck,t.id),this.hide())}
- zt(Y0t,"TowerClearDeckPopup"),qt(Y0t,"_instance"),qt(Y0t,"SLOT_COUNT",12),qt(Y0t,"ROW_COUNT",5); + zt(J0t,"TowerClearDeckPopup"),qt(J0t,"_instance");
TowerReadyPopup 10 hunks, 27 statements
- super(),qt(this,"vsImage",new $e(tS.getTexture("UI_Ekkorr","UI_VS"))),qt(this,"lblTitle",new hD("",16777215,wL.DEFAULT_OUTLINE_FONT_OPTION_17)),qt(this,"allyBtns",[]),qt(this,"enemyBtns",[]),qt(this,"battleContainer",new Ue),qt(this,"btnStart",new oG("시작")),qt(this,"btnClearAll"),qt(this,"btnClearDecks"),qt(this,"lblCapacity",new hD("",16777215,wL.DEFAULT_OUTLINE_FONT_OPTION_16)),qt(this,"lblEntryText",new hD("",16768358,wL.DEFAULT_OUTLINE_FONT_OPTION_16)),qt(this,"heroList"),qt(this,"selectedSlot",-1),qt(this,"teamKindNums",[]),qt(this,"teamTrans",[]),qt(this,"heroVOs",[]),qt(this,"floorVO",null),qt(this,"enemyOverlays",[]),qt(this,"maxAllies",12); + super(),qt(this,"vsImage",new $e(tS.getTexture("UI_Ekkorr","UI_VS"))),qt(this,"lblTitle",new hD("",16777215,wL.DEFAULT_OUTLINE_FONT_OPTION_17)),qt(this,"allyBtns",[]),qt(this,"enemyBtns",[]),qt(this,"battleContainer",new Ue),qt(this,"btnStart",new oG("시작")),qt(this,"btnClearAll"),qt(this,"btnClearDecks"),qt(this,"lblCapacity",new hD("",16777215,wL.DEFAULT_OUTLINE_FONT_OPTION_16)),qt(this,"lblEntryText",new hD("",16768358,wL.DEFAULT_OUTLINE_FONT_OPTION_16)),qt(this,"entryFullText",""),qt(this,"heroList"),qt(this,"selectedSlot",-1),qt(this,"teamKindNums",[]),qt(this,"teamTrans",[]),qt(this,"heroVOs",[]),qt(this,"floorVO",null),qt(this,"appliedDeckId",0),qt(this,"appliedDeckFloor",0),qt(this,"appliedDeckSnapshot",""),qt(this,"enemyOverlays",[]),qt(this,"maxAllies",12);
- this.recenterBattleContainer(),this.lblCapacity.y=this.lblTitle.y,this.addChild(this.lblCapacity),this.updateCapacityPosition(); + this.recenterBattleContainer(); + const h=120; + this.btnClearAll=new tzt(LG.getText("GAME_1620","모두 비우기"),h),this.btnClearAll.autoResize=!1,this.btnClearAll.lbl.textSize=15,this.btnClearAll.width=h,this.btnClearAll.height=30,this.btnClearAll.x=this.bg.width-this.btnClearAll.width-15,this.btnClearAll.y=this.lblTitle.y+.5*(this.lblTitle.height-this.btnClearAll.height),this.btnClearAll.onClick=()=>this.onClearAllClick(),this.addChild(this.btnClearAll),this.btnClearDecks=new tzt(LG.getText("GAME_1622","클리어덱"),h),this.btnClearDecks.autoResize=!1,this.btnClearDecks.lbl.textSize=15,this.btnClearDecks.width=h,this.btnClearDecks.height=30,this.btnClearDecks.x=this.btnClearAll.x-this.btnClearDecks.width-4,this.btnClearDecks.y=this.btnClearAll.y,this.btnClearDecks.onClick=()=>this.onClickClearDecks(),this.btnClearDecks.visible=t.SHOW_CLEAR_DECKS,this.addChild(this.btnClearDecks);
- this.lblEntryText.x=15,this.lblEntryText.y=h,this.addChild(this.lblEntryText),this.btnClearAll=new oG(LG.getText("GAME_1620","모두 비우기")),this.btnClearAll.color=oG.BROWN,this.btnClearAll.width=120,this.btnClearAll.height=30,this.btnClearAll.x=this.bg.width-this.btnClearAll.width-15,this.btnClearAll.y=h-5,this.btnClearAll.onClick=()=>this.onClearAllClick(),this.addChild(this.btnClearAll),this.btnClearDecks=new oG(LG.getText("GAME_1622","클리어덱")),this.btnClearDecks.color=oG.BLUE,this.btnClearDecks.width=120,this.btnClearDecks.height=30,this.btnClearDecks.x=this.btnClearAll.x-this.btnClearDecks.width-8,this.btnClearDecks.y=this.btnClearAll.y,this.btnClearDecks.onClick=()=>this.onClickClearDecks(),this.btnClearDecks.visible=t.SHOW_CLEAR_DECKS,this.addChild(this.btnClearDecks); + this.lblEntryText.x=15,this.lblEntryText.y=r,this.addChild(this.lblEntryText),this.lblCapacity.y=r,this.addChild(this.lblCapacity),this.updateCapacityPosition();
- this.lblCapacity.x=this.bg.width-this.lblCapacity.width-15} + this.lblCapacity.x=this.bg.width-this.lblCapacity.width-15,this.fitEntryText()} + fitEntryText(){ + const i=this.lblCapacity.x-this.lblEntryText.x-10; + if(i<=0)return; + let s=t.ENTRY_FONT_MAX; + for(this.lblEntryText.textSize=s,this.lblEntryText.text=this.entryFullText; + this.lblEntryText.width>i&&s>t.ENTRY_FONT_MIN; + )s--,this.lblEntryText.textSize=s; + if(this.lblEntryText.width<=i)return; + let e=this.entryFullText; + for(; + e.length>1&&this.lblEntryText.width>i; + )e=e.slice(0,-1),this.lblEntryText.text=`${ + e.trimEnd()} + …`}
- this.lblEntryText.text=`${ + this.entryFullText=`${
- `,this.maxAllies=Math.max(1,Math.min(12,(null==(i=t.battleVO)?void 0:i.star1)||12)); + `,this.fitEntryText(),this.maxAllies=Math.max(1,Math.min(12,(null==(i=t.battleVO)?void 0:i.star1)||12));
- applyRecommendedDeck(t){ + applyRecommendedDeck(t,i){ + var s;
- this.selectedSlot=-1,this.pruneInvalidTeamEntries(),this.clampTeamToMax(),this.updateAllyButtons(),this.updateHeroList(),this.saveTeamToLocal(),WF.getInstance().showMessage(LG.getText("GAME_1630","덱을 적용했습니다.\n보유하지 않았거나 입장 조건에 맞지 않는 영웅은 제외됩니다."))} + this.selectedSlot=-1,this.pruneInvalidTeamEntries(),this.clampTeamToMax(),this.updateAllyButtons(),this.updateHeroList(),this.saveTeamToLocal(),this.appliedDeckId=i>0?i:0,this.appliedDeckFloor=(null==(s=this.floorVO)?void 0:s.floor)??0,this.appliedDeckSnapshot=this.buildDeckString(),WF.getInstance().showMessage(LG.getText("GAME_1630","덱을 적용했습니다.\n보유하지 않았거나 입장 조건에 맞지 않는 영웅은 제외됩니다."))}
- const t=await pL.getInstance().tower.enter(this.floorVO.floor,this.buildDeckString(),!0); + const t=this.buildDeckString(),i=this.appliedDeckId>0&&this.appliedDeckFloor===this.floorVO.floor&&this.appliedDeckSnapshot===t?this.appliedDeckId:void 0,s=await pL.getInstance().tower.enter(this.floorVO.floor,t,i,!0);
- zt(J0t,"TowerReadyPopup"),qt(J0t,"_instance"),qt(J0t,"SHOW_CLEAR_DECKS",!1); + zt(Z0t,"TowerReadyPopup"),qt(Z0t,"_instance"),qt(Z0t,"SHOW_CLEAR_DECKS",!0),qt(Z0t,"ENTRY_FONT_MAX",16),qt(Z0t,"ENTRY_FONT_MIN",12);
BattleController 3 hunks, 10 statements
+ if(zR.getInstance().battleContext===NR.Normal){
+ }
- i.battleController=this,i.setData(t),zR.getInstance().applyToHero(i),i.hp=i.maxHp,i.healthBar.setHealthColor(!0),i.kindNum=t.kindNum,i.id=t.id; + i.battleController=this; + const s=zR.getInstance(),e=s.battleContext; + e!==NR.Normal&&s.setBattleContext(NR.Normal); + try{ + i.setData(t),s.applyToHero(i)} + finally{ + e!==NR.Normal&&s.setBattleContext(e)} + i.hp=i.maxHp,i.healthBar.setHealthColor(!0),i.kindNum=t.kindNum,i.id=t.id;
TowerService 2 hunks, 6 statements
- async enter(t,i,s=!1){ - return this.post(QR.TOWER.ENTER,i?{ - floor:t,deck:i} - :{ + async enter(t,i,s,e=!1){ + const n={
- ,s)} + ; + return i&&(n.deck=i),s&&s>0&&(n.appliedDeckId=s),this.post(QR.TOWER.ENTER,n,e)}
ConfigManager 3 hunks, 5 statements
- (s||e>this.wave)&&bD.setTrusted(e),this.wave<=0&&bD.setTrusted(1),this.maxWave=t.safeNum(i.maxWave,this.maxWave),this.maxTeamSlots=t.safeNum(i.maxTeamSlots,this.maxTeamSlots),t.applyNumRevive(i.numRevive),this.numRevive30=Number(i.numRevive30)||0,this.heart=Number(i.heart)||0,this.lastReviveTime=i.lastReviveTime?new Date(i.lastReviveTime).getTime():0,this.updateReviveBuffs(),this.tribe=Number(i.tribe)||0,this.adsEndTime=i.adsEndTime?new Date(i.adsEndTime).getTime():0,this.assistantEndTime=i.assistantEndTime?new Date(i.assistantEndTime).getTime():0,this.assistantPassEndTime=i.assistantPassEndTime?new Date(i.assistantPassEndTime).getTime():0,this.soulRestStartAt=i.soulRestStartAt?new Date(i.soulRestStartAt).getTime():0,this.soulRestEndAt=i.soulRestEndAt?new Date(i.soulRestEndAt).getTime():0,this.bestMedalPerMin=Number(i.bestMedalPerMin)||0,this.bestMedalPerMinAt=i.bestMedalPerMinAt?new Date(i.bestMedalPerMinAt).getTime():0,this.soulRestNextStartAt=i.soulRestNextStartAt?new Date(i.soulRestNextStartAt).getTime():0,this.soulRestSkipCount=Number(i.soulRestSkipCount)||0,void 0!==i.speed15EndTime&&null!==i.speed15EndTime&&(this.speed15EndTime=new Date(i.speed15EndTime).getTime()),void 0!==i.speed20EndTime&&null!==i.speed20EndTime&&(this.speed20EndTime=new Date(i.speed20EndTime).getTime()),this.medalBuffLevel=i.medalBuffLevel,this.goldBuffLevel=i.goldBuffLevel,this.daySkipLevel=i.daySkipLevel,i.activeSkills&&(this.activeSkills=i.activeSkills.split("|").map(Number)),RL.myGuildId=i.guildId} + (s||e>this.wave&&!t.isPreReviveSnapshot(i))&&bD.setTrusted(e),this.wave<=0&&bD.setTrusted(1),this.maxWave=t.safeNum(i.maxWave,this.maxWave),this.maxTeamSlots=t.safeNum(i.maxTeamSlots,this.maxTeamSlots),t.applyNumRevive(i.numRevive),this.numRevive30=Number(i.numRevive30)||0,this.heart=Number(i.heart)||0,this.lastReviveTime=i.lastReviveTime?new Date(i.lastReviveTime).getTime():0,this.updateReviveBuffs(),this.tribe=Number(i.tribe)||0,this.adsEndTime=i.adsEndTime?new Date(i.adsEndTime).getTime():0,this.assistantEndTime=i.assistantEndTime?new Date(i.assistantEndTime).getTime():0,this.assistantPassEndTime=i.assistantPassEndTime?new Date(i.assistantPassEndTime).getTime():0,this.soulRestStartAt=i.soulRestStartAt?new Date(i.soulRestStartAt).getTime():0,this.soulRestEndAt=i.soulRestEndAt?new Date(i.soulRestEndAt).getTime():0,this.bestMedalPerMin=Number(i.bestMedalPerMin)||0,this.bestMedalPerMinAt=i.bestMedalPerMinAt?new Date(i.bestMedalPerMinAt).getTime():0,this.soulRestNextStartAt=i.soulRestNextStartAt?new Date(i.soulRestNextStartAt).getTime():0,this.soulRestSkipCount=Number(i.soulRestSkipCount)||0,void 0!==i.speed15EndTime&&null!==i.speed15EndTime&&(this.speed15EndTime=new Date(i.speed15EndTime).getTime()),void 0!==i.speed20EndTime&&null!==i.speed20EndTime&&(this.speed20EndTime=new Date(i.speed20EndTime).getTime()),this.medalBuffLevel=i.medalBuffLevel,this.goldBuffLevel=i.goldBuffLevel,this.daySkipLevel=i.daySkipLevel,i.activeSkills&&(this.activeSkills=i.activeSkills.split("|").map(Number)),RL.myGuildId=i.guildId}
+ static isPreReviveSnapshot(i){ + const s=t.safeNum(null==i?void 0:i.numRevive,-1); + return!(s<0)&&s<Math.max(this.numRevive,this.pendingNumRevive)}
- (s||n>this.wave)&&bD.setTrusted(n),this.wave<=0&&bD.setTrusted(1),this.maxWave=t.safeNum(e.maxWave,this.maxWave),this.accuMedal=t.safeNum(e.accuMedal,this.accuMedal),this.accuWave=t.safeNum(e.accuWave,this.accuWave),this.medalBuyCount=t.safeNum(e.medalBuyCount,this.medalBuyCount),this.needRevive=Boolean(e.needRevive),this.speed15EndTime=new Date(e.speed15EndTime).getTime(),this.speed20EndTime=new Date(e.speed20EndTime).getTime(),this.medalBuffLevel=t.safeNum(e.medalBuffLevel,this.medalBuffLevel),this.goldBuffLevel=t.safeNum(e.goldBuffLevel,this.goldBuffLevel),this.daySkipLevel=t.safeNum(e.daySkipLevel,this.daySkipLevel),this.lastReviveTime=e.lastReviveTime?new Date(e.lastReviveTime).getTime():0,t.applyNumRevive(e.numRevive),this.numRevive30=t.safeNum(e.numRevive30,this.numRevive30),this.heart=t.safeNum(e.heart,this.heart),this.tribe=t.safeNum(e.tribe,this.tribe),this.adsEndTime=e.adsEndTime?new Date(e.adsEndTime).getTime():0,this.assistantEndTime=e.assistantEndTime?new Date(e.assistantEndTime).getTime():0,this.assistantPassEndTime=e.assistantPassEndTime?new Date(e.assistantPassEndTime).getTime():0,this.soulRestStartAt=e.soulRestStartAt?new Date(e.soulRestStartAt).getTime():0,this.soulRestEndAt=e.soulRestEndAt?new Date(e.soulRestEndAt).getTime():0,this.bestMedalPerMin=Number(e.bestMedalPerMin)||0,this.bestMedalPerMinAt=e.bestMedalPerMinAt?new Date(e.bestMedalPerMinAt).getTime():0,this.soulRestNextStartAt=e.soulRestNextStartAt?new Date(e.soulRestNextStartAt).getTime():0,this.soulRestSkipCount=Number(e.soulRestSkipCount)||0,this.maxTeamSlots=t.safeNum(e.maxTeamSlots,this.maxTeamSlots),this.updateReviveBuffs(),e.activeSkills&&(this.activeSkills=e.activeSkills.split("|").map(Number)),"honorCoin"in e&&(this.honorCoin=Number(e.honorCoin))} + (s||n>this.wave&&!t.isPreReviveSnapshot(e))&&bD.setTrusted(n),this.wave<=0&&bD.setTrusted(1),this.maxWave=t.safeNum(e.maxWave,this.maxWave),this.accuMedal=t.safeNum(e.accuMedal,this.accuMedal),this.accuWave=t.safeNum(e.accuWave,this.accuWave),this.medalBuyCount=t.safeNum(e.medalBuyCount,this.medalBuyCount),this.needRevive=Boolean(e.needRevive),this.speed15EndTime=new Date(e.speed15EndTime).getTime(),this.speed20EndTime=new Date(e.speed20EndTime).getTime(),this.medalBuffLevel=t.safeNum(e.medalBuffLevel,this.medalBuffLevel),this.goldBuffLevel=t.safeNum(e.goldBuffLevel,this.goldBuffLevel),this.daySkipLevel=t.safeNum(e.daySkipLevel,this.daySkipLevel),this.lastReviveTime=e.lastReviveTime?new Date(e.lastReviveTime).getTime():0,t.applyNumRevive(e.numRevive),this.numRevive30=t.safeNum(e.numRevive30,this.numRevive30),this.heart=t.safeNum(e.heart,this.heart),this.tribe=t.safeNum(e.tribe,this.tribe),this.adsEndTime=e.adsEndTime?new Date(e.adsEndTime).getTime():0,this.assistantEndTime=e.assistantEndTime?new Date(e.assistantEndTime).getTime():0,this.assistantPassEndTime=e.assistantPassEndTime?new Date(e.assistantPassEndTime).getTime():0,this.soulRestStartAt=e.soulRestStartAt?new Date(e.soulRestStartAt).getTime():0,this.soulRestEndAt=e.soulRestEndAt?new Date(e.soulRestEndAt).getTime():0,this.bestMedalPerMin=Number(e.bestMedalPerMin)||0,this.bestMedalPerMinAt=e.bestMedalPerMinAt?new Date(e.bestMedalPerMinAt).getTime():0,this.soulRestNextStartAt=e.soulRestNextStartAt?new Date(e.soulRestNextStartAt).getTime():0,this.soulRestSkipCount=Number(e.soulRestSkipCount)||0,this.maxTeamSlots=t.safeNum(e.maxTeamSlots,this.maxTeamSlots),this.updateReviveBuffs(),e.activeSkills&&(this.activeSkills=e.activeSkills.split("|").map(Number)),"honorCoin"in e&&(this.honorCoin=Number(e.honorCoin))}
GameOverPopup 2 hunks, 4 statements
- tYt.cancel(),OD.setUserInfo(t.body,!0),OD.maxWave>e&&uS.getInstance().dispatchCustomEvent("PassStatus"),tH.getInstance().updateAll(),Hhi.getInstance().update(),LU.getInstance().update(),Roi.getInstance().updateProfileLayout(),Roi.getInstance().loadHeroPresent(),VA.removeData(VA.KEY_GAME_OVER),Cri.getInstance().setData(),Hri.getInstance().setData(),Cri.getInstance().scrollToTop(),t.body.medalEvent&&HG.updateCurrentMedalEvent(t.body.medalEvent); + tYt.cancel(),OD.setUserInfo(t.body,!0); + const r=OD.wave; + OD.maxWave>e&&uS.getInstance().dispatchCustomEvent("PassStatus"),tH.getInstance().updateAll(),$hi.getInstance().update(),LU.getInstance().update(),Poi.getInstance().updateProfileLayout(),Poi.getInstance().loadHeroPresent(),VA.removeData(VA.KEY_GAME_OVER),kri.getInstance().setData(),$ri.getInstance().setData(),kri.getInstance().scrollToTop(),t.body.medalEvent&&HG.updateCurrentMedalEvent(t.body.medalEvent);
- nB.getInstance().start(),hai.getInstance().restartFromWave1(),hai.getInstance().udpateHero(vR.getInstance().castleVO)} + OD.wave!==r&&(OD.setWaveTrusted(r),OD.wave),nB.getInstance().start(),oai.getInstance().restartFromWave1(),oai.getInstance().udpateHero(vR.getInstance().castleVO)}
VersionManager 1 hunks, 1 statements
- zt(qA,"VersionManager"),qt(qA,"gameId","ef2"),qt(qA,"appVersion","1.13.84"); + zt(qA,"VersionManager"),qt(qA,"gameId","ef2"),qt(qA,"appVersion","1.13.89");
TowerSimulationPopup 1 hunks, 1 statements
- const i=this.floorVO.floor,s=this.floorVO,e=await pL.getInstance().tower.enter(i,void 0,!0); + const i=this.floorVO.floor,s=this.floorVO,e=await pL.getInstance().tower.enter(i,void 0,void 0,!0);
Delay 1 hunks, 1 statements
- ...Mbi(),[i]:s} + ...Abi(),[i]:s}
NetworkTimeout 1 hunks, 1 statements
- ...Kbi,...i} + ...qbi,...i}
RecaptchaVerifier 1 hunks, 1 statements
- ...CSi} + ...kSi}
BrowserPopupRedirectResolver 1 hunks, 1 statements
- ...xTi,width:e.toString(),height:n.toString(),top:h,left:r} + ...NTi,width:e.toString(),height:n.toString(),top:h,left:r}