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
| Key | Text | |
|---|---|---|
| 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 | ~ |
|
| PRODUCT_NAME_179 | ~ |
|
| PRODUCT_NAME_180 | ~ |
|
| PRODUCT_NAME_181 | ~ |
|
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
- added:
GUILD_RAID - added:
GUILD_WAR_TOURNAMENT_REWARD
Assets 46
Code 484 changes in 159 classes
Minified client code with short names blanked for diffing. Class names are real.
- DailyRankingItemRenderer 1231
- Block 767
- GuildRaidBookVO 664
- GuildWarTeamSlot2 371
- BookManager 369
- ProfilePopup 291
- RaidBattleController 265
- EventDataManager 218
- ScorpionKing 173
- ScorpionPoisonBullet 172
- BattleItemRenderer 160
- CorpCameraController 140
- DebugBox 139
- HarpyKing 128
- RaidHud 123
- GolemKing 104
- BaseRaidUnit 101
- DailyQuestPopup 51
- PetAwakeningEffects 46
- GuildRaidService 45
- GuildManager 45
- GuildWarMainView 40
- ShopGuideSecretary 38
- GuildWarBattlePopupV3 38
- ServerStatusManager 36
- GuildWarService 35
- URLManager 31
- BaseGuidePopup 31
- ShopDataManager 31
- MedalEventPopup 27
- CorpFlagCommander 27
- DailyMilestoneItem 27
- RewardController 24
- GuildQuestItemRenderer 23
- ShopPayItemRenderer 19
- ShopPaySubView 19
- GsapUtil 18
- RaidCrossbow 18
- TreasureDetailPopup 18
- BaseUnit 17
- GuildWarTournamentGuidePopup 17
- GuildWarSquadsPopup 17
- CorpFlag 16
- SecretaryGuidePopup 16
- GuildWarBuffSource 15
- GuildBarracksRaceView 15
- GuildQuestSubView 15
- TreasureBuffAccessor 13
- GuildWarBattleReadyPopup 13
- CommonIconToast 10
- FriendInviteRewardPopup 10
- BaseBattleController 9
- RightMenu 9
- TutorialController 9
- GuildBarrackRowItemRenderer 9
- BasePopup3 8
- FavoritePetCell 8
- CitadelSubView 8
- PoisonExplodeEffect 7
- AppsFlyerManager 7
- BatchableSprite 5
- MarkerText 5
- PassMainPopup 5
- GuildWarActiveItemRenderer 5
- LocalDataManager 4
- PassDataManager 4
- HelpDetailPopup 4
- ShopView 4
- BattleSubView 4
- PassNavigator 4
- GuildWarSubMenu 4
- BattleController 4
- Archery2GameScene 4
- PassRewardManager 3
- BasePopup 3
- BasePopup2 3
- TerrainGrid 3
- ShopProductPopup 3
- PetShopItemRenderer 3
- RightBottomMenus 3
- TreasureItemRenderer 3
- SHA256 3
- SuiProvider 3
- WalletPopup 3
- GuildWarPopup 3
- GameSpeedPopup 3
- OfflinePopup 3
- SoulRestGuidePopup 2
- HeroUpgradeManager 2
- BaseWeapon 2
- UnitFactory 2
- HeroDrawGuidePopup 2
- TreasureDrawGuidePopup 2
- PaymentEventGuidePopup 2
- HeroHireGuidePopup 2
- HeroGuidePopup 2
- PetPointGuidePopup 2
- SpriteLandGuidePopup 2
- TowerGuidePopup 2
- DungeonGuidePopup 2
- PVPRankSubView 2
- TreasureTransGuidePopup 2
- TreasureBookPopup 2
- TreasureGuidePopup 2
- InventoryPopup 2
- GuildWarGuidePopup 2
- QuestGuidePopup 2
- BattleManager 2
- GuildBarrackRowVO 2
- DefenseFormationGuidePopup 2
- GuildWarTierAssignPopup 2
- ArcheryGameGuidePopup 2
- ColorMatrixFilter 1
- HTMLTextStyle 1
- RenderTexture 1
- CanvasRenderer 1
- GlGeometryGpuData 1
- GlColorMaskSystem 1
- WebGLRenderer 1
- WebGPURenderer 1
- VersionManager 1
- PetDataManager 1
- BuffManager 1
- DataManager 1
- MembershipVO 1
- BaseEffect 1
- WeaponFactory 1
- HeroIcon 1
- RewardItem 1
- BuffStatusPopup 1
- PetListSubView 1
- PetSelectPopup 1
- FavoritePetSubView 1
- TreasureInventorySubView 1
- TreasureSubView 1
- Sr 1
- Ma 1
- Yp 1
- SuiStandardProvider 1
- AppReadyEvent 1
- SolProvider 1
- OkxwalletInjectConnector 1
- TcRootElement 1
- OKXConnectError2 1
- WalletSelectPopup 1
- GuildMainSubView 1
- GuildWarHistoryItemRenderer 1
- GameOverPopup 1
- TopMenu 1
- GoldLayer 1
- GuildWarCombatLogItemRenderer 1
- GuildWarMemberStatusItemRenderer 1
- GuildWarTargetMarkerItemRenderer 1
- GameSpeedBuffPopup 1
- AttendancePopup 1
- Delay 1
- NetworkTimeout 1
- RecaptchaVerifier 1
- BrowserPopupRedirectResolver 1
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"}
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}















