EF2 Changelog

Builds / 1.11.42

Update 1.11.42

Compared with 1.10.97 · published Mon, 22 Jun 2026 06:00:00 GMT · live channel

No summary yet.

Text changes 53

KeyText
PET_10022 +
PET_10023 + • Even if Wing Knight is in the Barracks, the base game speed increases. (5★ 0.25%, 6★ 0.5%)\n• The base game speed increase from Wing Knights in the Barracks cannot exceed 10%.\n• The grade of Human soldiers in the Guild Barracks increases by one level. (Normal, Evolved, Elite, Elite+, Elite++, Elite+++ => Evolved, Elite+, Elite++, Elite+++, Elite++++)
PET_10024 + • Even if Sylphid is in the Barracks, the level of all Heroes increases. (5★ 2, 6★ 5)\n• The Hero level increase from Sylphid in the Barracks cannot exceed 100.\n• The grade of Elf soldiers in the Guild Barracks increases by one level. (Normal, Evolved, Elite, Elite+, Elite++, Elite+++ => Evolved, Elite+, Elite++, Elite+++, Elite++++)
PET_10025 + • Even if Abyss is in the Barracks, the base game speed increases. (5★ 0.25%, 6★ 0.5%)\n• The base game speed increase from Abyss in the Barracks cannot exceed 10%.\n• The grade of Undead soldiers in the Guild Barracks increases by one level. (Normal, Evolved, Elite, Elite+, Elite++, Elite+++ => Evolved, Elite+, Elite++, Elite+++, Elite++++)
PET_10026 + • Even if Wyvern Rider is in the Barracks, the max level of Heroes increases. (5★ 5, 6★ 10)\n• The max Hero level increase from Wyvern Rider in the Barracks cannot exceed 200.\n• The grade of Orc soldiers in the Guild Barracks increases by one level. (Normal, Evolved, Elite, Elite+, Elite++, Elite+++ => Evolved, Elite+, Elite++, Elite+++, Elite++++)
PRODUCT_NAME_182 + Hammer Package 3 (Monthly)
PRODUCT_NAME_183 + Hire Professional Secretary (30d)
PRODUCT_DESC_53 + This is a product to hire a professional secretary for 30 days.
GWT_1 + Server Tournament
GWT_2 + Current Round
GWT_3 + Round of 16
GWT_4 + Quarterfinals
GWT_5 + Semifinals
GWT_6 + Third-Place Match
GWT_7 + Final
GWT_8 + Status
GWT_9 + Battle Rewards by Round
GWT_10 + Round
GWT_11 + Server Reward
GWT_12 + Winning Guild's Server
GWT_13 + Other Servers
GWT_14 + The Server Tournament is participated in by guilds ranked 1st to 8th on each server.
GWT_15 + It is conducted in a tournament format, and winning advances you to the next round.
GWT_16 + Rewards are granted to participating guilds based on the results of each round.
GWT_17 + When the Server Tournament ends, rewards are granted to all users on each server.
GWT_18 + Among the server rewards, the medal buff is applied starting from UTC 00:00 the following day.
GAME_1220 + Detected Fossils
GAME_1221 + Reward Information
GAME_1222 + Transcend Ticket
GAME_1223 + Hero Transcend Ticket
GAME_1224 + Relic Transcend Ticket
GAME_1225 + You can use a Transcend Ticket to transcend without transcendence materials or cost.
GAME_1226 + You can use a Hero Transcend Ticket to transcend a hero without transcendence materials or cost.
GAME_1227 + You can use a Relic Transcend Ticket to transcend a relic without transcendence materials or cost.
GAME_1228 + Ended
GAME_1229 + Mass Evolve
GAME_1230 + Mass Transcend
GAME_1231 + Not enough Transcend Tickets: Cannot transcend.
GAME_1232 + No ##-Star Artifact Transcend Ticket in possession.
GAME_1233 + Do you want to change materials?
GAME_1234 + Turn In ##-Star Artifact Transcend Ticket
GAME_1235 + Continue to turn in ##-Star Artifact Transcend Ticket to receive Honor Coins?
GAME_1236 + Turned in ##-Star Artifact Transcend Ticket and received Honor Coins.
GAME_1237 + You can evolve a material Hero and use it immediately as Transcend material.
GAME_1238 + Do you want to Transcend after evolving the Hero?
GAME_1239 + Hired
GAME_1240 + Professional Secretary is currently hired.
GAME_1241 + You can use this again after your Professional Secretary hire has expired.
GAME_1242 + Professional Secretary has been hired.
PRODUCT_NAME_178 ~ Hammer Package I (Weekly)Hammer Package 1 (Weekly)
PRODUCT_NAME_179 ~ Hammer Package II (Weekly)Hammer Package 2 (Weekly)
PRODUCT_NAME_180 ~ Hammer Package I (Monthly)Hammer Package 1 (Monthly)
PRODUCT_NAME_181 ~ Hammer Package II (Monthly)Hammer Package 2 (Monthly)

Translations touched: de (49), es (49), fr (49), id (49), it (49), ja (49), ko (49), pl (47), pt (49), ru (49), th (49), tr (49), vi (49), zh-CN (49), zh-TW (49)

Game data tables

Assets 46

FileChangeSizePreview
assets/ekkorr/UI_Ekkorr.json changed 184.8 KB → 189.5 KB

New sprites: Icon_Arrow_Short, Icon_Tournament, Package_Secretary_30, Patter_Diamond_01, Popup_Bg_04, Popup_Bg_05, Raid1_1_off, Raid1_1_on, Raid1_2_off, Raid1_2_on, Raid1_3_off, Raid1_3_on, Raid1_4_off, Raid1_4_on, Raid1_5_off, Raid1_5_on, Shadow_Upward, Ticket_HeroTrans, Ticket_HeroTrans2, Ticket_TreasureTrans6, Ticket_TreasureTrans7

assets/ekkorr/UI_Ekkorr.ktx2 changed 1,953.6 KB → 2,038.4 KB
assets/images/CharAttendance.png added 46.5 KB after
assets/images/CharDailyQuest.png added 60.5 KB after
assets/images/CharGuide.png added 33.6 KB after
assets/images/CharOffline.png added 51.9 KB after
assets/images/CharProfile.png added 64.1 KB after
assets/images/RaidBattle.json added 9.8 KB

New sprites: BerialFire0001, BerialFire0002, HarpyFeather0001, HarpyFeather0002, HarpyFeather0003, HarpyFeather0004, HarpyFeather0005, HarpyFeather0006, HarpyFeather0007, HarpyFeather0008, HarpyFeather0009, HarpyFeather0010, HarpyFeather0011, HarpyFeather0012, HarpyFeather0013, HarpyFeather0014, HarpyFeather0015, HarpyFeather0016, HarpyFeather0017, HarpyFeather0018, HarpyFeather0019, HarpyFeather0020, HarpyFire0001, HarpyFire0002, PoisonBullet0001, PoisonBullet0002, PoisonExplodeEffect0001, PoisonExplodeEffect0002, PoisonExplodeEffect0003, PoisonExplodeEffect0004, PoisonExplodeEffect0005, PoisonExplodeEffect0006, PoisonExplodeEffect0007, PoisonExplodeEffect0008, PoisonExplodeEffect0009, PoisonExplodeEffect0010, PoisonExplodeEffect0011, PoisonExplodeEffect0012

assets/images/RaidBattle.ktx2 added 21.5 KB
assets/images/UI_Guild.json changed 42.6 KB → 43.2 KB

New sprites: Btn_TreasureBox_Information, Guild_Quest_Tournament, Guild_Quest_Tournament_nor

assets/images/UI_Guild.ktx2 changed 450.3 KB → 468.4 KB
assets/images/UI_MINE.json changed 55.1 KB → 55.6 KB

New sprites: Btn_TreasureBox_Information.png, Slot_Empty.png

assets/images/UI_MINE.ktx2 changed 929.3 KB → 906.2 KB
assets/images/UI_PET.json changed 33.1 KB → 34.8 KB

New sprites: UI_PET10000, UI_PET10001, UI_PET10002, UI_PET10003, UI_PET10004, UI_PET10005, UI_PET10006, UI_PET10007, UI_PET10008

assets/images/UI_PET.ktx2 changed 549.6 KB → 571.5 KB
assets/images/attendanceChar.png removed 46.5 KB → gone before
assets/images/offlineChar.png removed 59.1 KB → gone before
assets/spines/raids/raid1/Ancient_DragonKnight.atlas added 3.9 KB
assets/spines/raids/raid1/Ancient_DragonKnight.json added 193.0 KB
assets/spines/raids/raid1/Ancient_DragonKnight.png added 666.4 KB after
assets/spines/raids/raid1/Ancient_DragonKnight.spine added 89.8 KB
assets/spines/raids/raid1/Belial.atlas added 3.8 KB
assets/spines/raids/raid1/Belial.json added 246.1 KB
assets/spines/raids/raid1/Belial.png added 924.8 KB after
assets/spines/raids/raid1/Belial.spine added 113.3 KB
assets/spines/raids/raid1/Golem.atlas changed 4.7 KB → 4.1 KB
assets/spines/raids/raid1/Golem.json changed 117.6 KB → 126.2 KB
assets/spines/raids/raid1/Golem.png changed 668.9 KB → 661.9 KB before after
assets/spines/raids/raid1/Golem.spine changed 25.9 KB → 29.9 KB
assets/spines/raids/raid1/Golem_2.png removed 117.8 KB → gone before
assets/spines/raids/raid1/Harpy.atlas changed 2.5 KB → 2.7 KB
assets/spines/raids/raid1/Harpy.json changed 134.7 KB → 140.4 KB
assets/spines/raids/raid1/Harpy.png changed 562.9 KB → 582.3 KB before after
assets/spines/raids/raid1/Harpy.spine changed 86.5 KB → 88.4 KB
assets/spines/raids/raid1/Scorpion.atlas added 3.5 KB
assets/spines/raids/raid1/Scorpion.json added 85.6 KB
assets/spines/raids/raid1/Scorpion.png added 409.0 KB after
assets/spines/raids/raid1/Scorpion.spine added 32.8 KB
assets/spines/raids/raid1/poison_area.atlas added 0.1 KB
assets/spines/raids/raid1/poison_area.json added 5.9 KB
assets/spines/raids/raid1/poison_area.png added 14.0 KB after
assets/spines/raids/raid1/poison_area.spine added 2.2 KB
assets/spines/raids/raid1/tornado_area.atlas added 0.3 KB
assets/spines/raids/raid1/tornado_area.json added 1.3 KB
assets/spines/raids/raid1/tornado_area.png added 49.4 KB after
assets/spines/raids/raid1/tornado_area.spine added 0.8 KB

Code 484 changes in 159 classes

Minified client code with short names blanked for diffing. Class names are real.

DailyRankingItemRenderer 1 hunks, 1231 statements
- )),oit=class t extends Be{
+ )),kit=class extends XI{
+ constructor(){
+ super(),zt(this,"bg"),zt(this,"lblRank",new QD("",16777215,lD.DEFAULT_OUTLINE_FONT_OPTION_18)),zt(this,"lblName",new QD("",16777215,lD.DEFAULT_OUTLINE_FONT_OPTION_16)),zt(this,"lblScore",new QD("",lD.COLOR_BRIGHT_ORANGE,lD.DEFAULT_OUTLINE_FONT_OPTION_16)),this.bg=new TM({
+ texture:ZA.getTexture("UI_Ekkorr","Popup_List_02"),leftWidth:140,topHeight:30,rightWidth:20,bottomHeight:30}
+ ),this.bg.width=610,this.bg.height=50,this.bg.x=5,this.addChild(this.bg),this.lblRank.x=45,this.lblRank.y=.5*(this.bg.height-this.lblRank.height),this.addChild(this.lblRank),this.lblName.x=115,this.lblName.y=.5*(this.bg.height-this.lblName.height),this.addChild(this.lblName),this.lblScore.x=this.bg.width-100,this.lblScore.y=.5*(this.bg.height-this.lblScore.height),this.addChild(this.lblScore)}
+ setData(t){
+ this.data=t,this.lblRank.text=`${
+ t.rank}
+ `,this.lblName.text=t.name,this.lblScore.text=t.score.toLocaleString(),t.name===EL.name?(this.lblName.textColor=lD.COLOR_YELLOW,this.lblRank.textColor=lD.COLOR_YELLOW):(this.lblName.textColor=16777215,this.lblRank.textColor=16777215)}
+ get height(){
+ return this.bg.height+2}
+ }
+ ;
+ Kt(kit,"DailyRankingItemRenderer");
+ let Oit=kit;
+ const Iit=class extends XI{
+ constructor(){
+ super(),zt(this,"bg"),zt(this,"lblRank",new QD("",lD.COLOR_BRIGHT_ORANGE,lD.DEFAULT_OUTLINE_FONT_OPTION_16)),zt(this,"iconGem"),zt(this,"lblGem",new QD("",16777215,lD.DEFAULT_OUTLINE_FONT_OPTION_16)),zt(this,"iconHonorCoin"),zt(this,"lblHonorCoin",new QD("",16777215,lD.DEFAULT_OUTLINE_FONT_OPTION_16)),this.bg=new TM({
+ texture:ZA.getTexture("UI_Ekkorr","Popup_List_02"),leftWidth:140,topHeight:30,rightWidth:20,bottomHeight:30}
+ ),this.bg.width=610,this.bg.height=48,this.bg.x=5,this.addChild(this.bg);
+ const t=.5*(this.bg.height-this.lblRank.height);
+ this.lblRank.x=20,this.lblRank.y=t,this.addChild(this.lblRank),this.iconGem=new We(ZA.getTexture("UI_Ekkorr","UI_GEM_ICON")),this.iconGem.width=22,this.iconGem.height=22,this.iconGem.x=234,this.iconGem.y=.5*(this.bg.height-22),this.addChild(this.iconGem),this.lblGem.x=this.iconGem.x+28,this.lblGem.y=t,this.addChild(this.lblGem),this.iconHonorCoin=new We(ZA.getTexture("UI_Ekkorr","PVP_COIN_ON")),this.iconHonorCoin.width=22,this.iconHonorCoin.height=22,this.iconHonorCoin.x=420,this.iconHonorCoin.y=.5*(this.bg.height-22),this.addChild(this.iconHonorCoin),this.lblHonorCoin.x=this.iconHonorCoin.x+28,this.lblHonorCoin.y=t,this.addChild(this.lblHonorCoin)}
+ setData(t){
+ this.data=t,this.lblRank.text=CG.getValueReplace("GAME_97","##",t.rank,`${
+ t.rank}
+ 위`),this.lblGem.text=String(t.gem),this.lblHonorCoin.text=String(t.honorCoin),this.lblRank.x=10+.5*(80-this.lblRank.width)}
+ get height(){
+ return this.bg.height+2}
+ }
+ ;
+ Kt(Iit,"DailyRewardItemRenderer");
+ let xit=Iit;
+ const Nit=class t extends CB{
+ constructor(){
+ super(),zt(this,"lblGuide"),this.lblGuide=new QD("",lD.DEFAULT_COLOR,lD.DEFAULT_FONT_OPTION_16),lD.setLabelWrapWidth(this.lblGuide,this.width-60),this.contentContainer.addChild(this.lblGuide),this.outSideClickHide=!0}
+ static getInstance(){
+ return this._instance||(this._instance=new t),this._instance}
+ async showGuide(){
+ this.title=CG.getText("GAME_359","일일 랭킹전 안내");
+ const t=[`1. ${
+ CG.getText("GAME_360","일일랭킹전은 최대 30명이 경쟁합니다.")}
+ `,`2. ${
+ CG.getText("GAME_361","24시간동안 가장 높은곳에서 환생한 유저 순으로 랭킹이 정해집니다.")}
+ `,`3. ${
+ CG.getText("GAME_362","보상은 하루가 끝나면, 우편으로 전송됩니다.")}
+ `];
+ this.lblGuide.text=t.join("\n\n"),this.lblGuide.x=30,this.lblGuide.y=80,this.height=this.lblGuide.y+this.lblGuide.height+40,await this.loadImage(),super.show()}
+ getDefaultPositionY(){
+ return.4*KA.stageHeight}
+ onBackButton(){
+ return this.hide(),!0}
+ }
+ ;
+ Kt(Nit,"DailyRankingGuidePopup"),zt(Nit,"_instance");
+ let Pit=Nit;
+ const Rit=class t extends JV{
+ constructor(){
+ super(),zt(this,"btnRefresh",new XV("새로고침",110)),zt(this,"btnReward",new XV("보상",120)),zt(this,"btnGuide"),this.closeBtn.visible=!0,this.closeBtn.eventMode="static",this.closeBtn.on("pointertap",this.onBack,this),this.btnReward.width=120,this.btnReward.height=50,this.btnReward.x=this.closeBtn.x-this.btnReward.width-5,this.btnReward.y=.5*(this.bg.height-this.btnReward.height),this.btnReward.on("pointertap",this.onReward,this),this.addChild(this.btnReward),this.btnRefresh.width=110,this.btnRefresh.height=50,this.btnRefresh.x=this.btnReward.x-this.btnRefresh.width-5,this.btnRefresh.y=.5*(this.bg.height-this.btnRefresh.height),this.btnRefresh.on("pointertap",this.onRefresh,this),this.addChild(this.btnRefresh),this.btnGuide=new vB("UI_Ekkorr","UI_Alarm"),this.btnGuide.x=this.lblTitle.x+this.lblTitle.width+3,this.btnGuide.y=this.lblTitle.y+.5*(this.lblTitle.height-this.btnGuide.height)+2,this.addChild(this.btnGuide),this.btnGuide.on("pointertap",()=>{
+ Pit.getInstance().showGuide()}
+ ),this.updateLanguage()}
+ static getInstance(){
+ return null==t.instance&&(t.instance=new t),t.instance}
+ onBack(){
+ Lnt.getInstance().setData(),K3.getInstance().currentSubView=Lnt.getInstance()}
+ onRefresh(){
+ Git.getInstance().refresh()}
+ onReward(){
+ Git.getInstance().toggleRewards()}
+ updateLanguage(){
+ this.setTitle(CG.getText("GAME_78","일일 랭킹전")),this.btnReward.text=CG.getText("COMMON_22","보상"),this.btnReward.x=this.closeBtn.x-this.btnReward.width-5,this.btnRefresh.text=CG.getText("COMMON_60","새로고침"),this.btnRefresh.x=this.btnReward.x-this.btnRefresh.width-5,this.btnGuide.x=this.lblTitle.x+this.lblTitle.width+3,this.btnGuide.y=this.lblTitle.y+.5*(this.lblTitle.height-this.btnGuide.height)+2}
+ }
+ ;
+ Kt(Rit,"DailyBattleSubMenu"),zt(Rit,"instance");
+ let Dit=Rit;
+ const Lit=class t extends $3{
+ constructor(){
+ super(),zt(this,"list"),zt(this,"lblMyRank",new QD("",lD.COLOR_YELLOW,lD.DEFAULT_OUTLINE_FONT_OPTION_16)),zt(this,"lblMyScore",new QD("",lD.COLOR_BRIGHT_ORANGE,lD.DEFAULT_OUTLINE_FONT_OPTION_16)),zt(this,"lblTimer",new QD("",lD.COLOR_DEEP_SKYBLUE,lD.DEFAULT_OUTLINE_FONT_OPTION_16)),zt(this,"lblTotalCount",new QD("",11184810,lD.DEFAULT_OUTLINE_FONT_OPTION_16)),zt(this,"lblNotJoined",new QD("",16777215,lD.DEFAULT_OUTLINE_FONT_OPTION_18)),zt(this,"btnJoin",new nG(CG.getText("COMMON_371","참여하기"))),zt(this,"joined",!1),zt(this,"rewardList"),zt(this,"lblHdrRank",new QD("등수",8947848,lD.DEFAULT_OUTLINE_FONT_OPTION_16)),zt(this,"lblHdrGem",new QD("보석",8947848,lD.DEFAULT_OUTLINE_FONT_OPTION_16)),zt(this,"lblHdrHonorCoin",new QD("명예코인",8947848,lD.DEFAULT_OUTLINE_FONT_OPTION_16)),zt(this,"showingRewards",!1),zt(this,"cachedRewards",null),zt(this,"lastFetchTime",0),zt(this,"cachedData",null),zt(this,"lastRefreshTime",0),zt(this,"timerRunning",!1),zt(this,"timerUpdateCount",0),this.addChild(Dit.getInstance());
+ const t=Dit.getInstance().height;
+ this.lblMyRank.x=15,this.lblMyRank.y=t+10,this.addChild(this.lblMyRank),this.lblMyScore.x=15,this.lblMyScore.y=this.lblMyRank.y+25,this.addChild(this.lblMyScore),this.lblTimer.x=400,this.lblTimer.y=t+10,this.addChild(this.lblTimer),this.lblTotalCount.x=400,this.lblTotalCount.y=this.lblTimer.y+25,this.addChild(this.lblTotalCount);
+ const i=t+65,s=KA.listHeight-i+t;
+ this.list=new zI(Oit,630,s),this.list.x=10,this.list.y=i,this.addChild(this.list),this.lblNotJoined.x=150,this.lblNotJoined.y=t+120,this.addChild(this.lblNotJoined),this.btnJoin.text=CG.getText("COMMON_371","참여하기"),this.btnJoin.color=tG.GREEN,this.btnJoin.width=200,this.btnJoin.height=55,this.btnJoin.x=.5*(640-this.btnJoin.width),this.btnJoin.y=t+180,this.btnJoin.onClick=this.onJoin.bind(this),this.addChild(this.btnJoin);
+ const e=t+30,n=KA.listHeight-e+t;
+ this.rewardList=new zI(xit,630,n),this.rewardList.x=10,this.rewardList.y=e,this.rewardList.visible=!1,this.addChild(this.rewardList),this.lblHdrRank.x=25,this.lblHdrRank.y=t+5,this.lblHdrRank.visible=!1,this.addChild(this.lblHdrRank),this.lblHdrGem.x=250,this.lblHdrGem.y=t+5,this.lblHdrGem.visible=!1,this.addChild(this.lblHdrGem),this.lblHdrHonorCoin.x=435,this.lblHdrHonorCoin.y=t+5,this.lblHdrHonorCoin.visible=!1,this.addChild(this.lblHdrHonorCoin),this.showNotJoinedState(),this.on("removed",this.onRemoved.bind(this))}
+ static getInstance(){
+ return null==this.instance&&(this.instance=new t),this.instance}
+ onRemoved(){
+ this.showingRewards&&this.hideRewards()}
+ setData(){
+ Dit.getInstance().updateLanguage();
+ const i=Date.now();
+ null!=this.cachedData&&i-this.lastFetchTime<t.CACHE_DURATION?this.showJoinedState(this.cachedData):this.loadInfo()}
+ refresh(){
+ const i=Date.now();
+ i-this.lastRefreshTime<t.REFRESH_COOLDOWN||(this.lastRefreshTime=i,this.loadInfo())}
+ async loadInfo(){
+ const t=await oD.getInstance().dailyRanking.getInfo(!0);
+ !1!==t.success?(this.lastFetchTime=Date.now(),null==t.body?(this.cachedData=null,this.showNotJoinedState()):(this.cachedData=t.body,this.showJoinedState(t.body)),this.showingRewards&&this.hideRewards()):vG.getInstance().showError(t)}
+ async onJoin(){
+ var t;
+ const i=await oD.getInstance().dailyRanking.join(!0);
+ !1!==i.success?(lV.getInstance().markDirty(),this.cachedData=i.body,this.lastFetchTime=Date.now(),this.showJoinedState(i.body),W3.getInstance().updateDailyRanking(!0,(null==(t=i.body)?void 0:t.myScore)??0),rV.getInstance().getStatus()):vG.getInstance().showError(i)}
+ async toggleRewards(){
+ if(this.showingRewards)return void this.hideRewards();
+ if(null!=this.cachedRewards)return void this.showRewards(this.cachedRewards);
+ const t=await oD.getInstance().dailyRanking.getRewards(!0);
+ !1!==t.success?(this.cachedRewards=t.body??[],this.showRewards(this.cachedRewards)):vG.getInstance().showError(t)}
+ showRewards(t){
+ this.showingRewards=!0,this.lblMyRank.visible=!1,this.lblMyScore.visible=!1,this.lblTimer.visible=!1,this.lblTotalCount.visible=!1,this.list.visible=!1,this.lblNotJoined.visible=!1,this.btnJoin.visible=!1,this.lblHdrRank.text=CG.getText("COMMON_388","등수"),this.lblHdrGem.text=CG.getText("COMMON_350","보석"),this.lblHdrHonorCoin.text=CG.getText("GAME_88","명예코인"),this.lblHdrRank.visible=!0,this.lblHdrGem.visible=!0,this.lblHdrHonorCoin.visible=!0,this.rewardList.dataProvider=t,this.rewardList.visible=!0}
+ hideRewards(){
+ this.showingRewards=!1,this.lblHdrRank.visible=!1,this.lblHdrGem.visible=!1,this.lblHdrHonorCoin.visible=!1,this.rewardList.visible=!1,this.joined&&this.cachedData?this.showJoinedState(this.cachedData):this.showNotJoinedState()}
+ showNotJoinedState(){
+ this.joined=!1,this.stopTimer(),this.lblNotJoined.text=CG.getText("GAME_92","일일 랭킹전에 참여하지 않았습니다."),this.lblNotJoined.x=.5*(640-this.lblNotJoined.width),this.lblNotJoined.visible=!0,this.btnJoin.text=CG.getText("COMMON_371","참여하기"),this.btnJoin.x=.5*(640-this.btnJoin.width),this.btnJoin.visible=!0,this.lblMyRank.visible=!1,this.lblMyScore.visible=!1,this.lblTimer.visible=!1,this.lblTotalCount.visible=!1,this.list.visible=!1}
+ showJoinedState(t){
+ this.joined=!0,this.lblNotJoined.visible=!1,this.btnJoin.visible=!1,this.lblMyRank.visible=!0,this.lblMyScore.visible=!0,this.lblTimer.visible=!0,this.lblTotalCount.visible=!0,this.list.visible=!0,this.lblMyRank.text=`${
+ CG.getText("COMMON_374","내 순위")}
+ : ${
+ t.myRank}
+ `,this.lblMyScore.text=`${
+ CG.getText("COMMON_375","내 점수")}
+ : ${
+ t.myScore.toLocaleString()}
+ `,this.lblTotalCount.text=`${
+ CG.getText("COMMON_372","참가자")}
+ : ${
+ t.totalCount}
+ `,t.topEntries&&t.topEntries.length>0?this.list.dataProvider=t.topEntries:this.list.dataProvider=[],this.startTimer()}
+ startTimer(){
+ this.timerRunning||(this.timerRunning=!0,this.timerUpdateCount=0,this.updateTimer(),GM.getInstance().add(this.updateTimer,this))}
+ stopTimer(){
+ this.timerRunning&&(this.timerRunning=!1,GM.getInstance().remove(this.updateTimer,this))}
+ updateTimer(){
+ var t,i;
+ if(++this.timerUpdateCount<30)return;
+ if(null==(null==(i=null==(t=this.parent)?void 0:t.parent)?void 0:i.parent))return void this.stopTimer();
+ this.timerUpdateCount=0;
+ const s=ox.time;
+ if(s<=0)return;
+ const e=new Date(s);
+ e.setUTCHours(24,0,0,0);
+ const n=e.getTime()-s;
+ if(n<=0)return this.lblTimer.text=CG.getText("COMMON_32","종료"),void this.stopTimer();
+ const h=Math.floor(n/36e5),r=Math.floor(n%36e5/6e4),o=Math.floor(n%6e4/1e3),a=h.toString().padStart(2,"0"),c=r.toString().padStart(2,"0"),l=o.toString().padStart(2,"0");
+ this.lblTimer.text=`${
+ CG.getText("COMMON_29","남은 시간")}
+ : ${
+ a}
+ :${
+ c}
+ :${
+ l}
+ `}
+ get className(){
+ return"DailyBattleSubView"}
+ updateLanguage(){
+ Dit.getInstance().updateLanguage(),this.joined&&this.cachedData?this.showJoinedState(this.cachedData):this.joined||(this.lblNotJoined.text=CG.getText("GAME_92","일일 랭킹전에 참여하지 않았습니다."),this.btnJoin.text=CG.getText("COMMON_371","참여하기"))}
+ }
+ ;
+ Kt(Lit,"DailyBattleSubView"),zt(Lit,"instance"),zt(Lit,"CACHE_DURATION",6e5),zt(Lit,"REFRESH_COOLDOWN",6e4);
+ let Git=Lit;
+ const Bit=class t{
+ static getInstance(){
+ return this.instance||(this.instance=new t),this.instance}
+ goPvp(){
+ W4.getInstance().isPVPBattlePopup()||(c9t.getInstance().onMenuClickByIndex(4),pet.getInstance().show())}
+ goDungeon(){
+ BV.getInstance().children.length>0&&(BV.getInstance().removeChildren(),HV.ensureMounted(U7t.getInstance())),W4.getInstance().isDungeonSubView()||(c9t.getInstance().onMenuClickByIndex(4),_tt.getInstance().setData(),K3.getInstance().currentSubView=_tt.getInstance())}
+ goDailyRanking(){
+ BV.getInstance().children.length>0&&(BV.getInstance().removeChildren(),HV.ensureMounted(U7t.getInstance())),W4.getInstance().isDailyBattleSubView()||(c9t.getInstance().onMenuClickByIndex(4),Git.getInstance().setData(),K3.getInstance().currentSubView=Git.getInstance())}
+ goTower(){
+ BV.getInstance().children.length>0&&(BV.getInstance().removeChildren(),HV.ensureMounted(U7t.getInstance())),W4.getInstance().isTowerSubView()||(c9t.getInstance().onMenuClickByIndex(4),J9.getInstance().setData(),K3.getInstance().currentSubView=J9.getInstance())}
+ goSpritLand(){
+ BV.getInstance().children.length>0&&(BV.getInstance().removeChildren(),HV.ensureMounted(U7t.getInstance())),W4.getInstance().isPetPopup()||y7t.getInstance().executeOnPetBtnClick2(),Cit.getInstance().onMenuClick(2)}
+ async goPaymentShop(t,i=null){
+ const s=B2.getInstance();
+ if(s.isReviewShop())return;
+ const e=s.unlockWave;
+ if(0==kL.getInstance().stage&&EL.maxWave<e&&EL.wave<e)return void yV.getInstance().showMessage(CG.getValueReplace("GAME_34","##",e,`${
+ e}
+  wave 이상에서 개방됩니다.`));
+ const n=R4.getInstance();
+ 0==W4.getInstance().isShopView()&&(n.setDataCallback=i,i=null,await c9t.getInstance().onMenuClickByIndex(5)),0==W4.getInstance().isShopPaySubView()&&F4.getInstance().clickTab(1),t!=n.getActiveIndex()&&n.clickTab(t),i&&i()}
+ async goPaymentShopWithProductIds(t){
+ const i=Kt(()=>{
+ R4.getInstance().scrollWithProductIds(t)}
+ ,"callback");
+ this.goPaymentShop(1,i)}
+ }
+ ;
+ Kt(Bit,"ShortcutManager"),zt(Bit,"instance");
+ let Uit=Bit;
+ const Fit=class t extends CB{
+ constructor(){
+ super(),zt(this,"markerText"),this.markerText=new yB("@",this.width-80,16,lD.DEFAULT_COLOR,8,10,16763904),this.contentContainer.addChild(this.markerText),this.outSideClickHide=!0}
+ static getInstance(){
+ return this._instance||(this._instance=new t),this._instance}
+ async showGuide(){
+ this.title=CG.getText("GAME_1203","화석 발굴");
+ const t=[CG.getText("GAME_1205","화석발굴 이벤트는 한달간 진행됩니다."),CG.getText("GAME_1206","매일 00:00:00 ( utc )에 망치가 30개씩 제공됩니다."),CG.getText("GAME_1207","화석은 흰색/ 녹색/ 파란색/ 보라색/ 붉은색으로 총 5단계가 있고, 등급이 높을수록 보상을 많이 줍니다."),CG.getText("GAME_1208","비서도 일정시간마다 망치를 구해옵니다. ( 고급비서는 2배 )"),CG.getText("GAME_1209","이벤트가 종료하면, 진행된 모든 단계가 초기화 됩니다.")];
+ this.markerText.text=t.map(t=>`@ ${
+ t}
+ `).join("\n"),this.markerText.x=30,this.markerText.y=80,this.height=this.markerText.y+this.markerText.height+40,await this.loadImage(),super.show()}
+ getDefaultPositionY(){
+ return.45*KA.stageHeight}
+ onBackButton(){
+ return this.hide(),!0}
+ }
+ ;
+ Kt(Fit,"MineGuidePopup"),zt(Fit,"_instance");
+ let Hit=Fit;
+ const Wit=class t extends Be{
+ constructor(){
+ super(),zt(this,"xId",0),zt(this,"yId",0),zt(this,"img",new We),zt(this,"_health",0),this.img.x=.5*(t.CELL_W-t.SPRITE_W),this.img.y=.5*(t.CELL_H-t.SPRITE_H),this.addChild(this.img)}
+ set health(t){
+ if(t<0&&(t=0),this._health=t,t<=0)return void(this.visible=!1);
+ this.visible=!0;
+ const i=Math.max(1,Math.min(12,Math.ceil(t))),s=ZA.getTexture("UI_MINE",`NumBlock_${
+ i}
+ _1.png`);
+ s&&(this.img.texture=s)}
+ get health(){
+ return this._health}
+ applyDamage(t){
+ this.health=this._health-t}
+ reset(){
+ this._health=0,this.visible=!0}
+ }
+ ;
+ Kt(Wit,"Block"),zt(Wit,"CELL_W",70),zt(Wit,"CELL_H",72),zt(Wit,"SPRITE_W",72),zt(Wit,"SPRITE_H",82);
+ let jit=Wit;
+ const $it=class extends Be{
+ constructor(){
+ super(),zt(this,"xId",0),zt(this,"yId",0),zt(this,"grade",1),zt(this,"kindNum",0),zt(this,"num",0),zt(this,"isExcavated",!1),zt(this,"img",new We),this.addChild(this.img)}
+ setData(t){
+ this.xId=t.x,this.yId=t.y,this.kindNum=t.kindNum,this.num=t.num,this.grade=Math.max(1,Math.min(5,t.grade??1)),this.isExcavated=!1,this.visible=t.num>0;
+ const i=ZA.getTexture("UI_MINE",`randomBox${
+ this.grade}
+ .png`);
+ i&&(this.img.texture=i),this.img.x=.5*(jit.CELL_W-this.img.width),this.img.y=.5*(jit.CELL_H-this.img.height)}
+ }
+ ;
+ Kt($it,"MineBoxObj");
+ let Vit=$it;
+ const Kit=class extends Be{
+ constructor(){
+ super(),zt(this,"xIndex",0),zt(this,"yIndex",0),zt(this,"shape","square"),zt(this,"grade",1),zt(this,"kindNum",0),zt(this,"num",0),zt(this,"isExcavated",!1),zt(this,"img",new We),this.addChild(this.img)}
+ setData(t){
+ this.shape=t.shape,this.grade=Math.max(1,Math.min(7,t.grade??1)),this.kindNum=t.kindNum,this.num=t.num,this.isExcavated=!1;
+ const i=t.coordinates[0];
+ this.xIndex=i.x,this.yIndex=i.y;
+ const s=`BoneBox_${
+ t.shape}
+ _${
+ this.grade}
+ .png`,e=ZA.getTexture("UI_MINE",s);
+ e&&(this.img.texture=e);
+ const{
+ w:n,h}
+ =this.getCellSize(),r=n*jit.CELL_W,o=h*jit.CELL_H;
+ this.img.x=.5*(r-this.img.width),this.img.y=.5*(o-this.img.height)}
+ getCellSize(){
+ return"square"===this.shape?{
+ w:2,h:2}
+ :"vLine"===this.shape?{
+ w:1,h:4}
+ :{
+ w:4,h:1}
+ }
+ }
+ ;
+ Kt(Kit,"TreasureChest");
+ let zit=Kit;
+ const qit=class t extends Be{
+ constructor(){
+ super(),zt(this,"xNum",0),zt(this,"yNum",0),zt(this,"blocks",[]),zt(this,"revealedChests",new Map),zt(this,"revealedBoxes",new Map),zt(this,"blockContainer",new Be),zt(this,"chestContainer",new Be),zt(this,"boxContainer",new Be),zt(this,"fxContainer",new Be),zt(this,"xSpace",jit.CELL_W),zt(this,"ySpace",jit.CELL_H),zt(this,"gridBg",new Gf),zt(this,"initialized",!1),zt(this,"gameStarted",!1),zt(this,"gameEnded",!1),zt(this,"pending",!1),zt(this,"onAllChestsExcavated",null),zt(this,"onComplete",null),zt(this,"onHammerUsed",null),zt(this,"onDamageAndExcavated",null),zt(this,"onError",null),zt(this,"onHammerEmpty",null),this.addChild(this.gridBg),this.addChild(this.chestContainer),this.addChild(this.boxContainer),this.addChild(this.blockContainer),this.addChild(this.fxContainer)}
+ static getInstance(){
+ return null==this.instance&&(this.instance=new t),this.instance}
+ async initialize(){
+ this.initialized||(this.initialized=!0,this.eventMode="dynamic",this.on("pointerdown",this.onPointerDown,this))}
+ async startGame(){
+ var t,i,s;
+ if(this.gameStarted)return!0;
+ const e=FG.getInstance();
+ if(!e.instance){
+ const n=await oD.getInstance().mine.start(!0);
+ if(!n||!1===n.success)return null==(t=this.onError)||t.call(this,(null==n?void 0:n.error)??null,n),!1;
+ e.setStatusData(null==(i=n.body)?void 0:i.status),e.setInstanceData(null==(s=n.body)?void 0:s.instance)}
+ const n=e.instance;
+ return!!n&&(this.buildGrid(n),this.gameStarted=!0,this.gameEnded=!1,this.pending=!1,!0)}
+ applyDiscovered(t,i){
+ for(const s of t)this.spawnChest(s);
+ for(const s of i)this.spawnBox(s)}
+ buildGrid(t){
+ var i,s;
+ this.clearGrid(),this.xNum=t.xNum,this.yNum=t.yNum;
+ const e=this.xNum*this.xSpace,n=this.yNum*this.ySpace;
+ this.gridBg.clear(),this.gridBg.roundRect(-4,-4,e+8,n+8,8),this.gridBg.fill({
+ color:1710626,alpha:.5}
+ );
+ for(let h=0;
+ h<this.xNum;
+ h++){
+ this.blocks[h]=[];
+ for(let e=0;
+ e<this.yNum;
+ e++){
+ const n=new jit;
+ n.x=h*this.xSpace,n.y=e*this.ySpace,n.xId=h,n.yId=e;
+ const r=(null==(s=null==(i=t.blocks)?void 0:i[e])?void 0:s[h])??0;
+ n.health=r,this.blockContainer.addChild(n),this.blocks[h][e]=n}
+ }
+ }
+ clearGrid(){
+ for(const t of this.blocks)for(const i of t)this.blockContainer.removeChild(i);
+ this.blocks=[];
+ for(const t of this.revealedChests.values())this.chestContainer.removeChild(t);
+ this.revealedChests.clear();
+ for(const t of this.revealedBoxes.values())this.boxContainer.removeChild(t);
+ this.revealedBoxes.clear()}
+ async onPointerDown(t){
+ var i,s;
+ if(!this.gameStarted||this.gameEnded||this.pending)return;
+ if(FG.getInstance().status.hammerCount<=0)return void(null==(i=this.onHammerEmpty)||i.call(this));
+ const e=t.getLocalPosition(this),n=Math.floor(e.x/this.xSpace),h=Math.floor(e.y/this.ySpace);
+ if(n<0||h<0||n>=this.xNum||h>=this.yNum)return;
+ const r=null==(s=this.blocks[n])?void 0:s[h];
+ !r||!r.visible||r.health<=0||await this.doDamage(n,h)}
+ async doDamage(i,s){
+ var e,n,h,r,o,a;
+ this.pending=!0;
+ const c=await oD.getInstance().mine.doDamage(i,s);
+ if(!c||!1===c.success)return null==(e=this.onError)||e.call(this,(null==c?void 0:c.error)??null,c),void(this.pending=!1);
+ const l=FG.getInstance();
+ l.setStatusData(null==(n=c.body)?void 0:n.status),l.setInstanceData(null==(h=c.body)?void 0:h.instance),null==(r=this.onHammerUsed)||r.call(this);
+ const u=(null==(o=c.body)?void 0:o.revealedChests)??[],d=(null==(a=c.body)?void 0:a.discoveredBoxes)??[];
+ l.setDiscoveryData(u,d);
+ const f=[];
+ for(const t of u)if("fully"===this.spawnChest(t)){
+ const i=t.coordinates[0];
+ f.push({
+ x:i.x*this.xSpace,y:i.y*this.ySpace}
+ )}
+ for(const t of d)this.spawnBox(t);
+ this.playPang(i,s),HI.delayedCall(t.PANG_REVEAL_DELAY,()=>{
+ var t,i,s;
+ this.syncBlocksFromServer();
+ for(const n of f)this.playGain(n.x,n.y);
+ null==(t=this.onDamageAndExcavated)||t.call(this),this.pending=!1;
+ const e=l.instance;
+ if(e){
+ const t=[...this.revealedChests.values()].filter(t=>t.isExcavated).length;
+ t>=e.chestCount&&(this.gameEnded=!0,null==(i=this.onAllChestsExcavated)||i.call(this),null==(s=this.onComplete)||s.call(this))}
+ }
+ )}
+ syncBlocksFromServer(){
+ var t,i;
+ const s=FG.getInstance().instance;
+ if(s)for(let e=0;
+ e<this.xNum;
+ e++)for(let n=0;
+ n<this.yNum;
+ n++){
+ const h=(null==(i=null==(t=s.blocks)?void 0:t[n])?void 0:i[e])??0;
+ this.blocks[e][n].health=h}
+ }
+ spawnChest(t){
+ if(!t.coordinates||0===t.coordinates.length)return"none";
+ const i=t.coordinates[0],s=`${
+ i.x}
+ ,${
+ i.y}
+ `;
+ let e=this.revealedChests.get(s);
+ const n=!e;
+ e||(e=new zit,e.setData(t),e.x=i.x*this.xSpace,e.y=i.y*this.ySpace,e.isExcavated=!1,this.chestContainer.addChild(e),this.revealedChests.set(s,e));
+ const h=e.isExcavated;
+ return e.isExcavated=t.fullyExcavated,t.fullyExcavated&&!h?"fully":n?"new":"none"}
+ spawnBox(t){
+ if(t.num<=0)return;
+ const i=`${
+ t.x}
+ ,${
+ t.y}
+ `;
+ if(this.revealedBoxes.has(i))return;
+ const s=new Vit;
+ s.setData(t),s.x=t.x*this.xSpace,s.y=t.y*this.ySpace,s.isExcavated=!0,this.boxContainer.addChild(s),this.revealedBoxes.set(i,s)}
+ async endGame(){
+ var t;
+ const i=await oD.getInstance().mine.end(!0);
+ return(null==i?void 0:i.success)&&(FG.getInstance().setStatusData(null==(t=i.body)?void 0:t.status),FG.getInstance().clearInstance(),this.syncRewardManagers(i.body)),this.gameEnded=!0,i}
+ async exitGame(){
+ var t;
+ const i=await oD.getInstance().mine.exit(!0);
+ return(null==i?void 0:i.success)&&(FG.getInstance().setStatusData(null==(t=i.body)?void 0:t.status),FG.getInstance().clearInstance(),this.syncRewardManagers(i.body)),this.gameEnded=!0,i}
+ syncRewardManagers(t){
+ (null==t?void 0:t.pet)&&mx.getInstance().setData(t.pet),(null==t?void 0:t.inventory)&&b3.getInstance().setData({
+ inventory:t.inventory}
+ )}
+ reset(){
+ this.clearGrid(),this.gameStarted=!1,this.gameEnded=!1,this.pending=!1}
+ getHammerDamageCells(i,s){
+ const e=[];
+ for(const n of t.HAMMER_DAMAGE_PATTERN){
+ const t=i+n.dx,h=s+n.dy;
+ t<0||h<0||t>=this.xNum||h>=this.yNum||e.push({
+ x:t,y:h,damage:n.damage}
+ )}
+ return e}
+ playPang(t,i){
+ const s=t*this.xSpace+.5*this.xSpace,e=i*this.ySpace+.5*this.ySpace;
+ for(const n of this.getHammerDamageCells(t,i))this.playFxAnimation("PangSmoke",s+(n.x-t)*this.xSpace,e+(n.y-i)*this.ySpace,1);
+ this.playFxAnimation("PangAni",s,e,1)}
+ playFxAnimation(t,i,s,e=1){
+ var n;
+ const h=ZA.getTextures("UI_MINE",t);
+ if(0===h.length)return;
+ const r=new jf(h),o=null==(n=h[0])?void 0:n.defaultAnchor;
+ if(o?r.anchor.set(o.x,o.y):r.anchor.set(.5),r.x=i,r.y=s,r.scale.set(e),r.loop=!1,r.animationSpeed=.8,"PangAni"===t){
+ const t=6;
+ r.onFrameChange=i=>{
+ i===t&&qL.getInstance().playSFX(qL.SFX_STONE_BREAK,.8)}
+ }
+ r.onComplete=()=>{
+ r.removeFromParent(),r.destroy()}
+ ,this.fxContainer.addChild(r),r.gotoAndPlay(0)}
+ playGain(t,i){
+ const s=new Gf;
+ s.circle(0,0,14),s.fill({
+ color:16773222}
+ ),s.stroke({
+ width:2,color:13144064}
+ ),s.x=t+.5*this.xSpace,s.y=i+.5*this.ySpace,this.fxContainer.addChild(s),HI.to(s,{
+ alpha:0,y:s.y-30,duration:.6,onComplete:Kt(()=>{
+ this.fxContainer.removeChild(s),s.destroy()}
+ ,"onComplete")}
+ )}
+ }
+ ;
+ Kt(qit,"MineMain"),zt(qit,"instance"),zt(qit,"HAMMER_DAMAGE_PATTERN",[{
+ dx:0,dy:0,damage:2}
+ ,{
+ dx:-1,dy:0,damage:1}
+ ,{
+ dx:1,dy:0,damage:1}
+ ,{
+ dx:0,dy:-1,damage:1}
+ ,{
+ dx:0,dy:1,damage:1}
+ ]),zt(qit,"PANG_REVEAL_DELAY",.2);
+ let Xit=qit;
+ async function Yit(t){
+ if(!t)return!1;
+ try{
+ return await navigator.clipboard.writeText(t),!0}
+ catch(i){
+ }
+ return!1}
+ function Jit(t,i=1){
+ return Number.isFinite(t)?Number(t.toFixed(i)).toString():"0"}
+ Kt(Yit,"copyToClipboard$1"),Kt(Jit,"formatDecimal");
+ const Qit=class extends XI{
+ constructor(){
+ super(),zt(this,"bg"),zt(this,"item"),zt(this,"bonusGem"),zt(this,"bonusHonorCoin"),zt(this,"amountBg"),zt(this,"amountLbl"),this.bg=new TM({
+ texture:ZA.getTexture("UI_Ekkorr","Popup_Bg_04"),leftWidth:10,topHeight:10,rightWidth:10,bottomHeight:10}
+ ),this.bg.alpha=.05,this.bg.width=530,this.bg.height=75,this.addChild(this.bg),this.item=new ist,this.addChild(this.item),this.amountBg=new TM({
+ texture:ZA.getTexture("UI_Ekkorr","Popup_Bg_04"),leftWidth:12,topHeight:12,rightWidth:12,bottomHeight:12}
+ ),this.amountBg.width=200,this.amountBg.height=this.bg.height,this.amountBg.x=this.item.width+5,this.addChild(this.amountBg),this.amountLbl=new QD("0",16777215),this.amountLbl.x=this.amountBg.x+.5*(this.amountBg.width-this.amountLbl.width),this.amountLbl.y=.5*(this.amountBg.height-this.amountLbl.height),this.addChild(this.amountLbl),this.bonusGem=new ist,this.bonusGem.x=this.amountBg.x+this.amountBg.width+5,this.addChild(this.bonusGem),this.bonusHonorCoin=new ist,this.bonusHonorCoin.x=this.bonusGem.x+this.bonusGem.width+5,this.addChild(this.bonusHonorCoin)}
+ get width(){
+ return this.bg.width}
+ get height(){
+ return this.bg.height}
+ setData(t){
+ let i=t.type,s=t.grade??-1,e=t.kindNum??-1,n=t.subType??"";
+ this.item.setData(i,0,s,e,n),this.item.setText(`${
+ t.prob}
+ %`),t.min===t.max?this.amountLbl.text=`${
+ t.min}
+ `:this.amountLbl.text=`${
+ t.min}
+  ~ ${
+ t.max}
+ `,this.amountLbl.x=this.amountBg.x+.5*(this.amountBg.width-this.amountLbl.width),this.bonusGem.setData(_3.gem,0),t.minGem+t.maxGem>0?t.minGem===t.maxGem?this.bonusGem.setText(String(t.minGem)):this.bonusGem.setText(`${
+ t.minGem}
+ ~${
+ t.maxGem}
+ `):this.bonusGem.setText("0"),this.bonusHonorCoin.setData(_3.honorCoin,0),t.minHonorCoin+t.maxHonorCoin>0?t.minHonorCoin===t.maxHonorCoin?this.bonusHonorCoin.setText(String(t.minHonorCoin)):this.bonusHonorCoin.setText(`${
+ t.minHonorCoin}
+ ~${
+ t.maxHonorCoin}
+ `):this.bonusHonorCoin.setText("0")}
+ }
+ ;
+ Kt(Qit,"MineRewardInfoItemRenderer");
+ let Zit=Qit;
+ const tst=class extends r6{
+ constructor(){
+ super(),zt(this,"bg2"),this.bg.removeFromParent(),this.bg2=new TM({
+ texture:ZA.getTexture("UI_Ekkorr","Popup_Bg_04"),leftWidth:12,topHeight:12,rightWidth:12,bottomHeight:12}
+ ),this.bg2.width=105,this.bg2.height=75,this.addChildAt(this.bg2,0),this.eventMode="dynamic",this.on("pointertap",this.onImgTap,this)}
+ get width(){
+ return this.bg2.width}
+ get height(){
+ return this.bg2.height}
+ updateLayout(){
+ if(!this.bg2)return void super.updateLayout();
+ const t=this.bg2.width,i=this.bg2.height-5;
+ this.img.x=.5*(t-this.img.width),this.img.y=.5*(i-this.img.height)-3,this.lblNum.x=.5*(t-this.lblNum.width),this.lblNum.y=i-this.lblNum.height,this.petIcon.visible&&(this.petIcon.x=.5*(t-this.petIcon.width),this.petIcon.y=.5*(i-this.petIcon.height)+3)}
+ setText(t){
+ this.lblNum.text=String(t),this.updateLayout()}
+ onImgTap(t){
+ const i=this._type,s=this._subType;
+ let e="";
+ if(i==_3.ticket&&s==_3.heroGacha?e=CG.getText("GAME_765","5성 영웅을 랜덤하게 획득할 수 있습니다."):i==_3.ticket&&s==_3.heroSelect?e=CG.getText("GAME_943","제공되는 목록에서 원하는 5성 영웅을 선택할 수 있습니다."):i==_3.ticket&&s==_3.treasureGacha?e=CG.getValueReplace("GAME_776","##",6,"6등급 유물을 랜덤하게 획득할 수 있습니다."):i==_3.ticket&&s==_3.petSelect&&(e=CG.getText("GAME_944","제공되는 목록에서 원하는 펫 조각을 선택할 수 있습니다.")),!e)return;
+ const n=d6.getInstance();
+ n.text=e;
+ let h=this.img.x+this.img.width,r=this.y+.5*(this.height-n.height)-2;
+ n.show(this.parent,h,r)}
+ }
+ ;
+ Kt(tst,"MineRewardItem");
+ let ist=tst;
+ const sst=class extends Be{
+ constructor(){
+ super(),zt(this,"bg"),zt(this,"frame"),zt(this,"icon"),zt(this,"lblCount"),zt(this,"lblPercent"),zt(this,"cover"),zt(this,"_activated",!0),this.bg=new We(ZA.getTexture("UI_MINE","Frame_Fossil_Rank_01_Bg.png")),this.bg.x=3,this.bg.y=3,this.addChild(this.bg),this.frame=new We(ZA.getTexture("UI_MINE","Frame_Fossil_Rank_01.png")),this.addChild(this.frame),this.icon=new We(ZA.getTexture("UI_MINE","Item_Rank_01.png")),this.addChild(this.icon);
+ const t=lD.DEFAULT_OUTLINE_FONT_OPTION_17;
+ t.fill=lD.COLOR_WHITE,this.lblCount=new QD("0",t.fill,t),this.addChild(this.lblCount),this.lblPercent=new QD("0",t.fill,t),this.addChild(this.lblPercent),this.cover=new We(ZA.getTexture("UI_MINE","Slot_Empty.png")),this.cover.visible=!1,this.cover.alpha=.7,this.addChild(this.cover),this.updateLayout(),this.hideCount(),this.hidePercent()}
+ updateLayout(){
+ const t=this.frame.width,i=this.frame.height;
+ this.lblCount.x=.5*(t-this.lblCount.width),this.lblCount.y=i-this.lblCount.height,this.lblPercent.x=.5*(t-this.lblPercent.width),this.lblPercent.y=i-this.lblPercent.height,this.icon.x=.5*(t-this.icon.width),this.icon.y=.5*(i-this.icon.height)}
+ setGrade(t){
+ this.bg.texture=ZA.getTexture("UI_MINE",`Frame_Fossil_Rank_0${
+ t}
+ _Bg.png`),this.frame.texture=ZA.getTexture("UI_MINE",`Frame_Fossil_Rank_0${
+ t}
+ .png`),this.icon.texture=ZA.getTexture("UI_MINE",`Item_Rank_0${
+ t}
+ .png`)}
+ showCount(){
+ this.lblCount.visible=!0}
+ hideCount(){
+ this.lblCount.visible=!1}
+ setCount(t,i){
+ this.lblCount.text=`${
+ t}
+ /${
+ i}
+ `,this.lblCount.textColor=t<i?lD.COLOR_WHITE:lD.COLOR_YELLOW,this.updateLayout()}
+ showPercent(){
+ this.lblPercent.visible=!0}
+ hidePercent(){
+ this.lblPercent.visible=!1}
+ setPercent(t){
+ this.lblPercent.text=`${
+ t}
+ %`,this.updateLayout()}
+ get activated(){
+ return this._activated}
+ set activated(t){
+ t!=this._activated&&(this._activated=t,this.cover.visible=!this._activated)}
+ }
+ ;
+ Kt(sst,"MineFossilIcon");
+ let est=sst;
+ const nst=class t extends lG{
+ constructor(){
+ super(),zt(this,"levelContainer"),zt(this,"levelBg"),zt(this,"lblLevel"),zt(this,"btnPrev"),zt(this,"btnNext"),zt(this,"fossilContainer"),zt(this,"fossilIcons"),zt(this,"fossilIndicator"),zt(this,"headerContainer"),zt(this,"headerBg"),zt(this,"headerItem"),zt(this,"headerAmount"),zt(this,"headerBonus"),zt(this,"list"),zt(this,"currentGrade",1),zt(this,"mineLevel",-1),zt(this,"mineMaxLevel",-1),this.height=800,this.outSideClickHide=!0,this.title=CG.getText("GAME_1221","보상 정보"),this.levelContainer=new Be,this.addChild(this.levelContainer),this.fossilContainer=new Be,this.addChild(this.fossilContainer),this.headerContainer=new Be,this.addChild(this.headerContainer),this.levelBg=new TM({
+ texture:ZA.getTexture("UI_Ekkorr","Popup_Bg_03"),leftWidth:30,topHeight:25,rightWidth:30,bottomHeight:25}
+ ),this.levelBg.alpha=.6,this.levelBg.width=this.width-60,this.levelBg.height=60,this.levelContainer.addChild(this.levelBg);
+ const t=lD.DEFAULT_OUTLINE_FONT_OPTION_18;
+ let i;
+ t.fill=lD.COLOR_WHITE,t.fontSize=22,this.lblLevel=new QD("Lv.1",t.fill,t),this.levelContainer.addChild(this.lblLevel),this.btnPrev=new pV("left"),this.btnPrev.onClick=()=>{
+ this.goLevel(this.mineLevel-1)}
+ ,this.levelContainer.addChild(this.btnPrev),this.btnNext=new pV("right"),this.btnNext.onClick=()=>{
+ this.goLevel(this.mineLevel+1)}
+ ,this.levelContainer.addChild(this.btnNext),this.fossilIcons=[];
+ for(let e=0;
+ e<5;
+ ++e)i=new est,i.eventMode="static",i.cursor="pointer",i.on("pointertap",()=>this.clickFossil(e)),i.setGrade(e+1),i.setPercent(0),i.showPercent(),i.x=e*(i.width+15),this.fossilContainer.addChild(i),this.fossilIcons.push(i);
+ this.fossilIndicator=new TM({
+ texture:ZA.getTexture("UI_Ekkorr","UI_SELECT"),leftWidth:25,topHeight:25,rightWidth:25,bottomHeight:25}
+ ),this.fossilIndicator.eventMode="none",this.fossilIndicator.x=-6,this.fossilIndicator.y=-6,this.fossilIndicator.width=this.fossilIcons[0].width+12,this.fossilIndicator.height=this.fossilIcons[0].height+12,this.fossilContainer.addChild(this.fossilIndicator),this.headerBg=new TM({
+ texture:ZA.getTexture("UI_Ekkorr","blackRect"),leftWidth:6,topHeight:6,rightWidth:6,bottomHeight:6}
+ ),this.headerBg.width=this.width-24,this.headerBg.height=40,this.headerContainer.addChild(this.headerBg);
+ const s=lD.DEFAULT_FONT_OPTION_16;
+ s.fill=lD.DEFAULT_COLOR,this.headerItem=new QD("Item",s.fill,s),this.headerContainer.addChild(this.headerItem),this.headerAmount=new QD("Amount",s.fill,s),this.headerContainer.addChild(this.headerAmount),this.headerBonus=new QD("Bonus",s.fill,s),this.headerContainer.addChild(this.headerBonus),this.list=new iK(Zit,530,500,5),this.addChild(this.list),this.updateLayout()}
+ static getInstance(){
+ return this._instance||(this._instance=new t),this._instance}
+ updateLayout(){
+ this.levelContainer.x=.5*(this.width-this.levelContainer.width),this.levelContainer.y=70,this.fossilContainer.x=.5*(this.width-this.fossilContainer.width),this.fossilContainer.y=this.levelContainer.y+this.levelContainer.height+15,this.headerContainer.x=.5*(this.width-this.headerContainer.width),this.headerContainer.y=this.fossilContainer.y+this.fossilContainer.height+20,this.lblLevel.x=.5*(this.levelBg.width-this.lblLevel.width),this.lblLevel.y=.5*(this.levelBg.height-this.lblLevel.height),this.btnPrev.x=30,this.btnPrev.y=.5*(this.levelBg.height-this.btnPrev.height),this.btnNext.x=this.levelBg.width-this.btnNext.width-30,this.btnNext.y=this.btnPrev.y,this.headerItem.x=.5*(105-this.headerItem.width)+13,this.headerItem.y=.5*(this.headerBg.height-this.headerItem.height),this.headerAmount.x=110+.5*(200-this.headerAmount.width)+13,this.headerAmount.y=this.headerItem.y,this.headerBonus.x=315+.5*(215-this.headerBonus.width)+13,this.headerBonus.y=this.headerItem.y,this.list.x=this.bg.x+.5*(this.bg.width-this.list.getListWidth()),this.list.y=this.headerContainer.y+this.headerContainer.height;
+ const t=this.height-this.list.y-20;
+ this.list.setListHeight(t)}
+ show(){
+ var t;
+ this.title=CG.getText("GAME_1221","보상 정보");
+ const i=FG.getInstance();
+ this.mineLevel=(null==(t=i.instance)?void 0:t.mineLevel)??1,this.mineMaxLevel=i.getMaxLevel(),this.update(this.mineLevel),this.updateLayout(),super.show()}
+ update(t){
+ this.lblLevel.text=`Lv.${
+ t}
+ `;
+ const i=FG.getInstance().getLevelVO(t);
+ if(!i)return;
+ const s=i.getChestWeights();
+ let e;
+ const n=this.fossilIcons.length;
+ for(let h=0;
+ h<n;
+ ++h)e=this.fossilIcons[h],e.setPercent(s[h]),s[h]>0?e.activated=!0:e.activated=!1;
+ H2.showItemsInAlpha([this.fossilContainer]),this.clickFossil(this.currentGrade-1)}
+ goLevel(t){
+ t<1||t>this.mineMaxLevel||(this.mineLevel=t,1==this.mineLevel?(this.btnPrev.alpha=.7,this.btnNext.alpha=1):this.mineLevel==this.mineMaxLevel?(this.btnPrev.alpha=1,this.btnNext.alpha=.7):(this.btnPrev.alpha=1,this.btnNext.alpha=1),this.update(t))}
+ async clickFossil(t){
+ const i=this.fossilIcons[t];
+ if(!i.activated)return;
+ this.fossilIndicator.x=i.x-6,this.fossilIndicator.y=i.y-6;
+ const s=t+1,e=FG.getInstance().getChestRewardList(s),n=[];
+ let h,r;
+ const o=e.length;
+ for(let a=0;
+ a<o;
+ ++a)if(r=e[a],0!==r.prob){
+ switch("petPiece"!==r.type&&(h={
+ ...r}
+ ),r.type){
+ case"gem":h.type=_3.gem;
+ break;
+ case"honorCoin":h.type=_3.honorCoin;
+ break;
+ case"spriteLandTicket":h.type=_3.petTicket;
+ break;
+ case"hammer":h.type=_3.hammer;
+ break;
+ case"hero5":h.type=_3.ticket,h.subType=_3.heroGacha;
+ break;
+ case"hero5s":h.type=_3.ticket,h.subType=_3.heroSelect;
+ break;
+ case"treasure6":h.type=_3.ticket,h.subType=_3.treasureGacha;
+ break;
+ case"petPiece":const t=r.kindNums.length;
+ for(let i=0;
+ i<t;
+ ++i)h={
+ ...r}
+ ,h.type=_3.pet,h.prob=Number(Jit(r.prob/t,1)),h.kindNum=r.kindNums[i],n.push(h)}
+ "petPiece"!==r.type&&n.push(h)}
+ this.list.dataProvider=n,this.list.scrollTo(0),this.list.y=this.headerContainer.y+this.headerContainer.height,H2.showItemsInVertical([this.list])}
+ }
+ ;
+ Kt(nst,"MineRewardInfoPopup"),zt(nst,"_instance");
+ let hst=nst;
+ const rst=class t extends lG{
+ constructor(){
+ super(),zt(this,"onConfirm",null),zt(this,"fallbackText",new Wg({
+ text:"",style:{
+ fontSize:18,fill:16777215}
+ }
+ )),zt(this,"rows",[]),zt(this,"totalContainer",new Be),zt(this,"totalBg",new Gf),zt(this,"totalTitle",new Wg({
+ text:CG.getText("GAME_1204","전체보상"),style:{
+ fontSize:16,fill:16767334,fontWeight:"bold"}
+ }
+ )),zt(this,"totalSlots",[]),zt(this,"btnConfirm",new IU("","",CG.getText("COMMON_1","확인"),.8,200,70)),zt(this,"resourceContainer"),zt(this,"resourceBg"),zt(this,"lblGem"),zt(this,"lblHonorCoin"),zt(this,"gemPoint",new mi),zt(this,"gemPointInitialized",!1),zt(this,"honorPoint",new mi),zt(this,"honorPointInitialized",!1),this.width=t.W,this.height=300,this.title=CG.getText("COMMON_22","보상"),this.btnClose.visible=!1,this.outSideClickHide=!1,this.fallbackText.visible=!1,this.contentContainer.addChild(this.fallbackText);
+ for(let i=0;
+ i<t.MAX_ROWS;
+ i++){
+ const t=this.createRewardRow();
+ t.container.visible=!1,this.rows.push(t),this.contentContainer.addChild(t.container)}
+ this.totalContainer.visible=!1,this.totalContainer.addChild(this.totalBg,this.totalTitle),this.totalTitle.x=14,this.totalTitle.y=8;
+ for(let i=0;
+ i<t.MAX_TOTAL_LABELS;
+ i++){
+ const t=this.createRewardSlot();
+ this.totalSlots.push(t),this.totalContainer.addChild(t.container)}
+ this.contentContainer.addChild(this.totalContainer),this.btnConfirm.showIconLabel=!1,this.btnConfirm.showTextLabel=!0,this.btnConfirm.text=CG.getText("COMMON_1","확인"),this.btnConfirm.color=IU.GREEN,this.btnConfirm.onClick=this.onConfirmClick.bind(this),this.contentContainer.addChild(this.btnConfirm),this.resourceContainer=new Be,this.resourceContainer.y=75,this.contentContainer.addChild(this.resourceContainer),this.resourceBg=new TM({
+ texture:ZA.getTexture("UI_Ekkorr","Popup_Bg_04"),leftWidth:12,topHeight:12,rightWidth:12,bottomHeight:12}
+ ),this.resourceBg.width=300,this.resourceContainer.addChild(this.resourceBg),this.lblGem=new UB("UI_GEM_ICON","0",lD.COLOR_DEEP_SKYBLUE,lD.DEFAULT_OUTLINE_FONT_OPTION_17),this.lblGem.x=30,this.lblGem.y=.5*(this.resourceBg.height-this.lblGem.height),this.resourceContainer.addChild(this.lblGem),this.lblHonorCoin=new UB("PVP_COIN_ON","0",lD.COLOR_PURPLE_PINK,lD.DEFAULT_OUTLINE_FONT_OPTION_17),this.lblHonorCoin.x=this.lblGem.x+this.lblGem.width+50,this.lblHonorCoin.y=.5*(this.resourceBg.height-this.lblHonorCoin.height),this.resourceContainer.addChild(this.lblHonorCoin)}
+ static getInstance(){
+ return null==this.instance&&(this.instance=new t),this.instance}
+ show(t=null,i=null,s=null){
+ const e="string"==typeof t?null:t;
+ this.setRewardData(e),this.updateGem(),this.updateHonorCoin(),super.show(),setTimeout(()=>{
+ const t=this.sumReward(e,"gem");
+ t>0&&(EL.gem+=t,HV.getInstance().updateGem(),this.displayGemGathering(t));
+ const i=this.sumReward(e,"honorCoin");
+ i>0&&(EL.honorCoin+=i,HV.getInstance().updateHonor(),this.displayHonorCoinGathering(i))}
+ ,300)}
+ hide(){
+ if(!this.parent)return;
+ const t=this.onConfirm;
+ this.onConfirm=null,super.hide(),null==t||t()}
+ getDefaultPositionY(){
+ return.5*KA.stageHeight}
+ onConfirmClick(){
+ this.hide()}
+ setRewardData(i){
+ this.resetRows();
+ let s=this.resourceContainer.y+this.resourceContainer.height+25;
+ const e=((null==i?void 0:i.details)??[]).slice(0,t.MAX_ROWS);
+ if(e.length>0){
+ const i=t.DETAIL_GRID_COLS,n=i*t.DETAIL_CARD_W+(i-1)*t.DETAIL_CARD_GAP_X,h=.5*(this.width-n),r=Math.ceil(e.length/i),o=Array.from({
+ length:r}
+ ,()=>t.DETAIL_CARD_H);
+ for(let s=0;
+ s<e.length;
+ s++){
+ const n=this.rows[s],r=this.setRowData(n,e[s]),a=s%i,c=Math.floor(s/i);
+ o[c]=Math.max(o[c],r),n.container.visible=!0,n.container.x=h+a*(t.DETAIL_CARD_W+t.DETAIL_CARD_GAP_X)}
+ const a=[];
+ let c=s;
+ for(let s=0;
+ s<r;
+ s++)a[s]=c,c+=o[s]+t.DETAIL_CARD_GAP_Y;
+ for(let t=0;
+ t<e.length;
+ t++)this.rows[t].container.y=a[Math.floor(t/i)];
+ s=c-(r>0?t.DETAIL_CARD_GAP_Y:0)}
+ else s=this.setFallbackRewards(i,s);
+ s=this.setTotalRewards(i,s+12),this.btnConfirm.x=.5*(this.width-this.btnConfirm.width),this.btnConfirm.y=s+20,this.height=this.btnConfirm.y+this.btnConfirm.height+50,this.resetPostionY()}
+ resetRows(){
+ this.fallbackText.visible=!1,this.totalContainer.visible=!1;
+ for(const t of this.totalSlots)this.resetRewardSlot(t);
+ for(const t of this.rows){
+ t.container.visible=!1,t.empty.visible=!1,t.image.texture=ss.EMPTY;
+ for(const i of t.slots)this.resetRewardSlot(i)}
+ }
+ setFallbackRewards(t,i){
+ return this.getTotalDisplayRewards(t).length>0?i:(this.fallbackText.text="(획득한 보상이 없습니다)",this.fallbackText.style.fill=12632256,this.fallbackText.visible=!0,this.fallbackText.x=.5*(this.width-this.fallbackText.width),this.fallbackText.y=i,i+this.fallbackText.height)}
+ setTotalRewards(i,s){
+ const e=this.getTotalDisplayRewards(i);
+ if(e.length<=0)return s;
+ this.totalContainer.visible=!0,this.totalContainer.x=.5*(this.width-t.ROW_W),this.totalContainer.y=s;
+ const n=this.layoutTotalRewardLabels(e,34),h=Math.max(64,n+10);
+ return this.totalBg.clear(),this.totalBg.roundRect(0,0,t.ROW_W,h,8),this.totalBg.fill({
+ color:2828063,alpha:.92}
+ ),this.totalBg.stroke({
+ width:1,color:7166516,alpha:.9}
+ ),s+h+8}
+ getTotalDisplayRewards(t){
+ const i=((null==t?void 0:t.totals)??[]).filter(t=>Math.max(0,Number(t.num)||0)>0).map(t=>({
+ type:t.type,kindNum:t.kindNum,num:Math.max(0,Number(t.num)||0)}
+ )),s=Math.max(0,(null==t?void 0:t.gainedExp)??0);
+ return s>0&&i.push({
+ type:"exp",num:s,kindNum:-1}
+ ),this.sortDisplayRewards(i,!0)}
+ createRewardRow(){
+ const i=new Be,s=new Gf,e=new We(ss.EMPTY),n=new Wg({
+ text:"보상 없음",style:{
+ fontSize:16,fill:12632256}
+ }
+ ),h=[];
+ i.addChild(s,e,n),n.y=34,n.visible=!1;
+ for(let r=0;
+ r<t.MAX_REWARD_LABELS;
+ r++){
+ const t=this.createRewardSlot();
+ h.push(t),i.addChild(t.container)}
+ return{
+ container:i,bg:s,image:e,empty:n,slots:h}
+ }
+ setRowData(i,s){
+ this.setDetailImage(i.image,s),i.image.x=.5*(t.DETAIL_CARD_W-i.image.width),i.image.y=t.DETAIL_IMAGE_Y+.5*(t.DETAIL_IMAGE_H-i.image.height);
+ const e=this.getDisplayRewards(s);
+ let n=i.image.y+i.image.height;
+ e.length<=0?(i.empty.visible=!0,i.empty.x=.5*(t.DETAIL_CARD_W-i.empty.width),i.empty.y=t.DETAIL_REWARD_Y,n=i.empty.y+i.empty.height):n=this.layoutCardRewardLabels(i,e,t.DETAIL_REWARD_Y);
+ const h=Math.max(t.DETAIL_CARD_H,n+10);
+ return i.bg.clear(),i.bg.roundRect(0,0,t.DETAIL_CARD_W,h,8),i.bg.fill({
+ color:2039848,alpha:.9}
+ ),i.bg.stroke({
+ width:1,color:4935260,alpha:.9}
+ ),h}
+ getDisplayRewards(t){
+ const i=(t.rewards??[]).filter(t=>"exp"!==t.type&&Math.max(0,Number(t.num)||0)>0);
+ return this.sortDisplayRewards(i)}
+ sortDisplayRewards(t,i=!1){
+ return t.map((t,i)=>({
+ reward:t,index:i}
+ )).sort((t,s)=>{
+ const e=this.getRewardSortPriority(t.reward,i),n=this.getRewardSortPriority(s.reward,i);
+ return e!==n?e-n:t.index-s.index}
+ ).map(t=>t.reward)}
+ getRewardSortPriority(t,i){
+ return"gem"===t.type?0:"honorCoin"===t.type?1:i&&"exp"===t.type?99:10}
+ layoutCardRewardLabels(i,s,e){
+ const n=t.DETAIL_CARD_W-12,h=[];
+ let r=[],o=0;
+ for(let c=0;
+ c<s.length&&c<t.MAX_REWARD_LABELS;
+ c++){
+ const e=i.slots[c];
+ this.setRewardSlot(e,s[c]);
+ const a=this.getRewardSlotWidth(e),l=this.getRewardSlotHeight(e),u=0===r.length?a:o+t.REWARD_GAP_X+a;
+ r.length>0&&u>n&&(h.push(r),r=[],o=0),r.push({
+ slot:e,width:a,height:l}
+ ),o=0===o?a:o+t.REWARD_GAP_X+a}
+ r.length>0&&h.push(r);
+ let a=e;
+ for(const c of h){
+ const i=c.reduce((t,i)=>t+i.width,0)+Math.max(0,c.length-1)*t.REWARD_GAP_X,s=Math.max(24,...c.map(t=>t.height));
+ let e=.5*(t.DETAIL_CARD_W-i);
+ for(const n of c)n.slot.container.x=e,n.slot.container.y=a+.5*(s-n.height),n.slot.container.visible=!0,e+=n.width+t.REWARD_GAP_X;
+ a+=s+t.REWARD_GAP_Y}
+ return a-t.REWARD_GAP_Y}
+ layoutTotalRewardLabels(i,s){
+ const e=t.ROW_W-28,n=[];
+ let h=[],r=0;
+ for(let a=0;
+ a<i.length&&a<t.MAX_TOTAL_LABELS;
+ a++){
+ const s=this.totalSlots[a];
+ this.setRewardSlot(s,i[a]);
+ const o=this.getRewardSlotWidth(s),c=this.getRewardSlotHeight(s),l=0===h.length?o:r+t.REWARD_GAP_X+o;
+ h.length>0&&l>e&&(n.push(h),h=[],r=0),h.push({
+ slot:s,width:o,height:c}
+ ),r=0===r?o:r+t.REWARD_GAP_X+o}
+ h.length>0&&n.push(h);
+ let o=s;
+ for(const a of n){
+ const i=Math.max(24,...a.map(t=>t.height));
+ let s=14;
+ for(const e of a)e.slot.container.x=s,e.slot.container.y=o+.5*(i-e.height),e.slot.container.visible=!0,s+=e.width+t.REWARD_GAP_X;
+ o+=i+t.REWARD_GAP_Y}
+ return o-t.REWARD_GAP_Y}
+ createRewardSlot(){
+ const t=new Be,i=new UB("ShipArenaCoin","0",lD.COLOR_WHITE,lD.DEFAULT_OUTLINE_FONT_OPTION_17);
+ i.textSize=17;
+ const s=new We(ss.EMPTY),e=new QD("0",lD.COLOR_WHITE,lD.DEFAULT_OUTLINE_FONT_OPTION_17);
+ e.textSize=17;
+ const n=new QD("xp +0",16767334,lD.DEFAULT_OUTLINE_FONT_OPTION_17);
+ return n.textSize=17,t.visible=!1,s.visible=!1,e.visible=!1,n.visible=!1,t.addChild(i,s,e,n),{
+ container:t,iconLabel:i,petSprite:s,petCount:e,expLabel:n}
+ }
+ resetRewardSlot(t){
+ t.container.visible=!1,t.iconLabel.visible=!1,t.petSprite.visible=!1,t.petCount.visible=!1,t.expLabel.visible=!1,t.petSprite.texture=ss.EMPTY}
+ setRewardSlot(t,i){
+ if(this.setExpRewardSlot(t,i))return;
+ if(this.setPetPieceRewardSlot(t,i))return;
+ t.rewardType=i.type,t.iconLabel.visible=!0,t.petSprite.visible=!1,t.petCount.visible=!1,t.expLabel.visible=!1;
+ const s=t.iconLabel,e=this.getRewardIconInfo(i);
+ s.texture=ZA.getTexture(e.sheetName,e.iconName)??ss.EMPTY,s.textColor=e.color,s.iconScale=e.scale,s.text=KD.displayLargeNumberAsAlphabet(i.num),s.textOffsetX=4}
+ getTotalSlotWithType(t){
+ return this.totalSlots.find(i=>i.rewardType==t)}
+ setExpRewardSlot(t,i){
+ return"exp"===i.type&&(t.rewardType="exp",t.iconLabel.visible=!1,t.petSprite.visible=!1,t.petCount.visible=!1,t.expLabel.visible=!0,t.expLabel.text=`xp +${
+ KD.displayLargeNumberAsAlphabet(i.num)}
+ `,t.expLabel.x=0,t.expLabel.y=0,!0)}
+ setPetPieceRewardSlot(i,s){
+ if("petPiece"!==s.type)return!1;
+ const e=Math.floor(Number(s.kindNum)||0);
+ if(e<=0||!ZA.hasSheet("UI_PET"))return!1;
+ const n=ZA.getTexture("UI_PET",`UI_PET${
+ e}
+ `);
+ if(!n)return!1;
+ i.rewardType="petPiece",i.iconLabel.visible=!1,i.petSprite.visible=!0,i.petCount.visible=!0,i.expLabel.visible=!1,i.petSprite.texture=n,i.petSprite.scale.set(1);
+ const h=t.PET_REWARD_ICON_SIZE,r=Math.min(h/Math.max(1,i.petSprite.width),h/Math.max(1,i.petSprite.height));
+ return i.petSprite.scale.set(r),i.petSprite.x=.5*(h-i.petSprite.width),i.petSprite.y=.5*(h-i.petSprite.height),i.petCount.text=KD.displayLargeNumberAsAlphabet(s.num),i.petCount.textColor=lD.COLOR_WHITE,i.petCount.x=h+4,i.petCount.y=.5*(h-i.petCount.height),!0}
+ getRewardSlotWidth(i){
+ return i.expLabel.visible?i.expLabel.width:i.petSprite.visible?t.PET_REWARD_ICON_SIZE+4+i.petCount.width:i.iconLabel.width}
+ getRewardSlotHeight(i){
+ return i.expLabel.visible?i.expLabel.height:i.petSprite.visible?Math.max(t.PET_REWARD_ICON_SIZE,i.petCount.y+i.petCount.height):i.iconLabel.height}
+ getRewardIconInfo(t){
+ switch(t.type){
+ case"gem":return{
+ iconName:"UI_GEM_ICON",sheetName:"UI_Ekkorr",color:lD.COLOR_DEEP_SKYBLUE,scale:.78}
+ ;
+ case"honorCoin":return{
+ iconName:"PVP_COIN_ON",sheetName:"UI_Ekkorr",color:lD.COLOR_PURPLE_PINK,scale:.78}
+ ;
+ case"exp":return{
+ iconName:"ShipArenaCoin",sheetName:"UI_Ekkorr",color:16767334,scale:.85}
+ ;
+ case"hammer":return{
+ iconName:"Thumbnail_Hammer_01.png",sheetName:"UI_MINE",color:lD.COLOR_WHITE,scale:.192}
+ ;
+ case"spriteLandTicket":return{
+ iconName:"UI_PET_TICKET",sheetName:"UI_Ekkorr",color:lD.COLOR_WHITE,scale:.6}
+ ;
+ case"hero5":return{
+ iconName:"Ticket_HeroGacha",sheetName:"UI_Ekkorr",color:lD.COLOR_WHITE,scale:.54}
+ ;
+ case"hero5s":return{
+ iconName:"Ticket_HeroSelect",sheetName:"UI_Ekkorr",color:lD.COLOR_WHITE,scale:.54}
+ ;
+ case"treasure6":return{
+ iconName:"Ticket_TreasureGacha",sheetName:"UI_Ekkorr",color:lD.COLOR_WHITE,scale:.54}
+ ;
+ case"petPiece":return{
+ iconName:"Ticket_PetSelect",sheetName:"UI_Ekkorr",color:lD.COLOR_WHITE,scale:.54}
+ ;
+ default:return{
+ iconName:"ShipArenaCoin",sheetName:"UI_Ekkorr",color:lD.COLOR_WHITE,scale:.85}
+ }
+ }
+ setDetailImage(i,s){
+ const e=Math.max(1,Math.floor(s.grade??1));
+ let n="";
+ n="box"===s.source?`randomBox${
+ Math.min(5,e)}
+ .png`:`BoneBox_${
+ s.shape??"square"}
+ _${
+ Math.min(7,e)}
+ .png`,i.texture=ZA.getTexture("UI_MINE",n)??ss.EMPTY,i.scale.set(1);
+ const h=Math.min(1,t.DETAIL_IMAGE_W/Math.max(1,i.width),t.DETAIL_IMAGE_H/Math.max(1,i.height));
+ i.scale.set(h)}
+ getRewardName(t){
+ switch(t.type){
+ case"gem":return"보석";
+ case"honorCoin":return"명예코인";
+ case"spriteLandTicket":return"정령고원 티켓";
+ case"hammer":return"망치";
+ case"hero5":return"5성 영웅 확정권";
+ case"hero5s":return"5성 영웅 선택권";
+ case"treasure6":return"6성 유물권";
+ case"petPiece":return t.kindNum?`펫 조각 ${
+ t.kindNum}
+ `:"펫 조각";
+ case"kindNum":return t.kindNum?`kindNum ${
+ t.kindNum}
+ `:"보상";
+ case"a":return"보상 A";
+ case"b":return"보상 B";
+ default:return null!=t.type&&t.type.length>0?t.type:t.kindNum?`kindNum ${
+ t.kindNum}
+ `:"보상"}
+ }
+ sumReward(t,i){
+ const s=null==t?void 0:t.totals;
+ return Array.isArray(s)?s.filter(t=>(null==t?void 0:t.type)===i).reduce((t,i)=>t+Math.max(0,Number(i.num)||0),0):0}
+ updateGem(){
+ this.lblGem.text=EL.gem.toFixed(0),this.updateResouceLayout()}
+ updateHonorCoin(){
+ this.lblHonorCoin.text=EL.honorCoin.toFixed(0),this.updateResouceLayout()}
+ updateResouceLayout(){
+ this.lblHonorCoin.x=this.lblGem.x+this.lblGem.width+50,this.resourceBg.width=this.lblHonorCoin.x+this.lblHonorCoin.width+30,this.resourceContainer.x=this.totalContainer.x+this.totalContainer.width-this.resourceContainer.width}
+ displayGemGathering(t){
+ const i=this.getTotalSlotWithType("gem");
+ if(!i)return;
+ const s=i.container;
+ let e=s.getGlobalPosition(),n=KA.stage.toLocal(e);
+ c2t.getInstance().getGemInMine(n.x+.5*s.width-15,n.y+.5*s.height-20,t,Math.min(30,t),this,1.2)}
+ displayHonorCoinGathering(t){
+ const i=this.getTotalSlotWithType("honorCoin");
+ if(!i)return;
+ const s=i.container;
+ let e=s.getGlobalPosition(),n=KA.stage.toLocal(e);
+ c2t.getInstance().getHonorCoinInMine(n.x+.5*s.width-15,n.y+.5*s.height-20,t,Math.min(30,t),this,1.2)}
+ getGemPoint(){
+ return 0==this.gemPointInitialized&&(this.gemPointInitialized=!0,this.gemPoint.x=this.x-.5*this.width+this.resourceContainer.x+this.lblGem.x+.5*this.lblGem.getIcon().width,this.gemPoint.y=this.y-.5*this.height+this.resourceContainer.y+this.lblGem.y+.5*this.lblGem.getIcon().height),this.gemPoint}
+ getHonorPoint(){
+ return 0==this.honorPointInitialized&&(this.honorPointInitialized=!0,this.honorPoint.x=this.x-.5*this.width+this.resourceContainer.x+this.lblHonorCoin.x+.5*this.lblHonorCoin.getIcon().width,this.honorPoint.y=this.y-.5*this.height+this.resourceContainer.y+this.lblHonorCoin.y+.5*this.lblHonorCoin.getIcon().height),this.honorPoint}
+ startGemMotion(t=null,i=1.2){
+ this.lblGem.startMotion(t,i)}
+ startHonorCoinMotion(t=null,i=1.2){
+ this.lblHonorCoin.startMotion(t,i)}
+ }
+ ;
+ Kt(rst,"MineRewardPopup"),zt(rst,"instance"),zt(rst,"W",560),zt(rst,"MAX_ROWS",5),zt(rst,"MAX_REWARD_LABELS",6),zt(rst,"MAX_TOTAL_LABELS",16),zt(rst,"ROW_W",480),zt(rst,"DETAIL_GRID_COLS",3),zt(rst,"DETAIL_CARD_W",150),zt(rst,"DETAIL_CARD_H",166),zt(rst,"DETAIL_CARD_GAP_X",13),zt(rst,"DETAIL_CARD_GAP_Y",8),zt(rst,"DETAIL_IMAGE_W",110),zt(rst,"DETAIL_IMAGE_H",76),zt(rst,"DETAIL_IMAGE_Y",16),zt(rst,"DETAIL_REWARD_Y",102),zt(rst,"REWARD_GAP_X",14),zt(rst,"REWARD_GAP_Y",6),zt(rst,"PET_REWARD_ICON_SIZE",25);
+ let ost=rst;
+ const ast=class t extends Be{
+ constructor(){
+ super(),zt(this,"titleUp"),zt(this,"titleInfo"),zt(this,"bg"),zt(this,"iconHammer"),zt(this,"lblTitle"),zt(this,"btnGuide"),zt(this,"lblEventTimer"),zt(this,"lblHammer"),zt(this,"expProgressContainer"),zt(this,"expProgressPanel"),zt(this,"expProgressTrack"),zt(this,"expProgressPreview"),zt(this,"expProgressFill"),zt(this,"expProgressFrame"),zt(this,"lblExpLevel"),zt(this,"lblExpValue"),zt(this,"btnClose"),zt(this,"btnPlus"),zt(this,"infoContainer"),zt(this,"btnInfo"),zt(this,"infoLine"),zt(this,"fossilIcons"),zt(this,"fossilLabelBg"),zt(this,"fossilLabel"),zt(this,"fossilLabelContainer"),zt(this,"initialized",!1),zt(this,"uiBuilt",!1),zt(this,"expTween",null),zt(this,"eventEndTimeMs",0),zt(this,"lastEventTimerText","")}
+ static getInstance(){
+ return null==this.instance&&(this.instance=new t),this.instance}
+ buildUI(){
+ const i=t.OVERLAP;
+ let s;
+ this.titleUp=new We(ZA.getTexture("UI_MINE","Base_Title_up.png")),this.titleUp.x=0,this.titleUp.y=0,this.addChild(this.titleUp),this.bg=new We(ZA.getTexture("UI_MINE","EBlock_bg.png")),this.bg.x=.5*(t.OUTER_W-t.BG_W),this.bg.y=this.titleUp.y+this.titleUp.height-i-i,this.addChild(this.bg),this.expProgressContainer=new Be,this.expProgressContainer.x=this.bg.x+.5*(this.bg.width-t.HUD_W),this.expProgressContainer.y=this.bg.y+20,this.addChild(this.expProgressContainer),this.buildExpProgress(),this.titleInfo=new We(ZA.getTexture("UI_MINE","Base_Title_info.png")),this.titleInfo.x=0,this.titleInfo.y=this.bg.y+this.bg.height-i-i,this.addChild(this.titleInfo),this.lblTitle=new QD(CG.getText("GAME_1203","화석 발굴"),lD.COLOR_WHITE,lD.WHITE_OUTLINE_FONT_OPTION_22),this.lblTitle.textSize=23,this.lblTitle.x=52,this.lblTitle.y=this.titleUp.y+.5*(this.titleUp.height-this.lblTitle.height)-3,this.addChild(this.lblTitle),this.btnGuide=new vB("UI_Ekkorr","UI_Alarm"),this.btnGuide.onClick=()=>{
+ Hit.getInstance().showGuide()}
+ ,this.addChild(this.btnGuide),this.positionGuideButton(),this.btnClose=new k5,this.btnClose.x=t.OUTER_W-this.btnClose.width-18,this.btnClose.y=12,this.btnClose.eventMode="static",this.btnClose.cursor="pointer",this.btnClose.on("pointertap",this.onClose,this),this.addChild(this.btnClose),this.lblEventTimer=new QD("",16768376,lD.DEFAULT_OUTLINE_FONT_OPTION_18),this.lblEventTimer.textSize=18,this.lblEventTimer.visible=!1,this.addChild(this.lblEventTimer),this.infoContainer=new Be,this.infoContainer.x=50,this.infoContainer.y=this.titleInfo.y,this.addChild(this.infoContainer),this.btnInfo=new vB("UI_MINE","Btn_TreasureBox_Information.png"),this.btnInfo.onClick=()=>{
+ hst.getInstance().show()}
+ ,this.btnInfo.y=.5*(this.titleInfo.height-this.btnInfo.height),this.infoContainer.addChild(this.btnInfo),this.infoLine=new Gf,this.infoLine.rect(0,0,2,this.btnInfo.height),this.infoLine.fill(0),this.infoLine.x=this.btnInfo.x+this.btnInfo.width+10,this.infoLine.y=this.btnInfo.y+.5*(this.btnInfo.height-this.infoLine.height),this.infoContainer.addChild(this.infoLine),this.fossilIcons=[];
+ let e=this.infoLine.x+10;
+ for(let t=0;
+ t<5;
+ ++t)s=new est,s.setGrade(t+1),s.x=e+t*(s.width+5),s.y=this.btnInfo.y+.5*(this.btnInfo.height-s.height),this.infoContainer.addChild(s),this.fossilIcons.push(s);
+ this.fossilLabelContainer=new Be,this.fossilLabelContainer.scale=.8,this.fossilLabelContainer.x=e,this.fossilLabelContainer.y=-10,this.infoContainer.addChild(this.fossilLabelContainer),this.fossilLabelBg=new TM({
+ texture:ZA.getTexture("UI_Ekkorr","Btn_Unit_01"),leftWidth:30,topHeight:20,rightWidth:30,bottomHeight:20}
+ ),this.fossilLabelBg.alpha=.9,this.fossilLabelContainer.addChild(this.fossilLabelBg);
+ const n=lD.LABEL_OPTION_NO_DROP_SHADOW;
+ n.fill=13351840,n.fontSize=22,n.stroke={
+ color:"#333333",width:4,join:"round"}
+ ,this.fossilLabel=new QD(CG.getText("GAME_1220","감지된 화석"),n.fill,n),this.fossilLabel.x=30,this.fossilLabel.y=this.fossilLabelBg.y+.5*(this.fossilLabelBg.height-this.fossilLabel.height)+1,this.fossilLabelContainer.addChild(this.fossilLabel),this.fossilLabelBg.width=this.fossilLabel.width+2*this.fossilLabel.x,this.uiBuilt=!0}
+ buildExpProgress(){
+ this.expProgressPanel=new Gf,this.expProgressTrack=new Gf,this.expProgressPreview=new Gf,this.expProgressFill=new Gf,this.expProgressFrame=new Gf,this.expProgressPanel.roundRect(0,0,t.HUD_W,t.HUD_H,12),this.expProgressPanel.fill({
+ color:2761753,alpha:.52}
+ ),this.expProgressPanel.stroke({
+ width:2,color:6968369,alpha:.78}
+ ),this.expProgressPanel.roundRect(4,4,t.HUD_W-8,12,7),this.expProgressPanel.fill({
+ color:16777215,alpha:.07}
+ ),this.expProgressContainer.addChild(this.expProgressPanel),this.expProgressContainer.addChild(this.expProgressTrack),this.expProgressContainer.addChild(this.expProgressPreview),this.expProgressContainer.addChild(this.expProgressFill),this.expProgressContainer.addChild(this.expProgressFrame),this.lblExpLevel=new QD("Lv.1",lD.COLOR_WHITE,lD.DEFAULT_OUTLINE_FONT_OPTION_17),this.lblExpLevel.textSize=17,this.lblExpLevel.x=14,this.lblExpLevel.y=.5*(t.HUD_H-this.lblExpLevel.height),this.expProgressContainer.addChild(this.lblExpLevel),this.lblExpValue=new QD("0/0",lD.COLOR_WHITE,lD.DEFAULT_OUTLINE_FONT_OPTION_17),this.lblExpValue.textSize=17,this.expProgressContainer.addChild(this.lblExpValue);
+ const i=this.expProgressPanel;
+ this.btnPlus=new vB("UI_Ekkorr","Btn_Plus2"),this.btnPlus.x=i.width-this.btnPlus.width-15,this.btnPlus.y=.5*(i.height-this.btnPlus.height),this.btnPlus.onClick=()=>{
+ this.hide();
+ const t=B2.getInstance().getProductIdsWithHammer();
+ t.length>0?Uit.getInstance().goPaymentShopWithProductIds(t):Uit.getInstance().goPaymentShop(1)}
+ ,this.expProgressContainer.addChild(this.btnPlus),this.lblHammer=new QD("0",lD.COLOR_WHITE,lD.WHITE_OUTLINE_FONT_OPTION_22),this.lblHammer.textSize=26,this.lblHammer.x=this.btnPlus.x-70,this.lblHammer.y=.5*(i.height-this.lblHammer.height)-1,this.expProgressContainer.addChild(this.lblHammer),this.iconHammer=new We(ZA.getTexture("UI_MINE","Thumbnail_Hammer_01.png")),this.iconHammer.scale.set(.6),this.iconHammer.x=this.lblHammer.x-this.iconHammer.width,this.iconHammer.y=i.height-this.iconHammer.height,this.expProgressContainer.addChild(this.iconHammer),this.drawExpProgress(0,0)}
+ async ensureMineBookData(){
+ const t=FG.getInstance();
+ try{
+ if(t.bookList.length<=0){
+ await ED.getInstance().loadBook(_D.MINE_LEVEL);
+ const i=ED.getInstance().getBook(_D.MINE_LEVEL);
+ t.setBookData(i)}
+ if(t.chestRewardList.length<=0){
+ await ED.getInstance().loadBook(_D.MINE_CHEST_REWARD);
+ const i=ED.getInstance().getBook(_D.MINE_CHEST_REWARD);
+ t.setChestRewardBookData(i)}
+ }
+ catch(i){
+ }
+ }
+ async show(){
+ var i,s,e,n;
+ if(!(ZA.hasSheet("UI_MINE")||await ZA.generateTexture("UI_MINE","ktx2",!1)&&ZA.hasSheet("UI_MINE")))return;
+ this.uiBuilt||this.buildUI(),this.initialized=!0,await this.ensureMineBookData();
+ const h=FG.getInstance();
+ let r=h.revealedChests,o=h.discoveredBoxes;
+ if(h.needsStatusFetchForPopup()){
+ const t=await oD.getInstance().mine.getStatus(!0);
+ if(!t||!1===t.success)return;
+ h.setStatusData(null==(i=t.body)?void 0:i.status),h.setInstanceData(null==(s=t.body)?void 0:s.instance),r=(null==(e=t.body)?void 0:e.revealedChests)??[],o=(null==(n=t.body)?void 0:n.discoveredBoxes)??[],h.setDiscoveryData(r,o)}
+ const a=Xit.getInstance();
+ await a.initialize(),a.reset(),this.mountMineMain(a),a.onAllChestsExcavated=()=>{
+ }
+ ,a.onComplete=()=>this.handleComplete(),a.onHammerUsed=()=>this.refreshHeader(),a.onDamageAndExcavated=()=>this.refreshRevealedChests(),a.onHammerEmpty=()=>{
+ yV.getInstance().showMessage(CG.getText("GAME_1215","망치가 부족합니다."))}
+ ,a.onError=(t,i)=>{
+ }
+ ,await a.startGame(),(r.length>0||o.length>0)&&a.applyDiscovered(r,o),this.positionMineMain(a),this.refreshHeader(),this.refreshRevealedChests(),this.refreshEventTimerConfig(),this.startEventTimer(),this.x=.5*(KA.stageWidth-t.OUTER_W);
+ const c=KA.stageHeight;
+ this.y=Math.max(40,.5*(c-this.height)),H2.showItemsInVertical([this],20,.3),NL.getInstance().addPopup(this)}
+ onClose(){
+ this.killExpTween(),this.stopEventTimer(),H2.hideItemsInVertical([this],20,.2,()=>{
+ NL.getInstance().removePopup(this),Xit.getInstance().reset()}
+ )}
+ hide(){
+ this.onClose()}
+ async handleComplete(){
+ var t,i;
+ const s=await oD.getInstance().mine.end(!0);
+ if(!s||!1===s.success)return;
+ this.syncRewardManagers(s.body),FG.getInstance().clearInstance();
+ const e=null==(t=s.body)?void 0:t.rewards,n=null==(i=s.body)?void 0:i.status,h=ost.getInstance();
+ h.onConfirm=()=>{
+ this.applyCompleteResultAndStartNext(n,e)}
+ ,h.show(e)}
+ async applyCompleteResultAndStartNext(t,i){
+ if(!t)return;
+ await this.animateExpToStatus(t);
+ const s=FG.getInstance();
+ s.setStatusData(t),s.clearInstance(),this.refreshHeader(),this.refreshRevealedChests(),await this.resetAndStartNext()}
+ async resetAndStartNext(){
+ const t=Xit.getInstance();
+ t.reset(),await t.startGame()&&(this.positionMineMain(t),this.bringChromeToFront(),this.refreshHeader(),this.refreshRevealedChests())}
+ refreshHeader(){
+ if(!this.uiBuilt)return;
+ const t=FG.getInstance(),i=t.status;
+ this.lblTitle.text=CG.getText("GAME_1203","화석 발굴"),this.positionGuideButton(),this.lblHammer.text=String(i.hammerCount),this.refreshExpProgress(t)}
+ refreshRevealedChests(){
+ var t;
+ const i=FG.getInstance(),s=null==(t=i.instance)?void 0:t.mineLevel;
+ if(!s)return;
+ const e=i.getLevelVO(s);
+ if(!e)return;
+ let n;
+ const h=i.revealedChests.length,r=this.fossilIcons.length;
+ for(let o=0;
+ o<r;
+ ++o)if(n=this.fossilIcons[o],o<h){
+ const t=i.revealedChests[o];
+ n.activated=!0,n.setGrade(t.grade),n.alpha=t.fullyExcavated?1:.6,n.visible=!0}
+ else n.visible=!1;
+ this.fossilLabel.text=h>0?`${
+ CG.getText("GAME_1220","감지된 화석")}
+  (${
+ h}
+ /${
+ e.numChest}
+ )`:CG.getText("GAME_1220","감지된 화석"),this.fossilLabelBg.width=this.fossilLabel.width+2*this.fossilLabel.x}
+ refreshEventTimerConfig(){
+ this.eventEndTimeMs=this.getEventEndTimeMsFromConfig(),this.lastEventTimerText="",this.updateEventTimer()}
+ startEventTimer(){
+ GM.getInstance().remove(this.updateEventTimer,this),this.eventEndTimeMs>0&&GM.getInstance().add(this.updateEventTimer,this)}
+ stopEventTimer(){
+ GM.getInstance().remove(this.updateEventTimer,this)}
+ updateEventTimer(){
+ if(!this.uiBuilt||!this.lblEventTimer)return;
+ if(this.eventEndTimeMs<=0)return void(this.lblEventTimer.visible=!1);
+ const t=ox.time>0?ox.time:Date.now(),i=this.eventEndTimeMs-t;
+ if(i<=0)return this.lblEventTimer.visible=!1,void this.stopEventTimer();
+ const s=fU.displayTimeAsDHHMM(Math.floor(i/1e3));
+ s!==this.lastEventTimerText&&(this.lastEventTimerText=s,this.lblEventTimer.text=s,this.lblEventTimer.visible=!0,this.positionEventTimer())}
+ positionEventTimer(){
+ const t=this.btnClose.x-12,i=this.btnGuide.x+this.btnGuide.width+16;
+ this.lblEventTimer.x=Math.max(i,t-this.lblEventTimer.width),this.lblEventTimer.y=this.titleUp.y+.5*(this.titleUp.height-this.lblEventTimer.height)-3}
+ positionGuideButton(){
+ this.btnGuide&&this.lblTitle&&(this.btnGuide.x=this.lblTitle.x+this.lblTitle.width+8,this.btnGuide.y=this.lblTitle.y+.5*(this.lblTitle.height-this.btnGuide.height)+2)}
+ getEventEndTimeMsFromConfig(){
+ const i=SL.getInstance().getClientData(t.EVENT_END_TIME_KEY);
+ if(null==i||""===i)return 0;
+ const s=String(i).trim();
+ if(!s)return 0;
+ const e=s.match(/^(\d{
+ 4}
+ )(\d{
+ 2}
+ )(\d{
+ 2}
+ )$/);
+ if(e){
+ const[,t,i,s]=e;
+ return Date.UTC(Number(t),Number(i)-1,Number(s)+1)}
+ if(/^\d+$/.test(s)){
+ const t=Number(s);
+ return!Number.isFinite(t)||t<=0?0:s.length<=10?1e3*t:t}
+ const n=s.match(/^(\d{
+ 4}
+ )-(\d{
+ 2}
+ )-(\d{
+ 2}
+ )$/);
+ if(n){
+ const[,t,i,s]=n;
+ return Date.UTC(Number(t),Number(i)-1,Number(s)+1)}
+ const h=s.match(/^(\d{
+ 4}
+ )-(\d{
+ 2}
+ )-(\d{
+ 2}
+ )[ T](\d{
+ 2}
+ ):(\d{
+ 2}
+ )(?::(\d{
+ 2}
+ ))?$/);
+ if(h){
+ const[,t,i,s,e,n,r]=h;
+ return Date.UTC(Number(t),Number(i)-1,Number(s),Number(e),Number(n),Number(r??0))}
+ const r=Date.parse(s);
+ return Number.isFinite(r)?r:0}
+ refreshExpProgress(t){
+ const i=t.status;
+ this.setExpProgressDisplay(i.mineLevel,i.mineExp)}
+ setExpProgressDisplay(i,s,e=s){
+ const n=Math.max(0,Math.floor(s)),h=Math.max(n,Math.floor(e)),r=FG.getInstance(),o=r.getLevelVO(i),a=r.getLevelVO(i+1),c=r.getMaxLevel(),l=Math.max(0,Math.floor((null==o?void 0:o.accReqExp)??0));
+ let u=0,d=0,f="0/-";
+ if(a){
+ const t=Math.max(0,Math.floor(a.accReqExp)),i=Math.max(1,t-l),s=Math.min(i,Math.max(0,n-l)),e=Math.min(i,Math.max(s,h-l));
+ u=Math.min(1,s/i),d=Math.min(1,e/i),f=`${
+ s}
+ /${
+ i}
+ `}
+ else c>0&&i>=c&&(u=1,d=1,f=`${
+ Math.max(0,n-l)}
+ /MAX`);
+ this.lblExpLevel.text=`Lv.${
+ i}
+ `,this.lblExpValue.text=f,this.lblExpValue.x=t.EXP_BAR_X+.5*(t.EXP_BAR_W-this.lblExpValue.width),this.lblExpValue.y=t.EXP_BAR_Y+.5*(t.EXP_BAR_H-this.lblExpValue.height),this.drawExpProgress(u,d)}
+ drawExpProgress(i,s=i){
+ const e=t.EXP_BAR_X,n=t.EXP_BAR_Y,h=t.EXP_BAR_W,r=t.EXP_BAR_H,o=Math.max(0,Math.min(h,Math.round(h*i))),a=Math.max(0,Math.min(h,Math.round(h*s)));
+ if(this.expProgressTrack.clear(),this.expProgressTrack.roundRect(e,n,h,r,9),this.expProgressTrack.fill({
+ color:1380364,alpha:.86}
+ ),this.expProgressPreview.clear(),a>0){
+ const t=Math.min(9,.5*a);
+ this.expProgressPreview.roundRect(e,n,a,r,t),this.expProgressPreview.fill({
+ color:16777215,alpha:.32}
+ )}
+ if(this.expProgressFill.clear(),o>0){
+ const t=Math.min(9,.5*o);
+ this.expProgressFill.roundRect(e,n,o,r,t),this.expProgressFill.fill({
+ color:2592488,alpha:.98}
+ ),this.expProgressFill.roundRect(e+2,n+2,Math.max(0,o-4),5,3),this.expProgressFill.fill({
+ color:12118015,alpha:.45}
+ )}
+ this.expProgressFrame.clear(),this.expProgressFrame.roundRect(e,n,h,r,9),this.expProgressFrame.stroke({
+ width:2,color:5193515,alpha:.95}
+ )}
+ async animateExpToStatus(t){
+ this.killExpTween();
+ const i=FG.getInstance();
+ let s=Math.max(1,Math.floor(i.status.mineLevel)),e=Math.max(0,Math.floor(i.status.mineExp));
+ const n=Math.max(s,Math.floor(Number(t.mineLevel)||s)),h=Math.max(e,Math.floor(Number(t.mineExp)||e));
+ for(;
+ s<n;
+ ){
+ const t=i.getLevelVO(s+1);
+ if(!t)break;
+ const n=Math.max(e,Math.floor(t.accReqExp));
+ await this.animateExpSegment(s,e,n),s+=1,e=n,this.setExpProgressDisplay(s,e)}
+ await this.animateExpSegment(s,e,h)}
+ animateExpSegment(t,i,s){
+ const e={
+ value:i}
+ ,n=Math.min(1.05,Math.max(.45,Math.abs(s-i)/90));
+ return this.setExpProgressDisplay(t,i,s),new Promise(i=>{
+ this.expTween=HI.to(e,{
+ value:s,duration:n,ease:"power2.out",onUpdate:Kt(()=>{
+ this.setExpProgressDisplay(t,e.value,s)}
+ ,"onUpdate"),onComplete:Kt(()=>{
+ this.expTween=null,this.setExpProgressDisplay(t,s,s),i()}
+ ,"onComplete")}
+ )}
+ )}
+ killExpTween(){
+ this.expTween&&(this.expTween.kill(),this.expTween=null)}
+ syncRewardManagers(t){
+ (null==t?void 0:t.pet)&&mx.getInstance().setData(t.pet),(null==t?void 0:t.inventory)&&b3.getInstance().setData({
+ inventory:t.inventory}
+ )}
+ mountMineMain(t){
+ t.parent===this&&this.removeChild(t);
+ const i=this.getChildIndex(this.bg);
+ this.addChildAt(t,Math.min(i+1,this.children.length)),this.bringChromeToFront()}
+ positionMineMain(i){
+ i.scale.set(1);
+ const s=this.bg.width-66,e=this.bg.y+t.GRID_TOP_PAD,n=this.bg.height-t.GRID_TOP_PAD-t.GRID_BOTTOM_PAD,h=Math.min(1,s/i.width,n/i.height);
+ i.scale.set(h),i.x=this.bg.x+.5*(this.bg.width-i.width),i.y=e+Math.max(0,.5*(n-i.height))}
+ bringChromeToFront(){
+ const t=[this.titleUp,this.expProgressContainer,this.titleInfo,this.lblTitle,this.btnGuide,this.lblEventTimer,this.btnClose,this.iconHammer,this.lblHammer,this.infoContainer];
+ for(const i of t)(null==i?void 0:i.parent)===this&&this.addChild(i)}
+ isInitialized(){
+ return this.initialized}
+ }
+ ;
+ Kt(ast,"MinePopup"),zt(ast,"instance"),zt(ast,"OUTER_W",594),zt(ast,"BG_W",574),zt(ast,"OVERLAP",5),zt(ast,"HUD_W",526),zt(ast,"HUD_H",50),zt(ast,"EVENT_END_TIME_KEY","MINE_EVENT_END_TIME"),zt(ast,"EXP_BAR_X",76),zt(ast,"EXP_BAR_Y",15),zt(ast,"EXP_BAR_W",222),zt(ast,"EXP_BAR_H",20),zt(ast,"GRID_TOP_PAD",118),zt(ast,"GRID_BOTTOM_PAD",42);
+ let cst=ast;
+ const lst=class t extends Be{
Block 1 hunks, 767 statements
- const M8=class t extends Be{
- constructor(){
- super(),zt(this,"xId",0),zt(this,"yId",0),zt(this,"img",new je),zt(this,"_health",0),this.img.x=.5*(t.CELL_W-t.SPRITE_W),this.img.y=.5*(t.CELL_H-t.SPRITE_H),this.addChild(this.img)}
- set health(t){
- if(t<0&&(t=0),this._health=t,t<=0)return void(this.visible=!1);
- this.visible=!0;
- const i=Math.max(1,Math.min(12,Math.ceil(t))),s=ZA.getTexture("UI_MINE",`NumBlock_${
- i}
- _1.png`);
- s&&(this.img.texture=s)}
- get health(){
- return this._health}
- applyDamage(t){
- this.health=this._health-t}
- reset(){
- this._health=0,this.visible=!0}
- }
- ;
- Kt(M8,"Block"),zt(M8,"CELL_W",70),zt(M8,"CELL_H",72),zt(M8,"SPRITE_W",72),zt(M8,"SPRITE_H",82);
- let E8=M8;
- const A8=class extends Be{
- constructor(){
- super(),zt(this,"xIndex",0),zt(this,"yIndex",0),zt(this,"shape","square"),zt(this,"grade",1),zt(this,"kindNum",0),zt(this,"num",0),zt(this,"isExcavated",!1),zt(this,"img",new je),this.addChild(this.img)}
- setData(t){
- this.shape=t.shape,this.grade=Math.max(1,Math.min(7,t.grade??1)),this.kindNum=t.kindNum,this.num=t.num,this.isExcavated=!1;
- const i=t.coordinates[0];
- this.xIndex=i.x,this.yIndex=i.y;
- const s=`BoneBox_${
- t.shape}
- _${
- this.grade}
- .png`,e=ZA.getTexture("UI_MINE",s);
- e&&(this.img.texture=e);
- const{
- w:n,h}
- =this.getCellSize(),r=n*E8.CELL_W,o=h*E8.CELL_H;
- this.img.x=.5*(r-this.img.width),this.img.y=.5*(o-this.img.height)}
- getCellSize(){
- return"square"===this.shape?{
- w:2,h:2}
- :"vLine"===this.shape?{
- w:1,h:4}
- :{
- w:4,h:1}
- }
- }
- ;
- Kt(A8,"TreasureChest");
- let C8=A8;
- const S8=class extends Be{
- constructor(){
- super(),zt(this,"xId",0),zt(this,"yId",0),zt(this,"grade",1),zt(this,"kindNum",0),zt(this,"num",0),zt(this,"isExcavated",!1),zt(this,"img",new je),this.addChild(this.img)}
- setData(t){
- this.xId=t.x,this.yId=t.y,this.kindNum=t.kindNum,this.num=t.num,this.grade=Math.max(1,Math.min(5,t.grade??1)),this.isExcavated=!1,this.visible=t.num>0;
- const i=ZA.getTexture("UI_MINE",`randomBox${
- this.grade}
- .png`);
- i&&(this.img.texture=i),this.img.x=.5*(E8.CELL_W-this.img.width),this.img.y=.5*(E8.CELL_H-this.img.height)}
- }
- ;
- Kt(S8,"MineBoxObj");
- let T8=S8;
- const k8=class t extends Be{
- constructor(){
- super(),zt(this,"xNum",0),zt(this,"yNum",0),zt(this,"blocks",[]),zt(this,"revealedChests",new Map),zt(this,"revealedBoxes",new Map),zt(this,"blockContainer",new Be),zt(this,"chestContainer",new Be),zt(this,"boxContainer",new Be),zt(this,"fxContainer",new Be),zt(this,"xSpace",E8.CELL_W),zt(this,"ySpace",E8.CELL_H),zt(this,"gridBg",new Gf),zt(this,"initialized",!1),zt(this,"gameStarted",!1),zt(this,"gameEnded",!1),zt(this,"pending",!1),zt(this,"onAllChestsExcavated",null),zt(this,"onComplete",null),zt(this,"onHammerUsed",null),zt(this,"onError",null),zt(this,"onHammerEmpty",null),this.addChild(this.gridBg),this.addChild(this.chestContainer),this.addChild(this.boxContainer),this.addChild(this.blockContainer),this.addChild(this.fxContainer)}
- static getInstance(){
- return null==this.instance&&(this.instance=new t),this.instance}
- async initialize(){
- this.initialized||(this.initialized=!0,this.eventMode="dynamic",this.on("pointerdown",this.onPointerDown,this))}
- async startGame(){
- var t,i,s;
- if(this.gameStarted)return!0;
- const e=IG.getInstance();
- if(!e.instance){
- const n=await JR.getInstance().mine.start(!0);
- if(!n||!1===n.success)return null==(t=this.onError)||t.call(this,(null==n?void 0:n.error)??null,n),!1;
- e.setStatusData(null==(i=n.body)?void 0:i.status),e.setInstanceData(null==(s=n.body)?void 0:s.instance)}
- const n=e.instance;
- return!!n&&(this.buildGrid(n),this.gameStarted=!0,this.gameEnded=!1,this.pending=!1,!0)}
- applyDiscovered(t,i){
- for(const s of t)this.spawnChest(s);
- for(const s of i)this.spawnBox(s)}
- buildGrid(t){
- var i,s;
- this.clearGrid(),this.xNum=t.xNum,this.yNum=t.yNum;
- const e=this.xNum*this.xSpace,n=this.yNum*this.ySpace;
- this.gridBg.clear(),this.gridBg.roundRect(-4,-4,e+8,n+8,8),this.gridBg.fill({
- color:1710626,alpha:.5}
- );
- for(let h=0;
- h<this.xNum;
- h++){
- this.blocks[h]=[];
- for(let e=0;
- e<this.yNum;
- e++){
- const n=new E8;
- n.x=h*this.xSpace,n.y=e*this.ySpace,n.xId=h,n.yId=e;
- const r=(null==(s=null==(i=t.blocks)?void 0:i[e])?void 0:s[h])??0;
- n.health=r,this.blockContainer.addChild(n),this.blocks[h][e]=n}
- }
- }
- clearGrid(){
- for(const t of this.blocks)for(const i of t)this.blockContainer.removeChild(i);
- this.blocks=[];
- for(const t of this.revealedChests.values())this.chestContainer.removeChild(t);
- this.revealedChests.clear();
- for(const t of this.revealedBoxes.values())this.boxContainer.removeChild(t);
- this.revealedBoxes.clear()}
- async onPointerDown(t){
- var i,s;
- if(!this.gameStarted||this.gameEnded||this.pending)return;
- if(IG.getInstance().status.hammerCount<=0)return void(null==(i=this.onHammerEmpty)||i.call(this));
- const e=t.getLocalPosition(this),n=Math.floor(e.x/this.xSpace),h=Math.floor(e.y/this.ySpace);
- if(n<0||h<0||n>=this.xNum||h>=this.yNum)return;
- const r=null==(s=this.blocks[n])?void 0:s[h];
- !r||!r.visible||r.health<=0||await this.doDamage(n,h)}
- async doDamage(i,s){
- var e,n,h,r,o,a;
- this.pending=!0;
- const c=await JR.getInstance().mine.doDamage(i,s);
- if(!c||!1===c.success)return null==(e=this.onError)||e.call(this,(null==c?void 0:c.error)??null,c),void(this.pending=!1);
- const l=IG.getInstance();
- l.setStatusData(null==(n=c.body)?void 0:n.status),l.setInstanceData(null==(h=c.body)?void 0:h.instance),null==(r=this.onHammerUsed)||r.call(this);
- const u=(null==(o=c.body)?void 0:o.revealedChests)??[],d=(null==(a=c.body)?void 0:a.discoveredBoxes)??[];
- l.setDiscoveryData(u,d);
- const f=[];
- for(const t of u)if("fully"===this.spawnChest(t)){
- const i=t.coordinates[0];
- f.push({
- x:i.x*this.xSpace,y:i.y*this.ySpace}
- )}
- for(const t of d)this.spawnBox(t);
- this.playPang(i,s),Hx.delayedCall(t.PANG_REVEAL_DELAY,()=>{
- var t,i;
- this.syncBlocksFromServer();
- for(const e of f)this.playGain(e.x,e.y);
- this.pending=!1;
- const s=l.instance;
- if(s){
- const e=[...this.revealedChests.values()].filter(t=>t.isExcavated).length;
- e>=s.chestCount&&(this.gameEnded=!0,null==(t=this.onAllChestsExcavated)||t.call(this),null==(i=this.onComplete)||i.call(this))}
- }
- )}
- syncBlocksFromServer(){
- var t,i;
- const s=IG.getInstance().instance;
- if(s)for(let e=0;
- e<this.xNum;
- e++)for(let n=0;
- n<this.yNum;
- n++){
- const h=(null==(i=null==(t=s.blocks)?void 0:t[n])?void 0:i[e])??0;
- this.blocks[e][n].health=h}
- }
- spawnChest(t){
- if(!t.coordinates||0===t.coordinates.length)return"none";
- const i=t.coordinates[0],s=`${
- i.x}
- ,${
- i.y}
- `;
- let e=this.revealedChests.get(s);
- const n=!e;
- e||(e=new C8,e.setData(t),e.x=i.x*this.xSpace,e.y=i.y*this.ySpace,e.isExcavated=!1,this.chestContainer.addChild(e),this.revealedChests.set(s,e));
- const h=e.isExcavated;
- return e.isExcavated=t.fullyExcavated,t.fullyExcavated&&!h?"fully":n?"new":"none"}
- spawnBox(t){
- if(t.num<=0)return;
- const i=`${
- t.x}
- ,${
- t.y}
- `;
- if(this.revealedBoxes.has(i))return;
- const s=new T8;
- s.setData(t),s.x=t.x*this.xSpace,s.y=t.y*this.ySpace,s.isExcavated=!0,this.boxContainer.addChild(s),this.revealedBoxes.set(i,s)}
- async endGame(){
- var t;
- const i=await JR.getInstance().mine.end(!0);
- return(null==i?void 0:i.success)&&(IG.getInstance().setStatusData(null==(t=i.body)?void 0:t.status),IG.getInstance().clearInstance(),this.syncRewardManagers(i.body)),this.gameEnded=!0,i}
- async exitGame(){
- var t;
- const i=await JR.getInstance().mine.exit(!0);
- return(null==i?void 0:i.success)&&(IG.getInstance().setStatusData(null==(t=i.body)?void 0:t.status),IG.getInstance().clearInstance(),this.syncRewardManagers(i.body)),this.gameEnded=!0,i}
- syncRewardManagers(t){
- (null==t?void 0:t.pet)&&cI.getInstance().setData(t.pet),(null==t?void 0:t.inventory)&&j5.getInstance().setData({
- inventory:t.inventory}
- )}
- reset(){
- this.clearGrid(),this.gameStarted=!1,this.gameEnded=!1,this.pending=!1}
- getHammerDamageCells(i,s){
- const e=[];
- for(const n of t.HAMMER_DAMAGE_PATTERN){
- const t=i+n.dx,h=s+n.dy;
- t<0||h<0||t>=this.xNum||h>=this.yNum||e.push({
- x:t,y:h,damage:n.damage}
- )}
- return e}
- playPang(t,i){
- const s=t*this.xSpace+.5*this.xSpace,e=i*this.ySpace+.5*this.ySpace;
- for(const n of this.getHammerDamageCells(t,i))this.playFxAnimation("PangSmoke",s+(n.x-t)*this.xSpace,e+(n.y-i)*this.ySpace,1);
- this.playFxAnimation("PangAni",s,e,1)}
- playFxAnimation(t,i,s,e=1){
- var n;
- const h=ZA.getTextures("UI_MINE",t);
- if(0===h.length)return;
- const r=new Wf(h),o=null==(n=h[0])?void 0:n.defaultAnchor;
- if(o?r.anchor.set(o.x,o.y):r.anchor.set(.5),r.x=i,r.y=s,r.scale.set(e),r.loop=!1,r.animationSpeed=.8,"PangAni"===t){
- const t=6;
- r.onFrameChange=i=>{
- i===t&&DD.getInstance().playSFX(DD.SFX_STONE_BREAK,.8)}
- }
- r.onComplete=()=>{
- r.removeFromParent(),r.destroy()}
- ,this.fxContainer.addChild(r),r.gotoAndPlay(0)}
- playGain(t,i){
- const s=new Gf;
- s.circle(0,0,14),s.fill({
- color:16773222}
- ),s.stroke({
- width:2,color:13144064}
- ),s.x=t+.5*this.xSpace,s.y=i+.5*this.ySpace,this.fxContainer.addChild(s),Hx.to(s,{
- alpha:0,y:s.y-30,duration:.6,onComplete:Kt(()=>{
- this.fxContainer.removeChild(s),s.destroy()}
- ,"onComplete")}
- )}
- }
- ;
- Kt(k8,"MineMain"),zt(k8,"instance"),zt(k8,"HAMMER_DAMAGE_PATTERN",[{
- dx:0,dy:0,damage:2}
- ,{
- dx:-1,dy:0,damage:1}
- ,{
- dx:1,dy:0,damage:1}
- ,{
- dx:0,dy:-1,damage:1}
- ,{
- dx:0,dy:1,damage:1}
- ]),zt(k8,"PANG_REVEAL_DELAY",.2);
- let O8=k8;
- const x8=class t extends QD{
- constructor(){
- super(),zt(this,"markerText"),this.markerText=new uB("@",this.width-80,16,tL.DEFAULT_COLOR,8,10,16763904),this.contentContainer.addChild(this.markerText),this.outSideClickHide=!0}
- static getInstance(){
- return this._instance||(this._instance=new t),this._instance}
- showGuide(){
- this.title=pG.getText("GAME_1203","화석 발굴");
- const t=[pG.getText("GAME_1205","화석발굴 이벤트는 한달간 진행됩니다."),pG.getText("GAME_1206","매일 00:00:00 ( utc )에 망치가 30개씩 제공됩니다."),pG.getText("GAME_1207","화석은 흰색/ 녹색/ 파란색/ 보라색/ 붉은색으로 총 5단계가 있고, 등급이 높을수록 보상을 많이 줍니다."),pG.getText("GAME_1208","비서도 일정시간마다 망치를 구해옵니다. ( 고급비서는 2배 )"),pG.getText("GAME_1209","이벤트가 종료하면, 진행된 모든 단계가 초기화 됩니다.")];
- this.markerText.text=t.map(t=>`@ ${
- t}
- `).join("\n"),this.markerText.x=30,this.markerText.y=80,this.height=this.markerText.y+this.markerText.height+40,super.show()}
- getDefaultPositionY(){
- return.45*KA.stageHeight}
- onBackButton(){
- return this.hide(),!0}
- }
- ;
- Kt(x8,"MineGuidePopup"),zt(x8,"_instance");
- let I8=x8;
- const N8=class t extends QD{
- constructor(){
- super(),zt(this,"onConfirm",null),zt(this,"fallbackText",new jg({
- text:"",style:{
- fontSize:18,fill:16777215}
- }
- )),zt(this,"rows",[]),zt(this,"totalContainer",new Be),zt(this,"totalBg",new Gf),zt(this,"totalTitle",new jg({
- text:pG.getText("GAME_1204","전체보상"),style:{
- fontSize:16,fill:16767334,fontWeight:"bold"}
- }
- )),zt(this,"totalSlots",[]),zt(this,"btnConfirm",new aU("","",pG.getText("COMMON_1","확인"),.8,200,70)),this.width=t.W,this.height=300,this.title=pG.getText("COMMON_22","보상"),this.btnClose.visible=!1,this.outSideClickHide=!1,this.fallbackText.visible=!1,this.contentContainer.addChild(this.fallbackText);
- for(let i=0;
- i<t.MAX_ROWS;
- i++){
- const t=this.createRewardRow();
- t.container.visible=!1,this.rows.push(t),this.contentContainer.addChild(t.container)}
- this.totalContainer.visible=!1,this.totalContainer.addChild(this.totalBg,this.totalTitle),this.totalTitle.x=14,this.totalTitle.y=8;
- for(let i=0;
- i<t.MAX_TOTAL_LABELS;
- i++){
- const t=this.createRewardSlot();
- this.totalSlots.push(t),this.totalContainer.addChild(t.container)}
- this.contentContainer.addChild(this.totalContainer),this.btnConfirm.showIconLabel=!1,this.btnConfirm.showTextLabel=!0,this.btnConfirm.text=pG.getText("COMMON_1","확인"),this.btnConfirm.color=aU.GREEN,this.btnConfirm.onClick=this.onConfirmClick.bind(this),this.contentContainer.addChild(this.btnConfirm)}
- static getInstance(){
- return null==this.instance&&(this.instance=new t),this.instance}
- show(t=null,i=null,s=null){
- const e="string"==typeof t?null:t;
- this.setRewardData(e),super.show()}
- hide(){
- if(!this.parent)return;
- const t=this.onConfirm;
- this.onConfirm=null,super.hide(),null==t||t()}
- getDefaultPositionY(){
- return.5*KA.stageHeight}
- onConfirmClick(){
- this.hide()}
- setRewardData(i){
- this.resetRows();
- let s=74;
- const e=((null==i?void 0:i.details)??[]).slice(0,t.MAX_ROWS);
- if(e.length>0){
- const i=t.DETAIL_GRID_COLS,n=i*t.DETAIL_CARD_W+(i-1)*t.DETAIL_CARD_GAP_X,h=.5*(this.width-n),r=Math.ceil(e.length/i),o=Array.from({
- length:r}
- ,()=>t.DETAIL_CARD_H);
- for(let s=0;
- s<e.length;
- s++){
- const n=this.rows[s],r=this.setRowData(n,e[s]),a=s%i,c=Math.floor(s/i);
- o[c]=Math.max(o[c],r),n.container.visible=!0,n.container.x=h+a*(t.DETAIL_CARD_W+t.DETAIL_CARD_GAP_X)}
- const a=[];
- let c=s;
- for(let s=0;
- s<r;
- s++)a[s]=c,c+=o[s]+t.DETAIL_CARD_GAP_Y;
- for(let t=0;
- t<e.length;
- t++)this.rows[t].container.y=a[Math.floor(t/i)];
- s=c-(r>0?t.DETAIL_CARD_GAP_Y:0)}
- else s=this.setFallbackRewards(i,s);
- s=this.setTotalRewards(i,s+12),this.btnConfirm.x=.5*(this.width-this.btnConfirm.width),this.btnConfirm.y=s+20,this.height=this.btnConfirm.y+this.btnConfirm.height+50,this.resetPostionY()}
- resetRows(){
- this.fallbackText.visible=!1,this.totalContainer.visible=!1;
- for(const t of this.totalSlots)this.resetRewardSlot(t);
- for(const t of this.rows){
- t.container.visible=!1,t.empty.visible=!1,t.image.texture=ss.EMPTY;
- for(const i of t.slots)this.resetRewardSlot(i)}
- }
- setFallbackRewards(t,i){
- return this.getTotalDisplayRewards(t).length>0?i:(this.fallbackText.text="(획득한 보상이 없습니다)",this.fallbackText.style.fill=12632256,this.fallbackText.visible=!0,this.fallbackText.x=.5*(this.width-this.fallbackText.width),this.fallbackText.y=i,i+this.fallbackText.height)}
- setTotalRewards(i,s){
- const e=this.getTotalDisplayRewards(i);
- if(e.length<=0)return s;
- this.totalContainer.visible=!0,this.totalContainer.x=.5*(this.width-t.ROW_W),this.totalContainer.y=s;
- const n=this.layoutTotalRewardLabels(e,34),h=Math.max(64,n+10);
- return this.totalBg.clear(),this.totalBg.roundRect(0,0,t.ROW_W,h,8),this.totalBg.fill({
- color:2828063,alpha:.92}
- ),this.totalBg.stroke({
- width:1,color:7166516,alpha:.9}
- ),s+h+8}
- getTotalDisplayRewards(t){
- const i=((null==t?void 0:t.totals)??[]).filter(t=>Math.max(0,Number(t.num)||0)>0).map(t=>({
- type:t.type,kindNum:t.kindNum,num:Math.max(0,Number(t.num)||0)}
- )),s=Math.max(0,(null==t?void 0:t.gainedExp)??0);
- return s>0&&i.push({
- type:"exp",num:s}
- ),this.sortDisplayRewards(i,!0)}
- createRewardRow(){
- const i=new Be,s=new Gf,e=new je(ss.EMPTY),n=new jg({
- text:"보상 없음",style:{
- fontSize:16,fill:12632256}
- }
- ),h=[];
- i.addChild(s,e,n),n.y=34,n.visible=!1;
- for(let r=0;
- r<t.MAX_REWARD_LABELS;
- r++){
- const t=this.createRewardSlot();
- h.push(t),i.addChild(t.container)}
- return{
- container:i,bg:s,image:e,empty:n,slots:h}
- }
- setRowData(i,s){
- this.setDetailImage(i.image,s),i.image.x=.5*(t.DETAIL_CARD_W-i.image.width),i.image.y=t.DETAIL_IMAGE_Y+.5*(t.DETAIL_IMAGE_H-i.image.height);
- const e=this.getDisplayRewards(s);
- let n=i.image.y+i.image.height;
- e.length<=0?(i.empty.visible=!0,i.empty.x=.5*(t.DETAIL_CARD_W-i.empty.width),i.empty.y=t.DETAIL_REWARD_Y,n=i.empty.y+i.empty.height):n=this.layoutCardRewardLabels(i,e,t.DETAIL_REWARD_Y);
- const h=Math.max(t.DETAIL_CARD_H,n+10);
- return i.bg.clear(),i.bg.roundRect(0,0,t.DETAIL_CARD_W,h,8),i.bg.fill({
- color:2039848,alpha:.9}
- ),i.bg.stroke({
- width:1,color:4935260,alpha:.9}
- ),h}
- getDisplayRewards(t){
- const i=(t.rewards??[]).filter(t=>"exp"!==t.type&&Math.max(0,Number(t.num)||0)>0);
- return this.sortDisplayRewards(i)}
- sortDisplayRewards(t,i=!1){
- return t.map((t,i)=>({
- reward:t,index:i}
- )).sort((t,s)=>{
- const e=this.getRewardSortPriority(t.reward,i),n=this.getRewardSortPriority(s.reward,i);
- return e!==n?e-n:t.index-s.index}
- ).map(t=>t.reward)}
- getRewardSortPriority(t,i){
- return"gem"===t.type?0:"honorCoin"===t.type?1:i&&"exp"===t.type?99:10}
- layoutCardRewardLabels(i,s,e){
- const n=t.DETAIL_CARD_W-12,h=[];
- let r=[],o=0;
- for(let c=0;
- c<s.length&&c<t.MAX_REWARD_LABELS;
- c++){
- const e=i.slots[c];
- this.setRewardSlot(e,s[c]);
- const a=this.getRewardSlotWidth(e),l=this.getRewardSlotHeight(e),u=0===r.length?a:o+t.REWARD_GAP_X+a;
- r.length>0&&u>n&&(h.push(r),r=[],o=0),r.push({
- slot:e,width:a,height:l}
- ),o=0===o?a:o+t.REWARD_GAP_X+a}
- r.length>0&&h.push(r);
- let a=e;
- for(const c of h){
- const i=c.reduce((t,i)=>t+i.width,0)+Math.max(0,c.length-1)*t.REWARD_GAP_X,s=Math.max(24,...c.map(t=>t.height));
- let e=.5*(t.DETAIL_CARD_W-i);
- for(const n of c)n.slot.container.x=e,n.slot.container.y=a+.5*(s-n.height),n.slot.container.visible=!0,e+=n.width+t.REWARD_GAP_X;
- a+=s+t.REWARD_GAP_Y}
- return a-t.REWARD_GAP_Y}
- layoutTotalRewardLabels(i,s){
- const e=t.ROW_W-28,n=[];
- let h=[],r=0;
- for(let a=0;
- a<i.length&&a<t.MAX_TOTAL_LABELS;
- a++){
- const s=this.totalSlots[a];
- this.setRewardSlot(s,i[a]);
- const o=this.getRewardSlotWidth(s),c=this.getRewardSlotHeight(s),l=0===h.length?o:r+t.REWARD_GAP_X+o;
- h.length>0&&l>e&&(n.push(h),h=[],r=0),h.push({
- slot:s,width:o,height:c}
- ),r=0===r?o:r+t.REWARD_GAP_X+o}
- h.length>0&&n.push(h);
- let o=s;
- for(const a of n){
- const i=Math.max(24,...a.map(t=>t.height));
- let s=14;
- for(const e of a)e.slot.container.x=s,e.slot.container.y=o+.5*(i-e.height),e.slot.container.visible=!0,s+=e.width+t.REWARD_GAP_X;
- o+=i+t.REWARD_GAP_Y}
- return o-t.REWARD_GAP_Y}
- createRewardSlot(){
- const t=new Be,i=new kB("ShipArenaCoin","0",tL.COLOR_WHITE,tL.DEFAULT_OUTLINE_FONT_OPTION_17);
- i.textSize=17;
- const s=new je(ss.EMPTY),e=new FL("0",tL.COLOR_WHITE,tL.DEFAULT_OUTLINE_FONT_OPTION_17);
- e.textSize=17;
- const n=new FL("xp +0",16767334,tL.DEFAULT_OUTLINE_FONT_OPTION_17);
- return n.textSize=17,t.visible=!1,s.visible=!1,e.visible=!1,n.visible=!1,t.addChild(i,s,e,n),{
- container:t,iconLabel:i,petSprite:s,petCount:e,expLabel:n}
- }
- resetRewardSlot(t){
- t.container.visible=!1,t.iconLabel.visible=!1,t.petSprite.visible=!1,t.petCount.visible=!1,t.expLabel.visible=!1,t.petSprite.texture=ss.EMPTY}
- setRewardSlot(t,i){
- if(this.setExpRewardSlot(t,i))return;
- if(this.setPetPieceRewardSlot(t,i))return;
- t.iconLabel.visible=!0,t.petSprite.visible=!1,t.petCount.visible=!1,t.expLabel.visible=!1;
- const s=t.iconLabel,e=this.getRewardIconInfo(i);
- s.texture=ZA.getTexture(e.sheetName,e.iconName)??ss.EMPTY,s.textColor=e.color,s.iconScale=e.scale,s.text=RL.displayLargeNumberAsAlphabet(i.num),s.textOffsetX=4}
- setExpRewardSlot(t,i){
- return"exp"===i.type&&(t.iconLabel.visible=!1,t.petSprite.visible=!1,t.petCount.visible=!1,t.expLabel.visible=!0,t.expLabel.text=`xp +${
- RL.displayLargeNumberAsAlphabet(i.num)}
- `,t.expLabel.x=0,t.expLabel.y=0,!0)}
- setPetPieceRewardSlot(i,s){
- if("petPiece"!==s.type)return!1;
- const e=Math.floor(Number(s.kindNum)||0);
- if(e<=0||!ZA.hasSheet("UI_PET"))return!1;
- const n=ZA.getTexture("UI_PET",`UI_PET${
- e}
- `);
- if(!n)return!1;
- i.iconLabel.visible=!1,i.petSprite.visible=!0,i.petCount.visible=!0,i.expLabel.visible=!1,i.petSprite.texture=n,i.petSprite.scale.set(1);
- const h=t.PET_REWARD_ICON_SIZE,r=Math.min(h/Math.max(1,i.petSprite.width),h/Math.max(1,i.petSprite.height));
- return i.petSprite.scale.set(r),i.petSprite.x=.5*(h-i.petSprite.width),i.petSprite.y=.5*(h-i.petSprite.height),i.petCount.text=RL.displayLargeNumberAsAlphabet(s.num),i.petCount.textColor=tL.COLOR_WHITE,i.petCount.x=h+4,i.petCount.y=.5*(h-i.petCount.height),!0}
- getRewardSlotWidth(i){
- return i.expLabel.visible?i.expLabel.width:i.petSprite.visible?t.PET_REWARD_ICON_SIZE+4+i.petCount.width:i.iconLabel.width}
- getRewardSlotHeight(i){
- return i.expLabel.visible?i.expLabel.height:i.petSprite.visible?Math.max(t.PET_REWARD_ICON_SIZE,i.petCount.y+i.petCount.height):i.iconLabel.height}
- getRewardIconInfo(t){
- switch(t.type){
- case"gem":return{
- iconName:"UI_GEM_ICON",sheetName:"UI_Ekkorr",color:tL.COLOR_DEEP_SKYBLUE,scale:.78}
- ;
- case"honorCoin":return{
- iconName:"PVP_COIN_ON",sheetName:"UI_Ekkorr",color:tL.COLOR_PURPLE_PINK,scale:.78}
- ;
- case"exp":return{
- iconName:"ShipArenaCoin",sheetName:"UI_Ekkorr",color:16767334,scale:.85}
- ;
- case"hammer":return{
- iconName:"Thumbnail_Hammer_01.png",sheetName:"UI_MINE",color:tL.COLOR_WHITE,scale:.192}
- ;
- case"spriteLandTicket":return{
- iconName:"UI_PET_TICKET",sheetName:"UI_Ekkorr",color:tL.COLOR_WHITE,scale:.6}
- ;
- case"hero5":return{
- iconName:"Ticket_HeroGacha",sheetName:"UI_Ekkorr",color:tL.COLOR_WHITE,scale:.54}
- ;
- case"hero5s":return{
- iconName:"Ticket_HeroSelect",sheetName:"UI_Ekkorr",color:tL.COLOR_WHITE,scale:.54}
- ;
- case"treasure6":return{
- iconName:"Ticket_TreasureGacha",sheetName:"UI_Ekkorr",color:tL.COLOR_WHITE,scale:.54}
- ;
- case"petPiece":return{
- iconName:"Ticket_PetSelect",sheetName:"UI_Ekkorr",color:tL.COLOR_WHITE,scale:.54}
- ;
- default:return{
- iconName:"ShipArenaCoin",sheetName:"UI_Ekkorr",color:tL.COLOR_WHITE,scale:.85}
- }
- }
- setDetailImage(i,s){
- const e=Math.max(1,Math.floor(s.grade??1));
- let n="";
- n="box"===s.source?`randomBox${
- Math.min(5,e)}
- .png`:`BoneBox_${
- s.shape??"square"}
- _${
- Math.min(7,e)}
- .png`,i.texture=ZA.getTexture("UI_MINE",n)??ss.EMPTY,i.scale.set(1);
- const h=Math.min(1,t.DETAIL_IMAGE_W/Math.max(1,i.width),t.DETAIL_IMAGE_H/Math.max(1,i.height));
- i.scale.set(h)}
- getRewardName(t){
- switch(t.type){
- case"gem":return"보석";
- case"honorCoin":return"명예코인";
- case"spriteLandTicket":return"정령고원 티켓";
- case"hammer":return"망치";
- case"hero5":return"5성 영웅 확정권";
- case"hero5s":return"5성 영웅 선택권";
- case"treasure6":return"6성 유물권";
- case"petPiece":return t.kindNum?`펫 조각 ${
- t.kindNum}
- `:"펫 조각";
- case"kindNum":return t.kindNum?`kindNum ${
- t.kindNum}
- `:"보상";
- case"a":return"보상 A";
- case"b":return"보상 B";
- default:return null!=t.type&&t.type.length>0?t.type:t.kindNum?`kindNum ${
- t.kindNum}
- `:"보상"}
- }
- }
- ;
- Kt(N8,"MineRewardPopup"),zt(N8,"instance"),zt(N8,"W",560),zt(N8,"MAX_ROWS",5),zt(N8,"MAX_REWARD_LABELS",6),zt(N8,"MAX_TOTAL_LABELS",16),zt(N8,"ROW_W",480),zt(N8,"DETAIL_GRID_COLS",3),zt(N8,"DETAIL_CARD_W",150),zt(N8,"DETAIL_CARD_H",166),zt(N8,"DETAIL_CARD_GAP_X",8),zt(N8,"DETAIL_CARD_GAP_Y",8),zt(N8,"DETAIL_IMAGE_W",110),zt(N8,"DETAIL_IMAGE_H",76),zt(N8,"DETAIL_IMAGE_Y",16),zt(N8,"DETAIL_REWARD_Y",102),zt(N8,"REWARD_GAP_X",14),zt(N8,"REWARD_GAP_Y",6),zt(N8,"PET_REWARD_ICON_SIZE",25);
- let P8=N8;
- const R8=class t extends Be{
- constructor(){
- super(),zt(this,"titleUp"),zt(this,"titleInfo"),zt(this,"bg"),zt(this,"iconHammer"),zt(this,"lblTitle"),zt(this,"btnGuide"),zt(this,"lblEventTimer"),zt(this,"lblHammer"),zt(this,"expProgressContainer"),zt(this,"expProgressPanel"),zt(this,"expProgressTrack"),zt(this,"expProgressPreview"),zt(this,"expProgressFill"),zt(this,"expProgressFrame"),zt(this,"lblExpLevel"),zt(this,"lblExpValue"),zt(this,"lblGem"),zt(this,"lblHonor"),zt(this,"btnClose"),zt(this,"initialized",!1),zt(this,"uiBuilt",!1),zt(this,"expTween",null),zt(this,"eventEndTimeMs",0),zt(this,"lastEventTimerText","")}
- static getInstance(){
- return null==this.instance&&(this.instance=new t),this.instance}
- buildUI(){
- const i=t.OVERLAP;
- this.titleUp=new je(ZA.getTexture("UI_MINE","Base_Title_up.png")),this.titleUp.x=0,this.titleUp.y=0,this.addChild(this.titleUp),this.bg=new je(ZA.getTexture("UI_MINE","EBlock_bg.png")),this.bg.x=.5*(t.OUTER_W-t.BG_W),this.bg.y=this.titleUp.y+this.titleUp.height-i,this.addChild(this.bg),this.expProgressContainer=new Be,this.expProgressContainer.x=this.bg.x+.5*(this.bg.width-t.HUD_W),this.expProgressContainer.y=this.bg.y+20,this.addChild(this.expProgressContainer),this.buildExpProgress(),this.titleInfo=new je(ZA.getTexture("UI_MINE","Base_Title_info.png")),this.titleInfo.x=0,this.titleInfo.y=this.bg.y+this.bg.height-i,this.addChild(this.titleInfo),this.lblTitle=new FL(pG.getText("GAME_1203","화석 발굴"),tL.COLOR_WHITE,tL.WHITE_OUTLINE_FONT_OPTION_22),this.lblTitle.textSize=23,this.lblTitle.x=52,this.lblTitle.y=this.titleUp.y+.5*(this.titleUp.height-this.lblTitle.height)-3,this.addChild(this.lblTitle),this.btnGuide=new cB("UI_Ekkorr","UI_Alarm"),this.btnGuide.onClick=()=>{
- I8.getInstance().showGuide()}
- ,this.addChild(this.btnGuide),this.positionGuideButton(),this.btnClose=new J2,this.btnClose.x=t.OUTER_W-this.btnClose.width-18,this.btnClose.y=12,this.btnClose.eventMode="static",this.btnClose.cursor="pointer",this.btnClose.on("pointertap",this.onClose,this),this.addChild(this.btnClose),this.lblEventTimer=new FL("",16768376,tL.DEFAULT_OUTLINE_FONT_OPTION_18),this.lblEventTimer.textSize=18,this.lblEventTimer.visible=!1,this.addChild(this.lblEventTimer),this.iconHammer=new je(ZA.getTexture("UI_MINE","Thumbnail_Hammer_01.png")),this.iconHammer.scale.set(.6),this.iconHammer.x=50,this.iconHammer.y=this.titleInfo.y+.5*(this.titleInfo.height-this.iconHammer.height),this.addChild(this.iconHammer),this.lblHammer=new FL("0",tL.COLOR_WHITE,tL.WHITE_OUTLINE_FONT_OPTION_22),this.lblHammer.textSize=26,this.lblHammer.x=this.iconHammer.x+this.iconHammer.width+6,this.lblHammer.y=this.titleInfo.y+.5*(this.titleInfo.height-this.lblHammer.height),this.addChild(this.lblHammer),this.uiBuilt=!0}
- buildExpProgress(){
- this.expProgressPanel=new Gf,this.expProgressTrack=new Gf,this.expProgressPreview=new Gf,this.expProgressFill=new Gf,this.expProgressFrame=new Gf,this.expProgressPanel.roundRect(0,0,t.HUD_W,t.HUD_H,12),this.expProgressPanel.fill({
- color:2761753,alpha:.52}
- ),this.expProgressPanel.stroke({
- width:2,color:6968369,alpha:.78}
- ),this.expProgressPanel.roundRect(4,4,t.HUD_W-8,12,7),this.expProgressPanel.fill({
- color:16777215,alpha:.07}
- ),this.expProgressContainer.addChild(this.expProgressPanel),this.expProgressContainer.addChild(this.expProgressTrack),this.expProgressContainer.addChild(this.expProgressPreview),this.expProgressContainer.addChild(this.expProgressFill),this.expProgressContainer.addChild(this.expProgressFrame),this.lblExpLevel=new FL("Lv.1",tL.COLOR_WHITE,tL.DEFAULT_OUTLINE_FONT_OPTION_17),this.lblExpLevel.textSize=17,this.lblExpLevel.x=14,this.lblExpLevel.y=.5*(t.HUD_H-this.lblExpLevel.height),this.expProgressContainer.addChild(this.lblExpLevel),this.lblExpValue=new FL("0/0",tL.COLOR_WHITE,tL.DEFAULT_OUTLINE_FONT_OPTION_17),this.lblExpValue.textSize=17,this.expProgressContainer.addChild(this.lblExpValue),this.lblGem=new kB("UI_GEM_ICON","0",tL.COLOR_DEEP_SKYBLUE,tL.DEFAULT_OUTLINE_FONT_OPTION_17),this.lblGem.textSize=17,this.lblGem.iconScale=1,this.lblGem.textOffsetX=5,this.lblGem.x=324,this.lblGem.y=.5*(t.HUD_H-this.lblGem.height),this.expProgressContainer.addChild(this.lblGem),this.lblHonor=new kB("PVP_COIN_ON","0",tL.COLOR_PURPLE_PINK,tL.DEFAULT_OUTLINE_FONT_OPTION_17),this.lblHonor.textSize=17,this.lblHonor.iconScale=1,this.lblHonor.textOffsetX=5,this.lblHonor.x=430,this.lblHonor.y=.5*(t.HUD_H-this.lblHonor.height),this.expProgressContainer.addChild(this.lblHonor),this.drawExpProgress(0,0),this.refreshResourceLabels()}
- async ensureMineBookData(){
- const t=IG.getInstance();
- try{
- if(t.bookList.length<=0){
- await wG.getInstance().loadBook(gG.MINE_LEVEL);
- const i=wG.getInstance().getBook(gG.MINE_LEVEL);
- t.setBookData(i)}
- if(t.chestRewardList.length<=0){
- await wG.getInstance().loadBook(gG.MINE_CHEST_REWARD);
- const i=wG.getInstance().getBook(gG.MINE_CHEST_REWARD);
- t.setChestRewardBookData(i)}
- }
- catch(i){
- }
- }
- async show(){
- var i,s,e,n;
- if(!(ZA.hasSheet("UI_MINE")||await ZA.generateTexture("UI_MINE","ktx2",!1)&&ZA.hasSheet("UI_MINE")))return;
- this.uiBuilt||this.buildUI(),this.initialized=!0,await this.ensureMineBookData();
- const h=IG.getInstance();
- let r=h.revealedChests,o=h.discoveredBoxes;
- if(h.needsStatusFetchForPopup()){
- const t=await JR.getInstance().mine.getStatus(!0);
- if(!t||!1===t.success)return;
- h.setStatusData(null==(i=t.body)?void 0:i.status),h.setInstanceData(null==(s=t.body)?void 0:s.instance),r=(null==(e=t.body)?void 0:e.revealedChests)??[],o=(null==(n=t.body)?void 0:n.discoveredBoxes)??[],h.setDiscoveryData(r,o)}
- const a=O8.getInstance();
- await a.initialize(),a.reset(),this.mountMineMain(a),a.onAllChestsExcavated=()=>{
- }
- ,a.onComplete=()=>this.handleComplete(),a.onHammerUsed=()=>this.refreshHeader(),a.onHammerEmpty=()=>{
- eV.getInstance().showMessage(pG.getText("GAME_1215","망치가 부족합니다."))}
- ,a.onError=(t,i)=>{
- }
- ,await a.startGame(),(r.length>0||o.length>0)&&a.applyDiscovered(r,o),this.positionMineMain(a),this.refreshHeader(),this.refreshEventTimerConfig(),this.startEventTimer(),this.x=.5*(KA.stageWidth-t.OUTER_W);
- const c=KA.stageHeight;
- this.y=Math.max(40,.5*(c-this.height)),yD.getInstance().addPopup(this)}
- onClose(){
- this.killExpTween(),this.stopEventTimer(),yD.getInstance().removePopup(this),O8.getInstance().reset()}
- hide(){
- this.onClose()}
- async handleComplete(){
- var t,i;
- const s=await JR.getInstance().mine.end(!0);
- if(!s||!1===s.success)return;
- this.syncRewardManagers(s.body),IG.getInstance().clearInstance();
- const e=null==(t=s.body)?void 0:t.rewards,n=null==(i=s.body)?void 0:i.status,h=P8.getInstance();
- h.onConfirm=()=>{
- this.applyCompleteResultAndStartNext(n,e)}
- ,h.show(e)}
- async applyCompleteResultAndStartNext(t,i){
- if(!t)return;
- this.applyRewardResourceTotals(i),await this.animateExpToStatus(t);
- const s=IG.getInstance();
- s.setStatusData(t),s.clearInstance(),this.refreshHeader(),await this.resetAndStartNext()}
- async resetAndStartNext(){
- const t=O8.getInstance();
- t.reset(),await t.startGame()&&(this.positionMineMain(t),this.bringChromeToFront(),this.refreshHeader())}
- refreshHeader(){
- if(!this.uiBuilt)return;
- const t=IG.getInstance(),i=t.status;
- this.lblTitle.text=pG.getText("GAME_1203","화석 발굴"),this.positionGuideButton(),this.lblHammer.text=String(i.hammerCount),this.refreshExpProgress(t),this.refreshResourceLabels()}
- refreshEventTimerConfig(){
- this.eventEndTimeMs=this.getEventEndTimeMsFromConfig(),this.lastEventTimerText="",this.updateEventTimer()}
- startEventTimer(){
- GM.getInstance().remove(this.updateEventTimer,this),this.eventEndTimeMs>0&&GM.getInstance().add(this.updateEventTimer,this)}
- stopEventTimer(){
- GM.getInstance().remove(this.updateEventTimer,this)}
- updateEventTimer(){
- if(!this.uiBuilt||!this.lblEventTimer)return;
- if(this.eventEndTimeMs<=0)return void(this.lblEventTimer.visible=!1);
- const t=tI.time>0?tI.time:Date.now(),i=this.eventEndTimeMs-t;
- if(i<=0)return this.lblEventTimer.visible=!1,void this.stopEventTimer();
- const s=sU.displayTimeAsDHHMM(Math.floor(i/1e3));
- s!==this.lastEventTimerText&&(this.lastEventTimerText=s,this.lblEventTimer.text=s,this.lblEventTimer.visible=!0,this.positionEventTimer())}
- positionEventTimer(){
- const t=this.btnClose.x-12,i=this.btnGuide.x+this.btnGuide.width+16;
- this.lblEventTimer.x=Math.max(i,t-this.lblEventTimer.width),this.lblEventTimer.y=this.titleUp.y+.5*(this.titleUp.height-this.lblEventTimer.height)-3}
- positionGuideButton(){
- this.btnGuide&&this.lblTitle&&(this.btnGuide.x=this.lblTitle.x+this.lblTitle.width+8,this.btnGuide.y=this.lblTitle.y+.5*(this.lblTitle.height-this.btnGuide.height)+2)}
- getEventEndTimeMsFromConfig(){
- const i=fD.getInstance().getClientData(t.EVENT_END_TIME_KEY);
- if(null==i||""===i)return 0;
- const s=String(i).trim();
- if(!s)return 0;
- const e=s.match(/^(\d{
- 4}
- )(\d{
- 2}
- )(\d{
- 2}
- )$/);
- if(e){
- const[,t,i,s]=e;
- return Date.UTC(Number(t),Number(i)-1,Number(s)+1)}
- if(/^\d+$/.test(s)){
- const t=Number(s);
- return!Number.isFinite(t)||t<=0?0:s.length<=10?1e3*t:t}
- const n=s.match(/^(\d{
- 4}
- )-(\d{
- 2}
- )-(\d{
- 2}
- )$/);
- if(n){
- const[,t,i,s]=n;
- return Date.UTC(Number(t),Number(i)-1,Number(s)+1)}
- const h=s.match(/^(\d{
- 4}
- )-(\d{
- 2}
- )-(\d{
- 2}
- )[ T](\d{
- 2}
- ):(\d{
- 2}
- )(?::(\d{
- 2}
- ))?$/);
- if(h){
- const[,t,i,s,e,n,r]=h;
- return Date.UTC(Number(t),Number(i)-1,Number(s),Number(e),Number(n),Number(r??0))}
- const r=Date.parse(s);
- return Number.isFinite(r)?r:0}
- refreshExpProgress(t){
- const i=t.status;
- this.setExpProgressDisplay(i.mineLevel,i.mineExp)}
- setExpProgressDisplay(i,s,e=s){
- const n=Math.max(0,Math.floor(s)),h=Math.max(n,Math.floor(e)),r=IG.getInstance(),o=r.getLevelVO(i),a=r.getLevelVO(i+1),c=r.getMaxLevel(),l=Math.max(0,Math.floor((null==o?void 0:o.accReqExp)??0));
- let u=0,d=0,f="0/-";
- if(a){
- const t=Math.max(0,Math.floor(a.accReqExp)),i=Math.max(1,t-l),s=Math.min(i,Math.max(0,n-l)),e=Math.min(i,Math.max(s,h-l));
- u=Math.min(1,s/i),d=Math.min(1,e/i),f=`${
- s}
- /${
- i}
- `}
- else c>0&&i>=c&&(u=1,d=1,f=`${
- Math.max(0,n-l)}
- /MAX`);
- this.lblExpLevel.text=`Lv.${
- i}
- `,this.lblExpValue.text=f,this.lblExpValue.x=t.EXP_BAR_X+.5*(t.EXP_BAR_W-this.lblExpValue.width),this.lblExpValue.y=t.EXP_BAR_Y+.5*(t.EXP_BAR_H-this.lblExpValue.height),this.drawExpProgress(u,d)}
- drawExpProgress(i,s=i){
- const e=t.EXP_BAR_X,n=t.EXP_BAR_Y,h=t.EXP_BAR_W,r=t.EXP_BAR_H,o=Math.max(0,Math.min(h,Math.round(h*i))),a=Math.max(0,Math.min(h,Math.round(h*s)));
- if(this.expProgressTrack.clear(),this.expProgressTrack.roundRect(e,n,h,r,9),this.expProgressTrack.fill({
- color:1380364,alpha:.86}
- ),this.expProgressPreview.clear(),a>0){
- const t=Math.min(9,.5*a);
- this.expProgressPreview.roundRect(e,n,a,r,t),this.expProgressPreview.fill({
- color:16777215,alpha:.32}
- )}
- if(this.expProgressFill.clear(),o>0){
- const t=Math.min(9,.5*o);
- this.expProgressFill.roundRect(e,n,o,r,t),this.expProgressFill.fill({
- color:2592488,alpha:.98}
- ),this.expProgressFill.roundRect(e+2,n+2,Math.max(0,o-4),5,3),this.expProgressFill.fill({
- color:12118015,alpha:.45}
- )}
- this.expProgressFrame.clear(),this.expProgressFrame.roundRect(e,n,h,r,9),this.expProgressFrame.stroke({
- width:2,color:5193515,alpha:.95}
- )}
- async animateExpToStatus(t){
- this.killExpTween();
- const i=IG.getInstance();
- let s=Math.max(1,Math.floor(i.status.mineLevel)),e=Math.max(0,Math.floor(i.status.mineExp));
- const n=Math.max(s,Math.floor(Number(t.mineLevel)||s)),h=Math.max(e,Math.floor(Number(t.mineExp)||e));
- for(;
- s<n;
- ){
- const t=i.getLevelVO(s+1);
- if(!t)break;
- const n=Math.max(e,Math.floor(t.accReqExp));
- await this.animateExpSegment(s,e,n),s+=1,e=n,this.setExpProgressDisplay(s,e)}
- await this.animateExpSegment(s,e,h)}
- animateExpSegment(t,i,s){
- const e={
- value:i}
- ,n=Math.min(1.05,Math.max(.45,Math.abs(s-i)/90));
- return this.setExpProgressDisplay(t,i,s),new Promise(i=>{
- this.expTween=Hx.to(e,{
- value:s,duration:n,ease:"power2.out",onUpdate:Kt(()=>{
- this.setExpProgressDisplay(t,e.value,s)}
- ,"onUpdate"),onComplete:Kt(()=>{
- this.expTween=null,this.setExpProgressDisplay(t,s,s),i()}
- ,"onComplete")}
- )}
- )}
- killExpTween(){
- this.expTween&&(this.expTween.kill(),this.expTween=null)}
- syncRewardManagers(t){
- (null==t?void 0:t.pet)&&cI.getInstance().setData(t.pet),(null==t?void 0:t.inventory)&&j5.getInstance().setData({
- inventory:t.inventory}
- )}
- applyRewardResourceTotals(t){
- const i=this.sumReward(t,"gem"),s=this.sumReward(t,"honorCoin");
- i>0&&(uD.gem+=i),s>0&&(uD.honorCoin+=s),this.refreshResourceLabels()}
- sumReward(t,i){
- const s=null==t?void 0:t.totals;
- return Array.isArray(s)?s.filter(t=>(null==t?void 0:t.type)===i).reduce((t,i)=>t+Math.max(0,Number(i.num)||0),0):0}
- refreshResourceLabels(){
- this.lblGem&&this.lblHonor&&(this.lblGem.text=uD.gem.toFixed(0),this.lblHonor.text=RL.displayLargeNumberAsAlphabet(uD.honorCoin))}
- mountMineMain(t){
- t.parent===this&&this.removeChild(t);
- const i=this.getChildIndex(this.bg);
- this.addChildAt(t,Math.min(i+1,this.children.length)),this.bringChromeToFront()}
- positionMineMain(i){
- i.scale.set(1);
- const s=this.bg.width-66,e=this.bg.y+t.GRID_TOP_PAD,n=this.bg.height-t.GRID_TOP_PAD-t.GRID_BOTTOM_PAD,h=Math.min(1,s/i.width,n/i.height);
- i.scale.set(h),i.x=this.bg.x+.5*(this.bg.width-i.width),i.y=e+Math.max(0,.5*(n-i.height))}
- bringChromeToFront(){
- const t=[this.titleUp,this.expProgressContainer,this.titleInfo,this.lblTitle,this.btnGuide,this.lblEventTimer,this.btnClose,this.iconHammer,this.lblHammer];
- for(const i of t)(null==i?void 0:i.parent)===this&&this.addChild(i)}
- isInitialized(){
- return this.initialized}
- }
- ;
- Kt(R8,"MinePopup"),zt(R8,"instance"),zt(R8,"OUTER_W",594),zt(R8,"BG_W",574),zt(R8,"OVERLAP",5),zt(R8,"HUD_W",526),zt(R8,"HUD_H",50),zt(R8,"EVENT_END_TIME_KEY","MINE_EVENT_END_TIME"),zt(R8,"EXP_BAR_X",76),zt(R8,"EXP_BAR_Y",15),zt(R8,"EXP_BAR_W",222),zt(R8,"EXP_BAR_H",20),zt(R8,"GRID_TOP_PAD",118),zt(R8,"GRID_BOTTOM_PAD",42);
- let L8=R8;
GuildRaidBookVO 1 hunks, 664 statements
+ const q3t=class{
+ constructor(){
+ zt(this,"kindNum",0),zt(this,"main",0),zt(this,"difficult",0),zt(this,"sub",0),zt(this,"progress",0),zt(this,"openCost",0),zt(this,"limit",0),zt(this,"name",""),zt(this,"desc",""),zt(this,"bossKindNum",0),zt(this,"level",0),zt(this,"hp",0)}
+ }
+ ;
+ Kt(q3t,"GuildRaidBookVO");
+ let X3t=q3t;
+ const Y3t=class t{
+ constructor(){
+ zt(this,"list",[]),zt(this,"byMain",new Map)}
+ static getInstance(){
+ return this.instance||(this.instance=new t),this.instance}
+ async ensureLoaded(){
+ if(this.list.length>0)return;
+ await ED.getInstance().loadBook(_D.GUILD_RAID);
+ const t=ED.getInstance().getBook(_D.GUILD_RAID);
+ this.setBookData(t)}
+ setBookData(t){
+ if(this.list=[],this.byMain.clear(),Array.isArray(t)){
+ for(const i of t){
+ const t=new X3t;
+ t.kindNum=Number(i.kindNum)||0,t.main=Number(i.main)||0,t.difficult=Number(i.difficult)||0,t.sub=Number(i.sub)||0,t.progress=Number(i.progress)||0,t.openCost=Number(i.openCost)||0,t.limit=Number(i.limit)||0,t.name=String(i.name??""),t.desc=String(i.desc??""),t.bossKindNum=Number(i.bossKindNum)||0,t.level=Number(i.level)||0,t.hp=Number(i.hp)||0,this.list.push(t);
+ let s=this.byMain.get(t.main);
+ s||(s=[],this.byMain.set(t.main,s)),s.push(t)}
+ for(const t of this.byMain.values())t.sort((t,i)=>t.difficult-i.difficult||t.sub-i.sub)}
+ }
+ hasBook(){
+ return this.list.length>0}
+ getMains(){
+ return Array.from(this.byMain.keys()).sort((t,i)=>t-i)}
+ getDifficulties(t){
+ const i=this.byMain.get(t)??[];
+ return[...new Set(i.map(t=>t.difficult))]}
+ getSubs(t,i){
+ return(this.byMain.get(t)??[]).filter(t=>t.difficult===i)}
+ getSub(t,i,s){
+ return this.getSubs(t,i).find(t=>t.sub===s)??null}
+ getByKindNum(t){
+ return this.list.find(i=>i.kindNum===t)??null}
+ getBattleBossKindNum(i){
+ return t.normalizeBossKindNum(i.bossKindNum)||t.FALLBACK_BOSS_KIND_BY_RAID_KIND[i.kindNum]||t.FALLBACK_BOSS_KIND_BY_SUB[i.sub]||0}
+ static normalizeBossKindNum(t){
+ return t?this.LEGACY_BOSS_KIND_MAP[t]?this.LEGACY_BOSS_KIND_MAP[t]:t>=1e5?t:0:0}
+ getFirstSub(t,i){
+ return this.getSub(t,i,1)}
+ getMainName(i){
+ return t.MAIN_NAMES[i]??`RAID ${
+ i}
+ `}
+ isLiveMain(i){
+ return t.LIVE_MAINS.includes(i)}
+ }
+ ;
+ Kt(Y3t,"GuildRaidDataManager"),zt(Y3t,"instance"),zt(Y3t,"LIVE_MAINS",[1]),zt(Y3t,"MAIN_NAMES",{
+ 1:"고대유적지",2:"불타는 대지",3:"죽음의 늪지",4:"지옥군주의 성채",5:"얼어붙은 고대 문명"}
+ ),zt(Y3t,"FALLBACK_BOSS_KIND_BY_SUB",{
+ 1:1e5,2:100001,3:100002}
+ ),zt(Y3t,"LEGACY_BOSS_KIND_MAP",{
+ 2001:1e5,2002:100001,2003:100002}
+ ),zt(Y3t,"FALLBACK_BOSS_KIND_BY_RAID_KIND",{
+ 1:1e5,2:100001,3:100002}
+ );
+ let J3t=Y3t;
+ function Q3t(t,i,s){
+ if(!ZA.hasSheet("UI_Ekkorr"))return null;
+ const e=ZA.getSheet("UI_Ekkorr").textures,n=s?"on":"off";
+ for(const h of[`Raid${
+ t}
+ _${
+ i}
+ _${
+ n}
+ `,`raid${
+ t}
+ _${
+ i}
+ _${
+ n}
+ `])if(e[h])return e[h];
+ return null}
+ Kt(Q3t,"getRaidBossTexture");
+ const Z3t=class t extends $4{
+ constructor(){
+ super(),zt(this,"options",null),zt(this,"selectedSquads",null),zt(this,"requestPending",!1),zt(this,"lblTitle"),zt(this,"bossIcon"),zt(this,"lblBossName"),zt(this,"lblBossDesc"),zt(this,"lblStatus"),zt(this,"hpBarBg"),zt(this,"hpBarFill"),zt(this,"lblHp"),zt(this,"lblSquadTitle"),zt(this,"lblSquadHint"),zt(this,"heroBtns",[]),zt(this,"soldierBtns",[]),zt(this,"btnFormation"),zt(this,"btnBattle"),this.bg.height<880&&(this.y=Math.max(0,KA.safeHeight-880),this.bg.height=KA.safeHeight-this.y),this.lblTitle=new QD("",16777215,lD.DEFAULT_OUTLINE_FONT_OPTION_24),this.lblTitle.x=20,this.lblTitle.y=52,this.addChild(this.lblTitle),this.bossIcon=new We,this.bossIcon.x=28,this.bossIcon.y=this.lblTitle.y+50,this.addChild(this.bossIcon),this.lblBossName=new QD("",16772744,lD.DEFAULT_OUTLINE_FONT_OPTION_17),this.lblBossName.x=135,this.lblBossName.y=this.bossIcon.y+4,this.addChild(this.lblBossName),this.lblBossDesc=new QD("",13421772,lD.DEFAULT_OUTLINE_FONT_OPTION_16),this.lblBossDesc.x=this.lblBossName.x,this.lblBossDesc.y=this.lblBossName.y+30,this.lblBossDesc.setWrapWidth(470),this.addChild(this.lblBossDesc),this.lblStatus=new QD("",11184810,lD.DEFAULT_OUTLINE_FONT_OPTION_16),this.lblStatus.x=20,this.lblStatus.y=this.bossIcon.y+105,this.lblStatus.setWrapWidth(600),this.addChild(this.lblStatus),this.hpBarBg=new Gf,this.hpBarBg.x=20,this.hpBarBg.y=this.lblStatus.y+48,this.addChild(this.hpBarBg),this.hpBarFill=new Gf,this.hpBarFill.x=this.hpBarBg.x,this.hpBarFill.y=this.hpBarBg.y,this.addChild(this.hpBarFill),this.lblHp=new QD("",16777215,lD.DEFAULT_OUTLINE_FONT_OPTION_16),this.lblHp.eventMode="none",this.addChild(this.lblHp),this.lblSquadTitle=new QD("공격 편성",16763904,lD.DEFAULT_OUTLINE_FONT_OPTION_17),this.lblSquadTitle.x=20,this.lblSquadTitle.y=this.hpBarBg.y+46,this.addChild(this.lblSquadTitle),this.lblSquadHint=new QD("",11184810,lD.DEFAULT_OUTLINE_FONT_OPTION_16),this.lblSquadHint.x=20,this.lblSquadHint.y=this.lblSquadTitle.y+28,this.lblSquadHint.setWrapWidth(600),this.addChild(this.lblSquadHint);
+ const i=this.lblSquadHint.y+45,s=i+78;
+ for(let e=0;
+ e<t.NUM_SLOTS;
+ e++){
+ const t=new Q3;
+ t.scale=.72,t.x=67+104*e,t.y=i,t.onClick=()=>this.openFormation(),this.addChild(t),this.heroBtns.push(t);
+ const n=new Q3;
+ n.scale=.62,n.x=67+104*e+8,n.y=s,n.onClick=()=>this.openFormation(),this.addChild(n),this.soldierBtns.push(n)}
+ this.btnFormation=new tG("편성"),this.btnFormation.color=tG.BROWN,this.btnFormation.width=180,this.btnFormation.height=50,this.btnFormation.x=.5*this.bg.width-this.btnFormation.width-10,this.btnFormation.y=this.bg.height-65,this.btnFormation.onClick=()=>this.openFormation(),this.addChild(this.btnFormation),this.btnBattle=new tG("도전"),this.btnBattle.color=tG.RED,this.btnBattle.width=180,this.btnBattle.height=50,this.btnBattle.x=.5*this.bg.width+10,this.btnBattle.y=this.btnFormation.y,this.btnBattle.onClick=()=>{
+ this.onBattleClick()}
+ ,this.addChild(this.btnBattle)}
+ static getInstance(){
+ return this._instance||(this._instance=new t),this._instance}
+ async open(t){
+ this.options=t,this.selectedSquads=t.initialSquads,this.requestPending=!1,await this.ensureBarracksLoaded(),this.refresh(),this.show2()}
+ async ensureBarracksLoaded(){
+ const t=IG.getInstance();
+ if(!t.hasStates())try{
+ const i=await oD.getInstance().guildBarracks.getAll(!0),s=(null==i?void 0:i.body)??i;
+ (null==s?void 0:s.states)&&t.setStates(s.states)}
+ catch(ypt){
+ }
+ }
+ refresh(){
+ const t=this.options;
+ if(!t)return;
+ const i=J3t.getInstance();
+ this.lblTitle.text=`${
+ i.getMainName(t.main)}
+  ${
+ t.difficult}
+ 단계`,this.lblBossName.text=`${
+ t.bookVO.name}
+   Lv.${
+ t.bookVO.level}
+ `,this.lblBossDesc.text=t.bookVO.desc||"보스를 공격할 편성을 준비하세요.";
+ const s=Q3t(t.bookVO.main,t.bookVO.sub,!0);
+ this.bossIcon.visible=!!s,s&&(this.bossIcon.texture=s,this.bossIcon.width=84,this.bossIcon.height=84),this.drawHpBar(t.curHp,t.maxHp),this.updateStatus(),this.refreshSquads()}
+ updateStatus(){
+ const t=this.options;
+ if(!t)return;
+ const i=[`오늘 남은 도전 횟수 : ${
+ t.userTicket}
+ `];
+ t.limitTimeMs>0&&i.push(`남은 시간 : ${
+ this.remainText(t.limitTimeMs)}
+ `),t.timeLimit&&i.push("시간 초과"),t.currentBattleUser&&i.push(`전투중 : ${
+ t.currentBattleUser}
+ `),this.lblStatus.text=i.join("   "),this.lblStatus.textColor=t.timeLimit||t.currentBattleUser||t.userTicket<=0?16737894:11184810;
+ const s=!this.requestPending&&!t.timeLimit&&!t.currentBattleUser&&t.userTicket>0;
+ this.btnBattle.activated=s}
+ drawHpBar(t,i){
+ const s=i>0?Math.max(0,Math.min(1,t/i)):0;
+ this.hpBarBg.clear().rect(0,0,600,24).fill({
+ color:2236962}
+ ),this.hpBarFill.clear(),s>0&&this.hpBarFill.rect(1,1,598*s,22).fill({
+ color:13382451}
+ ),this.lblHp.text=`${
+ KD.displayLargeNumberAsAlphabet(t)}
+  / ${
+ KD.displayLargeNumberAsAlphabet(i)}
+ `,this.lblHp.x=this.hpBarBg.x+.5*(600-this.lblHp.width),this.lblHp.y=this.hpBarBg.y+.5*(24-this.lblHp.height)}
+ refreshSquads(){
+ const i=this.parseSquads(this.selectedSquads),s=i.some(t=>t.heroKindNum>0);
+ this.lblSquadHint.text=s?"선택한 공격 편성을 확인한 뒤 도전하세요.":"공격 편성을 먼저 선택하세요.";
+ for(let e=0;
+ e<t.NUM_SLOTS;
+ e++){
+ const t=i[e];
+ this.setHeroButton(this.heroBtns[e],(null==t?void 0:t.heroKindNum)??-1,(null==t?void 0:t.heroTrans)??0),this.setHeroButton(this.soldierBtns[e],this.resolveSoldierKind((null==t?void 0:t.barrackKindNum)??0),0)}
+ }
+ setHeroButton(t,i,s){
+ const e=Cx.getVO();
+ e.kindNum=i>0?i:-1,e.trans=s,e.level=1,t.setDataWith(0,e),t.hideLevel(),t.hideEnhance(),e.kindNum<=0?(t.hideBackground(),t.setAlphaToFrame(.45)):(t.showBackground(),t.setAlphaToFrame(.9))}
+ resolveSoldierKind(t){
+ if(t<=0)return-1;
+ const i=IG.getInstance(),s=i.getBook(t);
+ if(!s)return-1;
+ const e=i.getState(s.tribe),n=i.computeInstructorsForBarrack(s),h=e?i.computeSoldiers(s,e,n):null,r=this.getRepresentativeSoldierStageIndex(h??void 0);
+ return this.getSoldierKindAt(s.unitKindNums,r)}
+ getSoldierKindAt(t,i){
+ if(!t||0===t.length)return-1;
+ const s=t[i];
+ return s&&s>0?s:t.find(t=>t>0)??-1}
+ getRepresentativeSoldierStageIndex(t){
+ if(!t||0===t.length)return 0;
+ let i=0,s=0;
+ for(let e=0;
+ e<5;
+ e++){
+ const n=Math.max(0,Number(t[e]??0));
+ !Number.isFinite(n)||n<=0||(i+=n,s+=n*(e+1))}
+ return i<=0?0:Math.max(0,Math.min(4,Math.round(s/i)-1))}
+ parseSquads(i){
+ const s=[];
+ for(let n=0;
+ n<t.NUM_SLOTS;
+ n++)s.push({
+ heroKindNum:-1,heroTrans:0,barrackKindNum:0}
+ );
+ if(!i)return s;
+ const e=i.split("|");
+ for(let t=0;
+ t<Math.min(e.length,s.length);
+ t++){
+ const[i,n,h]=e[t].split("-").map(Number);
+ s[t]={
+ heroKindNum:Number.isFinite(i)?i:-1,heroTrans:Number.isFinite(n)?n:0,barrackKindNum:Number.isFinite(h)?h:0}
+ }
+ return s}
+ hasCompleteSquads(){
+ return this.parseSquads(this.selectedSquads).every(t=>t.heroKindNum>0)}
+ openFormation(){
+ Jt(async()=>{
+ const{
+ GuildWarSquadsPopup:t}
+ =await Promise.resolve().then(()=>Oei);
+ return{
+ GuildWarSquadsPopup:t}
+ }
+ ,void 0).then(({
+ GuildWarSquadsPopup:t}
+ )=>{
+ t.getInstance().open("레이드 공격 편성",this.selectedSquads,t=>{
+ var i,s;
+ this.selectedSquads=t,null==(s=null==(i=this.options)?void 0:i.onSquadsChange)||s.call(i,t),this.refreshSquads()}
+ )}
+ )}
+ async onBattleClick(){
+ const t=this.options;
+ if(t&&!this.requestPending)if(t.timeLimit)yV.getInstance().showMessage("시간 초과 — 레이드가 종료되었습니다");
+ else if(t.currentBattleUser)yV.getInstance().showMessage(`다른 길드원이 전투중입니다 (${
+ t.currentBattleUser}
+ )`);
+ else if(t.userTicket<=0)yV.getInstance().showMessage("오늘 도전 횟수를 모두 사용했습니다");
+ else{
+ if(!this.hasCompleteSquads())return yV.getInstance().showMessage("공격 편성을 먼저 선택하세요"),void this.openFormation();
+ this.requestPending=!0,this.updateStatus();
+ try{
+ await t.onBattleStart(t.bookVO,this.selectedSquads)&&this.hide()}
+ catch(ypt){
+ vG.getInstance().show(String(ypt))}
+ finally{
+ this.requestPending=!1,this.updateStatus()}
+ }
+ }
+ remainText(t){
+ const i=Math.max(0,t-ox.time),s=Math.floor(i/6e4);
+ return`${
+ Math.floor(s/60)}
+ H ${
+ String(s%60).padStart(2,"0")}
+ M`}
+ hide(){
+ this.requestPending=!1,super.hide()}
+ get className(){
+ return"GuildRaidBattleReadyPopup"}
+ }
+ ;
+ Kt(Z3t,"GuildRaidBattleReadyPopup"),zt(Z3t,"_instance"),zt(Z3t,"NUM_SLOTS",5);
+ let t6t=Z3t;
+ var i6t=(t=>(t[t.CLEARED=0]="CLEARED",t[t.CURRENT=1]="CURRENT",t[t.LOCKED=2]="LOCKED",t))(i6t||{
+ }
+ );
+ const s6t=class t extends XI{
+ constructor(){
+ super(),zt(this,"bg"),zt(this,"icon"),zt(this,"lblName"),zt(this,"lblState"),zt(this,"barBg"),zt(this,"barFill"),zt(this,"lblHp"),zt(this,"btnAction"),this.bg=new TM({
+ texture:ZA.getTexture("UI_Ekkorr","Popup_List_02"),leftWidth:140,topHeight:30,rightWidth:20,bottomHeight:30}
+ ),this.bg.width=630,this.bg.height=t.ROW_HEIGHT,this.addChild(this.bg),this.icon=new We,this.icon.x=24,this.addChild(this.icon),this.lblName=new QD("",16777215,lD.DEFAULT_OUTLINE_FONT_OPTION_17),this.lblName.x=135,this.lblName.y=16,this.addChild(this.lblName),this.lblState=new QD("",11184810,lD.DEFAULT_OUTLINE_FONT_OPTION_17),this.lblState.x=this.lblName.x,this.lblState.y=50,this.addChild(this.lblState),this.barBg=new Gf,this.barBg.x=this.lblName.x,this.barBg.y=52,this.addChild(this.barBg),this.barFill=new Gf,this.barFill.x=this.barBg.x,this.barFill.y=this.barBg.y,this.addChild(this.barFill),this.lblHp=new QD("",16777215,lD.DEFAULT_OUTLINE_FONT_OPTION_16),this.lblHp.eventMode="none",this.addChild(this.lblHp),this.btnAction=new tG(""),this.btnAction.color=tG.BROWN,this.btnAction.width=120,this.btnAction.height=55,this.btnAction.x=this.bg.width-this.btnAction.width-15,this.btnAction.y=.5*(this.bg.height-this.btnAction.height),this.btnAction.onClick=()=>this.onActionClick(),this.addChild(this.btnAction)}
+ setData(i){
+ this.data=i;
+ const s=Q3t(i.vo.main,i.vo.sub,1===i.state);
+ if(this.icon.visible=!!s,s){
+ const i=t.ICON_SIZE;
+ this.icon.texture=s,this.icon.width=i,this.icon.height=i,this.icon.y=.5*(this.bg.height-i)}
+ this.lblName.text=`${
+ i.vo.name}
+   Lv.${
+ i.vo.level}
+ `;
+ const e=1!==i.state;
+ this.bg.alpha=e?.7:1,this.lblName.alpha=e?.5:1,1===i.state?(this.lblState.visible=!1,this.drawHpBar(i.curHp,i.maxHp),this.barBg.visible=this.barFill.visible=this.lblHp.visible=!0,this.btnAction.visible=!0,i.canClaim?(this.btnAction.text=CG.getText("COMMON_22","보상"),this.btnAction.activated=i.isElder):(this.btnAction.text=CG.getText("COMMON_378","도전"),this.btnAction.activated=!0)):(this.barBg.visible=this.barFill.visible=this.lblHp.visible=!1,this.btnAction.visible=!1,this.lblState.visible=!0,0===i.state?(this.lblState.text="격파 완료",this.lblState.textColor=8965256):(this.lblState.text="이전 보스 격파 후 도전 가능",this.lblState.textColor=8947848))}
+ drawHpBar(i,s){
+ const e=t.BAR_WIDTH,n=t.BAR_HEIGHT,h=s>0?Math.max(0,Math.min(1,i/s)):0;
+ this.barBg.clear().rect(0,0,e,n).fill({
+ color:2236962}
+ ),this.barFill.clear(),h>0&&this.barFill.rect(1,1,(e-2)*h,n-2).fill({
+ color:13382451}
+ ),this.lblHp.text=`${
+ KD.displayLargeNumberAsAlphabet(i)}
+  / ${
+ KD.displayLargeNumberAsAlphabet(s)}
+ `,this.lblHp.x=this.barBg.x+.5*(e-this.lblHp.width),this.lblHp.y=this.barBg.y+.5*(n-this.lblHp.height)}
+ onActionClick(){
+ const t=this.data;
+ t&&1===t.state&&(t.canClaim?t.isElder&&t.onClaim():t.onChallenge())}
+ onClick(t,i){
+ this.onActionClick()}
+ get height(){
+ return this.bg.height+2}
+ }
+ ;
+ Kt(s6t,"GuildRaidBossItemRenderer"),zt(s6t,"ROW_HEIGHT",100),zt(s6t,"BAR_WIDTH",320),zt(s6t,"BAR_HEIGHT",20),zt(s6t,"ICON_SIZE",84);
+ let e6t=s6t;
+ const n6t=class t extends M2t{
+ constructor(){
+ super(),zt(this,"lblInfo"),zt(this,"btnGiveUp"),zt(this,"onGiveUpClick",null),this.closeBtn.visible=!0,this.closeBtn.eventMode="static",this.closeBtn.on("pointertap",()=>{
+ _6t.getInstance().goDifficulty(_6t.getInstance().curMain)}
+ ),this.lblInfo=new QD("",11184810,lD.DEFAULT_OUTLINE_FONT_OPTION_16),this.lblInfo.x=10,this.lblInfo.y=32,this.lblInfo.setWrapWidth(420),this.addChild(this.lblInfo),this.btnGiveUp=new tG("포기"),this.btnGiveUp.color=tG.BROWN,this.btnGiveUp.width=90,this.btnGiveUp.height=42,this.btnGiveUp.x=this.closeBtn.x-this.btnGiveUp.width-6,this.btnGiveUp.y=.5*(this.bg.height-this.btnGiveUp.height),this.btnGiveUp.visible=!1,this.btnGiveUp.onClick=()=>{
+ this.onGiveUpClick&&this.onGiveUpClick()}
+ ,this.addChild(this.btnGiveUp)}
+ static getInstance(){
+ return null==t.instance&&(t.instance=new t),t.instance}
+ setData(t,i,s,e){
+ this.setTitle(t),this.lblTitle.y=4,this.lblInfo.text=i,this.lblInfo.textColor=e?16737894:11184810,this.btnGiveUp.visible=s}
+ }
+ ;
+ Kt(n6t,"GuildRaidBossSubMenu"),zt(n6t,"instance");
+ let h6t=n6t;
+ const r6t=class t extends $3{
+ constructor(){
+ super(),zt(this,"list"),zt(this,"raidId",0),zt(this,"difficult",0),zt(this,"requestSeq",0),zt(this,"limitTimeMs",0),zt(this,"timeLimit",!1),zt(this,"currentBattleUser",""),zt(this,"mainCleared",!1),zt(this,"lastTimerUpdate",0),zt(this,"count",0),this.list=new iK(e6t,640,_6t.getInstance().listHeight),this.list.x=5,this.list.y=h6t.getInstance().height,this.addChild(this.list),this.addChild(h6t.getInstance()),h6t.getInstance().onGiveUpClick=()=>this.onGiveUpClick(),this.on("added",this.onAdded,this),this.on("removed",this.onRemoved,this)}
+ static getInstance(){
+ return null==t.instance&&(t.instance=new t),t.instance}
+ onAdded(){
+ GM.getInstance().add(this.onFrame,this)}
+ onRemoved(){
+ GM.getInstance().remove(this.onFrame,this)}
+ onFrame(){
+ this.count-- >0||(this.count=30,this.parent?ox.time-this.lastTimerUpdate>=1e3&&(this.lastTimerUpdate=ox.time,this.refreshMenu()):GM.getInstance().remove(this.onFrame,this))}
+ async setData(t,i){
+ var s,e,n,h;
+ const r=++this.requestSeq;
+ this.raidId=t,this.difficult=i,this.limitTimeMs=0,this.timeLimit=!1,this.currentBattleUser="",this.mainCleared=!1,this.lastTimerUpdate=0,this.refreshMenu();
+ const o=await oD.getInstance().guildRaid.getSubInfo(t);
+ if(!(null==o?void 0:o.success))return vG.getInstance().show(String((null==o?void 0:o.error)??"ERROR")),void _6t.getInstance().goDifficulty(_6t.getInstance().curMain);
+ if(r!==this.requestSeq||!this.parent||this.raidId!==t)return;
+ const a=null==(s=o.body)?void 0:s.sub;
+ this.timeLimit=!!(null==(e=o.body)?void 0:e.timeLimit),this.limitTimeMs=(null==(n=o.body)?void 0:n.limitTime)?new Date(o.body.limitTime).getTime():0,this.currentBattleUser=(null==(h=o.body)?void 0:h.currentBattleUser)??"";
+ const c=(null==a?void 0:a.sub)??1,l=Number((null==a?void 0:a.curHp)??0),u=Number((null==a?void 0:a.maxHp)??0);
+ this.mainCleared="CLEAR"===(null==a?void 0:a.status);
+ const d=!this.mainCleared&&l<=0;
+ this.refreshMenu();
+ const f=J3t.getInstance().getSubs(_6t.getInstance().curMain,i).map(t=>{
+ let i;
+ return i=this.mainCleared||t.sub<c?i6t.CLEARED:t.sub===c?i6t.CURRENT:i6t.LOCKED,{
+ vo:t,state:i,curHp:t.sub===c?l:0,maxHp:t.sub===c?u:t.hp,canClaim:t.sub===c&&d,isElder:_6t.getInstance().isElder,onChallenge:Kt(()=>this.onChallenge(t,l,u),"onChallenge"),onClaim:Kt(()=>{
+ this.onClaim(c)}
+ ,"onClaim")}
+ }
+ );
+ this.list.dataProvider=f}
+ refreshMenu(){
+ const t=`${
+ J3t.getInstance().getMainName(_6t.getInstance().curMain)}
+  - ${
+ this.difficult}
+ 단계`;
+ let i=this.limitTimeMs>0?`${
+ CG.getText("COMMON_29","남은 시간")}
+  : ${
+ _6t.getInstance().remainText(this.limitTimeMs)}
+ `:"";
+ this.timeLimit&&(i="시간 초과 — 레이드가 종료되었습니다"),this.currentBattleUser&&(i+=`   (전투중 : ${
+ this.currentBattleUser}
+ )`),h6t.getInstance().setData(t,i,_6t.getInstance().isElder&&!this.mainCleared&&!this.timeLimit,this.timeLimit)}
+ onGiveUpClick(){
+ s3.getInstance().show("진행중인 레이드를 포기하시겠습니까?",async()=>{
+ const t=await oD.getInstance().guildRaid.giveUp(this.raidId);
+ (null==t?void 0:t.success)?_6t.getInstance().goDifficulty(_6t.getInstance().curMain):vG.getInstance().show(String((null==t?void 0:t.error)??"ERROR"))}
+ )}
+ async onClaim(t){
+ var i;
+ const s=await oD.getInstance().guildRaid.claimReward(this.raidId,t);
+ if(!(null==s?void 0:s.success))return void vG.getInstance().show(String((null==s?void 0:s.error)??"ERROR"));
+ const e=null==(i=s.body)?void 0:i.sub;
+ "CLEAR"===(null==e?void 0:e.status)?(yV.getInstance().showMessage("레이드 클리어! 보상이 우편으로 지급됩니다"),_6t.getInstance().goDifficulty(_6t.getInstance().curMain)):(yV.getInstance().showMessage("보상이 우편으로 지급됩니다"),this.setData(this.raidId,this.difficult))}
+ onChallenge(t,i,s){
+ this.timeLimit?yV.getInstance().showMessage("시간 초과 — 레이드가 종료되었습니다"):this.currentBattleUser?yV.getInstance().showMessage(`다른 길드원이 전투중입니다 (${
+ this.currentBattleUser}
+ )`):_6t.getInstance().userTicket<=0?yV.getInstance().showMessage("오늘 도전 횟수를 모두 사용했습니다"):_6t.getInstance().openBattleReady({
+ raidId:this.raidId,main:_6t.getInstance().curMain,difficult:this.difficult,bookVO:t,curHp:i,maxHp:s,userTicket:_6t.getInstance().userTicket,currentBattleUser:this.currentBattleUser,timeLimit:this.timeLimit,limitTimeMs:this.limitTimeMs}
+ )}
+ updateLanguage(){
+ this.raidId>0&&this.setData(this.raidId,this.difficult)}
+ get className(){
+ return"GuildRaidBossSubView"}
+ }
+ ;
+ Kt(r6t,"GuildRaidBossSubView"),zt(r6t,"instance");
+ let o6t=r6t;
+ const a6t=class extends XI{
+ constructor(){
+ super(),zt(this,"bg"),zt(this,"icon"),zt(this,"lblTitle"),zt(this,"lblDesc"),zt(this,"btnAction"),this.bg=new TM({
+ texture:ZA.getTexture("UI_Ekkorr","Popup_List_02"),leftWidth:140,topHeight:30,rightWidth:20,bottomHeight:30}
+ ),this.bg.width=630,this.bg.height=80,this.addChild(this.bg),this.icon=new We(ZA.getTexture("UI_Guild","Guild_Quest_Raid_nor")),this.icon.x=2,this.addChild(this.icon),this.lblTitle=new QD("",16777215,lD.DEFAULT_OUTLINE_FONT_OPTION_17),this.lblTitle.x=135,this.lblTitle.y=15,this.addChild(this.lblTitle),this.lblDesc=new QD("",11184810,lD.DEFAULT_OUTLINE_FONT_OPTION_17),this.lblDesc.x=this.lblTitle.x,this.addChild(this.lblDesc),this.btnAction=new tG(""),this.btnAction.color=tG.BROWN,this.btnAction.width=120,this.btnAction.height=55,this.btnAction.x=this.bg.width-this.btnAction.width-15,this.btnAction.y=.5*(this.bg.height-this.btnAction.height),this.btnAction.onClick=()=>this.onActionClick(),this.addChild(this.btnAction)}
+ setData(t){
+ this.data=t,this.icon.texture=ZA.getTexture("UI_Guild",t.open?"Guild_Quest_Raid":"Guild_Quest_Raid_nor"),this.icon.y=.5*(this.bg.height-this.icon.height),this.lblTitle.text=`${
+ t.difficult}
+ 단계`,t.open?(this.lblDesc.text=`${
+ CG.getText("COMMON_29","남은 시간")}
+  : ${
+ t.remainText}
+ `,this.lblDesc.textColor=16737894):t.openable?(this.lblDesc.text=`${
+ CG.getText("GAME_985","오픈")}
+  : ${
+ CG.getText("GAME_812","길드코인")}
+  ${
+ t.openCost}
+ `,this.lblDesc.textColor=11184810):this.lblDesc.text="",this.lblDesc.text?(this.lblTitle.y=15,this.lblDesc.y=this.lblTitle.y+this.lblTitle.height+5,this.lblDesc.visible=!0):(this.lblTitle.y=.5*(this.bg.height-this.lblTitle.height),this.lblDesc.visible=!1);
+ const i=t.open||t.openable;
+ this.lblTitle.alpha=i?1:.45,this.bg.alpha=i?1:.7,t.open?(this.btnAction.text=CG.getText("COMMON_376","입장"),this.btnAction.visible=!0,this.btnAction.activated=!0):t.openable?(this.btnAction.text=CG.getText("GAME_985","오픈"),this.btnAction.visible=!0,this.btnAction.activated=t.isElder):this.btnAction.visible=!1}
+ onActionClick(){
+ const t=this.data;
+ if(t)if(t.open)t.onEnter(t.raidId,t.difficult);
+ else if(t.openable){
+ if(!t.isElder)return void yV.getInstance().showMessage("장로 이상만 오픈할 수 있습니다");
+ t.onOpen(t.difficult)}
+ }
+ onClick(t,i){
+ this.data&&this.onActionClick()}
+ get height(){
+ return this.bg.height+2}
+ }
+ ;
+ Kt(a6t,"GuildRaidDifficultyItemRenderer");
+ let c6t=a6t;
+ const l6t=class t extends M2t{
+ constructor(){
+ super(),zt(this,"lblTicket"),this.closeBtn.visible=!0,this.closeBtn.eventMode="static",this.closeBtn.on("pointertap",()=>{
+ _6t.getInstance().goMain()}
+ ),this.lblTicket=new QD("",11184810,lD.DEFAULT_OUTLINE_FONT_OPTION_16),this.addChild(this.lblTicket)}
+ static getInstance(){
+ return null==t.instance&&(t.instance=new t),t.instance}
+ setData(t,i){
+ this.setTitle(t),this.setTicket(i)}
+ setTicket(t){
+ this.lblTicket.text=`오늘 남은 도전 횟수 : ${
+ t}
+ `,this.lblTicket.x=this.closeBtn.x-this.lblTicket.width-10,this.lblTicket.y=.5*(this.bg.height-this.lblTicket.height)}
+ }
+ ;
+ Kt(l6t,"GuildRaidDifficultySubMenu"),zt(l6t,"instance");
+ let u6t=l6t;
+ const d6t=class t extends $3{
+ constructor(){
+ super(),zt(this,"list"),zt(this,"main",0),zt(this,"requestSeq",0),this.list=new iK(c6t,640,_6t.getInstance().listHeight),this.list.x=5,this.list.y=u6t.getInstance().height,this.addChild(this.list),this.addChild(u6t.getInstance())}
+ static getInstance(){
+ return null==t.instance&&(t.instance=new t),t.instance}
+ async setData(t){
+ var i,s,e;
+ const n=++this.requestSeq;
+ this.main=t;
+ const h=J3t.getInstance(),r=h.getMainName(t);
+ u6t.getInstance().setData(r,0);
+ const o=await oD.getInstance().guildRaid.getMainInfo(t);
+ if(!(null==o?void 0:o.success))return void vG.getInstance().show(String((null==o?void 0:o.error)??"ERROR"));
+ if(n!==this.requestSeq||!this.parent||this.main!==t)return;
+ _6t.getInstance().setCurrentMainInfo(o.body);
+ const a=(null==(i=o.body)?void 0:i.maxProgress)??0,c=(null==(s=o.body)?void 0:s.difficulties)??[],l=(null==(e=o.body)?void 0:e.userTicket)??0;
+ u6t.getInstance().setTicket(l);
+ const u=c.map(i=>{
+ const s=h.getFirstSub(t,i.difficult),e=!i.open&&!!s&&s.progress<=a+1,n=i.open&&i.startTime?new Date(i.startTime).getTime()+3600*(i.limit??0)*1e3:0;
+ return{
+ main:t,difficult:i.difficult,open:!!i.open,openable:e,raidId:i.raidId??0,remainText:n>0?_6t.getInstance().remainText(n):"",openCost:(null==s?void 0:s.openCost)??0,isElder:_6t.getInstance().isElder,onEnter:Kt((t,i)=>{
+ _6t.getInstance().goBoss(t,i)}
+ ,"onEnter"),onOpen:Kt(i=>this.confirmOpen(t,i),"onOpen")}
+ }
+ );
+ this.list.dataProvider=u}
+ confirmOpen(t,i){
+ const s=J3t.getInstance(),e=s.getFirstSub(t,i),n=(null==e?void 0:e.openCost)??0,h=`${
+ s.getMainName(t)}
+  ${
+ i}
+ 단계를 오픈하시겠습니까?\n${
+ CG.getText("GAME_812","길드코인")}
+  ${
+ n}
+  소모`;
+ s3.getInstance().show(h,async()=>{
+ var s,e,n;
+ const h=await oD.getInstance().guildRaid.open(t,i);
+ if(!(null==h?void 0:h.success))return void vG.getInstance().show(String((null==h?void 0:h.error)??"ERROR"));
+ const r=Number(null==(s=h.body)?void 0:s.guildCoin);
+ Number.isFinite(r)&&SD.myMembershipVO&&(SD.myMembershipVO.coin=SD.myCoins=r,HV.getInstance().updateGuildCoin());
+ const o=(null==(n=null==(e=h.body)?void 0:e.guildRaidMain)?void 0:n.id)??0;
+ o>0?_6t.getInstance().goBoss(o,i):this.setData(t)}
+ )}
+ updateLanguage(){
+ this.main>0&&this.setData(this.main)}
+ get className(){
+ return"GuildRaidDifficultySubView"}
+ }
+ ;
+ Kt(d6t,"GuildRaidDifficultySubView"),zt(d6t,"instance");
+ let f6t=d6t;
+ const p6t=class extends XI{
+ constructor(){
+ super(),zt(this,"bg"),zt(this,"icon"),zt(this,"lblTitle"),zt(this,"lblDesc"),zt(this,"btnEnter"),this.bg=new TM({
+ texture:ZA.getTexture("UI_Ekkorr","Popup_List_02"),leftWidth:140,topHeight:30,rightWidth:20,bottomHeight:30}
+ ),this.bg.width=630,this.bg.height=80,this.addChild(this.bg),this.icon=new We(ZA.getTexture("UI_Guild","Guild_Quest_Raid_nor")),this.icon.x=2,this.addChild(this.icon),this.lblTitle=new QD("",16777215,lD.DEFAULT_OUTLINE_FONT_OPTION_17),this.lblTitle.x=135,this.lblTitle.y=15,this.addChild(this.lblTitle),this.lblDesc=new QD("",11184810,lD.DEFAULT_OUTLINE_FONT_OPTION_17),this.lblDesc.x=this.lblTitle.x,this.addChild(this.lblDesc),this.btnEnter=new tG(""),this.btnEnter.color=tG.BROWN,this.btnEnter.width=120,this.btnEnter.height=55,this.btnEnter.x=this.bg.width-this.btnEnter.width-15,this.btnEnter.y=.5*(this.bg.height-this.btnEnter.height),this.btnEnter.onClick=()=>this.onEnterClick(),this.addChild(this.btnEnter)}
+ setData(t){
+ this.data=t,this.lblTitle.text=t.name,t.live?t.hasOpen?this.lblDesc.text="진행중":this.lblDesc.text="":this.lblDesc.text="coming soon",this.lblDesc.textColor=t.hasOpen?16737894:11184810,this.lblDesc.text?(this.lblTitle.y=15,this.lblDesc.y=this.lblTitle.y+this.lblTitle.height+5,this.lblDesc.visible=!0):(this.lblTitle.y=.5*(this.bg.height-this.lblTitle.height),this.lblDesc.visible=!1),this.icon.texture=ZA.getTexture("UI_Guild",t.live?"Guild_Quest_Raid":"Guild_Quest_Raid_nor"),this.icon.x=2,this.icon.y=.5*(this.bg.height-this.icon.height),this.lblTitle.alpha=t.live?1:.5,this.btnEnter.text=CG.getText("COMMON_376","입장"),this.btnEnter.activated=t.live}
+ onEnterClick(){
+ const t=this.data;
+ t&&(t.live?t.onEnter(t.main):yV.getInstance().showMessage("coming soon"))}
+ onClick(t,i){
+ this.onEnterClick()}
+ get height(){
+ return this.bg.height+2}
+ }
+ ;
+ Kt(p6t,"GuildRaidMainItemRenderer");
+ let g6t=p6t;
+ const m6t=class t extends M2t{
+ static getInstance(){
+ return null==t.instance&&(t.instance=new t),t.instance}
+ constructor(){
+ super(),this.updateLanguage()}
+ updateLanguage(){
+ this.setTitle(CG.getText("GAME_630","길드레이드"))}
+ }
+ ;
+ Kt(m6t,"GuildRaidSubMenu"),zt(m6t,"instance");
+ let w6t=m6t;
+ const v6t=class t extends $3{
+ constructor(){
+ super(),zt(this,"list"),zt(this,"requestSeq",0),this.list=new iK(g6t,640,_6t.getInstance().listHeight),this.list.x=5,this.list.y=w6t.getInstance().height,this.addChild(this.list),this.addChild(w6t.getInstance())}
+ static getInstance(){
+ return null==t.instance&&(t.instance=new t),t.instance}
+ async setData(){
+ var t;
+ const i=++this.requestSeq;
+ w6t.getInstance().updateLanguage(),_6t.getInstance().clearCurrentMainInfo();
+ const s=J3t.getInstance();
+ await s.ensureLoaded();
+ const e=await oD.getInstance().guildRaid.getAllInfo();
+ if(!(null==e?void 0:e.success))return void vG.getInstance().show(String((null==e?void 0:e.error)??"ERROR"));
+ if(i!==this.requestSeq||!this.parent)return;
+ const n=(null==(t=e.body)?void 0:t.mainList)??[],h=s.hasBook()?s.getMains():n.map(t=>t.main),r=h.map(t=>{
+ const i=n.find(i=>i.main===t);
+ return{
+ main:t,name:s.getMainName(t),live:s.isLiveMain(t),hasOpen:!!(null==i?void 0:i.hasOpen),userTicket:(null==i?void 0:i.userTicket)??0,onEnter:Kt(t=>{
+ _6t.getInstance().goDifficulty(t)}
+ ,"onEnter")}
+ }
+ );
+ this.list.dataProvider=r}
+ updateLanguage(){
+ w6t.getInstance().updateLanguage(),this.setData()}
+ get className(){
+ return"GuildRaidSubView"}
+ }
+ ;
+ Kt(v6t,"GuildRaidSubView"),zt(v6t,"instance");
+ let b6t=v6t;
+ const y6t=class t extends $4{
+ constructor(){
+ super(),zt(this,"viewContainer",new Be),zt(this,"currentSubView",null),zt(this,"mode",0),zt(this,"curMain",0),zt(this,"curRaidId",0),zt(this,"curDifficult",0),zt(this,"curMainInfo",null),this.bg.height<880&&(this.y=Math.max(0,KA.safeHeight-880),this.bg.height=KA.safeHeight-this.y),this.btnClose.y=-this.btnClose.height-1,this.viewContainer.x=0,this.viewContainer.y=t.CONTENT_TOP_Y,this.addChild(this.viewContainer)}
+ static getInstance(){
+ return this._instance||(this._instance=new t),this._instance}
+ show(){
+ this.show2(),this.goMain()}
+ onCloseBtnClick(){
+ 2!==this.mode?1!==this.mode?this.hide():this.goMain():this.goDifficulty(this.curMain)}
+ get listHeight(){
+ return Math.max(0,this.contentHeight-60-10)}
+ get contentHeight(){
+ return this.bg.height-t.CONTENT_TOP_Y}
+ get isElder(){
+ var t;
+ const i=null==(t=SD.myMembershipVO)?void 0:t.role;
+ return(DD[i]??0)>2}
+ get userTicket(){
+ var t;
+ return(null==(t=this.curMainInfo)?void 0:t.userTicket)??0}
+ setCurrentMainInfo(t){
+ this.curMainInfo=t}
+ clearCurrentMainInfo(){
+ this.curMainInfo=null}
+ remainText(t){
+ const i=Math.max(0,t-ox.time),s=Math.floor(i/6e4);
+ return`${
+ Math.floor(s/60)}
+ H ${
+ String(s%60).padStart(2,"0")}
+ M`}
+ async goMain(){
+ this.mode=0,this.curRaidId=0,this.curDifficult=0,this.setCurrentSubView(b6t.getInstance()),await b6t.getInstance().setData()}
+ async goDifficulty(t){
+ this.mode=1,this.curMain=t,this.curRaidId=0,this.curDifficult=0,this.setCurrentSubView(f6t.getInstance()),await f6t.getInstance().setData(t)}
+ async goBoss(t,i){
+ this.mode=2,this.curRaidId=t,this.curDifficult=i,this.setCurrentSubView(o6t.getInstance()),await o6t.getInstance().setData(t,i)}
+ setCurrentSubView(t){
+ this.currentSubView!==t&&(this.currentSubView&&this.viewContainer.removeChild(this.currentSubView),this.currentSubView=t,this.viewContainer.addChild(t))}
+ openBattleReady(i){
+ t6t.getInstance().open({
+ ...i,initialSquads:t.loadLastSquads(),onSquadsChange:Kt(i=>t.saveLastSquads(i),"onSquadsChange"),onBattleStart:Kt((t,i)=>this.startRaidBattle(t,i),"onBattleStart")}
+ )}
+ async startRaidBattle(i,s){
+ var e,n;
+ t.saveLastSquads(s);
+ const h=await oD.getInstance().guildRaid.startBattle(this.curRaidId,s);
+ if(!(null==h?void 0:h.success))return vG.getInstance().show(String((null==h?void 0:h.error)??"ERROR")),!1;
+ const r=null==(e=h.body)?void 0:e.battle;
+ if(!(null==r?void 0:r.id))return vG.getInstance().show("BATTLE_INFO_NOT_FOUND"),!1;
+ this.curMainInfo&&(this.curMainInfo.userTicket=(null==(n=h.body)?void 0:n.userTicket)??0),this.hide(),t6t.getInstance().hide();
+ const{
+ Guild2Popup:o}
+ =await Jt(async()=>{
+ const{
+ Guild2Popup:t}
+ =await Promise.resolve().then(()=>c4t);
+ return{
+ Guild2Popup:t}
+ }
+ ,void 0);
+ o.getInstance().hide();
+ const a=J3t.getInstance(),c=a.getByKindNum(Number(r.kindNum))??i,l=a.getBattleBossKindNum(c);
+ return await W8.getInstance().startBattle({
+ bossKindNum:l,bossSub:c.sub,bossName:c.name,bossHp:Number(r.startHp)||0,squads:s,onBattleEnd:Kt((t,i,s)=>{
+ this.onRaidBattleEnd(r.id,t,i,s)}
+ ,"onBattleEnd")}
+ ),!0}
+ async onRaidBattleEnd(t,i,s,e){
+ var n;
+ try{
+ const h=await oD.getInstance().guildRaid.endBattle(t,i,s);
+ if(!(null==h?void 0:h.success))return void vG.getInstance().show(String((null==h?void 0:h.error)??"ERROR"));
+ const r=KD.displayLargeNumberAsAlphabet(i);
+ yV.getInstance().showMessage(e||(null==(n=h.body)?void 0:n.isClear)?`보스 격파!! (데미지 ${
+ r}
+ )`:`데미지 ${
+ r}
+  기록!`)}
+ catch(ypt){
+ }
+ }
+ static attackSquadsLsKey(){
+ const t=EL.userId;
+ return t?`ef2.guildRaid.attackSquads.${
+ t}
+ `:null}
+ static loadLastSquads(){
+ if(this.isValidSquads(this.lastSquads))return this.lastSquads;
+ const t=this.attackSquadsLsKey();
+ if(!t)return null;
+ try{
+ const i=localStorage.getItem(t);
+ return i?this.isValidSquads(i)?(this.lastSquads=i,i):(localStorage.removeItem(t),null):null}
+ catch{
+ return null}
+ }
+ static saveLastSquads(t){
+ if(!this.isValidSquads(t))return;
+ this.lastSquads=t;
+ const i=this.attackSquadsLsKey();
+ if(i)try{
+ localStorage.setItem(i,t)}
+ catch(ypt){
+ }
+ }
+ static isValidSquads(t){
+ if("string"!=typeof t||0===t.length)return!1;
+ const i=t.split("|");
+ if(5!==i.length)return!1;
+ for(const s of i){
+ const t=s.split("-").map(Number);
+ if(3!==t.length||t.some(t=>!Number.isFinite(t)))return!1;
+ const[i,,e]=t;
+ if(i<=0)return!1;
+ if(e<0)return!1}
+ return!0}
+ get className(){
+ return"GuildRaidPopup"}
+ }
+ ;
+ Kt(y6t,"GuildRaidPopup"),zt(y6t,"_instance"),zt(y6t,"lastSquads",null),zt(y6t,"CONTENT_TOP_Y",40);
+ let _6t=y6t;
GuildWarTeamSlot2 1 hunks, 371 statements
+ constructor(i=300,s=28){
+ super(),zt(this,"lineRight",new Gf),zt(this,"bg"),zt(this,"emblem"),zt(this,"lblName"),zt(this,"lblServer"),zt(this,"lblScore"),zt(this,"cover",new Gf),zt(this,"guildAorB",""),zt(this,"tournamentInfo"),this.lineRight.moveTo(t.BG_W,.5*t.BG_H).lineTo(t.BG_W+t.LINE_W,.5*t.BG_H).stroke({
+ width:2,color:lD.COLOR_WHITE,alpha:1}
+ ),this.lineRight.tint=t.COLOR_DEFAULT,this.addChild(this.lineRight),this.bg=new TM({
+ texture:ZA.getTexture("UI_Ekkorr","Popup_List_00"),leftWidth:30,topHeight:30,rightWidth:30,bottomHeight:30}
+ ),this.bg.width=t.BG_W,this.bg.height=t.BG_H,this.bg.x=0,this.addChild(this.bg),this.emblem=new S5t,this.emblem.scale.set(.5),this.emblem.x=5,this.emblem.y=(this.bg.height-this.emblem.height)/2,this.addChild(this.emblem),this.lblName=new QD("AAA",lD.DEFAULT_COLOR,lD.DEFAULT_OUTLINE_FONT_OPTION_16),this.lblName.textColor=lD.DEFAULT_COLOR,this.lblName.x=this.emblem.x+this.emblem.width,this.lblName.y=3,this.addChild(this.lblName),this.lblServer=new QD("KR : Rank. 1",lD.DEFAULT_COLOR,lD.DEFAULT_OUTLINE_FONT_OPTION_16),this.lblServer.textSize=14,this.lblServer.x=this.bg.width-this.lblServer.width,this.lblServer.y=this.bg.y+this.bg.height-this.lblServer.height-3,this.addChild(this.lblServer),this.lblScore=new QD("1234",16750899,lD.DEFAULT_OUTLINE_FONT_OPTION_16),this.lblScore.textSize=14,this.lblScore.textColor=16750899,this.lblScore.x=this.bg.width-this.lblScore.width,this.lblScore.y=(t.BG_H-this.lblScore.height)/2,this.addChild(this.lblScore),this.cover.rect(this.bg.x,this.bg.y,this.bg.width,this.bg.height).fill({
+ color:0,alpha:.3}
+ ),this.addChild(this.cover),this.cover.visible=!1,this.eventMode="static",this.on("pointerup",t=>this.onClick())}
+ onClick(){
+ this.tournamentInfo&&null!=this.tournamentInfo.warId&&-1!=this.tournamentInfo.warId&&Y6t.getInstance().showBattlePopup(this.tournamentInfo,this.guildAorB)}
+ setData(i,s="A"){
+ if(this.tournamentInfo=i,this.guildAorB=s,!i)return this.lblName.text=CG.getText("TBD","TBD"),this.emblem.visible=!1,this.lblServer.visible=!1,this.lblScore.visible=!1,this.lblName.x=this.bg.x+.5*(this.bg.width-this.lblName.width),void(this.lblName.y=(t.BG_H-this.lblName.height)/2);
+ const e="A"==s?i.guildA:i.guildB;
+ this.emblem.visible=!0,this.lblServer.visible=!0,this.lblScore.visible=!0,this.lblName.x=this.emblem.x+this.emblem.width,this.lblName.y=3,this.emblem.setData(e.emblem||"101|0"),this.lblName.text=e.name,this.lblName.textColor=e.id===SD.myGuildId?lD.COLOR_BRIGHT_GREEN:lD.DEFAULT_COLOR,i.winner&&i.winner!==e.id?this.cover.visible=!0:(this.cover.visible=!1,i.winner==e.id&&this.updateRightColor(!0));
+ const n=3==e.serverId?"Server (G)":"Server (K)",h=e.rank;
+ this.lblServer.text=n+` Rank. ${
+ h}
+ `,this.lblServer.x=this.lblName.x,this.lblScore.visible=this.tournamentInfo.warId>0,this.lblScore.text=e.score,this.lblScore.x=this.bg.x+this.bg.width-this.lblScore.width-10}
+ drawlineRight(i){
+ this.lineRight.clear(),this.lineRight.moveTo(t.BG_W,.5*t.BG_H).lineTo(t.BG_W+t.LINE_W,.5*t.BG_H+i).stroke({
+ width:2,color:lD.COLOR_WHITE,alpha:1}
+ ),this.lineRight.tint=t.COLOR_DEFAULT}
+ updateRightColor(i){
+ this.lineRight.tint=i?t.COLOR_WIN:t.COLOR_DEFAULT}
+ hideLine(t){
+ "right"==t&&(this.lineRight.visible=!1)}
+ }
+ ;
+ Kt(H6t,"GuildWarTeamSlot2"),zt(H6t,"BG_W",265),zt(H6t,"BG_H",45),zt(H6t,"LINE_W",50),zt(H6t,"COLOR_DEFAULT",5855577),zt(H6t,"COLOR_WIN",lD.DEFAULT_COLOR),zt(H6t,"LINE_WEIGHT",3);
+ let W6t=H6t;
+ const j6t=class t extends XI{
+ constructor(){
+ super(),zt(this,"bg"),zt(this,"lblRound",new QD("",lD.COLOR_BRIGHT_ORANGE,lD.DEFAULT_OUTLINE_FONT_OPTION_16)),zt(this,"line"),zt(this,"lblWin",new QD("Win",lD.DEFAULT_COLOR,lD.DEFAULT_OUTLINE_FONT_OPTION_16)),zt(this,"iconGem"),zt(this,"lblGem",new QD("",16777215,lD.DEFAULT_OUTLINE_FONT_OPTION_16)),zt(this,"iconHonor"),zt(this,"lblHonor",new QD("",16777215,lD.DEFAULT_OUTLINE_FONT_OPTION_16)),zt(this,"iconGuild"),zt(this,"lblGuild",new QD("",16777215,lD.DEFAULT_OUTLINE_FONT_OPTION_16)),zt(this,"iconGemLose"),zt(this,"lblGemLose",new QD("",16777215,lD.DEFAULT_OUTLINE_FONT_OPTION_16)),zt(this,"iconHonorLose"),zt(this,"lblHonorLose",new QD("",16777215,lD.DEFAULT_OUTLINE_FONT_OPTION_16)),zt(this,"iconGuildLose"),zt(this,"lblGuildLose",new QD("",16777215,lD.DEFAULT_OUTLINE_FONT_OPTION_16)),zt(this,"lblLose",new QD("Lose",lD.COLOR_WHITE,lD.DEFAULT_OUTLINE_FONT_OPTION_16));
+ const i=t.ITEM_WIDTH,s=t.ITEM_HEIGHT,e=t.ICON_SIZE,n=.5*(s-this.lblRound.height);
+ this.bg=new TM({
+ texture:ZA.getTexture("UI_Ekkorr","Popup_List_02"),leftWidth:140,topHeight:30,rightWidth:20,bottomHeight:30}
+ ),this.bg.width=i,this.bg.height=s,this.addChild(this.bg),this.lblRound.align="center",this.lblRound.wordWrap=!0,this.lblRound.wordWrapWidth=100,this.lblRound.x=t.COL_SCORE_X,this.lblRound.y=n,this.addChild(this.lblRound),this.lblWin.align="center",this.lblWin.x=t.COL_WINLOSE_X,this.lblWin.y=.5*(.5*s-this.lblWin.height),this.addChild(this.lblWin),this.iconGem=new We(ZA.getTexture("UI_Ekkorr","UI_GEM_ICON")),this.iconGem.width=e,this.iconGem.height=e,this.iconGem.x=t.COL_GEM_X,this.iconGem.y=.5*(.5*s-e),this.addChild(this.iconGem),this.lblGem.x=this.iconGem.x+e+t.LABEL_GAP,this.lblGem.y=this.lblWin.y,this.addChild(this.lblGem),this.iconHonor=new We(ZA.getTexture("UI_Ekkorr","PVP_COIN_ON")),this.iconHonor.width=e,this.iconHonor.height=e,this.iconHonor.x=t.COL_HONOR_X,this.iconHonor.y=this.iconGem.y,this.addChild(this.iconHonor),this.lblHonor.x=this.iconHonor.x+e+t.LABEL_GAP,this.lblHonor.y=this.lblWin.y,this.addChild(this.lblHonor),this.iconGuild=new We(ZA.getTexture("UI_Ekkorr","GUILD_COIN")),this.iconGuild.width=e,this.iconGuild.height=e,this.iconGuild.x=t.COL_GUILD_X,this.iconGuild.y=this.iconGem.y,this.addChild(this.iconGuild),this.lblGuild.x=this.iconGuild.x+e+t.LABEL_GAP,this.lblGuild.y=this.lblWin.y,this.addChild(this.lblGuild),this.line=new We(ZA.getTexture("UI","Popup_Line_01")),this.line.width=i-t.COL_WINLOSE_X+15,this.line.height=1.5,this.line.x=t.COL_WINLOSE_X-20,this.line.y=.5*s,this.addChild(this.line),this.lblLose.align="center",this.lblLose.x=t.COL_WINLOSE_X,this.lblLose.y=.5*s+.5*(.5*s-this.lblLose.height),this.addChild(this.lblLose),this.iconGemLose=new We(ZA.getTexture("UI_Ekkorr","UI_GEM_ICON")),this.iconGemLose.width=e,this.iconGemLose.height=e,this.iconGemLose.x=t.COL_GEM_X,this.iconGemLose.y=.5*s+.5*(.5*s-e),this.addChild(this.iconGemLose),this.lblGemLose.x=this.iconGemLose.x+e+t.LABEL_GAP,this.lblGemLose.y=this.lblLose.y,this.addChild(this.lblGemLose),this.iconHonorLose=new We(ZA.getTexture("UI_Ekkorr","PVP_COIN_ON")),this.iconHonorLose.width=e,this.iconHonorLose.height=e,this.iconHonorLose.x=t.COL_HONOR_X,this.iconHonorLose.y=this.iconGemLose.y,this.addChild(this.iconHonorLose),this.lblHonorLose.x=this.iconHonorLose.x+e+t.LABEL_GAP,this.lblHonorLose.y=this.lblLose.y,this.addChild(this.lblHonorLose),this.iconGuildLose=new We(ZA.getTexture("UI_Ekkorr","GUILD_COIN")),this.iconGuildLose.width=e,this.iconGuildLose.height=e,this.iconGuildLose.x=t.COL_GUILD_X,this.iconGuildLose.y=this.iconGemLose.y,this.addChild(this.iconGuildLose),this.lblGuildLose.x=this.iconGuildLose.x+e+t.LABEL_GAP,this.lblGuildLose.y=this.lblLose.y,this.addChild(this.lblGuildLose)}
+ setData(i){
+ if(this.data=i,!i)return;
+ this.lblRound.text=this.getRoundLabel(i.round),this.lblRound.x=.5*(120-this.lblRound.width),this.lblRound.y=.5*(t.ITEM_HEIGHT-this.lblRound.height);
+ const s=i.winRewardValues.split("|").map(Number),e=i.loseRewardValues.split("|").map(Number);
+ this.lblWin.text=CG.getText("GAME_1028","승리"),this.lblGem.text=String(s[0]),this.lblHonor.text=String(s[2]),this.lblGuild.text=String(s[1]),this.lblLose.text=CG.getText("GAME_1029","패배"),this.lblGemLose.text=String(e[0]),this.lblHonorLose.text=String(e[2]),this.lblGuildLose.text=String(e[1])}
+ getRoundLabel(t){
+ switch(t){
+ case 1:return CG.getText("GWT_3","16강");
+ case 2:return CG.getText("GWT_4","8강");
+ case 3:return CG.getText("GWT_5","4강");
+ case 4:return CG.getText("GWT_6","3/4위전");
+ default:return CG.getText("GWT_7","결승전")}
+ }
+ get height(){
+ return t.ITEM_HEIGHT+2}
+ static get scoreX(){
+ return t.COL_SCORE_X}
+ static get winLoseX(){
+ return t.COL_WINLOSE_X}
+ static get gemX(){
+ return t.COL_GEM_X}
+ static get honorX(){
+ return t.COL_HONOR_X}
+ static get guildX(){
+ return t.COL_GUILD_X}
+ }
+ ;
+ Kt(j6t,"TournamentRewardItemRenderer"),zt(j6t,"ITEM_WIDTH",520),zt(j6t,"ITEM_HEIGHT",90),zt(j6t,"COL_SCORE_X",20),zt(j6t,"COL_WINLOSE_X",150),zt(j6t,"COL_GEM_X",230),zt(j6t,"COL_HONOR_X",330),zt(j6t,"COL_GUILD_X",430),zt(j6t,"ICON_SIZE",22),zt(j6t,"LABEL_GAP",6);
+ let $6t=j6t;
+ const V6t=class t extends XI{
+ constructor(){
+ super(),zt(this,"bg"),zt(this,"lblRound",new QD("",lD.COLOR_BRIGHT_ORANGE,lD.DEFAULT_OUTLINE_FONT_OPTION_16)),zt(this,"iconMedal"),zt(this,"lblMedal",new QD("",16777215,lD.DEFAULT_OUTLINE_FONT_OPTION_16)),zt(this,"iconGem"),zt(this,"lblGem",new QD("",16777215,lD.DEFAULT_OUTLINE_FONT_OPTION_16)),zt(this,"iconHonor"),zt(this,"lblHonor",new QD("",16777215,lD.DEFAULT_OUTLINE_FONT_OPTION_16)),zt(this,"iconGuild"),zt(this,"lblGuild",new QD("",16777215,lD.DEFAULT_OUTLINE_FONT_OPTION_16));
+ const i=t.ITEM_WIDTH,s=t.ITEM_HEIGHT,e=t.ICON_SIZE,n=.5*(s-this.lblRound.height),h=.5*(s-e);
+ this.bg=new TM({
+ texture:ZA.getTexture("UI_Ekkorr","Popup_List_02"),leftWidth:140,topHeight:30,rightWidth:20,bottomHeight:30}
+ ),this.bg.width=i,this.bg.height=s,this.addChild(this.bg),this.lblRound.align="center",this.lblRound.wordWrap=!0,this.lblRound.wordWrapWidth=100,this.lblRound.x=t.COL_SCORE_X,this.lblRound.y=n,this.addChild(this.lblRound),this.iconMedal=new We(ZA.getTexture("UI_Ekkorr","UI_STAR_ICON")),this.iconMedal.width=e,this.iconMedal.height=1.35*e,this.iconMedal.x=t.COL_MEDAL_X,this.iconMedal.y=.5*(s-this.iconMedal.height),this.addChild(this.iconMedal),this.lblMedal.x=this.iconMedal.x+e+t.LABEL_GAP,this.lblMedal.y=n,this.addChild(this.lblMedal),this.iconGem=new We(ZA.getTexture("UI_Ekkorr","UI_GEM_ICON")),this.iconGem.width=e,this.iconGem.height=e,this.iconGem.x=t.COL_GEM_X,this.iconGem.y=h,this.addChild(this.iconGem),this.lblGem.x=this.iconGem.x+e+t.LABEL_GAP,this.lblGem.y=this.lblMedal.y,this.addChild(this.lblGem),this.iconHonor=new We(ZA.getTexture("UI_Ekkorr","PVP_COIN_ON")),this.iconHonor.width=e,this.iconHonor.height=e,this.iconHonor.x=t.COL_HONOR_X,this.iconHonor.y=this.iconGem.y,this.addChild(this.iconHonor),this.lblHonor.x=this.iconHonor.x+e+t.LABEL_GAP,this.lblHonor.y=this.lblMedal.y,this.addChild(this.lblHonor),this.iconGuild=new We(ZA.getTexture("UI_Ekkorr","GUILD_COIN")),this.iconGuild.width=e,this.iconGuild.height=e,this.iconGuild.x=t.COL_GUILD_X,this.iconGuild.y=this.iconGem.y,this.addChild(this.iconGuild),this.lblGuild.x=this.iconGuild.x+e+t.LABEL_GAP,this.lblGuild.y=this.lblMedal.y,this.addChild(this.lblGuild)}
+ setData(i){
+ if(this.data=i,!i)return;
+ let s,e=i.medalBuffs.split("|").map(Number);
+ i.winRewardValues?(this.lblRound.text=CG.getText("GWT_12","우승 길드 서버"),s=i.winRewardValues.split("|").map(Number),this.lblMedal.text=String(e[0])+"%"):(this.lblRound.text=CG.getText("GWT_13","그 외 서버"),s=i.loseRewardValues.split("|").map(Number),this.lblMedal.text=String(e[1])+"%"),this.lblRound.x=.5*(120-this.lblRound.width),this.lblRound.y=.5*(t.ITEM_HEIGHT-this.lblRound.height),this.lblGem.text=String(s[0]),this.lblHonor.text=String(s[2]),this.lblGuild.text=String(s[1])}
+ get height(){
+ return t.ITEM_HEIGHT+2}
+ static get scoreX(){
+ return t.COL_SCORE_X}
+ static get medalX(){
+ return t.COL_MEDAL_X}
+ static get gemX(){
+ return t.COL_GEM_X}
+ static get honorX(){
+ return t.COL_HONOR_X}
+ static get guildX(){
+ return t.COL_GUILD_X}
+ }
+ ;
+ Kt(V6t,"TournamentRewardServerItemRenderer"),zt(V6t,"ITEM_WIDTH",520),zt(V6t,"ITEM_HEIGHT",90),zt(V6t,"COL_SCORE_X",20),zt(V6t,"COL_MEDAL_X",135),zt(V6t,"COL_GEM_X",230),zt(V6t,"COL_HONOR_X",330),zt(V6t,"COL_GUILD_X",430),zt(V6t,"ICON_SIZE",22),zt(V6t,"LABEL_GAP",6);
+ let K6t=V6t;
+ const z6t=class t extends CB{
+ constructor(){
+ super(),zt(this,"tapDesc"),zt(this,"tapReward"),zt(this,"battleContainer"),zt(this,"lblHdrRound"),zt(this,"lblHdrWinLose"),zt(this,"lblHdrGem"),zt(this,"lblHdrHonor"),zt(this,"lblHdrGuild"),zt(this,"rewardBattleList"),zt(this,"serverContainer"),zt(this,"lblHdrRoundServer"),zt(this,"lblHdrMedalServer"),zt(this,"lblHdrGemServer"),zt(this,"lblHdrHonorServer"),zt(this,"lblHdrGuildServer"),zt(this,"rewardServerList"),this.height=t.POPUP_HEIGHT,this.tapDesc=new q3(CG.getText("GWT_9","라운드별 전투 보상"),260),this.tapDesc.x=28,this.tapDesc.y=t.TAB_Y,this.tapDesc.selected=!0,this.tapDesc.onClick=this.onDescTap.bind(this),this.contentContainer.addChild(this.tapDesc),this.tapReward=new q3(CG.getText("GWT_11","서버 보상"),260),this.tapReward.x=this.tapDesc.x+this.tapDesc.width+4,this.tapReward.y=this.tapDesc.y,this.tapReward.onClick=this.onRewardTap.bind(this),this.contentContainer.addChild(this.tapReward),this.battleContainer=new Be,this.contentContainer.addChild(this.battleContainer);
+ const i=lD.DEFAULT_OUTLINE_FONT_OPTION_16;
+ this.lblHdrRound=new QD("",8947848,i),this.lblHdrWinLose=new QD("",8947848,i),this.lblHdrGem=new QD("",8947848,i),this.lblHdrHonor=new QD("",8947848,i),this.lblHdrGuild=new QD("",8947848,i),this.battleContainer.addChild(this.lblHdrRound),this.battleContainer.addChild(this.lblHdrWinLose),this.battleContainer.addChild(this.lblHdrGem),this.battleContainer.addChild(this.lblHdrHonor),this.battleContainer.addChild(this.lblHdrGuild),this.rewardBattleList=new zI($6t,$6t.ITEM_WIDTH,t.LIST_HEIGHT,2),this.rewardBattleList.x=t.REWARD_LIST_X,this.battleContainer.addChild(this.rewardBattleList),this.serverContainer=new Be,this.serverContainer.visible=!1,this.contentContainer.addChild(this.serverContainer),this.lblHdrRoundServer=new QD("",8947848,i),this.lblHdrMedalServer=new QD("",8947848,i),this.lblHdrGemServer=new QD("",8947848,i),this.lblHdrHonorServer=new QD("",8947848,i),this.lblHdrGuildServer=new QD("",8947848,i),this.lblHdrMedalServer.align="center",this.serverContainer.addChild(this.lblHdrRoundServer),this.serverContainer.addChild(this.lblHdrMedalServer),this.serverContainer.addChild(this.lblHdrGemServer),this.serverContainer.addChild(this.lblHdrHonorServer),this.serverContainer.addChild(this.lblHdrGuildServer),this.rewardServerList=new zI(K6t,K6t.ITEM_WIDTH,t.LIST_HEIGHT,2),this.rewardServerList.x=t.REWARD_LIST_X,this.serverContainer.addChild(this.rewardServerList),this.outSideClickHide=!0}
+ static getInstance(){
+ return this._instance||(this._instance=new t),this._instance}
+ async showGuide(){
+ const t=SD.getTournamentSchedule();
+ if(null==t)return;
+ let i=CG.getText("GWT_1","서버 대항전"),s=1==t.split?"Mid":"Final";
+ i+=` (Season ${
+ t.season}
+  - ${
+ s}
+ )`,this.title=i,this.tapDesc.text=CG.getText("GWT_9","라운드별 전투 보상"),this.tapReward.text=CG.getText("GWT_11","서버 보상"),this.refreshRewardHeaders(),this.rewardBattleList.dataProvider=SD.rewardBattleList.sort((t,i)=>i.kindNum-t.kindNum),this.rewardBattleList.scrollTo(0),this.rewardServerList.dataProvider=SD.rewardServerList,this.rewardServerList.scrollTo(0),this.tapDesc.selected=!0,this.tapReward.selected=!1,this.battleContainer.visible=!0,this.serverContainer.visible=!1,await this.loadImage(),super.show()}
+ refreshRewardHeaders(){
+ this.lblHdrRound.text=CG.getText("GWT_10","라운드"),this.lblHdrWinLose.text=CG.getText("GAME_116","승패"),this.lblHdrGem.text=CG.getText("COMMON_350","보석"),this.lblHdrHonor.text=CG.getText("GAME_88","명예코인"),this.lblHdrGuild.text=CG.getText("GAME_812","길드코인"),this.lblHdrRoundServer.text=CG.getText("GAME_116","승패");
+ const i=Math.floor(SD.rewardServerList[0].medalBuffTime/60/24);
+ this.lblHdrMedalServer.text=CG.getText("CASTLE_SPECIAL_NAME_6","훈장버프")+`\n(${
+ i}
+  Days)`,this.lblHdrGemServer.text=CG.getText("COMMON_350","보석"),this.lblHdrHonorServer.text=CG.getText("GAME_88","명예코인"),this.lblHdrGuildServer.text=CG.getText("GAME_812","길드코인");
+ const s=t.REWARD_LIST_X,e=t.CONTENT_Y;
+ this.lblHdrRound.x=s+.5*(120-this.lblHdrRound.width),this.lblHdrWinLose.x=s+$6t.winLoseX,this.lblHdrGem.x=s+$6t.gemX+10,this.lblHdrHonor.x=s+$6t.honorX,this.lblHdrGuild.x=s+$6t.guildX,this.lblHdrRound.y=e,this.lblHdrWinLose.y=e,this.lblHdrGem.y=e,this.lblHdrHonor.y=e,this.lblHdrGuild.y=e,this.lblHdrRoundServer.x=s+.5*(120-this.lblHdrRound.width),this.lblHdrMedalServer.x=s+K6t.medalX,this.lblHdrGemServer.x=s+K6t.gemX+10,this.lblHdrHonorServer.x=s+K6t.honorX,this.lblHdrGuildServer.x=s+K6t.guildX,this.lblHdrRoundServer.y=e,this.lblHdrMedalServer.y=e-.5*this.lblHdrGemServer.height,this.lblHdrGemServer.y=e,this.lblHdrHonorServer.y=e,this.lblHdrGuildServer.y=e,this.rewardBattleList.y=e+this.lblHdrRound.height+12,this.rewardServerList.y=this.lblHdrMedalServer.y+this.lblHdrMedalServer.height+12}
+ onDescTap(){
+ this.tapDesc.selected=!0,this.tapReward.selected=!1,this.battleContainer.visible=!0,this.serverContainer.visible=!1}
+ onRewardTap(){
+ this.tapDesc.selected=!1,this.tapReward.selected=!0,this.battleContainer.visible=!1,this.serverContainer.visible=!0}
+ getDefaultPositionY(){
+ return.5*KA.stageHeight}
+ onBackButton(){
+ return this.hide(),!0}
+ }
+ ;
+ Kt(z6t,"GuildWarTournamentRewardGuidePopup"),zt(z6t,"_instance"),zt(z6t,"POPUP_HEIGHT",720),zt(z6t,"TAB_Y",80),zt(z6t,"CONTENT_Y",145),zt(z6t,"LIST_HEIGHT",520),zt(z6t,"REWARD_LIST_X",30);
+ let q6t=z6t;
+ const X6t=class t extends C5{
+ constructor(){
+ super(),zt(this,"btnGuide"),zt(this,"topBg"),zt(this,"lblRound",new QD("진행중 라운드",lD.DEFAULT_COLOR)),zt(this,"lblRoundCurrent",new QD("16강",lD.COLOR_BRIGHT_ORANGE)),zt(this,"lblRemain",new QD("남은 시간",lD.DEFAULT_COLOR)),zt(this,"lblRemainTime",new QD("00:00:00",lD.COLOR_BRIGHT_GREEN)),zt(this,"btnReward",new vB("UI_Guild","Btn_TreasureBox_Information",.9)),zt(this,"btnRound16",new q3(CG.getText("GWT_3","16강"),105)),zt(this,"btnRound8",new q3(CG.getText("GWT_4","8강"),105)),zt(this,"btnRound4",new q3(CG.getText("GWT_5","4강"),105)),zt(this,"btnRound2",new q3(CG.getText("GWT_7","결승전"),105)),zt(this,"tabs"),zt(this,"activeIndex",0),zt(this,"lblRound16",new QD(CG.getText("GWT_3","16강"),lD.DEFAULT_COLOR)),zt(this,"lblRound8",new QD(CG.getText("GWT_4","8강"),lD.DEFAULT_COLOR)),zt(this,"lblRound4",new QD(CG.getText("GWT_5","4강"),lD.DEFAULT_COLOR)),zt(this,"lblRound2",new QD(CG.getText("GWT_7","결승전"),lD.DEFAULT_COLOR)),zt(this,"lblRound3",new QD(CG.getText("GWT_6","3/4위전"),lD.DEFAULT_COLOR)),zt(this,"viewport",new Be),zt(this,"content",new Be),zt(this,"maskDrag",new Gf),zt(this,"container16",new Be),zt(this,"container8",new Be),zt(this,"container4",new Be),zt(this,"container2",new Be),zt(this,"container1",new Be),zt(this,"containers",[this.container16,this.container8,this.container4,this.container2,this.container1]),zt(this,"team16s",[]),zt(this,"team8s",[]),zt(this,"team4s",[]),zt(this,"team3s",[]),zt(this,"team2s",[]),zt(this,"team1",new W6t),zt(this,"team3",new W6t),zt(this,"dragging",!1),zt(this,"lastX",0),zt(this,"viewportWidth",640),zt(this,"lastScrollX",0),zt(this,"endTime",0),zt(this,"count",0),this.height=KA.safeHeight-S0t.getInstance().height-.3*c9t.getInstance().height,this.initialize(),this.on("added",this.onAdded,this),this.on("removed",this.onRemoved,this)}
+ static getInstance(){
+ return null==this.instance&&(this.instance=new t),this.instance}
+ initialize(){
+ this.outSideClickHide=!0,this.setTitle(CG.getText("GWT_1","서버 대항전")),this.btnGuide=new vB("UI_Ekkorr","UI_Alarm"),this.btnGuide.x=40,this.btnGuide.y=this.txtTitle.y+.5*(this.txtTitle.height-this.btnGuide.height)+2,this.addChild(this.btnGuide),this.btnGuide.on("pointertap",()=>{
+ B6t.getInstance().showGuide()}
+ ),this.topBg=new We(ZA.getTexture("UI","Popup_Bg_01")),this.topBg.width=535,this.topBg.x=20,this.topBg.y=70,this.addChild(this.topBg),this.lblRound.align="center",this.lblRound.x=this.topBg.x+.5*(.33*this.topBg.width-this.lblRound.width),this.lblRound.y=this.topBg.y+.5*(this.topBg.height-this.lblRound.height),this.addChild(this.lblRound),this.lblRoundCurrent.y=this.lblRound.y,this.lblRoundCurrent.textColor=lD.COLOR_BRIGHT_ORANGE,this.addChild(this.lblRoundCurrent),this.lblRemain.align="center",this.lblRemain.x=320+.5*(.5*this.topBg.width-this.lblRemain.width),this.lblRemain.y=this.topBg.y+.5*(this.topBg.height-this.lblRemain.height),this.addChild(this.lblRemain),this.lblRemainTime.y=this.lblRemain.y,this.lblRemainTime.textColor=lD.COLOR_BRIGHT_GREEN,this.addChild(this.lblRemainTime),this.btnReward.x=this.topBg.x+this.topBg.width+2,this.btnReward.y=this.topBg.y+.5*(this.topBg.height-this.btnReward.height)+2,this.addChild(this.btnReward),this.btnReward.on("pointerup",this.onRewardBtn,this),this.tabs=[this.btnRound16,this.btnRound8,this.btnRound4,this.btnRound2];
+ for(let i=0;
+ i<this.tabs.length;
+ i++){
+ const t=this.tabs[i];
+ this.addChild(t);
+ const s=i;
+ t.onClick=()=>this.switchTab(s)}
+ this.layoutTabs(),this.addChild(this.viewport),this.viewport.addChild(this.content);
+ const t=(new W6t).width;
+ this.container16.x=0,this.container8.x=t,this.container4.x=2*t,this.container2.x=3*t,this.container1.x=4*t,this.content.addChild(this.container16),this.content.addChild(this.container8),this.content.addChild(this.container4),this.content.addChild(this.container2),this.content.addChild(this.container1),this.maskDrag.rect(20,0,this.width-40,this.height).fill(16777215),this.viewport.addChild(this.maskDrag),this.viewport.mask=this.maskDrag,this.drawTournament(),this.setViewportEvent()}
+ async onRewardBtn(){
+ await SD.loadRewardBook(),0!=SD.rewardBattleList.length&&q6t.getInstance().showGuide()}
+ drawTournament(){
+ const t=(new W6t).width-W6t.LINE_W,i=20;
+ this.lblRound16.x=i+.5*(t-this.lblRound16.width),this.lblRound16.y=this.tabs[0].y+this.tabs[0].height+15,this.container16.addChild(this.lblRound16);
+ const s=this.lblRound16.y+this.lblRound16.height+5;
+ for(let e=0;
+ e<16;
+ e++){
+ const t=new W6t;
+ t.x=i,t.y=s+(t.height+5)*e,t.hideLine("left"),this.container16.addChild(t),this.team16s.push(t)}
+ this.lblRound8.x=i+.5*(t-this.lblRound8.width),this.lblRound8.y=this.lblRound16.y,this.container8.addChild(this.lblRound8);
+ for(let e=0;
+ e<8;
+ e++){
+ const t=new W6t;
+ t.x=i,t.y=.5*(this.team16s[2*e].y+this.team16s[2*e+1].y),this.container8.addChild(t),this.team8s.push(t)}
+ this.lblRound4.x=i+.5*(t-this.lblRound4.width),this.lblRound4.y=this.lblRound16.y,this.container4.addChild(this.lblRound4);
+ for(let e=0;
+ e<4;
+ e++){
+ const t=new W6t;
+ t.x=i,t.y=.5*(this.team8s[2*e].y+this.team8s[2*e+1].y),this.container4.addChild(t),this.team4s.push(t)}
+ for(let e=0;
+ e<2;
+ e++){
+ const t=new W6t;
+ t.x=i,0==e&&(t.y=.5*(this.team4s[2*e].y+this.team4s[2*e+1].y)),1==e&&(t.y=this.team4s[1].y),this.container2.addChild(t),this.team2s.push(t)}
+ this.team1.x=i,this.team1.y=.5*(this.team2s[0].y+this.team2s[1].y),this.team1.hideLine("right"),this.container1.addChild(this.team1);
+ for(let e=0;
+ e<2;
+ e++){
+ const t=new W6t;
+ t.x=i,0==e&&(t.y=this.team4s[2].y),1==e&&(t.y=.5*(this.team4s[2].y+this.team4s[3].y)),this.container2.addChild(t),this.team3s.push(t)}
+ this.team3.x=i,this.team3.y=.5*(this.team3s[0].y+this.team3s[1].y),this.team3.hideLine("right"),this.container1.addChild(this.team3),this.lblRound2.x=i+.5*(t-this.lblRound2.width),this.lblRound2.y=this.team2s[0].y-this.lblRound2.height-10,this.container2.addChild(this.lblRound2),this.lblRound3.x=i+.5*(t-this.lblRound3.width),this.lblRound3.y=this.team3s[0].y-this.lblRound2.height-10,this.container2.addChild(this.lblRound3);
+ for(let e=0;
+ e<2;
+ e++){
+ const t=this.team1,i=this.team2s[e];
+ i.drawlineRight(t.y-i.y)}
+ for(let e=0;
+ e<2;
+ e++){
+ const t=this.team3,i=this.team3s[e];
+ i.drawlineRight(t.y-i.y)}
+ for(let e=0;
+ e<4;
+ e++){
+ const t=this.team2s[Math.floor(e/2)],i=this.team4s[e];
+ i.drawlineRight(t.y-i.y)}
+ for(let e=0;
+ e<8;
+ e++){
+ const t=this.team4s[Math.floor(e/2)],i=this.team8s[e];
+ i.drawlineRight(t.y-i.y)}
+ for(let e=0;
+ e<16;
+ e++){
+ const t=this.team8s[Math.floor(e/2)],i=this.team16s[e];
+ i.drawlineRight(t.y-i.y)}
+ }
+ setViewportEvent(){
+ const t=this.tabs[0].y+this.tabs[0].height;
+ this.viewport.hitArea=new Pi(0,t,this.width,this.height-t),this.viewport.eventMode="static",this.viewport.on("pointerdown",t=>{
+ this.dragging=!0,this.lastX=t.global.x}
+ ),this.viewport.on("pointermove",t=>{
+ if(!this.dragging)return;
+ const i=t.global.x-this.lastX;
+ this.lastX=t.global.x,this.viewportWidth=this.width;
+ const s=Math.min(0,this.viewportWidth-this.content.width-70);
+ this.content.x+=i,this.content.x=Math.max(s,Math.min(0,this.content.x)),this.updateTabByScroll()}
+ ),this.viewport.on("pointerup",()=>{
+ this.dragging=!1,this.snapToNearestTab()}
+ ),this.viewport.on("pointerupoutside",()=>{
+ this.dragging=!1,this.snapToNearestTab()}
+ )}
+ snapToNearestTab(){
+ const t=-this.content.x;
+ let i=0,s=1/0;
+ for(let e=0;
+ e<this.containers.length;
+ e++){
+ const n=Math.abs(t-this.containers[e].x);
+ n<s&&(s=n,i=e)}
+ this.activeIndex=i,this.tabs.forEach((t,s)=>{
+ t.selected=s===i}
+ ),HI.killTweensOf(this.content),HI.to(this.content,{
+ x:-this.containers[i].x,duration:.25,ease:"power2.out"}
+ )}
+ scrollToItem(t){
+ const i=Math.min(0,this.viewportWidth-this.content.width-70);
+ let s=-t.x;
+ s=Math.max(i,Math.min(0,s)),HI.to(this.content,{
+ x:s,duration:.3,ease:"power2.out",onUpdate:Kt(()=>{
+ this.updateTabByScroll()}
+ ,"onUpdate")}
+ )}
+ updateTabByScroll(){
+ const t=-this.content.x;
+ if(t>this.lastScrollX){
+ const i=this.activeIndex;
+ if(i<this.containers.length-1){
+ const s=this.containers[i].x;
+ t>=s+.2*(this.containers[i+1].x-s)&&this.setActiveTab(i+1)}
+ }
+ else if(t<this.lastScrollX){
+ const i=this.activeIndex;
+ i>0&&t<=this.containers[i-1].x&&this.setActiveTab(i-1)}
+ this.lastScrollX=t}
+ setActiveTab(t){
+ this.activeIndex!==t&&(this.activeIndex=t,this.tabs.forEach((i,s)=>{
+ i.selected=s===t}
+ ))}
+ layoutTabs(){
+ const t=this.width,i=this.topBg.y+this.topBg.height+5;
+ let s=this.tabs.length>0?(t-46-2)/this.tabs.length:200;
+ for(const n of this.tabs)n.fitWithinWidth(s,50);
+ let e=23;
+ for(let n=0;
+ n<this.tabs.length;
+ n++){
+ const t=this.tabs[n];
+ e=23+(s+2)*n-2,t.x=e,t.y=i}
+ }
+ switchTab(t){
+ this.activeIndex=t;
+ for(let i=0;
+ i<this.tabs.length;
+ i++)this.tabs[i].selected=i===t;
+ switch(t){
+ case 0:this.scrollToItem(this.container16);
+ break;
+ case 1:this.scrollToItem(this.container8);
+ break;
+ case 2:this.scrollToItem(this.container4);
+ break;
+ case 3:this.scrollToItem(this.container2)}
+ this.updateLayout()}
+ async setData(){
+ await SD.loadRewardBook();
+ const t=SD.getTournamentSchedule();
+ if(null==t)return;
+ let i=CG.getText("GWT_1","서버 대항전"),s=1==t.split?"Mid":"Final";
+ i+=` (Season ${
+ t.season}
+  - ${
+ s}
+ )`,this.setTitle(i),this.txtTitle.x=this.topBg.x+.5*(this.topBg.width-this.txtTitle.width);
+ const e=await oD.getInstance().guildWar.getTournamentInfo(!0);
+ if(e&&!1===e.success&&"INVALID_GUILDWAR_TOURNAMENT_TIME"===e.error){
+ this.hide();
+ let t=CG.getText("COMMON_83","잠시 후에 이용해 주세요.");
+ return void vG.getInstance().show(t)}
+ SD.roundSchedule=null==e?void 0:e.body.schedule,SD.tournamentList=null==e?void 0:e.body.tournaments;
+ let n,h=CG.getText("GWT_3","16강");
+ SD.roundSchedule&&(this.endTime=new Date(SD.roundSchedule.endAt).getTime(),2==SD.roundSchedule.round?h=CG.getText("GWT_4","8강"):3==SD.roundSchedule.round?h=CG.getText("GWT_5","4강"):4==SD.roundSchedule.round&&(h=CG.getText("GWT_7","결승전"))),this.lblRoundCurrent.text=`${
+ h}
+ `,this.lblRound.text="⚔️ "+CG.getText("GWT_2","진행중 라운드")+" : ",this.lblRound.y=this.topBg.y+.5*(this.topBg.height-this.lblRound.height),this.lblRoundCurrent.y=this.topBg.y+.5*(this.topBg.height-this.lblRoundCurrent.height),this.lblRound.x=this.topBg.x+.5*(.5*this.topBg.width-(this.lblRound.width+this.lblRoundCurrent.width)),this.lblRoundCurrent.x=this.lblRound.x+this.lblRound.width,this.lblRemain.text="⏰ "+CG.getText("COMMON_29","남은 시간")+" : ",this.onEnterUpdate(),this.lblRemain.y=this.topBg.y+.5*(this.topBg.height-this.lblRemain.height),this.lblRemainTime.y=this.topBg.y+.5*(this.topBg.height-this.lblRemainTime.height),this.lblRemain.x=this.topBg.x+.5*this.topBg.width+.5*(.5*this.topBg.width-(this.lblRemain.width+this.lblRemainTime.width)),this.lblRemainTime.x=this.lblRemain.x+this.lblRemain.width;
+ let r=SD.tournamentList.length;
+ const o=[],a=[],c=[],l=[];
+ for(let u=0;
+ u<r;
+ u++)n=SD.tournamentList[u],1==n.round?o.push(n):2==n.round?a.push(n):3==n.round?c.push(n):l.push(n);
+ for(let u=0;
+ u<8;
+ u++)n=o[u],n?(this.team16s[2*u].setData(n,"A"),this.team16s[2*u+1].setData(n,"B")):(this.team16s[2*u].setData(null),this.team16s[2*u+1].setData(null));
+ for(let u=0;
+ u<4;
+ u++)n=a[u],n?(this.team8s[2*u].setData(n,"A"),this.team8s[2*u+1].setData(n,"B")):(this.team8s[2*u].setData(null),this.team8s[2*u+1].setData(null));
+ for(let u=0;
+ u<2;
+ u++)if(n=c[u],n?(this.team4s[2*u].setData(n,"A"),this.team4s[2*u+1].setData(n,"B")):(this.team4s[2*u].setData(null),this.team4s[2*u+1].setData(null)),SD.roundSchedule&&SD.roundSchedule.round>=3&&"ENDED"==SD.roundSchedule.status&&n&&n.winner)if(n.winner!=n.guildA.id){
+ const t=this.team3s[u],i=this.team4s[2*u];
+ i.drawlineRight(t.y-i.y)}
+ else{
+ const t=this.team3s[u],i=this.team4s[2*u+1];
+ i.drawlineRight(t.y-i.y)}
+ for(let u=0;
+ u<2;
+ u++)if(n=l[u],0==u?(n?(this.team2s[2*u].setData(n,"A"),this.team2s[2*u+1].setData(n,"B")):(this.team2s[2*u].setData(null),this.team2s[2*u+1].setData(null)),this.team1.setData(null)):1==u&&(n?(this.team3s[2*(u-1)].setData(n,"A"),this.team3s[2*(u-1)+1].setData(n,"B")):(this.team3s[2*(u-1)].setData(null),this.team3s[2*(u-1)+1].setData(null)),this.team3.setData(null)),SD.roundSchedule&&4==SD.roundSchedule.round&&"ENDED"==SD.roundSchedule.status&&n&&n.winner){
+ const t={
+ ...n}
+ ;
+ t.warId=-1,n.winner==n.guildA.id?0==u?this.team1.setData(t,"A"):this.team3.setData(t,"A"):0==u?this.team1.setData(t,"B"):this.team3.setData(t,"B")}
+ this.activeIndex=SD.roundSchedule?SD.roundSchedule.round-1:0,this.switchTab(this.activeIndex),this.updateLayout()}
+ updateLayout(){
+ }
+ onAdded(){
+ GM.getInstance().add(this.onEnter,this)}
+ onRemoved(){
+ GM.getInstance().remove(this.onEnter,this)}
+ showBattlePopup(t,i){
+ const s="A"==i?t.guildA:t.guildB,e="A"==i?t.guildB:t.guildA,n=null==t.winner;
+ let h=!1;
+ h=s.score==e.score?s.id==t.winner:s.score>e.score,Jt(async()=>{
+ const{
+ GuildWarBattlePopupV3:t}
+ =await Promise.resolve().then(()=>mei);
+ return{
+ GuildWarBattlePopupV3:t}
+ }
+ ,void 0).then(({
+ GuildWarBattlePopupV3:i}
+ )=>{
+ i.getInstance().onHideHandler=this.onBattleHide.bind(this),i.getInstance().openReadonlyTournament({
+ warId:t.warId,oppGuildId:e.id,oppName:e.name,myScore:s.score,oppScore:e.score,endAtMs:0,result:n?"TBD":h?"WIN":"LOSE"}
+ ),this.hide()}
+ )}
+ onBattleHide(){
+ this.show()}
+ onEnter(){
+ ++this.count>60&&(this.count=0,this.onEnterUpdate())}
+ onEnterUpdate(){
+ if(!SD.roundSchedule)return void(this.lblRemainTime.text=CG.getText("COMMON_28","대기중"));
+ const t=.001*(this.endTime-ox.time);
+ this.lblRemainTime.textColor=t<3600?lD.COLOR_RED:lD.COLOR_BRIGHT_GREEN,this.lblRemainTime.text=t>0?`${
+ fU.displayTimeAsTwoOfDDHHMMSS(t)}
+ `:CG.getText("GAME_1228","종료")}
+ }
+ ;
+ Kt(X6t,"GuildWarTournament2Popup"),zt(X6t,"instance",null);
+ let Y6t=X6t;
+ const J6t=class t extends $4{
BookManager 2 hunks, 369 statements
- const dL=class{
+ var _D=(t=>(t.CASTLE="CASTLE",t.CASTLE_SPECIAL="CASTLE_SPECIAL",t.UNIT="UNIT",t.QUEST="QUEST",t.TREASURE="TREASURE",t.SCENARIO="SCENARIO",t.SCENARIO_PATTERN="SCENARIO_PATTERN",t.HERO_MEDAL_ENHANCE_TIER="HERO_MEDAL_ENHANCE_TIER",t.HERO_MEDAL_ENHANCE_SEGMENT="HERO_MEDAL_ENHANCE_SEGMENT",t.HERO_UPGRADE_TIER="HERO_UPGRADE_TIER",t.HERO_REBIRTH_MEDAL_TIER="HERO_REBIRTH_MEDAL_TIER",t.HERO_GOLD_SKILL="HERO_GOLD_SKILL",t.HERO_UNIQUE_SKILL="HERO_UNIQUE_SKILL",t.DUNGEON="DUNGEON",t.TREASURE_VALUE="TREASURE_VALUE",t.TREASURE_SET="TREASURE_SET",t.ACHIEVEMENT="ACHIEVEMENT",t.PVP_RANK_REWARD="PVP_RANK_REWARD",t.PASS_REWARD="PASS_REWARD",t.TIP="TIP",t.DIALOGUE="DIALOGUE",t.TOWER_BATTLE_POOL="TOWER_BATTLE_POOL",t.TOWER_SEASON_SET="TOWER_SEASON_SET",t.TOWER_REWARD="TOWER_REWARD",t.MISSION_GUIDE="MISSION_GUIDE",t.MISSION_GUIDE_STEP="MISSION_GUIDE_STEP",t.GUILD_LEVEL="GUILD_LEVEL",t.PET="PET",t.PET_SKILL="PET_SKILL",t.SPIRIT_LAND="SPIRIT_LAND",t.GUILD_BARRACK="GUILD_BARRACK",t.SELECT_TICKET="SELECT_TICKET",t.PRODUCT="PRODUCT",t.GUILD_WAR_CONFIG="GUILD_WAR_CONFIG",t.GUILD_RAID="GUILD_RAID",t.TREASURE_LIMIT_BREAK="TREASURE_LIMIT_BREAK",t.MINE_LEVEL="MINE_LEVEL",t.MINE_CHEST_REWARD="MINE_CHEST_REWARD",t.GUILD_WAR_TOURNAMENT_REWARD="GUILD_WAR_TOURNAMENT_REWARD",t))(_D||{
+ }
+ );
+ const MD=class t{
+ constructor(){
+ zt(this,"BOOK_CONFIGS",{
+ CASTLE:{
+ name:"CASTLE",priority:0,dependencies:[]}
+ ,CASTLE_SPECIAL:{
+ name:"CASTLE_SPECIAL",priority:0,dependencies:[]}
+ ,UNIT:{
+ name:"UNIT",priority:0,dependencies:[]}
+ ,QUEST:{
+ name:"QUEST",priority:0,dependencies:[]}
+ ,TREASURE:{
+ name:"TREASURE",priority:0,dependencies:[]}
+ ,SCENARIO:{
+ name:"SCENARIO",priority:0,dependencies:[]}
+ ,SCENARIO_PATTERN:{
+ name:"SCENARIO_PATTERN",priority:0,dependencies:[]}
+ ,HERO_MEDAL_ENHANCE_TIER:{
+ name:"HERO_MEDAL_ENHANCE_TIER",priority:0,dependencies:[]}
+ ,HERO_UPGRADE_TIER:{
+ name:"HERO_UPGRADE_TIER",priority:0,dependencies:[]}
+ ,HERO_REBIRTH_MEDAL_TIER:{
+ name:"HERO_REBIRTH_MEDAL_TIER",priority:0,dependencies:[]}
+ ,HERO_GOLD_SKILL:{
+ name:"HERO_GOLD_SKILL",priority:1,dependencies:[]}
+ ,HERO_UNIQUE_SKILL:{
+ name:"HERO_UNIQUE_SKILL",priority:1,dependencies:[]}
+ ,DUNGEON:{
+ name:"DUNGEON",priority:1,dependencies:[]}
+ ,TREASURE_VALUE:{
+ name:"TREASURE_VALUE",priority:0,dependencies:[]}
+ ,TREASURE_SET:{
+ name:"TREASURE_SET",priority:0,dependencies:[]}
+ ,ACHIEVEMENT:{
+ name:"ACHIEVEMENT",priority:1,dependencies:[]}
+ ,PVP_RANK_REWARD:{
+ name:"PVP_RANK_REWARD",priority:1,dependencies:[]}
+ ,PASS_REWARD:{
+ name:"PASS_REWARD",priority:2,dependencies:[]}
+ ,TIP:{
+ name:"TIP",priority:2,dependencies:[]}
+ ,DIALOGUE:{
+ name:"DIALOGUE",priority:0,dependencies:[]}
+ ,TOWER_BATTLE_POOL:{
+ name:"TOWER_BATTLE_POOL",priority:2,dependencies:[]}
+ ,TOWER_SEASON_SET:{
+ name:"TOWER_SEASON_SET",priority:2,dependencies:[]}
+ ,TOWER_REWARD:{
+ name:"TOWER_REWARD",priority:2,dependencies:[]}
+ ,MISSION_GUIDE:{
+ name:"MISSION_GUIDE",priority:0,dependencies:[]}
+ ,MISSION_GUIDE_STEP:{
+ name:"MISSION_GUIDE_STEP",priority:0,dependencies:[]}
+ ,GUILD_LEVEL:{
+ name:"GUILD_LEVEL",priority:2,dependencies:[]}
+ ,PET:{
+ name:"PET",priority:0,dependencies:[]}
+ ,PET_SKILL:{
+ name:"PET_SKILL",priority:0,dependencies:[]}
+ ,SPIRIT_LAND:{
+ name:"SPIRIT_LAND",priority:2,dependencies:[]}
+ ,GUILD_BARRACK:{
+ name:"GUILD_BARRACK",priority:2,dependencies:[]}
+ ,SELECT_TICKET:{
+ name:"SELECT_TICKET",priority:1,dependencies:[]}
+ ,PRODUCT:{
+ name:"PRODUCT",priority:1,dependencies:[]}
+ ,GUILD_WAR_CONFIG:{
+ name:"GUILD_WAR_CONFIG",priority:2,dependencies:[]}
+ ,GUILD_RAID:{
+ name:"GUILD_RAID",priority:2,dependencies:[]}
+ ,TREASURE_LIMIT_BREAK:{
+ name:"TREASURE_LIMIT_BREAK",priority:2,dependencies:[]}
+ ,MINE_LEVEL:{
+ name:"MINE_LEVEL",priority:2,dependencies:[]}
+ ,MINE_CHEST_REWARD:{
+ name:"MINE_CHEST_REWARD",priority:2,dependencies:[]}
+ ,GUILD_WAR_TOURNAMENT_REWARD:{
+ name:"GUILD_WAR_TOURNAMENT_REWARD",priority:2,dependencies:[]}
+ }
+ ),zt(this,"bookCache",new Map),zt(this,"loadedBooks",new Set),zt(this,"loadingPromises",new Map),zt(this,"serverVersions",[]),zt(this,"localVersions",[]),zt(this,"serverVersionsFetched",!1)}
+ static getInstance(){
+ return t.instance||(t.instance=new t),t.instance}
+ async loadBooksByPriority(t=0){
+ const i=Object.values(this.BOOK_CONFIGS).filter(i=>i.priority<=t).sort((t,i)=>t.priority-i.priority),s=this.groupByDependencyLevel(i);
+ for(const e of s)await Promise.all(e.map(t=>this.loadBook(t)))}
+ async loadBook(t){
+ if(this.loadingPromises.has(t))return this.loadingPromises.get(t);
+ if(this.loadedBooks.has(t))return this.bookCache.get(t);
+ const i=this.BOOK_CONFIGS[t];
+ i&&i.dependencies.length>0&&await Promise.all(i.dependencies.map(t=>this.loadBook(t)));
+ const s=this.fetchAndCacheBook(t);
+ this.loadingPromises.set(t,s);
+ try{
+ const i=await s;
+ return this.loadedBooks.add(t),i}
+ finally{
+ this.loadingPromises.delete(t)}
+ }
+ getBook(t){
+ return this.bookCache.get(t)||null}
+ getAllBooks(){
+ return this.bookCache}
+ getLoadingProgress(){
+ const t=Object.keys(this.BOOK_CONFIGS).length,i=this.loadedBooks.size;
+ return{
+ loaded:i,total:t,percent:Math.round(i/t*100)}
+ }
+ async clearCache(){
+ this.bookCache.clear(),this.loadedBooks.clear(),this.serverVersionsFetched=!1,this.serverVersions=[],this.localVersions=[],await $A.clearAllBooks(Object.values(_D))}
+ getServerVersion(t){
+ var i;
+ const s=null==(i=this.serverVersions.find(i=>i.name===t))?void 0:i.version;
+ return void 0!==s?s:0}
+ getLocalVersion(t){
+ var i;
+ const s=null==(i=this.localVersions.find(i=>i.name===t))?void 0:i.version;
+ return void 0!==s?s:0}
+ updateCheck(t){
+ return this.getServerVersion(t)>this.getLocalVersion(t)}
+ isValidBookData(t){
+ return null!=t&&(!Array.isArray(t)||t.length>0)}
+ async fetchAndCacheBook(t){
+ const i=this.bookCache.get(t);
+ if(i)return i;
+ this.serverVersionsFetched||await this.fetchServerVersions();
+ const s=this.getServerVersion(t),e=this.getLocalVersion(t);
+ if(e>=s&&e>0){
+ const i=await $A.getBook(t);
+ if(this.isValidBookData(i))return this.bookCache.set(t,i),i}
+ const n=(await oD.getInstance().book.getBook(t)).body;
+ return this.isValidBookData(n)?(this.bookCache.set(t,n),await $A.saveBook(t,n),await $A.updateBookVersion(t,s),n):n}
+ async fetchAndCacheBooksInBatch(t){
+ if(0===t.length)return;
+ const i=(await oD.getInstance().book.getBatch(t)).body;
+ for(const s of i){
+ if(s.error)continue;
+ const t=s.bookName,i=s.data;
+ if(!this.isValidBookData(i))continue;
+ const e=this.getServerVersion(t);
+ this.bookCache.set(t,i),await $A.saveBook(t,i),await $A.updateBookVersion(t,e)}
+ }
+ async loadBooksByPriorityWithBatch(t=0){
+ const i=Object.values(this.BOOK_CONFIGS).filter(i=>i.priority<=t).map(t=>t.name);
+ this.serverVersionsFetched||await this.fetchServerVersions();
+ const s=[],e=[];
+ for(const n of i){
+ if(this.bookCache.has(n))continue;
+ const t=this.getServerVersion(n),i=this.getLocalVersion(n);
+ i>=t&&i>0?e.push(n):s.push(n)}
+ e.length>0&&await Promise.all(e.map(async t=>{
+ const i=await $A.getBook(t);
+ this.isValidBookData(i)?(this.bookCache.set(t,i),this.loadedBooks.add(t)):s.push(t)}
+ )),s.length>0&&(await this.fetchAndCacheBooksInBatch(s),s.forEach(t=>this.loadedBooks.add(t)))}
+ async fetchServerVersions(){
+ if(!this.serverVersionsFetched)try{
+ const t=await oD.getInstance().book.getVersionInfo();
+ if(this.serverVersions=t.body,this.localVersions=await $A.getAllBookVersions(),0===this.localVersions.length){
+ const t=Object.values(_D);
+ await $A.setDefaultBookVersions(t),this.localVersions=await $A.getAllBookVersions()}
+ this.serverVersionsFetched=!0}
+ catch(t){
+ throw t}
+ }
+ groupByDependencyLevel(t){
+ const i=[],s=new Set;
+ for(;
+ s.size<t.length;
+ ){
+ const e=[];
+ for(const i of t)s.has(i.name)||i.dependencies.every(t=>s.has(t))&&(e.push(i.name),s.add(i.name));
+ if(!(e.length>0))break;
+ i.push(e)}
+ return i}
+ async getBooksNeedingUpdate(){
+ this.serverVersionsFetched||await this.fetchServerVersions();
+ const t=[];
+ for(const i of Object.values(_D))this.getServerVersion(i)>this.getLocalVersion(i)&&t.push(i);
+ return t}
+ }
+ ;
+ Kt(MD,"BookManager"),zt(MD,"instance");
+ let ED=MD;
+ const AD=class t{
- var gG=(t=>(t.CASTLE="CASTLE",t.CASTLE_SPECIAL="CASTLE_SPECIAL",t.UNIT="UNIT",t.QUEST="QUEST",t.TREASURE="TREASURE",t.SCENARIO="SCENARIO",t.SCENARIO_PATTERN="SCENARIO_PATTERN",t.HERO_MEDAL_ENHANCE_TIER="HERO_MEDAL_ENHANCE_TIER",t.HERO_MEDAL_ENHANCE_SEGMENT="HERO_MEDAL_ENHANCE_SEGMENT",t.HERO_UPGRADE_TIER="HERO_UPGRADE_TIER",t.HERO_REBIRTH_MEDAL_TIER="HERO_REBIRTH_MEDAL_TIER",t.HERO_GOLD_SKILL="HERO_GOLD_SKILL",t.HERO_UNIQUE_SKILL="HERO_UNIQUE_SKILL",t.DUNGEON="DUNGEON",t.TREASURE_VALUE="TREASURE_VALUE",t.TREASURE_SET="TREASURE_SET",t.ACHIEVEMENT="ACHIEVEMENT",t.PVP_RANK_REWARD="PVP_RANK_REWARD",t.PASS_REWARD="PASS_REWARD",t.TIP="TIP",t.DIALOGUE="DIALOGUE",t.TOWER_BATTLE_POOL="TOWER_BATTLE_POOL",t.TOWER_SEASON_SET="TOWER_SEASON_SET",t.TOWER_REWARD="TOWER_REWARD",t.MISSION_GUIDE="MISSION_GUIDE",t.MISSION_GUIDE_STEP="MISSION_GUIDE_STEP",t.GUILD_LEVEL="GUILD_LEVEL",t.PET="PET",t.PET_SKILL="PET_SKILL",t.SPIRIT_LAND="SPIRIT_LAND",t.GUILD_BARRACK="GUILD_BARRACK",t.SELECT_TICKET="SELECT_TICKET",t.PRODUCT="PRODUCT",t.GUILD_WAR_CONFIG="GUILD_WAR_CONFIG",t.TREASURE_LIMIT_BREAK="TREASURE_LIMIT_BREAK",t.MINE_LEVEL="MINE_LEVEL",t.MINE_CHEST_REWARD="MINE_CHEST_REWARD",t))(gG||{
- }
- );
- const mG=class t{
- constructor(){
- zt(this,"BOOK_CONFIGS",{
- CASTLE:{
- name:"CASTLE",priority:0,dependencies:[]}
- ,CASTLE_SPECIAL:{
- name:"CASTLE_SPECIAL",priority:0,dependencies:[]}
- ,UNIT:{
- name:"UNIT",priority:0,dependencies:[]}
- ,QUEST:{
- name:"QUEST",priority:0,dependencies:[]}
- ,TREASURE:{
- name:"TREASURE",priority:0,dependencies:[]}
- ,SCENARIO:{
- name:"SCENARIO",priority:0,dependencies:[]}
- ,SCENARIO_PATTERN:{
- name:"SCENARIO_PATTERN",priority:0,dependencies:[]}
- ,HERO_MEDAL_ENHANCE_TIER:{
- name:"HERO_MEDAL_ENHANCE_TIER",priority:0,dependencies:[]}
- ,HERO_UPGRADE_TIER:{
- name:"HERO_UPGRADE_TIER",priority:0,dependencies:[]}
- ,HERO_REBIRTH_MEDAL_TIER:{
- name:"HERO_REBIRTH_MEDAL_TIER",priority:0,dependencies:[]}
- ,HERO_GOLD_SKILL:{
- name:"HERO_GOLD_SKILL",priority:1,dependencies:[]}
- ,HERO_UNIQUE_SKILL:{
- name:"HERO_UNIQUE_SKILL",priority:1,dependencies:[]}
- ,DUNGEON:{
- name:"DUNGEON",priority:1,dependencies:[]}
- ,TREASURE_VALUE:{
- name:"TREASURE_VALUE",priority:0,dependencies:[]}
- ,TREASURE_SET:{
- name:"TREASURE_SET",priority:0,dependencies:[]}
- ,ACHIEVEMENT:{
- name:"ACHIEVEMENT",priority:1,dependencies:[]}
- ,PVP_RANK_REWARD:{
- name:"PVP_RANK_REWARD",priority:1,dependencies:[]}
- ,PASS_REWARD:{
- name:"PASS_REWARD",priority:2,dependencies:[]}
- ,TIP:{
- name:"TIP",priority:2,dependencies:[]}
- ,DIALOGUE:{
- name:"DIALOGUE",priority:0,dependencies:[]}
- ,TOWER_BATTLE_POOL:{
- name:"TOWER_BATTLE_POOL",priority:2,dependencies:[]}
- ,TOWER_SEASON_SET:{
- name:"TOWER_SEASON_SET",priority:2,dependencies:[]}
- ,TOWER_REWARD:{
- name:"TOWER_REWARD",priority:2,dependencies:[]}
- ,MISSION_GUIDE:{
- name:"MISSION_GUIDE",priority:0,dependencies:[]}
- ,MISSION_GUIDE_STEP:{
- name:"MISSION_GUIDE_STEP",priority:0,dependencies:[]}
- ,GUILD_LEVEL:{
- name:"GUILD_LEVEL",priority:2,dependencies:[]}
- ,PET:{
- name:"PET",priority:0,dependencies:[]}
- ,PET_SKILL:{
- name:"PET_SKILL",priority:0,dependencies:[]}
- ,SPIRIT_LAND:{
- name:"SPIRIT_LAND",priority:2,dependencies:[]}
- ,GUILD_BARRACK:{
- name:"GUILD_BARRACK",priority:2,dependencies:[]}
- ,SELECT_TICKET:{
- name:"SELECT_TICKET",priority:1,dependencies:[]}
- ,PRODUCT:{
- name:"PRODUCT",priority:1,dependencies:[]}
- ,GUILD_WAR_CONFIG:{
- name:"GUILD_WAR_CONFIG",priority:2,dependencies:[]}
- ,TREASURE_LIMIT_BREAK:{
- name:"TREASURE_LIMIT_BREAK",priority:2,dependencies:[]}
- ,MINE_LEVEL:{
- name:"MINE_LEVEL",priority:2,dependencies:[]}
- ,MINE_CHEST_REWARD:{
- name:"MINE_CHEST_REWARD",priority:2,dependencies:[]}
- }
- ),zt(this,"bookCache",new Map),zt(this,"loadedBooks",new Set),zt(this,"loadingPromises",new Map),zt(this,"serverVersions",[]),zt(this,"localVersions",[]),zt(this,"serverVersionsFetched",!1)}
- static getInstance(){
- return t.instance||(t.instance=new t),t.instance}
- async loadBooksByPriority(t=0){
- const i=Object.values(this.BOOK_CONFIGS).filter(i=>i.priority<=t).sort((t,i)=>t.priority-i.priority),s=this.groupByDependencyLevel(i);
- for(const e of s)await Promise.all(e.map(t=>this.loadBook(t)))}
- async loadBook(t){
- if(this.loadingPromises.has(t))return this.loadingPromises.get(t);
- if(this.loadedBooks.has(t))return this.bookCache.get(t);
- const i=this.BOOK_CONFIGS[t];
- i&&i.dependencies.length>0&&await Promise.all(i.dependencies.map(t=>this.loadBook(t)));
- const s=this.fetchAndCacheBook(t);
- this.loadingPromises.set(t,s);
- try{
- const i=await s;
- return this.loadedBooks.add(t),i}
- finally{
- this.loadingPromises.delete(t)}
- }
- getBook(t){
- return this.bookCache.get(t)||null}
- getAllBooks(){
- return this.bookCache}
- getLoadingProgress(){
- const t=Object.keys(this.BOOK_CONFIGS).length,i=this.loadedBooks.size;
- return{
- loaded:i,total:t,percent:Math.round(i/t*100)}
- }
- async clearCache(){
- this.bookCache.clear(),this.loadedBooks.clear(),this.serverVersionsFetched=!1,this.serverVersions=[],this.localVersions=[],await $A.clearAllBooks(Object.values(gG))}
- getServerVersion(t){
- var i;
- const s=null==(i=this.serverVersions.find(i=>i.name===t))?void 0:i.version;
- return void 0!==s?s:0}
- getLocalVersion(t){
- var i;
- const s=null==(i=this.localVersions.find(i=>i.name===t))?void 0:i.version;
- return void 0!==s?s:0}
- updateCheck(t){
- return this.getServerVersion(t)>this.getLocalVersion(t)}
- isValidBookData(t){
- return null!=t&&(!Array.isArray(t)||t.length>0)}
- async fetchAndCacheBook(t){
- const i=this.bookCache.get(t);
- if(i)return i;
- this.serverVersionsFetched||await this.fetchServerVersions();
- const s=this.getServerVersion(t),e=this.getLocalVersion(t);
- if(e>=s&&e>0){
- const i=await $A.getBook(t);
- if(this.isValidBookData(i))return this.bookCache.set(t,i),i}
- const n=(await JR.getInstance().book.getBook(t)).body;
- return this.isValidBookData(n)?(this.bookCache.set(t,n),await $A.saveBook(t,n),await $A.updateBookVersion(t,s),n):n}
- async fetchAndCacheBooksInBatch(t){
- if(0===t.length)return;
- const i=(await JR.getInstance().book.getBatch(t)).body;
- for(const s of i){
- if(s.error)continue;
- const t=s.bookName,i=s.data;
- if(!this.isValidBookData(i))continue;
- const e=this.getServerVersion(t);
- this.bookCache.set(t,i),await $A.saveBook(t,i),await $A.updateBookVersion(t,e)}
- }
- async loadBooksByPriorityWithBatch(t=0){
- const i=Object.values(this.BOOK_CONFIGS).filter(i=>i.priority<=t).map(t=>t.name);
- this.serverVersionsFetched||await this.fetchServerVersions();
- const s=[],e=[];
- for(const n of i){
- if(this.bookCache.has(n))continue;
- const t=this.getServerVersion(n),i=this.getLocalVersion(n);
- i>=t&&i>0?e.push(n):s.push(n)}
- e.length>0&&await Promise.all(e.map(async t=>{
- const i=await $A.getBook(t);
- this.isValidBookData(i)?(this.bookCache.set(t,i),this.loadedBooks.add(t)):s.push(t)}
- )),s.length>0&&(await this.fetchAndCacheBooksInBatch(s),s.forEach(t=>this.loadedBooks.add(t)))}
- async fetchServerVersions(){
- if(!this.serverVersionsFetched)try{
- const t=await JR.getInstance().book.getVersionInfo();
- if(this.serverVersions=t.body,this.localVersions=await $A.getAllBookVersions(),0===this.localVersions.length){
- const t=Object.values(gG);
- await $A.setDefaultBookVersions(t),this.localVersions=await $A.getAllBookVersions()}
- this.serverVersionsFetched=!0}
- catch(t){
- throw t}
- }
- groupByDependencyLevel(t){
- const i=[],s=new Set;
- for(;
- s.size<t.length;
- ){
- const e=[];
- for(const i of t)s.has(i.name)||i.dependencies.every(t=>s.has(t))&&(e.push(i.name),s.add(i.name));
- if(!(e.length>0))break;
- i.push(e)}
- return i}
- async getBooksNeedingUpdate(){
- this.serverVersionsFetched||await this.fetchServerVersions();
- const t=[];
- for(const i of Object.values(gG))this.getServerVersion(i)>this.getLocalVersion(i)&&t.push(i);
- return t}
- }
- ;
- Kt(mG,"BookManager"),zt(mG,"instance");
- let wG=mG;
ProfilePopup 2 hunks, 291 statements
- const V7t={
- revive:"30 웨이브 이상에서 환생한 횟수입니다.",knightLevel:"최대 웨이브 100당 레벨이 1씩 올라갑니다. 최대 웨이브가 100이면 1레벨, 200이면 2레벨이 됩니다.",medalBuff:"기사단 레벨 1당 훈장버프가 3%씩 증가합니다.",questGold:"30 웨이브 이상에서 환생할때마다, 퀘스트 골드 획득이 50%씩 증가합니다. ( 최대 250% )",questTime:"30 웨이브 이상에서 환생할때마다, 퀘스트 시간이 20%씩 단축됩니다. ( 최대 100% )",questCost:"30 웨이브 이상에서 환생할때마다, 퀘스트 오픈비용이 20%씩 감소합니다. ( 최대 100% )"}
- ,K7t=class t extends QD{
- constructor(){
- super(),zt(this,"lblMessage"),zt(this,"lblTribeBuff"),zt(this,"rows",[]),zt(this,"helpBg",new Gf),zt(this,"lblHelp"),this.title=pG.getText("GAME_258","프로필"),this.width=580,this.outSideClickHide=!0,this.lblMessage=new FL("",16763904,tL.DEFAULT_FONT_OPTION_18),this.contentContainer.addChild(this.lblMessage),this.lblTribeBuff=new FL("",16763904,tL.DEFAULT_FONT_OPTION_17),this.lblTribeBuff.align="center",tL.setLabelWrapWidth(this.lblTribeBuff,520),this.contentContainer.addChild(this.lblTribeBuff),this.helpBg.visible=!1,this.contentContainer.addChild(this.helpBg),this.lblHelp=new FL("",8978312,tL.DEFAULT_FONT_OPTION_17),tL.setLabelWrapWidth(this.lblHelp,this.width-80),this.lblHelp.visible=!1,this.contentContainer.addChild(this.lblHelp)}
- static getInstance(){
- return this._instance||(this._instance=new t),this._instance}
- showProfile(){
- this.title=pG.getText("GAME_258","프로필"),this.clearRows(),this.buildRows(),this.updateLayout(),super.show()}
- clearRows(){
- for(const t of this.rows)t.label.removeFromParent(),t.value.removeFromParent(),t.helpBtn&&t.helpBtn.removeFromParent(),t.rowHit&&t.rowHit.removeFromParent();
- this.rows=[],this.lblHelp.visible=!1,this.helpBg.visible=!1}
- buildRows(){
- const i=pG.getText(`TRIBE_${
- uD.tribe}
- `,t.TRIBE_NAMES[uD.tribe]);
- this.lblMessage.text=pG.getValueReplace("GAME_259","##",i,`${
- i}
-  종족으로 환생했습니다.`);
- const s=uD.getKnightLevel(uD.tribe);
- this.lblTribeBuff.text=pG.getValueReplaceMulti("GAME_344",["##","@@"],[i,s],`모든 ${
- i}
-  종족의 레벨이 기사단 레벨(+${
- s}
- )만큼 증가합니다.`);
- const e=Math.floor(uD.maxWave/100);
- this.addRow(pG.getText("GAME_260","기사단 레벨"),`${
- e}
- `,"knightLevel"),this.addRow(pG.getText("GAME_261","최대 웨이브"),`${
- uD.maxWave}
- `),this.addRow(pG.getText("GAME_262","환생수"),`${
- uD.numRevive30}
- `,"revive"),this.addRow(pG.getText("GAME_263","누적훈장수"),`${
- RL.displayLargeNumberAsAlphabet(uD.accuMedal)}
- `);
- const n=3*e;
- this.addRow(pG.getText("GAME_264","기사단 훈장 버프"),`${
- n}
- %`,"medalBuff");
- const h=Math.min(250,50*uD.numRevive30);
- this.addRow(pG.getText("GAME_265","퀘스트 골드 버프"),`${
- h}
- %`,"questGold");
- const r=Math.min(100,20*uD.numRevive30);
- this.addRow(pG.getText("GAME_266","퀘스트 시간 단축"),`${
- r}
- %`,"questTime");
- const o=Math.min(100,20*uD.numRevive30);
- this.addRow(pG.getText("GAME_267","퀘스트 오픈 비용 감소"),`${
- o}
- %`,"questCost")}
- addRow(t,i,s){
- const e=new FL(`- ${
- t}
-  :`,tL.DEFAULT_COLOR,tL.DEFAULT_FONT_OPTION_17),n=new FL(` ${
- i}
- `,16777215,tL.DEFAULT_FONT_OPTION_17);
- let h,r;
- s&&(h=new Be,h.eventMode="static",h.cursor="pointer",h.on("pointertap",()=>this.showHelp(s)),this.contentContainer.addChild(h)),s&&(e.eventMode="none",n.eventMode="none"),this.contentContainer.addChild(e),this.contentContainer.addChild(n),s&&(r=this.createHelpButton(s),this.contentContainer.addChild(r)),this.rows.push({
- label:e,value:n,helpKey:s,helpBtn:r,rowHit:h}
- )}
- createHelpButton(t){
- const i=new Be;
- i.eventMode="none";
- const s=new je(ZA.getTexture("UI_Ekkorr","UI_Alarm"));
- return s.anchor.set(.5),s.scale.set(.8),i.addChild(s),i}
- showHelp(t){
- let i="";
- switch(t){
- case"knightLevel":i=pG.getText("GAME_268",V7t[t]);
- break;
- case"revive":i=pG.getText("GAME_269",V7t[t]);
- break;
- case"medalBuff":i=pG.getText("GAME_270",V7t[t]);
- break;
- case"questGold":i=pG.getText("GAME_271",V7t[t]);
- break;
- case"questTime":i=pG.getText("GAME_272",V7t[t]);
- break;
- case"questCost":i=pG.getText("GAME_273",V7t[t])}
- this.lblHelp.text=i,this.lblHelp.visible=!0;
- const s=this.lblHelp.y;
- this.helpBg.clear(),this.helpBg.roundRect(25,s-5,this.width-50,this.lblHelp.height+10,6),this.helpBg.fill({
- color:2236962,alpha:.9}
- ),this.helpBg.visible=!0}
- updateLayout(){
- this.lblMessage.x=.5*(this.width-this.lblMessage.width),this.lblMessage.y=80,this.lblTribeBuff.x=.5*(this.width-this.lblTribeBuff.width),this.lblTribeBuff.y=108;
- let t=this.lblTribeBuff.y+this.lblTribeBuff.height+20;
- for(const s of this.rows)s.rowHit&&(s.rowHit.x=30,s.rowHit.y=t-3,s.rowHit.hitArea=new Pi(0,0,this.width-80+20,30)),s.label.x=40,s.label.y=t,s.value.x=s.label.x+s.label.width+4,s.value.y=t,s.helpBtn&&(s.helpBtn.x=s.value.x+s.value.width+16,s.helpBtn.y=t+s.value.height/2+2),t+=30;
- const i=t+30;
- this.lblHelp.x=40,this.lblHelp.y=i,this.height=i+120}
- }
- ;
- Kt(K7t,"ProfilePopup"),zt(K7t,"_instance"),zt(K7t,"TRIBE_NAMES",{
- 1:"인간",2:"엘프",3:"언데드",4:"오크"}
- );
- let z7t=K7t;
- const q7t=class extends Be{
- constructor(){
- super(),zt(this,"bg",new jL),zt(this,"bar",new jL),this.bg.width=100,this.bg.height=7,this.addChild(this.bg),this.bar.width=100,this.bar.height=7,this.addChild(this.bar),this.bar.x=0,this.bar.y=0,this.bg.setIndex(7),this.bar.setIndex(1)}
- updateBar(t,i){
- t>i&&(t=i),this.bar.width=t/i*100}
- }
- ;
- Kt(q7t,"WaveBar");
- let X7t=q7t;
- const Y7t=class t extends QD{
- constructor(){
- super(),zt(this,"infoBg"),zt(this,"lblMessage1"),zt(this,"lblMessage2"),zt(this,"lblMessage3"),zt(this,"lblMessage4"),this.title=pG.getText("GAME_541","추가 훈장 이벤트"),this.width=580,this.outSideClickHide=!0,this.infoBg=new fB,this.infoBg.setIndex(2),this.infoBg.width=this.width-46,this.infoBg.x=23,this.contentContainer.addChild(this.infoBg),this.lblMessage1=new FL("",tL.DEFAULT_COLOR,tL.DEFAULT_OUTLINE_FONT_OPTION_18),this.contentContainer.addChild(this.lblMessage1),this.lblMessage2=new FL("",tL.DEFAULT_COLOR,tL.DEFAULT_OUTLINE_FONT_OPTION_18),this.contentContainer.addChild(this.lblMessage2),this.lblMessage3=new FL("",tL.DEFAULT_COLOR,tL.DEFAULT_OUTLINE_FONT_OPTION_18),this.contentContainer.addChild(this.lblMessage3),this.lblMessage4=new FL("",tL.DEFAULT_COLOR,tL.DEFAULT_OUTLINE_FONT_OPTION_18),this.contentContainer.addChild(this.lblMessage4)}
- static getInstance(){
- return this._instance||(this._instance=new t),this._instance}
- show(){
- this.updateLayout(),super.show()}
- updateLayout(){
- this.title=pG.getText("GAME_541","추가 훈장 이벤트");
- const t=$$.currentMedalEvent;
- if(t){
- this.lblMessage1.text=pG.getText("GAME_542","훈장 추가 획득")+` : +${
- 100*(t.multi-1)}
- %`,this.lblMessage2.text=pG.getText("GAME_543","총 횟수")+` : ${
- t.max}
- `,this.lblMessage3.text=pG.getText("GAME_544","남은 횟수")+" : "+(t.max-t.userCount);
- const i=(new Date).toISOString().slice(0,10);
- this.lblMessage4.text=pG.getText("GAME_545","이벤트 기간")+` : ${
- i}
-  ~ ${
- i}
- `}
- this.lblMessage1.x=this.lblMessage2.x=this.lblMessage3.x=this.lblMessage4.x=50,this.infoBg.y=70,this.lblMessage1.y=this.infoBg.y+20,this.lblMessage2.y=this.lblMessage1.y+this.lblMessage1.height+20,this.lblMessage3.y=this.lblMessage2.y+this.lblMessage2.height+20,this.lblMessage4.y=this.lblMessage3.y+this.lblMessage3.height+20,this.infoBg.height=this.lblMessage4.y-this.infoBg.y+this.lblMessage4.height+17,this.height=this.infoBg.y+this.infoBg.height+25}
- }
- ;
- Kt(Y7t,"MedalEventPopup"),zt(Y7t,"_instance");
- let J7t=Y7t;
- const Q7t=class t{
- constructor(){
- zt(this,"items",[]),zt(this,"lastClaimedKn",0),zt(this,"nextClaimableKn",null),zt(this,"hasClaimable",!1)}
- static getInstance(){
- return this.instance||(this.instance=new t),this.instance}
- setData(t){
- if(t&&(this.lastClaimedKn=Number(t.lastClaimedKn)||0,this.nextClaimableKn=null===t.nextClaimableKn||void 0===t.nextClaimableKn?null:Number(t.nextClaimableKn),this.hasClaimable=!!t.hasClaimable,this.items=[],Array.isArray(t.items))){
- for(const i of t.items){
- const t=new i9t;
- t.kindNum=Number(i.kindNum)||0,t.wave=Number(i.wave)||0,t.heroKindNum=Number(i.heroKindNum)||0,t.claimed=!!i.claimed,t.claimable=!!i.claimable,this.items.push(t)}
- this.items.sort((t,i)=>t.kindNum-i.kindNum)}
- }
- getNextUnclaimed(){
- for(const t of this.items)if(!t.claimed)return t;
- return null}
- get isAllClaimed(){
- return 0!==this.items.length&&this.items.every(t=>t.claimed)}
- }
- ;
- Kt(Q7t,"HeroPresentDataManager"),zt(Q7t,"instance");
- let Z7t=Q7t;
- const t9t=class{
- constructor(){
- zt(this,"kindNum",0),zt(this,"wave",0),zt(this,"heroKindNum",0),zt(this,"claimed",!1),zt(this,"claimable",!1)}
- }
- ;
- Kt(t9t,"HeroPresentItemVO");
- let i9t=t9t;
+ const Sti={
+ revive:"30 웨이브 이상에서 환생한 횟수입니다.",knightLevel:"최대 웨이브 100당 레벨이 1씩 올라갑니다. 최대 웨이브가 100이면 1레벨, 200이면 2레벨이 됩니다.",medalBuff:"기사단 레벨 1당 훈장버프가 3%씩 증가합니다.",questGold:"30 웨이브 이상에서 환생할때마다, 퀘스트 골드 획득이 50%씩 증가합니다. ( 최대 250% )",questTime:"30 웨이브 이상에서 환생할때마다, 퀘스트 시간이 20%씩 단축됩니다. ( 최대 100% )",questCost:"30 웨이브 이상에서 환생할때마다, 퀘스트 오픈비용이 20%씩 감소합니다. ( 최대 100% )"}
+ ,Cti=class t extends lG{
+ constructor(){
+ super(),zt(this,"lblMessage"),zt(this,"lblTribeBuff"),zt(this,"topContainer"),zt(this,"decorationTop"),zt(this,"decorationBottom"),zt(this,"decorationLine"),zt(this,"rows",[]),zt(this,"helpBg"),zt(this,"lblHelp"),zt(this,"image"),this.title=CG.getText("GAME_258","프로필"),this.width=580,this.outSideClickHide=!0,this.decorationTop=new We(ZA.getTexture("UI_Ekkorr","Shadow_Upward")),this.decorationTop.alpha=.7,this.contentContainer.addChild(this.decorationTop),this.decorationBottom=new We(ZA.getTexture("UI_Ekkorr","Shadow_Upward")),this.decorationBottom.alpha=.7,this.decorationBottom.scale.y=-1,this.contentContainer.addChild(this.decorationBottom),this.decorationLine=new We(ZA.getTexture("UI_Ekkorr","Patter_Diamond_01")),this.contentContainer.addChild(this.decorationLine),this.topContainer=new Be,this.contentContainer.addChild(this.topContainer),this.lblMessage=new QD("",16763904,lD.DEFAULT_FONT_OPTION_18),this.topContainer.addChild(this.lblMessage),this.lblTribeBuff=new QD("",16763904,lD.DEFAULT_FONT_OPTION_17),this.lblTribeBuff.align="center",lD.setLabelWrapWidth(this.lblTribeBuff,520),this.topContainer.addChild(this.lblTribeBuff),this.helpBg=new TM({
+ texture:ZA.getTexture("UI_Ekkorr","Popup_Bg_05"),leftWidth:12,topHeight:12,rightWidth:12,bottomHeight:12}
+ ),this.helpBg.width=525,this.helpBg.visible=!1,this.contentContainer.addChild(this.helpBg),this.lblHelp=new QD("",8978312,lD.DEFAULT_FONT_OPTION_17),lD.setLabelWrapWidth(this.lblHelp,this.helpBg.width-80),this.lblHelp.visible=!1,this.contentContainer.addChild(this.lblHelp)}
+ static getInstance(){
+ return this._instance||(this._instance=new t),this._instance}
+ async showProfile(){
+ if(this.title=CG.getText("GAME_258","프로필"),this.clearRows(),this.buildRows(),this.updateLayout(),!this.image){
+ this.image=new We,this.image.eventMode="none",this.addChildAt(this.image,0);
+ const{
+ AssetPathManager:t}
+ =await Jt(async()=>{
+ const{
+ AssetPathManager:t}
+ =await Promise.resolve().then(()=>JA);
+ return{
+ AssetPathManager:t}
+ }
+ ,void 0),{
+ Assets:i}
+ =await Jt(async()=>{
+ const{
+ Assets:t}
+ =await Promise.resolve().then(()=>xM);
+ return{
+ Assets:t}
+ }
+ ,void 0),s=t.getAssetPath("CharProfile.png"),e=await i.load(s);
+ this.image.texture=e,this.image.x=20,this.image.y=5-this.image.height}
+ super.show()}
+ clearRows(){
+ for(const t of this.rows)t.bg.removeFromParent(),t.label.removeFromParent(),t.value.removeFromParent(),t.helpBtn&&t.helpBtn.removeFromParent(),t.rowHit&&t.rowHit.removeFromParent();
+ this.rows=[],this.lblHelp.visible=!1,this.helpBg.visible=!1}
+ buildRows(){
+ const i=CG.getText(`TRIBE_${
+ EL.tribe}
+ `,t.TRIBE_NAMES[EL.tribe]);
+ this.lblMessage.text=CG.getValueReplace("GAME_259","##",i,`${
+ i}
+  종족으로 환생했습니다.`);
+ const s=EL.getKnightLevel(EL.tribe);
+ this.lblTribeBuff.text=CG.getValueReplaceMulti("GAME_344",["##","@@"],[i,s],`모든 ${
+ i}
+  종족의 레벨이 기사단 레벨(+${
+ s}
+ )만큼 증가합니다.`);
+ const e=Math.floor(EL.maxWave/100);
+ this.addRow(CG.getText("GAME_260","기사단 레벨"),`${
+ e}
+ `,"knightLevel"),this.addRow(CG.getText("GAME_261","최대 웨이브"),`${
+ EL.maxWave}
+ `),this.addRow(CG.getText("GAME_262","환생수"),`${
+ EL.numRevive30}
+ `,"revive"),this.addRow(CG.getText("GAME_263","누적훈장수"),`${
+ KD.displayLargeNumberAsAlphabet(EL.accuMedal)}
+ `);
+ const n=3*e;
+ this.addRow(CG.getText("GAME_264","기사단 훈장 버프"),`${
+ n}
+ %`,"medalBuff");
+ const h=Math.min(250,50*EL.numRevive30);
+ this.addRow(CG.getText("GAME_265","퀘스트 골드 버프"),`${
+ h}
+ %`,"questGold");
+ const r=Math.min(100,20*EL.numRevive30);
+ this.addRow(CG.getText("GAME_266","퀘스트 시간 단축"),`${
+ r}
+ %`,"questTime");
+ const o=Math.min(100,20*EL.numRevive30);
+ this.addRow(CG.getText("GAME_267","퀘스트 오픈 비용 감소"),`${
+ o}
+ %`,"questCost")}
+ addRow(t,i,s){
+ const e=new QD(`${
+ t}
+  :`,lD.DEFAULT_COLOR,lD.DEFAULT_FONT_OPTION_17),n=new QD(` ${
+ i}
+ `,16777215,lD.DEFAULT_FONT_OPTION_17),h=new TM({
+ texture:ZA.getTexture("UI_Ekkorr","Popup_Bg_04"),leftWidth:12,topHeight:12,rightWidth:12,bottomHeight:12}
+ );
+ let r,o;
+ h.width=525,h.height=40,this.contentContainer.addChild(h),s&&(r=new Be,r.eventMode="static",r.cursor="pointer",r.on("pointertap",()=>this.showHelp(s)),this.contentContainer.addChild(r)),s&&(e.eventMode="none",n.eventMode="none"),this.contentContainer.addChild(e),this.contentContainer.addChild(n),s&&(o=this.createHelpButton(s),this.contentContainer.addChild(o)),this.rows.push({
+ bg:h,label:e,value:n,helpKey:s,helpBtn:o,rowHit:r}
+ )}
+ createHelpButton(t){
+ const i=new Be;
+ i.eventMode="none";
+ const s=new We(ZA.getTexture("UI_Ekkorr","UI_Alarm"));
+ return s.anchor.set(.5),s.scale.set(.8),i.addChild(s),i}
+ showHelp(t){
+ let i="";
+ switch(t){
+ case"knightLevel":i=CG.getText("GAME_268",Sti[t]);
+ break;
+ case"revive":i=CG.getText("GAME_269",Sti[t]);
+ break;
+ case"medalBuff":i=CG.getText("GAME_270",Sti[t]);
+ break;
+ case"questGold":i=CG.getText("GAME_271",Sti[t]);
+ break;
+ case"questTime":i=CG.getText("GAME_272",Sti[t]);
+ break;
+ case"questCost":i=CG.getText("GAME_273",Sti[t])}
+ this.lblHelp.text=i,this.lblHelp.visible=!0,this.lblHelp.y,this.helpBg.height=this.lblHelp.height+40,this.helpBg.visible=!0}
+ updateLayout(){
+ this.lblMessage.x=.5*(this.topContainer.width-this.lblMessage.width),this.lblTribeBuff.x=.5*(this.topContainer.width-this.lblTribeBuff.width),this.lblTribeBuff.y=this.lblMessage.y+this.lblMessage.height+3,this.topContainer.x=.5*(this.width-this.topContainer.width),this.topContainer.y=110-.5*this.topContainer.height;
+ let t=this.topContainer.y+this.topContainer.height+20;
+ this.decorationTop.x=.5*(this.width-this.decorationTop.width),this.decorationTop.y=t-this.decorationTop.height-2;
+ for(const s of this.rows)s.rowHit&&(s.rowHit.x=18,s.rowHit.y=t-3,s.rowHit.hitArea=new Pi(0,0,this.width-56+20,45)),s.bg.x=28,s.bg.y=t,s.label.x=43,s.label.y=t+.5*(s.bg.height-s.label.height),s.value.x=s.label.x+s.label.width+4,s.value.y=s.label.y,s.helpBtn&&(s.helpBtn.x=s.value.x+s.value.width+16,s.helpBtn.y=s.value.y+s.value.height/2+2),t+=45;
+ this.decorationBottom.x=this.decorationTop.x,this.decorationBottom.y=t-3+this.decorationBottom.height,this.decorationLine.x=.5*(this.width-this.decorationLine.width),this.decorationLine.y=t+25;
+ const i=this.decorationLine.y+this.decorationLine.height+25;
+ this.helpBg.x=28,this.helpBg.y=i,this.lblHelp.x=this.helpBg.x+20,this.lblHelp.y=this.helpBg.y+20,this.helpBg.height=this.lblHelp.height+40,this.height=this.helpBg.y+this.helpBg.height+60}
+ }
+ ;
+ Kt(Cti,"ProfilePopup"),zt(Cti,"_instance"),zt(Cti,"TRIBE_NAMES",{
+ 1:"인간",2:"엘프",3:"언데드",4:"오크"}
+ );
+ let Tti=Cti;
+ const kti=class extends Be{
+ constructor(){
+ super(),zt(this,"bg",new tL),zt(this,"bar",new tL),this.bg.width=100,this.bg.height=7,this.addChild(this.bg),this.bar.width=100,this.bar.height=7,this.addChild(this.bar),this.bar.x=0,this.bar.y=0,this.bg.setIndex(7),this.bar.setIndex(1)}
+ updateBar(t,i){
+ t>i&&(t=i),this.bar.width=t/i*100}
+ }
+ ;
+ Kt(kti,"WaveBar");
+ let Oti=kti;
RaidBattleController 34 hunks, 265 statements
- super(),zt(this,"battleType",nV.RAID),zt(this,"boss",null),zt(this,"terrainOverlay",null),zt(this,"allyFlowField",null),zt(this,"enemyFlowField",null),zt(this,"separationGrid",new Map),zt(this,"separationFlatList",[]),zt(this,"rvoPool",[]),zt(this,"rvoNbAgents",[]),zt(this,"rvoNbDist",[]),zt(this,"rvoNbIdx",[]),zt(this,"heroKindNums",[60,58,78,54,56]),zt(this,"soldierKindNums",[20,4,7,1,13]),zt(this,"spawnedVOs",[]),zt(this,"speedHelper",new _4("ef2.raid.battleSpeed")),zt(this,"corpCommander",new Z4(t.CORP_COUNT)),zt(this,"camera",null),zt(this,"mapEffect",null),zt(this,"hud",null),zt(this,"corpUnits",[]),zt(this,"corpAggro",[]),zt(this,"prevCorpDmg",[]),zt(this,"corpHero",[]),zt(this,"aggroLeader",-1),zt(this,"aggroChallenger",-1),zt(this,"aggroChallengerFrames",0),zt(this,"aggroTargetCorp",-1),zt(this,"crossbow",null),zt(this,"crossbowDebug",null),zt(this,"rangedByCorp",[]),zt(this,"meleeSoldiers",[])}
+ super(),zt(this,"battleType",_V.RAID),zt(this,"boss",null),zt(this,"terrainOverlay",null),zt(this,"allyFlowField",null),zt(this,"enemyFlowField",null),zt(this,"separationGrid",new Map),zt(this,"separationFlatList",[]),zt(this,"rvoPool",[]),zt(this,"rvoNbAgents",[]),zt(this,"rvoNbDist",[]),zt(this,"rvoNbIdx",[]),zt(this,"heroKindNums",[...t.DEFAULT_HERO_KINDS]),zt(this,"soldierKindNums",[...t.DEFAULT_SOLDIER_KINDS]),zt(this,"raidOptions",null),zt(this,"bossKindNum",t.BOSS_KIND_NUM),zt(this,"bossStartHp",0),zt(this,"resultReported",!1),zt(this,"spawnedVOs",[]),zt(this,"speedHelper",new t8("ef2.raid.battleSpeed")),zt(this,"corpCommander",new I8(t.CORP_COUNT)),zt(this,"camera",null),zt(this,"mapEffect",null),zt(this,"hud",null),zt(this,"corpUnits",[]),zt(this,"corpAggro",[]),zt(this,"prevCorpDmg",[]),zt(this,"corpHero",[]),zt(this,"aggroLeader",-1),zt(this,"aggroChallenger",-1),zt(this,"aggroChallengerFrames",0),zt(this,"aggroTargetCorp",-1),zt(this,"forcedAggroCorp",-1),zt(this,"forcedAggroFrames",0),zt(this,"raidEmblemStates",[]),zt(this,"crossbows",[]),zt(this,"crossbowDebug",null),zt(this,"rangedByCorp",[]),zt(this,"meleeSoldiers",[])}
- async startBattle(){
- var i;
- this.cleanup(),SB.getInstance().setDay(),SB.getInstance().scale.set(1,1),this.battleEnded=!1,this.battleResult=null,this.battleTime=0,this.killCount=0,this.rangedByCorp=Array.from({
+ getRaidBossDamageMultiplier(){
+ for(const i of t.BOSS_DAMAGE_SCALE_STEPS)if(this.battleTime>=i.frame)return i.multiplier;
+ return 1}
+ async startBattle(i){
+ var s,e;
+ this.cleanup(),this.raidOptions=i??null,this.resultReported=!1,this.bossKindNum=(null==i?void 0:i.bossKindNum)&&i.bossKindNum>0?i.bossKindNum:t.BOSS_KIND_NUM,(null==i?void 0:i.squads)?this.applySquads(i.squads):(this.heroKindNums=[...t.DEFAULT_HERO_KINDS],this.soldierKindNums=[...t.DEFAULT_SOLDIER_KINDS]),GB.getInstance().setDay(),GB.getInstance().scale.set(1,1),this.battleEnded=!1,this.battleResult=null,this.battleTime=0,this.killCount=0,this.rangedByCorp=Array.from({
- ,()=>[]),this.corpAggro=new Array(t.CORP_COUNT).fill(0),this.prevCorpDmg=new Array(t.CORP_COUNT).fill(0),this.corpHero=new Array(t.CORP_COUNT).fill(null),this.aggroLeader=-1,this.aggroChallenger=-1,this.aggroChallengerFrames=0,this.aggroTargetCorp=-1,this.unitScale=.7,this.applyBackground(),UG.getInstance().visible=!0,await this.setupTerrain(),this.corpCommander.reset(t.FIELD_WIDTH,t.FIELD_HEIGHT);
+ ,()=>[]),this.corpAggro=new Array(t.CORP_COUNT).fill(0),this.prevCorpDmg=new Array(t.CORP_COUNT).fill(0),this.corpHero=new Array(t.CORP_COUNT).fill(null),this.aggroLeader=-1,this.aggroChallenger=-1,this.aggroChallengerFrames=0,this.aggroTargetCorp=-1,this.forcedAggroCorp=-1,this.forcedAggroFrames=0,this.initializeRaidEmblems(),this.unitScale=.7,this.applyBackground(),await this.loadRaidBattleAssets(),qG.getInstance().visible=!0,await this.setupTerrain(),this.corpCommander.reset(t.FIELD_WIDTH,t.FIELD_HEIGHT);
- this.setupBoss(),this.setupEnemyLists(),this.snapUnitsToTerrain(),H8t.getInstance().switchToBattle(this),this.mapEffect=new h8,this.speedHelper.enter(),this.applyBackground(),UG.getInstance().visible=!0,this.updateZIndexSorting(),LG.getInstance().remove(this.execute,this),await XG.getInstance().play(),LG.getInstance().add(this.execute,this),this.camera=new z4({
+ await this.setupBoss(),this.setupEnemyLists(),this.snapUnitsToTerrain(),w9t.getInstance().switchToBattle(this),this.mapEffect=new F8,this.speedHelper.enter(),this.applyBackground(),qG.getInstance().visible=!0,this.updateZIndexSorting(),$G.getInstance().remove(this.execute,this),await nB.getInstance().play(),$G.getInstance().add(this.execute,this),this.camera=new N8({
- const s=(null==(i=wI.getInstance().getBookVO(t.BOSS_KIND_NUM))?void 0:i.name)??"BOSS";
- this.hud=new e8(s,t.BOSS_KIND_NUM,this.heroKindNums,this.soldierKindNums,()=>this.returnToMain()),this.speedHelper.attachButton(Oit.getInstance(),16,88),this.crossbow=new i8(t.FIELD_WIDTH/2,.82*t.FIELD_HEIGHT,t.FIELD_WIDTH,t.FIELD_HEIGHT),this.crossbow.setHitCheck((t,i,s,e)=>this.testArrowHit(t,i,s,e)),this.crossbowDebug=new Gf,this.crossbowDebug.eventMode="none",SB.getInstance().addChild(this.crossbowDebug)}
+ const n=(null==(s=this.raidOptions)?void 0:s.bossName)??(null==(e=Ax.getInstance().getBookVO(this.bossKindNum))?void 0:e.name)??"BOSS";
+ this.hud=new B8(n,this.bossKindNum,this.heroKindNums,this.soldierKindNums,()=>this.returnToMain(),this.getRaidEmblemDefinitionsForHud(),t=>this.activateRaidEmblem(t)),this.speedHelper.attachButton(Nst.getInstance(),16,88),this.crossbows=[{
+ x:500,y:200,chargeSec:15}
+ ,{
+ x:1e3,y:300,chargeSec:30}
+ ,{
+ x:700,y:1e3,chargeSec:0}
+ ].map(i=>{
+ var s;
+ const e=new R8(i.x,i.y,t.FIELD_WIDTH,t.FIELD_HEIGHT);
+ return e.setHitCheck((t,i,s,e)=>this.testArrowHit(t,i,s,e)),e.setChargeSeconds(i.chargeSec),e.setFacingDown(i.y<((null==(s=this.boss)?void 0:s.y)??600)),e}
+ ),this.crossbowDebug=new Gf,this.crossbowDebug.eventMode="none",GB.getInstance().addChild(this.crossbowDebug)}
+ async loadRaidBattleAssets(){
+ ZA.hasSheet("RaidBattle")||await ZA.generateTexture("RaidBattle","ktx2",!1)}
- setupBoss(){
- const i=wI.getInstance().getBookVO(t.BOSS_KIND_NUM),s=(null==i?void 0:i.className)??rI.HarpyKing,e=i2.getInstance().getUnitSync(s);
- if(e.battleController=this,i){
+ async setupBoss(){
+ var i,s;
+ const e=Ax.getInstance().getBookVO(this.bossKindNum),n=t.BOSS_CLASS_BY_KIND[this.bossKindNum]??(null==e?void 0:e.className)??fx.HarpyKing,h=N2.getInstance().getUnitSync(n);
+ if(h.battleController=this,h instanceof A2&&await h.ensureSpineReady(),e){
- i.id=-1,i.kindNum=t.BOSS_KIND_NUM,i.level=1,i.enhance=0,this.spawnedVOs.push(i),e.setData(i)}
- e.baseMaxHp*=t.BOSS_HP_MULT,e.orgMaxHp=e.maxHp=e.baseMaxHp,e.hp=e.maxHp,e.health=e.maxHp,e.orgMoveSpd=e.moveSpd=1.8*e.moveSpd*1.6*2*.7,e.moveSpd<=0&&(e.orgMoveSpd=e.moveSpd=3),e.blowImmune=!0,e.stunImmune=!0,e.freezeImmune=!0,e.knockImmune=!0,e.isAir=!1,e.scale.set(1,1),e instanceof X1&&(e.wanderMinX=250,e.wanderMaxX=790,e.wanderMinY=250,e.wanderMaxY=1050),e.x=t.BOSS_X,e.y=t.BOSS_Y,e.tx=e.x,e.ty=e.y,e.xDefault=e.x,e.yDefault=e.y,e.ground=e.y,e.lookAt(-1),e.initDelay=0,e.showTombstone=!1,e.maxRevive=0,e.reviveInterval=0,e.totalDamageDealt=0,e.radius=t.BOSS_RADIUS,e.aggressiveRetarget=!1,e instanceof X1&&(e.targetSwapChance=0),e.detectRange=t.BOSS_DETECT_RANGE,e.detectRange2=e.detectRange*e.detectRange,zG.getInstance().addChild(e),this.enemyList.push(e),this.boss=e,e instanceof X1&&e.createHitBox()}
+ t.id=-1,t.kindNum=this.bossKindNum,t.level=1,t.enhance=0,this.spawnedVOs.push(t),h.setData(t)}
+ (null==(i=this.raidOptions)?void 0:i.bossHp)&&this.raidOptions.bossHp>0?h.baseMaxHp=this.raidOptions.bossHp:h.baseMaxHp*=t.BOSS_HP_MULT,h.orgMaxHp=h.maxHp=h.baseMaxHp,h.hp=h.maxHp,h.health=h.maxHp,this.bossStartHp=h.maxHp,h.orgMoveSpd=h.moveSpd=1.8*h.moveSpd*1.6*2*.7,h.moveSpd<=0&&(h.orgMoveSpd=h.moveSpd=3),h.blowImmune=!0,h.stunImmune=!0,h.freezeImmune=!0,h.knockImmune=!0,h.isAir=!1,h.scale.set(1,1),h instanceof A2&&(h.wanderMinX=250,h.wanderMaxX=790,h.wanderMinY=250,h.wanderMaxY=1050,this.bossKindNum===t.HARPY_KIND_NUM&&(h.wanderMinX=300,h.wanderMaxX=1100,h.wanderMinY=250,h.wanderMaxY=800),this.bossKindNum===t.SCORPION_KIND_NUM&&h.setRaidTint(t.getScorpionTint((null==(s=this.raidOptions)?void 0:s.bossSub)??1))),h.x=t.BOSS_X,h.y=t.BOSS_Y,h.tx=h.x,h.ty=h.y,h.xDefault=h.x,h.yDefault=h.y,h.ground=h.y,h.lookAt(-1),h.initDelay=0,h.showTombstone=!1,h.maxRevive=0,h.reviveInterval=0,h.totalDamageDealt=0,h.numBlock=0,h.radius=t.BOSS_RADIUS,h.aggressiveRetarget=!1,h instanceof A2&&(h.targetSwapChance=0),h.detectRange=t.BOSS_DETECT_RANGE,h.detectRange2=h.detectRange*h.detectRange,sB.getInstance().addChild(h),this.enemyList.push(h),this.boss=h,h instanceof A2&&h.createHitBox()}
+ static getScorpionTint(i){
+ const s=(Math.max(1,Math.floor(i))-1)%4+1;
+ return t.SCORPION_TINT_BY_SUB[s]??t.SCORPION_TINT_BY_SUB[1]}
- return 1===h?d=t.CORP2_TEST_DMG_MULT:0===h&&n&&(d=t.CORP1_SOLDIER_DMG_MULT),1!==d&&(o.orgAtkDmg*=d,o.atkDmg*=d),n&&o.unitType===iI.RANGE?h>=0&&h<this.rangedByCorp.length&&this.rangedByCorp[h].push(o):n&&o.unitType===iI.MELEE&&this.meleeSoldiers.push(o),this.corpCommander.register(h,o,!n),o}
+ return 1===h?d=t.CORP2_TEST_DMG_MULT:0===h&&n&&(d=t.CORP1_SOLDIER_DMG_MULT),1!==d&&(o.orgAtkDmg*=d,o.atkDmg*=d),this.applyRaidEmblemPassive(o,h),n&&o.unitType===ax.RANGE?h>=0&&h<this.rangedByCorp.length&&this.rangedByCorp[h].push(o):n&&o.unitType===ax.MELEE&&this.meleeSoldiers.push(o),this.corpCommander.register(h,o,!n),o}
+ initializeRaidEmblems(){
+ this.raidEmblemStates=Array.from({
+ length:t.CORP_COUNT}
+ ,(t,i)=>{
+ const s=L8[i]??L8[i%L8.length];
+ return{
+ type:s,cooldownRemainingFrames:0,activeRemainingFrames:0,passiveTickFrames:D8[s].passive.healIntervalFrames??0,activeTickFrames:0}
+ }
+ )}
+ getRaidEmblemDefinition(t){
+ const i=this.raidEmblemStates[t];
+ return i?D8[i.type]??null:null}
+ getRaidEmblemDefinitionsForHud(){
+ return this.raidEmblemStates.map(t=>D8[t.type]??null)}
+ applyRaidEmblemPassive(t,i){
+ const s=this.getRaidEmblemDefinition(i);
+ if(!s)return;
+ const e=s.passive,n=e.maxHpMult??1;
+ 1!==n&&(t.baseMaxHp*=n,t.orgMaxHp*=n,t.maxHp*=n,t.hp=t.maxHp,t.health=t.maxHp);
+ const h=e.attackDamageMult??1;
+ 1!==h&&(t.orgAtkDmg*=h,t.atkDmg*=h);
+ const r=e.attackSpeedMult??1;
+ 1!==r&&(t.orgAtkSpd*=r,t.atkSpd*=r,t.atkDuration=1e4/t.atkSpd);
+ const o=e.moveSpeedMult??1;
+ 1!==o&&(t.orgMoveSpd*=o,t.moveSpd*=o);
+ const a=e.incomingDamageMult??1;
+ 1!==a&&(t.raidIncomingDamageMult*=a)}
+ updateRaidEmblems(){
+ this.forcedAggroFrames>0&&(this.forcedAggroFrames--,this.forcedAggroFrames<=0&&(this.forcedAggroCorp=-1));
+ for(let t=0;
+ t<this.raidEmblemStates.length;
+ t++){
+ const i=this.raidEmblemStates[t],s=this.getRaidEmblemDefinition(t);
+ if(!i||!s)continue;
+ i.cooldownRemainingFrames>0&&i.cooldownRemainingFrames--;
+ const e=s.passive.manaGainMult??1;
+ if(e>1){
+ const i=e-1;
+ for(const s of this.corpUnits[t]??[])s.isAlive&&!s.removed&&(s.mana+=i)}
+ const n=s.passive.healIntervalFrames??0;
+ if(n>0&&(i.passiveTickFrames--,i.passiveTickFrames<=0&&(this.healLowestCorpUnit(t,s.passive.healPercent??0),i.passiveTickFrames=n)),i.activeRemainingFrames<=0)continue;
+ const h=s.active.raidHealIntervalFrames??0;
+ h>0&&(i.activeTickFrames--,i.activeTickFrames<=0&&(this.healAllRaidAllies(s.active.raidHealPercent??0),i.activeTickFrames=h)),i.activeRemainingFrames--,i.activeRemainingFrames<=0&&(i.activeTickFrames=0)}
+ }
+ activateRaidEmblem(i){
+ const s=this.raidEmblemStates[i],e=this.getRaidEmblemDefinition(i);
+ if(!s||!e)return;
+ if(s.cooldownRemainingFrames>0||s.activeRemainingFrames>0)return;
+ if(!this.hasAliveCorpUnit(i))return;
+ s.cooldownRemainingFrames=e.cooldownFrames,s.activeRemainingFrames=e.activeDurationFrames,s.activeTickFrames=e.active.raidHealIntervalFrames??0;
+ const n=e.activeDurationFrames;
+ if(e.active.attackSpeedBuff)for(const t of this.getAliveCorpUnits(i))t.addAttackSpeedBuff(fQ.RaidEmblemRogue_ACTIVE_ATKSPD,e.active.attackSpeedBuff,n,!0);
+ if(e.active.attackDamageBuff)for(const t of this.getAliveCorpUnits(i))t.addAttackDamageBuff(fQ.RaidEmblemRogue_ACTIVE_ATKDMG,e.active.attackDamageBuff,n);
+ const h=this.boss;
+ if(h&&h.isAlive&&!h.removed&&(e.active.bossAttackSpeedDebuff&&h.addAttackSpeedBuff(fQ.RaidEmblemMage_BOSS_ATKSPD,e.active.bossAttackSpeedDebuff,n,!0),e.active.bossDefenseDebuff&&(h.removeDefenseBuff(fQ.RaidEmblemMage_BOSS_DEFENSE),h.addDefenseBuff(fQ.RaidEmblemMage_BOSS_DEFENSE,e.active.bossDefenseDebuff,n))),e.active.forceBossTargetFrames){
+ this.forcedAggroCorp=i,this.forcedAggroFrames=e.active.forceBossTargetFrames;
+ const s=this.corpAggro.reduce((t,i)=>Math.max(t,i),0);
+ this.corpAggro[i]=Math.max(this.corpAggro[i]??0,s*t.AGGRO_SWITCH_MARGIN+t.AGGRO_MIN)}
+ }
+ getCorpAggroMultiplier(i){
+ let s=t.CORP_AGGRO_MULT[i]??1;
+ const e=this.raidEmblemStates[i],n=this.getRaidEmblemDefinition(i);
+ return e&&n?(s*=n.passive.aggroDamageMult??1,e.activeRemainingFrames>0&&(s*=n.active.aggroDamageMult??1),s):s}
+ getAliveCorpUnits(t){
+ return(this.corpUnits[t]??[]).filter(t=>t.isAlive&&!t.removed)}
+ hasAliveCorpUnit(t){
+ return this.getAliveCorpUnits(t).length>0}
+ healLowestCorpUnit(t,i){
+ if(i<=0)return;
+ let s=null,e=1;
+ for(const n of this.getAliveCorpUnits(t)){
+ const t=Math.max(1,n.maxHp||n.orgMaxHp||1),i=Math.max(0,Math.min(1,n.hp/t));
+ i<e&&(e=i,s=n)}
+ null==s||s.heal(i,null,!0)}
+ healAllRaidAllies(t){
+ if(!(t<=0))for(const i of this.friendList)i.isAlive&&!i.removed&&i.heal(t,null,!0)}
- var t,i;
- this.snapshotCrowdPositions(),null==(t=this.camera)||t.update(),this.corpCommander.update(),super.checkProgress(),this.applyRangedFormation(),this.applyMeleeSurround(),this.applyOrca();
+ var t;
+ this.snapshotCrowdPositions(),null==(t=this.camera)||t.update(),this.corpCommander.update(),super.checkProgress(),this.applyRangedFormation(),this.applyMeleeSurround(),this.applyOrca(),this.applyBossPostFormationEffects(),this.faceMeleeSurroundToBoss(),this.updateRaidEmblems();
- this.updateHud(s),null==(i=this.crossbow)||i.update(),this.drawCrossbowDebug()}
+ this.updateHud(i);
+ for(const s of this.crossbows)s.update();
+ this.drawCrossbowDebug()}
+ applyBossPostFormationEffects(){
+ var t;
+ const i=this.boss;
+ null==(t=null==i?void 0:i.applyRaidPostFormationEffects)||t.call(i)}
- const i=t.AGGRO_DECAY,s=t.CORP_AGGRO_MULT,e=[];
+ var i;
+ const s=t.AGGRO_DECAY,e=[];
- let o=0,a=0;
- for(const t of r)t.isAlive&&!t.removed&&o++,a+=t.totalDamageDealt;
+ let r=0,o=0,a=0,c=0;
+ for(const t of i){
+ const i=Math.max(0,t.maxHp||t.orgMaxHp||0);
+ a+=i,t.isAlive&&!t.removed&&(r++,o+=Math.max(0,Math.min(t.hp,i))),c+=t.totalDamageDealt}
- this.prevCorpDmg[t]=a,this.corpAggro[t]=this.corpAggro[t]*i+c*(s[t]??1);
+ this.prevCorpDmg[t]=c,this.corpAggro[t]=this.corpAggro[t]*s+l*this.getCorpAggroMultiplier(t);
- alive:o,total:r.length,dmg:a,aggro:l}
+ alive:r,total:i.length,hp:o,maxHp:a,dmg:c,aggro:u}
- this.aggroLeader>=0&&e[this.aggroLeader].alive>0?n>=0&&n!==this.aggroLeader&&this.corpAggro[n]>this.corpAggro[this.aggroLeader]*t.AGGRO_SWITCH_MARGIN?(n===this.aggroChallenger?this.aggroChallengerFrames++:(this.aggroChallenger=n,this.aggroChallengerFrames=1),this.aggroChallengerFrames>=t.AGGRO_SWITCH_DWELL&&(this.aggroLeader=n,this.aggroChallenger=-1,this.aggroChallengerFrames=0)):(this.aggroChallenger=-1,this.aggroChallengerFrames=0):(this.aggroLeader=n,this.aggroChallenger=-1,this.aggroChallengerFrames=0);
+ if(this.aggroLeader>=0&&e[this.aggroLeader].alive>0?n>=0&&n!==this.aggroLeader&&this.corpAggro[n]>this.corpAggro[this.aggroLeader]*t.AGGRO_SWITCH_MARGIN?(n===this.aggroChallenger?this.aggroChallengerFrames++:(this.aggroChallenger=n,this.aggroChallengerFrames=1),this.aggroChallengerFrames>=t.AGGRO_SWITCH_DWELL&&(this.aggroLeader=n,this.aggroChallenger=-1,this.aggroChallengerFrames=0)):(this.aggroChallenger=-1,this.aggroChallengerFrames=0):(this.aggroLeader=n,this.aggroChallenger=-1,this.aggroChallengerFrames=0),this.forcedAggroCorp>=0&&this.forcedAggroFrames>0&&(null==(i=e[this.forcedAggroCorp])?void 0:i.alive)>0){
+ const i=this.forcedAggroCorp,s=Math.max(this.corpAggro[i]??0,h+t.AGGRO_MIN);
+ this.corpAggro[i]=s,e[i].aggro=s,this.aggroLeader=i,this.aggroChallenger=-1,this.aggroChallengerFrames=0}
- if(r instanceof X1)if(r.isAlive&&!r.removed&&!r.isUntagetable&&o>=0&&e[o].alive>0&&this.corpAggro[o]>=t.AGGRO_MIN){
+ if(r instanceof A2)if(r.isAlive&&!r.removed&&!r.isUntagetable&&o>=0&&e[o].alive>0&&(this.corpAggro[o]>=t.AGGRO_MIN||this.forcedAggroCorp===o&&this.forcedAggroFrames>0)){
- r.aggroFaceX=n,null!==n&&Math.abs(n-r.x)>t.AGGRO_FACE_DEADZONE&&r.lookAt(n<r.x?-1:1)}
+ r.aggroFaceX=n,null!==n&&r.state!==cx.ATTACK&&r.state!==cx.SKILL&&Math.abs(n-r.x)>t.AGGRO_FACE_DEADZONE&&r.lookAt(n<r.x?-1:1)}
+ getHighestAggroCorpUnits(){
+ let t=-1,i=-1;
+ for(let s=0;
+ s<this.corpUnits.length;
+ s++){
+ if(!this.corpUnits[s].some(t=>t.isAlive&&!t.removed&&!t.isUntagetable))continue;
+ const e=this.corpAggro[s]??0;
+ e>i&&(i=e,t=s)}
+ return t<0?[]:this.corpUnits[t].filter(t=>t.isAlive&&!t.removed&&!t.isUntagetable)}
+ getBattleTimeFrames(){
+ return this.battleTime}
+ getCorpCount(){
+ return this.corpUnits.length}
+ getHighestAggroCorpIndex(){
+ let t=-1,i=-1;
+ for(let s=0;
+ s<this.corpUnits.length;
+ s++){
+ if(!this.corpUnits[s].some(t=>t.isAlive&&!t.removed&&!t.isUntagetable))continue;
+ const e=this.corpAggro[s]??0;
+ e>i&&(i=e,t=s)}
+ return t}
+ getCorpCenter(t){
+ const i=this.corpUnits[t];
+ if(!i)return null;
+ let s=0,e=0,n=0;
+ for(const h of i)!h.isAlive||h.removed||h.isUntagetable||(s+=h.x,e+=h.y,n++);
+ return 0===n?null:{
+ x:s/n,y:e/n}
+ }
+ getRaidCorpUnitsAroundTarget(t){
+ const i=this.resolveCorpIndexForTarget(t);
+ if(i<0)return[];
+ const s=[];
+ for(let e=i-1;
+ e<=i+1;
+ e++)if(!(e<0||e>=this.corpUnits.length))for(const t of this.corpUnits[e])!t.isAlive||t.removed||t.isUntagetable||s.push(t);
+ return s}
+ resolveCorpIndexForTarget(t){
+ if(t)for(let e=0;
+ e<this.corpUnits.length;
+ e++)if(this.corpUnits[e].includes(t))return e;
+ if(this.aggroTargetCorp>=0)return this.aggroTargetCorp;
+ if(this.aggroLeader>=0)return this.aggroLeader;
+ if(!t)return-1;
+ let i=-1,s=1/0;
+ for(let e=0;
+ e<this.corpUnits.length;
+ e++)for(const n of this.corpUnits[e]){
+ if(!n.isAlive||n.removed||n.isUntagetable)continue;
+ const h=n.x-t.x,r=n.y-t.y,o=h*h+r*r;
+ o<s&&(s=o,i=e)}
+ return i}
- bossHp:e,bossMaxHp:s,corps:t,remainSec:this.getRemainingTimeSeconds()}
+ bossHp:e,bossMaxHp:s,corps:t,remainSec:this.getRemainingTimeSeconds(),emblems:this.raidEmblemStates.map(t=>{
+ const i=D8[t.type];
+ return{
+ cooldownRemainingFrames:t.cooldownRemainingFrames,cooldownFrames:i.cooldownFrames,activeRemainingFrames:t.activeRemainingFrames,activeDurationFrames:i.activeDurationFrames}
+ }
+ )}
+ getSurroundScale(){
+ return this.bossKindNum===t.SCORPION_KIND_NUM?{
+ x:t.SCORPION_SURROUND_X_SCALE,y:t.SCORPION_SURROUND_Y_SCALE}
+ :this.bossKindNum===t.GOLEM_KIND_NUM?{
+ x:t.GOLEM_SURROUND_X_SCALE,y:t.GOLEM_SURROUND_Y_SCALE}
+ :{
+ x:1,y:1}
+ }
- const s=i.radius>0?i.radius:t.BOSS_RADIUS,e=t.GOLDEN_ANGLE;
+ const s=i.radius>0?i.radius:t.BOSS_RADIUS,e=t.GOLDEN_ANGLE,n=this.getSurroundScale(),h=n.x,r=n.y;
- const r=n*e,o=s+h.radius+t.MELEE_HUG_MARGIN,a=i.x+Math.cos(r)*o,c=i.y+Math.sin(r)*o;
+ const a=o*e,c=s+n.radius+t.MELEE_HUG_MARGIN,l=i.x+Math.cos(a)*c*h,u=i.y+Math.sin(a)*c*r;
+ faceMeleeSurroundToBoss(){
+ const t=this.boss;
+ if(t&&t.isAlive&&!t.removed&&!t.isUntagetable)for(let i=0;
+ i<this.meleeSoldiers.length;
+ i++){
+ const s=this.meleeSoldiers[i];
+ if(!s.isAlive||s.removed)continue;
+ if("none"!==s.commandPhase)continue;
+ const e=t.x-s.x;
+ Math.abs(e)>1&&s.lookAt(e)}
+ }
- if(!(s>=r.y&&n<=r.y))return null;
+ if((s-r.y)*(n-r.y)>0)return null;
- const i=n.x,s=n.y,h=n.radius;
+ const i=n.x,s=n.y,h=n.radius,r=this.getSurroundScale(),o=r.x,a=r.y;
- const a=o.x-i,c=o.y-s,l=h+o.radius+t.SEPARATION_BUFFER,u=a*a+c*c;
- if(u>=l*l)continue;
- let d,f,p;
- u<.01?(d=1,f=0,p=0):(p=Math.sqrt(u),d=a/p,f=c/p);
- const g=l-p,m=o.x+d*g,w=o.y+f*g;
+ const l=r.x-i,u=r.y-s,d=h+r.radius+t.SEPARATION_BUFFER,f=d*o,p=l/f,g=u/(d*a),m=p*p+g*g;
+ if(m>=1)continue;
+ let w,v;
+ if(m<1e-4)w=i+f,v=s;
+ else{
+ const t=1/Math.sqrt(m);
+ w=i+l*t,v=s+u*t}
- }
+ this.reportRaidResult(!0)}
- this.battleTime,t.TIME_LIMIT_FRAMES}
+ this.battleTime,t.TIME_LIMIT_FRAMES,this.reportRaidResult(!1)}
+ reportRaidResult(t){
+ var i;
+ if(!(null==(i=this.raidOptions)?void 0:i.onBattleEnd)||this.resultReported)return;
+ this.resultReported=!0;
+ const s=this.boss?Math.max(0,this.boss.hp):this.bossStartHp,e=Math.max(0,Math.min(this.bossStartHp,Math.round(this.bossStartHp-s))),n=Math.max(3,Math.min(300,Math.round(this.battleTime/60)));
+ this.raidOptions.onBattleEnd(e,n,t)}
+ applySquads(i){
+ const s=[],e=[],n=i.split("|"),h=IG.getInstance(),r=DN.getAwakenedBarrackTribes();
+ for(let o=0;
+ o<t.CORP_COUNT;
+ o++){
+ const t=(n[o]??"").split("-"),i=Number(t[0])||0,a=Number(t[2])||0;
+ s.push(i>0?i:0);
+ const c=h.getBook(a);
+ if(c){
+ const t=r.has(c.tribe),{
+ kindNum:i}
+ =DN.getShiftedSoldierTier(c.unitKindNums,c.plusLevel,0,t);
+ e.push(i)}
+ else e.push(0)}
+ this.heroKindNums=s,this.soldierKindNums=e}
- LG.getInstance().remove(this.execute,this),this.cleanup(),H8t.getInstance().returnToIdleBattle()}
+ this.reportRaidResult(!1),w9t.getInstance().returnToIdleBattle()}
- var t,i,s,e;
- LG.getInstance().remove(this.execute,this),this.corpCommander.destroy(),null==(t=this.camera)||t.destroy(),this.camera=null,null==(i=this.hud)||i.destroy(),this.hud=null,null==(s=this.crossbow)||s.destroy(),this.crossbow=null,this.crossbowDebug&&(this.crossbowDebug.removeFromParent(),this.crossbowDebug.destroy(),this.crossbowDebug=null),null==(e=this.mapEffect)||e.destroy(),this.mapEffect=null,this.speedHelper.detachButton(),this.speedHelper.exit();
+ var t,i,s;
+ $G.getInstance().remove(this.execute,this),this.corpCommander.destroy(),null==(t=this.camera)||t.destroy(),this.camera=null,null==(i=this.hud)||i.destroy(),this.hud=null;
+ for(const n of this.crossbows)n.destroy();
+ this.crossbows.length=0,this.crossbowDebug&&(this.crossbowDebug.removeFromParent(),this.crossbowDebug.destroy(),this.crossbowDebug=null),null==(s=this.mapEffect)||s.destroy(),this.mapEffect=null,this.speedHelper.detachButton(),this.speedHelper.exit();
- n.x=0,n.y=0,super.cleanup(),this.boss=null;
+ e.x=0,e.y=0,e.scale.set(1,1),super.cleanup(),this.boss=null;
- this.corpAggro=[],this.prevCorpDmg=[],this.corpHero=[],this.aggroLeader=-1,this.aggroChallenger=-1,this.aggroChallengerFrames=0,this.aggroTargetCorp=-1}
+ this.corpAggro=[],this.prevCorpDmg=[],this.corpHero=[],this.aggroLeader=-1,this.aggroChallenger=-1,this.aggroChallengerFrames=0,this.aggroTargetCorp=-1,this.forcedAggroCorp=-1,this.forcedAggroFrames=0,this.raidEmblemStates=[]}
- Kt(r8,"RaidBattleController"),zt(r8,"instance"),zt(r8,"FIELD_WIDTH",1433.6),zt(r8,"FIELD_HEIGHT",1433.6),zt(r8,"BG_SCALE",1.4),zt(r8,"TIME_LIMIT_FRAMES",10800),zt(r8,"BOSS_KIND_NUM",100002),zt(r8,"BOSS_X",1050),zt(r8,"BOSS_Y",848),zt(r8,"BOSS_HP_MULT",1e4),zt(r8,"CROSSBOW_RING_RADII",[25,55,100,200]),zt(r8,"CROSSBOW_STUN_FRAMES",[40,75,120,180]),zt(r8,"CROSSBOW_HEAD_TIER",3),zt(r8,"CROSSBOW_KNOCKBACK",7),zt(r8,"CROSSBOW_DEBUG",!0),zt(r8,"BOSS_RADIUS",70),zt(r8,"FAN_HALF_WIDTH",170),zt(r8,"FAN_WING_CURVE",80),zt(r8,"FORM_SETTLE_DIST",30),zt(r8,"FORM_RELEASE_DIST",64),zt(r8,"MELEE_HUG_MARGIN",4),zt(r8,"GOLDEN_ANGLE",2.399963),zt(r8,"CORP_COUNT",5),zt(r8,"CORP_AGGRO_MULT",[2.5,1,1,1,1]),zt(r8,"AGGRO_HALFLIFE_SEC",4),zt(r8,"AGGRO_DECAY",Math.pow(.5,1/(60*r8.AGGRO_HALFLIFE_SEC))),zt(r8,"AGGRO_MIN",1),zt(r8,"AGGRO_SWITCH_MARGIN",1.2),zt(r8,"AGGRO_SWITCH_DWELL",36),zt(r8,"AGGRO_FACE_DEADZONE",50),zt(r8,"CORP2_TEST_DMG_MULT",3),zt(r8,"CORP1_SOLDIER_DMG_MULT",.5),zt(r8,"BOSS_DETECT_RANGE",4e3),zt(r8,"SOLDIER_ROWS",10),zt(r8,"SOLDIER_COLS",3),zt(r8,"SOLDIER_X_SPACING",52),zt(r8,"SOLDIER_Y_SPACING",36),zt(r8,"ALLY_HERO_X",60),zt(r8,"ALLY_SOLDIER_X_START",135),zt(r8,"MARCH_DISTANCE",1500),zt(r8,"SOLDIER_RANGE_MULT_MIN",1.3),zt(r8,"SOLDIER_RANGE_MULT_MAX",1.7),zt(r8,"RANGE_SOLDIER_MOVE_SPD_MULT_MIN",1),zt(r8,"RANGE_SOLDIER_MOVE_SPD_MULT_MAX",1.25),zt(r8,"MELEE_HERO_HP_MULT",2),zt(r8,"MELEE_SOLDIER_HP_MULT",1.5),zt(r8,"MELEE_ATK_RANGE_BONUS",20),zt(r8,"RANGE_HERO_ATK_RANGE_MULT",1.7),zt(r8,"MELEE_MOVE_SPD_MULT_MIN",1.2),zt(r8,"MELEE_MOVE_SPD_MULT_MAX",1.7),zt(r8,"MELEE_SOLDIER_LANE_OFFSET",210),zt(r8,"TERRAIN_MASK_ENABLED",!1),zt(r8,"SEPARATION_CELL",28),zt(r8,"SEPARATION_BUFFER",3),zt(r8,"RVO_TIME_HORIZON",8),zt(r8,"RVO_NEIGHBOR_DIST",48),zt(r8,"RVO_MAX_NEIGHBORS",10),zt(r8,"RVO_TELEPORT_FACTOR",3),zt(r8,"RVO_FACING_DZ_FACTOR",.3),zt(r8,"RVO_ALIGN_WEIGHT",.4),zt(r8,"RVO_COHESION_WEIGHT",.02),zt(r8,"RVO_BOIDS_MIN_SPEED_FACTOR",.5);
+ Kt(H8,"RaidBattleController"),zt(H8,"instance"),zt(H8,"FIELD_WIDTH",1433.6),zt(H8,"FIELD_HEIGHT",1433.6),zt(H8,"BG_SCALE",1.4),zt(H8,"TIME_LIMIT_FRAMES",10800),zt(H8,"BOSS_DAMAGE_SCALE_STEPS",[{
+ frame:9e3,multiplier:4}
+ ,{
+ frame:7200,multiplier:3}
+ ,{
+ frame:5400,multiplier:2.5}
+ ,{
+ frame:3600,multiplier:2}
+ ,{
+ frame:1800,multiplier:1.5}
+ ]),zt(H8,"SCORPION_KIND_NUM",1e5),zt(H8,"HARPY_KIND_NUM",100001),zt(H8,"GOLEM_KIND_NUM",100002),zt(H8,"BOSS_KIND_NUM",H8.SCORPION_KIND_NUM),zt(H8,"BOSS_CLASS_BY_KIND",{
+ [H8.SCORPION_KIND_NUM]:fx.ScorpionKing,100001:fx.HarpyKing,100002:fx.GolemKing}
+ ),zt(H8,"BOSS_X",1050),zt(H8,"BOSS_Y",848),zt(H8,"BOSS_HP_MULT",1e4),zt(H8,"CROSSBOW_RING_RADII",[25,55,100,200]),zt(H8,"CROSSBOW_STUN_FRAMES",[0,180,240,300]),zt(H8,"CROSSBOW_HEAD_TIER",2),zt(H8,"CROSSBOW_KNOCKBACK",7),zt(H8,"CROSSBOW_DEBUG",!0),zt(H8,"BOSS_RADIUS",70),zt(H8,"FAN_HALF_WIDTH",170),zt(H8,"FAN_WING_CURVE",80),zt(H8,"FORM_SETTLE_DIST",30),zt(H8,"FORM_RELEASE_DIST",64),zt(H8,"MELEE_HUG_MARGIN",4),zt(H8,"SCORPION_SURROUND_X_SCALE",1.2),zt(H8,"SCORPION_SURROUND_Y_SCALE",.4),zt(H8,"GOLEM_SURROUND_X_SCALE",1),zt(H8,"GOLEM_SURROUND_Y_SCALE",.5),zt(H8,"SCORPION_TINT_BY_SUB",{
+ 1:12946687,2:9240460,3:16742263,4:16777072}
+ ),zt(H8,"GOLDEN_ANGLE",2.399963),zt(H8,"CORP_COUNT",5),zt(H8,"CORP_AGGRO_MULT",[1,1,1,1,1]),zt(H8,"AGGRO_HALFLIFE_SEC",4),zt(H8,"AGGRO_DECAY",Math.pow(.5,1/(60*H8.AGGRO_HALFLIFE_SEC))),zt(H8,"AGGRO_MIN",1),zt(H8,"AGGRO_SWITCH_MARGIN",1.2),zt(H8,"AGGRO_SWITCH_DWELL",36),zt(H8,"AGGRO_FACE_DEADZONE",50),zt(H8,"CORP2_TEST_DMG_MULT",3),zt(H8,"CORP1_SOLDIER_DMG_MULT",.5),zt(H8,"BOSS_DETECT_RANGE",4e3),zt(H8,"SOLDIER_ROWS",10),zt(H8,"SOLDIER_COLS",3),zt(H8,"SOLDIER_X_SPACING",52),zt(H8,"SOLDIER_Y_SPACING",36),zt(H8,"ALLY_HERO_X",60),zt(H8,"ALLY_SOLDIER_X_START",135),zt(H8,"MARCH_DISTANCE",1500),zt(H8,"SOLDIER_RANGE_MULT_MIN",1.3),zt(H8,"SOLDIER_RANGE_MULT_MAX",1.7),zt(H8,"RANGE_SOLDIER_MOVE_SPD_MULT_MIN",1),zt(H8,"RANGE_SOLDIER_MOVE_SPD_MULT_MAX",1.25),zt(H8,"MELEE_HERO_HP_MULT",2),zt(H8,"MELEE_SOLDIER_HP_MULT",1.5),zt(H8,"MELEE_ATK_RANGE_BONUS",20),zt(H8,"RANGE_HERO_ATK_RANGE_MULT",1.7),zt(H8,"MELEE_MOVE_SPD_MULT_MIN",1.2),zt(H8,"MELEE_MOVE_SPD_MULT_MAX",1.7),zt(H8,"MELEE_SOLDIER_LANE_OFFSET",210),zt(H8,"TERRAIN_MASK_ENABLED",!1),zt(H8,"SEPARATION_CELL",28),zt(H8,"SEPARATION_BUFFER",3),zt(H8,"RVO_TIME_HORIZON",8),zt(H8,"RVO_NEIGHBOR_DIST",48),zt(H8,"RVO_MAX_NEIGHBORS",10),zt(H8,"RVO_TELEPORT_FACTOR",3),zt(H8,"RVO_FACING_DZ_FACTOR",.3),zt(H8,"RVO_ALIGN_WEIGHT",.4),zt(H8,"RVO_COHESION_WEIGHT",.02),zt(H8,"RVO_BOIDS_MIN_SPEED_FACTOR",.5),zt(H8,"DEFAULT_HERO_KINDS",[60,58,78,54,56]),zt(H8,"DEFAULT_SOLDIER_KINDS",[20,4,7,1,13]);
EventDataManager 2 hunks, 218 statements
+ const pU=class{
+ static initEventList(){
+ this.getEventList(),setInterval(this.getEventList.bind(this),6e5)}
+ static async getEventList(){
+ if(1==this.requestPending)return;
+ this.setRequestPending(!0);
+ const t=await oD.getInstance().user.getEvents();
+ if(t.success&&0!=t.success){
+ if(this.objList={
+ }
+ ,t.body.loginEvents){
+ for(let i of t.body.loginEvents){
+ const t=new vU;
+ t.type=0,t.id=i.id,t.startTime=i.startTime,t.endTime=i.endTime,t.startHour=i.startHour,t.endHour=i.endHour,t.rewards=i.rewards,this.objList[t.type]||(this.objList[t.type]=[]),this.objList[t.type].push(t)}
+ this.isValidEvent(0)}
+ if(t.body.medalEvents){
+ for(let i of t.body.medalEvents){
+ const t=new vU;
+ t.type=2,t.id=i.id,t.startTime=i.startTime,t.endTime=i.endTime,t.day=i.day,t.max=i.max,t.multi=i.multi,t.userCount=i.userCount,this.objList[t.type]||(this.objList[t.type]=[]),this.objList[t.type].push(t)}
+ this.isValidEvent(2)}
+ if(t.body.heroResetEvents){
+ for(let i of t.body.heroResetEvents){
+ const t=new vU;
+ t.type=1,t.id=i.id,t.startTime=i.startTime,t.endTime=i.endTime,t.day=i.day,t.divide=i.divide,this.objList[t.type]||(this.objList[t.type]=[]),this.objList[t.type].push(t)}
+ this.isValidEvent(1)}
+ if(t.body.paymentEvents){
+ for(let i of t.body.paymentEvents){
+ const t=new vU;
+ t.type=3,t.id=i.id,t.startTime=i.startTime,t.endTime=i.endTime,t.day=i.day,t.date=i.date,t.rewards=i.rewards,t.rewardType=i.type,t.amounts=i.amounts,t.userAmount=i.userAmount,t.subType=this.normalizePaymentEventSubType(i.subType),this.objList[t.type]||(this.objList[t.type]=[]),this.objList[t.type].push(t)}
+ this.isValidEvent(3)}
+ this.setRequestPending(!1)}
+ else this.setRequestPending(!1)}
+ static getVOWithType(t){
+ return this.objList[t]}
+ static updateCurrentMedalEvent(t){
+ this.currentMedalEvent&&(this.currentMedalEvent.multi=t.multi,this.currentMedalEvent.userCount=t.count)}
+ static isValidEvent(t){
+ let i=this.getVOWithType(t);
+ if(null==i||0==i.length)return 1==t?this.currentHeroResetEvent=null:2==t?this.currentMedalEvent=null:3==t&&(this.currentPaymentSpecialEvent=null,this.currentPaymentMonthEvent=null),!1;
+ if(1==t){
+ for(let t of i)if((new Date).toUTCString().slice(0,3).toUpperCase()===t.day.toUpperCase())return this.currentHeroResetEvent=t,!0;
+ this.currentHeroResetEvent=null}
+ if(2==t){
+ for(let t of i)if((new Date).toUTCString().slice(0,3).toUpperCase()===t.day.toUpperCase())return this.currentMedalEvent=t,!0;
+ this.currentMedalEvent=null}
+ if(3==t){
+ this.currentPaymentSpecialEvent=null,this.currentPaymentMonthEvent=null;
+ for(let t of i){
+ const i=new Date;
+ this.isPaymentEventActive(t,i)&&("special"==t.subType?this.currentPaymentSpecialEvent=t:"month"==t.subType&&(this.currentPaymentMonthEvent=t))}
+ return null!=this.currentPaymentSpecialEvent||null!=this.currentPaymentMonthEvent}
+ return!1}
+ static isPaymentEventActive(t,i){
+ const s=i.getTime();
+ if(t.startTime&&s<new Date(t.startTime).getTime())return!1;
+ if(t.endTime&&s>new Date(t.endTime).getTime())return!1;
+ switch(t.rewardType){
+ case"range":return!0;
+ case"date":return t.date===i.getDate();
+ case"day":return this.isEventDayActive({
+ day:t.day,startTime:new Date(t.startTime),endTime:new Date(t.endTime)}
+ ,i);
+ default:return!1}
+ }
+ static normalizePaymentEventSubType(t){
+ return"month"===t||"special"===t?t:"special"}
+ static isEventDayActive(t,i){
+ const s=["SUN","MON","TUE","WED","THU","FRI","SAT"][i.getUTCDay()],e=t.day.toUpperCase()===s,n=!t.startTime||i>=t.startTime,h=!t.endTime||i<=t.endTime;
+ return e&&n&&h}
+ static isUsdCurrency(){
+ const t=SL.getInstance();
+ return t.isGoogleClient()||t.isAppleClient()}
+ static setRequestPending(t){
+ this.requestPending=t}
+ }
+ ;
+ Kt(pU,"EventDataManager"),zt(pU,"objList",{
+ }
+ ),zt(pU,"currentHeroResetEvent"),zt(pU,"currentMedalEvent"),zt(pU,"currentPaymentSpecialEvent"),zt(pU,"currentPaymentMonthEvent"),zt(pU,"requestPending",!1);
+ let gU=pU;
+ var mU=(t=>(t[t.LOGIN_EVENT=0]="LOGIN_EVENT",t[t.HERO_RESET_EVENT=1]="HERO_RESET_EVENT",t[t.MEDAL_EVENT=2]="MEDAL_EVENT",t[t.PAYMENT_EVENT=3]="PAYMENT_EVENT",t))(mU||{
+ }
+ );
+ const wU=class t{
+ constructor(){
+ zt(this,"type",-1),zt(this,"id",0),zt(this,"startTime",""),zt(this,"endTime",""),zt(this,"day",""),zt(this,"divide",1),zt(this,"startHour",0),zt(this,"endHour",0),zt(this,"max",0),zt(this,"multi",0),zt(this,"userCount",0),zt(this,"rewards",[]),zt(this,"date",0),zt(this,"amounts",[]),zt(this,"rewardType",""),zt(this,"userAmount",0),zt(this,"subType","")}
+ static getVO(){
+ let i;
+ return i=t.recycleList.length>0?t.recycleList.pop():new t,i}
+ remove(){
+ this.type=-1,t.recycleList.push(this)}
+ }
+ ;
+ Kt(wU,"EventVO"),zt(wU,"recycleList",[]);
+ let vU=wU;
+ const bU=class t{
+ constructor(){
+ zt(this,"items",[]),zt(this,"lastClaimedKn",0),zt(this,"nextClaimableKn",null),zt(this,"hasClaimable",!1)}
+ static getInstance(){
+ return this.instance||(this.instance=new t),this.instance}
+ setData(t){
+ if(t&&(this.lastClaimedKn=Number(t.lastClaimedKn)||0,this.nextClaimableKn=null===t.nextClaimableKn||void 0===t.nextClaimableKn?null:Number(t.nextClaimableKn),this.hasClaimable=!!t.hasClaimable,this.items=[],Array.isArray(t.items))){
+ for(const i of t.items){
+ const t=new MU;
+ t.kindNum=Number(i.kindNum)||0,t.wave=Number(i.wave)||0,t.heroKindNum=Number(i.heroKindNum)||0,t.claimed=!!i.claimed,t.claimable=!!i.claimable,this.items.push(t)}
+ this.items.sort((t,i)=>t.kindNum-i.kindNum)}
+ }
+ getNextUnclaimed(){
+ for(const t of this.items)if(!t.claimed)return t;
+ return null}
+ get isAllClaimed(){
+ return 0!==this.items.length&&this.items.every(t=>t.claimed)}
+ }
+ ;
+ Kt(bU,"HeroPresentDataManager"),zt(bU,"instance");
+ let yU=bU;
+ const _U=class{
+ constructor(){
+ zt(this,"kindNum",0),zt(this,"wave",0),zt(this,"heroKindNum",0),zt(this,"claimed",!1),zt(this,"claimable",!1)}
+ }
+ ;
+ Kt(_U,"HeroPresentItemVO");
+ let MU=_U;
- const W$=class{
- static initEventList(){
- this.getEventList(),setInterval(this.getEventList.bind(this),6e5)}
- static async getEventList(){
- if(1==this.requestPending)return;
- this.setRequestPending(!0);
- const t=await JR.getInstance().user.getEvents();
- if(t.success&&0!=t.success){
- if(this.objList={
- }
- ,t.body.loginEvents){
- for(let i of t.body.loginEvents){
- const t=new z$;
- t.type=0,t.id=i.id,t.startTime=i.startTime,t.endTime=i.endTime,t.startHour=i.startHour,t.endHour=i.endHour,t.rewards=i.rewards,this.objList[t.type]||(this.objList[t.type]=[]),this.objList[t.type].push(t)}
- this.isValidEvent(0)}
- if(t.body.medalEvents){
- for(let i of t.body.medalEvents){
- const t=new z$;
- t.type=2,t.id=i.id,t.startTime=i.startTime,t.endTime=i.endTime,t.day=i.day,t.max=i.max,t.multi=i.multi,t.userCount=i.userCount,this.objList[t.type]||(this.objList[t.type]=[]),this.objList[t.type].push(t)}
- this.isValidEvent(2)}
- if(t.body.heroResetEvents){
- for(let i of t.body.heroResetEvents){
- const t=new z$;
- t.type=1,t.id=i.id,t.startTime=i.startTime,t.endTime=i.endTime,t.day=i.day,t.divide=i.divide,this.objList[t.type]||(this.objList[t.type]=[]),this.objList[t.type].push(t)}
- this.isValidEvent(1)}
- if(t.body.paymentEvents){
- for(let i of t.body.paymentEvents){
- const t=new z$;
- t.type=3,t.id=i.id,t.startTime=i.startTime,t.endTime=i.endTime,t.day=i.day,t.date=i.date,t.rewards=i.rewards,t.rewardType=i.type,t.amounts=i.amounts,t.userAmount=i.userAmount,t.subType=this.normalizePaymentEventSubType(i.subType),this.objList[t.type]||(this.objList[t.type]=[]),this.objList[t.type].push(t)}
- this.isValidEvent(3)}
- this.setRequestPending(!1)}
- else this.setRequestPending(!1)}
- static getVOWithType(t){
- return this.objList[t]}
- static updateCurrentMedalEvent(t){
- this.currentMedalEvent&&(this.currentMedalEvent.multi=t.multi,this.currentMedalEvent.userCount=t.count)}
- static isValidEvent(t){
- let i=this.getVOWithType(t);
- if(null==i||0==i.length)return 1==t?this.currentHeroResetEvent=null:2==t?this.currentMedalEvent=null:3==t&&(this.currentPaymentSpecialEvent=null,this.currentPaymentMonthEvent=null),!1;
- if(1==t){
- for(let t of i)if((new Date).toUTCString().slice(0,3).toUpperCase()===t.day.toUpperCase())return this.currentHeroResetEvent=t,!0;
- this.currentHeroResetEvent=null}
- if(2==t){
- for(let t of i)if((new Date).toUTCString().slice(0,3).toUpperCase()===t.day.toUpperCase())return this.currentMedalEvent=t,!0;
- this.currentMedalEvent=null}
- if(3==t){
- this.currentPaymentSpecialEvent=null,this.currentPaymentMonthEvent=null;
- for(let t of i){
- const i=new Date;
- this.isPaymentEventActive(t,i)&&("special"==t.subType?this.currentPaymentSpecialEvent=t:"month"==t.subType&&(this.currentPaymentMonthEvent=t))}
- return null!=this.currentPaymentSpecialEvent||null!=this.currentPaymentMonthEvent}
- return!1}
- static isPaymentEventActive(t,i){
- const s=i.getTime();
- if(t.startTime&&s<new Date(t.startTime).getTime())return!1;
- if(t.endTime&&s>new Date(t.endTime).getTime())return!1;
- switch(t.rewardType){
- case"range":return!0;
- case"date":return t.date===i.getDate();
- case"day":return this.isEventDayActive({
- day:t.day,startTime:new Date(t.startTime),endTime:new Date(t.endTime)}
- ,i);
- default:return!1}
- }
- static normalizePaymentEventSubType(t){
- return"month"===t||"special"===t?t:"special"}
- static isEventDayActive(t,i){
- const s=["SUN","MON","TUE","WED","THU","FRI","SAT"][i.getUTCDay()],e=t.day.toUpperCase()===s,n=!t.startTime||i>=t.startTime,h=!t.endTime||i<=t.endTime;
- return e&&n&&h}
- static isUsdCurrency(){
- const t=fD.getInstance();
- return t.isGoogleClient()||t.isAppleClient()}
- static setRequestPending(t){
- this.requestPending=t}
- }
- ;
- Kt(W$,"EventDataManager"),zt(W$,"objList",{
- }
- ),zt(W$,"currentHeroResetEvent"),zt(W$,"currentMedalEvent"),zt(W$,"currentPaymentSpecialEvent"),zt(W$,"currentPaymentMonthEvent"),zt(W$,"requestPending",!1);
- let $$=W$;
- var V$=(t=>(t[t.LOGIN_EVENT=0]="LOGIN_EVENT",t[t.HERO_RESET_EVENT=1]="HERO_RESET_EVENT",t[t.MEDAL_EVENT=2]="MEDAL_EVENT",t[t.PAYMENT_EVENT=3]="PAYMENT_EVENT",t))(V$||{
- }
- );
- const K$=class t{
- constructor(){
- zt(this,"type",-1),zt(this,"id",0),zt(this,"startTime",""),zt(this,"endTime",""),zt(this,"day",""),zt(this,"divide",1),zt(this,"startHour",0),zt(this,"endHour",0),zt(this,"max",0),zt(this,"multi",0),zt(this,"userCount",0),zt(this,"rewards",[]),zt(this,"date",0),zt(this,"amounts",[]),zt(this,"rewardType",""),zt(this,"userAmount",0),zt(this,"subType","")}
- static getVO(){
- let i;
- return i=t.recycleList.length>0?t.recycleList.pop():new t,i}
- remove(){
- this.type=-1,t.recycleList.push(this)}
- }
- ;
- Kt(K$,"EventVO"),zt(K$,"recycleList",[]);
- let z$=K$;
ScorpionKing 3 hunks, 173 statements
+ constructor(){
+ super(...arguments),zt(this,"att02PullFramesRemaining",0),zt(this,"att02DamageApplied",!1),zt(this,"att03BulletBatchesFired",0)}
- this.spineKey="raids/raid1/Harpy",this.bossScale=1.3,this.spineTimeScale=.84,this.wanderEnabled=!0,this.wanderInterval=120,this.targetSwapChance=.3,this.wanderAfterAttackChance=.5,this.syncBoneName="Harpy",this.aniIdle="Harpy_idle",this.aniMove="Harpy_run",this.aniDie="Harpy_die",this.aniSkill0="Harpy_att1",this.aniSkills=["Harpy_att2","Harpy_att3","Harpy_att4","Harpy_att5"],this.eventSkill0Hit="att1_hit",this.eventSkillHits=["att2_hit","att3_hit","att4_hit","att5_hit"],this.isAir=!1,this.hitWidth=60,this.hitHeight=200,this.skillRatio=[.75,.55,.35,.15,0],this.numForSkillAttack=2,this.attackOrderList=[[1,0,0,1,2,0,4,1,2,4,4,4,1,4,1,3,0,2,0,1,4,3,1,0,1,0,1,1,1,1,0,1,2,2,2,2,0,1,4,2,1,4,1,3,3,4,0,3,2,3,1,2,1,1,3,1,3,3,0,4,1,0,4,3,0,2,2,1,0,1,4,3,2,2,1,3,3,1,4,2,0,2,4,0,2,1,3,1,3,0],[2,4,2,4,4,2,4,4,2,3,4,1,4,4,1,0,0,0,3,0,3,0,0,4,3,1,1,4,3,2,2,4,2,1,0,2,4,4,1,0,4,4,4,0,0,3,3,1,2,0,0,0,0,1,0,1,2,0,2,4,4,3,0,3,3,3,1,4,3,2,1,4,1,4,1,0,0,0,3,1,4,4,0,3,1,2,4,3,3,2],[3,3,4,4,2,2,0,1,2,1,4,3,4,1,2,4,4,2,1,0,2,1,0,2,1,4,1,1,4,4,3,3,1,3,3,0,2,4,4,1,2,3,2,0,0,3,2,3,2,2,1,3,1,1,4,2,4,2,4,2,3,2,4,3,2,1,0,3,4,0,1,3,4,1,1,4,3,3,0,2,0,4,4,2,4,1,0,3,0,2],[4,2,4,2,4,2,3,2,4,3,2,1,0,3,4,0,1,3,4,1,1,4,3,3,0,2,0,4,4,2,4,1,0,3,0,2,3,3,4,4,2,2,0,1,2,1,4,3,4,1,2,4,4,2,1,0,2,1,0,2,1,4,1,1,4,4,3,3,1,3,3,0,2,4,4,1,2,3,2,0,0,3,2,3,2,2,1,3,1,1],[0,1,0,1,1,1,1,0,1,2,2,2,2,0,1,4,2,1,4,1,3,3,4,0,3,2,3,1,2,1,1,3,1,3,3,0,4,1,0,4,3,0,2,2,1,0,1,4,3,2,2,1,3,3,1,4,2,0,2,4,0,2,1,3,1,3,0,1,0,0,1,2,0,4,1,2,4,4,4,1,4,1,3,0,2,0,1,4,3,1]]}
+ this.spineKey="raids/raid1/Scorpion",this.bossScale=1.3,this.spineTimeScale=.82,this.wanderEnabled=!0,this.wanderInterval=150,this.targetSwapChance=.25,this.wanderAfterAttackChance=.35,this.aniIdle="idle",this.aniMove="run",this.aniDie="die",this.aniSkill0="att_01",this.aniSkills=["att_02","att_03","att_04"],this.eventSkill0Hit="att_01_hit",this.eventSkillHits=["att_02_hit","att_03_hit","att_04_hit"],this.isAir=!1,this.hitWidth=150,this.hitHeight=100,this.weakPointBone="_face",this.weakPointSlotNames=t.FACE_POINT_NAMES,this.weakPointOffsetX=0,this.headTintSlots=t.FACE_POINT_NAMES,this.skillRatio=[.78,.55,.3,0],this.numForSkillAttack=2,this.attackOrderList=[[0,0,1,0,2,0,3,0,1,0,2,0,3],[0,1,0,0,2,0,1,3,0,2,0,0,3],[0,0,2,0,1,0,3,0,2,0,1,0,3]]}
- super.skill0(t),this.startAttackDash(300,400,90)}
+ this.resetAtt02State(),super.skill0(t),this.startAttackDashTo(t.x,t.y,55)}
+ skillN(t){
+ if(super.skillN(t),this.resetAtt02State(),2===t){
+ this.att03BulletBatchesFired=0;
+ const t=this.computeEnemyCentroid();
+ t&&this.startAttackDashTo(t.x,t.y,55)}
+ }
+ attackMain(){
+ const i=this.getBoneWorld(t.ATT1_TARGET_BONE)??{
+ x:this.x,y:this.y}
+ ;
+ this.applyAtt01Damage(i.x,i.y),this.radialBlow(i.x,i.y,t.ATT1_RADIUS,5,13,3,9)}
+ applyAtt01Damage(i,s){
+ if(!this.enemyList)return;
+ const e=t.ATT1_RADIUS*t.ATT1_RADIUS;
+ for(const n of this.enemyList){
+ if(!n.isAlive||n.removed||n.isUntagetable)continue;
+ const h=n.x-i,r=n.y-s;
+ if(h*h+r*r>e)continue;
+ const o=this.random.range(t.ATT1_DAMAGE_MIN,t.ATT1_DAMAGE_MAX);
+ this.doDamage(n,o,!0)}
+ }
+ skillMain1(){
+ this.att02PullFramesRemaining<=0?this.startAtt02Pull():this.pullEnemiesToAtt02Center(),this.att02DamageApplied||(this.att02DamageApplied=!0,this.applyAtt02Splash())}
+ skillMain2(){
+ this.att03BulletBatchesFired>=t.POISON_BULLET_MAX_BATCHES||(this.att03BulletBatchesFired++,this.firePoisonBulletVolley(t.POISON_BULLET_BATCH_COUNT))}
+ skillMain3(){
+ const i=this.getBoneWorld(t.ATT4_HIT_BONE)??{
+ x:this.x,y:this.y}
+ ;
+ this.applyAtt04ImpactDamage(i.x,i.y),this.radialBlow(i.x,i.y,t.ATT4_BLOW_RADIUS,t.ATT4_BLOW_POWER_MIN,t.ATT4_BLOW_POWER_MAX,t.ATT4_BLOW_VH_MIN,t.ATT4_BLOW_VH_MAX)}
+ onSpineEvent(i){
+ i!==t.ATT4_BABY_HIT_EVENT?super.onSpineEvent(i):this.applyAtt04Knockback()}
+ escapeSkill(){
+ this.skillN(3)}
+ onRaidStunStart(){
+ this.resetAtt02State()}
+ execute(){
+ super.execute(),this.updateAtt02Pull()}
+ resetAtt02State(){
+ this.att02PullFramesRemaining=0,this.att02DamageApplied=!1}
+ startAtt02Pull(){
+ this.att02PullFramesRemaining=Math.max(this.att02PullFramesRemaining,this.getAtt02PullDurationFrames()),this.pullEnemiesToAtt02Center()}
+ getAtt02PullDurationFrames(){
+ const i=(t.ATT2_SPLASH_END_SPINE_FRAME-t.ATT2_SPLASH_START_SPINE_FRAME)/t.ATT2_SPINE_FPS;
+ return Math.ceil(60*i/Math.max(.001,this.spineTimeScale))}
+ updateAtt02Pull(){
+ this.att02PullFramesRemaining<=0||(this.state===cx.SKILL?(this.pullEnemiesToAtt02Center(),this.att02PullFramesRemaining--):this.att02PullFramesRemaining=0)}
+ applyRaidPostFormationEffects(){
+ this.att02PullFramesRemaining<=0||this.state===cx.SKILL&&this.pullEnemiesToAtt02Center()}
+ pullEnemiesToAtt02Center(){
+ if(!this.enemyList)return;
+ const i=this.getAtt02SplashCenter(),s=t.ATT2_PULL_RADIUS*t.ATT2_PULL_RADIUS;
+ for(const e of this.enemyList){
+ if(!e.isAlive||e.removed||e.isUntagetable)continue;
+ if(e.isImmovable)continue;
+ const n=i.x-e.x,h=i.y-e.y,r=n*n+h*h;
+ if(r>s||r<1)continue;
+ const o=Math.sqrt(r),a=1-o/t.ATT2_PULL_RADIUS,c=Math.min(o,t.ATT2_PULL_SPEED*(.4+a));
+ e.x+=n/o*c,e.y+=h/o*c,e.tx=e.x,e.ty=e.y}
+ }
+ applyAtt02Splash(){
+ const i=this.getAtt02SplashCenter(),s=t.ATT2_SPLASH_RADIUS*t.ATT2_SPLASH_RADIUS;
+ if(this.enemyList)for(const e of this.enemyList){
+ if(!e.isAlive||e.removed||e.isUntagetable)continue;
+ const n=e.x-i.x,h=e.y-i.y;
+ if(n*n+h*h>s)continue;
+ const r=this.random.range(t.ATT2_DAMAGE_MIN,t.ATT2_DAMAGE_MAX);
+ this.doDamage(e,r,!0),e.isAlive&&e.poison(Math.floor(this.random.range(t.ATT2_POISON_MIN,t.ATT2_POISON_MAX+1)))}
+ this.radialBlow(i.x,i.y,t.ATT2_SPLASH_RADIUS,3.5,8.5,2,5.5),this.spawnAtt02PoisonArea(i.x,i.y)}
+ getAtt02SplashCenter(){
+ const i=this.getBoneWorld(t.ATT2_SPLASH_BONE);
+ return i&&!this.isAtt02SplashAtBodyCenter(i)?i:this.getAtt02SplashFallbackCenter()}
+ isAtt02SplashAtBodyCenter(i){
+ const s=i.x-this.x,e=i.y-this.y,n=t.ATT2_SPLASH_CENTER_EPSILON;
+ return s*s+e*e<=n*n}
+ getAtt02SplashFallbackCenter(){
+ var i,s;
+ const e=this.bossScale*(this.spineFacesLeftByDefault?-1:1)*(this.direction>0?1:-1),n=(null==(i=this.spine)?void 0:i.scale.x)??e,h=(null==(s=this.spine)?void 0:s.scale.y)??this.bossScale;
+ return{
+ x:this.x+t.ATT2_SPLASH_LOCAL_X*n,y:this.y+t.ATT2_SPLASH_LOCAL_Y*h}
+ }
+ spawnAtt02PoisonArea(i,s){
+ const e=SQ.getInstance().getWeapon(YX.ScorpionPoisonArea);
+ e.owner=this,e.target=null,e.x=i,e.y=s,e.setBattleController(this.battleController),e.setData(t.ATT2_POISON_AREA_DAMAGE_PER_SEC),e.setEllipseArea(t.ATT2_POISON_AREA_RADIUS_X,t.ATT2_POISON_AREA_RADIUS_Y,t.ATT2_POISON_AREA_DURATION),e.play()}
+ applyAtt04Knockback(){
+ const i=this.getBoneWorld(t.ATT4_HIT_BONE)??{
+ x:this.x,y:this.y}
+ ;
+ this.radialKnockback(i.x,i.y,t.ATT4_KNOCKBACK_RADIUS,t.ATT4_KNOCKBACK_POWER_MIN,t.ATT4_KNOCKBACK_POWER_MAX,t.ATT4_KNOCKBACK_DURATION)}
+ applyAtt04ImpactDamage(i,s){
+ if(!this.enemyList)return;
+ const e=t.ATT4_IMPACT_RADIUS*t.ATT4_IMPACT_RADIUS;
+ for(const n of this.enemyList){
+ if(!n.isAlive||n.removed||n.isUntagetable)continue;
+ const h=n.x-i,r=n.y-s;
+ if(h*h+r*r>e)continue;
+ const o=this.random.range(t.ATT4_DAMAGE_MIN,t.ATT4_DAMAGE_MAX);
+ this.doDamage(n,o,!0),n.isAlive&&n.stun(t.ATT4_STUN_DURATION)}
+ }
+ computeEnemyCentroid(){
+ if(!this.enemyList||0===this.enemyList.length)return null;
+ let t=0,i=0,s=0;
+ for(const e of this.enemyList)e.isAlive&&(t+=e.x,i+=e.y,s++);
+ return 0===s?null:{
+ x:t/s,y:i/s}
+ }
+ firePoisonBulletVolley(i){
+ const s=this.getPoisonBulletTargets();
+ if(0===s.length)return;
+ const e=this.getBoneWorld("tail_ball")??{
+ x:this.x,y:this.y-.65*this.hitHeight}
+ ;
+ for(let n=0;
+ n<i;
+ n++){
+ const i=s[this.random.nextInt(s.length)],h=SQ.getInstance().getWeapon(YX.ScorpionPoisonBullet);
+ h.target=i,h.owner=this;
+ const r=this.random.range(20,50);
+ h.x=e.x+this.direction*r+this.random.range(-10,10)+10,h.y=e.y+this.random.range(-10,10)+55,h.rotation=Math.atan2(i.y-h.y,i.x-h.x),h.bounceCount=0,h.hitClassName="",h.setData(this.random.range(t.POISON_BULLET_DAMAGE_MIN,t.POISON_BULLET_DAMAGE_MAX)),h.setBattleController(this.battleController),h.delay=Math.floor(n/4),dB.getInstance().addChild(h),h.play()}
+ }
+ getPoisonBulletTargets(){
+ var t;
+ const i=this.battleController,s=(null==(t=null==i?void 0:i.getRaidCorpUnitsAroundTarget)?void 0:t.call(i,this.target??null))??[];
+ return(s.length>0?s:this.enemyList).filter(t=>t.isAlive&&!t.removed&&!t.isUntagetable)}
+ radialBlow(i,s,e,n,h,r,o){
+ if(!this.enemyList)return;
+ const a=e*e;
+ for(const c of this.enemyList){
+ if(!c.isAlive)continue;
+ const e=c.x-i,l=c.y-s,u=e*e+l*l;
+ if(u>a)continue;
+ const d=Math.sqrt(u);
+ let f,p;
+ if(d<.01){
+ const t=this.random.next()*Math.PI*2;
+ f=Math.cos(t),p=Math.sin(t)}
+ else f=e/d,p=l/d;
+ const g=(n+this.random.next()*(h-n))*t.BLOW_SCALE,m=-(r+this.random.next()*(o-r))*t.BLOW_SCALE;
+ c.blow(f*g,p*g,m)}
+ }
+ radialKnockback(t,i,s,e,n,h){
+ if(!this.enemyList)return;
+ const r=s*s;
+ for(const o of this.enemyList){
+ if(!o.isAlive||o.removed||o.isUntagetable)continue;
+ const s=o.x-t,a=o.y-i,c=s*s+a*a;
+ if(c>r)continue;
+ const l=Math.sqrt(c);
+ let u,d;
+ if(l<.01){
+ const t=this.random.next()*Math.PI*2;
+ u=Math.cos(t),d=Math.sin(t)}
+ else u=s/l,d=a/l;
+ const f=e+this.random.next()*(n-e);
+ o.knockBack(u*f,d*f,h)}
+ }
+ }
+ ;
+ Kt(S2,"ScorpionKing"),zt(S2,"FACE_POINT_NAMES",["_face","face_"]),zt(S2,"BLOW_SCALE",.7),zt(S2,"POISON_BULLET_BATCH_COUNT",16),zt(S2,"POISON_BULLET_MAX_BATCHES",7),zt(S2,"POISON_BULLET_DAMAGE_MIN",1),zt(S2,"POISON_BULLET_DAMAGE_MAX",2),zt(S2,"ATT1_TARGET_BONE","target_01"),zt(S2,"ATT1_RADIUS",100),zt(S2,"ATT1_DAMAGE_MIN",1),zt(S2,"ATT1_DAMAGE_MAX",3),zt(S2,"ATT2_SPINE_FPS",30),zt(S2,"ATT2_SPLASH_START_SPINE_FRAME",24),zt(S2,"ATT2_SPLASH_END_SPINE_FRAME",58),zt(S2,"ATT2_SPLASH_RADIUS",150),zt(S2,"ATT2_DAMAGE_MIN",1.5),zt(S2,"ATT2_DAMAGE_MAX",3),zt(S2,"ATT2_POISON_MIN",100),zt(S2,"ATT2_POISON_MAX",150),zt(S2,"ATT2_SPLASH_BONE","Splash-01"),zt(S2,"ATT2_SPLASH_LOCAL_X",-133.46),zt(S2,"ATT2_SPLASH_LOCAL_Y",-17.69),zt(S2,"ATT2_SPLASH_CENTER_EPSILON",20),zt(S2,"ATT2_PULL_RADIUS",200),zt(S2,"ATT2_PULL_SPEED",12),zt(S2,"ATT2_POISON_AREA_RADIUS_X",112.5),zt(S2,"ATT2_POISON_AREA_RADIUS_Y",54),zt(S2,"ATT2_POISON_AREA_DURATION",1200),zt(S2,"ATT2_POISON_AREA_DAMAGE_PER_SEC",1),zt(S2,"ATT3_RADIUS",280),zt(S2,"ATT4_HIT_BONE","hit_01"),zt(S2,"ATT4_BABY_HIT_EVENT","baby_att_hit"),zt(S2,"ATT4_BLOW_RADIUS",200),zt(S2,"ATT4_BLOW_POWER_MIN",5),zt(S2,"ATT4_BLOW_POWER_MAX",14),zt(S2,"ATT4_BLOW_VH_MIN",3),zt(S2,"ATT4_BLOW_VH_MAX",9),zt(S2,"ATT4_IMPACT_RADIUS",110),zt(S2,"ATT4_DAMAGE_MIN",1),zt(S2,"ATT4_DAMAGE_MAX",3),zt(S2,"ATT4_STUN_DURATION",240),zt(S2,"ATT4_KNOCKBACK_RADIUS",100),zt(S2,"ATT4_KNOCKBACK_POWER_MIN",6),zt(S2,"ATT4_KNOCKBACK_POWER_MAX",10),zt(S2,"ATT4_KNOCKBACK_DURATION",18);
+ let C2=S2;
+ const T2=class t extends A2{
+ constructor(){
+ super(...arguments),zt(this,"att5Active",!1),zt(this,"att5BurstIndex",0),zt(this,"att1TargetCorp",-1),zt(this,"att4FacingLocked",!1)}
+ initializeData2(){
+ this.spineKey="raids/raid1/Harpy",this.bossScale=1.3,this.spineTimeScale=.84,this.wanderEnabled=!0,this.wanderInterval=120,this.targetSwapChance=.3,this.wanderAfterAttackChance=.5,this.syncBoneName="Harpy",this.aniIdle="Harpy_idle",this.aniMove="Harpy_run",this.aniDie="Harpy_die",this.aniSkill0="Harpy_att1",this.aniSkills=["Harpy_att2","Harpy_att3","Harpy_att4","Harpy_att5"],this.eventSkill0Hit="att1_hit",this.eventSkillHits=["att2_hit","att3_hit","att4_hit","att5_hit"],this.isAir=!1,this.airTargetOnly=!0,this.hitWidth=60,this.hitHeight=200,this.skillRatio=[.75,.55,.35,.15,0],this.numForSkillAttack=2,this.attackOrderList=[[1,0,0,1,2,0,4,1,2,4,4,4,1,4,1,3,0,2,0,1,4,3,1,0,1,0,1,1,1,1,0,1,2,2,2,2,0,1,4,2,1,4,1,3,3,4,0,3,2,3,1,2,1,1,3,1,3,3,0,4,1,0,4,3,0,2,2,1,0,1,4,3,2,2,1,3,3,1,4,2,0,2,4,0,2,1,3,1,3,0],[2,4,2,4,4,2,4,4,2,3,4,1,4,4,1,0,0,0,3,0,3,0,0,4,3,1,1,4,3,2,2,4,2,1,0,2,4,4,1,0,4,4,4,0,0,3,3,1,2,0,0,0,0,1,0,1,2,0,2,4,4,3,0,3,3,3,1,4,3,2,1,4,1,4,1,0,0,0,3,1,4,4,0,3,1,2,4,3,3,2],[3,3,4,4,2,2,0,1,2,1,4,3,4,1,2,4,4,2,1,0,2,1,0,2,1,4,1,1,4,4,3,3,1,3,3,0,2,4,4,1,2,3,2,0,0,3,2,3,2,2,1,3,1,1,4,2,4,2,4,2,3,2,4,3,2,1,0,3,4,0,1,3,4,1,1,4,3,3,0,2,0,4,4,2,4,1,0,3,0,2],[4,2,4,2,4,2,3,2,4,3,2,1,0,3,4,0,1,3,4,1,1,4,3,3,0,2,0,4,4,2,4,1,0,3,0,2,3,3,4,4,2,2,0,1,2,1,4,3,4,1,2,4,4,2,1,0,2,1,0,2,1,4,1,1,4,4,3,3,1,3,3,0,2,4,4,1,2,3,2,0,0,3,2,3,2,2,1,3,1,1],[0,1,0,1,1,1,1,0,1,2,2,2,2,0,1,4,2,1,4,1,3,3,4,0,3,2,3,1,2,1,1,3,1,3,3,0,4,1,0,4,3,0,2,2,1,0,1,4,3,2,2,1,3,3,1,4,2,0,2,4,0,2,1,3,1,3,0,1,0,0,1,2,0,4,1,2,4,4,4,1,4,1,3,0,2,0,1,4,3,1]]}
+ skill0(i){
+ super.skill0(i),this.att1TargetCorp=this.pickRandomAliveCorpIndex();
+ const s=this.att1TargetCorp>=0?this.getCorpCenterByIndex(this.att1TargetCorp):null;
+ s?this.startAttackDashTo(s.x,s.y,t.ATT1_DASH_FRAMES):this.startAttackDash(300,400,t.ATT1_DASH_FRAMES)}
ScorpionPoisonBullet 1 hunks, 172 statements
+ var fQ=(t=>(t[t.NONE=0]="NONE",t[t.OrcHunter1_RANGEEVADE_BUFF=1]="OrcHunter1_RANGEEVADE_BUFF",t[t.OrcRapterRider1_MOVESPEED_DEBUFF=2]="OrcRapterRider1_MOVESPEED_DEBUFF",t[t.Succubus1_MOVESPEED_BUFF=3]="Succubus1_MOVESPEED_BUFF",t[t.Succubus1_ATTACKSPEED_BUFF=4]="Succubus1_ATTACKSPEED_BUFF",t[t.ScorpionPoisonBullet_MOVESPEED_DEBUFF=5]="ScorpionPoisonBullet_MOVESPEED_DEBUFF",t[t.ScorpionPoisonBullet_ATTACKSPEED_DEBUFF=6]="ScorpionPoisonBullet_ATTACKSPEED_DEBUFF",t[t.DrillSl1_PENETRATE_BUFF=11]="DrillSl1_PENETRATE_BUFF",t[t.DrillSl1_SKILL2_BUFF=12]="DrillSl1_SKILL2_BUFF",t[t.DrillSl1_SKILL3_BUFF=13]="DrillSl1_SKILL3_BUFF",t[t.DrillSl1_SKILL4_BUFF=14]="DrillSl1_SKILL4_BUFF",t[t.DrillSl1_ROSTER_BUFF=15]="DrillSl1_ROSTER_BUFF",t[t.BombSl1_SKILL2_BUFF=21]="BombSl1_SKILL2_BUFF",t[t.BombSl1_SKILL3_BUFF=22]="BombSl1_SKILL3_BUFF",t[t.BombSl1_SKILL4_BUFF=23]="BombSl1_SKILL4_BUFF",t[t.BombSl1_ROSTER_BUFF=24]="BombSl1_ROSTER_BUFF",t[t.NurSl1_SKILL2_BUFF=31]="NurSl1_SKILL2_BUFF",t[t.NurSl1_ROSTER_BUFF=32]="NurSl1_ROSTER_BUFF",t[t.MagmaSl1_SKILL2_BUFF=41]="MagmaSl1_SKILL2_BUFF",t[t.MagmaSl1_SKILL3_BUFF=42]="MagmaSl1_SKILL3_BUFF",t[t.MagmaSl1_ROSTER_BUFF=43]="MagmaSl1_ROSTER_BUFF",t[t.TreebarkSl1_SKILL2_BUFF=51]="TreebarkSl1_SKILL2_BUFF",t[t.TreebarkSl1_SKILL3_BUFF=52]="TreebarkSl1_SKILL3_BUFF",t[t.TreebarkSl1_ROSTER_BUFF=53]="TreebarkSl1_ROSTER_BUFF",t[t.IcespearSl1_SKILL2_BUFF=61]="IcespearSl1_SKILL2_BUFF",t[t.IcespearSl1_SKILL3_BUFF=62]="IcespearSl1_SKILL3_BUFF",t[t.IcespearSl1_SKILL4_BUFF=63]="IcespearSl1_SKILL4_BUFF",t[t.IcespearSl1_ROSTER_BUFF=64]="IcespearSl1_ROSTER_BUFF",t[t.VinewhipSl1_SKILL2_BUFF=71]="VinewhipSl1_SKILL2_BUFF",t[t.VinewhipSl1_SKILL3_BUFF=72]="VinewhipSl1_SKILL3_BUFF",t[t.VinewhipSl1_SKILL4_BUFF=73]="VinewhipSl1_SKILL4_BUFF",t[t.VinewhipSl1_ROSTER_BUFF=74]="VinewhipSl1_ROSTER_BUFF",t[t.FlamecannonSl1_SKILL2_BUFF=81]="FlamecannonSl1_SKILL2_BUFF",t[t.FlamecannonSl1_SKILL3_BUFF=82]="FlamecannonSl1_SKILL3_BUFF",t[t.FlamecannonSl1_SKILL4_BUFF=83]="FlamecannonSl1_SKILL4_BUFF",t[t.FlamecannonSl1_ROSTER_BUFF=84]="FlamecannonSl1_ROSTER_BUFF",t[t.IcebowSl1_SKILL2_BUFF=91]="IcebowSl1_SKILL2_BUFF",t[t.IcebowSl1_SKILL3_BUFF=92]="IcebowSl1_SKILL3_BUFF",t[t.IcebowSl1_SKILL4_BUFF=93]="IcebowSl1_SKILL4_BUFF",t[t.IcebowSl1_ROSTER_BUFF=94]="IcebowSl1_ROSTER_BUFF",t[t.FlowerSl1_SKILL2_BUFF=101]="FlowerSl1_SKILL2_BUFF",t[t.FlowerSl1_ROSTER_BUFF=102]="FlowerSl1_ROSTER_BUFF",t[t.HotpoolSl1_SKILL2_BUFF=111]="HotpoolSl1_SKILL2_BUFF",t[t.HotpoolSl1_ROSTER_BUFF=112]="HotpoolSl1_ROSTER_BUFF",t[t.HotpoolSl1_DAMAGE_BUFF=113]="HotpoolSl1_DAMAGE_BUFF",t[t.GlacierSl1_SKILL2_BUFF=114]="GlacierSl1_SKILL2_BUFF",t[t.GlacierSl1_SKILL3_BUFF=115]="GlacierSl1_SKILL3_BUFF",t[t.GlacierSl1_ROSTER_BUFF=116]="GlacierSl1_ROSTER_BUFF",t[t.GlacierSl1_SKILL4_BUFF=117]="GlacierSl1_SKILL4_BUFF",t[t.FladiatorSl1_SKILL2_BUFF=118]="FladiatorSl1_SKILL2_BUFF",t[t.FladiatorSl1_SKILL3_BUFF=119]="FladiatorSl1_SKILL3_BUFF",t[t.FladiatorSl1_SKILL4_BUFF=120]="FladiatorSl1_SKILL4_BUFF",t[t.FladiatorSl1_ROSTER_BUFF=121]="FladiatorSl1_ROSTER_BUFF",t[t.FladiatorSl1_CRTICAL_BUFF=122]="FladiatorSl1_CRTICAL_BUFF",t[t.ManaBloomSl1_SKILL2_BUFF=123]="ManaBloomSl1_SKILL2_BUFF",t[t.ManaBloomSl1_SKILL3_BUFF=124]="ManaBloomSl1_SKILL3_BUFF",t[t.ManaBloomSl1_SKILL4_BUFF=125]="ManaBloomSl1_SKILL4_BUFF",t[t.ManaBloomSl1_ROSTER_BUFF=126]="ManaBloomSl1_ROSTER_BUFF",t[t.ClearSl1_SKILL2_BUFF=127]="ClearSl1_SKILL2_BUFF",t[t.ClearSl1_ROSTER_BUFF=128]="ClearSl1_ROSTER_BUFF",t[t.SlimeRacing_DAMAGE_BUFF=129]="SlimeRacing_DAMAGE_BUFF",t[t.SlimeRacing_ATTACK_SPEED_BUFF=130]="SlimeRacing_ATTACK_SPEED_BUFF",t[t.SlimeRacing_MOVE_SPEED_BUFF=131]="SlimeRacing_MOVE_SPEED_BUFF",t[t.RACE_REVIVE_MOVE_SPEED_BUFF=132]="RACE_REVIVE_MOVE_SPEED_BUFF",t[t.RACE_CHEERUP_MOVE_SPEED_BUFF=133]="RACE_CHEERUP_MOVE_SPEED_BUFF",t[t.RACE_CHEERUP_ATTACK_SPEED_BUFF=134]="RACE_CHEERUP_ATTACK_SPEED_BUFF",t[t.EXCAVATION_ENCOUNTER_DEFENSE_BUFF=135]="EXCAVATION_ENCOUNTER_DEFENSE_BUFF",t[t.SteelbashSl1_SKILL2_BUFF=136]="SteelbashSl1_SKILL2_BUFF",t[t.SteelbashSl1_SKILL3_BUFF=137]="SteelbashSl1_SKILL3_BUFF",t[t.SteelbashSl1_ROSTER_BUFF=138]="SteelbashSl1_ROSTER_BUFF",t[t.FlamdancerSl1_SKILL2_BUFF=139]="FlamdancerSl1_SKILL2_BUFF",t[t.FlamdancerSl1_SKILL3_BUFF=140]="FlamdancerSl1_SKILL3_BUFF",t[t.FlamdancerSl1_ROSTER_BUFF=141]="FlamdancerSl1_ROSTER_BUFF",t[t.FrostreaverSl1_SKILL2_BUFF=142]="FrostreaverSl1_SKILL2_BUFF",t[t.FrostreaverSl1_SKILL3_BUFF=143]="FrostreaverSl1_SKILL3_BUFF",t[t.FrostreaverSl1_ROSTER_BUFF=144]="FrostreaverSl1_ROSTER_BUFF",t[t.ThornjaSl1_SKILL2_BUFF=145]="ThornjaSl1_SKILL2_BUFF",t[t.ThornjaSl1_SKILL3_BUFF=146]="ThornjaSl1_SKILL3_BUFF",t[t.ThornjaSl1_SKILL4_BUFF=147]="ThornjaSl1_SKILL4_BUFF",t[t.ThornjaSl1_ROSTER_BUFF=148]="ThornjaSl1_ROSTER_BUFF",t[t.RACE_MAPTYPE1_ATKSPD_BUFF=149]="RACE_MAPTYPE1_ATKSPD_BUFF",t[t.RACE_MAPTYPE1_MOVESPD_BUFF=150]="RACE_MAPTYPE1_MOVESPD_BUFF",t[t.GearbladeSl1_SKILL2_BUFF=151]="GearbladeSl1_SKILL2_BUFF",t[t.GearbladeSl1_SKILL3_BUFF=152]="GearbladeSl1_SKILL3_BUFF",t[t.GearbladeSl1_SKILL4_BUFF=153]="GearbladeSl1_SKILL4_BUFF",t[t.GearbladeSl1_ROSTER_BUFF=154]="GearbladeSl1_ROSTER_BUFF",t[t.EmbersageSl1_SKILL2_BUFF=155]="EmbersageSl1_SKILL2_BUFF",t[t.EmbersageSl1_ROSTER_BUFF=156]="EmbersageSl1_ROSTER_BUFF",t[t.TidecallerSl1_SKILL2_BUFF=157]="TidecallerSl1_SKILL2_BUFF",t[t.TidecallerSl1_ROSTER_BUFF=158]="TidecallerSl1_ROSTER_BUFF",t[t.GrovewardenSl1_SKILL2_BUFF=159]="GrovewardenSl1_SKILL2_BUFF",t[t.GrovewardenSl1_SKILL3_BUFF=160]="GrovewardenSl1_SKILL3_BUFF",t[t.GrovewardenSl1_ROSTER_BUFF=161]="GrovewardenSl1_ROSTER_BUFF",t[t.FrankenSl1_SKILL2_BUFF=162]="FrankenSl1_SKILL2_BUFF",t[t.FrankenSl1_ROSTER_BUFF=164]="FrankenSl1_ROSTER_BUFF",t[t.WolfSl1_SKILL2_BUFF=165]="WolfSl1_SKILL2_BUFF",t[t.WolfSl1_SKILL3_BUFF=166]="WolfSl1_SKILL3_BUFF",t[t.WolfSl1_SKILL4_BUFF=167]="WolfSl1_SKILL4_BUFF",t[t.WolfSl1_ROSTER_BUFF=168]="WolfSl1_ROSTER_BUFF",t[t.BatSl1_SKILL2_BUFF=169]="BatSl1_SKILL2_BUFF",t[t.BatSl1_SKILL3_BUFF=170]="BatSl1_SKILL3_BUFF",t[t.BatSl1_SKILL4_BUFF=171]="BatSl1_SKILL4_BUFF",t[t.BatSl1_ROSTER_BUFF=172]="BatSl1_ROSTER_BUFF",t[t.SkullSl1_SKILL2_BUFF=173]="SkullSl1_SKILL2_BUFF",t[t.SkullSl1_ROSTER_BUFF=174]="SkullSl1_ROSTER_BUFF",t[t.Bomber1_ATKSPD_BUFF=200]="Bomber1_ATKSPD_BUFF",t[t.Bomber1_MOVESPD_BUFF=201]="Bomber1_MOVESPD_BUFF",t[t.TigerRider1_ATKSPD_BUFF=210]="TigerRider1_ATKSPD_BUFF",t[t.TigerRider1_MOVESPD_BUFF=211]="TigerRider1_MOVESPD_BUFF",t[t.Sylphid1_ATKSPD_STACK=220]="Sylphid1_ATKSPD_STACK",t[t.WyvernRider1_ATKSPD_BUFF=230]="WyvernRider1_ATKSPD_BUFF",t[t.WyvernRider1_MOVESPD_BUFF=231]="WyvernRider1_MOVESPD_BUFF",t[t.WyvernRider1_ATKDMG_BUFF=232]="WyvernRider1_ATKDMG_BUFF",t[t.WingKnight1_FLASH_BUFF=240]="WingKnight1_FLASH_BUFF",t[t.WingKnight1_DASH_BUFF=241]="WingKnight1_DASH_BUFF",t[t.WingKnight1_BERSERK_ATKSPD=242]="WingKnight1_BERSERK_ATKSPD",t[t.WingKnight1_BERSERK_ATKDMG=243]="WingKnight1_BERSERK_ATKDMG",t[t.WingKnight1_FLASH_MOVSPD=244]="WingKnight1_FLASH_MOVSPD",t[t.WingKnight1_FLASH_ATKSPD=245]="WingKnight1_FLASH_ATKSPD",t[t.BladeMaster1_KILL_ATKSPD=250]="BladeMaster1_KILL_ATKSPD",t[t.BladeMaster1_KILL_ATKDMG=251]="BladeMaster1_KILL_ATKDMG",t[t.BladeMaster1_RANGE_ATKSPD=252]="BladeMaster1_RANGE_ATKSPD",t[t.BladeMaster1_MELEE_MOVESPD=253]="BladeMaster1_MELEE_MOVESPD",t[t.BladeMaster1_MELEE_ATKDMG=254]="BladeMaster1_MELEE_ATKDMG",t[t.BladeMaster1_RUSH_ATKSPD=255]="BladeMaster1_RUSH_ATKSPD",t[t.BladeMaster1_RUSH_MOVESPD=256]="BladeMaster1_RUSH_MOVESPD",t[t.Aladin1_SAND_SLOW=260]="Aladin1_SAND_SLOW",t[t.Aladin1_BLESSING_ATKDMG=261]="Aladin1_BLESSING_ATKDMG",t[t.Druid1_VINE_ATKDMG=270]="Druid1_VINE_ATKDMG",t[t.Druid1_VINE_DEFENSE=271]="Druid1_VINE_DEFENSE",t[t.CrowKnight1_ORBIT_ATKSPD=280]="CrowKnight1_ORBIT_ATKSPD",t[t.CrowKnight1_ORBIT_ATKDMG=281]="CrowKnight1_ORBIT_ATKDMG",t[t.RaidEmblemRogue_ACTIVE_ATKSPD=300]="RaidEmblemRogue_ACTIVE_ATKSPD",t[t.RaidEmblemRogue_ACTIVE_ATKDMG=301]="RaidEmblemRogue_ACTIVE_ATKDMG",t[t.RaidEmblemMage_BOSS_ATKSPD=302]="RaidEmblemMage_BOSS_ATKSPD",t[t.RaidEmblemMage_BOSS_DEFENSE=303]="RaidEmblemMage_BOSS_DEFENSE",t[t.BURN_DEBUFF=1001]="BURN_DEBUFF",t[t.BLOODY_DEBUFF=1002]="BLOODY_DEBUFF",t[t.RACE_ROLETYPE_MOVE_SPEED_DEBUFF=1003]="RACE_ROLETYPE_MOVE_SPEED_DEBUFF",t[t.RACE_ROLETYPE_DAMAGE_DEBUFF=1004]="RACE_ROLETYPE_DAMAGE_DEBUFF",t[t.EXCAVATION_CRITICALHIT_DEFENSE_DEBUFF=1005]="EXCAVATION_CRITICALHIT_DEFENSE_DEBUFF",t[t.RACE_MAPTYPE2_DEBUFF=1006]="RACE_MAPTYPE2_DEBUFF",t[t.TidecallerSl1_SKILL2_DEBUFF=1007]="TidecallerSl1_SKILL2_DEBUFF",t[t.RAID_BOSS1_DEBUFF=1008]="RAID_BOSS1_DEBUFF",t[t.MOSSGOLEM_DEFENSE_BUFF=1009]="MOSSGOLEM_DEFENSE_BUFF",t))(fQ||{
+ }
+ );
+ const pQ=class t extends QX{
+ initializeTextureName(){
+ this.className=YX.ScorpionPoisonBullet,this.sheetName="RaidBattle",this.textureName="PoisonBullet"}
+ initializeData(){
+ this.hitClassName="",this.g=0,this.speed=18,this.flyEnd=2,this.incFrame=1,this.minT=8,this.maxT=42,this.orientToPath=!0,this.weaponScale=1}
+ onHit(){
+ this.owner&&this.target&&this.target.isAlive&&(this.owner.doDamage(this.target,this.damagePercent,!0),this.target.isAlive&&(this.target.poison(t.POISON_DEBUFF_DURATION),this.target.addMoveSpeedBuff(fQ.ScorpionPoisonBullet_MOVESPEED_DEBUFF,t.POISON_MOVE_SPEED_DEBUFF,t.POISON_DEBUFF_DURATION,!0),this.target.addAttackSpeedBuff(fQ.ScorpionPoisonBullet_ATTACKSPEED_DEBUFF,t.POISON_ATTACK_SPEED_DEBUFF,t.POISON_DEBUFF_DURATION,!0))),this.displayExplodeEffect(),this.remove()}
+ displayExplodeEffect(){
+ const t=XX.getEffect(ZK.PoisonExplodeEffect);
+ t.x=this.x,t.y=this.y,t.setBattleController(this.battleController||mii.getInstance()),t.start(24),QG.getInstance().addChild(t)}
+ }
+ ;
+ Kt(pQ,"ScorpionPoisonBullet"),zt(pQ,"POISON_DEBUFF_DURATION",420),zt(pQ,"POISON_MOVE_SPEED_DEBUFF",-.5),zt(pQ,"POISON_ATTACK_SPEED_DEBUFF",-.3);
+ let gQ=pQ;
+ const mQ=class extends QX{
+ constructor(){
+ super(...arguments),zt(this,"elapsedFrames",0),zt(this,"visualSpine",null),zt(this,"visualSpineTimeScale",1),zt(this,"visualLoadStarted",!1)}
+ generateSprite(){
+ this.visualConfig&&("sheet"!==this.visualConfig.type?this.flyEnd=1:this.createSheetVisual(this.visualConfig))}
+ setArea(t,i){
+ this.radius=t,this.radiusX=t,this.radiusY=t,this.durationFrames=i}
+ setEllipseArea(t,i,s){
+ this.radius=Math.max(t,i),this.radiusX=t,this.radiusY=i,this.durationFrames=s}
+ setData(t=1){
+ super.setData(t),this.elapsedFrames=0}
+ play(){
+ this.visible=!0,this.removed=!1,this.elapsedFrames=0,this.target=null,this.bounceCount=0,this.hitClassName="",this.parent&&this.parent.removeChild(this),this.getLayer().addChild(this),this.resetVisual(),(this.battleController||mii.getInstance()).addWeapon(this)}
+ execute(){
+ this.removed||(this.owner&&!this.owner.removed?(this.elapsedFrames++,this.elapsedFrames>this.durationFrames?this.remove():(this.updateVisual(),this.shouldApplyEffectThisFrame()&&this.applyToEnemiesInArea())):this.remove())}
+ isEnemyInArea(t){
+ if(!t.isAlive||t.removed||t.isUntagetable)return!1;
+ const i=this.radiusX??this.radius,s=this.radiusY??this.radius;
+ if(i<=0||s<=0)return!1;
+ const e=t.x-this.x,n=t.y-this.y;
+ return e*e/(i*i)+n*n/(s*s)<=1}
+ getEffectIntervalFrames(){
+ return 1}
+ shouldApplyEffectThisFrame(){
+ const t=Math.max(1,Math.floor(this.getEffectIntervalFrames()));
+ return this.elapsedFrames%t===0}
+ applyToEnemiesInArea(){
+ if(this.owner)for(const t of this.owner.enemyList)this.isEnemyInArea(t)&&this.affectEnemy(t)}
+ createSheetVisual(t){
+ this.sheetName=t.sheetName,this.textureName=t.textureName,this.textures=ZA.getTextures(this.sheetName,this.textureName),this.flyEnd=Math.max(1,this.textures.length),this.incFrame=t.incFrame??this.incFrame,0!==this.textures.length&&(this.sp=new We(this.textures[0]),this.sp.anchor.set(t.anchorX??.5,t.anchorY??.5),this.sp.x=t.offsetX??0,this.sp.y=t.offsetY??0,this.sp.scale.set(t.scale??1),this.addChild(this.sp))}
+ resetVisual(){
+ if(this.visualConfig)return"sheet"===this.visualConfig.type?(this.currentFrame=0,void(this.sp&&this.textures.length>0&&(this.sp.texture=this.textures[0]))):void(this.visualSpine?this.playSpineVisual(this.visualConfig):this.visualLoadStarted||(this.visualLoadStarted=!0,this.loadSpineVisual(this.visualConfig)))}
+ updateVisual(){
+ this.visualConfig&&("sheet"!==this.visualConfig.type?this.visualSpine&&this.visualSpine.update(1/60*this.visualSpineTimeScale):this.updateSheetVisual(this.visualConfig))}
+ updateSheetVisual(t){
+ this.sp&&0!==this.textures.length&&(this.currentFrame+=t.incFrame??this.incFrame,this.currentFrame>=this.flyEnd&&(!1===t.loop?this.currentFrame=this.flyEnd-1:this.currentFrame=0),this.sp.texture=this.textures[Math.floor(this.currentFrame)])}
+ async loadSpineVisual(t){
+ const i=YA.getBase(),s=`area_${
+ t.spineKey}
+ _json`,e=`area_${
+ t.spineKey}
+ _atlas`,n=`${
+ i}
+ assets/spines/${
+ t.spineKey}
+ .json`,h=`${
+ i}
+ assets/spines/${
+ t.spineKey}
+ .atlas`;
+ try{
+ od.add({
+ alias:s,src:n}
+ ),od.add({
+ alias:e,src:h}
+ )}
+ catch{
+ }
+ try{
+ await od.load([s,e])}
+ catch(o){
+ return}
+ const r=Q$.from({
+ skeleton:s,atlas:e}
+ );
+ r.autoUpdate=!1,r.x=t.offsetX??0,r.y=t.offsetY??0,r.scale.set(t.scale??1),this.visualSpine=r,this.visualSpineTimeScale=t.timeScale??1,this.addChild(r),this.playSpineVisual(t)}
+ playSpineVisual(t){
+ this.visualSpine&&(this.visualSpine.visible=!0,this.visualSpine.state.setAnimation(0,t.animationName,!1!==t.loop))}
+ getLayer(){
+ var t;
+ switch(null==(t=this.visualConfig)?void 0:t.layer){
+ case"effect":return QG.getInstance();
+ case"weapon":return dB.getInstance();
+ case"unit":return sB.getInstance();
+ default:return YG.getInstance()}
+ }
+ }
+ ;
+ Kt(mQ,"BaseAreaHazard");
+ let wQ=mQ;
+ const vQ=class t extends wQ{
+ initializeTextureName(){
+ this.className=YX.ScorpionPoisonArea}
+ initializeData(){
+ this.radius=t.DEFAULT_RADIUS,this.durationFrames=t.DEFAULT_DURATION_FRAMES,this.damagePercent=1,this.visualConfig={
+ type:"spine",spineKey:"raids/raid1/poison_area",animationName:"poison_area",layer:"bottom",scale:.86,loop:!0}
+ }
+ getEffectIntervalFrames(){
+ return t.DAMAGE_INTERVAL_FRAMES}
+ affectEnemy(i){
+ var s,e;
+ if(!this.owner||!this.owner.isAlive)return;
+ const n=(null==(e=(s=this.owner).getRaidDamageMultiplier)?void 0:e.call(s))??1,h=this.owner.atkDmg*n*this.damagePercent*t.DAMAGE_INTERVAL_FRAMES/t.DAMAGE_FPS;
+ h<=0||(this.owner.totalDamageDealt+=h,i.health-=h)}
+ }
+ ;
+ Kt(vQ,"ScorpionPoisonArea"),zt(vQ,"DEFAULT_RADIUS",112.5),zt(vQ,"DEFAULT_DURATION_FRAMES",1200),zt(vQ,"DAMAGE_INTERVAL_FRAMES",5),zt(vQ,"DAMAGE_FPS",60);
+ let bQ=vQ;
+ const yQ=class t extends QX{
+ initializeTextureName(){
+ this.className=YX.HarpyFeather,this.sheetName="RaidBattle",this.textureName="HarpyFeather"}
+ initializeData(){
+ this.hitClassName="",this.g=0,this.speed=16,this.flyEnd=t.FLY_FRAME_COUNT,this.incFrame=1,this.minT=8,this.maxT=42,this.orientToPath=!0,this.weaponScale=t.FEATHER_SCALE}
+ onHit(){
+ if(this.owner&&this.target&&this.target.isAlive&&(this.owner.doDamage(this.target,this.damagePercent,!0),this.target.isAlive&&!this.target.isImmovable)){
+ const i=this.getTravelDirection(),s=this.random.range(t.KNOCKBACK_POWER_MIN,t.KNOCKBACK_POWER_MAX);
+ this.target.knockBack(i.x*s,i.y*s,t.KNOCKBACK_DURATION)}
+ this.displayHitEffect(),this.remove()}
+ getTravelDirection(){
+ let t=this.vx,i=this.vy,s=Math.sqrt(t*t+i*i);
+ return s<.01&&this.target&&(t=this.target.x-this.x,i=this.target.y-this.y,s=Math.sqrt(t*t+i*i)),s<.01?{
+ x:1,y:0}
+ :{
+ x:t/s,y:i/s}
+ }
+ displayHitEffect(){
+ const t=XX.getEffect(ZK.PhysicalHitEffect);
+ t.x=this.x,t.y=this.y,t.setBattleController(this.battleController||mii.getInstance()),t.start(10),QG.getInstance().addChild(t)}
+ }
+ ;
+ Kt(yQ,"HarpyFeather"),zt(yQ,"FLY_FRAME_COUNT",2),zt(yQ,"FEATHER_SCALE",.49),zt(yQ,"KNOCKBACK_POWER_MIN",6),zt(yQ,"KNOCKBACK_POWER_MAX",11),zt(yQ,"KNOCKBACK_DURATION",16);
+ let _Q=yQ;
+ const MQ=class t extends wQ{
+ constructor(){
+ super(...arguments),zt(this,"targetProvider",null)}
+ initializeTextureName(){
+ this.className=YX.HarpyTornado}
+ initializeData(){
+ this.radiusX=t.DEFAULT_RADIUS_X,this.radiusY=t.DEFAULT_RADIUS_Y,this.radius=Math.max(this.radiusX,this.radiusY),this.durationFrames=t.DEFAULT_DURATION_FRAMES,this.damagePercent=1,this.visualConfig={
+ type:"spine",spineKey:"raids/raid1/tornado_area",animationName:"tornado_area",layer:"unit",scale:.63,loop:!0}
+ }
+ setData(t=1){
+ super.setData(t),this.targetProvider=null}
+ setMoveTargetProvider(t){
+ this.targetProvider=t}
+ execute(){
+ this.removed||(this.stepMove(),super.execute())}
+ stepMove(){
+ if(!this.targetProvider)return;
+ const i=this.targetProvider();
+ if(!i)return;
+ const s=i.x-this.x,e=i.y-this.y,n=Math.sqrt(s*s+e*e);
+ if(n<=t.MOVE_SPEED)return this.x=i.x,void(this.y=i.y);
+ this.x+=s/n*t.MOVE_SPEED,this.y+=e/n*t.MOVE_SPEED}
+ getEffectIntervalFrames(){
+ return t.DAMAGE_INTERVAL_FRAMES}
+ affectEnemy(i){
+ var s,e;
+ if(!this.owner||!this.owner.isAlive)return;
+ const n=(null==(e=(s=this.owner).getRaidDamageMultiplier)?void 0:e.call(s))??1,h=this.owner.atkDmg*n*this.damagePercent*t.DAMAGE_INTERVAL_FRAMES/t.DAMAGE_FPS;
+ h<=0||(this.owner.totalDamageDealt+=h,i.health-=h)}
+ }
+ ;
+ Kt(MQ,"HarpyTornado"),zt(MQ,"DEFAULT_RADIUS_X",70),zt(MQ,"DEFAULT_RADIUS_Y",56),zt(MQ,"DEFAULT_DURATION_FRAMES",1200),zt(MQ,"DAMAGE_INTERVAL_FRAMES",5),zt(MQ,"DAMAGE_FPS",60),zt(MQ,"MOVE_SPEED",.33);
+ let EQ=MQ;
BattleItemRenderer 1 hunks, 160 statements
- const ust=class extends Xx{
- constructor(){
- super(),zt(this,"bg"),zt(this,"lblRank",new FL("",16777215,tL.DEFAULT_OUTLINE_FONT_OPTION_18)),zt(this,"lblName",new FL("",16777215,tL.DEFAULT_OUTLINE_FONT_OPTION_16)),zt(this,"lblScore",new FL("",tL.COLOR_BRIGHT_ORANGE,tL.DEFAULT_OUTLINE_FONT_OPTION_16)),this.bg=new TM({
- texture:ZA.getTexture("UI_Ekkorr","Popup_List_02"),leftWidth:140,topHeight:30,rightWidth:20,bottomHeight:30}
- ),this.bg.width=610,this.bg.height=50,this.bg.x=5,this.addChild(this.bg),this.lblRank.x=45,this.lblRank.y=.5*(this.bg.height-this.lblRank.height),this.addChild(this.lblRank),this.lblName.x=115,this.lblName.y=.5*(this.bg.height-this.lblName.height),this.addChild(this.lblName),this.lblScore.x=this.bg.width-100,this.lblScore.y=.5*(this.bg.height-this.lblScore.height),this.addChild(this.lblScore)}
- setData(t){
- this.data=t,this.lblRank.text=`${
- t.rank}
- `,this.lblName.text=t.name,this.lblScore.text=t.score.toLocaleString(),t.name===uD.name?(this.lblName.textColor=tL.COLOR_YELLOW,this.lblRank.textColor=tL.COLOR_YELLOW):(this.lblName.textColor=16777215,this.lblRank.textColor=16777215)}
- get height(){
- return this.bg.height+2}
- }
- ;
- Kt(ust,"DailyRankingItemRenderer");
- let dst=ust;
- const fst=class extends Xx{
- constructor(){
- super(),zt(this,"bg"),zt(this,"lblRank",new FL("",tL.COLOR_BRIGHT_ORANGE,tL.DEFAULT_OUTLINE_FONT_OPTION_16)),zt(this,"iconGem"),zt(this,"lblGem",new FL("",16777215,tL.DEFAULT_OUTLINE_FONT_OPTION_16)),zt(this,"iconHonorCoin"),zt(this,"lblHonorCoin",new FL("",16777215,tL.DEFAULT_OUTLINE_FONT_OPTION_16)),this.bg=new TM({
- texture:ZA.getTexture("UI_Ekkorr","Popup_List_02"),leftWidth:140,topHeight:30,rightWidth:20,bottomHeight:30}
- ),this.bg.width=610,this.bg.height=48,this.bg.x=5,this.addChild(this.bg);
- const t=.5*(this.bg.height-this.lblRank.height);
- this.lblRank.x=20,this.lblRank.y=t,this.addChild(this.lblRank),this.iconGem=new je(ZA.getTexture("UI_Ekkorr","UI_GEM_ICON")),this.iconGem.width=22,this.iconGem.height=22,this.iconGem.x=234,this.iconGem.y=.5*(this.bg.height-22),this.addChild(this.iconGem),this.lblGem.x=this.iconGem.x+28,this.lblGem.y=t,this.addChild(this.lblGem),this.iconHonorCoin=new je(ZA.getTexture("UI_Ekkorr","PVP_COIN_ON")),this.iconHonorCoin.width=22,this.iconHonorCoin.height=22,this.iconHonorCoin.x=420,this.iconHonorCoin.y=.5*(this.bg.height-22),this.addChild(this.iconHonorCoin),this.lblHonorCoin.x=this.iconHonorCoin.x+28,this.lblHonorCoin.y=t,this.addChild(this.lblHonorCoin)}
- setData(t){
- this.data=t,this.lblRank.text=pG.getValueReplace("GAME_97","##",t.rank,`${
- t.rank}
- 위`),this.lblGem.text=String(t.gem),this.lblHonorCoin.text=String(t.honorCoin),this.lblRank.x=10+.5*(80-this.lblRank.width)}
- get height(){
- return this.bg.height+2}
- }
- ;
- Kt(fst,"DailyRewardItemRenderer");
- let pst=fst;
- const gst=class t extends QD{
- constructor(){
- super(),zt(this,"lblGuide"),this.lblGuide=new FL("",tL.DEFAULT_COLOR,tL.DEFAULT_FONT_OPTION_16),tL.setLabelWrapWidth(this.lblGuide,this.width-60),this.contentContainer.addChild(this.lblGuide),this.outSideClickHide=!0}
- static getInstance(){
- return this._instance||(this._instance=new t),this._instance}
- showGuide(){
- this.title=pG.getText("GAME_359","일일 랭킹전 안내");
- const t=[`1. ${
- pG.getText("GAME_360","일일랭킹전은 최대 30명이 경쟁합니다.")}
- `,`2. ${
- pG.getText("GAME_361","24시간동안 가장 높은곳에서 환생한 유저 순으로 랭킹이 정해집니다.")}
- `,`3. ${
- pG.getText("GAME_362","보상은 하루가 끝나면, 우편으로 전송됩니다.")}
- `];
- this.lblGuide.text=t.join("\n\n"),this.lblGuide.x=30,this.lblGuide.y=80,this.height=this.lblGuide.y+this.lblGuide.height+40,super.show()}
- getDefaultPositionY(){
- return.4*KA.stageHeight}
- onBackButton(){
- return this.hide(),!0}
- }
- ;
- Kt(gst,"DailyRankingGuidePopup"),zt(gst,"_instance");
- let mst=gst;
- const wst=class t extends RV{
- constructor(){
- super(),zt(this,"btnRefresh",new NV("새로고침",110)),zt(this,"btnReward",new NV("보상",120)),zt(this,"btnGuide"),this.closeBtn.visible=!0,this.closeBtn.eventMode="static",this.closeBtn.on("pointertap",this.onBack,this),this.btnReward.width=120,this.btnReward.height=50,this.btnReward.x=this.closeBtn.x-this.btnReward.width-5,this.btnReward.y=.5*(this.bg.height-this.btnReward.height),this.btnReward.on("pointertap",this.onReward,this),this.addChild(this.btnReward),this.btnRefresh.width=110,this.btnRefresh.height=50,this.btnRefresh.x=this.btnReward.x-this.btnRefresh.width-5,this.btnRefresh.y=.5*(this.bg.height-this.btnRefresh.height),this.btnRefresh.on("pointertap",this.onRefresh,this),this.addChild(this.btnRefresh),this.btnGuide=new cB("UI_Ekkorr","UI_Alarm"),this.btnGuide.x=this.lblTitle.x+this.lblTitle.width+3,this.btnGuide.y=this.lblTitle.y+.5*(this.lblTitle.height-this.btnGuide.height)+2,this.addChild(this.btnGuide),this.btnGuide.on("pointertap",()=>{
- mst.getInstance().showGuide()}
- ),this.updateLanguage()}
- static getInstance(){
- return null==t.instance&&(t.instance=new t),t.instance}
- onBack(){
- Wet.getInstance().setData(),g3.getInstance().currentSubView=Wet.getInstance()}
- onRefresh(){
- yst.getInstance().refresh()}
- onReward(){
- yst.getInstance().toggleRewards()}
- updateLanguage(){
- this.setTitle(pG.getText("GAME_78","일일 랭킹전")),this.btnReward.text=pG.getText("COMMON_22","보상"),this.btnReward.x=this.closeBtn.x-this.btnReward.width-5,this.btnRefresh.text=pG.getText("COMMON_60","새로고침"),this.btnRefresh.x=this.btnReward.x-this.btnRefresh.width-5,this.btnGuide.x=this.lblTitle.x+this.lblTitle.width+3,this.btnGuide.y=this.lblTitle.y+.5*(this.lblTitle.height-this.btnGuide.height)+2}
- }
- ;
- Kt(wst,"DailyBattleSubMenu"),zt(wst,"instance");
- let vst=wst;
- const bst=class t extends f3{
- constructor(){
- super(),zt(this,"list"),zt(this,"lblMyRank",new FL("",tL.COLOR_YELLOW,tL.DEFAULT_OUTLINE_FONT_OPTION_16)),zt(this,"lblMyScore",new FL("",tL.COLOR_BRIGHT_ORANGE,tL.DEFAULT_OUTLINE_FONT_OPTION_16)),zt(this,"lblTimer",new FL("",tL.COLOR_DEEP_SKYBLUE,tL.DEFAULT_OUTLINE_FONT_OPTION_16)),zt(this,"lblTotalCount",new FL("",11184810,tL.DEFAULT_OUTLINE_FONT_OPTION_16)),zt(this,"lblNotJoined",new FL("",16777215,tL.DEFAULT_OUTLINE_FONT_OPTION_18)),zt(this,"btnJoin",new KD(pG.getText("COMMON_371","참여하기"))),zt(this,"joined",!1),zt(this,"rewardList"),zt(this,"lblHdrRank",new FL("등수",8947848,tL.DEFAULT_OUTLINE_FONT_OPTION_16)),zt(this,"lblHdrGem",new FL("보석",8947848,tL.DEFAULT_OUTLINE_FONT_OPTION_16)),zt(this,"lblHdrHonorCoin",new FL("명예코인",8947848,tL.DEFAULT_OUTLINE_FONT_OPTION_16)),zt(this,"showingRewards",!1),zt(this,"cachedRewards",null),zt(this,"lastFetchTime",0),zt(this,"cachedData",null),zt(this,"lastRefreshTime",0),zt(this,"timerRunning",!1),zt(this,"timerUpdateCount",0),this.addChild(vst.getInstance());
- const t=vst.getInstance().height;
- this.lblMyRank.x=15,this.lblMyRank.y=t+10,this.addChild(this.lblMyRank),this.lblMyScore.x=15,this.lblMyScore.y=this.lblMyRank.y+25,this.addChild(this.lblMyScore),this.lblTimer.x=400,this.lblTimer.y=t+10,this.addChild(this.lblTimer),this.lblTotalCount.x=400,this.lblTotalCount.y=this.lblTimer.y+25,this.addChild(this.lblTotalCount);
- const i=t+65,s=KA.listHeight-i+t;
- this.list=new zx(dst,630,s),this.list.x=10,this.list.y=i,this.addChild(this.list),this.lblNotJoined.x=150,this.lblNotJoined.y=t+120,this.addChild(this.lblNotJoined),this.btnJoin.text=pG.getText("COMMON_371","참여하기"),this.btnJoin.color=jD.GREEN,this.btnJoin.width=200,this.btnJoin.height=55,this.btnJoin.x=.5*(640-this.btnJoin.width),this.btnJoin.y=t+180,this.btnJoin.onClick=this.onJoin.bind(this),this.addChild(this.btnJoin);
- const e=t+30,n=KA.listHeight-e+t;
- this.rewardList=new zx(pst,630,n),this.rewardList.x=10,this.rewardList.y=e,this.rewardList.visible=!1,this.addChild(this.rewardList),this.lblHdrRank.x=25,this.lblHdrRank.y=t+5,this.lblHdrRank.visible=!1,this.addChild(this.lblHdrRank),this.lblHdrGem.x=250,this.lblHdrGem.y=t+5,this.lblHdrGem.visible=!1,this.addChild(this.lblHdrGem),this.lblHdrHonorCoin.x=435,this.lblHdrHonorCoin.y=t+5,this.lblHdrHonorCoin.visible=!1,this.addChild(this.lblHdrHonorCoin),this.showNotJoinedState(),this.on("removed",this.onRemoved.bind(this))}
- static getInstance(){
- return null==this.instance&&(this.instance=new t),this.instance}
- onRemoved(){
- this.showingRewards&&this.hideRewards()}
- setData(){
- vst.getInstance().updateLanguage();
- const i=Date.now();
- null!=this.cachedData&&i-this.lastFetchTime<t.CACHE_DURATION?this.showJoinedState(this.cachedData):this.loadInfo()}
- refresh(){
- const i=Date.now();
- i-this.lastRefreshTime<t.REFRESH_COOLDOWN||(this.lastRefreshTime=i,this.loadInfo())}
- async loadInfo(){
- const t=await JR.getInstance().dailyRanking.getInfo(!0);
- !1!==t.success?(this.lastFetchTime=Date.now(),null==t.body?(this.cachedData=null,this.showNotJoinedState()):(this.cachedData=t.body,this.showJoinedState(t.body)),this.showingRewards&&this.hideRewards()):rG.getInstance().showError(t)}
- async onJoin(){
- var t;
- const i=await JR.getInstance().dailyRanking.join(!0);
- !1!==i.success?(j$.getInstance().markDirty(),this.cachedData=i.body,this.lastFetchTime=Date.now(),this.showJoinedState(i.body),u3.getInstance().updateDailyRanking(!0,(null==(t=i.body)?void 0:t.myScore)??0),B$.getInstance().getStatus()):rG.getInstance().showError(i)}
- async toggleRewards(){
- if(this.showingRewards)return void this.hideRewards();
- if(null!=this.cachedRewards)return void this.showRewards(this.cachedRewards);
- const t=await JR.getInstance().dailyRanking.getRewards(!0);
- !1!==t.success?(this.cachedRewards=t.body??[],this.showRewards(this.cachedRewards)):rG.getInstance().showError(t)}
- showRewards(t){
- this.showingRewards=!0,this.lblMyRank.visible=!1,this.lblMyScore.visible=!1,this.lblTimer.visible=!1,this.lblTotalCount.visible=!1,this.list.visible=!1,this.lblNotJoined.visible=!1,this.btnJoin.visible=!1,this.lblHdrRank.text=pG.getText("COMMON_388","등수"),this.lblHdrGem.text=pG.getText("COMMON_350","보석"),this.lblHdrHonorCoin.text=pG.getText("GAME_88","명예코인"),this.lblHdrRank.visible=!0,this.lblHdrGem.visible=!0,this.lblHdrHonorCoin.visible=!0,this.rewardList.dataProvider=t,this.rewardList.visible=!0}
- hideRewards(){
- this.showingRewards=!1,this.lblHdrRank.visible=!1,this.lblHdrGem.visible=!1,this.lblHdrHonorCoin.visible=!1,this.rewardList.visible=!1,this.joined&&this.cachedData?this.showJoinedState(this.cachedData):this.showNotJoinedState()}
- showNotJoinedState(){
- this.joined=!1,this.stopTimer(),this.lblNotJoined.text=pG.getText("GAME_92","일일 랭킹전에 참여하지 않았습니다."),this.lblNotJoined.x=.5*(640-this.lblNotJoined.width),this.lblNotJoined.visible=!0,this.btnJoin.text=pG.getText("COMMON_371","참여하기"),this.btnJoin.x=.5*(640-this.btnJoin.width),this.btnJoin.visible=!0,this.lblMyRank.visible=!1,this.lblMyScore.visible=!1,this.lblTimer.visible=!1,this.lblTotalCount.visible=!1,this.list.visible=!1}
- showJoinedState(t){
- this.joined=!0,this.lblNotJoined.visible=!1,this.btnJoin.visible=!1,this.lblMyRank.visible=!0,this.lblMyScore.visible=!0,this.lblTimer.visible=!0,this.lblTotalCount.visible=!0,this.list.visible=!0,this.lblMyRank.text=`${
- pG.getText("COMMON_374","내 순위")}
- : ${
- t.myRank}
- `,this.lblMyScore.text=`${
- pG.getText("COMMON_375","내 점수")}
- : ${
- t.myScore.toLocaleString()}
- `,this.lblTotalCount.text=`${
- pG.getText("COMMON_372","참가자")}
- : ${
- t.totalCount}
- `,t.topEntries&&t.topEntries.length>0?this.list.dataProvider=t.topEntries:this.list.dataProvider=[],this.startTimer()}
- startTimer(){
- this.timerRunning||(this.timerRunning=!0,this.timerUpdateCount=0,this.updateTimer(),GM.getInstance().add(this.updateTimer,this))}
- stopTimer(){
- this.timerRunning&&(this.timerRunning=!1,GM.getInstance().remove(this.updateTimer,this))}
- updateTimer(){
- var t,i;
- if(++this.timerUpdateCount<30)return;
- if(null==(null==(i=null==(t=this.parent)?void 0:t.parent)?void 0:i.parent))return void this.stopTimer();
- this.timerUpdateCount=0;
- const s=tI.time;
- if(s<=0)return;
- const e=new Date(s);
- e.setUTCHours(24,0,0,0);
- const n=e.getTime()-s;
- if(n<=0)return this.lblTimer.text=pG.getText("COMMON_32","종료"),void this.stopTimer();
- const h=Math.floor(n/36e5),r=Math.floor(n%36e5/6e4),o=Math.floor(n%6e4/1e3),a=h.toString().padStart(2,"0"),c=r.toString().padStart(2,"0"),l=o.toString().padStart(2,"0");
- this.lblTimer.text=`${
- pG.getText("COMMON_29","남은 시간")}
- : ${
- a}
- :${
- c}
- :${
- l}
- `}
- get className(){
- return"DailyBattleSubView"}
- updateLanguage(){
- vst.getInstance().updateLanguage(),this.joined&&this.cachedData?this.showJoinedState(this.cachedData):this.joined||(this.lblNotJoined.text=pG.getText("GAME_92","일일 랭킹전에 참여하지 않았습니다."),this.btnJoin.text=pG.getText("COMMON_371","참여하기"))}
- }
- ;
- Kt(bst,"DailyBattleSubView"),zt(bst,"instance"),zt(bst,"CACHE_DURATION",6e5),zt(bst,"REFRESH_COOLDOWN",6e4);
- let yst=bst;
- var _st=(t=>(t[t.DUNGEON=1]="DUNGEON",t[t.INFINITE_RANKING=2]="INFINITE_RANKING",t[t.DAILY_RANKING=3]="DAILY_RANKING",t[t.CHALLENGE_TOWER=4]="CHALLENGE_TOWER",t))(_st||{
+ var get=(t=>(t[t.DUNGEON=1]="DUNGEON",t[t.INFINITE_RANKING=2]="INFINITE_RANKING",t[t.DAILY_RANKING=3]="DAILY_RANKING",t[t.CHALLENGE_TOWER=4]="CHALLENGE_TOWER",t))(get||{
CorpCameraController 2 hunks, 140 statements
- const K4=class t{
- constructor(t){
- zt(this,"opt"),zt(this,"mode","follow"),zt(this,"target","center"),zt(this,"panCatcher",null),zt(this,"panning",!1),zt(this,"lastPanX",0),zt(this,"lastPanY",0),zt(this,"freeIdleFrames",0),zt(this,"buttonBar",null),zt(this,"buttons",[]),this.opt=t}
- setup(){
- this.createPanCatcher(),this.createButtons(),this.setTarget("center"),this.snapToTarget()}
- update(){
- if(this.opt.isFlagDragging())return;
- if(this.panning)return;
- if("free"===this.mode){
- if(++this.freeIdleFrames<t.FREE_RETURN_DELAY)return;
- this.mode="follow"}
- const i=this.opt.getAnchor(this.target);
- if(!i)return;
- const s=this.clampOffset(i.x,i.y),e=SB.getInstance();
- e.x+=(s.x-e.x)*t.FOLLOW_LERP,e.y+=(s.y-e.y)*t.FOLLOW_LERP}
- setTarget(t){
- this.mode="follow",this.target=t,this.highlight(t)}
- snapToTarget(){
- const t=this.opt.getAnchor(this.target);
- if(!t)return;
- const i=this.clampOffset(t.x,t.y),s=SB.getInstance();
- s.x=i.x,s.y=i.y}
- clampOffset(t,i){
- const s=KA.stageWidth||640,e=KA.stageHeight||1130,n=s-this.opt.fieldW,h=e-this.opt.fieldH;
- let r=s/2-t,o=e/2-i;
- return r=Math.min(0,Math.max(n,r)),o=Math.min(0,Math.max(h,o)),{
- x:r,y:o}
- }
- createPanCatcher(){
- const t=new Gf;
- t.label="CamPanCatcher",t.hitArea=new Pi(0,0,this.opt.fieldW,this.opt.fieldH),t.eventMode="static",t.on("pointerdown",this.onPanDown,this),SB.getInstance().addChild(t),this.panCatcher=t}
- onPanDown(t){
- if(this.opt.isFlagDragging())return;
- this.panning=!0,this.mode="free",this.freeIdleFrames=0,this.lastPanX=t.global.x,this.lastPanY=t.global.y;
- const i=KA.stage;
- i&&(i.on("globalpointermove",this.onPanMove,this),i.on("pointerup",this.onPanUp,this),i.on("pointerupoutside",this.onPanUp,this))}
- onPanMove(t){
- if(!this.panning)return;
- const i=t.global.x-this.lastPanX,s=t.global.y-this.lastPanY;
- this.lastPanX=t.global.x,this.lastPanY=t.global.y;
- const e=KA.stageWidth||640,n=KA.stageHeight||1130,h=e-this.opt.fieldW,r=n-this.opt.fieldH,o=SB.getInstance();
- o.x=Math.min(0,Math.max(h,o.x+i)),o.y=Math.min(0,Math.max(r,o.y+s))}
- onPanUp(t){
- this.panning&&(this.panning=!1,this.detachPanListeners())}
- detachPanListeners(){
- const t=KA.stage;
- t&&(t.off("globalpointermove",this.onPanMove,this),t.off("pointerup",this.onPanUp,this),t.off("pointerupoutside",this.onPanUp,this))}
- createButtons(){
- const i=KA.stageWidth||640,s=KA.stageHeight||1130,e=this.opt.corpCount+1,n=t.BTN_W,h=t.BTN_H,r=t.BTN_GAP,o=(i-(e*n+(e-1)*r))/2,a=s-h-t.BAR_BOTTOM_MARGIN,c=new Be;
- c.label="CamButtonBar",Oit.getInstance().addChild(c),this.buttonBar=c;
- for(let t=0;
- t<this.opt.corpCount;
- t++)this.makeButton(c,o+t*(n+r),a,n,h,`${
- t+1}
- `,t);
- this.makeButton(c,o+this.opt.corpCount*(n+r),a,n,h,"보스","boss")}
- makeButton(t,i,s,e,n,h,r){
- const o=new Be;
- o.x=i,o.y=s;
- const a=new Gf;
- this.drawButtonBg(a,e,n,!1),o.addChild(a);
- const c=new jg({
- text:h,style:{
- fontFamily:"Arial",fontSize:18,fontWeight:"700",fill:16777215,stroke:{
- color:0,width:3}
- }
- }
- );
- c.anchor.set(.5),c.position.set(e/2,n/2),o.addChild(c),o.eventMode="static",o.cursor="pointer",o.hitArea=new Pi(0,0,e,n),o.on("pointerdown",t=>t.stopPropagation()),o.on("pointerup",()=>this.setTarget(r)),t.addChild(o),this.buttons.push({
- target:r,bg:a}
- )}
- drawButtonBg(i,s,e,n){
- i.clear(),i.roundRect(0,0,s,e,e/2).fill({
- color:n?t.COLOR_ACTIVE:t.COLOR_IDLE,alpha:n?.85:.55}
- ).stroke({
- width:1.4,color:16777215,alpha:n?.9:.4}
- )}
- highlight(i){
- for(const s of this.buttons)this.drawButtonBg(s.bg,t.BTN_W,t.BTN_H,s.target===i)}
- destroy(){
- this.detachPanListeners(),this.panning=!1,this.panCatcher&&(this.panCatcher.off("pointerdown",this.onPanDown,this),this.panCatcher.removeFromParent(),this.panCatcher.destroy(),this.panCatcher=null),this.buttonBar&&(this.buttonBar.removeFromParent(),this.buttonBar.destroy({
- children:!0}
- ),this.buttonBar=null),this.buttons.length=0}
- }
- ;
- Kt(K4,"CorpCameraController"),zt(K4,"FOLLOW_LERP",.05),zt(K4,"FREE_RETURN_DELAY",150),zt(K4,"BTN_W",78),zt(K4,"BTN_H",44),zt(K4,"BTN_GAP",6),zt(K4,"BAR_BOTTOM_MARGIN",28),zt(K4,"COLOR_ACTIVE",3046706),zt(K4,"COLOR_IDLE",0);
- let z4=K4;
+ constructor(t){
+ zt(this,"opt"),zt(this,"mode","follow"),zt(this,"target","center"),zt(this,"panCatcher",null),zt(this,"panning",!1),zt(this,"lastPanX",0),zt(this,"lastPanY",0),zt(this,"freeIdleFrames",0),this.opt=t}
+ setup(){
+ this.createPanCatcher(),this.setTarget("center"),this.snapToTarget()}
+ update(){
+ if(this.opt.isFlagDragging())return;
+ if(this.panning)return;
+ if("free"===this.mode){
+ if(++this.freeIdleFrames<t.FREE_RETURN_DELAY)return;
+ this.mode="follow"}
+ const i=this.opt.getAnchor(this.target);
+ if(!i)return;
+ const s=this.clampOffset(i.x,i.y),e=GB.getInstance();
+ e.x+=(s.x-e.x)*t.FOLLOW_LERP,e.y+=(s.y-e.y)*t.FOLLOW_LERP}
+ setTarget(t){
+ this.mode="follow",this.target=t}
+ snapToTarget(){
+ const t=this.opt.getAnchor(this.target);
+ if(!t)return;
+ const i=this.clampOffset(t.x,t.y),s=GB.getInstance();
+ s.x=i.x,s.y=i.y}
+ clampOffset(t,i){
+ const s=KA.stageWidth||640,e=KA.stageHeight||1130,n=s-this.opt.fieldW,h=e-this.opt.fieldH;
+ let r=s/2-t,o=e/2-i;
+ return r=Math.min(0,Math.max(n,r)),o=Math.min(0,Math.max(h,o)),{
+ x:r,y:o}
+ }
+ createPanCatcher(){
+ const t=new Gf;
+ t.label="CamPanCatcher",t.hitArea=new Pi(0,0,this.opt.fieldW,this.opt.fieldH),t.eventMode="static",t.on("pointerdown",this.onPanDown,this),GB.getInstance().addChild(t),this.panCatcher=t}
+ onPanDown(t){
+ if(this.opt.isFlagDragging())return;
+ this.panning=!0,this.mode="free",this.freeIdleFrames=0,this.lastPanX=t.global.x,this.lastPanY=t.global.y;
+ const i=KA.stage;
+ i&&(i.on("globalpointermove",this.onPanMove,this),i.on("pointerup",this.onPanUp,this),i.on("pointerupoutside",this.onPanUp,this))}
+ onPanMove(t){
+ if(!this.panning)return;
+ const i=t.global.x-this.lastPanX,s=t.global.y-this.lastPanY;
+ this.lastPanX=t.global.x,this.lastPanY=t.global.y;
+ const e=KA.stageWidth||640,n=KA.stageHeight||1130,h=e-this.opt.fieldW,r=n-this.opt.fieldH,o=GB.getInstance();
+ o.x=Math.min(0,Math.max(h,o.x+i)),o.y=Math.min(0,Math.max(r,o.y+s))}
+ onPanUp(t){
+ this.panning&&(this.panning=!1,this.detachPanListeners())}
+ detachPanListeners(){
+ const t=KA.stage;
+ t&&(t.off("globalpointermove",this.onPanMove,this),t.off("pointerup",this.onPanUp,this),t.off("pointerupoutside",this.onPanUp,this))}
+ destroy(){
+ this.detachPanListeners(),this.panning=!1,this.panCatcher&&(this.panCatcher.off("pointerdown",this.onPanDown,this),this.panCatcher.removeFromParent(),this.panCatcher.destroy(),this.panCatcher=null)}
+ }
+ ;
+ Kt(x8,"CorpCameraController"),zt(x8,"FOLLOW_LERP",.05),zt(x8,"FREE_RETURN_DELAY",150);
+ let N8=x8;
+ const P8=class t{
DebugBox 1 hunks, 139 statements
- )),Jx=class t{
+ )),JI=new Sg({
+ fontFamily:"Arial, sans-serif",fontSize:15,fontWeight:"700",fill:16777215,stroke:{
+ color:0,width:3}
+ }
+ ),QI=new Sg({
+ fontFamily:"Arial, sans-serif",fontSize:16,fontWeight:"700",fill:10217471,stroke:{
+ color:0,width:3}
+ }
+ ),ZI=class extends Be{
+ constructor(t,i,s,e,n){
+ super(),zt(this,"body",new Gf),zt(this,"handle",new Gf),zt(this,"caption",new Wg({
+ text:"",style:JI}
+ )),zt(this,"boxW"),zt(this,"boxH"),this.id=t,this.boxW=e,this.boxH=n,this.position.set(i,s),this.body.eventMode="static",this.body.cursor="move",this.handle.eventMode="static",this.handle.cursor="nwse-resize",this.caption.position.set(4,4),this.addChild(this.body,this.caption,this.handle),this.redraw()}
+ redraw(){
+ const t=this.boxW,i=this.boxH;
+ this.body.clear(),this.body.rect(0,0,t,i).fill({
+ color:3394815,alpha:.16}
+ ),this.body.rect(0,0,t,i).stroke({
+ width:2,color:3394815,alpha:.95}
+ ),this.handle.clear(),this.handle.rect(t-14,i-14,14,14).fill({
+ color:16763955,alpha:.95}
+ ),this.handle.position.set(0,0),this.caption.text=`${
+ this.id}
+ \n${
+ Math.round(this.x)}
+ ,${
+ Math.round(this.y)}
+   ${
+ Math.round(t)}
+ ×${
+ Math.round(i)}
+ `}
+ toSpec(){
+ return`| ${
+ this.id}
+  | ${
+ Math.round(this.x)}
+  | ${
+ Math.round(this.y)}
+  | ${
+ Math.round(this.boxW)}
+  | ${
+ Math.round(this.boxH)}
+  |`}
+ }
+ ;
+ Kt(ZI,"DebugBox");
+ let tx=ZI;
+ const ix=class t{
+ constructor(){
+ zt(this,"root",new Be),zt(this,"panel",new Be),zt(this,"hud",new Wg({
+ text:"",style:QI}
+ )),zt(this,"boxes",[]),zt(this,"enabled",!1),zt(this,"seq",0),zt(this,"active",null),zt(this,"mode",null),zt(this,"grabDX",0),zt(this,"grabDY",0)}
+ static getInstance(){
+ return this._instance??(this._instance=new t)}
+ toggle(){
+ this.enabled?this.disable():this.enable()}
+ enable(){
+ this.enabled||(this.enabled=!0,this.root.eventMode="static",this.buildPanel(),KA.stage.addChild(this.root),KA.stage.on("globalpointermove",this.onMove,this),KA.stage.on("pointerup",this.onUp,this),KA.stage.on("pointerupoutside",this.onUp,this))}
+ disable(){
+ this.enabled&&(this.enabled=!1,KA.stage.off("globalpointermove",this.onMove,this),KA.stage.off("pointerup",this.onUp,this),KA.stage.off("pointerupoutside",this.onUp,this),this.active=null,this.mode=null,this.boxes=[],this.root.removeChildren(),this.root.removeFromParent())}
+ buildPanel(){
+ this.panel.removeChildren(),this.panel.position.set(8,8);
+ const t=new Gf;
+ t.rect(0,0,360,70).fill({
+ color:1054752,alpha:.85}
+ ),this.panel.addChild(t),this.makeBtn("+박스",8,8,()=>this.addBox()),this.makeBtn("덤프",92,8,()=>this.dump()),this.makeBtn("지우기",168,8,()=>this.clearBoxes()),this.makeBtn("닫기",262,8,()=>this.disable()),this.hud.position.set(8,46),this.hud.text="박스를 추가해 드래그하세요",this.panel.addChild(this.hud),this.root.addChild(this.panel)}
+ makeBtn(t,i,s,e){
+ const n=new Be;
+ n.position.set(i,s);
+ const h=new Wg({
+ text:t,style:JI}
+ ),r=h.width+16,o=new Gf;
+ o.rect(0,0,r,30).fill({
+ color:2767434,alpha:.95}
+ ),o.rect(0,0,r,30).stroke({
+ width:1,color:5929626}
+ ),h.position.set(8,6),n.addChild(o,h),n.eventMode="static",n.cursor="pointer",n.on("pointertap",e),this.panel.addChild(n)}
+ addBox(){
+ this.seq+=1;
+ const t=new tx(`box${
+ this.seq}
+ `,220,200+20*this.seq,200,80);
+ t.body.on("pointerdown",i=>this.beginMove(t,i)),t.handle.on("pointerdown",i=>this.beginResize(t,i)),this.boxes.push(t),this.root.addChild(t),this.root.addChild(this.panel),this.updateHud(t)}
+ beginMove(t,i){
+ this.active=t,this.mode="move";
+ const s=i.getLocalPosition(this.root);
+ this.grabDX=s.x-t.x,this.grabDY=s.y-t.y,i.stopPropagation()}
+ beginResize(t,i){
+ this.active=t,this.mode="resize",i.stopPropagation()}
+ onMove(t){
+ if(!this.active||!this.mode)return;
+ const i=t.getLocalPosition(this.root);
+ "move"===this.mode?this.active.position.set(i.x-this.grabDX,i.y-this.grabDY):(this.active.boxW=Math.max(8,i.x-this.active.x),this.active.boxH=Math.max(8,i.y-this.active.y)),this.active.redraw(),this.updateHud(this.active)}
+ onUp(){
+ this.active,this.active=null,this.mode=null}
+ updateHud(t){
+ const i=Math.round(KA.stageHeight),s=Math.round(t.y),e=i-Math.round(t.y);
+ this.hud.text=`${
+ t.id}
+ : x=${
+ Math.round(t.x)}
+  y=${
+ s}
+  (아래from ${
+ e}
+ )  ${
+ Math.round(t.boxW)}
+ ×${
+ Math.round(t.boxH)}
+    [H=${
+ i}
+ ]`}
+ clearBoxes(){
+ for(const t of this.boxes)t.removeFromParent();
+ this.boxes=[],this.seq=0,this.hud.text="박스를 추가해 드래그하세요"}
+ dump(){
+ var t;
+ const i=[`[LayoutDebugger] 덤프 — 디자인좌표(폭 640 / 현재 높이 ${
+ Math.round(KA.stageHeight)}
+ )`,"| id | x | y | w | h |","|---|---|---|---|---|",...this.boxes.map(t=>t.toSpec())].join("\n");
+ try{
+ null==(t=navigator.clipboard)||t.writeText(i),this.hud.text=`덤프 ${
+ this.boxes.length}
+ 개 → 콘솔+클립보드 복사됨`}
+ catch{
+ this.hud.text=`덤프 ${
+ this.boxes.length}
+ 개 → 콘솔 출력(클립보드 실패)`}
+ }
+ }
+ ;
+ Kt(ix,"LayoutDebugger"),zt(ix,"_instance");
+ let sx=ix;
+ globalThis.uiLayout=()=>sx.getInstance().toggle();
+ var ex=(t=>(t.ENGLISH="en",t.KOREAN="ko",t.CHINESE_SIMPLIFIED="zh-CN",t.CHINESE_TRADITIONAL="zh-TW",t.JAPANESE="ja",t.SPANISH_ARGENTINA="es",t.GERMAN="de",t.FRENCH="fr",t.PORTUGUESE_BRASIL="pt",t.VIETNAMESE="vi",t.INDONESIAN="id",t.RUSSIAN="ru",t.ITALIAN="it",t.THAI="th",t.TURKISH="tr",t.POLISH="pl",t))(ex||{
+ }
+ );
+ const nx=class t{
HarpyKing 10 hunks, 128 statements
- const t=this.computeEnemyCentroid();
+ const t=this.getHighestAggroCorpCenter()??this.computeEnemyCentroid();
- else 3===t&&this.startAttackDashTo(this.x+150*this.direction,this.y,50)}
+ else 3===t&&(this.faceMajorityEnemies(),this.att4FacingLocked=!0,this.startAttackDashTo(this.x+150*this.direction,this.y,50))}
+ pickSkill(){
+ const t=super.pickSkill();
+ return 1===t?0:t}
+ if(!this.enemyList)return;
+ const i=this.getBoneWorld(t.ATT1_CENTER_BONE)??{
+ x:this.x,y:this.y}
+ ,s=t.ATT1_RADIUS*t.ATT1_RADIUS;
+ let e=0;
+ for(const n of this.enemyList){
+ if(e>=t.ATT1_HITS_PER_EVENT)break;
+ if(!n.isAlive||n.removed||n.isUntagetable)continue;
+ const h=n.x-i.x,r=n.y-i.y;
+ if(h*h+r*r>s)continue;
+ const o=this.random.range(t.ATT1_DAMAGE_MIN,t.ATT1_DAMAGE_MAX);
+ this.doDamage(n,o,!0),e++}
- if(this.enemyList)for(const i of this.enemyList){
+ if(this.enemyList){
+ for(const i of this.enemyList){
+ this.spawnSlamTornadoes()}
+ spawnSlamTornadoes(){
+ var i,s,e;
+ const n=this.battleController,h=((null==(i=null==n?void 0:n.getBattleTimeFrames)?void 0:i.call(n))??0)>=t.TORNADO_TWO_AFTER_FRAMES?2:1,r=(null==(s=null==n?void 0:n.getCorpCount)?void 0:s.call(n))??0;
+ if(r<=0){
+ const t=this.computeEnemyCentroid()??{
+ x:this.x,y:this.y}
+ ;
+ for(let i=0;
+ i<h;
+ i++)this.spawnTornado(()=>t);
+ return}
+ const o=(null==(e=n.getHighestAggroCorpIndex)?void 0:e.call(n))??-1;
+ if(this.spawnTornado(()=>{
+ var t,i;
+ const s=(null==(t=n.getHighestAggroCorpIndex)?void 0:t.call(n))??o;
+ return s>=0?(null==(i=n.getCorpCenter)?void 0:i.call(n,s))??null:null}
+ ),h<2)return;
+ let a=this.random.nextInt(r);
+ r>1&&a===o&&(a=(a+1)%r),this.spawnTornado(()=>{
+ var t;
+ return a>=0?(null==(t=n.getCorpCenter)?void 0:t.call(n,a))??null:null}
+ )}
+ spawnTornado(i){
+ const s=SQ.getInstance().getWeapon(YX.HarpyTornado);
+ s.owner=this,s.target=null,s.x=this.x,s.y=this.y,s.setBattleController(this.battleController),s.setData(t.TORNADO_DAMAGE_PERCENT),s.setEllipseArea(t.TORNADO_RADIUS_X,t.TORNADO_RADIUS_Y,t.TORNADO_DURATION),s.setMoveTargetProvider(i),s.play()}
+ getHighestAggroCorpCenter(){
+ var t,i;
+ const s=this.battleController,e=(null==(t=null==s?void 0:s.getHighestAggroCorpIndex)?void 0:t.call(s))??-1;
+ if(e>=0){
+ const t=null==(i=null==s?void 0:s.getCorpCenter)?void 0:i.call(s,e);
+ if(t)return t}
+ return null}
+ pickRandomAliveCorpIndex(){
+ var t,i;
+ const s=this.battleController,e=(null==(t=null==s?void 0:s.getCorpCount)?void 0:t.call(s))??0;
+ if(e<=0)return-1;
+ const n=this.random.nextInt(e);
+ for(let h=0;
+ h<e;
+ h++){
+ const t=(n+h)%e;
+ if(null==(i=null==s?void 0:s.getCorpCenter)?void 0:i.call(s,t))return t}
+ return-1}
+ getCorpCenterByIndex(t){
+ var i;
+ const s=this.battleController;
+ return(null==(i=null==s?void 0:s.getCorpCenter)?void 0:i.call(s,t))??null}
- const i=this.direction;
+ const i=this.direction,s=t.ATT4_RADIUS*t.ATT4_RADIUS,e=Math.cos(t.ATT4_CONE_HALF_ANGLE);
- if(!s.isAlive)continue;
- const e=s.x-this.x;
- if(i>0&&e<0)continue;
- if(i<0&&e>0)continue;
- if(Math.abs(e)>600)continue;
- const n=i*(5+10*this.random.next()),h=6*this.random.next()-3,r=-4-8*this.random.next(),o=t.BLOW_SCALE;
- s.blow(n*o,h*o,r*o)}
+ if(!n.isAlive||n.removed||n.isUntagetable)continue;
+ const h=n.x-this.x,r=n.y-this.y,o=h*h+r*r;
+ if(o>s)continue;
+ const a=Math.sqrt(o),c=a<.01?i:h/a,l=a<.01?0:r/a;
+ if(!(c*i<e)&&(this.doDamage(n,this.random.range(t.ATT4_DAMAGE_MIN,t.ATT4_DAMAGE_MAX),!0),n.isAlive&&!n.isImmovable)){
+ const i=this.random.range(t.ATT4_KNOCKBACK_POWER_MIN,t.ATT4_KNOCKBACK_POWER_MAX);
+ n.knockBack(c*i,l*i,t.ATT4_KNOCKBACK_DURATION)}
+ }
+ execute(){
+ super.execute(),this.isAlive&&(this.updateAtt1Hover(),this.updateAtt4FacingLock(),this.updateAtt5Feathers())}
+ lookAt(t){
+ this.att4FacingLocked||super.lookAt(t)}
+ updateAtt4FacingLock(){
+ var t,i;
+ if(!this.att4FacingLocked)return;
+ const s=null==(t=this.spine)?void 0:t.state.getCurrent(0);
+ (null==(i=null==s?void 0:s.animation)?void 0:i.name)!==this.aniSkills[2]&&(this.att4FacingLocked=!1)}
+ updateAtt1Hover(){
+ var i;
+ if(this.att1TargetCorp<0||!this.spine)return;
+ const s=this.spine.state.getCurrent(0);
+ if((null==(i=null==s?void 0:s.animation)?void 0:i.name)!==this.aniSkill0)return void(this.att1TargetCorp=-1);
+ if(s.trackTime*t.FEATHER_SPINE_FPS<t.ATT1_HOVER_START_FRAME)return;
+ const e=this.getCorpCenterByIndex(this.att1TargetCorp);
+ if(!e)return;
+ const n=e.x-this.x,h=e.y-this.y,r=Math.sqrt(n*n+h*h);
+ if(r<=t.ATT1_HOVER_SPEED)return this.x=e.x,void(this.y=e.y);
+ this.x+=n/r*t.ATT1_HOVER_SPEED,this.y+=h/r*t.ATT1_HOVER_SPEED}
+ updateAtt5Feathers(){
+ var i;
+ if(!this.spine)return;
+ const s=this.spine.state.getCurrent(0);
+ if((null==(i=null==s?void 0:s.animation)?void 0:i.name)!==this.aniSkills[3])return void(this.att5Active=!1);
+ this.att5Active||(this.att5Active=!0,this.att5BurstIndex=0);
+ const e=s.trackTime*t.FEATHER_SPINE_FPS;
+ for(;
+ this.att5BurstIndex<t.FEATHER_FIRE_FRAMES.length&&e>=t.FEATHER_FIRE_FRAMES[this.att5BurstIndex];
+ )this.fireFeatherBurst(this.att5BurstIndex),this.att5BurstIndex++}
+ fireFeatherBurst(i){
+ const s=i<t.FEATHER_AGGRO_BURSTS;
+ let e=s?this.getAggroCorpTargets():this.getFeatherTargets();
+ if(0===e.length&&s&&(e=this.getFeatherTargets()),0===e.length)return;
+ const n=this.getBoneWorld(t.FEATHER_ORIGIN_BONE)??{
+ x:this.x,y:this.y-.6*this.hitHeight}
+ ,h=t.FEATHER_SPAWN_RADIUS,r=t.FEATHER_PER_BURST;
+ for(let o=0;
+ o<r;
+ o++){
+ const i=2*Math.PI*o/r,s=n.x+Math.cos(i)*h,a=n.y+Math.sin(i)*h,c=e[this.random.nextInt(e.length)],l=SQ.getInstance().getWeapon(YX.HarpyFeather);
+ l.target=c,l.owner=this,l.x=s,l.y=a,l.rotation=Math.atan2(c.y-a,c.x-s),l.bounceCount=0,l.hitClassName="",l.setData(this.random.range(t.FEATHER_DAMAGE_MIN,t.FEATHER_DAMAGE_MAX)),l.setBattleController(this.battleController),dB.getInstance().addChild(l),l.play()}
+ }
+ getAggroCorpTargets(){
+ var t;
+ const i=this.battleController;
+ return((null==(t=null==i?void 0:i.getHighestAggroCorpUnits)?void 0:t.call(i))??[]).filter(t=>t.isAlive&&!t.removed&&!t.isUntagetable)}
+ getFeatherTargets(){
+ var t;
+ const i=this.battleController,s=(null==(t=null==i?void 0:i.getRaidCorpUnitsAroundTarget)?void 0:t.call(i,this.target??null))??[];
+ return(s.length>0?s:this.enemyList??[]).filter(t=>t.isAlive&&!t.removed&&!t.isUntagetable)}
- Kt(Y1,"HarpyKing"),zt(Y1,"BLOW_SCALE",.75);
+ Kt(T2,"HarpyKing"),zt(T2,"BLOW_SCALE",.75),zt(T2,"ATT1_CENTER_BONE","Harpy"),zt(T2,"ATT1_RADIUS",100),zt(T2,"ATT1_HITS_PER_EVENT",7),zt(T2,"ATT1_DAMAGE_MIN",1),zt(T2,"ATT1_DAMAGE_MAX",2),zt(T2,"ATT1_DASH_FRAMES",45),zt(T2,"ATT1_HOVER_SPEED",3),zt(T2,"ATT1_HOVER_START_FRAME",20),zt(T2,"ATT4_RADIUS",300),zt(T2,"ATT4_CONE_HALF_ANGLE",Math.PI/4),zt(T2,"ATT4_KNOCKBACK_POWER_MIN",8),zt(T2,"ATT4_KNOCKBACK_POWER_MAX",14),zt(T2,"ATT4_KNOCKBACK_DURATION",12),zt(T2,"ATT4_DAMAGE_MIN",1),zt(T2,"ATT4_DAMAGE_MAX",2),zt(T2,"FEATHER_SPINE_FPS",30),zt(T2,"FEATHER_FIRE_FRAMES",[28,30,32,34,36,38,40]),zt(T2,"FEATHER_PER_BURST",20),zt(T2,"FEATHER_SPAWN_RADIUS",30),zt(T2,"FEATHER_ORIGIN_BONE","shout"),zt(T2,"FEATHER_DAMAGE_MIN",1.2),zt(T2,"FEATHER_DAMAGE_MAX",2.5),zt(T2,"FEATHER_AGGRO_BURSTS",3),zt(T2,"TORNADO_DURATION",1200),zt(T2,"TORNADO_RADIUS_X",70),zt(T2,"TORNADO_RADIUS_Y",56),zt(T2,"TORNADO_DAMAGE_PERCENT",.5),zt(T2,"TORNADO_TWO_AFTER_FRAMES",5400);
RaidHud 16 hunks, 123 statements
- const s8=class t{
- constructor(i,s,e,n,h){
- zt(this,"root"),zt(this,"bossFace",new z5),zt(this,"bossName"),zt(this,"bossMult"),zt(this,"bossBar",new Gf),zt(this,"timerText"),zt(this,"lastTimerStr",""),zt(this,"closeButton"),zt(this,"aggroGauges",[]),zt(this,"aggroIcons",[]),zt(this,"aggroTexts",[]),zt(this,"lastAggroStr",[]),zt(this,"dmgGauges",[]),zt(this,"dmgTexts",[]),zt(this,"lastDmgStr",[]),zt(this,"whiteFill",1),zt(this,"lastN",-1),zt(this,"lastMultStr",""),this.root=new Be,this.root.label="RaidHud",this.root.eventMode="none",Oit.getInstance().addChild(this.root),this.closeButton=this.createCloseButton(h);
+ const D8={
+ tank:{
+ type:"tank",label:"탱커의 휘장",shortLabel:"탱커",color:14175295,cooldownFrames:1800,activeDurationFrames:300,passive:{
+ incomingDamageMult:.6,maxHpMult:1.5,aggroDamageMult:1.8}
+ ,active:{
+ aggroDamageMult:1.5,forceBossTargetFrames:300}
+ }
+ ,rogue:{
+ type:"rogue",label:"로그의 휘장",shortLabel:"로그",color:3063663,cooldownFrames:2100,activeDurationFrames:600,passive:{
+ attackSpeedMult:1.3,moveSpeedMult:1.2,maxHpMult:.8}
+ ,active:{
+ attackSpeedBuff:.3,attackDamageBuff:.2,aggroDamageMult:.8}
+ }
+ ,mage:{
+ type:"mage",label:"마법사의 휘장",shortLabel:"마법",color:5994751,cooldownFrames:2400,activeDurationFrames:600,passive:{
+ manaGainMult:1.3,attackDamageMult:1.3,maxHpMult:.8,moveSpeedMult:.9}
+ ,active:{
+ bossAttackSpeedDebuff:-.3,bossDefenseDebuff:-.2}
+ }
+ ,healer:{
+ type:"healer",label:"치유의 휘장",shortLabel:"치유",color:16763212,cooldownFrames:3e3,activeDurationFrames:600,passive:{
+ attackDamageMult:1.1,maxHpMult:1.2,healIntervalFrames:300,healPercent:10}
+ ,active:{
+ raidHealIntervalFrames:60,raidHealPercent:5}
+ }
+ }
+ ,L8=["tank","rogue","mage","healer","rogue"],G8=class t{
+ constructor(i,s,e,n,h,r=[],o){
+ zt(this,"root"),zt(this,"bossFace",new A3),zt(this,"bossName"),zt(this,"bossMult"),zt(this,"bossBar",new Gf),zt(this,"timerText"),zt(this,"lastTimerStr",""),zt(this,"closeButton"),zt(this,"hpGauges",[]),zt(this,"hpTexts",[]),zt(this,"lastHpStr",[]),zt(this,"aggroGauges",[]),zt(this,"aggroIcons",[]),zt(this,"aggroTexts",[]),zt(this,"lastAggroStr",[]),zt(this,"dmgGauges",[]),zt(this,"dmgTexts",[]),zt(this,"lastDmgStr",[]),zt(this,"emblemDefs",[]),zt(this,"emblemButtonBgs",[]),zt(this,"emblemCooldownTexts",[]),zt(this,"whiteFill",1),zt(this,"lastN",-1),zt(this,"lastMultStr",""),this.root=new Be,this.root.label="RaidHud",this.root.eventMode="passive",Nst.getInstance().addChild(this.root),this.closeButton=this.createCloseButton(h);
- fontSize:14,fill:16777215,fontWeight:"bold",stroke:{
+ fontSize:11,fill:16777215,fontWeight:"bold",stroke:{
- const g=(KA.stageHeight||1130)-t.CORP_TOP_FROM_BOTTOM,m=t.CORP_X,w=Math.max(e.length,n.length);
+ const w=(KA.stageHeight||1130)-t.CORP_TOP_FROM_BOTTOM,v=Math.max(e.length,n.length),b=v*t.CORP_PANEL_W+Math.max(0,v-1)*t.CORP_COL_GAP,y=Math.max(8,((KA.stageWidth||640)-b)/2);
- const i=g+v*t.CORP_ROW_H,s=new z5;
+ const i=y+_*(t.CORP_PANEL_W+t.CORP_COL_GAP),s=i+t.CORP_PANEL_W/2,h=i+(t.CORP_PANEL_W-t.CORP_GAUGE_W)/2,a=new A3;
- h>0&&s.setDataWithKindNum(h),s.position.set(m,i);
+ c>0&&a.setDataWithKindNum(c);
- const u=c.width,d=c.height;
- c.position.set(m+r+2+t.SOLDIER_ICON_DX,i+o-d),this.root.addChild(c),this.root.addChild(s);
- const f=m+r+2+u+12+t.SOLDIER_ICON_DX,p=new Gf;
- p.position.set(f,i+2),this.root.addChild(p),this.aggroGauges.push(p);
- const w=new jg({
- text:"",style:a}
- );
- w.anchor.set(0,.5),w.position.set(f+t.DMG_GAUGE_W+8,i+2+t.AGGRO_GAUGE_H/2),this.root.addChild(w),this.aggroTexts.push(w),this.lastAggroStr.push("");
- const b=new je(ZA.getTexture("UI_Ekkorr","Icon_Monster"));
- b.anchor.set(.5,.5),b.scale.set(.8),b.position.set(f-10,i+2+t.AGGRO_GAUGE_H/2),b.visible=!1,this.root.addChild(b),this.aggroIcons.push(b);
+ const g=f.width,m=f.height,v=s-(u+t.ICON_GAP+g)/2,b=w+Math.max(d,m);
+ a.position.set(v,b-d),f.position.set(v+u+t.ICON_GAP,b-m),this.root.addChild(f),this.root.addChild(a);
- y.position.set(f,i+22),this.root.addChild(y),this.dmgGauges.push(y);
+ M.position.set(h,w+t.HP_GAUGE_Y),this.root.addChild(M),this.hpGauges.push(M);
- _.anchor.set(0,.5),_.position.set(f+t.DMG_GAUGE_W+8,i+22+t.DMG_GAUGE_H/2),this.root.addChild(_),this.dmgTexts.push(_),this.lastDmgStr.push("")}
+ E.anchor.set(.5,.5),E.position.set(i+t.CORP_PANEL_W/2,w+t.HP_GAUGE_Y+t.HP_GAUGE_H/2),this.root.addChild(E),this.hpTexts.push(E),this.lastHpStr.push("");
+ const A=new Gf;
+ A.position.set(h,w+t.AGGRO_GAUGE_Y),this.root.addChild(A),this.aggroGauges.push(A);
+ const S=new Wg({
+ text:"",style:l}
+ );
+ S.anchor.set(.5,.5),S.position.set(i+t.CORP_PANEL_W/2,w+t.AGGRO_GAUGE_Y+t.AGGRO_GAUGE_H/2),this.root.addChild(S),this.aggroTexts.push(S),this.lastAggroStr.push("");
+ const C=new We(ZA.getTexture("UI_Ekkorr","Icon_Monster"));
+ C.anchor.set(.5,.5),C.scale.set(.65),C.position.set(h,w+t.AGGRO_GAUGE_Y+t.AGGRO_GAUGE_H/2),C.visible=!1,this.root.addChild(C),this.aggroIcons.push(C);
+ const T=new Gf;
+ T.position.set(h,w+t.DMG_GAUGE_Y),this.root.addChild(T),this.dmgGauges.push(T);
+ const k=new Wg({
+ text:"",style:l}
+ );
+ k.anchor.set(.5,.5),k.position.set(i+t.CORP_PANEL_W/2,w+t.DMG_GAUGE_Y+t.DMG_GAUGE_H/2),this.root.addChild(k),this.dmgTexts.push(k),this.lastDmgStr.push("");
+ const O=r[_]??null,I=this.createEmblemButton(_,h,w+t.EMBLEM_BUTTON_Y,O,o);
+ this.root.addChild(I)}
+ var s,e;
- if(!s)continue;
+ if(!n){
+ this.drawHpGauge(this.hpGauges[t],0),this.hpTexts[t].text="",this.lastHpStr[t]="",this.drawAggroGauge(this.aggroGauges[t],0,!1),this.aggroIcons[t].visible=!1,this.aggroTexts[t].text="",this.lastAggroStr[t]="",this.drawDmgGauge(this.dmgGauges[t],0),this.dmgTexts[t].text="",this.lastDmgStr[t]="",this.updateEmblemButton(t,(null==(s=i.emblems)?void 0:s[t])??null);
+ continue}
+ const h=n.maxHp>0?Math.min(1,Math.max(0,n.hp/n.maxHp)):0;
+ this.drawHpGauge(this.hpGauges[t],h);
+ const r=`${
+ Math.round(100*h)}
+ %`;
+ r!==this.lastHpStr[t]&&(this.hpTexts[t].text=r,this.lastHpStr[t]=r);
- o!==this.lastDmgStr[t]&&(this.dmgTexts[t].text=o,this.lastDmgStr[t]=o)}
+ u!==this.lastDmgStr[t]&&(this.dmgTexts[t].text=u,this.lastDmgStr[t]=u),this.updateEmblemButton(t,(null==(e=i.emblems)?void 0:e[t])??null)}
+ createEmblemButton(i,s,e,n,h){
+ const r=t.EMBLEM_BUTTON_W,o=t.EMBLEM_BUTTON_H,a=new Be;
+ a.position.set(s,e),a.label=`RaidEmblemButton${
+ i}
+ `;
+ const c=new Gf;
+ a.addChild(c),this.emblemButtonBgs.push(c),this.emblemDefs.push(n);
+ const l=new Wg({
+ text:(null==n?void 0:n.shortLabel)??"휘장",style:new Sg({
+ fontSize:17,fill:16777215,fontWeight:"bold",stroke:{
+ color:0,width:4}
+ }
+ )}
+ );
+ l.anchor.set(.5,.5),l.position.set(r/2,o/2),a.addChild(l);
+ const u=new Wg({
+ text:"",style:new Sg({
+ fontSize:14,fill:16777215,fontWeight:"bold",stroke:{
+ color:0,width:3}
+ }
+ )}
+ );
+ return u.anchor.set(1,.5),u.position.set(r-8,o/2),a.addChild(u),this.emblemCooldownTexts.push(u),n&&h?(a.eventMode="static",a.cursor="pointer",a.hitArea=new Pi(0,0,r,o),a.on("pointerup",()=>h(i))):(a.eventMode="none",a.alpha=.4),this.drawEmblemButtonBg(c,n,!1,!1),a}
+ updateEmblemButton(t,i){
+ const s=this.emblemButtonBgs[t],e=this.emblemDefs[t],n=this.emblemCooldownTexts[t];
+ if(!s||!n)return;
+ const h=Math.max(0,(null==i?void 0:i.cooldownRemainingFrames)??0),r=h>0,o=Math.max(0,(null==i?void 0:i.activeRemainingFrames)??0)>0;
+ this.drawEmblemButtonBg(s,e,r,o),n.text=r?String(Math.ceil(h/60)):o?"ON":""}
+ drawEmblemButtonBg(i,s,e,n){
+ const h=t.EMBLEM_BUTTON_W,r=t.EMBLEM_BUTTON_H;
+ i.clear(),i.roundRect(0,0,h,r,8).fill({
+ color:(null==s?void 0:s.color)??3814181,alpha:s?.9:.45}
+ ),e&&i.roundRect(0,0,h,r,8).fill({
+ color:0,alpha:.45}
+ ),i.roundRect(0,0,h,r,8).stroke({
+ width:n?3:2,color:n?8257418:16777215,alpha:n?.95:.55}
+ )}
- const n=t.DMG_GAUGE_W,h=t.AGGRO_GAUGE_H,r=h/2;
+ const n=t.CORP_GAUGE_W,h=t.AGGRO_GAUGE_H,r=h/2;
+ drawHpGauge(i,s){
+ const e=t.CORP_GAUGE_W,n=t.HP_GAUGE_H,h=.5*n;
+ i.clear(),i.roundRect(0,0,e,n,h).fill({
+ color:1710618,alpha:.9}
+ );
+ const r=Math.max(0,Math.min(1,s))*e;
+ r>.5&&i.roundRect(0,0,r,n,h).fill({
+ color:t.HP_GAUGE_COLOR}
+ ),i.roundRect(0,0,e,n,h).stroke({
+ width:2,color:0,alpha:.8}
+ )}
- const e=t.DMG_GAUGE_W,n=t.DMG_GAUGE_H,h=.5*n;
+ const e=t.CORP_GAUGE_W,n=t.DMG_GAUGE_H,h=.5*n;
- Kt(s8,"RaidHud"),zt(s8,"BOSS_X",16),zt(s8,"BOSS_Y",26),zt(s8,"FACE_SCALE",.6),zt(s8,"BAR_W",280),zt(s8,"BAR_H",20),zt(s8,"CORP_X",16),zt(s8,"CORP_TOP_FROM_BOTTOM",360),zt(s8,"CORP_ROW_H",48),zt(s8,"HERO_ICON_SCALE",.5),zt(s8,"SOLDIER_ICON_RATIO",.7),zt(s8,"SOLDIER_ICON_DX",-20),zt(s8,"DMG_GAUGE_W",105),zt(s8,"DMG_GAUGE_H",14),zt(s8,"DMG_GAUGE_COLOR",16757051),zt(s8,"AGGRO_GAUGE_H",10),zt(s8,"AGGRO_COLOR",11549230),zt(s8,"AGGRO_TOP_COLOR",16726832),zt(s8,"WHITE_EASE",.1),zt(s8,"BOSS_COLOR",15087916),zt(s8,"CLOSE_SIZE",48),zt(s8,"CLOSE_MARGIN",16);
+ Kt(G8,"RaidHud"),zt(G8,"BOSS_X",16),zt(G8,"BOSS_Y",26),zt(G8,"FACE_SCALE",.6),zt(G8,"BAR_W",280),zt(G8,"BAR_H",20),zt(G8,"CORP_TOP_FROM_BOTTOM",196),zt(G8,"CORP_PANEL_W",118),zt(G8,"CORP_COL_GAP",6),zt(G8,"HERO_ICON_SCALE",.504),zt(G8,"SOLDIER_ICON_RATIO",.72),zt(G8,"ICON_GAP",-3),zt(G8,"HP_GAUGE_Y",49),zt(G8,"AGGRO_GAUGE_Y",64),zt(G8,"DMG_GAUGE_Y",79),zt(G8,"CORP_GAUGE_W",100),zt(G8,"HP_GAUGE_H",10),zt(G8,"HP_GAUGE_COLOR",4641641),zt(G8,"DMG_GAUGE_H",12),zt(G8,"DMG_GAUGE_COLOR",16757051),zt(G8,"EMBLEM_BUTTON_Y",104),zt(G8,"EMBLEM_BUTTON_W",100),zt(G8,"EMBLEM_BUTTON_H",42),zt(G8,"AGGRO_GAUGE_H",9),zt(G8,"AGGRO_COLOR",11549230),zt(G8,"AGGRO_TOP_COLOR",16726832),zt(G8,"WHITE_EASE",.1),zt(G8,"BOSS_COLOR",15087916),zt(G8,"CLOSE_SIZE",48),zt(G8,"CLOSE_MARGIN",16);
GolemKing 17 hunks, 104 statements
- super(...arguments),zt(this,"teleportPhase",null),zt(this,"teleportFrames",0),zt(this,"emergeSlamming",!1),zt(this,"att2Phase",null),zt(this,"att2Frames",0),zt(this,"att2AimX",1),zt(this,"att2AimY",0),zt(this,"att2Telegraph",null)}
+ super(...arguments),zt(this,"teleportPhase",null),zt(this,"teleportFrames",0),zt(this,"emergeSlamming",!1),zt(this,"att1SecondTick",0),zt(this,"att2Phase",null),zt(this,"att2Frames",0),zt(this,"att2ChargeX",1),zt(this,"att2ChargeY",0)}
- i!==t.SKILL_TELEPORT?1!==i?super.skillN(i):this.startAtt2Telegraph():this.startTeleport()}
+ i!==t.SKILL_TELEPORT?1!==i?super.skillN(i):this.startAtt2Charge():this.startTeleport()}
- const i=this.x+this.direction*t.ATT1_OFFSET_X,s=this.y;
- this.radialBlow(i,s,t.ATT1_RADIUS,t.ATT1_POWER_MIN,t.ATT1_POWER_MAX,t.ATT1_VH_MIN,t.ATT1_VH_MAX)}
+ this.doAtt1Damage(),this.att1SecondTick=t.ATT1_SECOND_TICK_DELAY}
+ doAtt1Damage(){
+ if(!this.enemyList)return;
+ const i=this.getBoneWorld(t.ATT1_CENTER_BONE)??{
+ x:this.x,y:this.y}
+ ,s=t.ATT1_RADIUS*t.ATT1_RADIUS;
+ let e=0;
+ for(const n of this.enemyList){
+ if(e>=t.ATT1_MAX_TARGETS)break;
+ if(!n.isAlive||n.removed||n.isUntagetable)continue;
+ const h=n.x-i.x,r=n.y-i.y;
+ h*h+r*r>s||(this.doDamage(n,this.random.range(t.ATT1_DAMAGE_MIN,t.ATT1_DAMAGE_MAX),!0),n.isAlive&&!n.isImmovable&&this.att1Knockback(n,h,r),e++)}
+ }
+ att1Knockback(i,s,e){
+ const n=Math.sqrt(s*s+e*e);
+ let h,r;
+ if(n<.01){
+ const t=this.random.next()*Math.PI*2;
+ h=Math.cos(t),r=Math.sin(t)}
+ else h=s/n,r=e/n;
+ const o=t.BLOW_SCALE,a=(t.ATT1_KB_POWER_MIN+this.random.next()*(t.ATT1_KB_POWER_MAX-t.ATT1_KB_POWER_MIN))*o,c=-(t.ATT1_KB_VH_MIN+this.random.next()*(t.ATT1_KB_VH_MAX-t.ATT1_KB_VH_MIN))*o;
+ i.blow(h*a,r*a,c)}
- const i=t.ATT5_SCALE;
- e&&this.radialBlow(e.x,e.y,t.ATT5_PILLAR_RADIUS,t.ATT3_POWER_MIN*i,t.ATT3_POWER_MAX*i,t.ATT3_VH_MIN*i,t.ATT3_VH_MAX*i)}
+ t&&this.doAtt5PillarBlast(t.x,t.y)}
- computeAtt2Aim(){
- let t=0,i=0,s=0;
- if(this.enemyList)for(const h of this.enemyList)h.isAlive&&!h.removed&&(t+=h.x,i+=h.y,s++);
- let e=this.direction,n=0;
- if(s>0){
- const h=t/s-this.x,r=i/s-this.y,o=Math.sqrt(h*h+r*r);
- o>.01&&(e=h/o,n=r/o)}
- this.att2AimX=e,this.att2AimY=n}
- startAtt2Telegraph(){
- this.faceMajorityEnemies(),this.computeAtt2Aim(),this.state=sI.SKILL,this.loop=!0,this.attackCoolDown=t.ATT2_TELEGRAPH_FRAMES+t.ATT2_STRIKE_MAX_FRAMES,this.numCurrentAttack=0,this.att2Phase="telegraph",this.att2Frames=0,this.resetBoneSync(),this.playSpine(this.aniIdle,!0),this.showAtt2Telegraph()}
- beginAtt2Strike(){
- this.att2Phase="strike",this.att2Frames=0,this.loop=!1,this.hideAtt2Telegraph(),this.resetBoneSync(),this.playSpine(this.aniSkills[0],!1),this.doAtt2Cone()}
- doAtt2Cone(){
+ doAtt5PillarBlast(i,s){
- const i=t.ATT2_CONE_RADIUS*t.ATT2_CONE_RADIUS,s=Math.cos(t.ATT2_CONE_HALF_ANGLE),e=this.att2AimX,n=this.att2AimY,h=t.BLOW_SCALE;
+ const e=t.ATT5_PILLAR_RADIUS*t.ATT5_PILLAR_RADIUS,n=t.BLOW_SCALE;
+ let h=0;
- if(!r.isAlive)continue;
- const o=r.x-this.x,a=r.y-this.y,c=o*o+a*a;
- if(c>i)continue;
+ if(h>=t.ATT5_MAX_TARGETS)break;
+ if(!r.isAlive||r.removed||r.isUntagetable)continue;
+ const o=r.x-i,a=r.y-s,c=o*o+a*a;
+ if(!(c>e)){
+ if(this.doDamage(r,this.random.range(t.ATT5_DAMAGE_MIN,t.ATT5_DAMAGE_MAX),!0),r.isAlive&&!r.isImmovable){
- if(l<.01?(u=e,d=n):(u=o/l,d=a/l),u*e+d*n<s)continue;
- const f=(t.ATT2_POWER_MIN+this.random.next()*(t.ATT2_POWER_MAX-t.ATT2_POWER_MIN))*h,p=-(t.ATT2_VH_MIN+this.random.next()*(t.ATT2_VH_MAX-t.ATT2_VH_MIN))*h;
+ if(i<.01){
+ const t=this.random.next()*Math.PI*2;
+ s=Math.cos(t),e=Math.sin(t)}
+ else s=o/i,e=a/i;
+ const h=(t.ATT5_POWER_MIN+this.random.next()*(t.ATT5_POWER_MAX-t.ATT5_POWER_MIN))*n,l=-(t.ATT5_VH_MIN+this.random.next()*(t.ATT5_VH_MAX-t.ATT5_VH_MIN))*n;
+ h++}
+ }
+ }
+ getAggroCorpCenter(){
+ var t,i;
+ const s=this.battleController,e=(null==(t=null==s?void 0:s.getHighestAggroCorpIndex)?void 0:t.call(s))??-1;
+ return e>=0?(null==(i=null==s?void 0:s.getCorpCenter)?void 0:i.call(s,e))??null:null}
+ computeAtt2ChargeDir(){
+ let t=null,i=null;
+ const s=this.getAggroCorpCenter();
+ if(s)t=s.x,i=s.y;
+ else if(this.enemyList){
+ let s=0,e=0,n=0;
+ for(const t of this.enemyList)t.isAlive&&!t.removed&&(s+=t.x,e+=t.y,n++);
+ n>0&&(t=s/n,i=e/n)}
+ let e=this.direction,n=0;
+ if(null!==t&&null!==i){
+ const s=t-this.x,h=i-this.y,r=Math.sqrt(s*s+h*h);
+ r>.01&&(e=s/r,n=h/r)}
+ this.att2ChargeX=e,this.att2ChargeY=n}
+ startAtt2Charge(){
+ this.computeAtt2ChargeDir(),this.lookAt(this.att2ChargeX>=0?1:-1),this.state=cx.SKILL,this.loop=!0,this.attackCoolDown=t.ATT2_DURATION_FRAMES+10,this.numCurrentAttack=0,this.att2Phase="charge",this.att2Frames=0,this.resetBoneSync(),this.playSpine(this.aniSkills[0],!0)}
+ doAtt2Tick(){
+ if(!this.enemyList)return;
+ const i=this.x+this.direction*t.ATT2_OFFSET_X,s=this.y,e=t.ATT2_RADIUS*t.ATT2_RADIUS;
+ let n=0;
+ for(const h of this.enemyList){
+ if(n>=t.ATT2_MAX_TARGETS)break;
+ if(!h.isAlive||h.removed||h.isUntagetable)continue;
+ const r=h.x-i,o=h.y-s;
+ r*r+o*o>e||(this.doDamage(h,this.random.range(t.ATT2_DAMAGE_MIN,t.ATT2_DAMAGE_MAX),!0),n++)}
- showAtt2Telegraph(){
- this.att2Telegraph||(this.att2Telegraph=new Gf,this.addChild(this.att2Telegraph));
- const i=this.att2Telegraph,s=t.ATT2_CONE_RADIUS,e=Math.atan2(this.att2AimY,this.att2AimX),n=t.ATT2_CONE_HALF_ANGLE;
- i.clear(),i.moveTo(0,0),i.arc(0,0,s,e-n,e+n),i.lineTo(0,0),i.fill({
- color:16724016,alpha:.28}
- ),i.stroke({
- color:16711680,width:3,alpha:.85}
- ),i.visible=!0}
- hideAtt2Telegraph(){
- this.att2Telegraph&&(this.att2Telegraph.visible=!1)}
- this.state=sI.SKILL,this.loop=!1,this.attackCoolDown=this.atkDuration,this.numCurrentAttack=0,this.att2Phase=null,this.hideAtt2Telegraph(),this.attackable=!1,this.isUntagetable=!0,this.freezeAlliesInPlace(),this.teleportPhase="out",this.playSpine("teleport_out",!1)}
+ this.state=cx.SKILL,this.loop=!1,this.attackCoolDown=this.atkDuration,this.numCurrentAttack=0,this.att2Phase=null,this.attackable=!1,this.isUntagetable=!0,this.freezeAlliesInPlace(),this.teleportPhase="out",this.playSpine("teleport_out",!1)}
- if(this.raidStunFrames>0&&this.isAlive)return this.raidStunFrames--,this.spine&&this.spine.update(1/60),this.updateHitFlash(),void this.updateHitKnockback();
- if(super.execute(),this.isAlive){
- if("underground"!==this.teleportPhase)return"telegraph"===this.att2Phase&&this.state===sI.SKILL?(this.att2Frames++,void(this.att2Frames>=t.ATT2_TELEGRAPH_FRAMES&&this.beginAtt2Strike())):void("strike"===this.att2Phase&&this.state===sI.SKILL&&(this.att2Frames++,this.att2Frames>=t.ATT2_STRIKE_MAX_FRAMES&&this.endAtt2()));
+ if(!this.executeRaidStunFrame()&&(super.execute(),this.isAlive)){
+ if(this.att1SecondTick>0&&0===--this.att1SecondTick&&this.doAtt1Damage(),"underground"!==this.teleportPhase)return"charge"===this.att2Phase&&this.state===cx.SKILL?(this.att2Frames++,this.x+=this.att2ChargeX*t.ATT2_CHARGE_SPEED,this.y+=this.att2ChargeY*t.ATT2_CHARGE_SPEED,this.att2Frames<=t.ATT2_DURATION_FRAMES&&this.att2Frames%t.ATT2_TICK_INTERVAL===1&&this.doAtt2Tick(),void(this.att2Frames>=t.ATT2_DURATION_FRAMES&&this.endAtt2())):void 0;
- this.att2Phase=null,this.hideAtt2Telegraph(),this.gotoIdleState()}
+ this.att2Phase=null,this.gotoIdleState()}
- return"teleport_out"===s?(this.relocateForTeleport(),this.spine&&(this.spine.visible=!1),this.teleportPhase="underground",void(this.teleportFrames=0)):"teleport_in"===s?(this.teleportPhase=null,this.emergeSlamming=!0,this.state=sI.SKILL,this.loop=!1,this.attackCoolDown=this.atkDuration,this.resetBoneSync(),void this.playSpine(this.aniSkills[1],!1)):this.emergeSlamming&&s===this.aniSkills[1]?(this.emergeSlamming=!1,void this.gotoIdleState()):void("strike"!==this.att2Phase||s!==this.aniSkills[0]?super.onSpineAnimationComplete(t):this.endAtt2())}
+ return"teleport_out"===s?(this.relocateForTeleport(),this.spine&&(this.spine.visible=!1),this.teleportPhase="underground",void(this.teleportFrames=0)):"teleport_in"===s?(this.teleportPhase=null,this.emergeSlamming=!0,this.state=cx.SKILL,this.loop=!1,this.attackCoolDown=this.atkDuration,this.resetBoneSync(),void this.playSpine(this.aniSkills[1],!1)):this.emergeSlamming&&s===this.aniSkills[1]?(this.emergeSlamming=!1,void this.gotoIdleState()):void super.onSpineAnimationComplete(t)}
+ onRaidStunStart(){
+ this.att1SecondTick=0,this.att2Phase=null,this.teleportPhase=null,this.emergeSlamming=!1,this.attackable=!0,this.isUntagetable=!1,this.spine&&(this.spine.visible=!0)}
+ resetForPool(){
+ super.resetForPool(),this.att1SecondTick=0,this.att2Phase=null,this.teleportPhase=null,this.teleportFrames=0,this.emergeSlamming=!1,this.attackable=!0,this.isUntagetable=!1,this.spine&&(this.spine.visible=!0)}
- this.att2Telegraph&&(this.att2Telegraph.removeFromParent(),this.att2Telegraph.destroy(),this.att2Telegraph=null),super.remove()}
+ super.remove()}
- Kt(Q1,"GolemKing"),zt(Q1,"SKILL_TELEPORT",5),zt(Q1,"BLOW_SCALE",.75*.6),zt(Q1,"ATT1_OFFSET_X",100),zt(Q1,"ATT1_RADIUS",120),zt(Q1,"ATT1_POWER_MIN",5),zt(Q1,"ATT1_POWER_MAX",15),zt(Q1,"ATT1_VH_MIN",4),zt(Q1,"ATT1_VH_MAX",12),zt(Q1,"ATT3_RADIUS",300),zt(Q1,"ATT3_POWER_MIN",3),zt(Q1,"ATT3_POWER_MAX",12),zt(Q1,"ATT3_VH_MIN",2),zt(Q1,"ATT3_VH_MAX",10),zt(Q1,"ATT5_PILLAR_RADIUS",50),zt(Q1,"ATT5_SCALE",.3),zt(Q1,"ATT5_PILLAR_BONES",["stone_pillar_01","stone_pillar_02","stone_pillar_03","stone_pillar_04","stone_pillar_05","stone_pillar_06","stone_pillar_07","stone_pillar_08","stone_pillar_09"]),zt(Q1,"ATT2_CONE_RADIUS",460),zt(Q1,"ATT2_CONE_HALF_ANGLE",.6),zt(Q1,"ATT2_TELEGRAPH_FRAMES",75),zt(Q1,"ATT2_STRIKE_MAX_FRAMES",120),zt(Q1,"ATT2_POWER_MIN",3),zt(Q1,"ATT2_POWER_MAX",8),zt(Q1,"ATT2_VH_MIN",2),zt(Q1,"ATT2_VH_MAX",6),zt(Q1,"TELEPORT_UNDERGROUND_FRAMES",120),zt(Q1,"EMERGE_RADIUS",480),zt(Q1,"EMERGE_POWER_MIN",15.2),zt(Q1,"EMERGE_POWER_MAX",24.3),zt(Q1,"EMERGE_VH_MIN",10.6),zt(Q1,"EMERGE_VH_MAX",18.2);
+ Kt(O2,"GolemKing"),zt(O2,"SKILL_TELEPORT",5),zt(O2,"BLOW_SCALE",.75*.6),zt(O2,"ATT1_CENTER_BONE","R_Arm_01"),zt(O2,"ATT1_RADIUS",200),zt(O2,"ATT1_MAX_TARGETS",80),zt(O2,"ATT1_DAMAGE_MIN",1),zt(O2,"ATT1_DAMAGE_MAX",2.5),zt(O2,"ATT1_KB_POWER_MIN",5),zt(O2,"ATT1_KB_POWER_MAX",15),zt(O2,"ATT1_KB_VH_MIN",4),zt(O2,"ATT1_KB_VH_MAX",12),zt(O2,"ATT1_SECOND_TICK_DELAY",10),zt(O2,"ATT3_RADIUS",300),zt(O2,"ATT3_POWER_MIN",3),zt(O2,"ATT3_POWER_MAX",12),zt(O2,"ATT3_VH_MIN",2),zt(O2,"ATT3_VH_MAX",10),zt(O2,"ATT5_PILLAR_RADIUS",70),zt(O2,"ATT5_MAX_TARGETS",10),zt(O2,"ATT5_DAMAGE_MIN",1.4),zt(O2,"ATT5_DAMAGE_MAX",2.8),zt(O2,"ATT5_POWER_MIN",5),zt(O2,"ATT5_POWER_MAX",12),zt(O2,"ATT5_VH_MIN",4),zt(O2,"ATT5_VH_MAX",9),zt(O2,"ATT5_PILLAR_BONES",["stone_pillar_01","stone_pillar_02","stone_pillar_03","stone_pillar_04","stone_pillar_05","stone_pillar_06","stone_pillar_07","stone_pillar_08","stone_pillar_09"]),zt(O2,"ATT2_CHARGE_SPEED",3),zt(O2,"ATT2_DURATION_FRAMES",120),zt(O2,"ATT2_TICK_INTERVAL",3),zt(O2,"ATT2_OFFSET_X",50),zt(O2,"ATT2_RADIUS",80),zt(O2,"ATT2_MAX_TARGETS",5),zt(O2,"ATT2_DAMAGE_MIN",1.5),zt(O2,"ATT2_DAMAGE_MAX",2.5),zt(O2,"TELEPORT_UNDERGROUND_FRAMES",120),zt(O2,"EMERGE_RADIUS",480),zt(O2,"EMERGE_POWER_MIN",15.2),zt(O2,"EMERGE_POWER_MAX",24.3),zt(O2,"EMERGE_VH_MIN",10.6),zt(O2,"EMERGE_VH_MAX",18.2);
BaseRaidUnit 24 hunks, 101 statements
- const q1=class t extends bQ{
+ const E2=class extends qQ{
- super(),zt(this,"spine",null),zt(this,"spineKey",""),zt(this,"weakPointBone",""),zt(this,"weakPointOffsetX",0),zt(this,"raidStunFrames",0),zt(this,"hitFlashFrames",0),zt(this,"hitFlashMax",1),zt(this,"hitFlashHead",!1),zt(this,"knockVx",0),zt(this,"knockVy",0),zt(this,"bossScale",1.3),zt(this,"spineFacesLeftByDefault",!0),zt(this,"spineTimeScale",.6),zt(this,"aniIdle","idle"),zt(this,"aniMove","run"),zt(this,"aniDie","die"),zt(this,"aniSkill0","att1"),zt(this,"aniSkills",["att2","att3","att4","att5"]),zt(this,"eventSkill0Hit","att1_hit"),zt(this,"eventSkillHits",["att2_hit","att3_hit","att4_hit","att5_hit"]),zt(this,"attackOrderList",[]),zt(this,"currentAttackOrderList",[]),zt(this,"attackOrderIndex",0),zt(this,"skillRatio",[.75,.55,.35,.15,0]),zt(this,"numForSkillAttack",2),zt(this,"numCurrentAttack",0),zt(this,"interSkillIdleFrames",120),zt(this,"arrAttackTypeList",[]),zt(this,"incAttack",0),zt(this,"decSpeed",0),zt(this,"_power",1),zt(this,"attackable",!0),zt(this,"wanderEnabled",!1),zt(this,"wanderInterval",240),zt(this,"wanderMinX",100),zt(this,"wanderMaxX",540),zt(this,"wanderMinY",200),zt(this,"wanderMaxY",950),zt(this,"wanderTimer",0),zt(this,"hitBoxGfx",null),zt(this,"targetSwapChance",0),zt(this,"aggroFaceX",null),zt(this,"wanderAfterAttackChance",0),zt(this,"attackDashActive",!1),zt(this,"attackDashTargetX",0),zt(this,"attackDashTargetY",0),zt(this,"attackDashSpeed",0),zt(this,"syncBoneName",""),zt(this,"_prevBoneOffX",0),zt(this,"_prevBoneOffY",0),zt(this,"_syncLogCount",0),this.bossType=1,this.hasSkill=!1,this.weight=5,this.blowImmune=!0,this.stunImmune=!0,this.freezeImmune=!0,this.knockImmune=!0}
+ super(),zt(this,"spine",null),zt(this,"spineLoadPromise",null),zt(this,"spineKey",""),zt(this,"weakPointBone",""),zt(this,"weakPointSlotNames",[]),zt(this,"weakPointOffsetX",0),zt(this,"raidStunFrames",0),zt(this,"hitFlashFrames",0),zt(this,"hitFlashMax",1),zt(this,"hitFlashHead",!1),zt(this,"headTintSlots",["face","jaw"]),zt(this,"knockVx",0),zt(this,"knockVy",0),zt(this,"bossScale",1.3),zt(this,"spineFacesLeftByDefault",!0),zt(this,"spineTimeScale",.6),zt(this,"aniIdle","idle"),zt(this,"aniMove","run"),zt(this,"aniDie","die"),zt(this,"aniGroggy","groggy"),zt(this,"aniSkill0","att1"),zt(this,"aniSkills",["att2","att3","att4","att5"]),zt(this,"eventSkill0Hit","att1_hit"),zt(this,"eventSkillHits",["att2_hit","att3_hit","att4_hit","att5_hit"]),zt(this,"attackOrderList",[]),zt(this,"currentAttackOrderList",[]),zt(this,"attackOrderIndex",0),zt(this,"skillRatio",[.75,.55,.35,.15,0]),zt(this,"numForSkillAttack",2),zt(this,"numCurrentAttack",0),zt(this,"interSkillIdleFrames",120),zt(this,"arrAttackTypeList",[]),zt(this,"incAttack",0),zt(this,"decSpeed",0),zt(this,"_power",1),zt(this,"attackable",!0),zt(this,"raidGroggyActive",!1),zt(this,"raidTintR",1),zt(this,"raidTintG",1),zt(this,"raidTintB",1),zt(this,"raidSlotBaseColors",new Map),zt(this,"wanderEnabled",!1),zt(this,"wanderInterval",240),zt(this,"wanderMinX",100),zt(this,"wanderMaxX",540),zt(this,"wanderMinY",200),zt(this,"wanderMaxY",950),zt(this,"wanderTimer",0),zt(this,"hitBoxGfx",null),zt(this,"targetSwapChance",0),zt(this,"aggroFaceX",null),zt(this,"wanderAfterAttackChance",0),zt(this,"attackDashActive",!1),zt(this,"attackDashTargetX",0),zt(this,"attackDashTargetY",0),zt(this,"attackDashSpeed",0),zt(this,"syncBoneName",""),zt(this,"_prevBoneOffX",0),zt(this,"_prevBoneOffY",0),zt(this,"_syncLogCount",0),this.bossType=1,this.hasSkill=!1,this.weight=5,this.blowImmune=!0,this.stunImmune=!0,this.freezeImmune=!0,this.knockImmune=!0}
- this.healthBar.visible=!1,this.addChild(this.healthBar),this.setHealthBarPosition(),this.generateShadow(),await this.loadSpine()}
+ this.healthBar.visible=!1,this.addChild(this.healthBar),this.setHealthBarPosition(),this.generateShadow(),await this.ensureSpineReady()}
+ async ensureSpineReady(){
+ this.spine?this.spine.parent!==this&&this.addChild(this.spine):(this.spineLoadPromise||(this.spineLoadPromise=this.loadSpine().finally(()=>{
+ this.spineLoadPromise=null}
+ )),await this.spineLoadPromise)}
+ if(this.spine)return void(this.spine.parent!==this&&this.addChild(this.spine));
- ),this.spine=h,this.addChild(h),this.applyAnimationForState()}
+ ),this.spine=h,this.addChild(h),this.captureRaidSlotBaseColors(),this.applyAnimationForState(),this.applyRaidBaseTint()}
+ hasSpineAnimation(t){
+ var i;
+ if(!this.spine||!t)return!1;
+ const s=this.spine.skeleton.data;
+ return"function"==typeof s.findAnimation?!!s.findAnimation(t):(null==(i=s.animations)?void 0:i.some(i=>(null==i?void 0:i.name)===t))??!1}
+ playRaidGroggyAnimation(){
+ const t=this.hasSpineAnimation(this.aniGroggy)?this.aniGroggy:this.aniIdle;
+ this.playSpine(t,!0)}
- this.state=sI.ATTACK,this.loop=!1,this.attackCoolDown=this.atkDuration,this.numCurrentAttack++,this.playSpine(this.aniSkill0,!1)}
+ this.faceMajorityEnemies(),this.state=cx.ATTACK,this.loop=!1,this.attackCoolDown=this.atkDuration,this.numCurrentAttack++,this.playSpine(this.aniSkill0,!1)}
- i<0||i>=this.aniSkills.length?this.target&&this.skill0(this.target):(this.state=sI.SKILL,this.loop=!1,this.attackCoolDown=this.atkDuration,this.numCurrentAttack=0,this.playSpine(this.aniSkills[i],!1))}
+ i<0||i>=this.aniSkills.length?this.target&&this.skill0(this.target):(this.faceMajorityEnemies(),this.state=cx.SKILL,this.loop=!1,this.attackCoolDown=this.atkDuration,this.numCurrentAttack=0,this.playSpine(this.aniSkills[i],!1))}
- s!==this.aniIdle&&s!==this.aniMove&&s!==this.aniDie&&(this.state!==sI.ATTACK&&this.state!==sI.SKILL||(this.attackDashActive=!1,this.wanderEnabled&&this.wanderAfterAttackChance>0&&this.random.next()<this.wanderAfterAttackChance&&(this.wanderTimer=this.wanderInterval),this.gotoIdleState()))}
+ s!==this.aniIdle&&s!==this.aniMove&&s!==this.aniGroggy&&s!==this.aniDie&&(this.state!==cx.ATTACK&&this.state!==cx.SKILL||(this.attackDashActive=!1,this.wanderEnabled&&this.wanderAfterAttackChance>0&&this.random.next()<this.wanderAfterAttackChance&&(this.wanderTimer=this.wanderInterval),this.gotoIdleState()))}
+ doDamage(t,i,s=!1){
+ return super.doDamage(t,i*this.getRaidDamageMultiplier(),s)}
+ getRaidDamageMultiplier(){
+ var t;
+ const i=this.battleController;
+ return(null==(t=null==i?void 0:i.getRaidBossDamageMultiplier)?void 0:t.call(i))??1}
+ onRaidStunStart(){
+ }
+ onRaidStunEnd(){
+ }
+ executeRaidStunFrame(){
+ return!(this.raidStunFrames<=0||!this.isAlive||this.state===cx.DIE||(this.raidStunFrames--,this.attackDashActive=!1,this.tx=this.x,this.ty=this.y,this.raidGroggyActive||(this.raidGroggyActive=!0,this.state=cx.IDLE,this.loop=!0,this.attackCoolDown=0,this.resetBoneSync(),this.playRaidGroggyAnimation()),this.spine&&this.isAlive&&this.spine.update(1/60),this.updateHitFlash(),this.updateHitKnockback(),this.raidStunFrames<=0&&(this.raidStunFrames=0,this.raidGroggyActive=!1,this.onRaidStunEnd(),this.state=cx.IDLE,this.loop=!0,this.attackCoolDown=0,this.playSpine(this.aniIdle,!0)),0))}
+ if(!this.executeRaidStunFrame()){
+ }
+ resetForPool(){
+ super.resetForPool(),this.attackable=!0,this.isUntagetable=!1,this.raidStunFrames=0,this.hitFlashFrames=0,this.hitFlashHead=!1,this.knockVx=0,this.knockVy=0,this.raidGroggyActive=!1,this.attackDashActive=!1,this.arrAttackTypeList.length=0,this.numCurrentAttack=0,this.attackOrderIndex=0,this.wanderTimer=0,this.aggroFaceX=null,this._power=1,this.resetBoneSync(),this.spine&&(this.spine.visible=!0,this.spine.renderable=!0,this.spine.alpha=1,this.spine.state.clearTracks(),this.spine.skeleton.setToSetupPose(),this.captureRaidSlotBaseColors(),this.applyRaidBaseTint(),this.applyAnimationForState())}
- this.removeHitBox(),this.spine&&(this.spine.state.clearListeners(),this.spine.parent&&this.spine.parent.removeChild(this.spine),this.spine.destroy(),this.spine=null),super.remove()}
+ this.removeHitBox(),super.remove()}
+ getSlotWorldCenter(t){
+ var i,s,e;
+ if(!this.spine||!t)return null;
+ const n=this.spine.skeleton.findSlot(t);
+ if(!n)return null;
+ const h=(null==(i=n.getAttachment)?void 0:i.call(n))??n.attachment;
+ if(h&&"function"==typeof h.computeWorldVertices){
+ const t="number"==typeof h.worldVerticesLength?h.worldVerticesLength:8,i=new Array(t).fill(0);
+ try{
+ "number"==typeof h.worldVerticesLength?h.computeWorldVertices(n,0,t,i,0,2):h.computeWorldVertices(n,i,0,2);
+ let s=1/0,e=1/0,r=-1/0,o=-1/0;
+ for(let t=0;
+ t<i.length-1;
+ t+=2){
+ const n=i[t],h=i[t+1];
+ Number.isFinite(n)&&Number.isFinite(h)&&(n<s&&(s=n),n>r&&(r=n),h<e&&(e=h),h>o&&(o=h))}
+ if(Number.isFinite(s)&&Number.isFinite(e))return this.spineLocalToWorld((s+r)/2,(e+o)/2)}
+ catch{
+ }
+ }
+ const r=n.bone;
+ if(r)return this.spineLocalToWorld(r.worldX,r.worldY);
+ const o=null==(e=null==(s=n.data)?void 0:s.boneData)?void 0:e.name;
+ return o?this.getBoneWorld(o):null}
+ spineLocalToWorld(t,i){
+ const s=this.spine;
+ return s?{
+ x:this.x+s.x+t*s.scale.x,y:this.y+s.y+i*s.scale.y}
+ :{
+ x:this.x,y:this.y}
+ }
+ for(const e of this.weakPointSlotNames){
+ const t=this.getSlotWorldCenter(e);
+ if(t)return t}
+ setRaidTint(t){
+ this.raidTintR=(t>>16&255)/255,this.raidTintG=(t>>8&255)/255,this.raidTintB=(255&t)/255,this.hitFlashFrames<=0&&this.applyRaidBaseTint()}
+ applyRaidBaseTint(){
+ this.spine&&this.applySlotTint(this.raidTintR,this.raidTintG,this.raidTintB)}
+ captureRaidSlotBaseColors(){
+ if(this.spine){
+ this.raidSlotBaseColors.clear(),this.spine.skeleton.color.set(1,1,1,1);
+ for(const t of this.spine.skeleton.slots){
+ const i=t.data.color;
+ this.raidSlotBaseColors.set(t.data.name,{
+ r:i.r,g:i.g,b:i.b,a:i.a}
+ )}
+ }
+ }
+ applySlotTint(t,i,s){
+ if(this.spine){
+ this.spine.skeleton.color.set(1,1,1,1);
+ for(const e of this.spine.skeleton.slots){
+ const n=this.raidSlotBaseColors.get(e.data.name)??e.data.color;
+ e.color.set(n.r*t,n.g*i,n.b*s,n.a)}
+ }
+ }
- if(this.spine)for(const n of t.HEAD_SLOTS){
+ if(this.spine)for(const e of this.headTintSlots){
- t&&t.color.set(i,s,e,t.color.a)}
+ if(!n)continue;
+ const h=this.raidSlotBaseColors.get(n.data.name)??n.data.color;
+ n.color.set(h.r*t,h.g*i,h.b*s,h.a)}
- if(this.hitFlashFrames--,this.hitFlashFrames<=0)return this.spine.skeleton.color.set(1,1,1,1),void this.setHeadTint(1,1,1);
+ if(this.hitFlashFrames--,this.hitFlashFrames<=0)return void this.applyRaidBaseTint();
- this.hitFlashHead?(this.spine.skeleton.color.set(1,1,1,1),this.setHeadTint(1,t,t)):(this.spine.skeleton.color.set(1,t,t,1),this.setHeadTint(1,1,1))}
+ this.hitFlashHead?(this.applySlotTint(this.raidTintR,this.raidTintG,this.raidTintB),this.setHeadTint(1,t,t)):this.applySlotTint(1+(this.raidTintR-1)*t,this.raidTintG*t,this.raidTintB*t)}
- t<=this.raidStunFrames||(this.raidStunFrames=t,this.showEffect(DK.StunEffect,t,this.tmpPoint(0,this.getBuffPosY()),!0))}
+ t<=this.raidStunFrames||(this.raidStunFrames=t,this.attackDashActive=!1,this.tx=this.x,this.ty=this.y,this.raidGroggyActive=!1,this.onRaidStunStart(),this.showEffect(ZK.StunEffect,t,this.tmpPoint(0,this.getBuffPosY()),!0))}
- Kt(q1,"BaseRaidUnit"),zt(q1,"HEAD_SLOTS",["face","jaw"]);
+ Kt(E2,"BaseRaidUnit");
DailyQuestPopup 6 hunks, 51 statements
- super(),zt(this,"list"),zt(this,"barBg"),zt(this,"barFill"),zt(this,"lblScore"),zt(this,"milestoneContainer"),zt(this,"milestoneItems",[]),zt(this,"requestPending",!1),this.height=t.POPUP_HEIGHT,this.setTitle(pG.getText("GAME_930","일일 퀘스트")),this.barBg=new jL,this.barBg.setIndex(4),this.barBg.width=t.BAR_W,this.barBg.height=t.BAR_H,this.barBg.alpha=.5,this.addChild(this.barBg),this.barFill=new jL,this.barFill.setIndex(3),this.barFill.width=0,this.barFill.height=t.BAR_H,this.addChild(this.barFill),this.lblScore=new FL("0 / 100",16777215,tL.DEFAULT_OUTLINE_FONT_OPTION_16),this.addChild(this.lblScore),this.milestoneContainer=new Be,this.addChild(this.milestoneContainer);
+ super(),zt(this,"list"),zt(this,"barBg"),zt(this,"barFill"),zt(this,"lblScore"),zt(this,"milestoneContainer"),zt(this,"milestoneItems",[]),zt(this,"requestPending",!1),zt(this,"image"),this.outSideClickHide=!0,this.height=t.POPUP_HEIGHT,this.setTitle(CG.getText("GAME_930","일일 퀘스트")),this.barBg=new tL,this.barBg.setIndex(5),this.barBg.width=t.BAR_W,this.barBg.height=t.BAR_H,this.addChild(this.barBg),this.barFill=new tL,this.barFill.setIndex(3),this.barFill.width=0,this.barFill.height=t.BAR_H,this.addChild(this.barFill),this.lblScore=new QD("0 / 100",16777215,lD.DEFAULT_OUTLINE_FONT_OPTION_16),this.addChild(this.lblScore),this.milestoneContainer=new Be,this.addChild(this.milestoneContainer);
- i.eventMode="static",i.cursor="pointer",i.on("pointertap",()=>this.onClickMilestone(t)),this.milestoneContainer.addChild(i),this.milestoneItems.push(i)}
- this.list=new BV(T1t,580,500),this.addChild(this.list),this.updateLayout(),this.on("added",this.onAdded,this),this.outSideClickHide=!0}
+ i.eventMode="static",i.cursor="pointer",i.on("pointertap",()=>this.onClickMilestone(t)),this.milestoneContainer.addChild(i),this.milestoneItems.push(i),3==t?i.hideArrow():i.showArrow()}
+ this.list=new iK(v2t,580,500),this.addChild(this.list),this.updateLayout()}
- const i=4*E1t.W+36;
+ const i=4*m2t.W+90;
- for(const h of this.milestoneItems)h.x=s,h.y=0,s+=E1t.W+12;
- this.milestoneContainer.x=this.bg.x+30,this.milestoneContainer.y=this.barBg.y+this.barBg.height+10;
+ for(const h of this.milestoneItems)h.x=s,h.y=0,s+=m2t.W+30;
+ this.milestoneContainer.y=this.barBg.y+this.barBg.height+10;
- async onAdded(){
- if(j$.getInstance().needsRefresh()){
- this.setContentVisible(!1);
- try{
- await this.refresh()}
- finally{
- this.setContentVisible(!0)}
- }
- else this.updateUI()}
+ async setData(){
+ if(lV.getInstance().needsRefresh()){
+ this.setContentVisible(!1);
+ try{
+ await this.refresh()}
+ finally{
+ this.setContentVisible(!0)}
+ }
+ else this.updateUI();
+ if(!this.image){
+ this.image=new We,this.image.eventMode="none",this.addChildAt(this.image,2);
+ const{
+ AssetPathManager:t}
+ =await Jt(async()=>{
+ const{
+ AssetPathManager:t}
+ =await Promise.resolve().then(()=>JA);
+ return{
+ AssetPathManager:t}
+ }
+ ,void 0),{
+ Assets:i}
+ =await Jt(async()=>{
+ const{
+ Assets:t}
+ =await Promise.resolve().then(()=>xM);
+ return{
+ Assets:t}
+ }
+ ,void 0),s=t.getAssetPath("CharDailyQuest.png"),e=await i.load(s);
+ this.image.texture=e,this.image.x=this.bg.x-25,this.image.y=this.barBg.y-this.image.height-3}
+ this.updateTitle()}
+ updateTitle(){
+ this.setTitle(CG.getText("GAME_930","일일 퀘스트")),this.image&&this.txtTitle.x<this.image.x+this.image.width&&(this.txtTitle.x=this.image.x+this.image.width)}
+ setTitle(t){
+ this.txtTitle.text=t,this.txtTitle.x=.5*(this.top.width-this.txtTitle.width)+20,this.txtTitle.y=22}
PetAwakeningEffects 1 hunks, 46 statements
+ static getAwakenedBarrackTribes(){
+ const t=new Set;
+ for(const i of this.BARRACKS_TIER_UP_AWAKENINGS)this.isPetAwakened(i.petKindNum)&&t.add(i.tribe);
+ return t}
+ static getShiftedSoldierTier(t,i,s,e){
+ const n=Math.min(t.length,i.length)-1;
+ if(!e||n<1)return{
+ kindNum:t[s]??0,plusLevel:i[s]??0}
+ ;
+ const h=s+1;
+ if(h<=n)return{
+ kindNum:t[h]??0,plusLevel:i[h]??0}
+ ;
+ const r=(i[n]??0)-(i[n-1]??0);
+ return{
+ kindNum:t[n]??0,plusLevel:(i[n]??0)+r}
+ }
+ static getWyvernRiderMaxLvContribution(){
+ const t=QN.getInstance().version;
+ return this._cachedWyvernMaxLvVer===t||(this._cachedWyvernMaxLvVer=t,this._cachedWyvernMaxLv=this.sumAwakenedCoupleContribution(this.WYVERN_PET_KINDNUM,5,10,200)),this._cachedWyvernMaxLv}
+ static getBarracksGameSpeedContribution(){
+ const t=QN.getInstance().version;
+ if(this._cachedGameSpeedVer===t)return this._cachedGameSpeed;
+ this._cachedGameSpeedVer=t;
+ let i=0;
+ for(const s of this.GAMESPEED_AWAKENINGS)i+=this.sumAwakenedCoupleContribution(s.petKindNum,s.val5,s.val6,s.cap);
+ return this._cachedGameSpeed=i,i}
+ static getSylphidPlusLvContribution(){
+ const t=QN.getInstance().version;
+ return this._cachedSylphidPlusLvVer===t||(this._cachedSylphidPlusLvVer=t,this._cachedSylphidPlusLv=this.sumAwakenedCoupleContribution(this.SYLPHID_PET_KINDNUM,2,5,100)),this._cachedSylphidPlusLv}
+ static sumAwakenedCoupleContribution(t,i,s,e){
+ var n;
+ if(!this.isPetAwakened(t))return 0;
+ const h=(null==(n=mx.getInstance().getBookVO(t))?void 0:n.couple)??0;
+ if(h<=0)return 0;
+ const r=Ax.getInstance(),o=Kt(t=>5===t?i:6===t?s:0,"per");
+ let a=0;
+ for(const c of r.list){
+ const t=r.getBookVO(c.kindNum);
+ t&&this.isCoupleHeroBookVO(t,h)&&(a+=o(t.grade))}
+ for(const c of r.ownedUnitList){
+ const t=r.getBookVO(c.kindNum);
+ if(!t||!this.isCoupleHeroBookVO(t,h))continue;
+ const i=o(t.grade);
+ 0!==i&&(a+=i*((c.count??0)+(c.trans[0]??0)+(c.trans[1]??0)+(c.trans[2]??0)))}
+ return Math.min(a,e)}
GuildRaidService 1 hunks, 45 statements
+ async getAllInfo(t=!1){
+ return this.post(eP.GUILD_RAID.GET_ALL_INFO,{
+ }
+ ,t)}
+ async getMainInfo(t,i=!1){
+ return this.post(eP.GUILD_RAID.GET_MAIN_INFO,{
+ main:t}
+ ,i)}
+ async getSubInfo(t,i=!1){
+ return this.post(eP.GUILD_RAID.GET_SUB_INFO,{
+ raidId:t}
+ ,i)}
+ async open(t,i,s=!0){
+ return this.post(eP.GUILD_RAID.OPEN,{
+ main:t,difficult:i}
+ ,s)}
+ async giveUp(t,i=!0){
+ return this.post(eP.GUILD_RAID.GIVE_UP,{
+ raidId:t}
+ ,i)}
+ async claimReward(t,i,s=!0){
+ return this.post(eP.GUILD_RAID.CLAIM_REWARD,{
+ raidId:t,sub:i}
+ ,s)}
+ async startBattle(t,i,s=!0){
+ return this.post(eP.GUILD_RAID.START_BATTLE,{
+ raidId:t,squads:i}
+ ,s)}
+ async endBattle(t,i,s,e=!1){
+ return this.post(eP.GUILD_RAID.END_BATTLE,{
+ battleId:t,damage:i,elapsedTime:s}
+ ,e)}
+ async getRanking(t,i,s=!1){
+ return this.post(eP.GUILD_RAID.GET_RANKING,{
+ raidId:t,sub:i}
+ ,s)}
+ async getGuildAndUserRanking(t,i,s,e=!1){
+ return this.post(eP.GUILD_RAID.GET_GUILD_AND_USER_RANKING,{
+ main:t,difficult:i,sub:s}
+ ,e)}
+ }
+ ;
+ Kt(nR,"GuildRaidService");
+ let hR=nR;
+ const rR=class extends _P{
GuildManager 1 hunks, 45 statements
+ static getTournamentSchedule(){
+ try{
+ const t=SL.getInstance().getClientData("GUILDWAR_TOURNAMENT");
+ if(!t)return null;
+ const i=JSON.parse(t),s=Date.now(),e=this.parseUtcTime(String(i.firstMatchingTime)),n=this.parseUtcTime(String(i.endTime));
+ return e>s||n<s?null:i}
+ catch(ypt){
+ return null}
+ }
+ static isValidTournamentBattle(){
+ try{
+ const t=this.getTournamentSchedule();
+ if(!t)return!1;
+ const i=Date.now(),s=this.parseUtcTime(String(t.startTime)),e=this.parseUtcTime(String(t.endTime));
+ return i>=s&&i<=e}
+ catch(ypt){
+ return!1}
+ }
+ static parseUtcTime(t){
+ return new Date(t.replace(" ","T")+"Z").getTime()}
+ static getTournamentTeamInfoBy(t){
+ if(0==this.tournamentList.length)return null;
+ for(const i of this.tournamentList){
+ if(i.guildA.id===t)return i.guildA;
+ if(i.guildB.id===t)return i.guildB}
+ return null}
+ static async loadRewardBook(){
+ this.bookRewardLoaded||(await ED.getInstance().loadBook(_D.GUILD_WAR_TOURNAMENT_REWARD),t.setBookRewardData(ED.getInstance().getBook(_D.GUILD_WAR_TOURNAMENT_REWARD)))}
+ static setBookRewardData(t){
+ if(null==t)return;
+ this.rewardBattleList.length=0,this.rewardServerList.length=0;
+ let i,s=t.length;
+ for(let e=0;
+ e<s;
+ e++)if(i=t[e],i.kindNum<100)this.rewardBattleList.push(i);
+ else{
+ const t={
+ ...i}
+ ;
+ t.loseRewardValues="";
+ const s={
+ ...i}
+ ;
+ s.winRewardValues="",this.rewardServerList.push(t),this.rewardServerList.push(s)}
+ this.bookRewardLoaded=!0}
GuildWarMainView 6 hunks, 40 statements
- const[t,i]=await Promise.all([JR.getInstance().guildWar.getCurrent(this.myGuildId,!1),JR.getInstance().guildWar.getHistory(this.myGuildId,20,!1)]);
+ const[t,i]=SD.isTournamenEntered?await Promise.all([oD.getInstance().guildWar.getCurrentTournament(this.myGuildId,!1),oD.getInstance().guildWar.getHistory(this.myGuildId,20,!1,"tournament")]):await Promise.all([oD.getInstance().guildWar.getCurrent(this.myGuildId,!1),oD.getInstance().guildWar.getHistory(this.myGuildId,20,!1,"normal")]);
- const n=e.war.aGuildId===this.myGuildId,h=n?e.war.aEloBefore:e.war.bEloBefore,r=n?e.war.bEloBefore:e.war.aEloBefore,o=n?e.aRank:e.bRank,a=n?e.bRank:e.aRank,c=fL.myGuildVO,l=(null==c?void 0:c.emblem)||(n?e.aEmblem:e.bEmblem??"101|0"),u=n?e.bEmblem:e.aEmblem,d=n?e.aLevel:e.bLevel,f=n?e.bLevel:e.aLevel;
+ const n=e.war.aGuildId===this.myGuildId;
+ let h=String(n?e.war.aEloBefore:e.war.bEloBefore),r=String(n?e.war.bEloBefore:e.war.aEloBefore),o=this.formatRank(n?e.aRank:e.bRank),a=this.formatRank(n?e.bRank:e.aRank);
+ const c=SD.myGuildVO,l=(null==c?void 0:c.emblem)||(n?e.aEmblem:e.bEmblem??"101|0"),u=n?e.bEmblem:e.aEmblem,d=n?e.aLevel:e.bLevel,f=n?e.bLevel:e.aLevel;
+ if(0==SD.isTournamenEntered)this.lblActiveSection.text=`[ ${
+ CG.getText("GAME_1022","진행중인 길드전")}
+  ]`;
+ else{
+ this.lblActiveSection.text=`[ ${
+ CG.getText("GWT_1","서버 대항전")}
+  (ROUND ${
+ SD.roundSchedule.round}
+ ) ]`;
+ const t=SD.getTournamentTeamInfoBy(SD.myGuildVO.guildId);
+ t?(o=(3==t.serverId?"Server (G)":"Server (K)")+`\nRank. ${
+ t.rank}
+ `,h=""):(o="",h="");
+ const i=e.war.bGuildId?SD.getTournamentTeamInfoBy(e.war.bGuildId):null;
+ i?(a=(3==i.serverId?"Server (G)":"Server (K)")+`\nRank. ${
+ i.rank}
+ `,r=""):(a="",r="")}
+ formatRank(t){
+ return null==t?"-":`Rank. ${
+ t}
+ `}
- this.iconMembers.visible=!0,this.lblMembers.text=`${
+ if(this.iconMembers.visible=!0,this.lblMembers.text=`${
- `;
+ `,0==SD.isTournamenEntered){
- `:"-",this.layoutRightSide()}
+ `:"-",this.lblScoreHeader.visible=!0,this.lblActiveSection.text=`[ ${
+ CG.getText("GAME_1022","진행중인 길드전")}
+  ]`}
+ else{
+ const t=SD.getTournamentTeamInfoBy(SD.myGuildVO.guildId);
+ t&&(this.lblRankLine.text=(3==t.serverId?"Server (G)":"Server (K)")+`\nRank. ${
+ t.rank}
+ `,this.lblRank.text="",this.lblScore.text="",this.lblScoreHeader.visible=!1,this.lblActiveSection.text=`[ ${
+ CG.getText("GWT_1","서버 대항전")}
+  (ROUND ${
+ SD.roundSchedule.round}
+ ) ]`)}
+ this.layoutRightSide()}
ShopGuideSecretary 1 hunks, 38 statements
+ const w4=class extends Be{
+ constructor(){
+ super(),zt(this,"bg"),zt(this,"icon"),zt(this,"lbl"),zt(this,"line"),zt(this,"icon2"),zt(this,"lbl2"),this.bg=new TM({
+ texture:ZA.getTexture("UI_Ekkorr","Popup_Bg_04"),leftWidth:12,topHeight:12,rightWidth:12,bottomHeight:12}
+ ),this.bg.width=530,this.bg.height=100,this.addChild(this.bg),this.icon=new We(ZA.getTexture("UI_Ekkorr","UNIT_NPC_2")),this.icon.scale=.7,this.icon.x=10,this.icon.y=10,this.addChild(this.icon);
+ const t=lD.DEFAULT_FONT_OPTION_17;
+ t.fill=lD.DEFAULT_COLOR,t.fontWeight="normal",this.lbl=new QD("",t.fill,t),this.lbl.x=this.icon.x+this.icon.width+10,this.lbl.y=20,this.addChild(this.lbl),lD.setLabelWrapWidth(this.lbl,this.bg.width-this.lbl.x-10),this.line=new We(ZA.getTexture("UI_Ekkorr","blackRect")),this.line.width=this.bg.width-40,this.line.height=1,this.line.x=.5*(this.bg.width-this.line.width),this.addChild(this.line),this.icon2=new We(ZA.getTexture("UI_Ekkorr","UNIT_NPC_1")),this.icon2.scale=this.icon.scale,this.icon2.x=this.icon.x,this.icon2.y=this.icon.y,this.addChild(this.icon2),this.lbl2=new QD("",t.fill,t),this.lbl2.x=this.lbl.x,this.lbl2.y=this.lbl.y,this.addChild(this.lbl2),lD.setLabelWrapWidth(this.lbl2,this.bg.width-this.lbl2.x-10)}
+ get width(){
+ return this.bg.width}
+ get height(){
+ return this.bg.height}
+ setData(){
+ const t=Kt((t,i)=>CG.getText(t,i),"_t"),i=Kt((t,i,s)=>CG.getValueReplace(t,"##",i,s),"_tv"),s=[`# ${
+ t("GAME_916","전문 비서 (이오스)")}
+ `,`  - ${
+ i("GAME_917",4,"영웅 모집 : 1시간마다 4명")}
+ `,`  - ${
+ t("GAME_918","영웅 슬롯 :")}
+  96`,`  - ${
+ i("GAME_919","15~30","자원 : 1시간마다 15~30개의 보석과 명예코인 획득")}
+ `];
+ this.lbl.text=s.join("\n");
+ const e=[`# ${
+ t("GAME_915","일반 비서 (로라)")}
+ `,`  - ${
+ i("GAME_917",2,"영웅 모집 : 1시간마다 2명")}
+ `,`  - ${
+ t("GAME_918","영웅 슬롯 :")}
+  24`,`  - ${
+ i("GAME_919","7~15","자원 : 1시간마다 7~15개의 보석과 명예코인 획득")}
+ `];
+ this.lbl2.text=e.join("\n"),this.line.y=this.lbl.y+this.lbl.height+20,this.icon2.y=this.lbl2.y=this.line.y+20;
+ const n=Math.max(this.lbl2.y+this.lbl2.height+this.lbl.y,this.icon2.y+this.icon2.height+this.icon.y);
+ this.bg.height=n}
+ }
+ ;
+ Kt(w4,"ShopGuideSecretary");
+ let v4=w4;
GuildWarBattlePopupV3 27 hunks, 38 statements
- super(),zt(this,"headerBox",new Be),zt(this,"boardBox",new Be),zt(this,"bottomBox",new Be),zt(this,"firstLoaded",!1),zt(this,"nodesBox",new Be),zt(this,"mapBg"),zt(this,"lblTitle"),zt(this,"lblScore"),zt(this,"lblTickets"),zt(this,"btnRefresh"),zt(this,"lblBoardStat"),zt(this,"phaseTabsBox",new Be),zt(this,"btnSideOpp"),zt(this,"btnSideMe"),zt(this,"btnTabBattle"),zt(this,"btnTabLog"),zt(this,"btnTabList"),zt(this,"btnTabTarget"),zt(this,"btnTargetEdit"),zt(this,"iconBottomClock"),zt(this,"lblBottomEndsIn"),zt(this,"viewMode","battle"),zt(this,"bottomHeader"),zt(this,"bottomMessage"),zt(this,"slotsList"),zt(this,"bottomGateLine"),zt(this,"bottomDetailAdj"),zt(this,"bottomDetailScore"),zt(this,"combatLogList"),zt(this,"memberStatusList"),zt(this,"targetMarkerList"),zt(this,"mockCombatLog",[]),zt(this,"logColLeft"),zt(this,"logColArrow"),zt(this,"logColRight"),zt(this,"logColCastle"),zt(this,"logColResult"),zt(this,"logColTime"),zt(this,"memberColName"),zt(this,"memberColTicket"),zt(this,"memberColAttack1"),zt(this,"memberColAttack2"),zt(this,"targetColName"),zt(this,"targetColCastle"),zt(this,"targetColMarker"),zt(this,"warId",0),zt(this,"targetWarId",null),zt(this,"targetWarStartAtMs",0),zt(this,"info",null),zt(this,"lastInfoFetchAt",0),zt(this,"cachedMyTeamASquads",null),zt(this,"readonlyMode",!1),zt(this,"readonlyResult","WIN"),zt(this,"readonlyOppName",""),zt(this,"readonlyMyScore",0),zt(this,"readonlyOppScore",0),zt(this,"readonlyEndAtMs",0),zt(this,"oppPhases",[]),zt(this,"myPhases",[]),zt(this,"oppViewPhase",1),zt(this,"myViewPhase",1),zt(this,"initialPhaseAutoApplied",!1),zt(this,"side","opp"),zt(this,"selected",null),zt(this,"targetEditMode",!1),zt(this,"pendingTargetMarkers",new Map),zt(this,"showScores",!1),zt(this,"showCastleNames",!1),zt(this,"showStrategyStrokes",!0),zt(this,"cbScore"),zt(this,"cbCastleName"),zt(this,"cbStrategyShow"),zt(this,"lblOptScore"),zt(this,"lblOptName"),zt(this,"lblOptStrategy"),zt(this,"boardInner"),zt(this,"strategyCanvas",null),zt(this,"strategyMode",!1),zt(this,"btnTabStrategy"),zt(this,"strategyToolbarBox",new Be),zt(this,"strategyToolBtns",[]),zt(this,"strategyColorSwatches",[]),zt(this,"btnStrategyUndo"),zt(this,"btnStrategyClearAll"),zt(this,"btnStrategySave"),zt(this,"myStrategyColor",Aii[0]),zt(this,"protectTickHandle",null),zt(this,"guild2HiddenByMe",!1),zt(this,"guild2Ref",null);
+ super(),zt(this,"headerBox",new Be),zt(this,"boardBox",new Be),zt(this,"bottomBox",new Be),zt(this,"firstLoaded",!1),zt(this,"nodesBox",new Be),zt(this,"mapBg"),zt(this,"lblTitle"),zt(this,"lblScore"),zt(this,"lblTickets"),zt(this,"btnRefresh"),zt(this,"lblBoardStat"),zt(this,"phaseTabsBox",new Be),zt(this,"btnSideOpp"),zt(this,"btnSideMe"),zt(this,"btnTabBattle"),zt(this,"btnTabLog"),zt(this,"btnTabList"),zt(this,"btnTabTarget"),zt(this,"btnTargetEdit"),zt(this,"iconBottomClock"),zt(this,"lblBottomEndsIn"),zt(this,"viewMode","battle"),zt(this,"bottomHeader"),zt(this,"bottomMessage"),zt(this,"slotsList"),zt(this,"bottomGateLine"),zt(this,"bottomDetailAdj"),zt(this,"bottomDetailScore"),zt(this,"combatLogList"),zt(this,"memberStatusList"),zt(this,"targetMarkerList"),zt(this,"mockCombatLog",[]),zt(this,"logColLeft"),zt(this,"logColArrow"),zt(this,"logColRight"),zt(this,"logColCastle"),zt(this,"logColResult"),zt(this,"logColTime"),zt(this,"memberColName"),zt(this,"memberColTicket"),zt(this,"memberColAttack1"),zt(this,"memberColAttack2"),zt(this,"targetColName"),zt(this,"targetColCastle"),zt(this,"targetColMarker"),zt(this,"warId",0),zt(this,"targetWarId",null),zt(this,"targetWarStartAtMs",0),zt(this,"info",null),zt(this,"lastInfoFetchAt",0),zt(this,"cachedMyTeamASquads",null),zt(this,"readonlyMode",!1),zt(this,"readonlyResult","WIN"),zt(this,"readonlyOppName",""),zt(this,"readonlyMyScore",0),zt(this,"readonlyOppScore",0),zt(this,"readonlyEndAtMs",0),zt(this,"oppPhases",[]),zt(this,"myPhases",[]),zt(this,"oppViewPhase",1),zt(this,"myViewPhase",1),zt(this,"initialPhaseAutoApplied",!1),zt(this,"side","opp"),zt(this,"selected",null),zt(this,"targetEditMode",!1),zt(this,"pendingTargetMarkers",new Map),zt(this,"showScores",!1),zt(this,"showCastleNames",!1),zt(this,"showStrategyStrokes",!0),zt(this,"cbScore"),zt(this,"cbCastleName"),zt(this,"cbStrategyShow"),zt(this,"lblOptScore"),zt(this,"lblOptName"),zt(this,"lblOptStrategy"),zt(this,"boardInner"),zt(this,"strategyCanvas",null),zt(this,"strategyMode",!1),zt(this,"btnTabStrategy"),zt(this,"strategyToolbarBox",new Be),zt(this,"strategyToolBtns",[]),zt(this,"strategyColorSwatches",[]),zt(this,"btnStrategyUndo"),zt(this,"btnStrategyClearAll"),zt(this,"btnStrategySave"),zt(this,"myStrategyColor",qsi[0]),zt(this,"protectTickHandle",null),zt(this,"guild2HiddenByMe",!1),zt(this,"guild2Ref",null),zt(this,"isTournamentReadOnly",!1),zt(this,"onHideHandler",null);
- this.readonlyMode=!1,Iii.readonlyMode=!1;
+ this.isTournamentReadOnly=!1,this.readonlyMode=!1,iei.readonlyMode=!1;
- this.readonlyMode=!0,Iii.readonlyMode=!0,this.warId=t.warId,this.targetWarId=t.warId,this.targetWarStartAtMs=0,this.readonlyOppName=t.oppName,this.readonlyMyScore=t.myScore,this.readonlyOppScore=t.oppScore,this.readonlyEndAtMs=t.endAtMs,this.readonlyResult=t.result,this.selected=null,this.side="opp",this.viewMode="battle",this.btnTabBattle.selected=!0,await gii.getInstance().ensureLoaded(),this.btnTabLog.selected=!1,this.btnTabList.selected=!1,this.btnTabTarget.selected=!1,this.btnTabStrategy&&(this.btnTabStrategy.selected=!1),this.resetTargetEditState(),this.strategyMode=!1,this.showStrategyStrokes=this.loadStrategyShowPref(),this.cbStrategyShow&&(this.cbStrategyShow.selected=this.showStrategyStrokes),this.strategyCanvas&&this.strategyCanvas.setStrokesVisible(this.showStrategyStrokes),this.resetMockState(),this.firstLoaded||this.setContentVisible(!1),this.show2(),await this.hideGuild2IfVisible(),this.btnRefresh.visible=!1,this.applyHeaderReadonly(),this.refreshSideButtons(),this.renderBoard(),this.renderBottom(),this.applyStrategyMode(),this.refreshStrategyAvailability(),this.startProtectTick(),await this.fetchHeaderInfo(!0)}
+ this.isTournamentReadOnly=!1,this.readonlyMode=!0,iei.readonlyMode=!0,this.warId=t.warId,this.targetWarId=t.warId,this.targetWarStartAtMs=0,this.readonlyOppName=t.oppName,this.readonlyMyScore=t.myScore,this.readonlyOppScore=t.oppScore,this.readonlyEndAtMs=t.endAtMs,this.readonlyResult=t.result,this.selected=null,this.side="opp",this.viewMode="battle",this.btnTabBattle.selected=!0,await Usi.getInstance().ensureLoaded(),this.btnTabLog.selected=!1,this.btnTabList.selected=!1,this.btnTabTarget.selected=!1,this.btnTabStrategy&&(this.btnTabStrategy.selected=!1),this.resetTargetEditState(),this.strategyMode=!1,this.showStrategyStrokes=this.loadStrategyShowPref(),this.cbStrategyShow&&(this.cbStrategyShow.selected=this.showStrategyStrokes),this.strategyCanvas&&this.strategyCanvas.setStrokesVisible(this.showStrategyStrokes),this.resetMockState(),this.firstLoaded||this.setContentVisible(!1),this.show2(),await this.hideGuild2IfVisible(),this.btnRefresh.visible=!1,this.applyHeaderReadonly(),this.refreshSideButtons(),this.renderBoard(),this.renderBottom(),this.applyStrategyMode(),this.refreshStrategyAvailability(),this.startProtectTick(),await this.fetchHeaderInfo(!0)}
+ async openReadonlyTournament(t){
+ this.isTournamentReadOnly=!0,this.readonlyMode=!0,iei.readonlyMode=!0,this.warId=t.warId,this.targetWarId=t.warId,this.targetWarStartAtMs=0,this.readonlyOppName=t.oppName,this.readonlyMyScore=t.myScore,this.readonlyOppScore=t.oppScore,this.readonlyEndAtMs=t.endAtMs,this.readonlyResult=t.result,this.selected=null,this.side="opp",this.viewMode="battle",this.btnTabBattle.selected=!0,await Usi.getInstance().ensureLoaded(),this.btnTabLog.selected=!1,this.btnTabList.selected=!1,this.btnTabTarget.selected=!1,this.btnTabStrategy&&(this.btnTabStrategy.selected=!1),this.resetTargetEditState(),this.strategyMode=!1,this.showStrategyStrokes=this.loadStrategyShowPref(),this.cbStrategyShow&&(this.cbStrategyShow.selected=this.showStrategyStrokes),this.strategyCanvas&&this.strategyCanvas.setStrokesVisible(this.showStrategyStrokes),this.resetMockState(),this.firstLoaded||this.setContentVisible(!1),this.show2(),await this.hideGuild2IfVisible(),this.btnRefresh.visible=!1,this.applyHeaderReadonly(),this.refreshSideButtons(),this.renderBoard(),this.renderBottom(),this.applyStrategyMode(),this.refreshStrategyAvailability(),this.startProtectTick(),await this.fetchHeaderInfo(!0,!0)}
- const t="WIN"===this.readonlyResult?`[ ${
+ let t="WIN"===this.readonlyResult?`[ ${
-  ]`,i="WIN"===this.readonlyResult?6750088:"LOSE"===this.readonlyResult?16742246:13421772;
- this.lblTitle.text=`vs ${
+  ]`;
+ const i="WIN"===this.readonlyResult?6750088:"LOSE"===this.readonlyResult?16742246:13421772;
+ "TBD"==this.readonlyResult&&(t=""),this.lblTitle.text=`vs ${
- ...tL.DEFAULT_OUTLINE_FONT_OPTION_16,fontSize:13}
+ ...lD.DEFAULT_OUTLINE_FONT_OPTION_16,fontSize:13}
- ...tL.DEFAULT_OUTLINE_FONT_OPTION_16,fontSize:13}
+ ...lD.DEFAULT_OUTLINE_FONT_OPTION_16,fontSize:13}
- ...tL.DEFAULT_OUTLINE_FONT_OPTION_16,fontSize:13}
+ ...lD.DEFAULT_OUTLINE_FONT_OPTION_16,fontSize:13}
- ...tL.DEFAULT_OUTLINE_FONT_OPTION_16,fontSize:9}
+ ...lD.DEFAULT_OUTLINE_FONT_OPTION_16,fontSize:9}
- ...tL.DEFAULT_OUTLINE_FONT_OPTION_16,fontSize:11}
+ ...lD.DEFAULT_OUTLINE_FONT_OPTION_16,fontSize:11}
- ...tL.DEFAULT_OUTLINE_FONT_OPTION_16,fontSize:9}
+ ...lD.DEFAULT_OUTLINE_FONT_OPTION_16,fontSize:9}
- var h,r,o,a,c,l;
+ var h,r,o,a,c,l,u,d;
- ;
+ ,v=new Set(Array.isArray(null==(c=null==f?void 0:f.body)?void 0:c.attackerAwakenedTribes)?f.body.attackerAwakenedTribes.map(Number):Array.from(DN.getAwakenedBarrackTribes())),b=new Set(Array.isArray(null==(l=null==f?void 0:f.body)?void 0:l.defenderAwakenedTribes)?f.body.defenderAwakenedTribes.map(Number):[]);
- const m=this.squadsToCorpsRich(n,g),w=this.squadsToCorpsRich(f,p),v=Math.floor(uD.maxWave/100),b=i.knightLevel??0,y=wii[s],_=gii.getInstance().getByPhase(e).getPlusLevel(y),M=R4.getInstance();
+ const y=this.squadsToCorpsRich(n,w,v),_=this.squadsToCorpsRich(g,m,b),M=Math.floor(EL.maxWave/100),E=i.knightLevel??0,A=Hsi[s],S=Usi.getInstance().getByPhase(e).getPlusLevel(A),C=f8.getInstance();
- squadsToCorpsRich(t,i){
+ squadsToCorpsRich(t,i,s){
- if(void 0!==c)for(let i=a.unitKindNums.length-1;
+ if(void 0===l)continue;
+ const u=!!s&&s.has(c.tribe);
+ for(let i=c.unitKindNums.length-1;
- const t=a.unitKindNums[i];
- if(!(t>0))continue;
- const n=a.plusLevel[i]??0;
- e[r].push({
+ const{
+ kindNum:s,plusLevel:e}
+ =DN.getShiftedSoldierTier(c.unitKindNums,c.plusLevel,i,u);
+ s>0&&n[o].push({
- async fetchHeaderInfo(t){
+ async fetchHeaderInfo(t,i=!1){
- const t=await JR.getInstance().guildWar.getCurrent(fL.myGuildId,!1),e=(null==(i=null==t?void 0:t.body)?void 0:i.wars)??[];
+ const t=SD.isTournamenEntered?await oD.getInstance().guildWar.getCurrentTournament(SD.myGuildId,!1):await oD.getInstance().guildWar.getCurrent(SD.myGuildId,!1),i=(null==(s=null==t?void 0:t.body)?void 0:s.wars)??[];
- const h=await JR.getInstance().guildWar.getBattleInfo(n,!1);
+ const r=await oD.getInstance().guildWar.getBattleInfo(h,i,!1);
- this.warId=r.warId,this.info=r,this.lastInfoFetchAt=e,this.buildPhasesFromBattleInfo(),this.readonlyMode?this.applyHeaderReadonly():this.applyHeader(),this.renderBoard(),this.renderBottom(),this.refreshStrategyAvailability(),"opp"===this.side&&this.loadStrategyStrokesForCurrent(),this.fetchCombatLog()}
+ this.warId=o.warId,this.info=o,this.lastInfoFetchAt=n,this.buildPhasesFromBattleInfo(),this.readonlyMode?this.applyHeaderReadonly():this.applyHeader(),this.renderBoard(),this.renderBottom(),this.refreshStrategyAvailability(),0==i&&"opp"===this.side&&this.loadStrategyStrokesForCurrent(),this.fetchCombatLog()}
- return"me"===this.side}
+ return!this.isTournamentReadOnly&&"me"===this.side}
+ if(this.isTournamentReadOnly)return;
+ if(this.isTournamentReadOnly)return this.lblOptStrategy.visible=!1,void(this.cbStrategyShow.visible=!1);
- ...tL.DEFAULT_OUTLINE_FONT_OPTION_16,fontSize:i}
+ ...lD.DEFAULT_OUTLINE_FONT_OPTION_16,fontSize:i}
+ onCloseBtnClick(){
+ super.onCloseBtnClick(),this.onHideHandler&&this.onHideHandler(),this.onHideHandler=null}
ServerStatusManager 4 hunks, 36 statements
- s=s.replace("-",""),s=s.charAt(0).toUpperCase()+s.substring(1),`message${
+ s=s.replace("-",""),s=s.charAt(0).toUpperCase()+s.substring(1),i=`message${
- `in t&&(i=t[`message${
+ `in t?t[`message${
- `])}
+ `]:this.getDefaultMessage(e.getDeviceLanguage())}
+ getDefaultMessage(t){
+ let i="The server is under maintenance.\nWe apologize for the inconvenience!";
+ switch(t){
+ case ex.KOREAN:i="서버 점검 중입니다.\n불편을 드려 죄송합니다!";
+ break;
+ case ex.CHINESE_SIMPLIFIED:i="服务器维护中。\n给您带来不便,敬请谅解。";
+ break;
+ case ex.CHINESE_TRADITIONAL:i="伺服器維護中。\n給您帶來不便,敬請見諒。";
+ break;
+ case ex.JAPANESE:i="サーバーメンテナンス中です。\nご不便をおかけして申し訳ございません。";
+ break;
+ case ex.SPANISH_ARGENTINA:i="El servidor está en mantenimiento.\n¡Lamentamos las molestias!";
+ break;
+ case ex.GERMAN:i="Der Server wird gewartet.\nWir entschuldigen uns für die Unannehmlichkeiten!";
+ break;
+ case ex.FRENCH:i="Le serveur est en maintenance.\nNous nous excusons pour la gêne occasionnée !";
+ break;
+ case ex.PORTUGUESE_BRASIL:i="O servidor está em manutenção.\nPedimos desculpas pelo inconveniente!";
+ break;
+ case ex.VIETNAMESE:i="Máy chủ đang được bảo trì.\nChúng tôi xin lỗi vì sự bất tiện này!";
+ break;
+ case ex.INDONESIAN:i="Server sedang dalam pemeliharaan.\nMohon maaf atas ketidaknyamanannya!";
+ break;
+ case ex.RUSSIAN:i="Сервер находится на техническом обслуживании.\nПриносим извинения за неудобства!";
+ break;
+ case ex.ITALIAN:i="Il server è in manutenzione.\nCi scusiamo per il disagio!";
+ break;
+ case ex.THAI:i="เซิร์ฟเวอร์กำลังอยู่ระหว่างการบำรุงรักษา\nขออภัยในความไม่สะดวก!";
+ break;
+ case ex.TURKISH:i="Sunucu bakımda.\nVerdiğimiz rahatsızlıktan dolayı özür dileriz!";
+ break;
+ case ex.POLISH:i="Serwer jest w trakcie konserwacji.\nPrzepraszamy za niedogodności!"}
+ return i}
GuildWarService 12 hunks, 35 statements
- const qP=class extends pP{
+ const iR=18e4,sR=class extends _P{
- super(...arguments),zt(this,"currentCache",new Map),zt(this,"historyCache",new Map)}
+ super(...arguments),zt(this,"currentCache",new Map),zt(this,"historyCache",new Map),zt(this,"currentTournamentCache",new Map)}
- if(i&&Date.now()-i.at<18e4)return this.syncMedalBuff(i.res),i.res}
+ if(i&&Date.now()-i.at<iR)return i.res}
- ),this.syncMedalBuff(e),e}
- syncMedalBuff(t){
- var i;
- zP.getInstance().setRank((null==(i=null==t?void 0:t.body)?void 0:i.myRank)??null)}
+ ),e}
+ syncMedalBuff2(t){
+ var i,s;
+ const e=(null==(i=null==t?void 0:t.body)?void 0:i.rankBuff)??0,n=(null==(s=null==t?void 0:t.body)?void 0:s.serverBuff)??0;
+ tR.getInstance().setBuff(e,n)}
- async getHistory(t,i=20,s=!1,e=!1){
+ async getHistory(t,i=20,s=!1,e="normal",n=!1){
+ :${
+ e}
- guildId:t,limit:i}
+ guildId:t,limit:i,type:e}
- this.currentCache.delete(t);
+ this.currentCache.delete(t),this.currentTournamentCache.delete(t);
- else this.currentCache.clear(),this.historyCache.clear()}
+ else this.currentCache.clear(),this.historyCache.clear(),this.currentTournamentCache.clear()}
- async getBattleInfo(t,i=!1){
+ async getBattleInfo(t,i,s=!1){
- warId:t}
+ warId:t,isSpectator:i}
+ async getTournamentInfo(t=!1){
+ return this.post(eP.GUILD_WAR.GET_TOURNAMENT_INFO,{
+ }
+ ,t)}
+ async getCurrentTournament(t,i=!1,s=!1){
+ if(!s){
+ const i=this.currentTournamentCache.get(t);
+ if(i&&Date.now()-i.at<iR)return i.res}
+ const e=await this.post(eP.GUILD_WAR.GET_TOURNAMENT_CURRENT,{
+ guildId:t}
+ ,i);
+ return this.currentTournamentCache.set(t,{
+ at:Date.now(),res:e}
+ ),e}
+ async getGuildWarBuff(t=!1){
+ const i=await this.post(eP.GUILD_WAR.GET_GUILD_WAR_BUFF,{
+ }
+ ,t);
+ return this.syncMedalBuff2(i),i}
URLManager 1 hunks, 31 statements
- /guildWar/clearStrokes`}
+ /guildWar/clearStrokes`,GET_TOURNAMENT_INFO:`${
+ t.baseURL}
+ /guildWar/getTournamentInfo`,GET_TOURNAMENT_CURRENT:`${
+ t.baseURL}
+ /guildWar/getTournamentCurrent`,GET_GUILD_WAR_BUFF:`${
+ t.baseURL}
+ /guildWar/getGuildWarBuff`}
+ }
+ static get GUILD_RAID(){
+ return{
+ GET_ALL_INFO:`${
+ t.baseURL}
+ /guildRaid/getAllInfo`,GET_MAIN_INFO:`${
+ t.baseURL}
+ /guildRaid/getMainInfo`,GET_SUB_INFO:`${
+ t.baseURL}
+ /guildRaid/getSubInfo`,OPEN:`${
+ t.baseURL}
+ /guildRaid/open`,GIVE_UP:`${
+ t.baseURL}
+ /guildRaid/giveUp`,CLAIM_REWARD:`${
+ t.baseURL}
+ /guildRaid/claimReward`,START_BATTLE:`${
+ t.baseURL}
+ /guildRaid/startBattle`,END_BATTLE:`${
+ t.baseURL}
+ /guildRaid/endBattle`,GET_RANKING:`${
+ t.baseURL}
+ /guildRaid/getRanking`,GET_GUILD_AND_USER_RANKING:`${
+ t.baseURL}
+ /guildRaid/getGuildAndUserRanking`}
BaseGuidePopup 1 hunks, 31 statements
+ const SB=class extends lG{
+ constructor(){
+ super(),zt(this,"image")}
+ async loadImage(){
+ if(!this.image){
+ this.image=new We,this.image.eventMode="none",this.addChildAt(this.image,1);
+ const{
+ AssetPathManager:t}
+ =await Jt(async()=>{
+ const{
+ AssetPathManager:t}
+ =await Promise.resolve().then(()=>JA);
+ return{
+ AssetPathManager:t}
+ }
+ ,void 0),{
+ Assets:i}
+ =await Jt(async()=>{
+ const{
+ Assets:t}
+ =await Promise.resolve().then(()=>xM);
+ return{
+ Assets:t}
+ }
+ ,void 0),s=t.getAssetPath("CharGuide.png"),e=await i.load(s);
+ this.image.texture=e,this.image.x=-15,this.image.y=70-this.image.height}
+ }
+ }
+ ;
+ Kt(SB,"BaseGuidePopup");
+ let CB=SB;
ShopDataManager 5 hunks, 31 statements
- var h2=(t=>(t[t.Secretary=7001]="Secretary",t))(h2||{
+ var L2=(t=>(t[t.Secretary=7001]="Secretary",t[t.Secretary_Day30=7002]="Secretary_Day30",t))(L2||{
- zt(this,"_productBookEnableYn",""),zt(this,"_nextMarketYn",""),zt(this,"allProducts",[]),zt(this,"packageList",[]),zt(this,"periodList",[]),zt(this,"normalList",[]),zt(this,"wavePassList",[]),zt(this,"reviewShopList",[]),zt(this,"requestPending",!1)}
+ zt(this,"_unlockWave",10),zt(this,"_productBookEnableYn",""),zt(this,"_nextMarketYn",""),zt(this,"allProducts",[]),zt(this,"packageList",[]),zt(this,"periodList",[]),zt(this,"normalList",[]),zt(this,"wavePassList",[]),zt(this,"reviewShopList",[]),zt(this,"requestPending",!1),zt(this,"_productIdsWithHammer",null)}
+ get unlockWave(){
+ return this._unlockWave}
- let r=(null==(s=t.rewards)?void 0:s.some(t=>"buff"===t.type&&"speed"===t.subType))?0:1;
- 1==r&&(null==(e=t.rewards)?void 0:e.some(t=>"buff"===t.type&&"yes"===t.subscribe))&&(r=-1);
- let o=(null==(n=i.rewards)?void 0:n.some(t=>"buff"===t.type&&"speed"===t.subType))?0:1;
- if(o){
- let t=null==(h=i.rewards)?void 0:h.some(t=>"buff"===t.type&&"yes"===t.subscribe);
- t&&t&&(o=-1)}
- return r-o}
+ let r=(null==(s=t.rewards)?void 0:s.some(t=>"yes"===t.subscribe||"assistant"===t.subType))?0:1,o=(null==(e=i.rewards)?void 0:e.some(t=>"yes"===t.subscribe||"assistant"===t.subType))?0:1;
+ return r!=o||(r=(null==(n=t.rewards)?void 0:n.some(t=>"buff"===t.type&&"speed"===t.subType))?0:1,o=(null==(h=i.rewards)?void 0:h.some(t=>"buff"===t.type&&"speed"===t.subType))?0:1),r-o}
- return t&&0!==t.length?t.includes("buff:ads")?pG.getText("GAME_348","광고 제거 상품이 적용되었습니다."):t.includes("buff:speed")?pG.getText("GAME_349","2배속 상품이 적용되었습니다."):t.includes("pass")?pG.getText("GAME_350","WAVE 패스가 활성화되었습니다."):t.includes("mail")?pG.getText("GAME_351","상품이 메일로 전송되었습니다."):pG.getText("GAME_347","상품이 지급되었습니다."):pG.getText("GAME_347","상품이 지급되었습니다.")}
+ return t&&0!==t.length?t.includes("buff:ads")?CG.getText("GAME_348","광고 제거 상품이 적용되었습니다."):t.includes("buff:speed")?CG.getText("GAME_349","2배속 상품이 적용되었습니다."):t.includes("buff:assistant")?CG.getText("GAME_1242","전문비서가 고용되었습니다."):t.includes("pass")?CG.getText("GAME_350","WAVE 패스가 활성화되었습니다."):t.includes("mail")?CG.getText("GAME_351","상품이 메일로 전송되었습니다."):CG.getText("GAME_347","상품이 지급되었습니다."):CG.getText("GAME_347","상품이 지급되었습니다.")}
+ getProductIdsWithHammer(){
+ if(!this._productIdsWithHammer){
+ let t;
+ this._productIdsWithHammer=[];
+ const i=this.allProducts.length;
+ for(let s=0;
+ s<i;
+ ++s){
+ if(t=this.allProducts[s],!t||!t.rewards)continue;
+ let i=!1;
+ const e=t.rewards.length;
+ for(let s=0;
+ s<e;
+ ++s)if("hammer"===t.rewards[s].type){
+ i=!0;
+ break}
+ i&&this._productIdsWithHammer.push(t.productId)}
+ }
+ return this._productIdsWithHammer}
MedalEventPopup 1 hunks, 27 statements
+ const SU=class t extends lG{
+ constructor(){
+ super(),zt(this,"infoBg"),zt(this,"lblMessage1"),zt(this,"lblMessage2"),zt(this,"lblMessage3"),zt(this,"lblMessage4"),this.title=CG.getText("GAME_541","추가 훈장 이벤트"),this.width=580,this.outSideClickHide=!0,this.infoBg=new MB,this.infoBg.setIndex(2),this.infoBg.width=this.width-46,this.infoBg.x=23,this.contentContainer.addChild(this.infoBg),this.lblMessage1=new QD("",lD.DEFAULT_COLOR,lD.DEFAULT_OUTLINE_FONT_OPTION_18),this.contentContainer.addChild(this.lblMessage1),this.lblMessage2=new QD("",lD.DEFAULT_COLOR,lD.DEFAULT_OUTLINE_FONT_OPTION_18),this.contentContainer.addChild(this.lblMessage2),this.lblMessage3=new QD("",lD.DEFAULT_COLOR,lD.DEFAULT_OUTLINE_FONT_OPTION_18),this.contentContainer.addChild(this.lblMessage3),this.lblMessage4=new QD("",lD.DEFAULT_COLOR,lD.DEFAULT_OUTLINE_FONT_OPTION_18),this.contentContainer.addChild(this.lblMessage4)}
+ static getInstance(){
+ return this._instance||(this._instance=new t),this._instance}
+ show(){
+ this.updateLayout(),super.show()}
+ updateLayout(){
+ this.title=CG.getText("GAME_541","추가 훈장 이벤트");
+ const t=gU.currentMedalEvent;
+ if(t){
+ this.lblMessage1.text=CG.getText("GAME_542","훈장 추가 획득")+` : +${
+ 100*(t.multi-1)}
+ %`,this.lblMessage2.text=CG.getText("GAME_543","총 횟수")+` : ${
+ t.max}
+ `,this.lblMessage3.text=CG.getText("GAME_544","남은 횟수")+" : "+(t.max-t.userCount);
+ const i=(new Date).toISOString().slice(0,10);
+ this.lblMessage4.text=CG.getText("GAME_545","이벤트 기간")+` : ${
+ i}
+  ~ ${
+ i}
+ `}
+ this.lblMessage1.x=this.lblMessage2.x=this.lblMessage3.x=this.lblMessage4.x=50,this.infoBg.y=70,this.lblMessage1.y=this.infoBg.y+20,this.lblMessage2.y=this.lblMessage1.y+this.lblMessage1.height+20,this.lblMessage3.y=this.lblMessage2.y+this.lblMessage2.height+20,this.lblMessage4.y=this.lblMessage3.y+this.lblMessage3.height+20,this.infoBg.height=this.lblMessage4.y-this.infoBg.y+this.lblMessage4.height+17,this.height=this.infoBg.y+this.infoBg.height+25}
+ }
+ ;
+ Kt(SU,"MedalEventPopup"),zt(SU,"_instance");
+ let CU=SU;
CorpFlagCommander 6 hunks, 27 statements
- zt(this,"corpUnits"),zt(this,"corpHero"),zt(this,"corpHeroKind"),zt(this,"corpSoldierKind"),zt(this,"commandFlow"),zt(this,"flags",[]),zt(this,"flagLayer",null),zt(this,"ghost",null),zt(this,"fieldW",0),zt(this,"fieldH",0),this.corpCount=t,this.corpUnits=Array.from({
+ zt(this,"corpUnits"),zt(this,"corpHero"),zt(this,"corpHeroKind"),zt(this,"corpSoldierKind"),zt(this,"commandFlow"),zt(this,"heroFlags",[]),zt(this,"flagLayer",null),zt(this,"ghost",null),zt(this,"fieldW",0),zt(this,"fieldH",0),this.corpCount=t,this.corpUnits=Array.from({
- const e=new X4(i);
- e.validate=(t,i)=>this.isWaypointValid(t,i),e.snap=(t,i)=>this.snapWaypoint(t,i),e.onDrop=(t,s)=>this.issueCorpWaypoint(i,t,s),e.onDragStart=(t,i,s)=>{
- var e;
- return null==(e=this.ghost)?void 0:e.begin(t,this.corpHeroKind[t],this.corpSoldierKind[t],i,s)}
- ,e.onDragMove=(t,i,s)=>{
- var e;
- return null==(e=this.ghost)?void 0:e.update(t,i,s)}
- ,e.onDragEnd=()=>{
- var t;
- return null==(t=this.ghost)?void 0:t.hide()}
- ,e.position.set(s.x,s.y),t.addChild(e),this.flags.push(e)}
+ const e=new C8(i,{
+ iconKindNum:this.corpSoldierKind[i],iconSize:28}
+ );
+ this.bindFlagCallbacks(e,i),e.position.set(s.x,s.y),t.addChild(e),this.heroFlags.push(e)}
- for(const t of this.flags)t.updateFollow(this.corpHero[t.corpIndex])}
+ for(const t of this.heroFlags)t.updateFollow(this.corpHero[t.corpIndex])}
- for(const t of this.flags)if(t.isDragging)return!0;
+ for(const t of this.heroFlags)if(t.isDragging)return!0;
+ bindFlagCallbacks(t,i){
+ t.validate=(t,i)=>this.isWaypointValid(t,i),t.snap=(t,i)=>this.snapWaypoint(t,i),t.onDrop=(t,s)=>this.issueCorpWaypoint(i,t,s),t.onDragStart=(t,i,s)=>{
+ var e;
+ return null==(e=this.ghost)?void 0:e.begin(t,this.corpHeroKind[t],this.corpSoldierKind[t],i,s)}
+ ,t.onDragMove=(t,i,s)=>{
+ var e;
+ return null==(e=this.ghost)?void 0:e.update(t,i,s)}
+ ,t.onDragEnd=()=>{
+ var t;
+ return null==(t=this.ghost)?void 0:t.hide()}
+ }
- for(const t of this.flags)t.dispose();
- this.flags.length=0,this.ghost=null,this.flagLayer&&(this.flagLayer.removeFromParent(),this.flagLayer.destroy({
+ for(const t of this.heroFlags)t.dispose();
+ this.heroFlags.length=0,this.ghost=null,this.flagLayer&&(this.flagLayer.removeFromParent(),this.flagLayer.destroy({
DailyMilestoneItem 4 hunks, 27 statements
- super(),zt(this,"bg"),zt(this,"lblScore"),zt(this,"lblReward"),zt(this,"rewardIcon"),zt(this,"vo",null),this.bg=new TM({
- texture:ZA.getTexture("UI_Ekkorr","Popup_List_02"),leftWidth:20,topHeight:20,rightWidth:20,bottomHeight:20}
- ),this.bg.width=t.W,this.bg.height=t.H,this.addChild(this.bg),this.lblScore=new FL("",16764057,tL.DEFAULT_OUTLINE_FONT_OPTION_18),this.addChild(this.lblScore),this.rewardIcon=new je(ZA.getTexture("UI_Ekkorr","PVP_COIN_OFF")),this.rewardIcon.scale.set(.9),this.addChild(this.rewardIcon),this.lblReward=new FL("",tL.COLOR_DEEP_SKYBLUE,tL.DEFAULT_OUTLINE_FONT_OPTION_16),this.addChild(this.lblReward)}
+ super(),zt(this,"bg"),zt(this,"lblScore"),zt(this,"lblReward"),zt(this,"rewardIcon"),zt(this,"arrowNext"),zt(this,"vo",null),this.bg=new TM({
+ texture:ZA.getTexture("UI_Ekkorr","Popup_Bg_11"),leftWidth:35,topHeight:40,rightWidth:35,bottomHeight:35}
+ ),this.bg.width=t.W,this.bg.height=t.H,this.addChild(this.bg),this.lblScore=new QD("",16764057,lD.DEFAULT_OUTLINE_FONT_OPTION_18),this.addChild(this.lblScore),this.rewardIcon=new We(ZA.getTexture("UI_Ekkorr","PVP_COIN_OFF")),this.rewardIcon.scale.set(.9),this.addChild(this.rewardIcon),this.lblReward=new QD("",lD.COLOR_DEEP_SKYBLUE,lD.DEFAULT_OUTLINE_FONT_OPTION_16),this.addChild(this.lblReward),this.arrowNext=new We(ZA.getTexture("UI_Ekkorr","Icon_Arrow_Short")),this.arrowNext.visible=!1,this.arrowNext.eventMode="none",this.arrowNext.x=this.bg.width,this.arrowNext.y=.5*(this.bg.height-this.arrowNext.height),this.addChildAt(this.arrowNext,0)}
- `,this.lblScore.x=.5*(t.W-this.lblScore.width),this.lblScore.y=8;
+ `,this.lblScore.x=.5*(t.W-this.lblScore.width),this.lblScore.y=10;
- this.rewardIcon.x=r,this.rewardIcon.y=t.H-this.rewardIcon.height-8,this.lblReward.x=this.rewardIcon.x+this.rewardIcon.width+2,this.lblReward.y=t.H-this.lblReward.height-8,i.claimed?(this.bg.tint=6710886,this.lblScore.text="✓",this.lblScore.x=.5*(t.W-this.lblScore.width)):i.claimable?this.bg.tint=16767334:this.bg.tint=8947848}
+ this.rewardIcon.x=r,this.rewardIcon.y=t.H-this.rewardIcon.height-12,this.lblReward.x=this.rewardIcon.x+this.rewardIcon.width+2,this.lblReward.y=this.rewardIcon.y+.5*(this.rewardIcon.height-this.lblReward.height),i.claimed?(this.bg.tint=6710886,this.lblScore.text="✓",this.lblScore.x=.5*(t.W-this.lblScore.width)):i.claimable?this.bg.alpha=this.arrowNext.alpha=1:this.bg.alpha=this.arrowNext.alpha=.75}
+ showArrow(){
+ this.arrowNext.visible=!0}
+ hideArrow(){
+ this.arrowNext.visible=!1}
- Kt(M1t,"DailyMilestoneItem"),zt(M1t,"W",110),zt(M1t,"H",70);
- let E1t=M1t;
- const A1t=class t{
- static getInstance(){
- return this.instance||(this.instance=new t),this.instance}
- goPvp(){
- c4.getInstance().isPVPBattlePopup()||(P8t.getInstance().onMenuClickByIndex(4),lst.getInstance().show())}
- goDungeon(){
- _V.getInstance().children.length>0&&(_V.getInstance().removeChildren(),AV.ensureMounted(c8t.getInstance())),c4.getInstance().isDungeonSubView()||(P8t.getInstance().onMenuClickByIndex(4),ttt.getInstance().setData(),g3.getInstance().currentSubView=ttt.getInstance())}
- goDailyRanking(){
- _V.getInstance().children.length>0&&(_V.getInstance().removeChildren(),AV.ensureMounted(c8t.getInstance())),c4.getInstance().isDailyBattleSubView()||(P8t.getInstance().onMenuClickByIndex(4),yst.getInstance().setData(),g3.getInstance().currentSubView=yst.getInstance())}
- goTower(){
- _V.getInstance().children.length>0&&(_V.getInstance().removeChildren(),AV.ensureMounted(c8t.getInstance())),c4.getInstance().isTowerSubView()||(P8t.getInstance().onMenuClickByIndex(4),x9.getInstance().setData(),g3.getInstance().currentSubView=x9.getInstance())}
- goSpritLand(){
- _V.getInstance().children.length>0&&(_V.getInstance().removeChildren(),AV.ensureMounted(c8t.getInstance())),c4.getInstance().isPetPopup()||$4t.getInstance().executeOnPetBtnClick2(),hit.getInstance().onMenuClick(2)}
- }
- ;
- Kt(A1t,"ShortcutManager"),zt(A1t,"instance");
+ Kt(g2t,"DailyMilestoneItem"),zt(g2t,"W",110),zt(g2t,"H",85);
RewardController 2 hunks, 24 statements
+ getGemInMine(t,i,s,e,n=null,h=1.2){
+ let r=ost.getInstance().getGemPoint();
+ for(let o=0;
+ o<e;
+ o++){
+ const o=j1t.getPiece();
+ s<e&&(e=s),o.value=Math.floor(s/e),this.numGemRemained++,Q5.getInstance().addChild(o),o.x=t+5+5*Math.random(),o.y=i+5+5*Math.random();
+ let a=2*Math.PI*Math.random(),c=30+30*Math.random(),l=o.x+c*Math.cos(a),u=o.y+c*Math.sin(a),d=r.x+7-14*Math.random(),f=r.y+7-14*Math.random(),p=.1+.2*Math.random(),g=.05+.1*Math.random();
+ o.start(l,u,d,f,p,g,()=>{
+ o.remove(),ost.getInstance().startGemMotion(n,h),h2t.play(d,f),this.numGemRemained--,0==this.numGemRemained&&ost.getInstance().updateGem()}
+ )}
+ }
+ getHonorCoinInMine(t,i,s,e,n=null,h=1.2){
+ let r=ost.getInstance().getHonorPoint();
+ for(let o=0;
+ o<e;
+ o++){
+ const o=J1t.getPiece();
+ s<e&&(e=s),o.value=Math.floor(s/e),this.numHonorCoinRemained++,Q5.getInstance().addChild(o),o.x=t+5+5*Math.random(),o.y=i+5+5*Math.random();
+ let a=2*Math.PI*Math.random(),c=30+30*Math.random(),l=o.x+c*Math.cos(a),u=o.y+c*Math.sin(a),d=r.x+7-14*Math.random(),f=r.y+7-14*Math.random(),p=.1+.2*Math.random(),g=.05+.1*Math.random();
+ o.start(l,u,d,f,p,g,()=>{
+ o.remove(),ost.getInstance().startHonorCoinMotion(n,h),h2t.play(d,f),this.numHonorCoinRemained--,0==this.numHonorCoinRemained&&ost.getInstance().updateHonorCoin()}
+ )}
+ }
GuildQuestItemRenderer 4 hunks, 23 statements
- var E3t=(t=>(t[t.ATTENDANCE=1]="ATTENDANCE",t[t.GUILD_WAR=2]="GUILD_WAR",t[t.GUILD_RAID=3]="GUILD_RAID",t[t.GUILD_SUBJUGATION=4]="GUILD_SUBJUGATION",t))(E3t||{
+ var t4t=(t=>(t[t.ATTENDANCE=1]="ATTENDANCE",t[t.GUILD_WAR=2]="GUILD_WAR",t[t.GUILD_RAID=3]="GUILD_RAID",t[t.GUILD_SUBJUGATION=4]="GUILD_SUBJUGATION",t[t.GUILD_WAR_TOURNAMENT=5]="GUILD_WAR_TOURNAMENT",t))(t4t||{
- this.data=t,this.lblTitle.text=t.name||"",this.lblDesc.text=t.desc||"",t.desc?(this.lblTitle.y=15,this.lblDesc.visible=!0):(this.lblTitle.y=.5*(this.bg.height-this.lblTitle.height),this.lblDesc.visible=!1),t.icon&&(this.icon.texture=ZA.getTexture("UI_Guild",t.icon)),this.icon.x=2,this.icon.y=.5*(this.bg.height-this.icon.height),this.addChild(this.icon),1===t.type?(this.btnAction.text=pG.getText("GAME_467","출석"),this.btnAction.visible=!0,this.btnAction.activated=!fL.attendedToday):2===t.type?(this.btnAction.text=pG.getText("COMMON_376","입장"),this.btnAction.visible=!0,this.btnAction.activated=!0):this.btnAction.visible=!1,1===t.type&&(fL.checkAttend()?this.showRedDot():this.hideRedDot())}
+ if(this.data=t,this.lblTitle.text=t.name||"",this.lblDesc.text=t.desc||"",t.desc?(this.lblTitle.y=15,this.lblDesc.visible=!0):(this.lblTitle.y=.5*(this.bg.height-this.lblTitle.height),this.lblDesc.visible=!1),t.icon&&(this.icon.texture=ZA.getTexture("UI_Guild",t.icon)),this.icon.x=2,this.icon.y=.5*(this.bg.height-this.icon.height),this.addChild(this.icon),1===t.type)this.btnAction.text=CG.getText("GAME_467","출석"),this.btnAction.visible=!0,this.btnAction.activated=!SD.attendedToday;
+ else if(2===t.type)this.btnAction.text=CG.getText("COMMON_376","입장"),this.btnAction.visible=!0,this.btnAction.activated=!0;
+ else if(5===t.type)this.btnAction.text=CG.getText("COMMON_376","입장"),this.btnAction.visible=!0,this.btnAction.activated=!0;
+ else if(3===t.type){
+ const t=kL.getInstance().development;
+ this.btnAction.text=CG.getText("COMMON_376","입장"),this.btnAction.visible=t,this.btnAction.activated=t}
+ else this.btnAction.visible=!1;
+ 1===t.type&&(SD.checkAttend()?this.showRedDot():this.hideRedDot())}
- this.data&&(1===this.data.type?await this.onAttend():2===this.data.type&&_3t.getInstance().show())}
+ this.data&&(1===this.data.type?await this.onAttend():2===this.data.type?(SD.isTournamenEntered=!1,Q6t.getInstance().show()):5===this.data.type?await this.ShowTournamentPopup():3===this.data.type&&(kL.getInstance().development?_6t.getInstance().show():yV.getInstance().showMessage("coming soon")))}
+ async ShowTournamentPopup(){
+ SD.isTournamenEntered=!0,await this.showTournamentPopup(),Q6t.getInstance().show()}
- onClick(t,i){
- this.data&&(2!==this.data.type?3!==this.data.type&&4!==this.data.type||eV.getInstance().showMessage("coming soon"):_3t.getInstance().show())}
+ async showTournamentPopup(){
+ let t=await $A.getTournamentShownDate();
+ const i=(new Date).toISOString().slice(0,10);
+ if(!(null!=t&&""!=t&&i<=t)){
+ if(await $A.saveTournamentShownDate(i),0==ZA.hasSheet("UI_Guild")){
+ const t="ktx2";
+ await ZA.generateTexture("UI_Guild",t,!1)}
+ await Y6t.getInstance().setData(),Y6t.getInstance().show()}
+ }
+ async onClick(t,i){
+ if(this.data)return 2===this.data.type?(SD.isTournamenEntered=!1,void Q6t.getInstance().show()):void(5!==this.data.type?3!==this.data.type?4===this.data.type&&yV.getInstance().showMessage("coming soon"):kL.getInstance().development?_6t.getInstance().show():yV.getInstance().showMessage("coming soon"):await this.ShowTournamentPopup())}
ShopPayItemRenderer 12 hunks, 19 statements
- super(),zt(this,"bg"),zt(this,"icon",new je(ZA.getTexture("UI_Ekkorr","UI_SHOP_GEM"))),zt(this,"limitedBadge",new je(ZA.getTexture("UI_Ekkorr","Shop_Limited"))),zt(this,"lblName"),zt(this,"lblDesc"),zt(this,"rewardContainer",new Be),zt(this,"rewardItems",[]),zt(this,"btnBuy"),zt(this,"purchasing",!1),this.bg=new TM({
+ super(),zt(this,"bg"),zt(this,"icon",new We(ZA.getTexture("UI_Ekkorr","UI_SHOP_GEM"))),zt(this,"limitedBadge",new We(ZA.getTexture("UI_Ekkorr","Shop_Limited"))),zt(this,"lblName"),zt(this,"lblDesc"),zt(this,"rewardContainer",new Be),zt(this,"rewardItems",[]),zt(this,"btnBuy"),zt(this,"purchasing",!1),zt(this,"toolTipShowed",!1),this.bg=new TM({
- ),this.bg.x=5,this.bg.width=630,this.bg.height=100,this.addChild(this.bg),this.bg.eventMode="dynamic",this.bg.on("pointertap",this.onBgTap,this),this.icon.scale.set(1),this.icon.x=25,this.icon.y=.5*(this.bg.height-this.icon.height),this.addChild(this.icon),this.limitedBadge.scale.set(.8),this.limitedBadge.x=this.icon.x-5,this.limitedBadge.y=this.icon.y+5,this.limitedBadge.visible=!1,this.addChild(this.limitedBadge);
+ ),this.bg.x=5,this.bg.width=630,this.bg.height=100,this.addChild(this.bg),this.icon.scale.set(1),this.icon.x=25,this.icon.y=.5*(this.bg.height-this.icon.height),this.addChild(this.icon),this.limitedBadge.scale.set(.8),this.limitedBadge.x=this.icon.x-5,this.limitedBadge.y=this.icon.y+5,this.limitedBadge.visible=!1,this.addChild(this.limitedBadge);
- else"N"==o2.getInstance().nextMarketYn?await U6.getInstance().buyProduct(this.data.productId):H6.getInstance().buyProduct(this.data);
+ else{
+ if(this.data.productId==L2.Secretary_Day30&&EL.isAssistantPremium){
+ let t=CG.getText("GAME_1240","전문비서 고용중입니다.")+"\n"+CG.getText("GAME_1241","전문비서 고용이 만료된 후에 다시 이용하실 수 있습니다.");
+ return void vG.getInstance().show(t)}
+ "N"==B2.getInstance().nextMarketYn?await m4.getInstance().buyProduct(this.data.productId):y4.getInstance().buyProduct(this.data)}
- this.data=t;
+ this.data=t,this.toolTipShowed=!1;
- this.isSubscriptionRow(t)&&(o=55,c="",uD.isAssistantPremium&&(a=pG.getText("COMMON_547","구독중"))),this.btnBuy.height=o,this.btnBuy.setData(a,c),this.btnBuy.x=this.bg.width-this.btnBuy.width-6,this.btnBuy.y=.5*(this.bg.height-this.btnBuy.height)}
+ this.isSubscriptionRow(t)?(o=55,c="",EL.isAssistantPremium&&(a=CG.getText("COMMON_547","구독중"))):t.productId==L2.Secretary_Day30&&EL.isAssistantPremium&&(o=55,c="",a=CG.getText("GAME_1239","고용중")),this.btnBuy.height=o,this.btnBuy.setData(a,c),this.btnBuy.x=this.bg.width-this.btnBuy.width-6,this.btnBuy.y=.5*(this.bg.height-this.btnBuy.height)}
- let e=0,n=!1;
+ let e=0;
- n=!1,h<s?(i.setDataFrom(t[h]),i.visible=!0,i.x=e,e+=i.width*i.scale.x+5,i.type!=$5.ticket||i.subType!=$5.heroGacha&&i.subType!=$5.heroSelect&&i.subType!=$5.treasureGacha&&i.subType!=$5.petSelect||(n=!0)):i.visible=!1,this.setItemEvent(i,n)}
+ n<s?(i.setDataFrom(t[n]),i.visible=!0,i.x=e,e+=i.width*i.scale.x+5,this.setItemEvent(i,!0)):i.visible=!1}
+ onClick(t,i){
+ this.data&&(t>=this.btnBuy.x||this.toolTipShowed||y4.getInstance().showProduct(this.data))}
+ this.toolTipShowed=!1;
+ this.toolTipShowed=!0;
- onBgTap(t){
- H6.getInstance().showProduct(this.data)}
- let i=pG.getText("COMMON_502","구독은 현재 기간이 종료되기 최소 24시간 전에 취소하지 않으면 자동으로 갱신됩니다.");
- t.isGoogleClient()||t.isGoogleClientKr()?i+="\n\n"+pG.getText("COMMON_505","Google Play 구독 설정에서 구독을 관리하거나 취소할 수 있습니다."):(t.isAppleClient()||t.isAppleClientKr())&&(i+="\n\n"+pG.getText("COMMON_503","앱 스토어 계정 설정에서 구독을 관리하거나 취소할 수 있습니다."));
+ let i=CG.getText("GAME_1240","전문비서 고용중입니다.")+"\n"+CG.getText("GAME_1241","전문비서 고용이 만료된 후에 다시 이용하실 수 있습니다.")+"\n\n"+CG.getText("COMMON_502","구독은 현재 기간이 종료되기 최소 24시간 전에 취소하지 않으면 자동으로 갱신됩니다.");
+ t.isGoogleClient()||t.isGoogleClientKr()?i+="\n"+CG.getText("COMMON_505","Google Play 구독 설정에서 구독을 관리하거나 취소할 수 있습니다."):(t.isAppleClient()||t.isAppleClientKr())&&(i+="\n"+CG.getText("COMMON_503","앱 스토어 계정 설정에서 구독을 관리하거나 취소할 수 있습니다."));
ShopPaySubView 8 hunks, 19 statements
- super(),zt(this,"btnPackage",new w3(pG.getText("GAME_237","패키지"),150,80)),zt(this,"btnPeriod",new w3(pG.getText("GAME_238","기간상품"),150,80)),zt(this,"btnNormal",new w3(pG.getText("GAME_239","일반상품"),150,80)),zt(this,"tabs"),zt(this,"activeIndex",0),zt(this,"btnLineMarket",new I6),zt(this,"lblRedGem"),zt(this,"list"),zt(this,"onPaymentSuccessBind"),this.tabs=[this.btnPackage,this.btnPeriod,this.btnNormal];
+ super(),zt(this,"btnPackage",new q3(CG.getText("GAME_237","패키지"),150,80)),zt(this,"btnPeriod",new q3(CG.getText("GAME_238","기간상품"),150,80)),zt(this,"btnNormal",new q3(CG.getText("GAME_239","일반상품"),150,80)),zt(this,"tabs"),zt(this,"activeIndex",0),zt(this,"btnLineMarket",new a4),zt(this,"lblRedGem"),zt(this,"list"),zt(this,"productList",null),zt(this,"setDataCallback",null),zt(this,"onPaymentSuccessBind"),this.tabs=[this.btnPackage,this.btnPeriod,this.btnNormal];
+ this.productList=null;
- let s=null;
- case 0:s=i.packageList.filter(t=>t.active&&i.isAvailableForPurchase(t));
+ case 0:this.productList=i.packageList.filter(t=>t.active&&i.isAvailableForPurchase(t));
- case 1:s=i.periodList.filter(t=>t.active&&i.isAvailableForPurchase(t));
+ case 1:this.productList=i.periodList.filter(t=>t.active&&i.isAvailableForPurchase(t));
- case 2:s=i.normalList.filter(t=>t.active&&i.isAvailableForPurchase(t))}
- s&&(this.list.dataProvider=s),this.list.scrollTo(0)}
+ case 2:this.productList=i.normalList.filter(t=>t.active&&i.isAvailableForPurchase(t))}
+ this.productList&&(this.list.dataProvider=this.productList),this.list.scrollTo(0)}
- this.updateRedGem(),await o2.getInstance().getProducts(0),this.switchTab(this.activeIndex),this.updateLanguage()}
+ this.updateRedGem(),await B2.getInstance().getProducts(0),this.switchTab(this.activeIndex),this.updateLanguage(),this.setDataCallback&&(this.setDataCallback(),this.setDataCallback=null)}
+ getActiveIndex(){
+ return this.activeIndex}
+ getCurrentProductList(){
+ return this.productList}
+ clickTab(t){
+ t!==this.activeIndex&&(t<0||t>=this.tabs.length||this.switchTab(t))}
+ scrollWithProductIds(t){
+ if(!this.productList)return;
+ if(!t||0==t.length)return;
+ const i=this.productList.findIndex(i=>t.includes(i.productId));
+ -1!==i&&this.list.scrollTo(i)}
GsapUtil 1 hunks, 18 statements
+ static showItemsInAlpha(t,i=.4,s=null){
+ const e=s;
+ t.forEach((t,s)=>{
+ t.alpha=0,HI.killTweensOf(t),HI.to(t,{
+ alpha:1,duration:i,delay:(4+2*s)/60,ease:"power2.out",onComplete:Kt(()=>{
+ t.alpha=1,e&&e()}
+ ,"onComplete")}
+ )}
+ )}
+ static hideItemsInAlpha(t,i=.4,s=null){
+ const e=s;
+ t.forEach((t,s)=>{
+ t.alpha=1,HI.killTweensOf(t),HI.to(t,{
+ alpha:0,duration:i,delay:(4+2*s)/60,ease:"power2.out",onComplete:Kt(()=>{
+ e&&e()}
+ ,"onComplete")}
+ )}
+ )}
RaidCrossbow 9 hunks, 18 statements
- zt(this,"root"),zt(this,"arrowLayer"),zt(this,"spine",null),zt(this,"controlBone",null),zt(this,"arrowTexture",null),zt(this,"aim",0),zt(this,"baseX",0),zt(this,"baseY",0),zt(this,"fieldW",0),zt(this,"fieldH",0),zt(this,"dragging",!1),zt(this,"dragStartX",0),zt(this,"dragStartAim",0),zt(this,"phase","idle"),zt(this,"cooldownTimer",t.GAUGE_FULL_FRAMES),zt(this,"gauge",null),zt(this,"arrows",[]),zt(this,"hitCheck",null),this.baseX=i,this.baseY=s,this.fieldW=e,this.fieldH=n;
+ zt(this,"root"),zt(this,"inputZone"),zt(this,"arrowLayer"),zt(this,"spine",null),zt(this,"controlBone",null),zt(this,"arrowTexture",null),zt(this,"aim",0),zt(this,"baseX",0),zt(this,"baseY",0),zt(this,"fieldW",0),zt(this,"fieldH",0),zt(this,"dragging",!1),zt(this,"down",!1),zt(this,"phase","idle"),zt(this,"cooldownTimer",t.GAUGE_FULL_FRAMES),zt(this,"gauge",null),zt(this,"arrows",[]),zt(this,"hitCheck",null),this.baseX=i,this.baseY=s,this.fieldW=e,this.fieldH=n;
- this.arrowLayer=new Be,this.arrowLayer.label="RaidCrossbowArrows",this.arrowLayer.eventMode="none",h.addChild(this.arrowLayer),this.root=new Be,this.root.label="RaidCrossbow",this.root.position.set(this.baseX,this.baseY),this.root.eventMode="static",this.root.cursor="pointer",this.root.hitArea=new Pi(-90,-130,180,150),this.root.on("pointerdown",this.onDown,this),h.addChild(this.root),this.gauge=new Gf,this.gauge.eventMode="none",this.gauge.position.set(-60,t.GAUGE_Y),this.root.addChild(this.gauge),this.loadSpine()}
+ this.arrowLayer=new Be,this.arrowLayer.label="RaidCrossbowArrows",this.arrowLayer.eventMode="none",h.addChild(this.arrowLayer),this.root=new Be,this.root.label="RaidCrossbow",this.root.position.set(this.baseX,this.baseY),this.root.eventMode="none",sB.getInstance().addChild(this.root),this.inputZone=new Be,this.inputZone.position.set(this.baseX,this.baseY),this.inputZone.eventMode="static",this.inputZone.cursor="pointer",this.inputZone.hitArea=new Pi(-90,-130,180,150),this.inputZone.on("pointerdown",this.onDown,this),h.addChild(this.inputZone),this.gauge=new Gf,this.gauge.eventMode="none",this.gauge.position.set(-60,t.GAUGE_Y),this.root.addChild(this.gauge),this.loadSpine()}
- h.scale.set(t.SCALE),h.autoUpdate=!0,this.spine=h,this.controlBone=h.skeleton.findBone("control"),h.beforeUpdateWorldTransforms=()=>{
- if(this.controlBone&&(this.controlBone.rotation=t.CONTROL_BASE_DEG+this.aim*t.RAD2DEG*t.AIM_SIGN),"charging"===this.phase){
+ h.scale.set(t.SCALE),h.autoUpdate=!0,h.rotation=this.down?Math.PI:0,this.spine=h,this.controlBone=h.skeleton.findBone("control"),h.beforeUpdateWorldTransforms=()=>{
+ if(this.controlBone&&(this.controlBone.rotation=t.CONTROL_BASE_DEG+this.aim*t.RAD2DEG*t.AIM_SIGN*(this.down?-1:1)),"charging"===this.phase){
- i.stopPropagation(),this.dragging=!0,this.dragStartX=i.global.x,this.dragStartAim=this.aim,this.phase="charging",this.spine.state.setAnimation(0,"shot",!1).timeScale=t.CHARGE_TIME_SCALE;
+ i.stopPropagation(),this.dragging=!0,this.aim=this.aimToward(i.global.x,i.global.y),this.phase="charging",this.spine.state.setAnimation(0,"shot",!1).timeScale=t.CHARGE_TIME_SCALE;
- if(!this.dragging)return;
- const s=t.AIM_MAX_RAD/t.AIM_RANGE_PX,e=this.dragStartAim+(i.global.x-this.dragStartX)*s;
- this.aim=Math.max(-t.AIM_MAX_RAD,Math.min(t.AIM_MAX_RAD,e))}
+ this.dragging&&(this.aim=this.aimToward(t.global.x,t.global.y))}
+ aimToward(i,s){
+ const e=this.root.getGlobalPosition(),n=i-e.x,h=s-e.y,r=this.down?Math.atan2(n,h):Math.atan2(n,-h);
+ return Math.max(-t.AIM_MAX_RAD,Math.min(t.AIM_MAX_RAD,r))}
- const i=Math.sin(this.aim),s=-Math.cos(this.aim),e=new je(this.arrowTexture);
- e.anchor.set(.5,.5),e.scale.set(t.SCALE),e.position.set(this.baseX+i*t.ARROW_SPAWN_OFFSET,this.baseY+s*t.ARROW_SPAWN_OFFSET),e.rotation=this.aim,this.arrowLayer.addChild(e),this.arrows.push({
+ const i=Math.sin(this.aim),s=this.down?Math.cos(this.aim):-Math.cos(this.aim),e=new We(this.arrowTexture);
+ e.anchor.set(.5,.5),e.scale.set(t.SCALE),e.position.set(this.baseX+i*t.ARROW_SPAWN_OFFSET,this.baseY+s*t.ARROW_SPAWN_OFFSET),e.rotation=this.down?Math.PI-this.aim:this.aim,this.arrowLayer.addChild(e),this.arrows.push({
+ setFacingDown(t){
+ this.down=t,this.spine&&(this.spine.rotation=t?Math.PI:0)}
+ setChargeSeconds(i){
+ const s=Math.round(60*i);
+ this.cooldownTimer=Math.max(0,Math.min(t.GAUGE_FULL_FRAMES,s))}
- this.arrows.length=0,this.root.removeAllListeners(),this.root.removeFromParent(),this.root.destroy({
+ this.arrows.length=0,this.inputZone.removeAllListeners(),this.inputZone.removeFromParent(),this.inputZone.destroy(),this.root.removeFromParent(),this.root.destroy({
- Kt(t8,"RaidCrossbow"),zt(t8,"SPINE_KEY","raids/weapon/crossbow_tank"),zt(t8,"AIM_MAX_RAD",60*Math.PI/180),zt(t8,"CONTROL_BASE_DEG",0),zt(t8,"AIM_SIGN",-1),zt(t8,"RAD2DEG",180/Math.PI),zt(t8,"AIM_RANGE_PX",250),zt(t8,"SCALE",1),zt(t8,"ARROW_SPEED",26),zt(t8,"ARROW_SPAWN_OFFSET",60),zt(t8,"CHARGE_MAX_TIME",2.6),zt(t8,"GAUGE_FULL_FRAMES",300),zt(t8,"CHARGE_TIME_SCALE",2),zt(t8,"GAUGE_W",120),zt(t8,"GAUGE_H",12),zt(t8,"GAUGE_Y",50),zt(t8,"ARROW_FRAME",{
+ Kt(P8,"RaidCrossbow"),zt(P8,"SPINE_KEY","raids/weapon/crossbow_tank"),zt(P8,"AIM_MAX_RAD",60*Math.PI/180),zt(P8,"CONTROL_BASE_DEG",0),zt(P8,"AIM_SIGN",-1),zt(P8,"RAD2DEG",180/Math.PI),zt(P8,"SCALE",1),zt(P8,"ARROW_SPEED",26),zt(P8,"ARROW_SPAWN_OFFSET",60),zt(P8,"CHARGE_MAX_TIME",2.6),zt(P8,"GAUGE_FULL_FRAMES",2400),zt(P8,"CHARGE_TIME_SCALE",2),zt(P8,"GAUGE_W",120),zt(P8,"GAUGE_H",12),zt(P8,"GAUGE_Y",50),zt(P8,"ARROW_FRAME",{
TreasureDetailPopup 3 hunks, 18 statements
+ const i=qx.getInstance(),s=i.equipedList.some(i=>i.kindNum===t)||i.ownedList.some(i=>i.kindNum===t);
+ let e;
+ const n=i.getBookDataByKindNum(t);
+ if(!s){
+ e=CG.getText("GAME_329","보유하지 않은 유물입니다."),n&&(e=`[ ${
+ CG.getText(n.getNameKey(),n.name)}
+  ]\n${
+ e}
+ `);
- i.equipedList.some(i=>i.kindNum===t)||i.ownedList.some(i=>i.kindNum===t)?C5.getInstance().show(pG.getText("GAME_331","장착하시겠습니까?"),async()=>{
+ return t.textAlignCenter=!0,void t.showMessage(e)}
+ e=CG.getText("GAME_331","장착하시겠습니까?"),n&&(e=`[ ${
+ CG.getText(n.getNameKey(),n.name)}
+  ]\n${
+ e}
+ `);
+ const h=s3.getInstance();
+ h.textAlignCenter=!0,h.show(e,async()=>{
- ):eV.getInstance().showMessage(pG.getText("GAME_329","보유하지 않은 유물입니다."))}
+ )}
BaseUnit 15 hunks, 17 statements
- super(),zt(this,"tx",0),zt(this,"ty",0),zt(this,"xDefault",0),zt(this,"yDefault",0),zt(this,"approachOffsetX",0),zt(this,"approachOffsetY",0),zt(this,"isAlive",!0),zt(this,"hp",100),zt(this,"maxHp",100),zt(this,"atkDmg",7),zt(this,"def",1),zt(this,"phyDef",1),zt(this,"magDef",1),zt(this,"recovery",0),zt(this,"evolStage",0),zt(this,"moveSpd",1),zt(this,"atkSpd",1),zt(this,"atkDuration",30),zt(this,"critDmg",1.5),zt(this,"critChance",.1),zt(this,"evadeChance",.05),zt(this,"blockChance",.05),zt(this,"missChance",.05),zt(this,"rangeEvadeChange",0),zt(this,"totalDamageDealt",0),zt(this,"atkRange",15),zt(this,"detectRange",600),zt(this,"atkRange2",this.atkRange*this.atkRange),zt(this,"detectRange2",this.detectRange*this.detectRange),zt(this,"isUntagetable",!1),zt(this,"isImmovable",!1),zt(this,"_cloaking",!1),zt(this,"_cloakingAttackCount",0),zt(this,"_cloakingTimer",0),zt(this,"canDetect",!1),zt(this,"isAir",!1),zt(this,"unitType",iI.MELEE),zt(this,"dmgType",eI.PHYSICAL),zt(this,"state",sI.IDLE),zt(this,"tribe",0),zt(this,"sp"),zt(this,"textureName",""),zt(this,"className",rI.ElfSwordMan1),zt(this,"sheetName","Game"),zt(this,"textures"),zt(this,"currentFrame",0),zt(this,"radius",10),zt(this,"frame",0),zt(this,"idleFrames"),zt(this,"moveFrames"),zt(this,"attackFrames"),zt(this,"skillFrames"),zt(this,"dieFrames"),zt(this,"hitWidth",10),zt(this,"hitHeight",10),zt(this,"target",null),zt(this,"enemyList",[]),zt(this,"allyList",[]),zt(this,"defaultTarget",null),zt(this,"objAtk",{
+ super(),zt(this,"tx",0),zt(this,"ty",0),zt(this,"xDefault",0),zt(this,"yDefault",0),zt(this,"approachOffsetX",0),zt(this,"approachOffsetY",0),zt(this,"isAlive",!0),zt(this,"hp",100),zt(this,"maxHp",100),zt(this,"atkDmg",7),zt(this,"def",1),zt(this,"phyDef",1),zt(this,"magDef",1),zt(this,"recovery",0),zt(this,"evolStage",0),zt(this,"moveSpd",1),zt(this,"atkSpd",1),zt(this,"atkDuration",30),zt(this,"critDmg",1.5),zt(this,"critChance",.1),zt(this,"evadeChance",.05),zt(this,"blockChance",.05),zt(this,"missChance",.05),zt(this,"rangeEvadeChange",0),zt(this,"totalDamageDealt",0),zt(this,"atkRange",15),zt(this,"detectRange",600),zt(this,"atkRange2",this.atkRange*this.atkRange),zt(this,"detectRange2",this.detectRange*this.detectRange),zt(this,"isUntagetable",!1),zt(this,"isImmovable",!1),zt(this,"_cloaking",!1),zt(this,"_cloakingAttackCount",0),zt(this,"_cloakingTimer",0),zt(this,"canDetect",!1),zt(this,"isAir",!1),zt(this,"airTargetOnly",!1),zt(this,"unitType",ax.MELEE),zt(this,"dmgType",lx.PHYSICAL),zt(this,"state",cx.IDLE),zt(this,"tribe",0),zt(this,"sp"),zt(this,"textureName",""),zt(this,"className",fx.ElfSwordMan1),zt(this,"sheetName","Game"),zt(this,"textures"),zt(this,"currentFrame",0),zt(this,"radius",10),zt(this,"frame",0),zt(this,"idleFrames"),zt(this,"moveFrames"),zt(this,"attackFrames"),zt(this,"skillFrames"),zt(this,"dieFrames"),zt(this,"hitWidth",10),zt(this,"hitHeight",10),zt(this,"target",null),zt(this,"enemyList",[]),zt(this,"allyList",[]),zt(this,"defaultTarget",null),zt(this,"objAtk",{
- ),zt(this,"startSound",""),zt(this,"attackSound",""),zt(this,"skillSound",""),zt(this,"dieSound",""),zt(this,"weaponClass",IX.NormalArrow),zt(this,"initDelay",0),zt(this,"firePoint",new mi(10,-20)),zt(this,"_tmpPoint",new mi(0,0)),zt(this,"container",new Be),zt(this,"hasTextEffect",!0),zt(this,"baseMaxHp",100),zt(this,"baseAtkDmg",7),zt(this,"baseDef",1),zt(this,"baseMoveSpd",1),zt(this,"baseAtkDuration",30),zt(this,"baseAtkRange",15),zt(this,"baseDetectRange",500),zt(this,"patrolPoint",new mi(0,0)),zt(this,"patrolRadius",0),zt(this,"isPatrolMode",!1),zt(this,"idleLookTimer",0),zt(this,"idleLookInterval",0),zt(this,"numBlock",2),zt(this,"isCastle",!1),zt(this,"flowField",null),zt(this,"losBlockedFrames",0),zt(this,"forceFlowFrames",0),zt(this,"windowStuckStreak",0),zt(this,"stuckFrames",0),zt(this,"lastStuckX",0),zt(this,"lastStuckY",0),zt(this,"lastDistToTarget2",1/0),zt(this,"windowDistOrigin2",1/0),zt(this,"windowFrames",0),zt(this,"pathCooldown",0),zt(this,"pathWaypoints",null),zt(this,"pathIndex",0),zt(this,"pathTargetX",0),zt(this,"pathTargetY",0),zt(this,"blockedEnemies",new Set),zt(this,"surroundedFrames",0),zt(this,"cachedTargetDistance",0),zt(this,"cacheFrame",0),zt(this,"cachedTarget",null),zt(this,"stateChangeTimer",0),zt(this,"minStateFrames",4),zt(this,"hysteresisMargin",5),zt(this,"aggressiveRetarget",!1),zt(this,"retargetCheckTimer",0),zt(this,"rallyMoveTimer",0),zt(this,"needsReposition",!1),zt(this,"repositionX",0),zt(this,"repositionY",0),zt(this,"repositionPatrolRadius",0),zt(this,"repositionTimeout",0),zt(this,"maxRepositionWaitFrames",600),zt(this,"commandPhase","none"),zt(this,"commandX",0),zt(this,"commandY",0),zt(this,"commandWaitTimer",0),zt(this,"commandSpeedMult",1),zt(this,"commandWaitFrames",60),zt(this,"commandFlowField",null),zt(this,"commandFrames",0),zt(this,"commandStuckFrames",0),zt(this,"showTombstone",!1),zt(this,"imgTombStone",null),zt(this,"txtReviveTimer",null),zt(this,"xDeath",0),zt(this,"yDeath",0),zt(this,"healthBar",new sQ),zt(this,"healthBarVisible",!0),zt(this,"kindNum",0),zt(this,"grade",1),zt(this,"id",99999),zt(this,"dotDamager",new rQ),zt(this,"dotHeal",new lQ),zt(this,"activeDamageBuff",new dQ),zt(this,"activeDefenseBuff",new dQ),zt(this,"activeMaxHealthBuff",new dQ),zt(this,"activeAttackSpeedBuff",new dQ),zt(this,"activeMoveSpeedBuff",new dQ),zt(this,"activeCritMultiplierBuff",new dQ),zt(this,"activeCritChanceBuff",new dQ),zt(this,"activeRangeEavdeBuff",new dQ),zt(this,"orgMaxHp",100),zt(this,"orgAtkDmg",7),zt(this,"orgDef",1),zt(this,"orgMoveSpd",1),zt(this,"orgAtkSpd",1),zt(this,"orgCritDmg",1.5),zt(this,"orgCritChance",.1),zt(this,"orgAtkRange",15),zt(this,"orgAtkDuration",30),zt(this,"orgRangeEvadeChange",0),zt(this,"ground",0),zt(this,"reviveAirProgress",1),zt(this,"shadow"),zt(this,"shadowSize",1),zt(this,"hasSkill",!1),zt(this,"maxMana",500),zt(this,"mana",0),zt(this,"_hpDroppedBelow60",!1),zt(this,"_hpDroppedBelow40",!1),zt(this,"_hpDroppedBelow20",!1),zt(this,"effectList",[]),zt(this,"battleController",null),zt(this,"isSummoned",!1),zt(this,"summonDuration",0),zt(this,"summonTimer",0),zt(this,"summoner",null),zt(this,"summonerGeneration",0),zt(this,"summonLeashRange",0),zt(this,"generation",0),zt(this,"weight",1),zt(this,"bossType",0),zt(this,"normalSize",1.05),zt(this,"evolSize",1.1),zt(this,"gameStarted",!1),zt(this,"level",1),zt(this,"gold",0),zt(this,"enhance",0),zt(this,"hasDroppedGold",!1),zt(this,"goldDropFrame",2),zt(this,"onGoldDrop",null),zt(this,"sex",hI.MALE),zt(this,"name",""),zt(this,"base",0),zt(this,"lastPercentHp",1),zt(this,"lastPercentAtkDmg",1),zt(this,"lastPercentDef",1),zt(this,"incFrame",1),zt(this,"dieIncFrame",.3),zt(this,"loop",!0),zt(this,"startFrame",0),zt(this,"endFrame",0),zt(this,"attackCoolDown",0),zt(this,"recoveryCoolDown",0),zt(this,"recoveryInterval",300),zt(this,"stateHandlers",{
+ ),zt(this,"startSound",""),zt(this,"attackSound",""),zt(this,"skillSound",""),zt(this,"dieSound",""),zt(this,"weaponClass",YX.NormalArrow),zt(this,"initDelay",0),zt(this,"firePoint",new mi(10,-20)),zt(this,"_tmpPoint",new mi(0,0)),zt(this,"container",new Be),zt(this,"hasTextEffect",!0),zt(this,"baseMaxHp",100),zt(this,"baseAtkDmg",7),zt(this,"baseDef",1),zt(this,"baseMoveSpd",1),zt(this,"baseAtkDuration",30),zt(this,"baseAtkRange",15),zt(this,"baseDetectRange",500),zt(this,"patrolPoint",new mi(0,0)),zt(this,"patrolRadius",0),zt(this,"isPatrolMode",!1),zt(this,"idleLookTimer",0),zt(this,"idleLookInterval",0),zt(this,"numBlock",2),zt(this,"isCastle",!1),zt(this,"flowField",null),zt(this,"losBlockedFrames",0),zt(this,"forceFlowFrames",0),zt(this,"windowStuckStreak",0),zt(this,"stuckFrames",0),zt(this,"lastStuckX",0),zt(this,"lastStuckY",0),zt(this,"lastDistToTarget2",1/0),zt(this,"windowDistOrigin2",1/0),zt(this,"windowFrames",0),zt(this,"pathCooldown",0),zt(this,"pathWaypoints",null),zt(this,"pathIndex",0),zt(this,"pathTargetX",0),zt(this,"pathTargetY",0),zt(this,"blockedEnemies",new Set),zt(this,"surroundedFrames",0),zt(this,"cachedTargetDistance",0),zt(this,"cacheFrame",0),zt(this,"cachedTarget",null),zt(this,"stateChangeTimer",0),zt(this,"minStateFrames",4),zt(this,"hysteresisMargin",5),zt(this,"aggressiveRetarget",!1),zt(this,"retargetCheckTimer",0),zt(this,"rallyMoveTimer",0),zt(this,"needsReposition",!1),zt(this,"repositionX",0),zt(this,"repositionY",0),zt(this,"repositionPatrolRadius",0),zt(this,"repositionTimeout",0),zt(this,"maxRepositionWaitFrames",600),zt(this,"commandPhase","none"),zt(this,"commandX",0),zt(this,"commandY",0),zt(this,"commandWaitTimer",0),zt(this,"commandSpeedMult",1),zt(this,"commandWaitFrames",60),zt(this,"commandFlowField",null),zt(this,"commandFrames",0),zt(this,"commandStuckFrames",0),zt(this,"showTombstone",!1),zt(this,"imgTombStone",null),zt(this,"txtReviveTimer",null),zt(this,"xDeath",0),zt(this,"yDeath",0),zt(this,"healthBar",new NQ),zt(this,"healthBarVisible",!0),zt(this,"kindNum",0),zt(this,"grade",1),zt(this,"id",99999),zt(this,"dotDamager",new LQ),zt(this,"dotHeal",new FQ),zt(this,"activeDamageBuff",new WQ),zt(this,"activeDefenseBuff",new WQ),zt(this,"activeMaxHealthBuff",new WQ),zt(this,"activeAttackSpeedBuff",new WQ),zt(this,"activeMoveSpeedBuff",new WQ),zt(this,"activeCritMultiplierBuff",new WQ),zt(this,"activeCritChanceBuff",new WQ),zt(this,"activeRangeEavdeBuff",new WQ),zt(this,"orgMaxHp",100),zt(this,"orgAtkDmg",7),zt(this,"orgDef",1),zt(this,"orgPhyDef",1),zt(this,"orgMagDef",1),zt(this,"orgMoveSpd",1),zt(this,"orgAtkSpd",1),zt(this,"orgCritDmg",1.5),zt(this,"orgCritChance",.1),zt(this,"orgAtkRange",15),zt(this,"orgAtkDuration",30),zt(this,"orgRangeEvadeChange",0),zt(this,"raidIncomingDamageMult",1),zt(this,"ground",0),zt(this,"reviveAirProgress",1),zt(this,"shadow"),zt(this,"shadowSize",1),zt(this,"hasSkill",!1),zt(this,"maxMana",500),zt(this,"mana",0),zt(this,"_hpDroppedBelow60",!1),zt(this,"_hpDroppedBelow40",!1),zt(this,"_hpDroppedBelow20",!1),zt(this,"effectList",[]),zt(this,"battleController",null),zt(this,"isSummoned",!1),zt(this,"summonDuration",0),zt(this,"summonTimer",0),zt(this,"summoner",null),zt(this,"summonerGeneration",0),zt(this,"summonLeashRange",0),zt(this,"generation",0),zt(this,"weight",1),zt(this,"bossType",0),zt(this,"normalSize",1.05),zt(this,"evolSize",1.1),zt(this,"gameStarted",!1),zt(this,"level",1),zt(this,"gold",0),zt(this,"enhance",0),zt(this,"hasDroppedGold",!1),zt(this,"goldDropFrame",2),zt(this,"onGoldDrop",null),zt(this,"sex",dx.MALE),zt(this,"name",""),zt(this,"base",0),zt(this,"lastPercentHp",1),zt(this,"lastPercentAtkDmg",1),zt(this,"lastPercentDef",1),zt(this,"incFrame",1),zt(this,"dieIncFrame",.3),zt(this,"loop",!0),zt(this,"startFrame",0),zt(this,"endFrame",0),zt(this,"attackCoolDown",0),zt(this,"recoveryCoolDown",0),zt(this,"recoveryInterval",300),zt(this,"stateHandlers",{
- if(this.isAlive=!0,this.kindNum=i.kindNum,this.grade=i.grade,this.sex=i.sex,this.name=i.name,this.base=i.base,this.lastPercentHp=s,this.lastPercentAtkDmg=e,this.lastPercentDef=n,this.baseMaxHp=i.maxHp*s,this.baseAtkDmg=i.atkDmg*e,this.baseDef=i.def*n,this.baseMoveSpd=i.moveSpd,this.baseAtkDuration=1e4/i.atkSpd,this.baseAtkRange=i.atkRange,this.level=i.level,this.enhance=i.enhance,this.numBlock=i.numBlock,this.orgAtkDuration=this.atkDuration=1e4/i.atkSpd,this.orgAtkSpd=i.atkSpd,this.orgAtkRange=this.atkRange=i.atkRange,this.orgMoveSpd=this.moveSpd=i.moveSpd,this.orgDef=this.def=i.def*n,this.phyDef=i.phyDef*n,this.magDef=i.magDef*n,this.orgMaxHp=this.maxHp=i.maxHp*s,this.hp=this.maxHp,this.orgAtkDmg=this.atkDmg=i.atkDmg*e,this.orgRangeEvadeChange=this.rangeEvadeChange=0,this.atkRange2=this.atkRange*this.atkRange,this.detectRange2=this.detectRange*this.detectRange,this.unitType=i.unitType,this.tribe=i.tribe,this.isAir=i.isAir,this.maxRevive=i.numRevive,this.reviveInterval=i.reviveTime,this.dmgType=i.dmgType,this.recovery=i.recovery,this.evolStage=i.evolStage,this.weight=i.weight,this.cloaking=i.cloaking,this.canDetect=i.detect,this.knockImmune=i.knockImmune,this.blowImmune=i.blowImmune,this.stunImmune=i.stunImmune,this.freezeImmune=i.freezeImmune,this.evolStage>=1?(this.showEvolEffect(),this.setSize(this.evolSize)):this.setSize(this.normalSize),this.mana=0,this.currentFrame=0,this.frame=0,this.incFrame=1,this.initDelay=0,this.rallyMoveTimer=0,this.attackCoolDown=0,this.recoveryCoolDown=0,this.numStun=0,this.numFreeze=0,this.numPoison=0,this.numCurse=0,this.numBinding=0,this.numShock=0,this.idleLookInterval=40+this.random.nextInt(60),this.idleLookTimer=0,this.retargetCheckTimer=this.random.nextInt(t.RETARGET_CHECK_INTERVAL),this.aggressiveRetarget=!1,this.battleController&&void 0!==this.battleController.unitScale){
+ if(this.visible=!0,this.renderable=!0,this.alpha=1,this.sp&&(this.sp.visible=!0),this.isAlive=!0,this.kindNum=i.kindNum,this.grade=i.grade,this.sex=i.sex,this.name=i.name,this.base=i.base,this.lastPercentHp=s,this.lastPercentAtkDmg=e,this.lastPercentDef=n,this.baseMaxHp=i.maxHp*s,this.baseAtkDmg=i.atkDmg*e,this.baseDef=i.def*n,this.baseMoveSpd=i.moveSpd,this.baseAtkDuration=1e4/i.atkSpd,this.baseAtkRange=i.atkRange,this.level=i.level,this.enhance=i.enhance,this.numBlock=i.numBlock,this.orgAtkDuration=this.atkDuration=1e4/i.atkSpd,this.orgAtkSpd=i.atkSpd,this.orgAtkRange=this.atkRange=i.atkRange,this.orgMoveSpd=this.moveSpd=i.moveSpd,this.orgDef=this.def=i.def*n,this.orgPhyDef=this.phyDef=i.phyDef*n,this.orgMagDef=this.magDef=i.magDef*n,this.orgMaxHp=this.maxHp=i.maxHp*s,this.hp=this.maxHp,this.orgAtkDmg=this.atkDmg=i.atkDmg*e,this.orgRangeEvadeChange=this.rangeEvadeChange=0,this.atkRange2=this.atkRange*this.atkRange,this.detectRange2=this.detectRange*this.detectRange,this.unitType=i.unitType,this.tribe=i.tribe,this.isAir=i.isAir,this.maxRevive=i.numRevive,this.reviveInterval=i.reviveTime,this.dmgType=i.dmgType,this.recovery=i.recovery,this.evolStage=i.evolStage,this.weight=i.weight,this.cloaking=i.cloaking,this.canDetect=i.detect,this.knockImmune=i.knockImmune,this.blowImmune=i.blowImmune,this.stunImmune=i.stunImmune,this.freezeImmune=i.freezeImmune,this.evolStage>=1?(this.showEvolEffect(),this.setSize(this.evolSize)):this.setSize(this.normalSize),this.mana=0,this.raidIncomingDamageMult=1,this.currentFrame=0,this.frame=0,this.incFrame=1,this.initDelay=0,this.rallyMoveTimer=0,this.attackCoolDown=0,this.recoveryCoolDown=0,this.numStun=0,this.numFreeze=0,this.numPoison=0,this.numCurse=0,this.numBinding=0,this.numShock=0,this.idleLookInterval=40+this.random.nextInt(60),this.idleLookTimer=0,this.retargetCheckTimer=this.random.nextInt(t.RETARGET_CHECK_INTERVAL),this.aggressiveRetarget=!1,this.battleController&&void 0!==this.battleController.unitScale){
- this.blowHeight=0,this.numBlow=0,this.blowVx=0,this.blowVy=0,this.blowVh=0,super.y=this.ground,this.sp&&(this.sp.rotation=0),this.shadow&&(this.shadow.visible=!1)}
+ this.blowHeight=0,this.numBlow=0,this.blowVx=0,this.blowVy=0,this.blowVh=0,super.y=this.ground,this.numStun>0&&(this.tx=this.x,this.ty=this.y,this.pathWaypoints=null,this.pathIndex=0,this.pathCooldown=0,this.stuckFrames=0,this.lastDistToTarget2=1/0),this.sp&&(this.sp.rotation=0),this.shadow&&(this.shadow.visible=!1)}
- if(this.visible=!0,this.isAlive=!0,this.alpha=1,this.removed=!1,this._poolReturned=!1,this.hasDroppedGold=!1,this.disablePatrol(),this.rallyMoveTimer=0,this.needsReposition=!1,this.healthBar.visible=!1,this.hideHealthBarTimer=0,this.bossType=0,this.totalDamageDealt=0,this.currentFrame=0,this.frame=0,this.incFrame=1,this.initDelay=0,this.rallyMoveTimer=0,this.attackCoolDown=0,this.recoveryCoolDown=0,this.numStun=0,this.numFreeze=0,this.numPoison=0,this.numCurse=0,this.numBinding=0,this.numShock=0,this.dotDamager.reset(),this.dotHeal.reset(),this.clearActiveBuffs(),this.effectList&&this.effectList.length>0){
+ if(this.visible=!0,this.renderable=!0,this.isAlive=!0,this.gameStarted=!1,this.alpha=1,this.sp&&(this.sp.visible=!0),this.removed=!1,this._poolReturned=!1,this.hasDroppedGold=!1,this.disablePatrol(),this.rallyMoveTimer=0,this.needsReposition=!1,this.healthBar.visible=!1,this.hideHealthBarTimer=0,this.bossType=0,this.totalDamageDealt=0,this.currentFrame=0,this.frame=0,this.incFrame=1,this.initDelay=0,this.rallyMoveTimer=0,this.attackCoolDown=0,this.recoveryCoolDown=0,this.numStun=0,this.numFreeze=0,this.numPoison=0,this.numCurse=0,this.numBinding=0,this.numShock=0,this.dotDamager.reset(),this.dotHeal.reset(),this.clearActiveBuffs(),this.effectList&&this.effectList.length>0){
- t&&t.isAlive&&t.removeBlockedEnemy(this),this.target=this.findNearestTarget(this.enemyList,this.unitType==iI.MELEE),null==this.target&&null!=this.defaultTarget&&this.defaultTarget.isAlive&&(this.isPatrolMode||this.unitType==iI.MELEE&&this.defaultTarget.isAir||(this.target=this.defaultTarget)),this.target&&this.target!==t&&this.target.addBlockedEnemy(this)}
+ t&&t.isAlive&&t.removeBlockedEnemy(this),this.target=this.findNearestTarget(this.enemyList,this.unitType==ax.MELEE),null==this.target&&null!=this.defaultTarget&&this.defaultTarget.isAlive&&(this.isPatrolMode||this.unitType==ax.MELEE&&(this.defaultTarget.isAir||this.defaultTarget.airTargetOnly)||(this.target=this.defaultTarget)),this.target&&this.target!==t&&this.target.addBlockedEnemy(this)}
- this.state!=sI.MOVE&&(this.stateChangeTimer>0||(this.state=sI.MOVE,this.startFrame=this.moveFrames.start,this.endFrame=this.moveFrames.end,this.currentFrame=this.startFrame,this.loop=!0,this.lookAt(this.tx-this.x),this.idleLookTimer=0,this.stateChangeTimer=this.minStateFrames,this.cachedTarget=null))}
+ 0!=this.isAlive&&this.state!=cx.MOVE&&(this.stateChangeTimer>0||(this.state=cx.MOVE,this.startFrame=this.moveFrames.start,this.endFrame=this.moveFrames.end,this.currentFrame=this.startFrame,this.loop=!0,this.lookAt(this.tx-this.x),this.idleLookTimer=0,this.stateChangeTimer=this.minStateFrames,this.cachedTarget=null))}
- if(l&&(c*=l[i.tribe]??1),this.random.chance(this.critChance)&&i.hasTextEffect&&(this.showTextEffect("CriticalEffect",i.x,i.y-i.hitHeight-10),c*=this.critDmg),i.numPriestShield>0&&i.priestShieldHits>0)return i.priestShieldHits--,i.priestShieldHits<=0&&(i.numPriestShield=0),!1;
+ if(l&&(c*=l[i.tribe]??1),this.random.chance(this.critChance)&&i.hasTextEffect&&(this.showTextEffect("CriticalEffect",i.x,i.y-i.hitHeight-10),c*=this.critDmg),1!==i.raidIncomingDamageMult&&(c*=Math.max(0,i.raidIncomingDamageMult)),i.numPriestShield>0&&i.priestShieldHits>0)return i.priestShieldHits--,i.priestShieldHits<=0&&(i.numPriestShield=0),!1;
- this.attackCoolDown>0||this.numSilence>0||0!=t.isAlive&&(this.unitType==iI.MELEE&&t.isAir||t.removed?this.target=null:this.hasSkill&&this.mana>=this.maxMana?this.gotoSkillState():this.gotoAttackState(t))}
+ this.attackCoolDown>0||this.numSilence>0||0!=t.isAlive&&(this.unitType!=ax.MELEE||!t.isAir&&!t.airTargetOnly?t.removed?this.target=null:this.hasSkill&&this.mana>=this.maxMana?this.gotoSkillState():this.gotoAttackState(t):this.target=null)}
- if(i&&l.isAir)continue;
+ if(i&&(l.isAir||l.airTargetOnly))continue;
- if((null==(e=this.target)?void 0:e.isAlive)&&(s&&this.target.isAir||n.push(this.target)),n.length>=i)return n;
+ if((null==(e=this.target)?void 0:e.isAlive)&&(s&&(this.target.isAir||this.target.airTargetOnly)||n.push(this.target)),n.length>=i)return n;
- for(const t of h)if(0!=t.isAlive&&t!=this.target&&!t.isUntagetable&&(!t.cloaking||this.canDetect)&&(!s||!t.isAir)&&(this.isInAttackRange(t,this.atkRange)&&n.push(t),n.length>=i))break;
+ for(const t of h)if(0!=t.isAlive&&t!=this.target&&!t.isUntagetable&&(!t.cloaking||this.canDetect)&&(!s||!t.isAir&&!t.airTargetOnly)&&(this.isInAttackRange(t,this.atkRange)&&n.push(t),n.length>=i))break;
- if(i&&n.isAirUnit)continue;
+ if(i&&(n.isAirUnit||n.airTargetOnly))continue;
- this._poolReturned||(this._poolReturned=!0,this.generation++,this.removeAllListeners(),this.removeAllEffect(),this.hideEvolEffect(),LG.getInstance().remove(this.hideHealthBar,this),this.tint=16777215,i2.getInstance().addToRecycleList(this),this.target=null,this.removed=!0,this.battleController=null,this.enemyList=[],this.allyList=[],this.summoner=null,this.isSummoned=!1,this.summonDuration=0,this.summonTimer=0,this.summonLeashRange=0,this.onGoldDrop=null,this.blockedEnemies.clear(),this.activeDamageBuff.reset(),this.activeDefenseBuff.reset(),this.activeMaxHealthBuff.reset(),this.activeAttackSpeedBuff.reset(),this.activeMoveSpeedBuff.reset(),this.activeCritMultiplierBuff.reset(),this.activeCritChanceBuff.reset(),this.activeRangeEavdeBuff.reset(),this.disablePatrol(),this.rallyMoveTimer=0,this.needsReposition=!1,this.removeAllCC(),this.numPowerShield=0,this.numMagicalShield=0,this.numPhysicalShield=0,this.numPriestShield=0,this.numLove=0,this.numLoveShield=0,this.dotDamager.reset(),this.dotHeal.reset(),this.shadow&&(this.shadow.visible=!1,this.shadow.parent&&this.shadow.removeFromParent()),this.isAlive=!0,this.numRevive=0,this.reviveCount=0,this.imgTombStone&&(this.imgTombStone.visible=!1),this.txtReviveTimer&&(this.txtReviveTimer.visible=!1),this.sp&&(this.sp.visible=!0),this.scale.set(1,1),this.parent&&this.removeFromParent())}
+ this._poolReturned||(this._poolReturned=!0,this.generation++,this.removeAllListeners(),this.removeAllEffect(),this.hideEvolEffect(),$G.getInstance().remove(this.hideHealthBar,this),this.tint=16777215,N2.getInstance().addToRecycleList(this),this.target=null,this.removed=!0,this.battleController=null,this.raidIncomingDamageMult=1,this.enemyList=[],this.allyList=[],this.summoner=null,this.isSummoned=!1,this.summonDuration=0,this.summonTimer=0,this.summonLeashRange=0,this.onGoldDrop=null,this.blockedEnemies.clear(),this.activeDamageBuff.reset(),this.activeDefenseBuff.reset(),this.activeMaxHealthBuff.reset(),this.activeAttackSpeedBuff.reset(),this.activeMoveSpeedBuff.reset(),this.activeCritMultiplierBuff.reset(),this.activeCritChanceBuff.reset(),this.activeRangeEavdeBuff.reset(),this.disablePatrol(),this.rallyMoveTimer=0,this.needsReposition=!1,this.removeAllCC(),this.numPowerShield=0,this.numMagicalShield=0,this.numPhysicalShield=0,this.numPriestShield=0,this.numLove=0,this.numLoveShield=0,this.dotDamager.reset(),this.dotHeal.reset(),this.shadow&&(this.shadow.visible=!1,this.shadow.parent&&this.shadow.removeFromParent()),this.isAlive=!0,this.numRevive=0,this.reviveCount=0,this.imgTombStone&&(this.imgTombStone.visible=!1),this.txtReviveTimer&&(this.txtReviveTimer.visible=!1),this.sp&&(this.sp.visible=!0),this.scale.set(1,1),this.parent&&this.removeFromParent())}
- this.atkDmg=this.orgAtkDmg*(1+this.activeDamageBuff.value),this.def=this.orgDef*(1+this.activeDefenseBuff.value),this.maxHp=this.orgMaxHp*(1+this.activeMaxHealthBuff.value),this.moveSpd=this.orgMoveSpd*(1+this.activeMoveSpeedBuff.value),this.critDmg=this.orgCritDmg+this.activeCritMultiplierBuff.value,this.critChance=this.orgCritChance+this.activeCritChanceBuff.value,this.atkSpd=this.orgAtkSpd*(1+this.activeAttackSpeedBuff.value),this.rangeEvadeChange=this.orgRangeEvadeChange+this.activeRangeEavdeBuff.value,this.atkDuration=1e4/this.atkSpd,this.maxHp>t?this.isAlive&&(this.hp+=this.maxHp-t,this.healthBar.updateHealth(this.hp,this.maxHp)):this.maxHp<t&&(this.healthBar.updateHealth(this.hp,this.maxHp),this.health>this.maxHp&&(this.hp=this.maxHp,this.healthBar.updateHealth(this.hp,this.maxHp)))}
+ this.atkDmg=this.orgAtkDmg*(1+this.activeDamageBuff.value);
+ const i=1+this.activeDefenseBuff.value;
+ this.def=this.orgDef*i,this.phyDef=this.orgPhyDef*i,this.magDef=this.orgMagDef*i,this.maxHp=this.orgMaxHp*(1+this.activeMaxHealthBuff.value),this.moveSpd=this.orgMoveSpd*(1+this.activeMoveSpeedBuff.value),this.critDmg=this.orgCritDmg+this.activeCritMultiplierBuff.value,this.critChance=this.orgCritChance+this.activeCritChanceBuff.value,this.atkSpd=this.orgAtkSpd*(1+this.activeAttackSpeedBuff.value),this.rangeEvadeChange=this.orgRangeEvadeChange+this.activeRangeEavdeBuff.value,this.atkDuration=1e4/this.atkSpd,this.maxHp>t?this.isAlive&&(this.hp+=this.maxHp-t,this.healthBar.updateHealth(this.hp,this.maxHp)):this.maxHp<t&&(this.healthBar.updateHealth(this.hp,this.maxHp),this.health>this.maxHp&&(this.hp=this.maxHp,this.healthBar.updateHealth(this.hp,this.maxHp)))}
GuildWarTournamentGuidePopup 1 hunks, 17 statements
+ super(),zt(this,"lblGuide"),this.lblGuide=new yB("@",this.width-90,16,lD.DEFAULT_COLOR,8,3,lD.DEFAULT_COLOR),this.contentContainer.addChild(this.lblGuide),this.outSideClickHide=!0}
+ static getInstance(){
+ return this._instance||(this._instance=new t),this._instance}
+ async showGuide(){
+ this.title=CG.getText("GWT_1","서버 대항전");
+ const t=[CG.getText("GWT_14","서버 대항전은 각 서버의 1~8위 길드가 참가합니다."),CG.getText("GWT_15","토너먼트 방식으로 진행되며, 승리하면 다음 라운드로 진출합니다."),CG.getText("GWT_16","라운드 결과에 따라 참가한 길드에게 보상이 지급됩니다."),CG.getText("GWT_17","서버 대항전이 종료되면 각 서버의 전체 유저에게 보상이 지급됩니다."),CG.getText("GWT_18","서버 보상 중 훈장 버프는 다음날 UTC 00시부터 적용됩니다.")];
+ this.lblGuide.text="@ "+t.join("@ "),this.lblGuide.x=30,this.lblGuide.y=80,this.height=this.lblGuide.y+this.lblGuide.height+40,await this.loadImage(),super.show()}
+ getDefaultPositionY(){
+ return.4*KA.stageHeight}
+ onBackButton(){
+ return this.hide(),!0}
+ }
+ ;
+ Kt(G6t,"GuildWarTournamentGuidePopup"),zt(G6t,"_instance");
+ let B6t=G6t;
+ const U6t=class t extends M2t{
+ constructor(){
GuildWarSquadsPopup 7 hunks, 17 statements
- ...tL.DEFAULT_OUTLINE_FONT_OPTION_16,fontSize:14}
+ ...lD.DEFAULT_OUTLINE_FONT_OPTION_16,fontSize:14}
- const s=_G.getInstance(),n=s.getBook(t.barrackKindNum),a=n?s.getState(n.tribe):null,c=n&&a?s.computeInstructorsForBarrack(n):null,l=n&&a&&c?s.computeSoldiers(n,a,c):null,u=this.getRepresentativeSoldierStageIndex(l??void 0),d=this.getSoldierKindAt(null==n?void 0:n.unitKindNums,u);
+ const s=IG.getInstance(),n=s.getBook(t.barrackKindNum),a=n?s.getState(n.tribe):null,c=n&&a?s.computeInstructorsForBarrack(n):null,l=n&&a&&c?s.computeSoldiers(n,a,c):null,u=this.getRepresentativeSoldierStageIndex(l??void 0),d=!!n&&DN.getAwakenedBarrackTribes().has(n.tribe),f=this.getDisplaySoldierKind(null==n?void 0:n.unitKindNums,null==n?void 0:n.plusLevel,u,d);
- const t=this.stageBadgeText(u);
+ const t=this.shiftedStageBadge(u,d);
+ getDisplaySoldierKind(t,i,s,e){
+ if(e&&t&&i){
+ const e=DN.getShiftedSoldierTier(t,i,s,!0).kindNum;
+ if(e>0)return e}
+ return this.getSoldierKindAt(t,s)}
+ shiftedStageBadge(t,i){
+ const s=t+(i?1:0);
+ return"+".repeat(Math.max(0,s-1))}
- if(c.barrackKindNum=n,c.tribe=i,c.unitKindNums=o.unitKindNums.slice(),c.unlocked=a,c.openCost=o.openCost,c.showBoost=!1,a){
+ if(c.barrackKindNum=n,c.tribe=i,c.unitKindNums=o.unitKindNums.slice(),c.plusLevel=o.plusLevel.slice(),c.awakened=DN.getAwakenedBarrackTribes().has(i),c.unlocked=a,c.openCost=o.openCost,c.showBoost=!1,a){
+ this.saveAndClose()}
+ onCloseBtnClick(){
+ this.saveAndClose()}
+ saveAndClose(){
- ...tL.DEFAULT_OUTLINE_FONT_OPTION_16,fontSize:i}
+ ...lD.DEFAULT_OUTLINE_FONT_OPTION_16,fontSize:i}
CorpFlag 4 hunks, 16 statements
- constructor(i){
- super(),zt(this,"corpIndex"),zt(this,"onDrop",null),zt(this,"validate",null),zt(this,"snap",null),zt(this,"onDragStart",null),zt(this,"onDragMove",null),zt(this,"onDragEnd",null),zt(this,"sprite"),zt(this,"numText"),zt(this,"dragging",!1),zt(this,"lastValid",!0),zt(this,"targetX",0),zt(this,"targetY",0),this.corpIndex=i,this.sprite=new je(ZA.getTexture("UI_Ekkorr","Icon_Flag_Green")),this.sprite.anchor.set(.5,1),this.sprite.scale.set(t.SCALE),this.addChild(this.sprite),this.numText=new jg({
+ constructor(i,s={
+ }
+ ){
+ super(),zt(this,"corpIndex"),zt(this,"onDrop",null),zt(this,"validate",null),zt(this,"snap",null),zt(this,"onDragStart",null),zt(this,"onDragMove",null),zt(this,"onDragEnd",null),zt(this,"sprite"),zt(this,"numText"),zt(this,"iconBadge"),zt(this,"dragging",!1),zt(this,"lastValid",!0),zt(this,"targetX",0),zt(this,"targetY",0),this.corpIndex=i,this.sprite=new We(ZA.getTexture("UI_Ekkorr","Icon_Flag_Green")),this.sprite.anchor.set(.5,1),this.sprite.scale.set(s.scale??t.SCALE),null!=s.tint&&(this.sprite.tint=s.tint),this.addChild(this.sprite),this.alpha=s.alpha??1,this.numText=new Wg({
- fontSize:15,fill:16777215,fontWeight:"bold",stroke:{
+ fontSize:s.fontSize??15,fill:16777215,fontWeight:"bold",stroke:{
- ),this.numText.anchor.set(.5,.5),this.numText.position.set(0,.62*-this.sprite.height),this.addChild(this.numText),this.eventMode="static",this.cursor="pointer";
- const s=this.sprite.width,e=this.sprite.height;
- this.hitArea=new Pi(-s/2-t.HIT_PAD,-e-t.HIT_PAD,s+2*t.HIT_PAD,e+2*t.HIT_PAD),this.on("pointerdown",this.onDown,this)}
+ ),this.numText.anchor.set(.5,.5),this.numText.position.set(0,.62*-this.sprite.height),this.addChild(this.numText),this.iconBadge=new We,this.iconBadge.anchor.set(.5,.5),this.iconBadge.visible=!1,this.addChild(this.iconBadge),s.iconKindNum&&this.setIconBadge(s.iconKindNum,s.iconSize??24),this.eventMode="static",this.cursor="pointer";
+ const e=this.sprite.width,n=this.sprite.height,h=s.hitPad??t.HIT_PAD;
+ this.hitArea=new Pi(-e/2-h,-n-h,e+2*h,n+2*h),this.on("pointerdown",this.onDown,this)}
+ updateFollowPoint(t,i,s){
+ if(!s)return this.visible=!1,void(this.eventMode="none");
+ this.visible=!0,this.eventMode="static",this.position.set(t,i)}
+ setIconBadge(t,i){
+ const s=Ax.getInstance().getBookVO(t);
+ s&&(this.iconBadge.texture=ZA.getTexture("UI_Ekkorr",`Hero${
+ s.base}
+ `),this.iconBadge.width=i,this.iconBadge.height=i,this.iconBadge.position.set(0,.62*-this.sprite.height),this.iconBadge.visible=!0,this.numText.visible=!1)}
SecretaryGuidePopup 5 hunks, 16 statements
- super(),zt(this,"lblContent"),zt(this,"lblAutoTitle"),zt(this,"btnAutoToggle"),zt(this,"lblEventTitle"),zt(this,"lblEventDesc"),zt(this,"petIconContainer"),zt(this,"shopItemContainer"),zt(this,"shopItemBg"),zt(this,"shopItem"),zt(this,"onPaymentSuccessBind"),this.outSideClickHide=!0,this.width=t.POPUP_WIDTH,this.lblContent=new FL("",tL.DEFAULT_COLOR,tL.DEFAULT_FONT_OPTION_16),this.lblContent.align="left",tL.setLabelWrapWidth(this.lblContent,t.POPUP_WIDTH-60),this.contentContainer.addChild(this.lblContent),this.lblAutoTitle=new FL("",tL.DEFAULT_COLOR,tL.DEFAULT_FONT_OPTION_16),this.lblAutoTitle.align="left",this.contentContainer.addChild(this.lblAutoTitle),this.btnAutoToggle=new jD("ON"),this.btnAutoToggle.width=80,this.btnAutoToggle.height=37,this.btnAutoToggle.onClick=()=>this.onToggleAutoClick(),this.contentContainer.addChild(this.btnAutoToggle),this.lblEventTitle=new FL("",t.EVENT_BLUE,tL.DEFAULT_FONT_OPTION_16),this.lblEventTitle.align="left",this.lblEventTitle.textColor=t.EVENT_BLUE,tL.setLabelWrapWidth(this.lblEventTitle,t.POPUP_WIDTH-60),this.contentContainer.addChild(this.lblEventTitle),this.lblEventDesc=new FL("",t.EVENT_BLUE,tL.DEFAULT_FONT_OPTION_16),this.lblEventDesc.visible=!1,this.petIconContainer=new Be,this.contentContainer.addChild(this.petIconContainer),this.shopItemContainer=new Be,this.shopItemContainer.visible=!1,this.shopItemContainer.y=this.height+5,this.addChild(this.shopItemContainer),this.shopItemBg=new je(ZA.getTexture("UI_Ekkorr","whiteRect")),this.shopItemBg.tint=6839879,this.shopItemContainer.addChild(this.shopItemBg),this.shopItem=new Z6,this.shopItemContainer.addChild(this.shopItem),this.shopItemBg.width=this.width,this.shopItem.width=this.shopItemBg.width-6,this.shopItem.scale.y=this.shopItem.scale.x}
+ super(),zt(this,"lblContent"),zt(this,"lblAutoTitle"),zt(this,"btnAutoToggle"),zt(this,"lblEventTitle"),zt(this,"lblEventDesc"),zt(this,"petIconContainer"),zt(this,"secretaryContainer"),zt(this,"secretaryBg"),zt(this,"secretaryItemContainer"),zt(this,"secretaryItem"),zt(this,"secretaryItem2"),zt(this,"onPaymentSuccessBind"),this.outSideClickHide=!0,this.width=t.POPUP_WIDTH,this.lblContent=new QD("",lD.DEFAULT_COLOR,lD.DEFAULT_FONT_OPTION_16),this.lblContent.align="left",lD.setLabelWrapWidth(this.lblContent,t.POPUP_WIDTH-60),this.contentContainer.addChild(this.lblContent),this.lblAutoTitle=new QD("",lD.DEFAULT_COLOR,lD.DEFAULT_FONT_OPTION_16),this.lblAutoTitle.align="left",this.contentContainer.addChild(this.lblAutoTitle),this.btnAutoToggle=new tG("ON"),this.btnAutoToggle.width=80,this.btnAutoToggle.height=37,this.btnAutoToggle.onClick=()=>this.onToggleAutoClick(),this.contentContainer.addChild(this.btnAutoToggle),this.lblEventTitle=new QD("",t.EVENT_BLUE,lD.DEFAULT_FONT_OPTION_16),this.lblEventTitle.align="left",this.lblEventTitle.textColor=t.EVENT_BLUE,lD.setLabelWrapWidth(this.lblEventTitle,t.POPUP_WIDTH-60),this.contentContainer.addChild(this.lblEventTitle),this.lblEventDesc=new QD("",t.EVENT_BLUE,lD.DEFAULT_FONT_OPTION_16),this.lblEventDesc.visible=!1,this.petIconContainer=new Be,this.contentContainer.addChild(this.petIconContainer),this.secretaryContainer=new Be,this.secretaryContainer.visible=!1,this.secretaryContainer.y=this.height+5,this.addChild(this.secretaryContainer),this.secretaryBg=new We(ZA.getTexture("UI_Ekkorr","whiteRect")),this.secretaryBg.tint=6839879,this.secretaryBg.width=this.width,this.secretaryContainer.addChild(this.secretaryBg),this.secretaryItemContainer=new Be,this.secretaryItemContainer.x=3,this.secretaryItemContainer.y=3,this.secretaryContainer.addChild(this.secretaryItemContainer),this.secretaryItem=new N4,this.secretaryItem.visible=!1,this.secretaryItemContainer.addChild(this.secretaryItem),this.secretaryItem2=new N4,this.secretaryItem2.visible=!1,this.secretaryItemContainer.addChild(this.secretaryItem2)}
- r&&(n=this.layoutEventSection(h,n)),this.lblEventTitle.visible=r,this.petIconContainer.visible=r,r||this.petIconContainer.removeChildren(),this.height=n+40,this.updateShopItem(),super.show()}
+ r&&(n=this.layoutEventSection(h,n)),this.lblEventTitle.visible=r,this.petIconContainer.visible=r,r||this.petIconContainer.removeChildren(),this.height=n+40,this.updateShopItem(),await this.loadImage(),super.show()}
- 0==o2.getInstance().getAll().length&&await o2.getInstance().getProducts(1);
- const t=o2.getInstance().getByProductId(h2.Secretary);
- if(t){
- this.shopItem.setDataAndLayout(t);
- const i=this.shopItem.height*this.shopItem.scale.y;
- this.shopItemBg.height=i+4,this.shopItem.x=.5*(this.shopItemBg.width-this.shopItem.width),this.shopItem.y=.5*(this.shopItemBg.height-i)+1,this.shopItemContainer.y=this.height+5,this.shopItemContainer.visible=!0,this.setPaymentSuccess(!0)}
- else this.setPaymentSuccess(!1)}
+ await B2.getInstance().getProducts(1,!1);
+ const t=[],i=B2.getInstance().getByProductId(L2.Secretary);
+ i?(this.secretaryItem.setDataAndLayout(i),this.secretaryItem.visible=!0,t.push(this.secretaryItem)):this.secretaryItem.visible=!1;
+ const s=B2.getInstance().getByProductId(L2.Secretary_Day30);
+ if(s?(this.secretaryItem2.setDataAndLayout(s),this.secretaryItem2.visible=!0,t.push(this.secretaryItem2)):this.secretaryItem2.visible=!1,i||s){
+ this.setPaymentSuccess(!0);
+ for(let i=0;
+ i<t.length;
+ ++i)t[i].y=i*t[i].height;
+ this.secretaryItemContainer.width=this.secretaryBg.width-6,this.secretaryItemContainer.scale.y=this.secretaryItemContainer.scale.x,this.secretaryBg.height=this.secretaryItemContainer.height+2*this.secretaryItemContainer.y,this.secretaryContainer.y=this.height+5,this.secretaryContainer.visible=!0}
+ else this.setPaymentSuccess(!1),this.secretaryContainer.visible=!1}
+ getPopupBounds(){
+ return this.getBounds()}
- t&&t.detail&&"productId"in t.detail&&(i=t.detail.productVo),i&&this.shopItemContainer.visible&&this.updateShopItem()}
+ t&&t.detail&&"productId"in t.detail&&(i=t.detail.productId),i!==L2.Secretary&&i!==L2.Secretary_Day30||this.secretaryContainer.visible&&this.updateShopItem()}
GuildWarBuffSource 3 hunks, 15 statements
- zt(this,"sourceId","guildWar"),zt(this,"rank",null)}
+ zt(this,"sourceId","guildWar"),zt(this,"rank",null),zt(this,"rankBuff",0),zt(this,"serverBuff",0)}
+ setBuff(t,i){
+ this.rankBuff=t,this.serverBuff=i,Jt(async()=>{
+ const{
+ BuffManager:t}
+ =await Promise.resolve().then(()=>ZN);
+ return{
+ BuffManager:t}
+ }
+ ,void 0).then(({
+ BuffManager:t}
+ )=>{
+ t.getInstance().recalculate()}
+ )}
- return t.getMedalBuffByRank(this.rank)}
+ return this.rankBuff+this.serverBuff}
GuildBarracksRaceView 7 hunks, 15 statements
+ isAwakenedTribe(t){
+ return DN.getAwakenedBarrackTribes().has(t)}
+ displayUnitKind(t,i,s){
+ return DN.getShiftedSoldierTier(t.unitKindNums,t.plusLevel,i,s).kindNum}
+ soldierTransBadge(t,i,s){
+ if(!i)return"";
+ const e=t+(s?1:0);
+ return"+".repeat(Math.max(0,e-1))}
+ const s=this.isAwakenedTribe(i.tribe);
- const n=i.unitKindNums[s]??0;
- n>0?(e.icon.setDataWithKindNum(n),e.icon.showIcon()):e.icon.hideIcon(),e.icon.x=0,e.icon.y=4,e.icon.active=!1,e.countLbl.text="0",e.countLbl.x=(95-e.countLbl.width)/2-15,e.countLbl.alpha=.35,e.transBadge.text=n>0?2===s?"+":3===s?"++":4===s?"+++":"":"",e.transBadge.alpha=.35,e.trainTimeLbl.text="",e.trainTimeLbl.alpha=.35}
+ const h=this.displayUnitKind(i,e,s);
+ h>0?(n.icon.setDataWithKindNum(h),n.icon.showIcon()):n.icon.hideIcon(),n.icon.x=0,n.icon.y=4,n.icon.active=!1,n.countLbl.text="0",n.countLbl.x=(95-n.countLbl.width)/2-15,n.countLbl.alpha=.35,n.transBadge.text=this.soldierTransBadge(e,h>0,s),n.transBadge.alpha=.35,n.trainTimeLbl.text="",n.trainTimeLbl.alpha=.35}
- const e=_G.getInstance(),n=e.computeInstructorsForBarrack(i),h=e.computeSoldiers(i,s,n),r=e.canBoostBarrack(i,s,n,3600);
+ const e=IG.getInstance(),n=this.isAwakenedTribe(i.tribe),h=e.computeInstructorsForBarrack(i),r=e.computeSoldiers(i,s,h),o=e.canBoostBarrack(i,s,h,3600);
- const r=i.unitKindNums[o]??0;
+ const o=this.displayUnitKind(i,a,n);
- `,s.countLbl.x=(95-s.countLbl.width)/2-15,s.countLbl.alpha=a?1:.35,s.transBadge.text=r>0?2===o?"+":3===o?"++":4===o?"+++":"":"",s.transBadge.alpha=a?1:.35;
+ `,s.countLbl.x=(95-s.countLbl.width)/2-15,s.countLbl.alpha=c?1:.35,s.transBadge.text=this.soldierTransBadge(a,o>0,n),s.transBadge.alpha=c?1:.35;
- ...tL.DEFAULT_OUTLINE_FONT_OPTION_16,fontSize:i}
+ ...lD.DEFAULT_OUTLINE_FONT_OPTION_16,fontSize:i}
GuildQuestSubView 5 hunks, 15 statements
- super(),zt(this,"list");
+ super(),zt(this,"list"),zt(this,"tournamentLoaded",!1);
- setData(){
- const t=[{
+ async setData(){
+ const t=kL.getInstance().development,i=[{
- type:E3t.GUILD_RAID,name:pG.getText("GAME_630","길드레이드"),desc:"coming soon",icon:"Guild_Quest_Raid_nor"}
+ type:t4t.GUILD_RAID,name:CG.getText("GAME_630","길드레이드"),desc:t?"":"coming soon",icon:t?"Guild_Quest_Raid":"Guild_Quest_Raid_nor"}
+ let s=!1;
+ if(SD.hasGuild&&(await this.loadTournamentInfo(),s=null!=SD.getTournamentTeamInfoBy(SD.myGuildId)),SD.hasGuild&&SD.isValidTournamentBattle()&&s){
+ const t={
+ type:t4t.GUILD_WAR_TOURNAMENT,name:CG.getText("GWT_1","서버 대항전"),desc:"",icon:"Guild_Quest_Tournament"}
+ ;
+ i.splice(2,0,t)}
+ async loadTournamentInfo(){
+ if(this.tournamentLoaded)return;
+ if(null==SD.getTournamentSchedule())return;
+ const t=await oD.getInstance().guildWar.getTournamentInfo(!0);
+ t&&!1===t.success&&"INVALID_GUILDWAR_TOURNAMENT_TIME"===t.error||(SD.roundSchedule=null==t?void 0:t.body.schedule,SD.tournamentList=null==t?void 0:t.body.tournaments,this.tournamentLoaded=!0)}
TreasureBuffAccessor 1 hunks, 13 statements
- ]),zt(TN,"COLD_OWNED_PRIEST_5_STAR_PCT",1),zt(TN,"COLD_OWNED_PRIEST_6_STAR_PCT",2.5),zt(TN,"COLD_OWNED_GODBLESS_CAP_PCT",30),zt(TN,"_cachedColdGodBless",0),zt(TN,"_cachedColdBuffVer",-1),zt(TN,"TINGKEY_OWNED_FAIRY_5_STAR_PCT",1),zt(TN,"TINGKEY_OWNED_FAIRY_6_STAR_PCT",2.5),zt(TN,"TINGKEY_OWNED_ELFSECRET_CAP_PCT",30),zt(TN,"_cachedTingkeyElfSecret",0),zt(TN,"_cachedTingkeyBuffVer",-1),zt(TN,"MOON_OWNED_DARKARCHER_5_STAR_PCT",1),zt(TN,"MOON_OWNED_DARKARCHER_6_STAR_PCT",2.5),zt(TN,"MOON_STARTWAVE_COMBINED_CAP_PCT",50),zt(TN,"_cachedMoonStartWave",0),zt(TN,"_cachedMoonBuffVer",-1),zt(TN,"WATERDRAGON_PET_KINDNUM",15),zt(TN,"WATERDRAGON_TEAM_MEDAL_6STAR_BONUS",30),zt(TN,"WATERDRAGON_OWNED_DRUM_5STAR_PCT",10),zt(TN,"WATERDRAGON_OWNED_DRUM_6STAR_PCT",20),zt(TN,"_cachedWaterDragonCapBonus",0),zt(TN,"_cachedWaterDragonBuffVer",-1),zt(TN,"RAPTI_PET_KINDNUM",20),zt(TN,"RAPTI_OWNED_RAPTOR_5_STAR_PCT",1),zt(TN,"RAPTI_OWNED_RAPTOR_6_STAR_PCT",2),zt(TN,"RAPTI_OWNED_DOUBLEWAVE_CAP_PCT",70),zt(TN,"_cachedRaptiDoubleWave",0),zt(TN,"_cachedRaptiBuffVer",-1);
+ ]),zt(RN,"COLD_OWNED_PRIEST_5_STAR_PCT",1),zt(RN,"COLD_OWNED_PRIEST_6_STAR_PCT",2.5),zt(RN,"COLD_OWNED_GODBLESS_CAP_PCT",30),zt(RN,"_cachedColdGodBless",0),zt(RN,"_cachedColdBuffVer",-1),zt(RN,"TINGKEY_OWNED_FAIRY_5_STAR_PCT",1),zt(RN,"TINGKEY_OWNED_FAIRY_6_STAR_PCT",2.5),zt(RN,"TINGKEY_OWNED_ELFSECRET_CAP_PCT",30),zt(RN,"_cachedTingkeyElfSecret",0),zt(RN,"_cachedTingkeyBuffVer",-1),zt(RN,"MOON_OWNED_DARKARCHER_5_STAR_PCT",1),zt(RN,"MOON_OWNED_DARKARCHER_6_STAR_PCT",2.5),zt(RN,"MOON_STARTWAVE_COMBINED_CAP_PCT",50),zt(RN,"_cachedMoonStartWave",0),zt(RN,"_cachedMoonBuffVer",-1),zt(RN,"WATERDRAGON_PET_KINDNUM",15),zt(RN,"WATERDRAGON_TEAM_MEDAL_6STAR_BONUS",30),zt(RN,"WATERDRAGON_OWNED_DRUM_5STAR_PCT",10),zt(RN,"WATERDRAGON_OWNED_DRUM_6STAR_PCT",20),zt(RN,"_cachedWaterDragonCapBonus",0),zt(RN,"_cachedWaterDragonBuffVer",-1),zt(RN,"RAPTI_PET_KINDNUM",20),zt(RN,"RAPTI_OWNED_RAPTOR_5_STAR_PCT",1),zt(RN,"RAPTI_OWNED_RAPTOR_6_STAR_PCT",2),zt(RN,"RAPTI_OWNED_DOUBLEWAVE_CAP_PCT",70),zt(RN,"_cachedRaptiDoubleWave",0),zt(RN,"_cachedRaptiBuffVer",-1),zt(RN,"BARRACKS_TIER_UP_AWAKENINGS",[{
+ petKindNum:23,tribe:1}
+ ,{
+ petKindNum:24,tribe:2}
+ ,{
+ petKindNum:25,tribe:3}
+ ,{
+ petKindNum:26,tribe:4}
+ ]),zt(RN,"WYVERN_PET_KINDNUM",26),zt(RN,"SYLPHID_PET_KINDNUM",24),zt(RN,"GAMESPEED_AWAKENINGS",[{
+ petKindNum:23,val5:.25,val6:.5,cap:10}
+ ,{
+ petKindNum:25,val5:.25,val6:.5,cap:10}
+ ]),zt(RN,"_cachedWyvernMaxLv",0),zt(RN,"_cachedWyvernMaxLvVer",-1),zt(RN,"_cachedGameSpeed",0),zt(RN,"_cachedGameSpeedVer",-1),zt(RN,"_cachedSylphidPlusLv",0),zt(RN,"_cachedSylphidPlusLvVer",-1);
GuildWarBattleReadyPopup 6 hunks, 13 statements
- ...tL.DEFAULT_OUTLINE_FONT_OPTION_16,fontSize:13}
+ ...lD.DEFAULT_OUTLINE_FONT_OPTION_16,fontSize:13}
- const s=_G.getInstance(),n=s.getBook(t.barrackKindNum),a=n?s.getState(n.tribe):null,c=n&&a?s.computeInstructorsForBarrack(n):null,l=n&&a&&c?s.computeSoldiers(n,a,c):null,u=this.getRepresentativeSoldierStageIndex(l??void 0),d=this.getSoldierKindAt(null==n?void 0:n.unitKindNums,u);
+ const s=IG.getInstance(),n=s.getBook(t.barrackKindNum),a=n?s.getState(n.tribe):null,c=n&&a?s.computeInstructorsForBarrack(n):null,l=n&&a&&c?s.computeSoldiers(n,a,c):null,u=this.getRepresentativeSoldierStageIndex(l??void 0),d=!!n&&DN.getAwakenedBarrackTribes().has(n.tribe),f=this.getDisplaySoldierKind(null==n?void 0:n.unitKindNums,null==n?void 0:n.plusLevel,u,d);
- const t=this.stageBadgeText(u);
+ const t=this.shiftedStageBadge(u,d);
+ getDisplaySoldierKind(t,i,s,e){
+ if(e&&t&&i){
+ const e=DN.getShiftedSoldierTier(t,i,s,!0).kindNum;
+ if(e>0)return e}
+ return this.getSoldierKindAt(t,s)}
+ shiftedStageBadge(t,i){
+ const s=t+(i?1:0);
+ return"+".repeat(Math.max(0,s-1))}
- if(c.barrackKindNum=n,c.tribe=i,c.unitKindNums=o.unitKindNums.slice(),c.unlocked=a,c.openCost=o.openCost,c.canTrainPerStage=[],a){
+ if(c.barrackKindNum=n,c.tribe=i,c.unitKindNums=o.unitKindNums.slice(),c.plusLevel=o.plusLevel.slice(),c.awakened=DN.getAwakenedBarrackTribes().has(i),c.unlocked=a,c.openCost=o.openCost,c.canTrainPerStage=[],a){
- ...tL.DEFAULT_OUTLINE_FONT_OPTION_16,fontSize:i}
+ ...lD.DEFAULT_OUTLINE_FONT_OPTION_16,fontSize:i}
CommonIconToast 4 hunks, 10 statements
- super(),zt(this,"bg",new jL),zt(this,"lblMessage",new FL("Message",tL.DEFAULT_COLOR,tL.DEFAULT_FONT_OPTION_16)),zt(this,"heightGap",20),zt(this,"timeCount",0),zt(this,"isFadingOut",!1),this.bg.width=500,this.bg.height=120,this.bg.alpha=.8,this.addChild(this.bg),this.bg.setIndex(7),this.lblMessage.x=20,this.lblMessage.y=20,this.addChild(this.lblMessage),this.lblMessage.wordWrap=!0,this.lblMessage.wordWrapWidth=this.bg.width-20,this.eventMode="none"}
+ super(),zt(this,"bg",new tL),zt(this,"lblMessage",new QD("Message",lD.DEFAULT_COLOR,lD.DEFAULT_FONT_OPTION_16)),zt(this,"heightGap",20),zt(this,"textAlignCenter",!1),zt(this,"timeCount",0),zt(this,"isFadingOut",!1),this.bg.width=500,this.bg.height=120,this.bg.alpha=.8,this.addChild(this.bg),this.bg.setIndex(7),this.lblMessage.x=20,this.lblMessage.y=20,this.addChild(this.lblMessage),this.lblMessage.wordWrap=!0,this.lblMessage.wordWrapWidth=this.bg.width-20,this.eventMode="none"}
- this.lblMessage.text=t,this.bg.height=this.lblMessage.height+this.heightGap,this.lblMessage.y=.5*(this.bg.height-this.lblMessage.height),this.lblMessage.x=.5*(this.bg.width-this.lblMessage.width),this.x=.5*(KA.stageWidth-this.bg.width),this.y=.5*(KA.safeHeight-this.bg.height),this.alpha=0,this.timeCount=i,this.isFadingOut=!1,GM.getInstance().add(this.onFrame,this),BL.getInstance().addChild(this)}
+ if(this.lblMessage.text=t,this.bg.height=this.lblMessage.height+this.heightGap,this.lblMessage.y=.5*(this.bg.height-this.lblMessage.height),this.lblMessage.x=.5*(this.bg.width-this.lblMessage.width),this.x=.5*(KA.stageWidth-this.bg.width),this.y=.5*(KA.safeHeight-this.bg.height),this.alpha=0,this.timeCount=i,this.isFadingOut=!1,GM.getInstance().add(this.onFrame,this),YD.getInstance().addChild(this),this.textAlignCenter){
+ let t=this.lblMessage.getStyle();
+ t.align="center",this.lblMessage.setStyle(t)}
+ else{
+ let t=this.lblMessage.getStyle();
+ t.align="left",this.lblMessage.setStyle(t)}
+ }
- this.parent&&(GM.getInstance().remove(this.onFrame,this),this.parent.removeChild(this))}
+ this.parent&&(GM.getInstance().remove(this.onFrame,this),this.parent.removeChild(this),this.textAlignCenter=!1)}
- this.timeCount>70&&this.alpha<1&&(this.alpha+=.1,this.alpha>1&&(this.alpha=1)),this.timeCount<=20&&!this.isFadingOut&&(this.isFadingOut=!0),this.isFadingOut&&(this.alpha-=.05,this.alpha<0&&(this.alpha=0)),this.timeCount--,this.timeCount<=0&&(GM.getInstance().remove(this.onFrame,this),this.parent&&this.parent.removeChild(this))}
+ this.timeCount>70&&this.alpha<1&&(this.alpha+=.1,this.alpha>1&&(this.alpha=1)),this.timeCount<=20&&!this.isFadingOut&&(this.isFadingOut=!0),this.isFadingOut&&(this.alpha-=.05,this.alpha<0&&(this.alpha=0)),this.timeCount--,this.timeCount<=0&&this.hideImmediately()}
FriendInviteRewardPopup 1 hunks, 10 statements
- ));
- async function P3t(t){
- if(!t)return!1;
- try{
- return await navigator.clipboard.writeText(t),!0}
- catch(i){
- }
- return!1}
- Kt(P3t,"copyToClipboard");
- const R3t=class t extends z2{
+ )),l4t=class t extends A5{
BaseBattleController 3 hunks, 9 statements
- t instanceof g4||(t instanceof bQ?t.visible=!1:t.removeFromParent())}
+ t instanceof q4||(t instanceof qQ?t.battleController!==this&&null!=t.battleController||(t.visible=!1):t.removeFromParent())}
+ showUnit(t){
+ if(!t)return;
+ t.visible=!0,t.renderable=!0,t.alpha=1;
+ const i=t.sp;
+ i&&(i.visible=!0)}
- this.player&&(this.player.visible=!0);
- for(const t of this.friendList)t.visible=!0;
- for(const t of this.enemyList)t.visible=!0}
+ this.showUnit(this.player);
+ for(const t of this.friendList)this.showUnit(t);
+ for(const t of this.enemyList)this.showUnit(t)}
RightMenu 5 hunks, 9 statements
- super(),zt(this,"btnSetting"),zt(this,"btnMail"),zt(this,"btnHelp"),zt(this,"indicator"),zt(this,"indicatorArea"),zt(this,"bg"),zt(this,"container"),zt(this,"btnRanking"),zt(this,"btnAchieve"),zt(this,"btnPass"),zt(this,"btnGuild"),zt(this,"btnPet"),zt(this,"btnInventory"),zt(this,"btnDaily"),zt(this,"btnMine"),zt(this,"btnInvite"),zt(this,"btnPayback"),zt(this,"dailyCheckCount",0),zt(this,"onDailyRedDotCheck",Kt(()=>{
+ super(),zt(this,"btnSetting"),zt(this,"btnMail"),zt(this,"btnHelp"),zt(this,"indicator"),zt(this,"indicatorArea"),zt(this,"bg"),zt(this,"container"),zt(this,"btnRanking"),zt(this,"btnAchieve"),zt(this,"btnPass"),zt(this,"btnGuild"),zt(this,"btnPet"),zt(this,"btnInventory"),zt(this,"btnDaily"),zt(this,"btnMine"),zt(this,"btnInvite"),zt(this,"btnPayback"),zt(this,"btnTournament"),zt(this,"dailyCheckCount",0),zt(this,"onDailyRedDotCheck",Kt(()=>{
- ),this.container.addChild(this.bg),this.indicator=new je(ZA.getTexture("UI_Ekkorr","UI_Menu_Open")),this.indicator.x=this.bg.x+15,this.indicator.y=this.bg.y+21,this.container.addChild(this.indicator),this.indicatorArea=new je(ZA.getTexture("UI_Ekkorr","whiteRect")),this.indicatorArea.alpha=.01,this.indicatorArea.width=this.indicator.width+30,this.indicatorArea.height=this.indicator.height+20,this.indicatorArea.x=this.indicator.x-15,this.indicatorArea.y=this.indicator.y-10,this.container.addChild(this.indicatorArea),this.indicatorArea.eventMode="dynamic",this.indicatorArea.on("pointertap",this.onIndicatorTap,this),this.btnRanking=new cB("UI_Ekkorr","Icon_Ranking"),this.btnAchieve=new cB("UI_Ekkorr","Btn_Achieve"),this.btnPass=new cB("UI_Ekkorr","Btn_Pass"),this.btnGuild=new cB("UI_Ekkorr","Btn_Guild"),this.btnPet=new cB("UI_Ekkorr","Icon_Pet"),this.btnInventory=new cB("UI_Ekkorr","Icon_Inventory"),this.btnDaily=new cB("UI_Ekkorr","Icon_Daily"),this.btnMine=new cB("UI_Ekkorr","Btn_Mine"),this.btnInvite=new cB("UI_Ekkorr","Btn_Friend"),this.btnPayback=new cB("UI_Ekkorr","Btn_Payback"),this.btnRanking.onClick=this.onRankingBtnClick.bind(this),this.btnAchieve.onClick=this.onAchieveBtnClick.bind(this),this.btnPass.onClick=this.onPassBtnClick.bind(this),this.btnGuild.onClick=this.onGuildBtnClick.bind(this),this.btnPet.onClick=this.onPetBtnClick.bind(this),this.btnInventory.onClick=this.onInventoryBtnClick.bind(this),this.btnDaily.onClick=this.onDailyBtnClick.bind(this),this.btnMine.onClick=this.onMineBtnClick.bind(this),this.btnInvite.onClick=this.onInviteBtnClick.bind(this),this.btnPayback.onClick=this.onPaybackBtnClick.bind(this),this.update(),this.on("added",this.onAdded,this),this.on("removed",this.onRemoved,this)}
+ ),this.container.addChild(this.bg),this.indicator=new We(ZA.getTexture("UI_Ekkorr","UI_Menu_Open")),this.indicator.x=this.bg.x+15,this.indicator.y=this.bg.y+21,this.container.addChild(this.indicator),this.indicatorArea=new We(ZA.getTexture("UI_Ekkorr","whiteRect")),this.indicatorArea.alpha=.01,this.indicatorArea.width=this.indicator.width+30,this.indicatorArea.height=this.indicator.height+20,this.indicatorArea.x=this.indicator.x-15,this.indicatorArea.y=this.indicator.y-10,this.container.addChild(this.indicatorArea),this.indicatorArea.eventMode="dynamic",this.indicatorArea.on("pointertap",this.onIndicatorTap,this),this.btnRanking=new vB("UI_Ekkorr","Icon_Ranking"),this.btnAchieve=new vB("UI_Ekkorr","Btn_Achieve"),this.btnPass=new vB("UI_Ekkorr","Btn_Pass"),this.btnGuild=new vB("UI_Ekkorr","Btn_Guild"),this.btnPet=new vB("UI_Ekkorr","Icon_Pet"),this.btnInventory=new vB("UI_Ekkorr","Icon_Inventory"),this.btnDaily=new vB("UI_Ekkorr","Icon_Daily"),this.btnMine=new vB("UI_Ekkorr","Btn_Mine"),this.btnInvite=new vB("UI_Ekkorr","Btn_Friend"),this.btnPayback=new vB("UI_Ekkorr","Btn_Payback"),this.btnTournament=new vB("UI_Ekkorr","Icon_Tournament"),this.btnRanking.onClick=this.onRankingBtnClick.bind(this),this.btnAchieve.onClick=this.onAchieveBtnClick.bind(this),this.btnPass.onClick=this.onPassBtnClick.bind(this),this.btnGuild.onClick=this.onGuildBtnClick.bind(this),this.btnPet.onClick=this.onPetBtnClick.bind(this),this.btnInventory.onClick=this.onInventoryBtnClick.bind(this),this.btnDaily.onClick=this.onDailyBtnClick.bind(this),this.btnMine.onClick=this.onMineBtnClick.bind(this),this.btnInvite.onClick=this.onInviteBtnClick.bind(this),this.btnPayback.onClick=this.onPaybackBtnClick.bind(this),this.btnTournament.onClick=this.onTournamentBtnClick.bind(this),this.update(),this.on("added",this.onAdded,this),this.on("removed",this.onRemoved,this)}
- i.push(this.btnInventory);
+ i.push(this.btnInventory),null!=SD.getTournamentSchedule()&&i.push(this.btnTournament);
- O1t.getInstance().show()}
+ await y2t.getInstance().setData(),y2t.getInstance().show()}
+ async onTournamentBtnClick(){
+ if(0==ZA.hasSheet("UI_Guild")){
+ const t="ktx2";
+ await ZA.generateTexture("UI_Guild",t,!1)}
+ Y6t.getInstance().setData(),Y6t.getInstance().show()}
TutorialController 7 hunks, 9 statements
- t&&(Z2.getInstance().onHideHandler=this.onHelpCastlePopupHide.bind(this),Z2.getInstance().showWith(t[0].main,2,!0))}
+ t&&(I5.getInstance().onHideHandler=this.onHelpCastlePopupHide.bind(this),I5.getInstance().showWith(t[0].main,2,!0,!1))}
- t&&(Z2.getInstance().onHideHandler=this.highlightHeroRosterButton.bind(this),Z2.getInstance().showWith(t[1].main,0,!0),this.isHelpHeroPopupped=!0)}
- ,1e3))}
+ t&&(I5.getInstance().onHideHandler=this.highlightHeroRosterButton.bind(this),I5.getInstance().showWith(t[1].main,0,!0,!1),this.isHelpHeroPopupped=!0)}
+ ,100))}
- this.bottomMenuUnlockList=[1,2],P8t.getInstance().hideLockIconsTo(this.bottomMenuUnlockList),$4t.getInstance().opened=!1;
+ if(this.bottomMenuUnlockList=[1,2],c9t.getInstance().hideLockIconsTo(this.bottomMenuUnlockList),y7t.getInstance().opened=!1,qD.getInstance().npcDialogue){
+ else this.onTurotial3ToastComplete()}
- t&&(Z2.getInstance().onHideHandler=this.endTutorialWave3.bind(this),Z2.getInstance().showWith(t[2].main,0,!0),this.isHelpQuestPopupped=!0)}
- ,1e3)}
+ t&&(I5.getInstance().onHideHandler=this.endTutorialWave3.bind(this),I5.getInstance().showWith(t[2].main,0,!0,!1),this.isHelpQuestPopupped=!0)}
+ ,100)}
- t&&(Z2.getInstance().onHideHandler=this.endTutorialRevive.bind(this),Z2.getInstance().showWith(t[3].main,0,!0),this.isHelpRevivePopupped=!0)}
+ t&&(I5.getInstance().onHideHandler=this.endTutorialRevive.bind(this),I5.getInstance().showWith(t[3].main,0,!0,!1),this.isHelpRevivePopupped=!0)}
- i&&(Z2.getInstance().onHideHandler=this.endTutorialWave3.bind(this),Z2.getInstance().showWith(i[t].main,0,!0),this.isHelpQuestPopupped=!0)}
+ i&&(I5.getInstance().onHideHandler=this.endTutorialWave3.bind(this),I5.getInstance().showWith(i[t].main,0,!0,!1),this.isHelpQuestPopupped=!0)}
GuildBarrackRowItemRenderer 5 hunks, 9 statements
- ...tL.DEFAULT_OUTLINE_FONT_OPTION_16,fontSize:14}
+ ...lD.DEFAULT_OUTLINE_FONT_OPTION_16,fontSize:14}
- ...tL.DEFAULT_OUTLINE_FONT_OPTION_16,fontSize:13}
+ ...lD.DEFAULT_OUTLINE_FONT_OPTION_16,fontSize:13}
- const i=t.unitKindNums[d]??0,h=this.slots[d];
+ const i=DN.getShiftedSoldierTier(t.unitKindNums,t.plusLevel,d,t.awakened).kindNum,h=this.slots[d];
- h.countLbl.text=`${
+ if(h.countLbl.text=`${
- `,h.countLbl.x=.5*(95-h.countLbl.width)+a,h.countLbl.y=8+c,h.countLbl.alpha=r?1:.35,h.transBadge.text=i>0?2===d?"+":3===d?"++":4===d?"+++":"":"",h.transBadge.x=o,h.transBadge.y=5,h.transBadge.alpha=r?1:.35;
+ `,h.countLbl.x=.5*(95-h.countLbl.width)+a,h.countLbl.y=8+c,h.countLbl.alpha=r?1:.35,i>0){
+ const i=d+(t.awakened?1:0);
+ h.transBadge.text="+".repeat(Math.max(0,i-1))}
+ else h.transBadge.text="";
+ h.transBadge.x=o,h.transBadge.y=5,h.transBadge.alpha=r?1:.35;
BasePopup3 6 hunks, 8 statements
- super(),zt(this,"top"),zt(this,"bottom"),zt(this,"bg"),zt(this,"btnClose",new qD),zt(this,"txtTitle"),zt(this,"topOverlap",12),zt(this,"bottomOverlap",15),zt(this,"_width",574),zt(this,"_height",868),zt(this,"_positionY",-1),zt(this,"outSideClickHide",!1),zt(this,"onPointerDownHandler"),this.createBG(),this.onPointerDownHandler=this.onPointerDown.bind(this)}
+ super(),zt(this,"top"),zt(this,"bottom"),zt(this,"bg"),zt(this,"bgContainer"),zt(this,"btnClose",new rG),zt(this,"txtTitle"),zt(this,"topOverlap",12),zt(this,"bottomOverlap",15),zt(this,"_width",574),zt(this,"_height",868),zt(this,"_positionY",-1),zt(this,"outSideClickHide",!1),zt(this,"onPointerDownHandler"),this.createBG(),this.onPointerDownHandler=this.onPointerDown.bind(this)}
- this.bg=new TM({
+ this.bgContainer=new Be,this.addChild(this.bgContainer),this.bg=new TM({
- ),this.bg.width=this._width,this.addChild(this.bg),this.top=new TM({
+ ),this.bg.width=this._width,this.bgContainer.addChild(this.bg),this.top=new TM({
- ),this.addChild(this.top),this.bottom=new TM({
+ ),this.bgContainer.addChild(this.top),this.bottom=new TM({
- ),this.addChild(this.bottom),this.bottom.eventMode="none",this.top.x=.5*(this.bg.width-this.top.width),this.bottom.x=.5*(this.bg.width-this.bottom.width),this.bottom.y=this._height-this.bottom.height,this.bg.y=this.top.height-this.topOverlap,this.bg.height=this.bottom.y-this.bg.y+this.bottomOverlap,this.btnClose.x=this.top.x+this.top.width-this.btnClose.width-35,this.btnClose.y=18,this.addChild(this.btnClose),this.btnClose.onClick=this.onCloseBtnClick.bind(this),this.txtTitle=new FL("",16777215,tL.DEFAULT_OUTLINE_FONT_OPTION_20),this.txtTitle.x=.5*(this.top.width-this.txtTitle.width),this.txtTitle.y=22,this.addChild(this.txtTitle),tL.setLabelWrapWidth(this.txtTitle,this._width-40)}
+ ),this.bgContainer.addChild(this.bottom),this.bottom.eventMode="none",this.top.x=.5*(this.bg.width-this.top.width),this.bottom.x=.5*(this.bg.width-this.bottom.width),this.bottom.y=this._height-this.bottom.height,this.bg.y=this.top.height-this.topOverlap,this.bg.height=this.bottom.y-this.bg.y+this.bottomOverlap,this.btnClose.x=this.top.x+this.top.width-this.btnClose.width-35,this.btnClose.y=18,this.addChild(this.btnClose),this.btnClose.onClick=this.onCloseBtnClick.bind(this),this.txtTitle=new QD("",16777215,lD.DEFAULT_OUTLINE_FONT_OPTION_20),this.txtTitle.x=.5*(this.top.width-this.txtTitle.width),this.txtTitle.y=22,this.addChild(this.txtTitle),lD.setLabelWrapWidth(this.txtTitle,this._width-40)}
- 0!=this.outSideClickHide&&(this.getBounds().containsPoint(t.global.x,t.global.y)||this.hide())}
+ 0!=this.outSideClickHide&&(this.getPopupBounds().containsPoint(t.global.x,t.global.y)||this.hide())}
+ getPopupBounds(){
+ return this.bgContainer&&this.bgContainer.parent&&this.bgContainer.visible?this.bgContainer.getBounds():this.getBounds()}
FavoritePetCell 3 hunks, 8 statements
- const t=this.petIcon.x+this.petIcon.width+8;
- this.lblName=new FL("",16777215,tL.DEFAULT_OUTLINE_FONT_OPTION_17),this.lblName.x=t,this.lblName.y=this.petIcon.y,this.addChild(this.lblName),this.lblPiece=new FL("",8978244,tL.DEFAULT_OUTLINE_FONT_OPTION_16),this.lblPiece.x=t,this.addChild(this.lblPiece),this.lblAvailable=new FL("",6737151,tL.DEFAULT_OUTLINE_FONT_OPTION_16),this.lblAvailable.y=10,this.addChild(this.lblAvailable),this.btnComplete=new w3(pG.getText("COMMON_379","즉시완료")),this.btnComplete.autoResize=!1,this.btnComplete.width=130,this.btnComplete.height=42,this.btnComplete.x=311-this.btnComplete.width-8,this.btnComplete.y=92-this.btnComplete.height-8,this.addChild(this.btnComplete),this.btnMove=new w3(pG.getText("COMMON_65","이동")),this.btnMove.visible=!1,this.btnMove.autoResize=!1,this.btnMove.width=this.btnComplete.width,this.btnMove.height=this.btnComplete.height,this.btnMove.x=this.btnComplete.x,this.btnMove.y=this.btnComplete.y,this.addChild(this.btnMove)}
+ const t=this.petIcon.x+this.petIcon.width+10;
+ this.lblName=new QD("",16777215,lD.DEFAULT_OUTLINE_FONT_OPTION_17),this.lblName.x=t,this.lblName.y=this.petIcon.y,this.addChild(this.lblName),lD.setLabelWrapWidth(this.lblName,this.bg.width-this.lblName.x),this.lblPiece=new QD("",8978244,lD.DEFAULT_OUTLINE_FONT_OPTION_16),this.lblPiece.x=t,this.addChild(this.lblPiece),this.lblAvailable=new QD("",6737151,lD.DEFAULT_OUTLINE_FONT_OPTION_16),this.lblAvailable.x=t,this.addChild(this.lblAvailable),this.btnComplete=new q3(CG.getText("COMMON_379","즉시완료")),this.btnComplete.autoResize=!1,this.btnComplete.width=130,this.btnComplete.height=42,this.btnComplete.x=311-this.btnComplete.width-8,this.btnComplete.y=92-this.btnComplete.height-8,this.addChild(this.btnComplete),this.btnMove=new q3(CG.getText("COMMON_65","이동")),this.btnMove.visible=!1,this.btnMove.autoResize=!1,this.btnMove.width=this.btnComplete.width,this.btnMove.height=this.btnComplete.height,this.btnMove.x=this.btnComplete.x,this.btnMove.y=this.btnComplete.y,this.addChild(this.btnMove)}
- `,(null==s?void 0:s.name)||""),this.lblPiece.text=`${
- (null==e?void 0:e.piece)??0}
- `,this.lblPiece.y=this.petIcon.y+this.petIcon.height-this.lblPiece.height;
+ `,(null==s?void 0:s.name)||""),this.lblName.y=this.petIcon.y+11-.5*this.lblName.height;
- )`,this.lblAvailable.x=311-this.lblAvailable.width-10,this.lblAvailable.textColor=r<=0?16729156:6737151;
+ )`,this.lblAvailable.textColor=r<=0?16729156:6737151,this.lblAvailable.y=this.petIcon.y+this.petIcon.height-this.lblAvailable.height+1,this.lblPiece.text=`${
+ (null==e?void 0:e.piece)??0}
+ `,this.lblPiece.y=this.lblAvailable.y-this.lblPiece.height+2;
CitadelSubView 4 hunks, 8 statements
- super(),zt(this,"list"),zt(this,"onAssistantClaimBind"),this.list=new BV(k7t,640,KA.listHeight),this.list.x=0,this.list.y=x7t.getInstance().height,this.addChild(this.list),this.addChild(x7t.getInstance()),this.on("added",this.onAdded,this),this.on("removed",this.onRemoved,this)}
+ super(),zt(this,"list"),zt(this,"onAssistantClaimBind"),zt(this,"onPaymentSuccessBind"),this.list=new iK(nti,640,KA.listHeight),this.list.x=0,this.list.y=rti.getInstance().height,this.addChild(this.list),this.addChild(rti.getInstance()),this.on("added",this.onAdded,this),this.on("removed",this.onRemoved,this)}
- GM.getInstance().add(this.onFrame,this),this.setAssistantClaim(!0)}
+ GM.getInstance().add(this.onFrame,this),this.setAssistantClaim(!0),this.setPaymentSuccess(!0)}
- GM.getInstance().remove(this.onFrame,this),this.setAssistantClaim(!0)}
+ GM.getInstance().remove(this.onFrame,this),this.setAssistantClaim(!1),this.setPaymentSuccess(!1)}
+ setPaymentSuccess(t){
+ lS.getInstance().removeEventListener("PaymentSuccess",this.onPaymentSuccessBind),t&&(this.onPaymentSuccessBind=this.onPaymentSuccess.bind(this),lS.getInstance().addEventListener("PaymentSuccess",this.onPaymentSuccessBind))}
+ onPaymentSuccess(t){
+ let i=-1;
+ t&&t.detail&&"productId"in t.detail&&(i=t.detail.productId),i!==L2.Secretary&&i!==L2.Secretary_Day30||this.setData()}
PoisonExplodeEffect 1 hunks, 7 statements
+ const KX=class extends iz{
+ constructor(){
+ super(ZK.PoisonExplodeEffect),this._sheetName="RaidBattle",this.orgScale=1,this.loop=!1,this.incFrame=1.2}
+ }
+ ;
+ Kt(KX,"PoisonExplodeEffect");
+ let zX=KX;
AppsFlyerManager 1 hunks, 7 statements
- if(1==this.getOptOutState())return;
+ const s=!1===this.getOptOutState();
+ try{
+ await ioi.anonymizeUser({
+ anonymizeUser:!s}
+ )}
+ catch(i){
+ }
BatchableSprite 5 hunks, 5 statements
- ...x.defaultTextStyle,...t}
+ ...I.defaultTextStyle,...t}
- ...x.defaultDropShadow,...t}
+ ...I.defaultDropShadow,...t}
- ...x.defaultDropShadow}
+ ...I.defaultDropShadow}
- ...Iu.defaultFillStyle,...t}
+ ...xu.defaultFillStyle,...t}
- ...Iu.defaultStrokeStyle,...t}
+ ...xu.defaultStrokeStyle,...t}
MarkerText 1 hunks, 5 statements
- const o=t.split(this._marker+" "),a=o.length;
+ const o=this._marker.replace(/[.*+?^${
+ }
+ ()|[\]\\]/g,"\\$&"),a=t.split(new RegExp(`(?:^|\\n)${
+ o}
+  `)),c=a.length;
PassMainPopup 1 hunks, 5 statements
- this.navigator.setData(this.category,this.objPassMain[this.category])}
+ if(-1!==t.getFirstRewardIndex(this.category,this.navigator.main))this.navigator.setData(this.category,this.objPassMain[this.category]);
+ else{
+ const i=t.getFirstRewardMain(this.category);
+ this.navigator.setData(this.category,this.objPassMain[this.category],i)}
+ }
GuildWarActiveItemRenderer 2 hunks, 5 statements
- this.data=i,this.myEmblem.setData(i.myEmblem||"101|0"),this.oppEmblem.setData(i.oppEmblem||"101|0"),this.oppEmblem.visible=!!i.oppEmblem,this.layoutLvLabel(this.lblMyLv,this.myEmblem,i.myLevel),this.layoutLvLabel(this.lblOppLv,this.oppEmblem,i.oppLevel,!!i.oppEmblem),this.lblMyName.text=i.myName,this.lblOppName.text=i.oppName,this.lblOppName.x=t.RIGHT_TEXT_END_X-this.lblOppName.width,this.lblMyRank.text=this.formatRank(i.myRank),this.lblOppRank.text=this.formatRank(i.oppRank),this.lblOppRank.x=t.RIGHT_TEXT_END_X-this.lblOppRank.width,this.lblMyEloValue.text=`${
+ this.data=i,this.myEmblem.setData(i.myEmblem||"101|0"),this.oppEmblem.setData(i.oppEmblem||"101|0"),this.oppEmblem.visible=!!i.oppEmblem,this.layoutLvLabel(this.lblMyLv,this.myEmblem,i.myLevel),this.layoutLvLabel(this.lblOppLv,this.oppEmblem,i.oppLevel,!!i.oppEmblem),this.lblMyName.text=i.myName,this.lblOppName.text=i.oppName,this.lblOppName.x=t.RIGHT_TEXT_END_X-this.lblOppName.width,this.lblMyRank.text=i.myRank,this.lblOppRank.text=i.oppRank,this.lblOppRank.x=t.RIGHT_TEXT_END_X-this.lblOppRank.width,this.lblMyEloValue.text=`${
- formatRank(t){
- return null==t?"-":`Rank. ${
- t}
- `}
LocalDataManager 1 hunks, 4 statements
+ static async getTournamentShownDate(){
+ return await this.getData(this.getKey("tsD"),!0)}
+ static async saveTournamentShownDate(t){
+ await this.saveData(this.getKey("tsD"),t,!0)}
PassDataManager 3 hunks, 4 statements
- if(!s||!s.rewards)return 0;
+ if(!s||!s.rewards)return-1;
- let h,r=0;
+ let h,r=-1;
+ getFirstRewardMain(t){
+ return this.getMains(t).find(i=>-1!==this.getFirstRewardIndex(t,i))||-1}
HelpDetailPopup 2 hunks, 4 statements
- showWith(t,i=0,s=!1){
- this.hideBtnClose=s,this.btnCloseCustom.visible=!s,this.subs=V2.getInstance().getSubsByMain(t),i>0&&(this.subs=this.subs.slice(0,i)),this.subIndex=0,this.applyCurrent(),super.show()}
+ showWith(t,i=0,s=!1,e=!0){
+ this.hideBtnClose=s,this.btnCloseCustom.visible=!s,this.outSideClickHide=e,this.subs=M5.getInstance().getSubsByMain(t),i>0&&(this.subs=this.subs.slice(0,i)),this.subIndex=0,this.applyCurrent(),super.show()}
+ getPopupBounds(){
+ return this.getBounds()}
ShopView 1 hunks, 4 statements
+ getCurrentIndex(){
+ return this.currentIndex}
+ clickTab(t){
+ t!==this.currentIndex&&(t<0||t>=this.subViews.length||(this.switchTab(t),this.shopSubMenu.setActiveTab(t)))}
BattleSubView 4 hunks, 4 statements
- type:_st.DUNGEON,name:"던전",desc:"던전에 도전하여 유물재료를 획득하세요",nameLangId:"GAME_74",descLangId:"GAME_75"}
+ type:get.DUNGEON,name:"던전",desc:"던전에 도전하여 유물재료를 획득하세요",nameLangId:"GAME_74",descLangId:"GAME_75"}
- type:_st.INFINITE_RANKING,name:"무한 랭킹전",desc:"끝없는 전투에서 최고 기록에 도전하세요",nameLangId:"GAME_76",descLangId:"GAME_77"}
+ type:get.INFINITE_RANKING,name:"무한 랭킹전",desc:"끝없는 전투에서 최고 기록에 도전하세요",nameLangId:"GAME_76",descLangId:"GAME_77"}
- type:_st.DAILY_RANKING,name:"일일 랭킹전",desc:"오늘의 랭킹 순위를 겨루세요",nameLangId:"GAME_78",descLangId:"GAME_79"}
+ type:get.DAILY_RANKING,name:"일일 랭킹전",desc:"오늘의 랭킹 순위를 겨루세요",nameLangId:"GAME_78",descLangId:"GAME_79"}
- type:_st.CHALLENGE_TOWER,name:"도전의 탑",desc:"끝없이 올라가는 도전의 탑을 공략하세요.",nameLangId:"GAME_80",descLangId:"GAME_81"}
+ type:get.CHALLENGE_TOWER,name:"도전의 탑",desc:"끝없이 올라가는 도전의 탑을 공략하세요.",nameLangId:"GAME_80",descLangId:"GAME_81"}
PassNavigator 2 hunks, 4 statements
- setData(t,i){
- this.mainMin=i[0],this.mainMax=i[i.length-1],(-1==this._category||this._category!=t)&&(this._main=this.mainMin),this._category=t,this.update(),this.updateLayout()}
+ setData(t,i,s=-1){
+ this.mainMin=i[0],this.mainMax=i[i.length-1],(-1==this._category||this._category!=t)&&(this._main=this.mainMin),-1!==s&&this.validateMain(s)&&(this._main=s),this._category=t,this.update(),this.updateLayout()}
+ validateMain(t){
+ return!(t<this.mainMin||t>this.mainMax)}
GuildWarSubMenu 3 hunks, 4 statements
- g3t.getInstance().showGuide()}
+ this.onClickGuildeBtn()}
+ onClickGuildeBtn(){
+ 0==SD.isTournamenEntered?R6t.getInstance().showGuide():B6t.getInstance().showGuide()}
- this.setTitle(pG.getText("GAME_502","길드전")),this.layoutGuideButton()}
+ 0==SD.isTournamenEntered?this.setTitle(CG.getText("GAME_502","길드전")):this.setTitle(CG.getText("GWT_1","서버 대항전")),this.layoutGuideButton()}
BattleController 4 hunks, 4 statements
- i.enablePatrol(e,o,n),i.xDefault=e,i.yDefault=o,i.repositionX=e,i.repositionY=o,i.repositionPatrolRadius=n,this.rallyHeroes.add(i),this.saveRallyPoints(),i.target&&i.target.removeBlockedEnemy(i),i.target=null,i.rallyMoveTimer=300,i.resetToIdle(),i.tx=e,i.ty=o,i.gotoMoveState(),a&&(a.x=s.x,a.y=s.y,a.setValid(!0),a.fadeOutAndRemove(800)),this.rallyDragHero=null,this.isDragging=!1}
+ i.enablePatrol(e,o,n),i.xDefault=e,i.yDefault=o,i.repositionX=e,i.repositionY=o,i.repositionPatrolRadius=n,this.rallyHeroes.add(i),this.saveRallyPoints(),i.isAlive&&(i.target&&i.target.removeBlockedEnemy(i),i.target=null,i.rallyMoveTimer=300,i.resetToIdle(),i.tx=e,i.ty=o,i.gotoMoveState()),a&&(a.x=s.x,a.y=s.y,a.setValid(!0),a.fadeOutAndRemove(800)),this.rallyDragHero=null,this.isDragging=!1}
- handleCastleDestroyed(){
+ async handleCastleDestroyed(){
- ),F7t.getInstance().showGameOver(uD.wave,this.onRebirth.bind(this),this.onRebirthWithBonus.bind(this),this.onContinueGame.bind(this)),0==uD.numRevive&&h8t.getInstance().startTutorialRevive()}
+ ),await mti.getInstance().showGameOver(EL.wave,this.onRebirth.bind(this),this.onRebirthWithBonus.bind(this),this.onContinueGame.bind(this)),0==EL.numRevive&&await D7t.getInstance().startTutorialRevive()}
- this.skippedWave>0&&!this.shownDialogueWaves.has(this.skippedWave)&&(t.push(...Z4t.getInstance().getByWave(this.skippedWave)),this.shownDialogueWaves.add(this.skippedWave)),this.shownDialogueWaves.has(uD.wave)||(t.push(...Z4t.getInstance().getByWave(uD.wave)),this.shownDialogueWaves.add(uD.wave)),t.length>0&&X4t.getInstance().showDialogues(t)}
+ this.skippedWave>0&&!this.shownDialogueWaves.has(this.skippedWave)&&(t.push(...O7t.getInstance().getByWave(this.skippedWave)),this.shownDialogueWaves.add(this.skippedWave)),this.shownDialogueWaves.has(EL.wave)||(t.push(...O7t.getInstance().getByWave(EL.wave)),this.shownDialogueWaves.add(EL.wave)),t.length>0&&S7t.getInstance().showDialogues(t)}
Archery2GameScene 4 hunks, 4 statements
- ...tL.DEFAULT_OUTLINE_FONT_OPTION_16,fill:16777215}
+ ...lD.DEFAULT_OUTLINE_FONT_OPTION_16,fill:16777215}
- ...tL.DEFAULT_OUTLINE_FONT_OPTION_20,fill:16766720}
+ ...lD.DEFAULT_OUTLINE_FONT_OPTION_20,fill:16766720}
- ...tL.DEFAULT_OUTLINE_FONT_OPTION_16,fill:16737792}
+ ...lD.DEFAULT_OUTLINE_FONT_OPTION_16,fill:16737792}
- ...tL.DEFAULT_OUTLINE_FONT_OPTION_20,fill:16777215}
+ ...lD.DEFAULT_OUTLINE_FONT_OPTION_20,fill:16777215}
PassRewardManager 1 hunks, 3 statements
- var iL=(t=>(t.ENGLISH="en",t.KOREAN="ko",t.CHINESE_SIMPLIFIED="zh-CN",t.CHINESE_TRADITIONAL="zh-TW",t.JAPANESE="ja",t.SPANISH_ARGENTINA="es",t.GERMAN="de",t.FRENCH="fr",t.PORTUGUESE_BRASIL="pt",t.VIETNAMESE="vi",t.INDONESIAN="id",t.RUSSIAN="ru",t.ITALIAN="it",t.THAI="th",t.TURKISH="tr",t.POLISH="pl",t))(iL||{
- }
- );
BasePopup 1 hunks, 3 statements
- 0!=this.outSideClickHide&&(this.getBounds().containsPoint(t.global.x,t.global.y)||this.hide())}
+ 0!=this.outSideClickHide&&(this.getPopupBounds().containsPoint(t.global.x,t.global.y)||this.hide())}
+ getPopupBounds(){
+ return this.bg&&this.bg.parent&&this.bg.visible?this.bg.getBounds():this.getBounds()}
BasePopup2 1 hunks, 3 statements
- 0!=this.outSideClickHide&&(this.getBounds().containsPoint(t.global.x,t.global.y)||this.hide())}
+ 0!=this.outSideClickHide&&(this.getPopupBounds().containsPoint(t.global.x,t.global.y)||this.hide())}
+ getPopupBounds(){
+ return this.bg&&this.bg.parent&&this.bg.visible?this.bg.getBounds():this.getBounds()}
TerrainGrid 1 hunks, 3 statements
- var fQ=(t=>(t[t.NONE=0]="NONE",t[t.OrcHunter1_RANGEEVADE_BUFF=1]="OrcHunter1_RANGEEVADE_BUFF",t[t.OrcRapterRider1_MOVESPEED_DEBUFF=2]="OrcRapterRider1_MOVESPEED_DEBUFF",t[t.Succubus1_MOVESPEED_BUFF=3]="Succubus1_MOVESPEED_BUFF",t[t.Succubus1_ATTACKSPEED_BUFF=4]="Succubus1_ATTACKSPEED_BUFF",t[t.DrillSl1_PENETRATE_BUFF=11]="DrillSl1_PENETRATE_BUFF",t[t.DrillSl1_SKILL2_BUFF=12]="DrillSl1_SKILL2_BUFF",t[t.DrillSl1_SKILL3_BUFF=13]="DrillSl1_SKILL3_BUFF",t[t.DrillSl1_SKILL4_BUFF=14]="DrillSl1_SKILL4_BUFF",t[t.DrillSl1_ROSTER_BUFF=15]="DrillSl1_ROSTER_BUFF",t[t.BombSl1_SKILL2_BUFF=21]="BombSl1_SKILL2_BUFF",t[t.BombSl1_SKILL3_BUFF=22]="BombSl1_SKILL3_BUFF",t[t.BombSl1_SKILL4_BUFF=23]="BombSl1_SKILL4_BUFF",t[t.BombSl1_ROSTER_BUFF=24]="BombSl1_ROSTER_BUFF",t[t.NurSl1_SKILL2_BUFF=31]="NurSl1_SKILL2_BUFF",t[t.NurSl1_ROSTER_BUFF=32]="NurSl1_ROSTER_BUFF",t[t.MagmaSl1_SKILL2_BUFF=41]="MagmaSl1_SKILL2_BUFF",t[t.MagmaSl1_SKILL3_BUFF=42]="MagmaSl1_SKILL3_BUFF",t[t.MagmaSl1_ROSTER_BUFF=43]="MagmaSl1_ROSTER_BUFF",t[t.TreebarkSl1_SKILL2_BUFF=51]="TreebarkSl1_SKILL2_BUFF",t[t.TreebarkSl1_SKILL3_BUFF=52]="TreebarkSl1_SKILL3_BUFF",t[t.TreebarkSl1_ROSTER_BUFF=53]="TreebarkSl1_ROSTER_BUFF",t[t.IcespearSl1_SKILL2_BUFF=61]="IcespearSl1_SKILL2_BUFF",t[t.IcespearSl1_SKILL3_BUFF=62]="IcespearSl1_SKILL3_BUFF",t[t.IcespearSl1_SKILL4_BUFF=63]="IcespearSl1_SKILL4_BUFF",t[t.IcespearSl1_ROSTER_BUFF=64]="IcespearSl1_ROSTER_BUFF",t[t.VinewhipSl1_SKILL2_BUFF=71]="VinewhipSl1_SKILL2_BUFF",t[t.VinewhipSl1_SKILL3_BUFF=72]="VinewhipSl1_SKILL3_BUFF",t[t.VinewhipSl1_SKILL4_BUFF=73]="VinewhipSl1_SKILL4_BUFF",t[t.VinewhipSl1_ROSTER_BUFF=74]="VinewhipSl1_ROSTER_BUFF",t[t.FlamecannonSl1_SKILL2_BUFF=81]="FlamecannonSl1_SKILL2_BUFF",t[t.FlamecannonSl1_SKILL3_BUFF=82]="FlamecannonSl1_SKILL3_BUFF",t[t.FlamecannonSl1_SKILL4_BUFF=83]="FlamecannonSl1_SKILL4_BUFF",t[t.FlamecannonSl1_ROSTER_BUFF=84]="FlamecannonSl1_ROSTER_BUFF",t[t.IcebowSl1_SKILL2_BUFF=91]="IcebowSl1_SKILL2_BUFF",t[t.IcebowSl1_SKILL3_BUFF=92]="IcebowSl1_SKILL3_BUFF",t[t.IcebowSl1_SKILL4_BUFF=93]="IcebowSl1_SKILL4_BUFF",t[t.IcebowSl1_ROSTER_BUFF=94]="IcebowSl1_ROSTER_BUFF",t[t.FlowerSl1_SKILL2_BUFF=101]="FlowerSl1_SKILL2_BUFF",t[t.FlowerSl1_ROSTER_BUFF=102]="FlowerSl1_ROSTER_BUFF",t[t.HotpoolSl1_SKILL2_BUFF=111]="HotpoolSl1_SKILL2_BUFF",t[t.HotpoolSl1_ROSTER_BUFF=112]="HotpoolSl1_ROSTER_BUFF",t[t.HotpoolSl1_DAMAGE_BUFF=113]="HotpoolSl1_DAMAGE_BUFF",t[t.GlacierSl1_SKILL2_BUFF=114]="GlacierSl1_SKILL2_BUFF",t[t.GlacierSl1_SKILL3_BUFF=115]="GlacierSl1_SKILL3_BUFF",t[t.GlacierSl1_ROSTER_BUFF=116]="GlacierSl1_ROSTER_BUFF",t[t.GlacierSl1_SKILL4_BUFF=117]="GlacierSl1_SKILL4_BUFF",t[t.FladiatorSl1_SKILL2_BUFF=118]="FladiatorSl1_SKILL2_BUFF",t[t.FladiatorSl1_SKILL3_BUFF=119]="FladiatorSl1_SKILL3_BUFF",t[t.FladiatorSl1_SKILL4_BUFF=120]="FladiatorSl1_SKILL4_BUFF",t[t.FladiatorSl1_ROSTER_BUFF=121]="FladiatorSl1_ROSTER_BUFF",t[t.FladiatorSl1_CRTICAL_BUFF=122]="FladiatorSl1_CRTICAL_BUFF",t[t.ManaBloomSl1_SKILL2_BUFF=123]="ManaBloomSl1_SKILL2_BUFF",t[t.ManaBloomSl1_SKILL3_BUFF=124]="ManaBloomSl1_SKILL3_BUFF",t[t.ManaBloomSl1_SKILL4_BUFF=125]="ManaBloomSl1_SKILL4_BUFF",t[t.ManaBloomSl1_ROSTER_BUFF=126]="ManaBloomSl1_ROSTER_BUFF",t[t.ClearSl1_SKILL2_BUFF=127]="ClearSl1_SKILL2_BUFF",t[t.ClearSl1_ROSTER_BUFF=128]="ClearSl1_ROSTER_BUFF",t[t.SlimeRacing_DAMAGE_BUFF=129]="SlimeRacing_DAMAGE_BUFF",t[t.SlimeRacing_ATTACK_SPEED_BUFF=130]="SlimeRacing_ATTACK_SPEED_BUFF",t[t.SlimeRacing_MOVE_SPEED_BUFF=131]="SlimeRacing_MOVE_SPEED_BUFF",t[t.RACE_REVIVE_MOVE_SPEED_BUFF=132]="RACE_REVIVE_MOVE_SPEED_BUFF",t[t.RACE_CHEERUP_MOVE_SPEED_BUFF=133]="RACE_CHEERUP_MOVE_SPEED_BUFF",t[t.RACE_CHEERUP_ATTACK_SPEED_BUFF=134]="RACE_CHEERUP_ATTACK_SPEED_BUFF",t[t.EXCAVATION_ENCOUNTER_DEFENSE_BUFF=135]="EXCAVATION_ENCOUNTER_DEFENSE_BUFF",t[t.SteelbashSl1_SKILL2_BUFF=136]="SteelbashSl1_SKILL2_BUFF",t[t.SteelbashSl1_SKILL3_BUFF=137]="SteelbashSl1_SKILL3_BUFF",t[t.SteelbashSl1_ROSTER_BUFF=138]="SteelbashSl1_ROSTER_BUFF",t[t.FlamdancerSl1_SKILL2_BUFF=139]="FlamdancerSl1_SKILL2_BUFF",t[t.FlamdancerSl1_SKILL3_BUFF=140]="FlamdancerSl1_SKILL3_BUFF",t[t.FlamdancerSl1_ROSTER_BUFF=141]="FlamdancerSl1_ROSTER_BUFF",t[t.FrostreaverSl1_SKILL2_BUFF=142]="FrostreaverSl1_SKILL2_BUFF",t[t.FrostreaverSl1_SKILL3_BUFF=143]="FrostreaverSl1_SKILL3_BUFF",t[t.FrostreaverSl1_ROSTER_BUFF=144]="FrostreaverSl1_ROSTER_BUFF",t[t.ThornjaSl1_SKILL2_BUFF=145]="ThornjaSl1_SKILL2_BUFF",t[t.ThornjaSl1_SKILL3_BUFF=146]="ThornjaSl1_SKILL3_BUFF",t[t.ThornjaSl1_SKILL4_BUFF=147]="ThornjaSl1_SKILL4_BUFF",t[t.ThornjaSl1_ROSTER_BUFF=148]="ThornjaSl1_ROSTER_BUFF",t[t.RACE_MAPTYPE1_ATKSPD_BUFF=149]="RACE_MAPTYPE1_ATKSPD_BUFF",t[t.RACE_MAPTYPE1_MOVESPD_BUFF=150]="RACE_MAPTYPE1_MOVESPD_BUFF",t[t.GearbladeSl1_SKILL2_BUFF=151]="GearbladeSl1_SKILL2_BUFF",t[t.GearbladeSl1_SKILL3_BUFF=152]="GearbladeSl1_SKILL3_BUFF",t[t.GearbladeSl1_SKILL4_BUFF=153]="GearbladeSl1_SKILL4_BUFF",t[t.GearbladeSl1_ROSTER_BUFF=154]="GearbladeSl1_ROSTER_BUFF",t[t.EmbersageSl1_SKILL2_BUFF=155]="EmbersageSl1_SKILL2_BUFF",t[t.EmbersageSl1_ROSTER_BUFF=156]="EmbersageSl1_ROSTER_BUFF",t[t.TidecallerSl1_SKILL2_BUFF=157]="TidecallerSl1_SKILL2_BUFF",t[t.TidecallerSl1_ROSTER_BUFF=158]="TidecallerSl1_ROSTER_BUFF",t[t.GrovewardenSl1_SKILL2_BUFF=159]="GrovewardenSl1_SKILL2_BUFF",t[t.GrovewardenSl1_SKILL3_BUFF=160]="GrovewardenSl1_SKILL3_BUFF",t[t.GrovewardenSl1_ROSTER_BUFF=161]="GrovewardenSl1_ROSTER_BUFF",t[t.FrankenSl1_SKILL2_BUFF=162]="FrankenSl1_SKILL2_BUFF",t[t.FrankenSl1_ROSTER_BUFF=164]="FrankenSl1_ROSTER_BUFF",t[t.WolfSl1_SKILL2_BUFF=165]="WolfSl1_SKILL2_BUFF",t[t.WolfSl1_SKILL3_BUFF=166]="WolfSl1_SKILL3_BUFF",t[t.WolfSl1_SKILL4_BUFF=167]="WolfSl1_SKILL4_BUFF",t[t.WolfSl1_ROSTER_BUFF=168]="WolfSl1_ROSTER_BUFF",t[t.BatSl1_SKILL2_BUFF=169]="BatSl1_SKILL2_BUFF",t[t.BatSl1_SKILL3_BUFF=170]="BatSl1_SKILL3_BUFF",t[t.BatSl1_SKILL4_BUFF=171]="BatSl1_SKILL4_BUFF",t[t.BatSl1_ROSTER_BUFF=172]="BatSl1_ROSTER_BUFF",t[t.SkullSl1_SKILL2_BUFF=173]="SkullSl1_SKILL2_BUFF",t[t.SkullSl1_ROSTER_BUFF=174]="SkullSl1_ROSTER_BUFF",t[t.Bomber1_ATKSPD_BUFF=200]="Bomber1_ATKSPD_BUFF",t[t.Bomber1_MOVESPD_BUFF=201]="Bomber1_MOVESPD_BUFF",t[t.TigerRider1_ATKSPD_BUFF=210]="TigerRider1_ATKSPD_BUFF",t[t.TigerRider1_MOVESPD_BUFF=211]="TigerRider1_MOVESPD_BUFF",t[t.Sylphid1_ATKSPD_STACK=220]="Sylphid1_ATKSPD_STACK",t[t.WyvernRider1_ATKSPD_BUFF=230]="WyvernRider1_ATKSPD_BUFF",t[t.WyvernRider1_MOVESPD_BUFF=231]="WyvernRider1_MOVESPD_BUFF",t[t.WyvernRider1_ATKDMG_BUFF=232]="WyvernRider1_ATKDMG_BUFF",t[t.WingKnight1_FLASH_BUFF=240]="WingKnight1_FLASH_BUFF",t[t.WingKnight1_DASH_BUFF=241]="WingKnight1_DASH_BUFF",t[t.WingKnight1_BERSERK_ATKSPD=242]="WingKnight1_BERSERK_ATKSPD",t[t.WingKnight1_BERSERK_ATKDMG=243]="WingKnight1_BERSERK_ATKDMG",t[t.WingKnight1_FLASH_MOVSPD=244]="WingKnight1_FLASH_MOVSPD",t[t.WingKnight1_FLASH_ATKSPD=245]="WingKnight1_FLASH_ATKSPD",t[t.BladeMaster1_KILL_ATKSPD=250]="BladeMaster1_KILL_ATKSPD",t[t.BladeMaster1_KILL_ATKDMG=251]="BladeMaster1_KILL_ATKDMG",t[t.BladeMaster1_RANGE_ATKSPD=252]="BladeMaster1_RANGE_ATKSPD",t[t.BladeMaster1_MELEE_MOVESPD=253]="BladeMaster1_MELEE_MOVESPD",t[t.BladeMaster1_MELEE_ATKDMG=254]="BladeMaster1_MELEE_ATKDMG",t[t.BladeMaster1_RUSH_ATKSPD=255]="BladeMaster1_RUSH_ATKSPD",t[t.BladeMaster1_RUSH_MOVESPD=256]="BladeMaster1_RUSH_MOVESPD",t[t.Aladin1_SAND_SLOW=260]="Aladin1_SAND_SLOW",t[t.Aladin1_BLESSING_ATKDMG=261]="Aladin1_BLESSING_ATKDMG",t[t.Druid1_VINE_ATKDMG=270]="Druid1_VINE_ATKDMG",t[t.Druid1_VINE_DEFENSE=271]="Druid1_VINE_DEFENSE",t[t.CrowKnight1_ORBIT_ATKSPD=280]="CrowKnight1_ORBIT_ATKSPD",t[t.CrowKnight1_ORBIT_ATKDMG=281]="CrowKnight1_ORBIT_ATKDMG",t[t.BURN_DEBUFF=1001]="BURN_DEBUFF",t[t.BLOODY_DEBUFF=1002]="BLOODY_DEBUFF",t[t.RACE_ROLETYPE_MOVE_SPEED_DEBUFF=1003]="RACE_ROLETYPE_MOVE_SPEED_DEBUFF",t[t.RACE_ROLETYPE_DAMAGE_DEBUFF=1004]="RACE_ROLETYPE_DAMAGE_DEBUFF",t[t.EXCAVATION_CRITICALHIT_DEFENSE_DEBUFF=1005]="EXCAVATION_CRITICALHIT_DEFENSE_DEBUFF",t[t.RACE_MAPTYPE2_DEBUFF=1006]="RACE_MAPTYPE2_DEBUFF",t[t.TidecallerSl1_SKILL2_DEBUFF=1007]="TidecallerSl1_SKILL2_DEBUFF",t[t.RAID_BOSS1_DEBUFF=1008]="RAID_BOSS1_DEBUFF",t[t.MOSSGOLEM_DEFENSE_BUFF=1009]="MOSSGOLEM_DEFENSE_BUFF",t))(fQ||{
- }
- );
ShopProductPopup 3 hunks, 3 statements
- super(),zt(this,"lblName",new FL("",16777215,tL.DEFAULT_OUTLINE_FONT_OPTION_17)),zt(this,"lblDesc",new FL("",13421772,tL.DEFAULT_DESC_FONT_OPTION_16)),zt(this,"lblRewardsTitle",new FL("",16750848,tL.DEFAULT_OUTLINE_FONT_OPTION_17)),zt(this,"rewardContainer",new Be),zt(this,"rewardPool",[]),zt(this,"activeCount",0),zt(this,"btnBuy"),zt(this,"btnRedGem"),zt(this,"data",null),zt(this,"purchasing",!1),zt(this,"requestPending",!1),this.outSideClickHide=!0;
+ super(),zt(this,"lblName",new QD("",16777215,lD.DEFAULT_OUTLINE_FONT_OPTION_17)),zt(this,"lblDesc",new QD("",13421772,lD.DEFAULT_DESC_FONT_OPTION_16)),zt(this,"lblRewardsTitle",new QD("",16750848,lD.DEFAULT_OUTLINE_FONT_OPTION_17)),zt(this,"rewardContainer",new Be),zt(this,"rewardPool",[]),zt(this,"activeCount",0),zt(this,"btnBuy"),zt(this,"btnRedGem"),zt(this,"guideSecretary"),zt(this,"data",null),zt(this,"purchasing",!1),zt(this,"requestPending",!1),this.outSideClickHide=!0;
- this.lblRewardsTitle.visible=!1,this.rewardContainer.visible=n}
+ this.lblRewardsTitle.visible=!1,this.rewardContainer.visible=n,t.productId==L2.Secretary||t.productId==L2.Secretary_Day30?(this.guideSecretary||(this.guideSecretary=new v4,this.addChild(this.guideSecretary)),this.guideSecretary.setData(),this.guideSecretary.visible=!0):this.guideSecretary&&(this.guideSecretary.visible=!1)}
- this.btnBuy.visible&&(this.btnBuy.y=i,this.btnRedGem.y=i,i+=this.btnBuy.height+40),this.height=i}
+ this.guideSecretary&&this.guideSecretary.visible&&(this.guideSecretary.x=.5*(this.width-this.guideSecretary.width),this.guideSecretary.y=this.lblDesc.y+this.lblDesc.height+20,i+=this.guideSecretary.height),this.btnBuy.visible&&(this.btnBuy.y=i,this.btnRedGem.y=i,i+=this.btnBuy.height+40),this.height=i}
PetShopItemRenderer 2 hunks, 3 statements
- ),this.bg.x=5,this.bg.width=630,this.bg.height=90,this.addChild(this.bg),this.petIcon=new T3,this.petIcon.x=24,this.petIcon.y=.5*(this.bg.height-this.petIcon.height)-2,this.addChild(this.petIcon),this.qtyBg=new je(ZA.getTexture("UI_Ekkorr","Quest_bg")),this.qtyBg.tint=13378082,this.qtyBg.width=30,this.qtyBg.height=18,this.qtyBg.x=this.petIcon.x+this.petIcon.width-this.qtyBg.width+4,this.qtyBg.y=this.petIcon.y+this.petIcon.height-this.qtyBg.height-2,this.addChild(this.qtyBg),this.lblQty=new FL("x3",16777215,tL.DEFAULT_OUTLINE_FONT_OPTION_14),this.lblQty.x=this.qtyBg.x+.5*(this.qtyBg.width-this.lblQty.width),this.lblQty.y=this.qtyBg.y+.5*(this.qtyBg.height-this.lblQty.height),this.addChild(this.lblQty),this.lblName=new FL("",tL.DEFAULT_COLOR,tL.DEFAULT_OUTLINE_FONT_OPTION_17),this.lblName.x=145,this.lblName.y=18,this.addChild(this.lblName),this.lblPrice=new kB("UI_GEM","0",16777215,tL.DEFAULT_OUTLINE_FONT_OPTION_16),this.lblPrice.x=145,this.lblPrice.y=50,this.addChild(this.lblPrice),this.btnBuy=new jD(pG.getText("COMMON_7","구매")),this.btnBuy.color=jD.BROWN,this.btnBuy.width=130,this.btnBuy.height=60,this.btnBuy.x=this.bg.x+this.bg.width-this.btnBuy.width-10,this.btnBuy.y=.5*(this.bg.height-this.btnBuy.height),this.btnBuy.onClick=()=>{
+ ),this.bg.x=5,this.bg.width=630,this.bg.height=90,this.addChild(this.bg),this.petIcon=new n6,this.petIcon.x=24,this.petIcon.y=.5*(this.bg.height-this.petIcon.height)-2,this.addChild(this.petIcon),this.petIcon.eventMode="dynamic",this.petIcon.on("pointertap",this.onPetIconClick,this),this.qtyBg=new We(ZA.getTexture("UI_Ekkorr","Quest_bg")),this.qtyBg.eventMode="none",this.qtyBg.tint=13378082,this.qtyBg.width=30,this.qtyBg.height=18,this.qtyBg.x=this.petIcon.x+this.petIcon.width-this.qtyBg.width+4,this.qtyBg.y=this.petIcon.y+this.petIcon.height-this.qtyBg.height-2,this.addChild(this.qtyBg),this.lblQty=new QD("x3",16777215,lD.DEFAULT_OUTLINE_FONT_OPTION_16),this.lblQty.eventMode="none",this.lblQty.x=this.qtyBg.x+.5*(this.qtyBg.width-this.lblQty.width),this.lblQty.y=this.qtyBg.y+.5*(this.qtyBg.height-this.lblQty.height),this.addChild(this.lblQty),this.lblName=new QD("",lD.DEFAULT_COLOR,lD.DEFAULT_OUTLINE_FONT_OPTION_17),this.lblName.x=145,this.lblName.y=18,this.addChild(this.lblName),this.lblPrice=new UB("UI_GEM","0",16777215,lD.DEFAULT_OUTLINE_FONT_OPTION_16),this.lblPrice.x=145,this.lblPrice.y=50,this.addChild(this.lblPrice),this.btnBuy=new tG(CG.getText("COMMON_7","구매")),this.btnBuy.color=tG.BROWN,this.btnBuy.width=130,this.btnBuy.height=60,this.btnBuy.x=this.bg.x+this.bg.width-this.btnBuy.width-10,this.btnBuy.y=.5*(this.bg.height-this.btnBuy.height),this.btnBuy.onClick=()=>{
+ onPetIconClick(){
+ this.vo&&this.vo.kindNum>0&&I9.getInstance().showPet(this.vo.kindNum)}
RightBottomMenus 1 hunks, 3 statements
- ND(),await o8.getInstance().startBattle()}
+ $L(),await W8.getInstance().startBattle({
+ bossKindNum:100002}
+ )}
TreasureItemRenderer 2 hunks, 3 statements
- const get=class t extends Xx{
+ const cnt=class t extends XI{
- Kt(get,"TreasureItemRenderer"),zt(get,"updateTimer",null),zt(get,"DEBOUNCE_DELAY",3e3),zt(get,"isDirty",!1),zt(get,"targetEnhances",new Map),zt(get,"HIDE_DELAY",5e3);
- let met=get;
+ Kt(cnt,"TreasureItemRenderer"),zt(cnt,"updateTimer",null),zt(cnt,"DEBOUNCE_DELAY",3e3),zt(cnt,"isDirty",!1),zt(cnt,"targetEnhances",new Map),zt(cnt,"HIDE_DELAY",5e3);
+ let lnt=cnt;
SHA256 3 hunks, 3 statements
- ...mAt,...vAt,...yAt,...MAt,...CAt,...LAt,...BAt,...HAt,...KAt}
+ ...cSt,...uSt,...fSt,...gSt,...vSt,...kSt,...xSt,...RSt,...USt}
- ...OCt,...ICt}
+ ...MCt,...ACt}
- utf8:aSt,"utf-8":aSt,hex:sSt.base16,latin1:cSt,ascii:cSt,binary:cSt,...sSt}
+ utf8:iTt,"utf-8":iTt,hex:XCt.base16,latin1:sTt,ascii:sTt,binary:sTt,...XCt}
SuiProvider 3 hunks, 3 statements
- namespace:ZRt.NameSpaceKeyAptos,addresses:s,methods:[...iLt.AptosMethods],extra:h}
+ namespace:KDt.NameSpaceKeyAptos,addresses:s,methods:[...qDt.AptosMethods],extra:h}
- namespace:aLt.NameSpaceKeyTON,addresses:o,methods:[...uLt.TONMethods],extra:a,data:{
+ namespace:iLt.NameSpaceKeyTON,addresses:o,methods:[...nLt.TONMethods],extra:a,data:{
- namespace:gLt.NameSpaceKeySui,addresses:i,methods:[...vLt.SuiMethods],extra:s}
+ namespace:aLt.NameSpaceKeySui,addresses:i,methods:[...uLt.SuiMethods],extra:s}
WalletPopup 3 hunks, 3 statements
- ...tL.ERROR_POPUP_LABEL_OPTION,fontSize:24,fontWeight:"bold"}
+ ...lD.ERROR_POPUP_LABEL_OPTION,fontSize:24,fontWeight:"bold"}
- ...tL.ERROR_POPUP_LABEL_OPTION,fontSize:16}
+ ...lD.ERROR_POPUP_LABEL_OPTION,fontSize:16}
- ...tL.ERROR_POPUP_LABEL_OPTION,fontSize:16}
+ ...lD.ERROR_POPUP_LABEL_OPTION,fontSize:16}
GuildWarPopup 3 hunks, 3 statements
- this.rankingMode=!this.rankingMode,this.applyMode()}
+ 0==SD.isTournamenEntered?(this.rankingMode=!this.rankingMode,this.applyMode()):(Y6t.getInstance().setData(),Y6t.getInstance().show())}
- this.rankingMode?(this.setCurrentView(f3t.getInstance()),this.rankingLoaded||(f3t.getInstance().setData(),this.rankingLoaded=!0),this.subMenu.setRankingButtonText(pG.getText("GAME_412","메인"))):(this.setCurrentView(a3t.getInstance()),this.mainLoaded||(a3t.getInstance().setData(),this.mainLoaded=!0),this.subMenu.setRankingButtonText(pG.getText("GAME_1032","랭킹")))}
+ this.rankingMode?(this.setCurrentView(N6t.getInstance()),this.rankingLoaded||(N6t.getInstance().setData(),this.rankingLoaded=!0),this.subMenu.setRankingButtonText(CG.getText("GAME_412","메인"))):(this.setCurrentView(T6t.getInstance()),this.mainLoaded||(T6t.getInstance().setData(),this.mainLoaded=!0),0==SD.isTournamenEntered?this.subMenu.setRankingButtonText(CG.getText("GAME_1032","랭킹")):this.subMenu.setRankingButtonText(CG.getText("GWT_8","현황")))}
- this.show2(),this.rankingMode=!1,this.mainLoaded=!1,this.rankingLoaded=!1,this.applyMode(),this.subMenu.refreshRoleVisibility()}
+ this.show2(),this.rankingMode=!1,this.mainLoaded=!1,this.rankingLoaded=!1,this.applyMode(),this.subMenu.refreshRoleVisibility(),this.subMenu.updateLanguage()}
GameSpeedPopup 3 hunks, 3 statements
- if(this.requesting)return;
- jB.getInstance().isCooldownReady(i)&&(this.requesting=!0,uD.canSkipAds?(rU.trackAd("ad_skip",String(i)),await this.onAdComplete()):(rU.trackAd("ad_try",String(i)),await PD(async()=>{
+ 0!==ZB.getInstance().getDailyRemaining(i)?ZB.getInstance().isCooldownReady(i)&&(this.requesting||(this.requesting=!0,EL.canSkipAds?(kU.trackAd("ad_skip",String(i)),await this.onAdComplete()):(kU.trackAd("ad_try",String(i)),await VL(async()=>{
- )),this.requesting=!1)}
+ )),this.requesting=!1)):vG.getInstance().show(CG.getText("GAME_244","오늘 최대 횟수를 초과했습니다."))}
OfflinePopup 2 hunks, 3 statements
- this.image=new je,this.addChildAt(this.image,0);
+ this.image=new We,this.image.eventMode="none",this.addChildAt(this.image,0);
- ,void 0),s=t.getAssetPath("offlineChar.png"),e=await i.load(s);
- this.image.texture=e,this.image.scale.x=-1,this.image.x=this.width-20,this.image.y=5-this.image.height}
+ ,void 0),s=t.getAssetPath("CharOffline.png"),e=await i.load(s);
+ this.image.texture=e,this.image.x=this.width-this.image.width-20,this.image.y=5-this.image.height}
SoulRestGuidePopup 2 hunks, 2 statements
- showGuide(){
+ async showGuide(){
- this.pageNav.setPages(s),this.height=this.pageNav.y+this.pageNav.height+40,super.show()}
+ this.pageNav.setPages(s),this.height=this.pageNav.y+this.pageNav.height+40,await this.loadImage(),super.show()}
HeroUpgradeManager 1 hunks, 2 statements
- const e=VN.getInstance().getGameplayTotal(xN.MaxLv),n=cI.getInstance().getPetPoint(),h=Math.max(0,s)*t.TRANS_MAX_LEVEL_BONUS,r=Math.floor(wI.getInstance().totalTransPoint),o=i?t.getBaseMaxLevelForGrade(i):t.BASE_MAX_LEVEL;
- return Math.min(this.acc.length-1,o+e+n+h+r)}
+ const e=QN.getInstance().getGameplayTotal(GN.MaxLv),n=mx.getInstance().getPetPoint(),h=Math.max(0,s)*t.TRANS_MAX_LEVEL_BONUS,r=Math.floor(Ax.getInstance().totalTransPoint),o=DN.getWyvernRiderMaxLvContribution(),a=i?t.getBaseMaxLevelForGrade(i):t.BASE_MAX_LEVEL;
+ return Math.min(this.acc.length-1,a+e+n+h+r+o)}
BaseWeapon 2 hunks, 2 statements
- [DK.MagicalHitEffect]:$K,[DK.PhysicalHitEffect]:KK,[DK.CriticalEffect]:yz,[DK.MissEffect]:Nz,[DK.BlockEffect]:vz,[DK.EvadeEffect]:Mz,[DK.AkEffect]:mz,[DK.HukEffect]:Sz,[DK.PakEffect]:Rz,[DK.YapEffect]:Fz,[DK.StunImmuneEffect]:Bz,[DK.FreezeImmuneEffect]:Az,[DK.KnockbackImmuneEffect]:kz,[DK.MagicalImmuneEffect]:xz,[DK.PhysicalImmuneEffect]:Dz,[DK.HumanSkillEffect]:az,[DK.ElfSkillEffect]:rz,[DK.UndeadSkillEffect]:dz,[DK.OrcSkillEffect]:lz,[DK.CurseEffect]:jK,[DK.PowerShieldEffect]:sz,[DK.PhysicalShieldEffect]:tz,[DK.MagicalShieldEffect]:QK,[DK.SilenceEffect]:nz,[DK.DarkArcherSkillEffect1]:jz,[DK.PriestLightEffect]:Kz,[DK.PriestStartEffect]:Yz,[DK.PriestShieldEffect]:qz,[DK.FairyWingEffect]:$z,[DK.BindingEffect]:FK,[DK.RockExplode]:qK,[DK.Smoke]:YK,[DK.EvolEffect]:Qz,[DK.EvolEffect2]:tq,[DK.OrcIceExplodeEffect]:sq,[DK.FreezeEffectL]:nq,[DK.FreezeEffectM]:rq,[DK.FreezeEffectS]:aq,[DK.StunEffect]:lq,[DK.CastleFire1]:dq,[DK.CastleFire2]:pq,[DK.StoneEffect1]:mq,[DK.DeathHandSkillEffect1]:vq,[DK.BomberBigBombExplode1]:xq,[DK.BomberSmallBombExplode1]:yq,[DK.BlackMageBallExplode1]:Mq,[DK.FireBallExplode]:Aq,[DK.PoisonGreenEffect]:kq,[DK.OrcHunterEvadeBuff]:Sq,[DK.AggroEffect]:Nq,[DK.PilotMissileSmoke1]:Rq,[DK.FireExplode]:Dq,[DK.AntRockExplode]:Bq,[DK.IceExplode2]:Fq,[DK.HealYellow]:jq,[DK.ElectricEffect]:$q,[DK.RoboExplode]:Kq,[DK.SuccubusLove]:qq,[DK.SuccubusEffect1]:Yq,[DK.FallInLoveEffect]:Qq,[DK.Accelerate]:tX,[DK.ElfGlowing1]:sX,[DK.ElfMagicCircle1]:nX,[DK.ElfExplodeEffect1]:aX,[DK.ElfBindEffect1]:rX,[DK.AbyssLightning1]:lX,[DK.AbyssSkillExplosion1]:dX,[DK.JudegmentMarkEffect1]:pX,[DK.UndeadLightningExplosion1]:mX,[DK.FireExplosion1]:vX,[DK.FireExplosion2]:yX,[DK.AladinGenie1]:MX,[DK.DruidVine1]:AX,[DK.CrowExplosion1]:SX,[DK.BladeMasterAfterImage]:kX}
+ [ZK.MagicalHitEffect]:oz,[ZK.PhysicalHitEffect]:cz,[ZK.CriticalEffect]:Gz,[ZK.MissEffect]:Xz,[ZK.BlockEffect]:Dz,[ZK.EvadeEffect]:Uz,[ZK.AkEffect]:Pz,[ZK.HukEffect]:jz,[ZK.PakEffect]:Jz,[ZK.YapEffect]:eq,[ZK.StunImmuneEffect]:iq,[ZK.FreezeImmuneEffect]:Hz,[ZK.KnockbackImmuneEffect]:Vz,[ZK.MagicalImmuneEffect]:zz,[ZK.PhysicalImmuneEffect]:Zz,[ZK.HumanSkillEffect]:Sz,[ZK.ElfSkillEffect]:Ez,[ZK.UndeadSkillEffect]:Oz,[ZK.OrcSkillEffect]:Tz,[ZK.CurseEffect]:hz,[ZK.PowerShieldEffect]:bz,[ZK.PhysicalShieldEffect]:wz,[ZK.MagicalShieldEffect]:gz,[ZK.SilenceEffect]:_z,[ZK.DarkArcherSkillEffect1]:hq,[ZK.PriestLightEffect]:cq,[ZK.PriestStartEffect]:fq,[ZK.PriestShieldEffect]:uq,[ZK.FairyWingEffect]:oq,[ZK.BindingEffect]:ez,[ZK.RockExplode]:uz,[ZK.Smoke]:fz,[ZK.EvolEffect]:gq,[ZK.EvolEffect2]:wq,[ZK.OrcIceExplodeEffect]:bq,[ZK.FreezeEffectL]:_q,[ZK.FreezeEffectM]:Eq,[ZK.FreezeEffectS]:Sq,[ZK.StunEffect]:Tq,[ZK.CastleFire1]:Oq,[ZK.CastleFire2]:xq,[ZK.StoneEffect1]:Pq,[ZK.DeathHandSkillEffect1]:Dq,[ZK.BomberBigBombExplode1]:zq,[ZK.BomberSmallBombExplode1]:Gq,[ZK.BlackMageBallExplode1]:Uq,[ZK.FireBallExplode]:Hq,[ZK.PoisonGreenEffect]:Vq,[ZK.OrcHunterEvadeBuff]:jq,[ZK.AggroEffect]:Xq,[ZK.PilotMissileSmoke1]:Jq,[ZK.FireExplode]:Zq,[ZK.AntRockExplode]:iX,[ZK.IceExplode2]:eX,[ZK.HealYellow]:hX,[ZK.ElectricEffect]:oX,[ZK.RoboExplode]:cX,[ZK.SuccubusLove]:uX,[ZK.SuccubusEffect1]:fX,[ZK.FallInLoveEffect]:gX,[ZK.Accelerate]:wX,[ZK.ElfGlowing1]:bX,[ZK.ElfMagicCircle1]:_X,[ZK.ElfExplodeEffect1]:SX,[ZK.ElfBindEffect1]:EX,[ZK.AbyssLightning1]:TX,[ZK.AbyssSkillExplosion1]:OX,[ZK.JudegmentMarkEffect1]:xX,[ZK.UndeadLightningExplosion1]:PX,[ZK.FireExplosion1]:DX,[ZK.FireExplosion2]:GX,[ZK.AladinGenie1]:UX,[ZK.DruidVine1]:HX,[ZK.CrowExplosion1]:jX,[ZK.BladeMasterAfterImage]:VX,[ZK.PoisonExplodeEffect]:zX}
- var IX=(t=>(t.NormalArrow="NormalArrow",t.EnergyBall="EnergyBall",t.SpeedArrow="SpeedArrow",t.Bullet1="Bullet1",t.OrcSpearmanSpear1="OrcSpearmanSpear1",t.OrcIceMageFire1="OrcIceMageFire1",t.PoisonArcherArrow1="PoisonArcherArrow1",t.FireBirdBall1="FireBirdBall1",t.GreenEagleBall1="GreenEagleBall1",t.BlackMageBall1="BlackMageBall1",t.BlackMageDarkBall1="BlackMageDarkBall1",t.DarkMageBall1="DarkMageBall1",t.DarkMageSkillBall1="DarkMageSkillBall1",t.GreenEnergyBall="GreenEnergyBall",t.YellowEnergyBall="YellowEnergyBall",t.FairyMusicNote="FairyMusicNote",t.GhostBall1="GhostBall1",t.DarkArcherArrow1="DarkArcherArrow1",t.OrcWingBall1="OrcWingBall1",t.OrcAxeBall1="OrcAxeBall1",t.Twist="Twist",t.FlowerBullet="FlowerBullet",t.Rock="Rock",t.DarkHermitMissile="DarkHermitMissile",t.Pearl="Pearl",t.UniArrow="UniArrow",t.PowerArrow="PowerArrow",t.OrcBlizzardMageRain1="OrcBlizzardMageRain1",t.FireMagicBall1="FireMagicBall1",t.FireMageBird1="FireMageBird1",t.BomberSmallBomb1="BomberSmallBomb1",t.BomberBigBomb1="BomberBigBomb1",t.IceFlake="IceFlake",t.PoisonArcherArrowSkill1="PoisonArcherArrowSkill1",t.OrcIceMageFireSkill1="OrcIceMageFireSkill1",t.PilotMissile1="PilotMissile1",t.FireBullet="FireBullet",t.AntRock1="AntRock1",t.SpeedArrow2="SpeedArrow2",t.MoleFire="MoleFire",t.OrcRapterRiderSpear1="OrcRapterRiderSpear1",t.WyvernRiderThrowingKnife1="WyvernRiderThrowingKnife1",t.WyvernRiderThrowingKnifeS1="WyvernRiderThrowingKnifeS1",t.SuccubusBlade1="SuccubusBlade1",t.DarkChain1="DarkChain1",t.DruidTangle1="DruidTangle1",t.DruidDrill1="DruidDrill1",t.TigerRiderArrow1="TigerRiderArrow1",t.GriffinSpear1="GriffinSpear1",t.GriffinSuperSpear1="GriffinSuperSpear1",t.SteamFire1="SteamFire1",t.SteamMissile1="SteamMissile1",t.SylphidTornado1="SylphidTornado1",t.SylphidShuriken1="SylphidShuriken1",t.AladinCoin1="AladinCoin1",t.BladeWave1="BladeWave1",t.SpinBlade="SpinBlade",t.CrowKnightBullet1="CrowKnightBullet1",t.CrowCompanion1="CrowCompanion1",t.CrowGuidedBall1="CrowGuidedBall1",t.CrowFeatherShot1="CrowFeatherShot1",t))(IX||{
+ var YX=(t=>(t.NormalArrow="NormalArrow",t.EnergyBall="EnergyBall",t.SpeedArrow="SpeedArrow",t.Bullet1="Bullet1",t.OrcSpearmanSpear1="OrcSpearmanSpear1",t.OrcIceMageFire1="OrcIceMageFire1",t.PoisonArcherArrow1="PoisonArcherArrow1",t.FireBirdBall1="FireBirdBall1",t.GreenEagleBall1="GreenEagleBall1",t.BlackMageBall1="BlackMageBall1",t.BlackMageDarkBall1="BlackMageDarkBall1",t.DarkMageBall1="DarkMageBall1",t.DarkMageSkillBall1="DarkMageSkillBall1",t.GreenEnergyBall="GreenEnergyBall",t.YellowEnergyBall="YellowEnergyBall",t.FairyMusicNote="FairyMusicNote",t.GhostBall1="GhostBall1",t.DarkArcherArrow1="DarkArcherArrow1",t.OrcWingBall1="OrcWingBall1",t.OrcAxeBall1="OrcAxeBall1",t.Twist="Twist",t.FlowerBullet="FlowerBullet",t.Rock="Rock",t.DarkHermitMissile="DarkHermitMissile",t.Pearl="Pearl",t.UniArrow="UniArrow",t.PowerArrow="PowerArrow",t.OrcBlizzardMageRain1="OrcBlizzardMageRain1",t.FireMagicBall1="FireMagicBall1",t.FireMageBird1="FireMageBird1",t.BomberSmallBomb1="BomberSmallBomb1",t.BomberBigBomb1="BomberBigBomb1",t.IceFlake="IceFlake",t.PoisonArcherArrowSkill1="PoisonArcherArrowSkill1",t.OrcIceMageFireSkill1="OrcIceMageFireSkill1",t.PilotMissile1="PilotMissile1",t.FireBullet="FireBullet",t.AntRock1="AntRock1",t.SpeedArrow2="SpeedArrow2",t.MoleFire="MoleFire",t.OrcRapterRiderSpear1="OrcRapterRiderSpear1",t.WyvernRiderThrowingKnife1="WyvernRiderThrowingKnife1",t.WyvernRiderThrowingKnifeS1="WyvernRiderThrowingKnifeS1",t.SuccubusBlade1="SuccubusBlade1",t.DarkChain1="DarkChain1",t.DruidTangle1="DruidTangle1",t.DruidDrill1="DruidDrill1",t.TigerRiderArrow1="TigerRiderArrow1",t.GriffinSpear1="GriffinSpear1",t.GriffinSuperSpear1="GriffinSuperSpear1",t.SteamFire1="SteamFire1",t.SteamMissile1="SteamMissile1",t.SylphidTornado1="SylphidTornado1",t.SylphidShuriken1="SylphidShuriken1",t.AladinCoin1="AladinCoin1",t.BladeWave1="BladeWave1",t.SpinBlade="SpinBlade",t.CrowKnightBullet1="CrowKnightBullet1",t.CrowCompanion1="CrowCompanion1",t.CrowGuidedBall1="CrowGuidedBall1",t.CrowFeatherShot1="CrowFeatherShot1",t.ScorpionPoisonBullet="ScorpionPoisonBullet",t.ScorpionPoisonArea="ScorpionPoisonArea",t.HarpyFeather="HarpyFeather",t.HarpyTornado="HarpyTornado",t))(YX||{
UnitFactory 2 hunks, 2 statements
- [rI.NWolf]:XQ,[rI.BlackMage1]:oZ,[rI.SkeletonX1]:wZ,[rI.SkeletonMan1]:uZ,[rI.SkeletonMan2]:fZ,[rI.SkeletonWarrior1]:gZ,[rI.GreatHammer1]:cZ,[rI.Ghost1]:OZ,[rI.DarkMage1]:EZ,[rI.DarkArcher1]:IZ,[rI.Bomber1]:L0,[rI.DeathHand1]:G0,[rI.DarkNinja1]:g1,[rI.Succubus1]:T1,[rI.Abyss1]:L1,[rI.CrowKnight1]:z1,[rI.FootMan1]:UQ,[rI.Gunner1]:HQ,[rI.HeavyWarrior1]:VQ,[rI.HammerKnight1]:WQ,[rI.HorseKnight1]:zQ,[rI.FireBird1]:GQ,[rI.Priest1]:CZ,[rI.GriffinRider1]:w1,[rI.SteamPunk1]:_1,[rI.WingKnight1]:b1,[rI.Aladin1]:H1,[rI.ElfArcher1]:bZ,[rI.HighArcher1]:PQ,[rI.ElfWarrior1]:IQ,[rI.ElfSwordMan1]:OQ,[rI.PoisonArcher1]:LQ,[rI.GreenEagle1]:_Q,[rI.WindMage1]:_Z,[rI.Fairy1]:TZ,[rI.Druid1]:E1,[rI.Druid2]:W1,[rI.TigerRider1]:C1,[rI.Sylphid1]:G1,[rI.OrcFighter1]:JQ,[rI.OrcHunter1]:iZ,[rI.OrcIceMage1]:eZ,[rI.OrcWing1]:PZ,[rI.OrcHammer1]:ZQ,[rI.OrcAxe1]:LZ,[rI.OrcSpearMan1]:hZ,[rI.BigDrumer1]:GZ,[rI.OrcWolfRider1]:UZ,[rI.OrcBigFoot1]:b0,[rI.OrcBlizzardMage1]:_0,[rI.OrcIcePhantom1]:V0,[rI.OrcRapterRider1]:u1,[rI.WyvernRider1]:f1,[rI.BladeMaster1]:V1,[rI.ElfTown5]:CQ,[rI.OrcFlower]:TQ,[rI.FlowerSoldier1]:WZ,[rI.FlowerSoldier2]:HZ,[rI.KingSlime]:VZ,[rI.SlimeBlue]:zZ,[rI.SlimeRed]:XZ,[rI.SlimeYellow]:JZ,[rI.HammerMole]:ZZ,[rI.MoleSoldier1]:e0,[rI.MoleSoldier2]:i0,[rI.DarkHermit]:h0,[rI.Crab]:o0,[rI.StarFish]:c0,[rI.Unicorn1]:u0,[rI.IceWolf]:f0,[rI.GoldGoblin]:g0,[rI.AdsGoblin]:w0,[rI.DeathKnight1]:E0,[rI.Golem1]:C0,[rI.GreatMage1]:T0,[rI.Ant1]:O0,[rI.WolfWarrior1]:I0,[rI.Artillery1]:P0,[rI.SSlime1]:U0,[rI.SSlime2]:H0,[rI.SSlime3]:W0,[rI.Pilot1]:z0,[rI.Spider1]:Z0,[rI.Spider2]:i1,[rI.Boar1]:J0,[rI.Boar2]:X0,[rI.RoboBomb1]:h1,[rI.RoboBomb2]:e1,[rI.Frog1]:o1,[rI.Frog2]:c1,[rI.Castle0]:P1,[rI.Castle1]:I1,[rI.Castle2]:O1,[rI.HarpyKing]:J1,[rI.GolemKing]:Z1}
+ [fx.NWolf]:AZ,[fx.BlackMage1]:LZ,[fx.SkeletonX1]:KZ,[fx.SkeletonMan1]:FZ,[fx.SkeletonMan2]:WZ,[fx.SkeletonWarrior1]:$Z,[fx.GreatHammer1]:BZ,[fx.Ghost1]:n0,[fx.DarkMage1]:QZ,[fx.DarkArcher1]:r0,[fx.Bomber1]:l1,[fx.DeathHand1]:d1,[fx.DarkNinja1]:$1,[fx.Succubus1]:s2,[fx.Abyss1]:l2,[fx.CrowKnight1]:M2,[fx.FootMan1]:pZ,[fx.Gunner1]:mZ,[fx.HeavyWarrior1]:yZ,[fx.HammerKnight1]:vZ,[fx.HorseKnight1]:MZ,[fx.FireBird1]:dZ,[fx.Priest1]:t0,[fx.GriffinRider1]:K1,[fx.SteamPunk1]:Y1,[fx.WingKnight1]:q1,[fx.Aladin1]:m2,[fx.ElfArcher1]:qZ,[fx.HighArcher1]:aZ,[fx.ElfWarrior1]:rZ,[fx.ElfSwordMan1]:nZ,[fx.PoisonArcher1]:lZ,[fx.GreenEagle1]:YQ,[fx.WindMage1]:YZ,[fx.Fairy1]:s0,[fx.Druid1]:Q1,[fx.Druid2]:v2,[fx.TigerRider1]:t2,[fx.Sylphid1]:d2,[fx.OrcFighter1]:CZ,[fx.OrcHunter1]:IZ,[fx.OrcIceMage1]:NZ,[fx.OrcWing1]:a0,[fx.OrcHammer1]:kZ,[fx.OrcAxe1]:l0,[fx.OrcSpearMan1]:RZ,[fx.BigDrumer1]:d0,[fx.OrcWolfRider1]:p0,[fx.OrcBigFoot1]:q0,[fx.OrcBlizzardMage1]:Y0,[fx.OrcIcePhantom1]:y1,[fx.OrcRapterRider1]:F1,[fx.WyvernRider1]:W1,[fx.BladeMaster1]:y2,[fx.ElfTown5]:tZ,[fx.OrcFlower]:sZ,[fx.FlowerSoldier1]:v0,[fx.FlowerSoldier2]:m0,[fx.KingSlime]:y0,[fx.SlimeBlue]:M0,[fx.SlimeRed]:A0,[fx.SlimeYellow]:C0,[fx.HammerMole]:k0,[fx.MoleSoldier1]:N0,[fx.MoleSoldier2]:I0,[fx.DarkHermit]:R0,[fx.Crab]:L0,[fx.StarFish]:B0,[fx.Unicorn1]:F0,[fx.IceWolf]:W0,[fx.GoldGoblin]:$0,[fx.AdsGoblin]:K0,[fx.DeathKnight1]:Q0,[fx.Golem1]:t1,[fx.GreatMage1]:s1,[fx.Ant1]:n1,[fx.WolfWarrior1]:r1,[fx.Artillery1]:a1,[fx.SSlime1]:p1,[fx.SSlime2]:m1,[fx.SSlime3]:v1,[fx.Pilot1]:M1,[fx.Spider1]:k1,[fx.Spider2]:I1,[fx.Boar1]:C1,[fx.Boar2]:A1,[fx.RoboBomb1]:R1,[fx.RoboBomb2]:N1,[fx.Frog1]:L1,[fx.Frog2]:B1,[fx.Castle0]:a2,[fx.Castle1]:r2,[fx.Castle2]:n2,[fx.ScorpionKing]:C2,[fx.HarpyKing]:k2,[fx.GolemKing]:I2}
- return t.unitPool[e]||(t.unitPool[e]=[]),t.unitPool[e].length>0?(n=t.unitPool[e].pop(),n.className=e):(n=new s,n.initializeData()),n.resetForPool(),n}
+ return t.unitPool[e]||(t.unitPool[e]=[]),t.unitPool[e].length>0?(n=t.unitPool[e].pop(),n.className=e):(n=new s,n.initializeData()),n.className=e,n.resetForPool(),n}
HeroDrawGuidePopup 2 hunks, 2 statements
- showGuide(){
+ async showGuide(){
- this.update(t,this.title),super.show()}
+ this.update(t,this.title),await this.loadImage(),super.show()}
TreasureDrawGuidePopup 2 hunks, 2 statements
- showGuide(){
+ async showGuide(){
- this.update(t,this.title),super.show()}
+ this.update(t,this.title),await this.loadImage(),super.show()}
PaymentEventGuidePopup 2 hunks, 2 statements
- showGuide(){
+ async showGuide(){
- this.lblGuide.text="@ "+t.join("@ "),this.lblGuide.x=30,this.lblGuide.y=80,this.height=this.lblGuide.y+this.lblGuide.height+40,super.show()}
+ this.lblGuide.text="@ "+t.join("@ "),this.lblGuide.x=30,this.lblGuide.y=80,this.height=this.lblGuide.y+this.lblGuide.height+40,await this.loadImage(),super.show()}
HeroHireGuidePopup 2 hunks, 2 statements
- showGuide(){
+ async showGuide(){
- this.lblGuide.text=t.join("\n"),this.lblGuide.x=30,this.lblGuide.y=80,this.height=this.lblGuide.y+this.lblGuide.height+40,super.show()}
+ this.lblGuide.text=t.join("\n"),this.lblGuide.x=30,this.lblGuide.y=80,this.height=this.lblGuide.y+this.lblGuide.height+40,await this.loadImage(),super.show()}
HeroGuidePopup 2 hunks, 2 statements
- showGuide(){
+ async showGuide(){
- this.height=c,super.show()}
+ this.height=c,await this.loadImage(),super.show()}
PetPointGuidePopup 2 hunks, 2 statements
- showGuide(){
+ async showGuide(){
- this.lblGuide.text=t.join("\n\n"),this.lblGuide.x=30,this.lblGuide.y=80,this.height=this.lblGuide.y+this.lblGuide.height+40,super.show()}
+ this.lblGuide.text=t.join("\n\n"),this.lblGuide.x=30,this.lblGuide.y=80,this.height=this.lblGuide.y+this.lblGuide.height+40,await this.loadImage(),super.show()}
SpriteLandGuidePopup 2 hunks, 2 statements
- showGuide(){
+ async showGuide(){
- `).join("\n"),this.markerText.x=30,this.markerText.y=this.lblIntro.y+this.lblIntro.height+22,this.height=this.markerText.y+this.markerText.height+40,super.show()}
+ `).join("\n"),this.markerText.x=30,this.markerText.y=this.lblIntro.y+this.lblIntro.height+22,this.height=this.markerText.y+this.markerText.height+40,await this.loadImage(),super.show()}
TowerGuidePopup 2 hunks, 2 statements
- showGuide(){
+ async showGuide(){
- this.lblGuide.text=t.join("\n\n"),this.lblGuide.x=30,this.lblGuide.y=80,this.height=this.lblGuide.y+this.lblGuide.height+40,super.show()}
+ this.lblGuide.text=t.join("\n\n"),this.lblGuide.x=30,this.lblGuide.y=80,this.height=this.lblGuide.y+this.lblGuide.height+40,await this.loadImage(),super.show()}
DungeonGuidePopup 2 hunks, 2 statements
- showGuide(){
+ async showGuide(){
- this.lblGuide.text=t.join("\n\n"),this.lblGuide.x=30,this.lblGuide.y=80,this.height=this.lblGuide.y+this.lblGuide.height+40,super.show()}
+ this.lblGuide.text=t.join("\n\n"),this.lblGuide.x=30,this.lblGuide.y=80,this.height=this.lblGuide.y+this.lblGuide.height+40,await this.loadImage(),super.show()}
PVPRankSubView 2 hunks, 2 statements
- let Zit=Qit;
+ let set=iet;
- this.rankList=new zx(Zit,620,t),this.rankList.x=0,this.rankList.y=0,this.addChild(this.rankList),this.lblMyRank.x=5,this.lblMyRank.y=515,this.myRankItem=new Zit,this.myRankItem.x=.5*(620-this.myRankItem.width)-5,this.myRankItem.y=this.rankList.y+this.rankList.height+5,this.addChild(this.myRankItem)}
+ this.rankList=new zI(set,620,t),this.rankList.x=0,this.rankList.y=0,this.addChild(this.rankList),this.lblMyRank.x=5,this.lblMyRank.y=515,this.myRankItem=new set,this.myRankItem.x=.5*(620-this.myRankItem.width)-5,this.myRankItem.y=this.rankList.y+this.rankList.height+5,this.addChild(this.myRankItem)}
TreasureTransGuidePopup 2 hunks, 2 statements
- showGuide(){
+ async showGuide(){
- `,this.lblGuide.x=30,this.lblGuide.y=80,this.height=this.lblGuide.y+this.lblGuide.height+40,super.show()}
+ `,this.lblGuide.x=30,this.lblGuide.y=80,this.height=this.lblGuide.y+this.lblGuide.height+40,await this.loadImage(),super.show()}
TreasureBookPopup 2 hunks, 2 statements
- let set=iet;
+ let Jet=Yet;
- this.list=new BV(set,630,KA.getBookListHeight(t)),this.addChild(this.list),this.updateLayout()}
+ this.list=new iK(Jet,630,KA.getBookListHeight(t)),this.addChild(this.list),this.updateLayout()}
TreasureGuidePopup 2 hunks, 2 statements
- showGuide(){
+ async showGuide(){
- this.lblGuide.text=t.join("\n\n"),this.lblGuide.x=30,this.lblGuide.y=80,this.btnGoDungeon.text=pG.getText("GAME_398","던전 바로가기"),this.btnGoDungeon.x=.5*(this.width-this.btnGoDungeon.width),this.btnGoDungeon.y=this.lblGuide.y+this.lblGuide.height+15,this.height=this.btnGoDungeon.y+this.btnGoDungeon.height+30,super.show()}
+ this.lblGuide.text=t.join("\n\n"),this.lblGuide.x=30,this.lblGuide.y=80,this.btnGoDungeon.text=CG.getText("GAME_398","던전 바로가기"),this.btnGoDungeon.x=.5*(this.width-this.btnGoDungeon.width),this.btnGoDungeon.y=this.lblGuide.y+this.lblGuide.height+15,this.height=this.btnGoDungeon.y+this.btnGoDungeon.height+30,await this.loadImage(),super.show()}
InventoryPopup 2 hunks, 2 statements
- case $5.treasureGacha:e=m0t.getInstance(),m0t.getInstance().setData(t);
+ case _3.petSelect:e=e1t.getInstance(),e1t.getInstance().setData(t);
- case $5.petSelect:e=l0t.getInstance(),l0t.getInstance().setData(t)}
+ case _3.treasureGacha:e=c1t.getInstance(),c1t.getInstance().setData(t)}
GuildWarGuidePopup 1 hunks, 2 statements
- showGuide(){
- this.title=pG.getText("GAME_1021","길드전 안내"),this.height=this.pageNav.y+this.pageNav.height+t.NAV_BOTTOM_PAD,super.show()}
+ async showGuide(){
+ this.title=CG.getText("GAME_1021","길드전 안내"),this.height=this.pageNav.y+this.pageNav.height+t.NAV_BOTTOM_PAD,await this.loadImage(),super.show()}
QuestGuidePopup 2 hunks, 2 statements
- showGuide(){
+ async showGuide(){
- this.lblGuide.text=t.join("\n\n"),this.lblGuide.x=30,this.lblGuide.y=80,this.height=this.lblGuide.y+this.lblGuide.height+40,super.show()}
+ this.lblGuide.text=t.join("\n\n"),this.lblGuide.x=30,this.lblGuide.y=80,this.height=this.lblGuide.y+this.lblGuide.height+40,await this.loadImage(),super.show()}
BattleManager 1 hunks, 2 statements
- const e=(null==(s=this.currentBattle)?void 0:s.getBattleType())??nV.IDLE,n=t.getBattleType();
- this.currentBattle&&(this.battleFrameController.remove(this.currentBattle.execute,this.currentBattle),this.currentBattle.hide(),this.battleState=hV.PAUSED),U8t.getInstance().transition(e,n,i),XL.isIdleBattle=!1,iB.getInstance().visible=!1,K4t.getInstance().visible=!1,Jt(async()=>{
+ const e=(null==(s=this.currentBattle)?void 0:s.getBattleType())??_V.IDLE,n=t.getBattleType(),h=this.currentBattle===t;
+ this.currentBattle&&(this.battleFrameController.remove(this.currentBattle.execute,this.currentBattle),h||this.currentBattle.hide(),this.battleState=MV.PAUSED),g9t.getInstance().transition(e,n,i),oL.isIdleBattle=!1,lB.getInstance().visible=!1,M7t.getInstance().visible=!1,Jt(async()=>{
GuildBarrackRowVO 2 hunks, 2 statements
- zt(this,"barrackKindNum",0),zt(this,"tribe",0),zt(this,"unitKindNums",[]),zt(this,"counts",[]),zt(this,"selected",!1),zt(this,"usedByOther",!1),zt(this,"usedByDefense",!1),zt(this,"unlocked",!1),zt(this,"openCost",0),zt(this,"canBoost",!1),zt(this,"canTrainPerStage",[]),zt(this,"trainTimeSec",[]),zt(this,"showBoost",!0)}
+ zt(this,"barrackKindNum",0),zt(this,"tribe",0),zt(this,"unitKindNums",[]),zt(this,"plusLevel",[]),zt(this,"counts",[]),zt(this,"awakened",!1),zt(this,"selected",!1),zt(this,"usedByOther",!1),zt(this,"usedByDefense",!1),zt(this,"unlocked",!1),zt(this,"openCost",0),zt(this,"canBoost",!1),zt(this,"canTrainPerStage",[]),zt(this,"trainTimeSec",[]),zt(this,"showBoost",!0)}
- t.barrackKindNum=0,t.tribe=0,t.unitKindNums=[],t.counts=[],t.selected=!1,t.usedByOther=!1,t.usedByDefense=!1,t.unlocked=!1,t.openCost=0,t.canBoost=!1,t.canTrainPerStage=[],t.trainTimeSec=[],t.showBoost=!0,this.recycleList.push(t)}
+ t.barrackKindNum=0,t.tribe=0,t.unitKindNums=[],t.plusLevel=[],t.counts=[],t.awakened=!1,t.selected=!1,t.usedByOther=!1,t.usedByDefense=!1,t.unlocked=!1,t.openCost=0,t.canBoost=!1,t.canTrainPerStage=[],t.trainTimeSec=[],t.showBoost=!0,this.recycleList.push(t)}
DefenseFormationGuidePopup 1 hunks, 2 statements
- showGuide(){
- this.title=pG.getText("GAME_1135","배치 안내"),super.show()}
+ async showGuide(){
+ this.title=CG.getText("GAME_1135","배치 안내"),await this.loadImage(),super.show()}
GuildWarTierAssignPopup 2 hunks, 2 statements
- const i=[...fL.memberList??[]].sort((t,i)=>i.roleLevel!==t.roleLevel?i.roleLevel-t.roleLevel:(i.wave??0)-(t.wave??0));
+ const i=[...SD.memberList??[]].sort((t,i)=>i.roleLevel!==t.roleLevel?i.roleLevel-t.roleLevel:(i.wave??0)-(t.wave??0));
- ...tL.DEFAULT_OUTLINE_FONT_OPTION_16,fontSize:i}
+ ...lD.DEFAULT_OUTLINE_FONT_OPTION_16,fontSize:i}
ArcheryGameGuidePopup 2 hunks, 2 statements
- showGuide(){
+ async showGuide(){
- `).join("\n"),this.refreshRewardHeaders(),this.rewardList.dataProvider=t.REWARD_TABLE.slice(),this.rewardList.scrollTo(0),this.tapDesc.selected=!0,this.tapReward.selected=!1,this.descContainer.visible=!0,this.rewardContainer.visible=!1,super.show()}
+ `).join("\n"),this.refreshRewardHeaders(),this.rewardList.dataProvider=t.REWARD_TABLE.slice(),this.rewardList.scrollTo(0),this.tapDesc.selected=!0,this.tapReward.selected=!1,this.descContainer.visible=!0,this.rewardContainer.visible=!1,await this.loadImage(),super.show()}
ColorMatrixFilter 1 hunks, 1 statements
- ...C.defaultEventFeatures}
+ ...S.defaultEventFeatures}
HTMLTextStyle 1 hunks, 1 statements
- ...Cg.defaultDropShadow,...t}
+ ...Sg.defaultDropShadow,...t}
RenderTexture 1 hunks, 1 statements
- ...L.defaultOptions,...t}
+ ...D.defaultOptions,...t}
CanvasRenderer 1 hunks, 1 statements
- const Gv=[...Cv,cw,uw,Dv,Rv],Bv=[Pw,Fm,xw,mw,zm,sw,Xm,fw],Uv=[Pm,kw],Fv=[],Hv=[],jv=[];
+ const Gv=[...Sv,cw,uw,Lv,Rv],Bv=[Pw,Fm,Iw,mw,zm,sw,Xm,fw],Uv=[Pm,kw],Fv=[],Hv=[],Wv=[];
GlGeometryGpuData 1 hunks, 1 statements
- ...j.defaultOptions,...t}
+ ...W.defaultOptions,...t}
GlColorMaskSystem 1 hunks, 1 statements
- ...W.defaultOptions,...t}
+ ...j.defaultOptions,...t}
WebGLRenderer 1 hunks, 1 statements
- const Vy=[...Cv,Gb,fb,Qv,bb,Yv,Fy,Hb,lb,py,cy,wb,wy,Ab,gb],Ky=[...Sv],zy=[Lm,$y,jy],qy=[],Xy=[],Yy=[];
+ const Vy=[...Sv,Gb,fb,Qv,bb,Yv,Fy,Hb,lb,py,cy,wb,wy,Ab,gb],Ky=[...Cv],zy=[Dm,$y,Wy],qy=[],Xy=[],Yy=[];
WebGPURenderer 1 hunks, 1 statements
- const oM=[...Cv,E_,f_,u_,g_,h_,sM,G_,U_,j_,I_,c_,w_,i_],aM=[...Sv,S_],cM=[Bm,rM,nM],lM=[],uM=[],dM=[];
+ const oM=[...Sv,E_,f_,u_,g_,h_,sM,G_,U_,W_,x_,c_,w_,i_],aM=[...Cv,C_],cM=[Bm,rM,nM],lM=[],uM=[],dM=[];
VersionManager 1 hunks, 1 statements
- Kt(zA,"VersionManager"),zt(zA,"gameId","ef2"),zt(zA,"appVersion","1.10.97");
+ Kt(zA,"VersionManager"),zt(zA,"gameId","ef2"),zt(zA,"appVersion","1.11.42");
PetDataManager 1 hunks, 1 statements
- ),rI=(t=>(t.ElfTown5="ElfTown5",t.NWolf="NWolf",t.HorseKnight1="HorseKnight1",t.SkeletonX1="SkeletonX1",t.SkeletonMan1="SkeletonMan1",t.SkeletonMan2="SkeletonMan2",t.SkeletonWarrior1="SkeletonWarrior1",t.GreatHammer1="GreatHammer1",t.ElfArcher1="ElfArcher1",t.HighArcher1="HighArcher1",t.FootMan1="FootMan1",t.Gunner1="Gunner1",t.ElfWarrior1="ElfWarrior1",t.ElfSwordMan1="ElfSwordMan1",t.OrcFighter1="OrcFighter1",t.OrcSpearMan1="OrcSpearMan1",t.OrcHammer1="OrcHammer1",t.OrcHunter1="OrcHunter1",t.OrcIceMage1="OrcIceMage1",t.HeavyWarrior1="HeavyWarrior1",t.HammerKnight1="HammerKnight1",t.PoisonArcher1="PoisonArcher1",t.FireBird1="FireBird1",t.GreenEagle1="GreenEagle1",t.WindMage1="WindMage1",t.OrcFlower="OrcFlower",t.BlackMage1="BlackMage1",t.DarkMage1="DarkMage1",t.Priest1="Priest1",t.Fairy1="Fairy1",t.Ghost1="Ghost1",t.DarkArcher1="DarkArcher1",t.OrcWing1="OrcWing1",t.OrcAxe1="OrcAxe1",t.BigDrumer1="BigDrumer1",t.OrcWolfRider1="OrcWolfRider1",t.OrcBigFoot1="OrcBigFoot1",t.OrcBlizzardMage1="OrcBlizzardMage1",t.FlowerSoldier1="FlowerSoldier1",t.FlowerSoldier2="FlowerSoldier2",t.KingSlime="KingSlime",t.SlimeBlue="SlimeBlue",t.SlimeRed="SlimeRed",t.SlimeYellow="SlimeYellow",t.HammerMole="HammerMole",t.MoleSoldier1="MoleSoldier1",t.MoleSoldier2="MoleSoldier2",t.DarkHermit="DarkHermit",t.Crab="Crab",t.StarFish="StarFish",t.Unicorn1="Unicorn1",t.IceWolf="IceWolf",t.GoldGoblin="GoldGoblin",t.AdsGoblin="AdsGoblin",t.DeathKnight1="DeathKnight1",t.Golem1="Golem1",t.GreatMage1="GreatMage1",t.Ant1="Ant1",t.WolfWarrior1="WolfWarrior1",t.Artillery1="Artillery1",t.Bomber1="Bomber1",t.DeathHand1="DeathHand1",t.SSlime1="SSlime1",t.SSlime2="SSlime2",t.SSlime3="SSlime3",t.OrcIcePhantom1="OrcIcePhantom1",t.Pilot1="Pilot1",t.Spider1="Spider1",t.Spider2="Spider2",t.Boar1="Boar1",t.Boar2="Boar2",t.RoboBomb1="RoboBomb1",t.RoboBomb2="RoboBomb2",t.Frog1="Frog1",t.Frog2="Frog2",t.OrcRapterRider1="OrcRapterRider1",t.WyvernRider1="WyvernRider1",t.DarkNinja1="DarkNinja1",t.Succubus1="Succubus1",t.Druid1="Druid1",t.TigerRider1="TigerRider1",t.GriffinRider1="GriffinRider1",t.SteamPunk1="SteamPunk1",t.Castle0="Castle0",t.Castle1="Castle1",t.Castle2="Castle2",t.WingKnight1="WingKnight1",t.Abyss1="Abyss1",t.Sylphid1="Sylphid1",t.Aladin1="Aladin1",t.Druid2="Druid2",t.BladeMaster1="BladeMaster1",t.CrowKnight1="CrowKnight1",t.HarpyKing="HarpyKing",t.GolemKing="GolemKing",t))(rI||{
+ ),fx=(t=>(t.ElfTown5="ElfTown5",t.NWolf="NWolf",t.HorseKnight1="HorseKnight1",t.SkeletonX1="SkeletonX1",t.SkeletonMan1="SkeletonMan1",t.SkeletonMan2="SkeletonMan2",t.SkeletonWarrior1="SkeletonWarrior1",t.GreatHammer1="GreatHammer1",t.ElfArcher1="ElfArcher1",t.HighArcher1="HighArcher1",t.FootMan1="FootMan1",t.Gunner1="Gunner1",t.ElfWarrior1="ElfWarrior1",t.ElfSwordMan1="ElfSwordMan1",t.OrcFighter1="OrcFighter1",t.OrcSpearMan1="OrcSpearMan1",t.OrcHammer1="OrcHammer1",t.OrcHunter1="OrcHunter1",t.OrcIceMage1="OrcIceMage1",t.HeavyWarrior1="HeavyWarrior1",t.HammerKnight1="HammerKnight1",t.PoisonArcher1="PoisonArcher1",t.FireBird1="FireBird1",t.GreenEagle1="GreenEagle1",t.WindMage1="WindMage1",t.OrcFlower="OrcFlower",t.BlackMage1="BlackMage1",t.DarkMage1="DarkMage1",t.Priest1="Priest1",t.Fairy1="Fairy1",t.Ghost1="Ghost1",t.DarkArcher1="DarkArcher1",t.OrcWing1="OrcWing1",t.OrcAxe1="OrcAxe1",t.BigDrumer1="BigDrumer1",t.OrcWolfRider1="OrcWolfRider1",t.OrcBigFoot1="OrcBigFoot1",t.OrcBlizzardMage1="OrcBlizzardMage1",t.FlowerSoldier1="FlowerSoldier1",t.FlowerSoldier2="FlowerSoldier2",t.KingSlime="KingSlime",t.SlimeBlue="SlimeBlue",t.SlimeRed="SlimeRed",t.SlimeYellow="SlimeYellow",t.HammerMole="HammerMole",t.MoleSoldier1="MoleSoldier1",t.MoleSoldier2="MoleSoldier2",t.DarkHermit="DarkHermit",t.Crab="Crab",t.StarFish="StarFish",t.Unicorn1="Unicorn1",t.IceWolf="IceWolf",t.GoldGoblin="GoldGoblin",t.AdsGoblin="AdsGoblin",t.DeathKnight1="DeathKnight1",t.Golem1="Golem1",t.GreatMage1="GreatMage1",t.Ant1="Ant1",t.WolfWarrior1="WolfWarrior1",t.Artillery1="Artillery1",t.Bomber1="Bomber1",t.DeathHand1="DeathHand1",t.SSlime1="SSlime1",t.SSlime2="SSlime2",t.SSlime3="SSlime3",t.OrcIcePhantom1="OrcIcePhantom1",t.Pilot1="Pilot1",t.Spider1="Spider1",t.Spider2="Spider2",t.Boar1="Boar1",t.Boar2="Boar2",t.RoboBomb1="RoboBomb1",t.RoboBomb2="RoboBomb2",t.Frog1="Frog1",t.Frog2="Frog2",t.OrcRapterRider1="OrcRapterRider1",t.WyvernRider1="WyvernRider1",t.DarkNinja1="DarkNinja1",t.Succubus1="Succubus1",t.Druid1="Druid1",t.TigerRider1="TigerRider1",t.GriffinRider1="GriffinRider1",t.SteamPunk1="SteamPunk1",t.Castle0="Castle0",t.Castle1="Castle1",t.Castle2="Castle2",t.WingKnight1="WingKnight1",t.Abyss1="Abyss1",t.Sylphid1="Sylphid1",t.Aladin1="Aladin1",t.Druid2="Druid2",t.BladeMaster1="BladeMaster1",t.CrowKnight1="CrowKnight1",t.ScorpionKing="ScorpionKing",t.HarpyKing="HarpyKing",t.GolemKing="GolemKing",t))(fx||{
BuffManager 1 hunks, 1 statements
- return s}
+ return"pluslv"===i&&(s+=DN.getSylphidPlusLvContribution()),s}
DataManager 1 hunks, 1 statements
- zt(this,"system"),zt(this,"account"),zt(this,"user"),zt(this,"mail"),zt(this,"book"),zt(this,"castle"),zt(this,"hero"),zt(this,"quest"),zt(this,"waveCall"),zt(this,"referral"),zt(this,"dailyRanking"),zt(this,"payback"),zt(this,"pvp"),zt(this,"dungeon"),zt(this,"treasure"),zt(this,"achievement"),zt(this,"shop"),zt(this,"ads"),zt(this,"notice"),zt(this,"notice2"),zt(this,"attendance"),zt(this,"pass"),zt(this,"tower"),zt(this,"missionGuide"),zt(this,"promotion"),zt(this,"guild"),zt(this,"guildWar"),zt(this,"guildDefense"),zt(this,"guildBarracks"),zt(this,"battle"),zt(this,"pet"),zt(this,"petShop"),zt(this,"spirit"),zt(this,"heroPresent"),zt(this,"vip"),zt(this,"miniGame"),zt(this,"assistant"),zt(this,"subscription"),zt(this,"soulRest"),zt(this,"translate"),zt(this,"dailyQuest"),zt(this,"lineNext"),zt(this,"mine"),this.system=new CR,this.account=new mP,this.user=new IR,this.mail=new eR,this.book=new DP,this.castle=new BP,this.hero=new iR,this.quest=new bR,this.waveCall=new VR,this.dailyRanking=new FP,this.referral=new _R,this.payback=new fR,this.pvp=new wR,this.dungeon=new jP,this.treasure=new OR,this.achievement=new vP,this.shop=new ER,this.ads=new yP,this.notice=new oR,this.notice2=new cR,this.attendance=new NP,this.pass=new uR,this.tower=new TR,this.missionGuide=new hR,this.promotion=new gR,this.guild=new $P,this.guildWar=new XP,this.guildDefense=new JP,this.guildBarracks=new ZP,this.battle=new RP,this.pet=new LR,this.petShop=new GR,this.spirit=new HR,this.heroPresent=new PR,this.vip=new WR,this.miniGame=new UR,this.assistant=new MP,this.subscription=new xP,this.soulRest=new AP,this.translate=new SP,this.dailyQuest=new kP,this.lineNext=new zR,this.mine=new XR}
+ zt(this,"system"),zt(this,"account"),zt(this,"user"),zt(this,"mail"),zt(this,"book"),zt(this,"castle"),zt(this,"hero"),zt(this,"quest"),zt(this,"waveCall"),zt(this,"referral"),zt(this,"dailyRanking"),zt(this,"payback"),zt(this,"pvp"),zt(this,"dungeon"),zt(this,"treasure"),zt(this,"achievement"),zt(this,"shop"),zt(this,"ads"),zt(this,"notice"),zt(this,"notice2"),zt(this,"attendance"),zt(this,"pass"),zt(this,"tower"),zt(this,"missionGuide"),zt(this,"promotion"),zt(this,"guild"),zt(this,"guildWar"),zt(this,"guildRaid"),zt(this,"guildDefense"),zt(this,"guildBarracks"),zt(this,"battle"),zt(this,"pet"),zt(this,"petShop"),zt(this,"spirit"),zt(this,"heroPresent"),zt(this,"vip"),zt(this,"miniGame"),zt(this,"assistant"),zt(this,"subscription"),zt(this,"soulRest"),zt(this,"translate"),zt(this,"dailyQuest"),zt(this,"lineNext"),zt(this,"mine"),this.system=new DR,this.account=new EP,this.user=new HR,this.mail=new fR,this.book=new jP,this.castle=new VP,this.hero=new uR,this.quest=new OR,this.waveCall=new iD,this.dailyRanking=new zP,this.referral=new xR,this.payback=new ER,this.pvp=new TR,this.dungeon=new XP,this.treasure=new UR,this.achievement=new SP,this.shop=new PR,this.ads=new TP,this.notice=new wR,this.notice2=new bR,this.attendance=new UP,this.pass=new _R,this.tower=new GR,this.missionGuide=new gR,this.promotion=new SR,this.guild=new JP,this.guildWar=new eR,this.guildRaid=new hR,this.guildDefense=new oR,this.guildBarracks=new cR,this.battle=new HP,this.pet=new VR,this.petShop=new zR,this.spirit=new JR,this.heroPresent=new jR,this.vip=new ZR,this.miniGame=new XR,this.assistant=new OP,this.subscription=new GP,this.soulRest=new xP,this.translate=new PP,this.dailyQuest=new DP,this.lineNext=new eD,this.mine=new hD}
MembershipVO 1 hunks, 1 statements
- ),zt(dL,"currentPage",0),zt(dL,"currentSearch",""),zt(dL,"totalGuilds",0),zt(dL,"noticeList",[]),zt(dL,"logList",[]),zt(dL,"lastLogFetchTime",0),zt(dL,"LOG_CACHE_MS",6e4),zt(dL,"loadedMessageTimes",[0,0,0]),zt(dL,"_chatListenersInitialized",!1),zt(dL,"onMessageHandler"),zt(dL,"onConnectHandler");
+ ),zt(AD,"currentPage",0),zt(AD,"currentSearch",""),zt(AD,"totalGuilds",0),zt(AD,"noticeList",[]),zt(AD,"logList",[]),zt(AD,"lastLogFetchTime",0),zt(AD,"LOG_CACHE_MS",6e4),zt(AD,"loadedMessageTimes",[0,0,0]),zt(AD,"_chatListenersInitialized",!1),zt(AD,"onMessageHandler"),zt(AD,"onConnectHandler"),zt(AD,"isTournamenEntered",!1),zt(AD,"roundSchedule"),zt(AD,"tournamentList",[]),zt(AD,"bookRewardLoaded",!1),zt(AD,"rewardBattleList",[]),zt(AD,"rewardServerList",[]);
BaseEffect 1 hunks, 1 statements
- var DK=(t=>(t.MagicalHitEffect="MagicalHitEffect",t.PhysicalHitEffect="PhysicalHitEffect",t.CriticalEffect="CriticalEffect",t.MissEffect="MissEffect",t.BlockEffect="BlockEffect",t.EvadeEffect="EvadeEffect",t.AkEffect="AkEffect",t.HukEffect="HukEffect",t.PakEffect="PakEffect",t.YapEffect="YapEffect",t.StunImmuneEffect="StunImmuneEffect",t.FreezeImmuneEffect="FreezeImmuneEffect",t.KnockbackImmuneEffect="KnockbackImmuneEffect",t.MagicalImmuneEffect="MagicalImmuneEffect",t.PhysicalImmuneEffect="PhysicalImmuneEffect",t.HumanSkillEffect="HumanSkillEffect",t.ElfSkillEffect="ElfSkillEffect",t.UndeadSkillEffect="UndeadSkillEffect",t.OrcSkillEffect="OrcSkillEffect",t.CurseEffect="CurseEffect",t.PowerShieldEffect="PowerShieldEffect",t.PhysicalShieldEffect="PhysicalShieldEffect",t.MagicalShieldEffect="MagicalShieldEffect",t.SilenceEffect="SilenceEffect",t.FreezeEffectL="FreezeEffectL",t.FreezeEffectM="FreezeEffectM",t.FreezeEffectS="FreezeEffectS",t.StunEffect="StunEffect",t.PoisonGreenEffect="PoisonGreenEffect",t.DarkArcherSkillEffect1="DarkArcherSkillEffect1",t.OrcIceExplodeEffect="OrcIceExplodeEffect",t.DeathHandSkillEffect1="DeathHandSkillEffect1",t.BomberBigBombExplode1="BomberBigBombExplode1",t.BomberSmallBombExplode1="BomberSmallBombExplode1",t.BlackMageBallExplode1="BlackMageBallExplode1",t.OrcHunterEvadeBuff="OrcHunterEvadeBuff",t.AggroEffect="AggroEffect",t.PriestLightEffect="PriestLightEffect",t.PriestStartEffect="PriestStartEffect",t.PriestShieldEffect="PriestShieldEffect",t.FairyWingEffect="FairyWingEffect",t.BindingEffect="BindingEffect",t.RockExplode="RockExplode",t.Smoke="Smoke",t.EvolEffect="EvolEffect",t.EvolEffect2="EvolEffect2",t.CastleFire1="CastleFire1",t.CastleFire2="CastleFire2",t.StoneEffect1="StoneEffect1",t.FireBallExplode="FireBallExplode",t.PilotMissileSmoke1="PilotMissileSmoke1",t.FireExplode="FireExplode",t.AntRockExplode="AntRockExplode",t.IceExplode2="IceExplode2",t.HealYellow="HealYellow",t.ElectricEffect="ElectricEffect",t.RoboExplode="RoboExplode",t.SuccubusLove="SuccubusLove",t.SuccubusEffect1="SuccubusEffect1",t.FallInLoveEffect="FallInLoveEffect",t.Accelerate="Accelerate",t.ElfGlowing1="ElfGlowing1",t.ElfMagicCircle1="ElfMagicCircle1",t.ElfExplodeEffect1="ElfExplodeEffect1",t.ElfBindEffect1="ElfBindEffect1",t.AbyssLightning1="AbyssLightning1",t.AbyssSkillExplosion1="AbyssSkillExplosion1",t.JudegmentMarkEffect1="JudegmentMarkEffect1",t.UndeadLightningExplosion1="UndeadLightningExplosion1",t.FireExplosion1="FireExplosion1",t.FireExplosion2="FireExplosion2",t.AladinGenie1="AladinGenie1",t.DruidVine1="DruidVine1",t.CrowExplosion1="CrowExplosion1",t.BladeMasterAfterImage="BladeMasterAfterImage",t))(DK||{
+ var ZK=(t=>(t.MagicalHitEffect="MagicalHitEffect",t.PhysicalHitEffect="PhysicalHitEffect",t.CriticalEffect="CriticalEffect",t.MissEffect="MissEffect",t.BlockEffect="BlockEffect",t.EvadeEffect="EvadeEffect",t.AkEffect="AkEffect",t.HukEffect="HukEffect",t.PakEffect="PakEffect",t.YapEffect="YapEffect",t.StunImmuneEffect="StunImmuneEffect",t.FreezeImmuneEffect="FreezeImmuneEffect",t.KnockbackImmuneEffect="KnockbackImmuneEffect",t.MagicalImmuneEffect="MagicalImmuneEffect",t.PhysicalImmuneEffect="PhysicalImmuneEffect",t.HumanSkillEffect="HumanSkillEffect",t.ElfSkillEffect="ElfSkillEffect",t.UndeadSkillEffect="UndeadSkillEffect",t.OrcSkillEffect="OrcSkillEffect",t.CurseEffect="CurseEffect",t.PowerShieldEffect="PowerShieldEffect",t.PhysicalShieldEffect="PhysicalShieldEffect",t.MagicalShieldEffect="MagicalShieldEffect",t.SilenceEffect="SilenceEffect",t.FreezeEffectL="FreezeEffectL",t.FreezeEffectM="FreezeEffectM",t.FreezeEffectS="FreezeEffectS",t.StunEffect="StunEffect",t.PoisonGreenEffect="PoisonGreenEffect",t.DarkArcherSkillEffect1="DarkArcherSkillEffect1",t.OrcIceExplodeEffect="OrcIceExplodeEffect",t.DeathHandSkillEffect1="DeathHandSkillEffect1",t.BomberBigBombExplode1="BomberBigBombExplode1",t.BomberSmallBombExplode1="BomberSmallBombExplode1",t.BlackMageBallExplode1="BlackMageBallExplode1",t.OrcHunterEvadeBuff="OrcHunterEvadeBuff",t.AggroEffect="AggroEffect",t.PriestLightEffect="PriestLightEffect",t.PriestStartEffect="PriestStartEffect",t.PriestShieldEffect="PriestShieldEffect",t.FairyWingEffect="FairyWingEffect",t.BindingEffect="BindingEffect",t.RockExplode="RockExplode",t.Smoke="Smoke",t.EvolEffect="EvolEffect",t.EvolEffect2="EvolEffect2",t.CastleFire1="CastleFire1",t.CastleFire2="CastleFire2",t.StoneEffect1="StoneEffect1",t.FireBallExplode="FireBallExplode",t.PilotMissileSmoke1="PilotMissileSmoke1",t.FireExplode="FireExplode",t.AntRockExplode="AntRockExplode",t.IceExplode2="IceExplode2",t.HealYellow="HealYellow",t.ElectricEffect="ElectricEffect",t.RoboExplode="RoboExplode",t.SuccubusLove="SuccubusLove",t.SuccubusEffect1="SuccubusEffect1",t.FallInLoveEffect="FallInLoveEffect",t.Accelerate="Accelerate",t.ElfGlowing1="ElfGlowing1",t.ElfMagicCircle1="ElfMagicCircle1",t.ElfExplodeEffect1="ElfExplodeEffect1",t.ElfBindEffect1="ElfBindEffect1",t.AbyssLightning1="AbyssLightning1",t.AbyssSkillExplosion1="AbyssSkillExplosion1",t.JudegmentMarkEffect1="JudegmentMarkEffect1",t.UndeadLightningExplosion1="UndeadLightningExplosion1",t.FireExplosion1="FireExplosion1",t.FireExplosion2="FireExplosion2",t.AladinGenie1="AladinGenie1",t.DruidVine1="DruidVine1",t.CrowExplosion1="CrowExplosion1",t.BladeMasterAfterImage="BladeMasterAfterImage",t.PoisonExplodeEffect="PoisonExplodeEffect",t))(ZK||{
WeaponFactory 1 hunks, 1 statements
- [IX.NormalArrow]:XX,[IX.EnergyBall]:HX,[IX.SpeedArrow]:ZX,[IX.Bullet1]:hY,[IX.OrcSpearmanSpear1]:uY,[IX.OrcIceMageFire1]:cY,[IX.PoisonArcherArrow1]:JX,[IX.GreenEagleBall1]:VX,[IX.BlackMageBall1]:gY,[IX.DarkMageBall1]:bY,[IX.DarkMageSkillBall1]:_Y,[IX.GreenEnergyBall]:zX,[IX.YellowEnergyBall]:eY,[IX.FairyMusicNote]:WX,[IX.GhostBall1]:EY,[IX.DarkArcherArrow1]:wY,[IX.OrcWingBall1]:fY,[IX.OrcAxeBall1]:oY,[IX.FlowerBullet]:LX,[IX.Rock]:UX,[IX.DarkHermitMissile]:GX,[IX.Pearl]:CY,[IX.Twist]:iY,[IX.UniArrow]:TY,[IX.PowerArrow]:OY,[IX.OrcBlizzardMageRain1]:IY,[IX.FireMagicBall1]:PY,[IX.FireMageBird1]:LY,[IX.BomberSmallBomb1]:GY,[IX.BomberBigBomb1]:UY,[IX.IceFlake]:HY,[IX.FireBirdBall1]:WY,[IX.BlackMageDarkBall1]:VY,[IX.PoisonArcherArrowSkill1]:XY,[IX.OrcIceMageFireSkill1]:zY,[IX.PilotMissile1]:JY,[IX.FireBullet]:ZY,[IX.AntRock1]:iJ,[IX.SpeedArrow2]:eJ,[IX.MoleFire]:hJ,[IX.OrcRapterRiderSpear1]:gJ,[IX.WyvernRiderThrowingKnife1]:uJ,[IX.WyvernRiderThrowingKnifeS1]:fJ,[IX.DarkChain1]:oJ,[IX.SuccubusBlade1]:cJ,[IX.DruidTangle1]:wJ,[IX.DruidDrill1]:bJ,[IX.TigerRiderArrow1]:_J,[IX.GriffinSpear1]:EJ,[IX.GriffinSuperSpear1]:CJ,[IX.SteamFire1]:TJ,[IX.SteamMissile1]:OJ,[IX.SylphidShuriken1]:IJ,[IX.SylphidTornado1]:PJ,[IX.AladinCoin1]:LJ,[IX.BladeWave1]:GJ,[IX.SpinBlade]:UJ,[IX.CrowKnightBullet1]:HJ,[IX.CrowCompanion1]:WJ,[IX.CrowGuidedBall1]:VJ,[IX.CrowFeatherShot1]:zJ}
+ [YX.NormalArrow]:pY,[YX.EnergyBall]:rY,[YX.SpeedArrow]:vY,[YX.Bullet1]:AY,[YX.OrcSpearmanSpear1]:IY,[YX.OrcIceMageFire1]:kY,[YX.PoisonArcherArrow1]:mY,[YX.GreenEagleBall1]:lY,[YX.BlackMageBall1]:RY,[YX.DarkMageBall1]:BY,[YX.DarkMageSkillBall1]:FY,[YX.GreenEnergyBall]:dY,[YX.YellowEnergyBall]:MY,[YX.FairyMusicNote]:aY,[YX.GhostBall1]:WY,[YX.DarkArcherArrow1]:LY,[YX.OrcWingBall1]:NY,[YX.OrcAxeBall1]:CY,[YX.FlowerBullet]:tY,[YX.Rock]:nY,[YX.DarkHermitMissile]:sY,[YX.Pearl]:$Y,[YX.Twist]:yY,[YX.UniArrow]:KY,[YX.PowerArrow]:qY,[YX.OrcBlizzardMageRain1]:YY,[YX.FireMagicBall1]:QY,[YX.FireMageBird1]:tJ,[YX.BomberSmallBomb1]:sJ,[YX.BomberBigBomb1]:nJ,[YX.IceFlake]:rJ,[YX.FireBirdBall1]:aJ,[YX.BlackMageDarkBall1]:lJ,[YX.PoisonArcherArrowSkill1]:pJ,[YX.OrcIceMageFireSkill1]:dJ,[YX.PilotMissile1]:mJ,[YX.FireBullet]:vJ,[YX.AntRock1]:yJ,[YX.SpeedArrow2]:MJ,[YX.MoleFire]:AJ,[YX.OrcRapterRiderSpear1]:RJ,[YX.WyvernRiderThrowingKnife1]:IJ,[YX.WyvernRiderThrowingKnifeS1]:NJ,[YX.DarkChain1]:CJ,[YX.SuccubusBlade1]:kJ,[YX.DruidTangle1]:LJ,[YX.DruidDrill1]:BJ,[YX.TigerRiderArrow1]:FJ,[YX.GriffinSpear1]:WJ,[YX.GriffinSuperSpear1]:$J,[YX.SteamFire1]:KJ,[YX.SteamMissile1]:qJ,[YX.SylphidShuriken1]:YJ,[YX.SylphidTornado1]:QJ,[YX.AladinCoin1]:tQ,[YX.BladeWave1]:sQ,[YX.SpinBlade]:nQ,[YX.CrowKnightBullet1]:rQ,[YX.CrowCompanion1]:aQ,[YX.CrowGuidedBall1]:lQ,[YX.CrowFeatherShot1]:dQ,[YX.ScorpionPoisonBullet]:gQ,[YX.ScorpionPoisonArea]:bQ,[YX.HarpyFeather]:_Q,[YX.HarpyTornado]:EQ}
HeroIcon 1 hunks, 1 statements
- ),$5=(t=>(t.gem="gem",t.redGem="redGem",t.gold="gold",t.medal="medal",t.honorCoin="honorCoin",t.guildPoint="guildPoint",t.guildCoin="guildCoin",t.raidCoin="raidCoin",t.hammer="hammer",t.hero="hero",t.instant="instant",t.ticket="ticket",t.pet="pet",t.petTicket="petTicket",t.petSelect="petSelect",t.heroGacha="heroGacha",t.heroSelect="heroSelect",t.treasureGacha="treasureGacha",t))($5||{
+ ),_3=(t=>(t.gem="gem",t.redGem="redGem",t.gold="gold",t.medal="medal",t.honorCoin="honorCoin",t.guildPoint="guildPoint",t.guildCoin="guildCoin",t.raidCoin="raidCoin",t.hammer="hammer",t.hero="hero",t.instant="instant",t.ticket="ticket",t.pet="pet",t.petTicket="petTicket",t.petSelect="petSelect",t.heroGacha="heroGacha",t.heroSelect="heroSelect",t.heroTrans="heroTrans",t.treasureGacha="treasureGacha",t.treasureTrans="treasureTrans",t))(_3||{
RewardItem 1 hunks, 1 statements
- t==$5.gem?(r="UI_SHOP_GEM",h=.85):t==$5.redGem?(r="UI_SHOP_RED_GEM",h=.83):t==$5.gold?(r="m_gold",h=.7):t==$5.honorCoin?(r="UI_COIN_Big",h=.8):t==$5.guildCoin||t==$5.guildPoint?(r="GUILD_COIN",h=1.6):t==$5.raidCoin?(r="RaidCoin_on",h=1.5):t==$5.hammer?(r="Icon_Hammer",o="UI",h=1.6):"dungeonTicket"==t?(r="DungeonTick",h=.8):t==$5.hero?(this.heroIcon.setDataWithKindNum(e),this.heroIcon.visible=!0):t==$5.ticket&&n==$5.heroGacha?r="Ticket_HeroGacha":t==$5.ticket&&n==$5.heroSelect?(r="Ticket_HeroSelect",h=.85):t==$5.pet?(this.petIcon.setPet(e,1),this.petIcon.visible=!0):t==$5.petTicket||n==$5.petTicket||t==$5.ticket&&n==$5.pet?(r="PetTick",h=.9):t==$5.petSelect||n==$5.petSelect||t==$5.ticket&&n==$5.petSelect?(r="Ticket_PetSelect",h=.9):t==$5.ticket&&n==$5.treasureGacha&&(r="Ticket_TreasureGacha",h=.95),r&&(this.img.scale=h,this.img.texture=ZA.getTexture(o,r),this.img.visible=!0,this.bg.visible=!0),this.lblNum.text=String(i),this.updateLayout()}
+ t==_3.gem?(r="UI_SHOP_GEM",h=.85):t==_3.redGem?(r="UI_SHOP_RED_GEM",h=.83):t==_3.gold?(r="m_gold",h=.7):t==_3.honorCoin?(r="UI_COIN_Big",h=.8):t==_3.guildCoin||t==_3.guildPoint?(r="GUILD_COIN",h=1.6):t==_3.raidCoin?(r="RaidCoin_on",h=1.5):t==_3.hammer?(r="Icon_Hammer",o="UI",h=1.5):"dungeonTicket"==t?(r="DungeonTick",h=.8):t==_3.hero?(this.heroIcon.setDataWithKindNum(e),this.heroIcon.visible=!0):t==_3.ticket&&n==_3.heroGacha?r="Ticket_HeroGacha":t==_3.ticket&&n==_3.heroSelect?(r="Ticket_HeroSelect",h=.85):t==_3.ticket&&n==_3.heroTrans?r="Ticket_HeroTrans":t==_3.pet?(this.petIcon.setPet(e,1),this.petIcon.visible=!0):t==_3.petTicket||n==_3.petTicket||t==_3.ticket&&n==_3.pet?(r="PetTick",h=.9):t==_3.petSelect||n==_3.petSelect||t==_3.ticket&&n==_3.petSelect?(r="Ticket_PetSelect",h=.9):t==_3.ticket&&n==_3.treasureGacha?(r="Ticket_TreasureGacha",h=.95):t==_3.ticket&&n==_3.treasureTrans&&(r="Ticket_TreasureTrans6"),r&&(this.img.scale=h,this.img.texture=ZA.getTexture(o,r),this.img.visible=!0,this.bg.visible=!0),this.lblNum.text=String(i),this.updateLayout()}
BuffStatusPopup 1 hunks, 1 statements
- if(n)if(t=[...OI.getInstance().getContributors(o)],o===TI.GodBless){
+ if(n)if(t=[...Lx.getInstance().getContributors(o)],o===Rx.GodBless){
PetListSubView 1 hunks, 1 statements
- const t=[...cI.getInstance().list].sort((t,i)=>i.grade!==t.grade?i.grade-t.grade:i.piece-t.piece),i=t.map(t=>t.kindNum);
+ const t=[...mx.getInstance().list].sort((t,i)=>i.grade!==t.grade?i.grade-t.grade:i.piece-t.piece),i=t.map(t=>t.kindNum);
PetSelectPopup 1 hunks, 1 statements
- const t=[...cI.getInstance().list].sort((t,i)=>i.grade!==t.grade?i.grade-t.grade:i.piece-t.piece).map(t=>t.kindNum);
+ const t=[...mx.getInstance().list].sort((t,i)=>i.grade!==t.grade?i.grade-t.grade:i.piece-t.piece).map(t=>t.kindNum);
FavoritePetSubView 1 hunks, 1 statements
- const t=[...nD.getInstance().favoritePets].sort((t,i)=>{
+ const t=[...mL.getInstance().favoritePets].sort((t,i)=>{
TreasureInventorySubView 1 hunks, 1 statements
- const t=[...HI.getInstance().ownedList];
+ const t=[...qx.getInstance().ownedList];
TreasureSubView 1 hunks, 1 statements
- const t=[...HI.getInstance().equipedList];
+ const t=[...qx.getInstance().equipedList];
Sr 1 hunks, 1 statements
- ...t,...lut(i)}
+ ...t,...edt(i)}
Ma 1 hunks, 1 statements
- ..._gt,coercer:Kt((t,i)=>Ppt(t,Mgt)?_gt.coercer(Egt(t,i),i):_gt.coercer(t,i),"coercer")}
+ ...pmt,coercer:Kt((t,i)=>Cgt(t,gmt)?pmt.coercer(mmt(t,i),i):pmt.coercer(t,i),"coercer")}
Yp 1 hunks, 1 statements
- const e=126,n=[71,73,70,56,55,97,...i,246,0,0,255,255,255,...eEt(381,0),44,0,0,0,0,...i,0,7],h=Math.floor(s.length/e);
+ const e=126,n=[71,73,70,56,55,97,...i,246,0,0,255,255,255,...YEt(381,0),44,0,0,0,0,...i,0,7],h=Math.floor(s.length/e);
SuiStandardProvider 1 hunks, 1 statements
- namespace:pIt.NameSpaceKeyEip155,addresses:i,methods:[...wIt.Eip55Methods],extra:s}
+ namespace:oNt.NameSpaceKeyEip155,addresses:i,methods:[...lNt.Eip55Methods],extra:s}
AppReadyEvent 1 hunks, 1 statements
- return UNt||(UNt=[...PNt]),UNt}
+ return NPt||(NPt=[...CPt]),NPt}
SolProvider 1 hunks, 1 statements
- namespace:$Rt.NameSpaceKeySOL,addresses:i,methods:[...qRt.SOLANAMethods],extra:s}
+ namespace:GDt.NameSpaceKeySOL,addresses:i,methods:[...HDt.SOLANAMethods],extra:s}
OkxwalletInjectConnector 1 hunks, 1 statements
- namespace:MLt.NameSpaceKeyBtc,addresses:i,methods:[...ALt.BtcMethods],extra:s}
+ namespace:gLt.NameSpaceKeyBtc,addresses:i,methods:[...wLt.BtcMethods],extra:s}
TcRootElement 1 hunks, 1 statements
- return vKt()||(t.push(new REt.OKXAppConnector),t.push(new REt.OKXWalletAppConnector)),mKt()&&t.push(new REt.OkxwalletInjectConnector),t.push(...yKt()),t}
+ return uzt()||(t.push(new TAt.OKXAppConnector),t.push(new TAt.OKXWalletAppConnector)),czt()&&t.push(new TAt.OkxwalletInjectConnector),t.push(...fzt()),t}
OKXConnectError2 1 hunks, 1 statements
- Kt(Kqt,"copyToClipboard$1"),Kt(zqt,"fallbackCopyTextToClipboard");
+ Kt(UXt,"copyToClipboard"),Kt(FXt,"fallbackCopyTextToClipboard");
WalletSelectPopup 1 hunks, 1 statements
- ...tL.ERROR_POPUP_LABEL_OPTION,fontSize:18}
+ ...lD.ERROR_POPUP_LABEL_OPTION,fontSize:18}
GuildMainSubView 1 hunks, 1 statements
- const i=[...fL.guildList].sort((t,i)=>{
+ const i=[...SD.guildList].sort((t,i)=>{
GuildWarHistoryItemRenderer 1 hunks, 1 statements
- ...tL.DEFAULT_OUTLINE_FONT_OPTION_16,fontSize:i}
+ ...lD.DEFAULT_OUTLINE_FONT_OPTION_16,fontSize:i}
GameOverPopup 1 hunks, 1 statements
- await JR.getInstance().guildWar.getCurrent(fL.myGuildId,!1,!0),VN.getInstance().recalculate()}
+ await oD.getInstance().guildWar.getGuildWarBuff(),QN.getInstance().recalculate()}
TopMenu 1 hunks, 1 statements
- const n=.001*(uD.godBlessEndTime-t),h=s+(n>0?3:0)+.01*VN.getInstance().getGameplayTotal(TI.GameSpeed);
+ const n=.001*(EL.godBlessEndTime-t),h=s+(n>0?3:0)+.01*(QN.getInstance().getGameplayTotal(Rx.GameSpeed)+DN.getBarracksGameSpeedContribution());
GoldLayer 1 hunks, 1 statements
- ...Lt.DEFAULT_OPTIONS,...i}
+ ...Dt.DEFAULT_OPTIONS,...i}
GuildWarCombatLogItemRenderer 1 hunks, 1 statements
- ...tL.DEFAULT_FONT_OPTION_15,fontSize:14}
+ ...lD.DEFAULT_FONT_OPTION_15,fontSize:14}
GuildWarMemberStatusItemRenderer 1 hunks, 1 statements
- ...tL.DEFAULT_FONT_OPTION_15,fontSize:14}
+ ...lD.DEFAULT_FONT_OPTION_15,fontSize:14}
GuildWarTargetMarkerItemRenderer 1 hunks, 1 statements
- ...tL.DEFAULT_FONT_OPTION_15,fontSize:14}
+ ...lD.DEFAULT_FONT_OPTION_15,fontSize:14}
GameSpeedBuffPopup 1 hunks, 1 statements
- const n=.001*(uD.godBlessEndTime-t)>0?300:0,h=VN.getInstance().treasure.getGameplayBuff(xN.GameSpeed),r=OI.getInstance().getTotal(TI.GameSpeed),o=Math.round(100*VN.getInstance().pet.getGameplayBuff(xN.GameSpeed))/100,a=e+n+h+r+o;
+ const n=.001*(EL.godBlessEndTime-t)>0?300:0,h=QN.getInstance().treasure.getGameplayBuff(GN.GameSpeed),r=Lx.getInstance().getTotal(Rx.GameSpeed)+DN.getBarracksGameSpeedContribution(),o=Math.round(100*QN.getInstance().pet.getGameplayBuff(GN.GameSpeed))/100,a=e+n+h+r+o;
AttendancePopup 1 hunks, 1 statements
- ,void 0),s=t.getAssetPath("attendanceChar.png"),e=await i.load(s);
+ ,void 0),s=t.getAssetPath("CharAttendance.png"),e=await i.load(s);
Delay 1 hunks, 1 statements
- ...gli(),[i]:s}
+ ...Uui(),[i]:s}
NetworkTimeout 1 hunks, 1 statements
- ...Uli,...i}
+ ...cdi,...i}
RecaptchaVerifier 1 hunks, 1 statements
- ...ygi}
+ ...$mi}
BrowserPopupRedirectResolver 1 hunks, 1 statements
- ...Ami,width:e.toString(),height:n.toString(),top:h,left:r}
+ ...qwi,width:e.toString(),height:n.toString(),top:h,left:r}