Builds / 1.14.2
Update 1.14.2
Compared with 1.13.89 · published Mon, 31 Aug 2026 08:41:00 GMT · live channel
No summary yet.
Text changes 10
| Key | Text | |
|---|---|---|
| PET_NAME_1009 | + | Boo |
| PET_NAME_1010 | + | Llamy |
| PET_NAME_1011 | + | Harvey |
| PRODUCT_NAME_258 | + | Event Pet Package 1 (one-time only) |
| PRODUCT_NAME_259 | + | Event Pet Package 2 (one-time only) |
| PRODUCT_NAME_260 | + | Event Pet Package 3 (one-time only) |
| PRODUCT_NAME_261 | + | Event Pet Package 4 (one-time only) |
| PRODUCT_NAME_262 | + | Event Pet Package 5 (one-time only) |
| PRODUCT_NAME_263 | + | Event Pet Package 6 (one-time only) |
| QUEST_NAME_35 | ~ |
|
Translations touched: de (10), es (10), fr (10), id (10), it (10), ja (10), ko (13), pl (12), pt (10), ru (10), th (10), tr (10), vi (10), zh-CN (10), zh-TW (10)
Assets 7
Code 241 changes in 113 classes
Minified client code with short names blanked for diffing. Class names are real.
- ConquestDataManager 567
- EventBus 344
- ConquestStorageView 175
- ConquestWorldMapTabView 165
- ConquestWorldMapView 89
- ActiveSkillPopup 55
- FullscreenLayer 55
- WebGLContextRecovery 54
- GameUpdatePopup 35
- AttendanceAutoTrigger 35
- ReviveTeamDataManager 33
- TowerClearDeckPopup 23
- PetPopup 21
- AttestManager 20
- SettingGameInfo 18
- PowerSaveManager 17
- Mo 14
- RebirthMedalManager 13
- EmblemBookVO 10
- RightBottomMenus 9
- GuildChatManager 8
- GuildManager 8
- ChatTransport 8
- ActiveSkillMain 7
- GuildWarBattlePopupV3 7
- TreasureLimitBreakManager 6
- EmblemDataManager 6
- GpuGraphicsContext 5
- PassthroughFilter 5
- TreasureDetailPopup 5
- ReviveLayer 5
- PlayingCardRenderer 5
- UnitVO 4
- UserService 4
- GuildMainSubView 4
- GameOverPopup 4
- SoulRestEndConfirmPopup 4
- Archery2GameScene 4
- EkkorrGame 3
- SystemService 3
- SHA256 3
- SuiProvider 3
- WalletPopup 3
- Guild2InfoPopup 3
- RouletteSubView 3
- TilingSpriteShader 2
- BatchableSprite 2
- CanvasRenderer 2
- WebGLRenderer 2
- WebGPURenderer 2
- UnitDataManager 2
- RunInfo 2
- BaseUnit 2
- Th 2
- ChatOverlay 2
- ReviveTeamPopup 2
- BuffStatusPopup 2
- GuildBarrackRowItemRenderer 2
- GuildWarBattleReadyPopup 2
- GuildWarSquadsPopup 2
- GuildWarTierAssignPopup 2
- ObservablePoint 1
- CacheClass 1
- ApplicationInitHook 1
- Circle 1
- DefaultShader 1
- AssetsClass 1
- WorkerInstance 1
- HTMLTextStyle 1
- FrameLoopManager 1
- LocalDataManager 1
- VersionManager 1
- ServerErrorManager 1
- AutoTogglePill 1
- WyvernRider1 1
- WingKnight1 1
- Druid1 1
- Succubus1 1
- Abyss1 1
- Sylphid1 1
- Sr 1
- Bo 1
- Ko 1
- Es 1
- Ma 1
- Yp 1
- SuiStandardProvider 1
- AppReadyEvent 1
- SolProvider 1
- OkxwalletInjectConnector 1
- TcRootElement 1
- WalletSelectPopup 1
- HeroDetailPopup 1
- TreasureBookPopup 1
- TreasureInventorySubView 1
- TreasureItemRenderer 1
- PetListSubView 1
- TowerReadyPopup 1
- FavoritePetSubView 1
- TreasureSubView 1
- GuildBarracksRaceView 1
- GuildRaidBattleReadyPopup 1
- GuildWarHistoryItemRenderer 1
- GuildWarTournamentRewardGuidePopup 1
- BattleController 1
- GuildWarCombatLogItemRenderer 1
- GuildWarMemberStatusItemRenderer 1
- GuildWarTargetMarkerItemRenderer 1
- ArcheryStuckArrow 1
- Delay 1
- NetworkTimeout 1
- RecaptchaVerifier 1
- BrowserPopupRedirectResolver 1
ConquestDataManager 11 hunks, 567 statements
+ static async fetchChecked(t){ + const i=await fetch(t),s=i.headers.get("content-type")??""; + if(!i.ok||s.includes("text/html"))throw new Error(`정복 리소스 로드 실패 (${ + i.status} + ${ + s.includes("text/html")?", html 폴백":""} + ): ${ + t} + `); + return i}
- const[t,i,s]=await Promise.all([fetch(this.url("regionMetadata.json")).then(t=>t.json()),fetch(this.url("regionGameData.draft.json")).then(t=>t.json()),fetch(this.url("regionIdR8.png")).then(t=>t.blob())]); + const[t,i,s]=await Promise.all([this.fetchChecked(this.url("regionMetadata.json")).then(t=>t.json()),this.fetchChecked(this.url("regionGameData.draft.json")).then(t=>t.json()),this.fetchChecked(this.url("regionIdR8.png")).then(t=>t.blob())]);
- this.idMask=await this.decodeIdMask(s,t.width,t.height),this.buildBBoxes(),this.startRegion&&!this.isConquered(this.startRegion)&&this.setConquered(this.startRegion,!0)} + this.idMask=await this.decodeIdMask(s,t.width,t.height),this.buildBBoxes()}
- static async decodeIdMask(t,i,s){ - let e; - try{ - e=await createImageBitmap(t,{ + static decodeBlob(t,i){ + return createImageBitmap(t,{
- )} - catch{ - e=await new Promise((i,s)=>{ + ).catch(()=>new Promise((s,e)=>{
- e.onload=()=>i(e),e.onerror=s,e.src=URL.createObjectURL(t)} - )} - const n=document.createElement("canvas"); + n.onload=()=>s(n),n.onerror=()=>e(new Error(`정복 이미지 디코드 실패: ${ + i} + `)),n.src=URL.createObjectURL(t)} + ))} + static async decodeIdMask(t,i,s){ + const e=await this.decodeBlob(t,"regionIdR8.png"),n=document.createElement("canvas");
- static get conquered(){ - if(!this.conqueredSet)try{ - const t=localStorage.getItem(this.CONQUERED_LS_KEY); - this.conqueredSet=new Set(t?JSON.parse(t):[])} - catch{ - this.conqueredSet=new Set} - return this.conqueredSet} - static isConquered(t){ - return this.conquered.has(t)} - static setConquered(t,i){ - if(i||t!==this.startRegion){ - i?this.conquered.add(t):this.conquered.delete(t); - try{ - localStorage.setItem(this.CONQUERED_LS_KEY,JSON.stringify([...this.conquered]))} - catch{ - } - } - }
- const t=await fetch(this.url("worldMapBase.png")).then(t=>t.blob()); - let i; - try{ - i=await createImageBitmap(t,{ - colorSpaceConversion:"none",premultiplyAlpha:"none"} - )} - catch{ - i=await new Promise((i,s)=>{ - const e=new Image; - e.onload=()=>i(e),e.onerror=s,e.src=URL.createObjectURL(t)} - )} - const s=document.createElement("canvas"); + const t=await this.fetchChecked(this.url("worldMapBase.png")).then(t=>t.blob()),i=await this.decodeBlob(t,"worldMapBase.png"),s=document.createElement("canvas");
- static computeVisibility(t=2){ + static computeVisibility(t,i=2){
- for(const h of this.conquered)s.set(h,0),e.push(h); + for(const r of t)e.set(r,0),n.push(r);
- zt(Lgi,"ConquestDataManager"),qt(Lgi,"mapWidth",0),qt(Lgi,"mapHeight",0),qt(Lgi,"startRegion",0),qt(Lgi,"regionMap",new Map),qt(Lgi,"idMask",null),qt(Lgi,"bboxMap",new Map),qt(Lgi,"loadPromise",null),qt(Lgi,"artPixels",null),qt(Lgi,"artLoadPromise",null),qt(Lgi,"CONQUERED_LS_KEY","ef2.conquest.demo.conquered.g2"),qt(Lgi,"conqueredSet",null); + qt(Qgi,"ConquestDataManager"),Yt(Qgi,"mapWidth",0),Yt(Qgi,"mapHeight",0),Yt(Qgi,"startRegion",0),Yt(Qgi,"regionMap",new Map),Yt(Qgi,"idMask",null),Yt(Qgi,"bboxMap",new Map),Yt(Qgi,"loadPromise",null),Yt(Qgi,"artPixels",null),Yt(Qgi,"artLoadPromise",null); + let Zgi=Qgi; + const tmi=[{ + id:1,bookId:2,name:"격납고",desc:"열기구 척수·탐사 속도"} + ,{ + id:2,bookId:4,name:"원정 사령부",desc:"원정 레벨·원정 공/체"} + ,{ + id:3,bookId:1,name:"수송대",desc:"영웅 슬롯·병사 수"} + ,{ + id:4,bookId:7,name:"보급소",desc:"창고 용량·식량(예정)"} + ,{ + id:5,bookId:5,name:"제작소",desc:"기후 장비 제작(예정)"} + ,{ + id:6,bookId:6,name:"대학",desc:"정복 연구(예정)"} + ],imi=[{ + id:1,name:"일손 확장",desc:"일손 최대치 +24",cost:5} + ,{ + id:2,name:"열기구 정비",desc:"탐사 시간 -10%",cost:5} + ,{ + id:3,name:"빠른 회복",desc:"원정 회복 시간 -50%",cost:10} + ,{ + id:4,name:"풍년",desc:"완성 지역 자동 수확량 +50%",cost:20} + ,{ + id:5,name:"유물 슬롯 +1",desc:"본 게임 유물 슬롯 (연동 예정)",cost:50} + ,{ + id:6,name:"편성 슬롯 +1",desc:"본 게임 팀 편성 (연동 예정)",cost:50} + ],smi=class t{ + static ensureLoaded(){ + return this.loadPromise||(this.loadPromise=this.load().catch(t=>{ + throw this.loadPromise=null,t} + )),this.loadPromise} + static url(t){ + return QA.getAssetPath(`conquest/${ + t} + ?v=${ + XA.appVersion} + `)} + static async load(){ + await Zgi.ensureLoaded(); + const[t,i,s]=await Promise.all([Zgi.fetchChecked(this.url("conquestRegionBook.draft.json")).then(t=>t.json()),Zgi.fetchChecked(this.url("conquestMaterialBook.draft.json")).then(t=>t.json()),Zgi.fetchChecked(this.url("conquestFacilityBook.draft.json")).then(t=>t.json())]); + this.regionBook=new Map(t.regions.map(t=>[t.id,t])),this.materialBook=new Map(i.materials.map(t=>[t.id,t])),this.facilityBook=new Map(s.facilities.map(t=>[t.id,t])),this.loadState(),this.tick()} + static now(){ + return hx.time>0?hx.time:Date.now()} + static todayKey(){ + return new Date(this.now()).toISOString().slice(0,10)} + static loadState(){ + try{ + const t=localStorage.getItem(this.LS_KEY); + if(t)return void(this.state=JSON.parse(t))} + catch{ + } + this.state={ + v:1,regions:{ + } + ,surveys:[],labor:{ + v:t.LABOR_MAX_BASE,ts:this.now()} + ,inv:{ + } + ,fac:{ + } + ,pts:{ + earn:0,spend:0} + ,nodes:{ + } + ,recover:0} + ; + const i=Zgi.startRegion,s=this.regionBook.get(i); + s&&(this.state.regions[i]={ + e:100,c:s.subzones,o:s.subzones,ms:0,la:""} + ,this.awardMilestones(i)),this.save()} + static save(){ + if(this.state)try{ + localStorage.setItem(this.LS_KEY,JSON.stringify(this.state))} + catch{ + } + } + static notify(){ + var t; + this.save(),null==(t=this.onChanged)||t.call(this)} + static book(t){ + return this.regionBook.get(t)} + static material(t){ + return this.materialBook.get(t)} + static prog(t){ + if(!this.state)throw new Error("ConquestStateManager 미로드"); + let i=this.state.regions[t]; + return i||(i={ + e:0,c:0,o:0,ms:0,la:""} + ,this.state.regions[t]=i),i} + static explorePct(t){ + var i,s; + return(null==(s=null==(i=this.state)?void 0:i.regions[t])?void 0:s.e)??0} + static clearedCount(t){ + var i,s; + return(null==(s=null==(i=this.state)?void 0:i.regions[t])?void 0:s.c)??0} + static outpostStage(t){ + var i,s; + return(null==(s=null==(i=this.state)?void 0:i.regions[t])?void 0:s.o)??0} + static pioneerPct(t){ + const i=this.regionBook.get(t); + return i?Math.floor(this.outpostStage(t)/i.subzones*100):0} + static exploreCap(t){ + const i=this.regionBook.get(t); + if(!i)return 0; + const s=this.clearedCount(t); + return s<i.subzones?10*(s+1):100} + static encounterPending(t){ + var i; + const s=this.regionBook.get(t); + if(!s)return!1; + const e=null==(i=this.state)?void 0:i.regions[t]; + return!!e&&e.c<s.subzones&&e.e>=10*(e.c+1)} + static isRegionOpen(t){ + if(t===Zgi.startRegion)return!0; + const i=Zgi.getRegion(t); + return!!i&&i.neighbors.some(t=>this.outpostStage(t)>=1)} + static outpostRegions(){ + if(!this.state)return[]; + const t=[]; + for(const i of Object.keys(this.state.regions))this.state.regions[i].o>=1&&t.push(Number(i)); + return t} + static balloonSlots(){ + return Math.min(3,this.facGrade(1))} + static activeSurveys(){ + var t; + return(null==(t=this.state)?void 0:t.surveys)??[]} + static surveyOf(t){ + var i; + return null==(i=this.state)?void 0:i.surveys.find(i=>i.r===t)} + static surveySec(i){ + var s; + let e=((null==(s=this.regionBook.get(i))?void 0:s.tier)??1)*t.SURVEY_SEC_PER_TIER; + return e*=1-.02*(this.facLevel(1)-1),this.nodeLevel(2)>0&&(e*=.9),Math.max(3,Math.round(e))} + static surveyBlockReason(t){ + return this.isRegionOpen(t)?this.explorePct(t)>=100?"탐사 완료":this.encounterPending(t)?"적 발견! 원정대로 제압하세요":this.surveyOf(t)?"탐사 진행 중":this.state.surveys.length>=this.balloonSlots()?"모든 열기구가 파견 중입니다":null:"인접 지역에 전초기지가 필요합니다"} + static startSurvey(t){ + return!this.surveyBlockReason(t)&&(this.state.surveys.push({ + r:t,end:this.now()+1e3*this.surveySec(t)} + ),this.notify(),!0)} + static recoverRemainSec(){ + var t; + const i=((null==(t=this.state)?void 0:t.recover)??0)-this.now(); + return i>0?Math.ceil(i/1e3):0} + static expeditionPower(){ + const t=this.facLevel(2),i=this.heroSlots()*(this.squadSize()+1),s=.015*(this.facLevel(2)-1); + return Math.round(t*i*10*(1+s))} + static encounterPower(t){ + const i=this.regionBook.get(t); + if(!i)return 0; + const s=this.clearedCount(t)+1; + return 12*(10*(i.tier-1)+8*s)} + static expeditionBlockReason(t){ + if(!this.encounterPending(t))return"제압할 조우가 없습니다"; + const i=this.recoverRemainSec(); + return i>0?`원정대 회복 중 (${ + i} + 초)`:null} + static runExpedition(i){ + if(this.expeditionBlockReason(i))return null; + const s=this.expeditionPower(),e=this.encounterPower(i),n=s>=e; + return n?(this.prog(i).c+=1,this.grantSurveyLoot(i,2)):this.state.recover=this.now()+1e3*t.RECOVER_SEC*(this.nodeLevel(3)>0?.5:1),this.notify(),{ + win:n,power:s,enemy:e} + } + static outpostCost(t){ + const i=this.regionBook.get(t); + if(!i)return[]; + const s=this.outpostStage(t)+1; + return i.production.filter(t=>"base"===t.unlock_type).map(t=>({ + material_id:t.material_id,qty:4*s*i.tier} + ))} + static outpostBlockReason(t){ + const i=this.regionBook.get(t); + if(!i)return"지역 정보 없음"; + const s=this.prog(t); + return s.o>=i.subzones?"전초기지 최대 단계":s.o>=s.c?"다음 조우를 먼저 제압하세요":this.hasMaterials(this.outpostCost(t))?null:"재료가 부족합니다"} + static buildOutpost(t){ + return!this.outpostBlockReason(t)&&(this.payMaterials(this.outpostCost(t)),this.prog(t).o+=1,this.awardMilestones(t),this.notify(),!0)} + static awardMilestones(i){ + const s=this.regionBook.get(i); + if(!s||!this.state)return; + const e=this.prog(i),n=this.pioneerPct(i); + for(let h=0; + h<t.MILESTONES.length; + h++){ + const i=1<<h; + n>=t.MILESTONES[h]&&!(e.ms&i)&&(e.ms|=i,this.state.pts.earn+=(h+1)*s.tier)} + } + static laborMax(){ + let i=t.LABOR_MAX_BASE; + if(this.state)for(const t of Object.keys(this.state.regions))i+=this.state.regions[t].o; + return this.nodeLevel(1)>0&&(i+=24),i} + static labor(){ + return this.state?(this.regenLabor(),Math.floor(this.state.labor.v)):0} + static regenLabor(){ + if(!this.state)return; + const i=this.now(),s=(i-this.state.labor.ts)/1e3/t.LABOR_REGEN_SEC; + s>0&&(this.state.labor.v=Math.min(this.laborMax(),this.state.labor.v+s),this.state.labor.ts=i)} + static harvestLabor(i){ + var s; + const e=(null==(s=this.regionBook.get(i))?void 0:s.tier)??1; + return t.HARVEST_LABOR[e-1]??10} + static unlockedSlots(t){ + const i=this.regionBook.get(t); + if(!i)return[]; + const s=this.outpostStage(t); + return i.production.filter(t=>{ + if("base"===t.unlock_type)return!0; + if("friendship"===t.unlock_type){ + const e=Math.max(1,Math.ceil(t.unlock_value/5*i.subzones)); + return s>=e} + return"landmark"===t.unlock_type&&s>=i.subzones} + )} + static harvestBlockReason(t){ + return this.outpostStage(t)<1?"전초기지가 필요합니다":this.pioneerPct(t)>=100?"완성 지역 — 매일 자동 수확":this.labor()<this.harvestLabor(t)?"일손이 부족합니다":this.inventoryTotal()>=this.storageCap()?"창고가 가득 찼습니다":null} + static harvest(t){ + if(this.harvestBlockReason(t))return!1; + this.regenLabor(),this.state.labor.v-=this.harvestLabor(t); + for(const i of this.unlockedSlots(t))this.addMaterial(i.material_id,i.rate); + return this.notify(),!0} + static autoHarvest(){ + if(!this.state)return!1; + const t=this.todayKey(); + let i=!1; + const s=1+(this.nodeLevel(4)>0?.5:0); + for(const e of Object.keys(this.state.regions)){ + const n=Number(e),h=this.state.regions[e]; + if(h.la!==t&&!(this.pioneerPct(n)<100)){ + for(const t of this.unlockedSlots(n))this.addMaterial(t.material_id,Math.round(t.rate*s)); + h.la=t,i=!0} + } + return i} + static inventory(){ + return this.state?Object.keys(this.state.inv).map(t=>({ + id:Number(t),qty:this.state.inv[t]} + )).filter(t=>t.qty>0).sort((t,i)=>t.id-i.id):[]} + static materialQty(t){ + var i; + return(null==(i=this.state)?void 0:i.inv[t])??0} + static inventoryTotal(){ + if(!this.state)return 0; + let t=0; + for(const i of Object.keys(this.state.inv))t+=this.state.inv[i]; + return t} + static storageCap(){ + return t.STORAGE_BASE+t.STORAGE_PER_LV*(this.facLevel(4)-1)} + static addMaterial(t,i){ + this.state&&(this.state.inv[t]=(this.state.inv[t]??0)+i)} + static hasMaterials(t){ + return t.every(t=>this.materialQty(t.material_id)>=t.qty)} + static payMaterials(t){ + for(const i of t)this.state.inv[i.material_id]=(this.state.inv[i.material_id]??0)-i.qty} + static grantSurveyLoot(t,i=1){ + const s=this.regionBook.get(t); + if(s)for(const e of s.production)"base"===e.unlock_type&&this.addMaterial(e.material_id,Math.max(1,Math.round(e.rate/25*i)))} + static facLevel(t){ + var i; + return(null==(i=this.state)?void 0:i.fac[t])??1} + static facGrade(t){ + return Math.ceil(this.facLevel(t)/10)} + static heroSlots(){ + return Math.min(5,this.facGrade(3))} + static squadSize(){ + return Math.min(40,10+2*Math.floor(this.facLevel(3)/2))} + static facMaxLevel(){ + return 60} + static facNextCost(t){ + const i=tmi.find(i=>i.id===t); + if(!i)return null; + const s=this.facLevel(t); + if(s>=this.facMaxLevel())return null; + const e=this.facilityBook.get(i.bookId),n=null==e?void 0:e.levels[s]; + return n?n.costs:null} + static facLevelUpBlockReason(t){ + const i=this.facNextCost(t); + return i?this.hasMaterials(i)?null:"재료가 부족합니다":"최대 레벨"} + static facLevelUp(t){ + return!this.facLevelUpBlockReason(t)&&(this.payMaterials(this.facNextCost(t)),this.state.fac[t]=this.facLevel(t)+1,this.notify(),!0)} + static pointsEarned(){ + var t; + return(null==(t=this.state)?void 0:t.pts.earn)??0} + static pointsAvailable(){ + return this.state?this.state.pts.earn-this.state.pts.spend:0} + static nodeLevel(t){ + var i; + return(null==(i=this.state)?void 0:i.nodes[t])??0} + static learnBlockReason(t){ + const i=imi.find(i=>i.id===t); + return i?this.nodeLevel(t)>=1?"배움 완료":this.pointsAvailable()<i.cost?"포인트가 부족합니다":null:"노드 없음"} + static learnNode(t){ + if(this.learnBlockReason(t))return!1; + const i=imi.find(i=>i.id===t); + return this.state.pts.spend+=i.cost,this.state.nodes[t]=1,this.notify(),!0} + static tick(){ + if(!this.state)return!1; + let t=!1; + const i=this.now(),s=[]; + for(const e of this.state.surveys){ + if(e.end>i){ + s.push(e); + continue} + const n=this.prog(e.r); + n.e=Math.min(this.exploreCap(e.r),n.e+10),this.grantSurveyLoot(e.r),t=!0} + return t&&(this.state.surveys=s),this.autoHarvest()&&(t=!0),this.regenLabor(),t&&this.notify(),t} + } + ; + qt(smi,"ConquestStateManager"),Yt(smi,"LS_KEY","ef2.conquest.demo.state.v1"),Yt(smi,"SURVEY_SEC_PER_TIER",20),Yt(smi,"LABOR_MAX_BASE",144),Yt(smi,"LABOR_REGEN_SEC",600),Yt(smi,"HARVEST_LABOR",[6,8,10,14,18,24]),Yt(smi,"RECOVER_SEC",60),Yt(smi,"MILESTONES",[20,40,60,80,100]),Yt(smi,"STORAGE_BASE",2e3),Yt(smi,"STORAGE_PER_LV",300),Yt(smi,"regionBook",new Map),Yt(smi,"materialBook",new Map),Yt(smi,"facilityBook",new Map),Yt(smi,"state",null),Yt(smi,"loadPromise",null),Yt(smi,"onChanged",null); + let emi=smi; + const nmi=class extends Fe{ + constructor(t,i=150,s=44,e=3042106){ + super(),Yt(this,"bgG",new Uf),Yt(this,"lbl"),Yt(this,"btnW"),Yt(this,"btnH"),Yt(this,"color"),Yt(this,"_enabled",!0),Yt(this,"onClick",null),this.btnW=i,this.btnH=s,this.color=e,this.addChild(this.bgG),this.lbl=new mD(t),this.lbl.textSize=18,this.addChild(this.lbl),this.eventMode="static",this.cursor="pointer",this.on("pointerup",()=>{ + var t; + this._enabled&&(null==(t=this.onClick)||t.call(this))} + ),this.redraw()} + set label(t){ + this.lbl.text=t,this.centerLabel()} + get label(){ + return this.lbl.text} + setEnabled(t){ + this._enabled!==t&&(this._enabled=t,this.cursor=t?"pointer":"default",this.redraw())} + get enabled(){ + return this._enabled} + setColor(t){ + this.color!==t&&(this.color=t,this.redraw())} + redraw(){ + this.bgG.clear().roundRect(0,0,this.btnW,this.btnH,8).fill({ + color:this._enabled?this.color:3815994,alpha:.95} + ).stroke({ + width:2,color:this._enabled?16769126:7829367} + ),this.lbl.textColor=this._enabled?16777215:10066329,this.centerLabel()} + centerLabel(){ + this.lbl.x=Math.round(.5*(this.btnW-this.lbl.width)),this.lbl.y=Math.round(.5*(this.btnH-this.lbl.height))} + } + ; + qt(nmi,"ConquestButton"); + let hmi=nmi; + const rmi=class extends Fe{ + constructor(t,i=18,s=16769126){ + super(),Yt(this,"bgG",new Uf),Yt(this,"fillG",new Uf),Yt(this,"lbl"),Yt(this,"barW"),Yt(this,"barH"),Yt(this,"color"),this.barW=t,this.barH=i,this.color=s,this.addChild(this.bgG),this.addChild(this.fillG),this.lbl=new mD(""),this.lbl.textSize=13,this.addChild(this.lbl),this.bgG.roundRect(0,0,t,i,.4*i).fill({ + color:1710618,alpha:.9} + ).stroke({ + width:1,color:6710886} + )} + setValue(t,i){ + const s=Math.max(0,Math.min(1,t)); + this.fillG.clear(),s>0&&this.fillG.roundRect(1,1,Math.max(4,(this.barW-2)*s),this.barH-2,.4*(this.barH-2)).fill({ + color:this.color,alpha:.9} + ),this.lbl.text=i,this.lbl.x=Math.round(.5*(this.barW-this.lbl.width)),this.lbl.y=Math.round(.5*(this.barH-this.lbl.height))} + } + ; + qt(rmi,"ConquestBar"); + let omi=rmi; + function ami(t){ + switch(t){ + case 1:return 12303291; + case 2:return 8248189; + case 3:return 7189490; + case 4:return 13078512; + case 5:return 15773786; + case 6:return 15756653; + default:return 16777215} + } + function cmi(t){ + const i=Math.max(0,Math.ceil(t)); + return`${ + Math.floor(i/60)} + :${ + String(i%60).padStart(2,"0")} + `} + qt(ami,"gradeColor"),qt(cmi,"fmtSec"); + const lmi=class extends Fe{ + constructor(t,i){ + super(),Yt(this,"cards",[]); + const s=new mD("외성 시설"); + s.textSize=22,s.x=16,s.y=8,this.addChild(s); + for(let e=0; + e<tmi.length; + e++){ + const i=new pmi(tmi[e].id,t-32); + i.x=16,i.y=46+128*e,i.onChanged=()=>this.refreshAll(),this.addChild(i),this.cards.push(i)} + } + setData(){ + this.refreshAll()} + refreshAll(){ + for(const t of this.cards)t.refresh()} + } + ; + qt(lmi,"ConquestFacilityView"); + let umi=lmi; + function dmi(t){ + const i=emi,s=i.facLevel(t); + switch(t){ + case 1:return`열기구 ${ + i.balloonSlots()} + 척 · 탐사 속도 +${ + 2*(s-1)} + %`; + case 2:return`원정 레벨 ${ + s} + · 원정 공/체 +${ + (1.5*(s-1)).toFixed(1)} + %`; + case 3:return`영웅 ${ + i.heroSlots()} + 명 · 영웅당 병사 ${ + i.squadSize()} + 명`; + case 4:return`창고 용량 ${ + i.storageCap()} + `; + case 5:return"기후 장비 제작 (준비 중)"; + case 6:return"정복 연구 (준비 중)"; + default:return""} + } + qt(dmi,"facilityEffectText"); + const fmi=class extends Fe{ + constructor(t,i){ + super(),Yt(this,"fid"),Yt(this,"nameLbl"),Yt(this,"lvLbl"),Yt(this,"effectLbl"),Yt(this,"costLbl"),Yt(this,"btn"),Yt(this,"onChanged",null),this.fid=t; + const s=tmi.find(i=>i.id===t),e=(new Uf).roundRect(0,0,i,118,10).fill({ + color:1907997,alpha:.95} + ).stroke({ + width:2,color:5592405} + ); + this.addChild(e),this.nameLbl=new mD(s.name),this.nameLbl.textSize=20,this.nameLbl.x=16,this.nameLbl.y=10,this.addChild(this.nameLbl),this.lvLbl=new mD("",16769126),this.lvLbl.textSize=16,this.lvLbl.x=16,this.lvLbl.y=38,this.addChild(this.lvLbl),this.effectLbl=new mD("",12303291),this.effectLbl.textSize=14,this.effectLbl.x=16,this.effectLbl.y=62,this.addChild(this.effectLbl),this.costLbl=new mD("",10066329),this.costLbl.textSize=13,this.costLbl.x=16,this.costLbl.y=88,this.addChild(this.costLbl),this.btn=new hmi("레벨업",120,46,3042106),this.btn.x=i-136,this.btn.y=36,this.btn.onClick=()=>{ + var t; + emi.facLevelUp(this.fid)&&(null==(t=this.onChanged)||t.call(this))} + ,this.addChild(this.btn),this.refresh()} + refresh(){ + const t=emi,i=t.facLevel(this.fid),s=t.facGrade(this.fid); + this.lvLbl.text=`${ + s} + 등급 · Lv.${ + i} + `,this.lvLbl.textColor=ami(s),this.effectLbl.text=dmi(this.fid); + const e=t.facNextCost(this.fid); + if(!e)return this.costLbl.text="최대 레벨",void this.btn.setEnabled(!1); + this.costLbl.text="비용: "+e.map(i=>{ + const s=t.material(i.material_id); + return`${ + (null==s?void 0:s.name_ko)??i.material_id} + ×${ + i.qty} + (${ + t.materialQty(i.material_id)} + )`} + ).join(" "),this.btn.setEnabled(null===t.facLevelUpBlockReason(this.fid))} + } + ; + qt(fmi,"FacilityCard"); + let pmi=fmi; + const gmi=class extends Fe{ + constructor(t,i){ + super(),Yt(this,"pointLbl"),Yt(this,"rows",[]); + const s=new mD("정복자 트리"); + s.textSize=22,s.x=16,s.y=8,this.addChild(s),this.pointLbl=new mD("",16769126),this.pointLbl.textSize=17,this.pointLbl.x=16,this.pointLbl.y=40,this.addChild(this.pointLbl); + const e=new mD("개척 포인트 = 지역 개척도 20/40/60/80/100% 달성 × 티어",10066329); + e.textSize=13,e.x=16,e.y=66,this.addChild(e); + for(let n=0; + n<imi.length; + n++){ + const i=new vmi(imi[n].id,t-32); + i.x=16,i.y=96+92*n,i.onChanged=()=>this.setData(),this.addChild(i),this.rows.push(i)} + } + setData(){ + this.pointLbl.text=`보유 ${ + emi.pointsAvailable()} + P · 누적 ${ + emi.pointsEarned()} + P`; + for(const t of this.rows)t.refresh()} + } + ; + qt(gmi,"ConquestPointView"); + let mmi=gmi; + const wmi=class extends Fe{ + constructor(t,i){ + super(),Yt(this,"nodeId"),Yt(this,"btn"),Yt(this,"stateLbl"),Yt(this,"onChanged",null),this.nodeId=t; + const s=imi.find(i=>i.id===t),e=(new Uf).roundRect(0,0,i,84,10).fill({ + color:1907997,alpha:.95} + ).stroke({ + width:2,color:5592405} + ); + this.addChild(e); + const n=new mD(s.name); + n.textSize=18,n.x=16,n.y=12,this.addChild(n); + const h=new mD(s.desc,12303291); + h.textSize=14,h.x=16,h.y=42,this.addChild(h),this.stateLbl=new mD("",8248189),this.stateLbl.textSize=15,this.stateLbl.x=i-250,this.stateLbl.y=14,this.addChild(this.stateLbl),this.btn=new hmi(`배우기 ${ + s.cost} + P`,130,44,6048302),this.btn.x=i-146,this.btn.y=20,this.btn.onClick=()=>{ + var t; + emi.learnNode(this.nodeId)&&(null==(t=this.onChanged)||t.call(this))} + ,this.addChild(this.btn),this.refresh()} + refresh(){ + const t=emi.nodeLevel(this.nodeId)>=1; + this.btn.visible=!t,this.stateLbl.text=t?"✔ 배움":"",t||this.btn.setEnabled(null===emi.learnBlockReason(this.nodeId))} + } + ; + qt(wmi,"NodeRow"); + let vmi=wmi; + const _mi=class extends Fe{ + constructor(t,i){ + super(); + const s=new mD("상점"); + s.textSize=22,s.x=16,s.y=8,this.addChild(s); + const e=new mD("준비 중입니다",10066329); + e.textSize=17,e.x=16,e.y=48,this.addChild(e)} + setData(){ + } + } + ; + qt(_mi,"ConquestShopView");
EventBus 2 hunks, 344 statements
+ const xL=class{ + constructor(){ + Yt(this,"listeners",new Map)} + on(t,i){ + let s=this.listeners.get(t); + return s||(s=new Set,this.listeners.set(t,s)),s.add(i),()=>this.off(t,i)} + off(t,i){ + var s; + null==(s=this.listeners.get(t))||s.delete(i)} + emit(t,i){ + const s=this.listeners.get(t); + if(!s||0===s.size)return; + const e=[...s]; + for(const h of e)try{ + h(i)} + catch(n){ + } + } + clear(t){ + null==t?this.listeners.clear():this.listeners.delete(t)} + } + ; + qt(xL,"EventBus"); + let RL=xL; + const PL=class{ + constructor(t=200){ + Yt(this,"messages",[]),Yt(this,"byId",new Map),Yt(this,"maxSize"),this.maxSize=t} + get size(){ + return this.messages.length} + getAll(){ + return this.messages} + get(t){ + return this.byId.get(t)} + has(t){ + return this.byId.has(t)} + append(t){ + return!this.byId.has(t.id)&&(this.messages.push(t),this.byId.set(t.id,t),this.trimHead(),!0)} + prependHistory(t){ + if(0===t.length)return[]; + const i=[]; + for(const s of t)this.byId.has(s.id)||(i.push(s),this.byId.set(s.id,s)); + return 0===i.length?[]:(this.messages=i.concat(this.messages),i)} + update(t,i){ + const s=this.byId.get(t); + if(s)return Object.assign(s,i),s} + replaceId(t,i){ + if(t===i)return this.byId.get(i); + const s=this.byId.get(t); + return s?(this.byId.delete(t),s.id=i,this.byId.has(i)||this.byId.set(i,s),s):void 0} + reset(t=[]){ + const i=new Map(this.byId); + this.messages=[],this.byId.clear(); + for(const s of t){ + if(this.byId.has(s.id))continue; + const t=i.get(s.id); + (null==t?void 0:t.translated)&&(s.translated=t.translated,s.translatedText=t.translatedText,s.originalText=t.originalText),this.messages.push(s),this.byId.set(s.id,s)} + this.trimHead()} + clear(){ + this.messages=[],this.byId.clear()} + oldestTimestamp(){ + var t; + return null==(t=this.messages[0])?void 0:t.timestamp} + trimHead(){ + if(this.messages.length<=this.maxSize)return; + const t=this.messages.length-this.maxSize,i=this.messages.splice(0,t); + for(const s of i)this.byId.delete(s.id)} + } + ; + qt(PL,"MessageStore"); + let NL=PL; + const LL=class{ + constructor(t,i,s,e=200){ + Yt(this,"roomId"),Yt(this,"kind"),Yt(this,"peerUid"),Yt(this,"peerName"),Yt(this,"store"),Yt(this,"bus"),this.roomId=t,this.kind=i,this.peerUid=s,this.store=new NL(e),this.bus=new RL} + receive(t){ + this.store.append(t)&&this.bus.emit("message:new",t)} + prependHistory(t){ + const i=this.store.prependHistory(t); + i.length>0&&this.bus.emit("history:prepended",i)} + resetHistory(t=[]){ + this.store.reset(t),this.bus.emit("history:reset",this.store.getAll())} + updateMessage(t,i){ + const s=this.store.update(t,i); + s&&this.bus.emit("message:updated",s)} + confirmSend(t,i){ + const s=this.store.replaceId(t,i); + s&&(s.status="sent",s.localId=void 0,this.bus.emit("message:updated",s))} + failSend(t){ + const i=this.store.get(t); + i&&(i.status="failed",this.bus.emit("message:updated",i))} + notifyConnected(t){ + this.bus.emit("connected",{ + latency:t} + )} + notifyDisconnected(t){ + this.bus.emit("disconnected",{ + reason:t} + )} + getMessages(){ + return this.store.getAll()} + getMessage(t){ + return this.store.get(t)} + oldestTimestamp(){ + return this.store.oldestTimestamp()} + } + ; + qt(LL,"ChatRoom"); + let DL=LL; + const GL=class t{ + constructor(){ + Yt(this,"rooms",new Map),Yt(this,"guildRoom"),Yt(this,"globalRoom"),Yt(this,"systemRoom"),Yt(this,"globalBus"),Yt(this,"conversations",[]),Yt(this,"currentChannel",null),this.guildRoom=new DL(t.GUILD_ROOM_ID,"guild"),this.rooms.set(t.GUILD_ROOM_ID,this.guildRoom),this.globalRoom=new DL(t.GLOBAL_ROOM_ID,"global"),this.rooms.set(t.GLOBAL_ROOM_ID,this.globalRoom),this.systemRoom=new DL(t.SYSTEM_ROOM_ID,"system"),this.rooms.set(t.SYSTEM_ROOM_ID,this.systemRoom),this.globalBus=new RL} + static getInstance(){ + return this._instance||(this._instance=new t),this._instance} + getGuildRoom(){ + return this.guildRoom} + getGlobalRoom(){ + return this.globalRoom} + getSystemRoom(){ + return this.systemRoom} + getDMRoom(i,s){ + const e=t.dmRoomId(i); + let n=this.rooms.get(e); + return n||(n=new DL(e,"dm",i),this.rooms.set(e,n)),s&&s.length>0&&(n.peerName=s),n} + hasDMRoom(i){ + return this.rooms.has(t.dmRoomId(i))} + getRoom(t){ + return this.rooms.get(t)} + getAllRooms(){ + return Array.from(this.rooms.values())} + clearAll(){ + for(const t of this.rooms.values())t.store.clear(); + this.conversations=[],this.currentChannel=null} + static dmRoomId(t){ + return`dm:${ + t} + `} + dispatchToRoom(t,i){ + const s=t.store.size; + t.receive(i),t.store.size>s&&this.globalBus.emit("room:message",{ + roomId:t.roomId,kind:t.kind,message:i} + )} + setConversations(t){ + this.conversations=t,this.globalBus.emit("conversations:updated",t)} + get store(){ + return this.guildRoom.store} + get bus(){ + return this.guildRoom.bus} + receive(t){ + this.dispatchToRoom(this.guildRoom,t)} + prependHistory(t){ + this.guildRoom.prependHistory(t)} + resetHistory(t=[]){ + this.guildRoom.resetHistory(t)} + updateMessage(t,i){ + this.guildRoom.updateMessage(t,i)} + confirmSend(t,i){ + this.guildRoom.confirmSend(t,i)} + failSend(t){ + this.guildRoom.failSend(t)} + notifyConnected(t){ + this.guildRoom.notifyConnected(t)} + notifyDisconnected(t){ + this.guildRoom.notifyDisconnected(t)} + getMessages(){ + return this.guildRoom.getMessages()} + getMessage(t){ + return this.guildRoom.getMessage(t)} + oldestTimestamp(){ + return this.guildRoom.oldestTimestamp()} + } + ; + qt(GL,"ChatService"),Yt(GL,"_instance",null),Yt(GL,"GUILD_ROOM_ID","guild"),Yt(GL,"GLOBAL_ROOM_ID","global"),Yt(GL,"SYSTEM_ROOM_ID","system"); + let BL=GL;
- const lKt=class{ - constructor(){ - qt(this,"listeners",new Map)} - on(t,i){ - let s=this.listeners.get(t); - return s||(s=new Set,this.listeners.set(t,s)),s.add(i),()=>this.off(t,i)} - off(t,i){ - var s; - null==(s=this.listeners.get(t))||s.delete(i)} - emit(t,i){ - const s=this.listeners.get(t); - if(!s||0===s.size)return; - const e=[...s]; - for(const n of e)try{ - n(i)} - catch(Yki){ - } - } - clear(t){ - null==t?this.listeners.clear():this.listeners.delete(t)} - } - ; - zt(lKt,"EventBus"); - let uKt=lKt; - const dKt=class{ - constructor(t=200){ - qt(this,"messages",[]),qt(this,"byId",new Map),qt(this,"maxSize"),this.maxSize=t} - get size(){ - return this.messages.length} - getAll(){ - return this.messages} - get(t){ - return this.byId.get(t)} - has(t){ - return this.byId.has(t)} - append(t){ - return!this.byId.has(t.id)&&(this.messages.push(t),this.byId.set(t.id,t),this.trimHead(),!0)} - prependHistory(t){ - if(0===t.length)return[]; - const i=[]; - for(const s of t)this.byId.has(s.id)||(i.push(s),this.byId.set(s.id,s)); - return 0===i.length?[]:(this.messages=i.concat(this.messages),i)} - update(t,i){ - const s=this.byId.get(t); - if(s)return Object.assign(s,i),s} - replaceId(t,i){ - if(t===i)return this.byId.get(i); - const s=this.byId.get(t); - return s?(this.byId.delete(t),s.id=i,this.byId.has(i)||this.byId.set(i,s),s):void 0} - reset(t=[]){ - const i=new Map(this.byId); - this.messages=[],this.byId.clear(); - for(const s of t){ - if(this.byId.has(s.id))continue; - const t=i.get(s.id); - (null==t?void 0:t.translated)&&(s.translated=t.translated,s.translatedText=t.translatedText,s.originalText=t.originalText),this.messages.push(s),this.byId.set(s.id,s)} - this.trimHead()} - clear(){ - this.messages=[],this.byId.clear()} - oldestTimestamp(){ - var t; - return null==(t=this.messages[0])?void 0:t.timestamp} - trimHead(){ - if(this.messages.length<=this.maxSize)return; - const t=this.messages.length-this.maxSize,i=this.messages.splice(0,t); - for(const s of i)this.byId.delete(s.id)} - } - ; - zt(dKt,"MessageStore"); - let fKt=dKt; - const pKt=class{ - constructor(t,i,s,e=200){ - qt(this,"roomId"),qt(this,"kind"),qt(this,"peerUid"),qt(this,"peerName"),qt(this,"store"),qt(this,"bus"),this.roomId=t,this.kind=i,this.peerUid=s,this.store=new fKt(e),this.bus=new uKt} - receive(t){ - this.store.append(t)&&this.bus.emit("message:new",t)} - prependHistory(t){ - const i=this.store.prependHistory(t); - i.length>0&&this.bus.emit("history:prepended",i)} - resetHistory(t=[]){ - this.store.reset(t),this.bus.emit("history:reset",this.store.getAll())} - updateMessage(t,i){ - const s=this.store.update(t,i); - s&&this.bus.emit("message:updated",s)} - confirmSend(t,i){ - const s=this.store.replaceId(t,i); - s&&(s.status="sent",s.localId=void 0,this.bus.emit("message:updated",s))} - failSend(t){ - const i=this.store.get(t); - i&&(i.status="failed",this.bus.emit("message:updated",i))} - notifyConnected(t){ - this.bus.emit("connected",{ - latency:t} - )} - notifyDisconnected(t){ - this.bus.emit("disconnected",{ - reason:t} - )} - getMessages(){ - return this.store.getAll()} - getMessage(t){ - return this.store.get(t)} - oldestTimestamp(){ - return this.store.oldestTimestamp()} - } - ; - zt(pKt,"ChatRoom"); - let gKt=pKt; - const mKt=class t{ - constructor(){ - qt(this,"rooms",new Map),qt(this,"guildRoom"),qt(this,"globalRoom"),qt(this,"systemRoom"),qt(this,"globalBus"),qt(this,"conversations",[]),qt(this,"currentChannel",null),this.guildRoom=new gKt(t.GUILD_ROOM_ID,"guild"),this.rooms.set(t.GUILD_ROOM_ID,this.guildRoom),this.globalRoom=new gKt(t.GLOBAL_ROOM_ID,"global"),this.rooms.set(t.GLOBAL_ROOM_ID,this.globalRoom),this.systemRoom=new gKt(t.SYSTEM_ROOM_ID,"system"),this.rooms.set(t.SYSTEM_ROOM_ID,this.systemRoom),this.globalBus=new uKt} - static getInstance(){ - return this._instance||(this._instance=new t),this._instance} - getGuildRoom(){ - return this.guildRoom} - getGlobalRoom(){ - return this.globalRoom} - getSystemRoom(){ - return this.systemRoom} - getDMRoom(i,s){ - const e=t.dmRoomId(i); - let n=this.rooms.get(e); - return n||(n=new gKt(e,"dm",i),this.rooms.set(e,n)),s&&s.length>0&&(n.peerName=s),n} - hasDMRoom(i){ - return this.rooms.has(t.dmRoomId(i))} - getRoom(t){ - return this.rooms.get(t)} - getAllRooms(){ - return Array.from(this.rooms.values())} - clearAll(){ - for(const t of this.rooms.values())t.store.clear(); - this.conversations=[],this.currentChannel=null} - static dmRoomId(t){ - return`dm:${ - t} - `} - dispatchToRoom(t,i){ - const s=t.store.size; - t.receive(i),t.store.size>s&&this.globalBus.emit("room:message",{ - roomId:t.roomId,kind:t.kind,message:i} - )} - setConversations(t){ - this.conversations=t,this.globalBus.emit("conversations:updated",t)} - get store(){ - return this.guildRoom.store} - get bus(){ - return this.guildRoom.bus} - receive(t){ - this.dispatchToRoom(this.guildRoom,t)} - prependHistory(t){ - this.guildRoom.prependHistory(t)} - resetHistory(t=[]){ - this.guildRoom.resetHistory(t)} - updateMessage(t,i){ - this.guildRoom.updateMessage(t,i)} - confirmSend(t,i){ - this.guildRoom.confirmSend(t,i)} - failSend(t){ - this.guildRoom.failSend(t)} - notifyConnected(t){ - this.guildRoom.notifyConnected(t)} - notifyDisconnected(t){ - this.guildRoom.notifyDisconnected(t)} - getMessages(){ - return this.guildRoom.getMessages()} - getMessage(t){ - return this.guildRoom.getMessage(t)} - oldestTimestamp(){ - return this.guildRoom.oldestTimestamp()} - } - ; - zt(mKt,"ChatService"),qt(mKt,"_instance",null),qt(mKt,"GUILD_ROOM_ID","guild"),qt(mKt,"GLOBAL_ROOM_ID","global"),qt(mKt,"SYSTEM_ROOM_ID","system"); - let wKt=mKt;
ConquestStorageView 1 hunks, 175 statements
- super(),qt(this,"viewW"),qt(this,"viewH"),qt(this,"mapLayer",new Ue),qt(this,"revealLayer",new Ue),qt(this,"revealSprites",new Map),qt(this,"highlightSprite",null),qt(this,"highlightTexture",null),qt(this,"nameLabelsSprite",null),qt(this,"landmarkLabelsSprite",null),qt(this,"fogSprite",null),qt(this,"visibility",null),qt(this,"onRegionSelected",null),qt(this,"fitScale",1),qt(this,"zoomIdx",0),qt(this,"dragPointerId",-1),qt(this,"dragStartX",0),qt(this,"dragStartY",0),qt(this,"layerStartX",0),qt(this,"layerStartY",0),qt(this,"dragMoved",0),this.viewW=t,this.viewH=i,this.addChild(this.mapLayer); + super(),Yt(this,"viewW"),Yt(this,"capBar"),Yt(this,"grid",new Fe),Yt(this,"emptyLbl"),this.viewW=t; + const s=new mD("창고"); + s.textSize=22,s.x=16,s.y=8,this.addChild(s),this.capBar=new omi(t-32,22,8248189),this.capBar.x=16,this.capBar.y=42,this.addChild(this.capBar),this.emptyLbl=new mD("창고가 비었습니다 — 지역을 수확해 보세요",10066329),this.emptyLbl.textSize=15,this.emptyLbl.x=16,this.emptyLbl.y=84,this.addChild(this.emptyLbl),this.grid.x=16,this.grid.y=78,this.addChild(this.grid)} + setData(){ + const i=emi,s=i.inventoryTotal(),e=i.storageCap(); + this.capBar.setValue(s/e,`${ + s} + / ${ + e} + `),this.grid.removeChildren().forEach(t=>t.destroy({ + children:!0} + )); + const n=i.inventory(); + this.emptyLbl.visible=0===n.length; + for(let h=0; + h<n.length; + h++){ + const{ + id:s,qty:e} + =n[h],r=i.material(s),o=new Fe,a=h%t.COLS,c=Math.floor(h/t.COLS); + o.x=a*(t.CELL_W+6),o.y=c*(t.CELL_H+6); + const l=(null==r?void 0:r.grade)??1,u=(new Uf).roundRect(0,0,t.CELL_W,t.CELL_H,8).fill({ + color:1907997,alpha:.95} + ).stroke({ + width:2,color:ami(l)} + ); + o.addChild(u); + const d=new mD((null==r?void 0:r.name_ko)??`#${ + s} + `); + d.textSize=15,d.textColor=ami(l),d.x=10,d.y=8,o.addChild(d); + const f=new mD(`${ + e} + `,16777215); + f.textSize=16,f.x=10,f.y=34,o.addChild(f),this.grid.addChild(o)} + } + } + ; + qt(ymi,"ConquestStorageView"),Yt(ymi,"COLS",4),Yt(ymi,"CELL_W",146),Yt(ymi,"CELL_H",64); + let Mmi=ymi; + const Emi=class t extends Fe{ + constructor(i){ + super(),Yt(this,"sheetW"),Yt(this,"bgG",new Uf),Yt(this,"nameLbl"),Yt(this,"subLbl"),Yt(this,"exploreBar"),Yt(this,"pioneerBar"),Yt(this,"statusLbl"),Yt(this,"btnSurvey"),Yt(this,"btnExpedition"),Yt(this,"btnOutpost"),Yt(this,"btnHarvest"),Yt(this,"costLbl"),Yt(this,"region",null),Yt(this,"resultText",null),Yt(this,"resultUntil",0),Yt(this,"onStateChanged",null),this.sheetW=i,this.bgG.rect(0,0,i,t.HEIGHT).fill({ + color:1118481,alpha:.93} + ),this.bgG.eventMode="static",this.addChild(this.bgG),this.nameLbl=new mD(""),this.nameLbl.textSize=22,this.nameLbl.x=16,this.nameLbl.y=10,this.addChild(this.nameLbl),this.subLbl=new mD("",12303291),this.subLbl.textSize=14,this.subLbl.x=16,this.subLbl.y=40,this.addChild(this.subLbl); + const s=i-32; + this.exploreBar=new omi(s,20,7189490),this.exploreBar.x=16,this.exploreBar.y=64,this.addChild(this.exploreBar),this.pioneerBar=new omi(s,20,16769126),this.pioneerBar.x=16,this.pioneerBar.y=90,this.addChild(this.pioneerBar),this.statusLbl=new mD("",16769126),this.statusLbl.textSize=15,this.statusLbl.x=16,this.statusLbl.y=118,this.addChild(this.statusLbl); + const e=Math.floor((i-32-24)/4); + this.btnSurvey=new hmi("탐사",e,46,3038315),this.btnExpedition=new hmi("원정 출정",e,46,7027246),this.btnOutpost=new hmi("전초기지",e,46,6048302),this.btnHarvest=new hmi("수확",e,46,3042106); + const n=[this.btnSurvey,this.btnExpedition,this.btnOutpost,this.btnHarvest]; + for(let t=0; + t<n.length; + t++)n[t].x=16+t*(e+8),n[t].y=146,this.addChild(n[t]); + this.btnSurvey.onClick=()=>this.doSurvey(),this.btnExpedition.onClick=()=>this.doExpedition(),this.btnOutpost.onClick=()=>this.doOutpost(),this.btnHarvest.onClick=()=>this.doHarvest(),this.costLbl=new mD("",10066329),this.costLbl.textSize=13,this.costLbl.x=16,this.costLbl.y=200,this.addChild(this.costLbl),this.visible=!1} + now(){ + return hx.time>0?hx.time:Date.now()} + setRegion(t){ + this.region=t,this.resultText=null,this.visible=!!t,t&&this.refresh()} + onFrame(){ + this.visible&&this.region&&this.refresh()} + doSurvey(){ + var t; + this.region&&emi.startSurvey(this.region.id)&&(null==(t=this.onStateChanged)||t.call(this),this.refresh())} + doExpedition(){ + var t; + if(!this.region)return; + const i=emi.runExpedition(this.region.id); + i&&(this.resultText=i.win?`승리! 착륙지 확보 (전투력 ${ + i.power} + vs ${ + i.enemy} + )`:`패배… 원정대 회복 필요 (전투력 ${ + i.power} + vs ${ + i.enemy} + )`,this.resultUntil=this.now()+5e3,null==(t=this.onStateChanged)||t.call(this),this.refresh())} + doOutpost(){ + var t; + this.region&&emi.buildOutpost(this.region.id)&&(null==(t=this.onStateChanged)||t.call(this),this.refresh())} + doHarvest(){ + var t; + this.region&&emi.harvest(this.region.id)&&(this.resultText="수확 완료! 창고에 재료가 들어왔습니다",this.resultUntil=this.now()+3e3,null==(t=this.onStateChanged)||t.call(this),this.refresh())} + refresh(){ + const t=this.region; + if(!t)return; + const i=t.id,s=emi.book(i),e=emi,n=t.landmarks.length?"★":""; + this.nameLbl.text=`${ + n} + ${ + t.nameKo} + `,this.subLbl.text=`[${ + t.zoneCode} + ] ${ + t.biomeKo} + · ${ + t.tier} + 티어 · 구역 ${ + (null==s?void 0:s.subzones)??"?"} + 곳 · ${ + (null==s?void 0:s.terrain)??""} + `; + const h=e.explorePct(i),r=e.exploreCap(i); + this.exploreBar.setValue(h/100,e.encounterPending(i)?`탐사 ${ + h} + % — 적 발견!`:h>=100?"탐사 완료":`탐사 ${ + h} + % (다음 조우 ${ + r} + %)`); + const o=e.pioneerPct(i); + this.pioneerBar.setValue(o/100,`개척 ${ + o} + % (전초기지 ${ + e.outpostStage(i)} + /${ + (null==s?void 0:s.subzones)??"?"} + 단계)`),this.updateStatus(i),this.updateButtons(i)} + updateStatus(t){ + const i=emi; + if(this.resultText&&this.now()<this.resultUntil)return void(this.statusLbl.text=this.resultText); + this.resultText=null; + const s=i.surveyOf(t); + if(s){ + const t=(s.end-this.now())/1e3; + return void(this.statusLbl.text=`🎈 탐험대 조사 중… ${ + cmi(t)} + `)} + if(i.encounterPending(t)){ + const t=i.recoverRemainSec(); + return void(this.statusLbl.text=t>0?`⚔ 적 발견! 원정대 회복 중 ${ + cmi(t)} + `:"⚔ 탐험대가 적을 발견했습니다! 원정대를 보내 제압하세요")} + i.pioneerPct(t)>=100?this.statusLbl.text="✔ 완성 지역 — 매일 물자가 자동으로 도착합니다":null!==i.outpostBlockReason(t)?this.statusLbl.text="":this.statusLbl.text="🏕 착륙지 확보! 전초기지를 지을 수 있습니다"} + updateButtons(t){ + var i; + const s=emi,e=s.surveyBlockReason(t); + this.btnSurvey.setEnabled(!e),this.btnSurvey.label=e?"탐사":`탐사 ${ + cmi(s.surveySec(t))} + `; + const n=s.expeditionBlockReason(t); + this.btnExpedition.setEnabled(!n); + const h=s.outpostBlockReason(t); + this.btnOutpost.setEnabled(!h); + const r=(null==(i=s.book(t))?void 0:i.subzones)??1,o=Math.min(s.outpostStage(t)+1,r); + this.btnOutpost.label=`전초기지 ${ + o} + 단계`; + const a=s.harvestBlockReason(t); + this.btnHarvest.setEnabled(!a),this.btnHarvest.label=`수확 (일손${ + s.harvestLabor(t)} + )`; + const c=[]; + if("재료가 부족합니다"===h||null===h){ + const i=s.outpostCost(t).map(t=>{ + const i=s.material(t.material_id); + return`${ + (null==i?void 0:i.name_ko)??t.material_id} + ×${ + t.qty} + (${ + s.materialQty(t.material_id)} + )`} + ).join(" "); + c.push(`건설: ${ + i} + `)} + const l=[e,n,h,a].find(t=>t&&"제압할 조우가 없습니다"!==t&&"탐사 완료"!==t&&"전초기지 최대 단계"!==t); + l&&c.push(l),this.costLbl.text=c.join(" · ")} + } + ; + qt(Emi,"ConquestRegionSheet"),Yt(Emi,"HEIGHT",236); + let Ami=Emi; + const Smi=class t extends Fe{ + constructor(t,i){ + super(),Yt(this,"viewW"),Yt(this,"viewH"),Yt(this,"mapLayer",new Fe),Yt(this,"revealLayer",new Fe),Yt(this,"revealSprites",new Map),Yt(this,"highlightSprite",null),Yt(this,"highlightTexture",null),Yt(this,"nameLabelsSprite",null),Yt(this,"landmarkLabelsSprite",null),Yt(this,"progressLabelsSprite",null),Yt(this,"balloonSprites",new Map),Yt(this,"balloonTexture",null),Yt(this,"fogSprite",null),Yt(this,"visibility",null),Yt(this,"onRegionSelected",null),Yt(this,"fitScale",1),Yt(this,"zoomIdx",0),Yt(this,"dragPointerId",-1),Yt(this,"dragStartX",0),Yt(this,"dragStartY",0),Yt(this,"layerStartX",0),Yt(this,"layerStartY",0),Yt(this,"dragMoved",0),this.viewW=t,this.viewH=i,this.addChild(this.mapLayer);
ConquestWorldMapTabView 6 hunks, 165 statements
- const Ugi=class t extends cqt{ - constructor(){ - super(),qt(this,"headerBg"),qt(this,"titleLabel"),qt(this,"infoLabel"),qt(this,"mapView",null),qt(this,"initPromise",null),qt(this,"selectedRegion",null),qt(this,"btnConquer",new Ue),qt(this,"btnConquerBg",new Bf),qt(this,"btnConquerLabel"),qt(this,"btnNames",new Ue),qt(this,"btnNamesBg",new Bf),qt(this,"btnNamesLabel"),qt(this,"btnFog",new Ue),qt(this,"btnFogBg",new Bf),qt(this,"btnFogLabel"),qt(this,"btnZoom",new Ue),qt(this,"btnZoomBg",new Bf),qt(this,"btnZoomLabel"),this.y=0,this.bg.height=zA.safeHeight,this.dimOverlay.y=0,this.headerBg=(new Bf).rect(0,0,640,t.HEADER_H).fill({ - color:1118481,alpha:.92} - ),this.headerBg.eventMode="none",this.addChild(this.headerBg),this.titleLabel=new hD("정복 (프로토타입)"),this.titleLabel.x=12,this.titleLabel.y=zA.RESOURCE_INFO_H+6,this.addChild(this.titleLabel),this.infoLabel=new hD("지역을 선택하세요",16769126),this.infoLabel.x=12,this.infoLabel.y=zA.RESOURCE_INFO_H+34,this.addChild(this.infoLabel),this.btnConquerLabel=new hD("점령하기"),this.btnConquer.addChild(this.btnConquerBg),this.btnConquerLabel.x=12,this.btnConquerLabel.y=7,this.btnConquer.addChild(this.btnConquerLabel),this.btnConquer.x=490,this.btnConquer.y=zA.RESOURCE_INFO_H+28,this.btnConquer.eventMode="static",this.btnConquer.cursor="pointer",this.btnConquer.on("pointerup",this.onConquerToggle,this),this.btnConquer.visible=!1,this.addChild(this.btnConquer),this.btnClose.x=640-this.btnClose.width-4,this.btnClose.y=zA.RESOURCE_INFO_H+2,this.addChild(this.btnClose),this.btnNamesLabel=new hD("지역명"),this.btnNames.addChild(this.btnNamesBg),this.btnNamesLabel.x=12,this.btnNamesLabel.y=5,this.btnNames.addChild(this.btnNamesLabel),this.btnNames.x=this.btnClose.x-100,this.btnNames.y=zA.RESOURCE_INFO_H+4,this.btnNames.eventMode="static",this.btnNames.cursor="pointer",this.btnNames.on("pointerup",this.onNamesToggle,this),this.updateNamesButton(!1),this.addChild(this.btnNames),this.btnFogLabel=new hD("안개"),this.btnFog.addChild(this.btnFogBg),this.btnFogLabel.x=12,this.btnFogLabel.y=5,this.btnFog.addChild(this.btnFogLabel),this.btnFog.x=this.btnNames.x-84,this.btnFog.y=this.btnNames.y,this.btnFog.eventMode="static",this.btnFog.cursor="pointer",this.btnFog.on("pointerup",this.onFogToggle,this),this.updateFogButton(!0),this.addChild(this.btnFog),this.btnZoomLabel=new hD("100%"),this.btnZoom.addChild(this.btnZoomBg),this.btnZoomBg.roundRect(0,0,84,44,10).fill({ + const Cmi=class extends Fe{ + constructor(t,i){ + super(),Yt(this,"viewW"),Yt(this,"viewH"),Yt(this,"mapView",null),Yt(this,"sheet"),Yt(this,"loadingLbl"),Yt(this,"btnZoom",new Fe),Yt(this,"btnZoomBg",new Uf),Yt(this,"btnZoomLbl"),Yt(this,"btnFog",new Fe),Yt(this,"btnFogBg",new Uf),Yt(this,"btnFogLbl"),Yt(this,"btnNames",new Fe),Yt(this,"btnNamesBg",new Uf),Yt(this,"btnNamesLbl"),Yt(this,"initPromise",null),Yt(this,"onStateChanged",null),this.viewW=t,this.viewH=i,this.loadingLbl=new mD("월드맵 불러오는 중...",16769126),this.loadingLbl.x=20,this.loadingLbl.y=20,this.addChild(this.loadingLbl),this.sheet=new Ami(t),this.sheet.y=i-Ami.HEIGHT,this.sheet.onStateChanged=()=>{ + var t,i; + null==(t=this.mapView)||t.refreshFromState(),null==(i=this.onStateChanged)||i.call(this)} + ,this.btnZoomLbl=this.buildFloatBtn(this.btnZoom,this.btnZoomBg,"100%"),this.btnFogLbl=this.buildFloatBtn(this.btnFog,this.btnFogBg,"안개"),this.btnNamesLbl=this.buildFloatBtn(this.btnNames,this.btnNamesBg,"지역명"); + const s=i-Ami.HEIGHT-52; + this.btnZoom.position.set(t-92,s),this.btnFog.position.set(t-92-84,s),this.btnNames.position.set(t-92-168,s),this.btnZoom.on("pointerup",this.onZoomToggle,this),this.btnFog.on("pointerup",this.onFogToggle,this),this.btnNames.on("pointerup",this.onNamesToggle,this)} + buildFloatBtn(t,i,s){ + i.roundRect(0,0,76,40,10).fill({
- ),this.btnZoomLabel.x=16,this.btnZoomLabel.y=9,this.btnZoom.addChild(this.btnZoomLabel),this.btnZoom.x=544,this.btnZoom.y=this.bg.height-60,this.btnZoom.eventMode="static",this.btnZoom.cursor="pointer",this.btnZoom.on("pointerup",this.onZoomToggle,this),this.addChild(this.btnZoom)} - static getInstance(){ - return this._instance||(this._instance=new t),this._instance} - onZoomToggle(){ - if(!this.mapView)return; - const t=this.mapView.cycleZoom(); - this.btnZoomLabel.text=`${ - t} - %`} - show(){ - this.show2(),this.init()} + ),t.addChild(i); + const e=new mD(s); + return e.textSize=15,e.x=Math.round(.5*(76-e.width)),e.y=10,t.addChild(e),t.eventMode="static",t.cursor="pointer",t.visible=!1,this.addChild(t),e} + setData(){ + this.init()}
- throw this.infoLabel.text="월드맵 로딩 실패",this.initPromise=null,t} + throw this.loadingLbl.text="월드맵 로딩 실패",this.loadingLbl.visible=!0,this.initPromise=null,t}
- this.infoLabel.text="월드맵 불러오는 중..."; - const i=t.HEADER_H,s=new Bgi(640,this.bg.height-i); - s.y=i,await s.init(),s.onRegionSelected=this.onRegionSelected.bind(this),this.addChildAt(s,this.getChildIndex(this.headerBg)),this.mapView=s,this.infoLabel.text="지역을 선택하세요",this.updateTitle(),this.updateNamesButton(s.namesVisible),this.updateFogButton(s.fogEnabled),this.btnZoomLabel.text=`${ - s.zoomPercent} - %`} - onFogToggle(){ - if(!this.mapView)return; - const t=!this.mapView.fogEnabled; - this.mapView.setFogEnabled(t),this.updateFogButton(t)} - updateFogButton(t){ - this.btnFogBg.clear().roundRect(0,0,76,36,8).fill({ - color:t?3038315:3355443,alpha:.95} - ).stroke({ - width:2,color:t?16769126:7829367} - ),this.btnFogLabel.textColor=t?16769126:12303291} - onNamesToggle(){ - if(!this.mapView)return; - const t=!this.mapView.namesVisible; - this.mapView.setNamesVisible(t),this.updateNamesButton(t)} - updateNamesButton(t){ - this.btnNamesBg.clear().roundRect(0,0,92,36,8).fill({ - color:t?3038315:3355443,alpha:.95} - ).stroke({ - width:2,color:t?16769126:7829367} - ),this.btnNamesLabel.textColor=t?16769126:12303291} + const t=new Tmi(this.viewW,this.viewH); + await t.init(),t.onRegionSelected=this.onRegionSelected.bind(this),this.addChildAt(t,0),this.mapView=t,this.loadingLbl.visible=!1,this.addChild(this.sheet),this.btnZoom.visible=this.btnFog.visible=this.btnNames.visible=!0,this.updateFogBtn(),this.updateNamesBtn(),t.refreshFromState(!1)} + refresh(){ + var t; + null==(t=this.mapView)||t.refreshFromState(!1),this.sheet.onFrame()} + onFrame(t){ + var i; + t&&(null==(i=this.mapView)||i.refreshFromState()),this.sheet.onFrame()}
- if(this.selectedRegion=t,this.updateConquerButton(),!t)return void(this.infoLabel.text="지역을 선택하세요"); - const i=t.landmarks.length?`★${ - t.nameKo} - `:t.nameKo; - this.infoLabel.text=`[${ - t.zoneCode} - ] ${ - i} - · ${ - t.biomeKo} - · ${ - t.tier} - 티어 · 인접 ${ - t.neighbors.length} - 곳`} - onConquerToggle(){ - const t=this.selectedRegion; - if(!t||!this.mapView)return; - if(t.id===Dgi.startRegion)return; - const i=!Dgi.isConquered(t.id); - Dgi.setConquered(t.id,i),this.mapView.setConquered(t.id,i),this.updateConquerButton(),this.updateTitle()} - updateConquerButton(){ - const t=this.selectedRegion; - if(this.btnConquer.visible=!!t,!t)return; - if(t.id===Dgi.startRegion)return this.btnConquerLabel.text="시작 거점",void this.btnConquerBg.clear().roundRect(0,0,126,40,8).fill({ - color:4473924,alpha:.95} - ).stroke({ - width:2,color:8947848} - ); - const i=Dgi.isConquered(t.id); - this.btnConquerLabel.text=i?"점령 해제":"점령하기",this.btnConquerBg.clear().roundRect(0,0,126,40,8).fill({ - color:i?7027246:3042106,alpha:.95} - ).stroke({ - width:2,color:16769126} - )} - updateTitle(){ - const t=Dgi.regions.length||150; - this.titleLabel.text=`정복 (프로토타입) · ${ - Dgi.conquered.size} - /${ - t} - `} - get className(){ - return"ConquestMainPopup"} + this.sheet.setRegion(t)} + onZoomToggle(){ + this.mapView&&(this.btnZoomLbl.text=`${ + this.mapView.cycleZoom()} + %`,this.btnZoomLbl.x=Math.round(.5*(76-this.btnZoomLbl.width)))} + onFogToggle(){ + this.mapView&&(this.mapView.setFogEnabled(!this.mapView.fogEnabled),this.updateFogBtn())} + updateFogBtn(){ + var t; + const i=(null==(t=this.mapView)?void 0:t.fogEnabled)??!0; + this.btnFogLbl.textColor=i?16769126:10066329} + onNamesToggle(){ + this.mapView&&(this.mapView.setNamesVisible(!this.mapView.namesVisible),this.updateNamesBtn())} + updateNamesBtn(){ + var t; + const i=(null==(t=this.mapView)?void 0:t.namesVisible)??!1; + this.btnNamesLbl.textColor=i?16769126:10066329}
- zt(Ugi,"ConquestMainPopup"),qt(Ugi,"_instance"),qt(Ugi,"HEADER_H",96); + qt(Cmi,"ConquestWorldMapTabView"); + let Imi=Cmi; + const kmi=class t extends mqt{ + constructor(){ + super(),Yt(this,"headerBg"),Yt(this,"titleLbl"),Yt(this,"pointLbl"),Yt(this,"laborLbl"),Yt(this,"tabButtons",[]),Yt(this,"viewContainer",new Fe),Yt(this,"views",[null,null,null,null,null]),Yt(this,"_activeIndex",-1),Yt(this,"contentH"),Yt(this,"lastFrameMs",0),this.y=0,this.bg.height=qA.safeHeight,this.dimOverlay.y=0,this.contentH=this.bg.height-t.HEADER_H-t.TAB_HEIGHT,this.headerBg=(new Uf).rect(0,0,640,t.HEADER_H).fill({ + color:1118481,alpha:.92} + ),this.headerBg.eventMode="none",this.addChild(this.headerBg),this.titleLbl=new mD("정복"),this.titleLbl.textSize=22,this.titleLbl.x=14,this.titleLbl.y=qA.RESOURCE_INFO_H+12,this.addChild(this.titleLbl),this.pointLbl=new mD("",16769126),this.pointLbl.textSize=15,this.pointLbl.x=110,this.pointLbl.y=qA.RESOURCE_INFO_H+18,this.addChild(this.pointLbl),this.laborLbl=new mD("",8248189),this.laborLbl.textSize=15,this.laborLbl.x=300,this.laborLbl.y=qA.RESOURCE_INFO_H+18,this.addChild(this.laborLbl),this.btnClose.x=640-this.btnClose.width-4,this.btnClose.y=qA.RESOURCE_INFO_H+2,this.addChild(this.btnClose),this.viewContainer.y=t.HEADER_H,this.addChild(this.viewContainer); + const i=["월드맵","시설","포인트","창고","상점"],s=t.TAB_WIDTH*t.NUM_TABS+t.TAB_GAP*(t.NUM_TABS-1),e=Math.floor(.5*(this.bg.width-s)),n=this.bg.height-t.TAB_HEIGHT; + for(let h=0; + h<i.length; + h++){ + const s=new ozt(i[h],t.TAB_WIDTH); + s.autoResize=!1,s.width=t.TAB_WIDTH,s.height=t.TAB_HEIGHT,s.x=e+h*(t.TAB_WIDTH+t.TAB_GAP),s.y=n,s.index=h,s.onClick=()=>this.selectTab(h),this.addChild(s),this.tabButtons.push(s)} + } + static getInstance(){ + return this._instance||(this._instance=new t),this._instance} + show(){ + this.show2(),emi.ensureLoaded().then(()=>{ + emi.onChanged=()=>this.updateHeader(),this._activeIndex<0?this.selectTab(0):this.refreshActive(),this.updateHeader()} + )} + onAdded(){ + super.onAdded(),UM.getInstance().add(this.onUiFrame,this)} + onRemoved(){ + super.onRemoved(),UM.getInstance().remove(this.onUiFrame,this)} + selectTab(t){ + var i; + if(this._activeIndex===t)return; + this._activeIndex=t; + for(let e=0; + e<this.tabButtons.length; + e++)this.tabButtons[e].selected=e===t; + if(!this.views[t]){ + const i=640,s=this.contentH; + switch(t){ + case 0:{ + const t=new Imi(i,s); + t.onStateChanged=()=>this.updateHeader(),this.views[0]=t; + break} + case 1:this.views[1]=new umi(i,s); + break; + case 2:this.views[2]=new mmi(i,s); + break; + case 3:this.views[3]=new Mmi(i,s); + break; + case 4:this.views[4]=new bmi(i,s)} + } + this.viewContainer.removeChildren(); + const s=this.views[t]; + this.viewContainer.addChild(s),null==(i=s.setData)||i.call(s),this.updateHeader()} + refreshActive(){ + var t; + const i=this.views[this._activeIndex]; + null==(t=null==i?void 0:i.setData)||t.call(i)} + onUiFrame(){ + const t=performance.now(); + if(t-this.lastFrameMs<300)return; + this.lastFrameMs=t; + const i=emi.tick(); + this.updateHeader(); + const s=this.views[this._activeIndex]; + s instanceof Imi?s.onFrame(i):i&&this.refreshActive()} + updateHeader(){ + this.pointLbl.text=`개척 P ${ + emi.pointsAvailable()} + `,this.laborLbl.text=`일손 ${ + emi.labor()} + /${ + emi.laborMax()} + `} + get className(){ + return"ConquestPopup"} + } + ; + qt(kmi,"ConquestPopup"),Yt(kmi,"_instance"),Yt(kmi,"HEADER_H",96),Yt(kmi,"TAB_HEIGHT",60),Yt(kmi,"TAB_GAP",1),Yt(kmi,"NUM_TABS",5),Yt(kmi,"TAB_WIDTH",Math.floor((640-kmi.TAB_GAP*kmi.NUM_TABS)/kmi.NUM_TABS));
ConquestWorldMapView 8 hunks, 89 statements
- `)),Dgi.ensureLoaded()]),h=new $e(e),r=new $e(n); - if(h.eventMode=r.eventMode="none",this.revealLayer.eventMode="none",this.mapLayer.addChild(h),this.mapLayer.addChild(this.revealLayer),this.mapLayer.addChild(r),this.buildNameLabels(),this.buildLandmarkLabels(),this.rebuildFog(),Dgi.conquered.size>0){ - await Dgi.ensureArtPixels(); - for(const t of Dgi.conquered)this.addRevealSprite(t,!1)} + `)),Zgi.ensureLoaded(),emi.ensureLoaded()]),h=new je(e),r=new je(n); + h.eventMode=r.eventMode="none",this.revealLayer.eventMode="none",this.mapLayer.addChild(h),this.mapLayer.addChild(this.revealLayer),this.mapLayer.addChild(r),this.buildNameLabels(),this.buildLandmarkLabels(),await Zgi.ensureArtPixels().catch(t=>{ + } + ),this.refreshFromState(!1);
+ refreshFromState(t=!0){ + for(const i of Zgi.regions){ + const s=emi.pioneerPct(i.id),e=this.revealSprites.get(i.id); + if(s<=0){ + e&&(this.revealSprites.delete(i.id),e.texture.destroy(!0),e.destroy()); + continue} + const n=.15+s/100*.85; + e?e.alpha=n:this.addRevealSprite(i.id,n,t)} + this.rebuildFog(),this.buildProgressLabels(),this.syncBalloons()}
- async setConquered(t,i){ - if(i){ - if(this.revealSprites.has(t))return; - await Dgi.ensureArtPixels(),this.addRevealSprite(t,!0)} - else{ - const i=this.revealSprites.get(t); - if(!i)return; - this.revealSprites.delete(t),i.texture.destroy(!0),i.destroy()} - this.rebuildFog()}
+ buildProgressLabels(){ + const t=document.createElement("canvas"); + t.width=Zgi.mapWidth,t.height=Zgi.mapHeight; + const i=t.getContext("2d"); + if(!i)return; + i.textAlign="center",i.textBaseline="middle"; + for(const e of Zgi.regions){ + const t=emi.pioneerPct(e.id),s=emi.explorePct(e.id); + if(t<=0&&s<=0)continue; + const n=e.centerPx[1]+(e.landmarks.length?44:18); + t>0?(i.font="bold 19px sans-serif",i.lineWidth=4,i.strokeStyle="rgba(40,28,16,0.9)",i.strokeText(`${ + t} + %`,e.centerPx[0],n),i.fillStyle=t>=100?"#8ef08e":"#ffe066",i.fillText(`${ + t} + %`,e.centerPx[0],n)):(i.font="600 15px sans-serif",i.lineWidth=3,i.strokeStyle="rgba(40,28,16,0.85)",i.strokeText(`탐사 ${ + s} + %`,e.centerPx[0],n),i.fillStyle="#9fd8ef",i.fillText(`탐사 ${ + s} + %`,e.centerPx[0],n))} + const s=ns.from(t); + if(this.progressLabelsSprite){ + const t=this.progressLabelsSprite.texture; + this.progressLabelsSprite.texture=s,t.destroy(!0)} + else{ + const t=new je(s); + t.eventMode="none",this.mapLayer.addChild(t),this.progressLabelsSprite=t} + }
- addRevealSprite(t,i){ + addRevealSprite(t,i,s){
- e.alpha=Math.min(1,e.alpha+i.deltaMS/600),(e.alpha>=1||e.destroyed)&&fn.shared.remove(t)} + n.alpha=Math.min(i,n.alpha+s.deltaMS/600*i),(n.alpha>=i||n.destroyed)&&pn.shared.remove(t)}
+ else n.alpha=i} + getBalloonTexture(){ + if(!this.balloonTexture){ + const t=document.createElement("canvas"); + t.width=44,t.height=48; + const i=t.getContext("2d"); + i&&(i.textAlign="center",i.textBaseline="middle",i.font="36px sans-serif",i.fillText("🎈",22,24)),this.balloonTexture=ns.from(t)} + return this.balloonTexture} + syncBalloons(){ + const t=emi.activeSurveys(),i=new Set(t.map(t=>t.r)); + for(const[s,e]of this.balloonSprites)i.has(s)||(this.balloonSprites.delete(s),e.destroy()); + for(const s of t){ + if(this.balloonSprites.has(s.r))continue; + const t=Zgi.getRegion(s.r); + if(!t)continue; + const i=new je(this.getBalloonTexture()); + i.eventMode="none",i.anchor.set(.5,1),this.mapLayer.addChild(i),this.balloonSprites.set(s.r,i); + const e=t.neighbors.find(t=>emi.outpostStage(t)>=1),n=e?Zgi.getRegion(e):null,h=t.centerPx[0],r=t.centerPx[1]-6; + if(n){ + const t=n.centerPx[0],s=n.centerPx[1]-6; + i.position.set(t,s); + let e=0; + const o=900,a=qt(n=>{ + e+=n.deltaMS; + const c=Math.min(1,e/o),l=1-(1-c)*(1-c); + i.x=t+(h-t)*l,i.y=s+(r-s)*l-40*Math.sin(c*Math.PI),(c>=1||i.destroyed)&&pn.shared.remove(a)} + ,"tick"); + pn.shared.add(a)} + else{ + i.position.set(h,r),i.alpha=0; + const t=qt(s=>{ + i.alpha=Math.min(1,i.alpha+s.deltaMS/400),(i.alpha>=1||i.destroyed)&&pn.shared.remove(t)} + ,"tick"); + pn.shared.add(t)} + }
- const t=Dgi.computeVisibility(2); + const t=emi.outpostRegions(); + t.includes(Zgi.startRegion)||t.push(Zgi.startRegion); + const i=Zgi.computeVisibility(t,2);
ActiveSkillPopup 12 hunks, 55 statements
- super(),qt(this,"slotIndex",0),qt(this,"isSelectMode",!1),qt(this,"lblSkillName",new hD("",16750848,wL.DEFAULT_OUTLINE_FONT_OPTION_18)),qt(this,"lblSkillDesc",new hD("",wL.DEFAULT_COLOR,wL.DEFAULT_FONT_OPTION_16)),qt(this,"lblGuide",new hD("",6737151,wL.DEFAULT_FONT_OPTION_16)),qt(this,"btnAction",new HU("UI_GEM","100","스킬변경",.8,200,70)),qt(this,"btnCancel",new HU("","","취소",.8,150,70)),qt(this,"skillIcon",new $e),qt(this,"selectContainer",new Ue),qt(this,"slotIcons",[]),qt(this,"slotGlows",[]),qt(this,"slotLabels",[]),qt(this,"onSkillChanged",null),this.width=580,this.skillIcon.scale.set(.8),this.contentContainer.addChild(this.skillIcon),this.contentContainer.addChild(this.selectContainer); + super(),Yt(this,"slotIndex",0),Yt(this,"isSelectMode",!1),Yt(this,"lblSkillName",new mD("",16750848,bL.DEFAULT_OUTLINE_FONT_OPTION_18)),Yt(this,"lblSkillDesc",new mD("",bL.DEFAULT_COLOR,bL.DEFAULT_FONT_OPTION_16)),Yt(this,"lblGuide",new mD("",6737151,bL.DEFAULT_FONT_OPTION_16)),Yt(this,"btnAction",new tF("UI_GEM","100","스킬변경",.8,200,70)),Yt(this,"btnCancel",new tF("","","취소",.8,150,70)),Yt(this,"skillIcon",new je),Yt(this,"selectContainer",new Fe),Yt(this,"slotIcons",[]),Yt(this,"slotGlows",[]),Yt(this,"slotLabels",[]),Yt(this,"isPickMode",!1),Yt(this,"pickDescReservedH",0),Yt(this,"pickedSkillId",1),Yt(this,"pickContainer",new Fe),Yt(this,"pickIcons",[]),Yt(this,"pickGlows",[]),Yt(this,"onSkillChanged",null),this.width=580,this.skillIcon.scale.set(.8),this.contentContainer.addChild(this.skillIcon),this.contentContainer.addChild(this.selectContainer);
+ this.contentContainer.addChild(this.pickContainer); + for(let i=0; + i<t.PICKABLE_SKILL_IDS.length; + i++){ + const s=new Fe,e=new kM({ + texture:iS.getTexture("UI_Ekkorr","UI_SELECT"),leftWidth:25,topHeight:25,rightWidth:25,bottomHeight:25} + ); + e.anchor.set(.5,.5),e.width=t.PICK_GLOW_SIZE,e.height=t.PICK_GLOW_SIZE,e.alpha=.8,e.visible=!1,s.addChild(e),this.pickGlows.push(e); + const n=new je; + n.anchor.set(.5),n.scale.set(.72),n.eventMode="static",n.cursor="pointer"; + const h=t.PICKABLE_SKILL_IDS[i]; + n.on("pointertap",()=>this.onSkillPick(h)),s.addChild(n),this.pickIcons.push(n),this.pickContainer.addChild(s)}
- this.isSelectMode=!1,this.slotIndex=t,this.onSkillChanged=i,this.skillIcon.visible=!0,this.selectContainer.visible=!1,this.title=LG.getText("GAME_199","액티브 스킬"),this.skillIcon.texture=tS.getTexture("UI_Ekkorr","UI_SKILL_ADD"),this.lblSkillName.text=LG.getText("GAME_208","잠긴 슬롯"),this.lblSkillDesc.text=LG.getText("GAME_200","슬롯을 오픈하면 랜덤으로 스킬이 배정됩니다."),this.lblGuide.text=LG.getText("GAME_201","스킬은 자동으로 랜덤하게 선택되고, 보석 500개가 필요합니다.")+" "+LG.getText("GAME_202","슬롯을 오픈하시겠습니까?"),this.btnAction.iconText="500",this.btnAction.text=LG.getText("GAME_203","슬롯 오픈"),this.btnAction.color=HU.RED,this.btnCancel.text=LG.getText("COMMON_2","취소"),this.updateLayout(),super.show()} + this.isSelectMode=!1,this.isPickMode=!1,this.slotIndex=t,this.onSkillChanged=i,this.skillIcon.visible=!0,this.selectContainer.visible=!1,this.pickContainer.visible=!1,this.btnAction.showIconLabel=!0,this.title=qG.getText("GAME_199","액티브 스킬"),this.skillIcon.texture=iS.getTexture("UI_Ekkorr","UI_SKILL_ADD"),this.lblSkillName.text=qG.getText("GAME_208","잠긴 슬롯"),this.lblSkillDesc.text=qG.getText("GAME_200","슬롯을 오픈하면 랜덤으로 스킬이 배정됩니다."),this.lblGuide.text=qG.getText("GAME_201","스킬은 자동으로 랜덤하게 선택되고, 보석 500개가 필요합니다.")+" "+qG.getText("GAME_202","슬롯을 오픈하시겠습니까?"),this.btnAction.iconText="500",this.btnAction.text=qG.getText("GAME_203","슬롯 오픈"),this.btnAction.color=tF.RED,this.btnCancel.text=qG.getText("COMMON_2","취소"),this.updateLayout(),super.show()}
- this.isSelectMode=!0,this.onSkillChanged=t,this.updateSelectSlotUI(),super.show()} + this.isSelectMode=!0,this.isPickMode=!1,this.slotIndex=0,this.onSkillChanged=t,this.updateSelectSlotUI(),super.show()}
- this.skillIcon.visible=!1,this.selectContainer.visible=!0,this.title=LG.getText("GAME_199","액티브 스킬"); + this.isPickMode=!1,this.skillIcon.visible=!1,this.selectContainer.visible=!0,this.pickContainer.visible=!1,this.title=qG.getText("GAME_199","액티브 스킬");
- this.selectContainer.y=100,this.selectSlot(0),this.btnAction.iconText="100",this.btnAction.text=LG.getText("GAME_206","스킬변경"),this.btnAction.color=HU.GREEN,this.btnCancel.text=LG.getText("COMMON_2","취소"),this.updateLayout()} + this.selectContainer.y=100,this.selectSlot(this.slotIndex),this.btnAction.showIconLabel=!1,this.btnAction.text=qG.getText("GAME_206","스킬변경"),this.btnAction.color=tF.GREEN,this.btnCancel.text=qG.getText("COMMON_2","취소"),this.updateLayout()}
- `,t.SKILL_DESCS[s])||"",this.lblGuide.text=LG.getText("GAME_204","스킬은 자동으로 랜덤하게 선택되고, 보석 100개가 필요합니다.")+" "+LG.getText("GAME_205","스킬을 변경하시겠습니까?")} + `,t.SKILL_DESCS[s])||"",this.lblGuide.text=qG.getText("GAME_205","스킬을 변경하시겠습니까?")} + enterSkillPick(){ + this.isPickMode=!0; + const i=HD.activeSkills[this.slotIndex]??-1; + this.pickedSkillId=t.PICKABLE_SKILL_IDS.find(t=>t!==i)??1; + let s=0; + for(const e of t.PICKABLE_SKILL_IDS)this.lblSkillDesc.text=qG.getText(`ACTIVE_SKILL_DESC_${ + e} + `,t.SKILL_DESCS[e])||"",s=Math.max(s,this.lblSkillDesc.height); + this.pickDescReservedH=s,this.updatePickUI()} + onSkillPick(t){ + (HD.activeSkills[this.slotIndex]??-1)!==t&&(this.pickedSkillId=t,this.updatePickUI())} + updatePickUI(){ + this.skillIcon.visible=!1,this.selectContainer.visible=!1,this.pickContainer.visible=!0,this.title=qG.getText("GAME_199","액티브 스킬"); + const i=HD.activeSkills[this.slotIndex]??-1,s=t.PICKABLE_SKILL_IDS,e=t.PICK_COL_SPACING,n=t.PICK_ROW_SPACING,h=.5*(this.width-2*e); + for(let t=0; + t<s.length; + t++){ + const r=s[t],o=this.pickIcons[t],a=this.pickGlows[t],c=r===i; + o.texture=iS.getTexture("UI_Ekkorr",c?`UI_SKILL${ + r} + _OFF`:`UI_SKILL${ + r} + _ON`),o.alpha=c?.45:1,o.eventMode=c?"none":"static",o.cursor=c?"default":"pointer"; + const l=h+e*(t%3),u=n*Math.floor(t/3); + o.x=l,o.y=u,a.x=l,a.y=u,a.visible=r===this.pickedSkillId} + this.pickContainer.y=100,this.lblSkillName.text=qG.getText(`ACTIVE_SKILL_NAME_${ + this.pickedSkillId} + `,t.SKILL_NAMES[this.pickedSkillId])||"",this.lblSkillDesc.text=qG.getText(`ACTIVE_SKILL_DESC_${ + this.pickedSkillId} + `,t.SKILL_DESCS[this.pickedSkillId])||"",this.lblGuide.text=qG.getText("GAME_205","스킬을 변경하시겠습니까?"),this.btnAction.showIconLabel=!0,this.btnAction.iconText="100",this.btnAction.text=qG.getText("GAME_206","스킬변경"),this.btnAction.color=tF.GREEN,this.btnCancel.text=qG.getText("COMMON_2","취소"),this.updateLayout()}
+ if(this.isSelectMode&&!this.isPickMode)return void this.enterSkillPick();
- if(OD.gem-=i,tH.getInstance().updateGem(),s=t?await pL.getInstance().user.openActiveSkillSlot(this.slotIndex,!0):await pL.getInstance().user.changeActiveSkill(this.slotIndex,!0),!1===s.success)return OD.gem+=i,tH.getInstance().updateGem(),void SG.getInstance().showError(s); + if(HD.gem-=i,gH.getInstance().updateGem(),s=t?await wL.getInstance().user.openActiveSkillSlot(this.slotIndex,!0):await wL.getInstance().user.changeActiveSkill(this.slotIndex,this.pickedSkillId,!0),!1===s.success)return HD.gem+=i,gH.getInstance().updateGem(),void BG.getInstance().showError(s);
- this.hide()} + this.isPickMode?this.updateSelectSlotUI():this.hide()}
- this.isSelectMode?e=this.selectContainer.y+((null==(i=this.slotLabels[0])?void 0:i.y)??0)+((null==(s=this.slotLabels[0])?void 0:s.height)??20)+40:(this.skillIcon.x=.5*(this.width-this.skillIcon.width),this.skillIcon.y=90,e=this.skillIcon.y+this.skillIcon.height+15),this.lblSkillName.x=30-t.OUTLINE_X_COMPENSATION,this.lblSkillName.y=e,this.lblSkillDesc.x=30,this.lblSkillDesc.y=this.lblSkillName.y+this.lblSkillName.height+10,this.lblGuide.x=30,this.lblGuide.y=this.lblSkillDesc.y+this.lblSkillDesc.height+25; + this.isPickMode?e=this.pickContainer.y+t.PICK_ROW_SPACING+.5*t.PICK_GLOW_SIZE+25:this.isSelectMode?e=this.selectContainer.y+((null==(i=this.slotLabels[0])?void 0:i.y)??0)+((null==(s=this.slotLabels[0])?void 0:s.height)??20)+40:(this.skillIcon.x=.5*(this.width-this.skillIcon.width),this.skillIcon.y=90,e=this.skillIcon.y+this.skillIcon.height+15),this.lblSkillName.x=30-t.OUTLINE_X_COMPENSATION,this.lblSkillName.y=e,this.lblSkillDesc.x=30,this.lblSkillDesc.y=this.lblSkillName.y+this.lblSkillName.height+10; + const n=this.isPickMode?this.pickDescReservedH:this.lblSkillDesc.height; + this.lblGuide.x=30,this.lblGuide.y=this.lblSkillDesc.y+n+25;
- zt(iH,"ActiveSkillPopup"),qt(iH,"_instance"),qt(iH,"SKILL_NAMES",["","심판의 번개","천지폭렬","하늘의 검","신성한 기도","구원의 날개","총병 소환","돌파의 뿔피리","질풍"]),qt(iH,"SKILL_DESCS",["","하늘에서 번개를 연속으로 내려, 적들에게 강력한 대미지를 줍니다. 최대 25마리의 적을 즉사시킵니다.","거대한 검을 소환하여 모든 적에게 현재 체력의 80%에 해당하는 대미지를 주고, 멀리 날려버립니다. 체력이 20% 이하인 적은 일정 확률로 즉사합니다.","하늘의 검을 소환하여, 모든 적을 일정시간동안 기절시킵니다. 최대 10마리의 적을 즉사시키고, 나머지 적들에게 현재 체력의 60%에 해당하는 대미지를 줍니다.","성을 치유하고, 쓰러진 영웅을 부활시키며, 살아있는 영웅의 체력을 회복시킵니다. 모든 아군에게 물리 또는 마법 보호막을 부여하고, 영웅의 공격력, 공속, 이속을 일정시간 크게 증가시킵니다.","천사를 소환하여 모든 아군과 성의 체력을 최대로 회복시키고, 일정시간동안 강력한 보호막을 부여합니다.","많은 수의 총병을 소환하여 일정시간 성을 방어합니다","뿔피리를 불어 한 층을 즉시 건너뜁니다. 싸우던 적은 그대로 남고, 건너뛴 층의 보상은 얻지 못합니다.","30초 동안 게임 속도가 100% 빨라집니다."]),qt(iH,"OUTLINE_X_COMPENSATION",2); + qt(mH,"ActiveSkillPopup"),Yt(mH,"_instance"),Yt(mH,"SKILL_NAMES",["","심판의 번개","천지폭렬","하늘의 검","신성한 기도","구원의 날개","총병 소환","돌파의 뿔피리","질풍"]),Yt(mH,"SKILL_DESCS",["","하늘에서 번개를 연속으로 내려, 적들에게 강력한 대미지를 줍니다. 최대 25마리의 적을 즉사시킵니다.","거대한 검을 소환하여 모든 적에게 현재 체력의 80%에 해당하는 대미지를 주고, 멀리 날려버립니다. 체력이 20% 이하인 적은 일정 확률로 즉사합니다.","하늘의 검을 소환하여, 모든 적을 일정시간동안 기절시킵니다. 최대 10마리의 적을 즉사시키고, 나머지 적들에게 현재 체력의 60%에 해당하는 대미지를 줍니다.","성을 치유하고, 쓰러진 영웅을 부활시키며, 살아있는 영웅의 체력을 회복시킵니다. 모든 아군에게 물리 또는 마법 보호막을 부여하고, 영웅의 공격력, 공속, 이속을 일정시간 크게 증가시킵니다.","천사를 소환하여 모든 아군과 성의 체력을 최대로 회복시키고, 일정시간동안 강력한 보호막을 부여합니다.","많은 수의 총병을 소환하여 일정시간 성을 방어합니다","뿔피리를 불어 한 층을 즉시 건너뜁니다. 싸우던 적은 그대로 남고, 건너뛴 층의 보상은 얻지 못합니다.","30초 동안 게임 속도가 100% 빨라집니다."]),Yt(mH,"OUTLINE_X_COMPENSATION",2),Yt(mH,"PICKABLE_SKILL_IDS",[1,2,3,4,5,6]),Yt(mH,"PICK_GLOW_SIZE",76),Yt(mH,"PICK_COL_SPACING",150),Yt(mH,"PICK_ROW_SPACING",95);
FullscreenLayer 2 hunks, 55 statements
- const nhi=class extends Kqt{ + const dhi=class t extends Fe{ + static getInstance(){ + return this._instance||(this._instance=new t),this._instance} + constructor(){ + super()} + } + ; + qt(dhi,"FullscreenLayer"),Yt(dhi,"_instance"); + let fhi=dhi; + const phi=class t{ + constructor(){ + Yt(this,"thresholdMin",t.DEFAULT_MINUTES),Yt(this,"lastInputAt",Date.now()),Yt(this,"timerId",null),Yt(this,"started",!1),Yt(this,"startPromise",null),Yt(this,"onInput",qt(()=>{ + this.lastInputAt=Date.now()} + ,"onInput"))} + static getInstance(){ + return this.instance||(this.instance=new t),this.instance} + get thresholdMinutes(){ + return this.thresholdMin} + setThresholdMinutes(t){ + this.thresholdMin=t,this.lastInputAt=Date.now(),KA.saveData(KA.KEY_AUTO_POWER_SAVE,t)} + start(){ + return this.startPromise||(this.startPromise=this.doStart()),this.startPromise} + async doStart(){ + if(this.started)return; + this.started=!0; + const i=await KA.getData(KA.KEY_AUTO_POWER_SAVE),s=Number(i); + this.thresholdMin=t.OPTIONS.includes(s)?s:t.DEFAULT_MINUTES; + const e=this.onInput; + document.addEventListener("pointerdown",e,{ + capture:!0,passive:!0} + ),document.addEventListener("keydown",e,{ + capture:!0,passive:!0} + ),this.lastInputAt=Date.now(),this.timerId=setInterval(()=>this.check(),t.CHECK_INTERVAL_MS)} + check(){ + this.thresholdMin<=0||(this.canAutoActivate()?Date.now()-this.lastInputAt<60*this.thresholdMin*1e3||(e0t.getInstance().activate(),this.lastInputAt=Date.now()):this.lastInputAt=Date.now())} + canAutoActivate(){ + return!(e0t.getInstance().isActive||"visible"!==document.visibilityState||!moi.getInstance().isIdleBattleActive()||XD.getInstance().hasPopup||fhi.getInstance().children.length>0||nF.getInstance().children.length>0||Xei.getInstance().activated)} + } + ; + qt(phi,"PowerSaveIdleWatcher"),Yt(phi,"instance"),Yt(phi,"OPTIONS",[0,1,5,15]),Yt(phi,"DEFAULT_MINUTES",15),Yt(phi,"CHECK_INTERVAL_MS",5e3); + let ghi=phi; + const mhi=Object.freeze(Object.defineProperty({ + __proto__:null,PowerSaveIdleWatcher:ghi} + ,Symbol.toStringTag,{ + value:"Module"} + )),whi=class extends Zqt{
- const fai=class t extends Ue{ - static getInstance(){ - return this._instance||(this._instance=new t),this._instance} - constructor(){ - super()} - } - ; - zt(fai,"FullscreenLayer"),qt(fai,"_instance"); - let pai=fai;
WebGLContextRecovery 1 hunks, 54 statements
+ static get contextLostCount(){ + return this.lostCount} + static install(t){ + if(this.installed)return; + const i=null==t?void 0:t.canvas; + i&&"function"==typeof i.addEventListener&&(this.app=t,this.installed=!0,i.addEventListener("webglcontextlost",this.onContextLost.bind(this),!1),i.addEventListener("webglcontextrestored",this.onContextRestored.bind(this),!1))} + static onContextLost(t){ + t.preventDefault(),this.lostCount++} + static onContextRestored(){ + this.refreshAllTexts()<0&&this.reloadOnce()} + static refreshAllTexts(){ + var t,i,s,e; + const n=this.app; + if(!n)return-1; + try{ + const h=n.renderer,r=null==(t=null==h?void 0:h.renderPipes)?void 0:t.text,o=null==(i=null==r?void 0:r._managedTexts)?void 0:i.items; + if(!o||"object"!=typeof o)return-1; + const a=h.uid,c=[]; + for(const t in o){ + const i=o[t]; + if(i)try{ + const t=null==(s=i._gpuData)?void 0:s[a]; + t&&(t.currentKey="--"),c.push(i)} + catch{ + } + } + const l=h.canvasText; + l&&l._activeTextures&&(l._activeTextures={ + } + ); + let u=0; + for(const t of c)try{ + null==(e=t.onViewUpdate)||e.call(t),u++} + catch{ + } + return u} + catch(h){ + return-1} + } + static reloadOnce(){ + try{ + if("Y"===sessionStorage.getItem(this.RELOAD_FLAG_KEY))return; + sessionStorage.setItem(this.RELOAD_FLAG_KEY,"Y")} + catch{ + } + window.location.reload()} + } + ; + qt(rS,"WebGLContextRecovery"),Yt(rS,"RELOAD_FLAG_KEY","ekkorr.glContextReloaded"),Yt(rS,"app",null),Yt(rS,"installed",!1),Yt(rS,"lostCount",0); + let oS=rS; + const aS=class t{ + static getSafeResolution(){ + const t=window.devicePixelRatio||1; + return Math.min(t,this.MAX_RESOLUTION)}
GameUpdatePopup 1 hunks, 35 statements
+ super(),Yt(this,"lblMessage"),Yt(this,"btnConfirm"),Yt(this,"delayCount",0),this.outSideClickHide=!1,this.title=qG.getText("COMMON_4","알림"),this.lblMessage=new mD("게임 데이터가 업데이트 되었습니다.\n게임을 재실행 해주세요.",bL.DEFAULT_COLOR,{ + fontFamily:"Arial",fill:14988422,fontSize:20,fontWeight:"bold",lineHeight:30,align:"center"} + ),this.lblMessage.y=90,bL.setLabelWrapWidth(this.lblMessage,470),this.addChild(this.lblMessage),this.btnConfirm=new vG("업데이트 하러 가기"),this.btnConfirm.width=200,this.addChild(this.btnConfirm),this.btnConfirm.onClick=this.onConfirmBtn.bind(this),this.updateLayout()} + static getInstance(){ + return this._instance||(this._instance=new t),this._instance} + updateLayout(){ + this.lblMessage.x=.5*(this.width-this.lblMessage.width),this.btnConfirm.x=.5*(this.width-this.btnConfirm.width),this.btnConfirm.y=this.lblMessage.y+this.lblMessage.height+40,this.height=this.btnConfirm.y+this.btnConfirm.height+50} + async onConfirmBtn(){ + const t=$D.getInstance().getStoreLink(); + t&&window.open(t,"_blank"); + try{ + const{ + getPlatform:t} + =await Zt(async()=>{ + const{ + getPlatform:t} + =await Promise.resolve().then(()=>lG); + return{ + getPlatform:t} + } + ,void 0); + t().exitApp()} + catch(i){ + } + } + showDelay(){ + this.title=qG.getText("COMMON_4","알림"),this.lblMessage.text=qG.getText("COMMON_497","최신 버전으로 업데이트 후에 이용해 주세요."),this.btnConfirm.text=qG.getText("COMMON_501","업데이트 하러 가기"),this.updateLayout(),UM.getInstance().add(this.delay,this)} + delay(){ + ++this.delayCount<30||(this.delayCount=0,UM.getInstance().remove(this.delay,this),XD.getInstance().removeAll(),this.show())} + } + ; + qt(LG,"GameUpdatePopup"),Yt(LG,"_instance"); + let DG=LG; + const GG=class t extends IG{ + constructor(){
AttendanceAutoTrigger 4 hunks, 35 statements
+ const Ici=3e5; + let kci=0,Oci=!1; + function xci(){ + Oci||(Oci=!0,document.addEventListener("visibilitychange",()=>{ + if("hidden"===document.visibilityState)return void(kci=Date.now()); + if(0===kci)return; + const t=Date.now()-kci; + kci=0,t<Ici||Zt(async()=>{ + const{ + BattleManager:t} + =await Promise.resolve().then(()=>woi); + return{ + BattleManager:t} + } + ,void 0).then(({ + BattleManager:t} + )=>{ + t.getInstance().isIdleBattleActive()&&window.location.reload()} + )} + ))}
+ xci();
+ PowerSaveIdleWatcher:t} + =await Promise.resolve().then(()=>mhi); + return{ + PowerSaveIdleWatcher:t} + } + ,void 0).then(({ + PowerSaveIdleWatcher:t} + )=>{ + t.getInstance().start()} + ).catch(()=>{ + } + ),Zt(async()=>{ + const{
- zt(mci,"checkOfflineMarch"),zt(wci,"onGameMainStart"),zt(vci,"updateUserData"),zt(_ci,"onAfConversionData"),zt(bci,"updateProgress"),zt(yci,"setPushSettings"),zt(Mci,"setupPush"); + qt(xci,"registerBackgroundReloadWatcher"),qt(Rci,"checkOfflineMarch"),qt(Pci,"onGameMainStart"),qt(Nci,"updateUserData"),qt(Lci,"onAfConversionData"),qt(Dci,"updateProgress"),qt(Gci,"setPushSettings"),qt(Bci,"setupPush");
ReviveTeamDataManager 1 hunks, 33 statements
+ Yt(this,"kindNums",[]),Yt(this,"trans",[]),Yt(this,"loaded",!1),Yt(this,"loading",null)} + static getInstance(){ + return null==this.instance&&(this.instance=new t),this.instance} + ensureLoaded(){ + return this.loaded?Promise.resolve():(this.loading||(this.loading=(async()=>{ + var t; + try{ + const i=await wL.getInstance().user.getReviveTeam(); + !1!==(null==i?void 0:i.success)&&this.setFromTeamStr(String((null==(t=null==i?void 0:i.body)?void 0:t.team)??""))} + catch(Fet){ + } + finally{ + this.loading=null} + } + )()),this.loading)} + setFromTeamStr(t){ + this.kindNums=[],this.trans=[]; + for(const i of String(t||"").split("|")){ + const[t,s]=i.split("-").map(Number); + t>0&&(this.kindNums.push(t),this.trans.push(s||0))} + this.loaded=!0} + get hasTeam(){ + return this.loaded&&this.kindNums.length>0} + get kindNumsList(){ + return this.kindNums} + get transList(){ + return this.trans} + } + ; + qt(rH,"ReviveTeamDataManager"),Yt(rH,"instance"); + let oH=rH; + const aH=class t{ + constructor(){
TowerClearDeckPopup 3 hunks, 23 statements
- async open(t,i){ + async open(t,i,s=null){
- s&&!1!==s.success&&s.body?(this.applyCallback=i,this.recentList=Array.isArray(s.body.recent)?s.body.recent:[],this.bestList=Array.isArray(s.body.best)?s.body.best:[],this.title=`${ + if(!e||!1===e.success||!e.body)return void BG.getInstance().showError(e); + this.applyCallback=i,this.title=`${
- F`,X0t.onLikeClick=this.onClickLike.bind(this),X0t.onApplyClick=this.onClickApply.bind(this),this.setTab("recent"),this.show()):SG.getInstance().showError(s)} + F`; + const n=Array.isArray(e.body.recent)?e.body.recent:[]; + this.recentList=this.validate(n,s); + const h=Array.isArray(e.body.best)?e.body.best:[]; + this.bestList=this.validate(h,s),n1t.onLikeClick=this.onClickLike.bind(this),n1t.onApplyClick=this.onClickApply.bind(this),this.setTab("recent"),this.show()} + validate(t,i){ + var s; + if(!t)return[]; + if(!i)return t; + const e=i.star1,n=i.gradeMax,h=[],r=t.length; + for(let o=0; + o<r; + ++o)((null==(s=t[o].deck)?void 0:s.split("|"))??[]).filter(t=>{ + if(!t.includes("_"))return!1; + const[i]=t.split("_"); + if(!Number.isInteger(i)||i<1)return!1; + const s=Mx.getInstance().getBookVO(i); + return!(!s||s.grade>n)} + ).length>e||h.push(t[o]); + return h}
PetPopup 2 hunks, 21 statements
- (null==(i=null==t?void 0:t.body)?void 0:i.spirit)&&(ED.getInstance().setData(t.body.spirit),this.updateFavoritePets()),this.spiritLoadPromise=null} + (null==(i=null==t?void 0:t.body)?void 0:i.spirit)&&ND.getInstance().setData(t.body.spirit),this.spiritLoadPromise=null}
- async updateFavoritePets(){ - var t; - const i=ED.getInstance(),s=Math.floor(OD.maxWave/100),e=[],n=[],h=i.favoritePets.length; - let r; - for(let a=0; - a<h; - ++a){ - r=i.getStagesByPetKindNum(i.favoritePets[a]); - let t=0; - const h=r.length; - for(let e=0; - e<h&&!(r[e].reqLevel>s); - ++e){ - const s=i.getStageVO(r[e].kindNum); - if(!s||s.star<=0)break; - t++} - 0===t?n.push(i.favoritePets[a]):e.push(i.favoritePets[a])} - if(0==n.length)return; - const o=await pL.getInstance().spirit.saveFavoritePets(e); - o.success&&(null==(t=o.body)?void 0:t.spirit)&&ED.getInstance().setData(o.body.spirit)}
AttestManager 4 hunks, 20 statements
- if(YA.isAppBundleVersionLessThan("1.12.93"))return!0; + if(XA.isAppBundleVersionLessThan("1.13.91"))return!0;
- return this.showMessage(this.getMessage(t)),!1} + return await this.attest(t,null,i,2,s)}
- async attest(t,i,s,e){ - const n=(null==i?void 0:i.token)??"",h=await pL.getInstance().system.attest(n,s,e); + async attest(t,i,s,e,n=null){ + const h=(null==i?void 0:i.token)??"",r=await this.getSig(),o=await wL.getInstance().system.attest(h,r,s,e,n);
+ async getSig(){ + try{ + const{ + AppSig:t} + =await Zt(async()=>{ + const{ + AppSig:t} + =await Promise.resolve().then(()=>dpi); + return{ + AppSig:t} + } + ,void 0),i=await t.getSig(); + return i?i.sha256:""} + catch(t){ + return""} + }
SettingGameInfo 7 hunks, 18 statements
- super(),qt(this,"titleBar"),qt(this,"bgmTxt"),qt(this,"bgmBtn"),qt(this,"sfxTxt"),qt(this,"sfxBtn"),qt(this,"effectTxt"),qt(this,"effectBtn"),qt(this,"hapticTxt"),qt(this,"hapticBtn"),qt(this,"pushTxt"),qt(this,"pushBtn"),qt(this,"pushNightTxt"),qt(this,"pushNightBtn"),qt(this,"powerTxt"),qt(this,"powerBtn"),qt(this,"isBgmOnOrig",!0),qt(this,"isSfxOnOrig",!0),qt(this,"isEffectOnOrig",!0),qt(this,"isHapticOnOrig",!0),this.titleBar=new Eei(LG.getText("COMMON_272","게임 설정")),this.addChild(this.titleBar); + super(),Yt(this,"titleBar"),Yt(this,"bgmTxt"),Yt(this,"bgmBtn"),Yt(this,"sfxTxt"),Yt(this,"sfxBtn"),Yt(this,"effectTxt"),Yt(this,"effectBtn"),Yt(this,"hapticTxt"),Yt(this,"hapticBtn"),Yt(this,"pushTxt"),Yt(this,"pushBtn"),Yt(this,"pushNightTxt"),Yt(this,"pushNightBtn"),Yt(this,"powerTxt"),Yt(this,"powerBtn"),Yt(this,"autoPowerTxt"),Yt(this,"autoPowerBtn"),Yt(this,"isBgmOnOrig",!0),Yt(this,"isSfxOnOrig",!0),Yt(this,"isEffectOnOrig",!0),Yt(this,"isHapticOnOrig",!0),this.titleBar=new xei(qG.getText("COMMON_272","게임 설정")),this.addChild(this.titleBar);
- (야간)`,t.fill,t),this.addChild(this.pushNightTxt),this.pushNightBtn=new hhi("ON"),this.addChild(this.pushNightBtn),this.pushNightBtn.onClick=this.onPushNightBtnClick.bind(this),this.powerTxt=new hD(LG.getText("GAME_410","절전모드"),t.fill,t),this.addChild(this.powerTxt),this.powerBtn=new hhi("OFF"),this.powerBtn.enabled=!1,this.addChild(this.powerBtn),this.powerBtn.onClick=this.onPowerBtnClick.bind(this),this.updateLayout()} + (야간)`,t.fill,t),this.addChild(this.pushNightTxt),this.pushNightBtn=new vhi("ON"),this.addChild(this.pushNightBtn),this.pushNightBtn.onClick=this.onPushNightBtnClick.bind(this),this.powerTxt=new mD(qG.getText("GAME_410","절전모드"),t.fill,t),this.addChild(this.powerTxt),this.powerBtn=new vhi("OFF"),this.powerBtn.enabled=!1,this.addChild(this.powerBtn),this.powerBtn.onClick=this.onPowerBtnClick.bind(this),this.autoPowerTxt=new mD(qG.getText("COMMON_483","자동"),t.fill,t),this.addChild(this.autoPowerTxt),this.autoPowerBtn=new vhi(""),this.addChild(this.autoPowerBtn),this.autoPowerBtn.onClick=this.onAutoPowerBtnClick.bind(this),this.updateAutoPowerBtn(),this.updateLayout()}
- const t=RD.getInstance(),i=.5*this.titleBar.width+10; + const t=$D.getInstance(),i=10,s=.5*this.titleBar.width+i;
- h>1&&(s.push(this.powerBtn),e.push(this.powerTxt)); + r>1&&(e.push(this.powerBtn),n.push(this.powerTxt),e.push(this.autoPowerBtn),n.push(this.autoPowerTxt));
- ++d)r=s[d],o=e[d],0==d&&(a=.5*this.titleBar.width-r.width-10),1==d&&(c=this.titleBar.width-r.width-10),d%2==0?(r.x=a,r.y=l,wL.setLabelWrapWidth(o,r.x-10),o.x=10,o.y=r.y+.5*(r.height-o.height)):(r.x=c,r.y=l,wL.setLabelWrapWidth(o,r.x-i),o.x=i,o.y=r.y+.5*(r.height-o.height),l+=r.height+5); - 1==h&&(r=s[s.length-1],s.length%2==1&&(l+=r.height+5),r=this.powerBtn,o=this.powerTxt,r.x=c,r.y=l,wL.setLabelWrapWidth(o,r.x-10),o.x=10,o.y=r.y+.5*(r.height-o.height))} + ++f)o=e[f],a=n[f],0==f&&(c=.5*this.titleBar.width-o.width-10),1==f&&(l=this.titleBar.width-o.width-10),f%2==0?(o.x=c,o.y=u,bL.setLabelWrapWidth(a,o.x-i),a.x=i,a.y=o.y+.5*(o.height-a.height)):(o.x=l,o.y=u,bL.setLabelWrapWidth(a,o.x-s),a.x=s,a.y=o.y+.5*(o.height-a.height),u+=o.height+5); + 1==r&&(o=e[e.length-1],e.length%2==1&&(u+=o.height+5),o=this.powerBtn,a=this.powerTxt,o.x=l,o.y=u,bL.setLabelWrapWidth(a,o.x-i),a.x=i,a.y=o.y+.5*(o.height-a.height),u+=o.height+5,o=this.autoPowerBtn,a=this.autoPowerTxt,o.x=l,o.y=u,bL.setLabelWrapWidth(a,o.x-i),a.x=i,a.y=o.y+.5*(o.height-a.height))}
- this.powerTxt.text=LG.getText("GAME_410","절전모드"),this.powerBtn.enabled=!1,this.updateLayout()} + this.powerTxt.text=qG.getText("GAME_410","절전모드"),this.powerBtn.enabled=!1,this.autoPowerTxt.text=qG.getText("COMMON_483","자동"),await ghi.getInstance().start(),this.updateAutoPowerBtn(),this.updateLayout()}
+ onAutoPowerBtnClick(){ + const t=ghi.OPTIONS,i=ghi.getInstance().thresholdMinutes; + let s=t.indexOf(i); + s<0&&(s=t.indexOf(ghi.DEFAULT_MINUTES)); + const e=t[(s+1)%t.length]; + ghi.getInstance().setThresholdMinutes(e),this.updateAutoPowerBtn()} + updateAutoPowerBtn(){ + const t=ghi.getInstance().thresholdMinutes; + this.autoPowerBtn.text=t<=0?qG.getText("COMMON_367","없음"):qG.getValueReplace("COMMON_433","##",t,`${ + t} + 분`),this.autoPowerBtn.color=t<=0?Zqt.COLOR_GRAY:Zqt.COLOR_SAND_BROWN}
PowerSaveManager 6 hunks, 17 statements
+ get sliderProgress(){ + const t=this.sliderMinX,i=this.sliderMaxX; + return i<=t?0:(this.sliderHandle.x-t)/(i-t)}
- i<s&&(i=s),i>e&&(i=e),this.sliderHandle.x=i,this.updateSliderFill(),i>=e-1&&(this.sliderDragging=!1,this.resetSlider(),this.deactivate())} + i<s&&(i=s),i>e&&(i=e),this.sliderHandle.x=i,this.updateSliderFill()}
- this.sliderDragging&&(this.sliderDragging=!1,WO.killTweensOf(this.sliderHandle),WO.to(this.sliderHandle,{ + if(this.sliderDragging){ + if(this.sliderDragging=!1,this.sliderProgress>=t.RELEASE_RATIO)return VO.killTweensOf(this.sliderHandle),this.resetSlider(),void this.deactivate(); + VO.killTweensOf(this.sliderHandle),VO.to(this.sliderHandle,{
- ))} + )} + }
- this.sliderFill.clear(),h>e&&(this.sliderFill.roundRect(i,s,Math.min(h,t.SLIDER_W),e,e/2),this.sliderFill.fill({ - color:2771578,alpha:.55} - ))} + if(this.sliderFill.clear(),h>e){ + this.sliderFill.roundRect(i,s,Math.min(h,t.SLIDER_W),e,e/2); + const n=this.sliderProgress>=t.RELEASE_RATIO; + this.sliderFill.fill({ + color:n?4882376:2771578,alpha:n?.8:.55} + )} + }
- zt(qZt,"PowerSaveManager"),qt(qZt,"instance"),qt(qZt,"SLIDER_X",140),qt(qZt,"SLIDER_Y",632),qt(qZt,"SLIDER_W",360),qt(qZt,"SLIDER_H",56),qt(qZt,"HANDLE_W",66),qt(qZt,"HANDLE_PAD",4); + qt(s0t,"PowerSaveManager"),Yt(s0t,"instance"),Yt(s0t,"SLIDER_X",140),Yt(s0t,"SLIDER_Y",632),Yt(s0t,"SLIDER_W",360),Yt(s0t,"SLIDER_H",56),Yt(s0t,"HANDLE_W",66),Yt(s0t,"HANDLE_PAD",4),Yt(s0t,"RELEASE_RATIO",.85);
Mo 12 hunks, 14 statements
- var Ust,Fst,Hst,Wst=vst; + var tet,iet,set,eet=Pst;
- ),Hst=Z8&&Z8.__exportStar||function(t,i){ + ),set=p7&&p7.__exportStar||function(t,i){
- ),Hst(v7,Ust),Hst(ait,Ust),Hst(oit,Ust),Hst(wit,Ust); + ),set(P7,tet),set(Eit,tet),set(Mit,tet),set(Rit,tet);
- const Jst=Y5("KeyExchange:Layer"),Qst=Y5("SocketService:Layer"),Zst=Y5("Ecies:Layer"),tet=Y5("RemoteCommunication:Layer"); - Jst.color="##95c44e",Qst.color="#f638d7",Zst.color="#465b9c",tet.color="#47a2be"; + const fet=l3("KeyExchange:Layer"),pet=l3("SocketService:Layer"),get=l3("Ecies:Layer"),met=l3("RemoteCommunication:Layer"); + fet.color="##95c44e",pet.color="#f638d7",get.color="#465b9c",met.color="#47a2be";
- KeyExchange:Jst,SocketService:Qst,Ecies:Zst,RemoteCommunication:tet} + KeyExchange:fet,SocketService:pet,Ecies:get,RemoteCommunication:met}
- let set,eet=[],net=[]; + let vet,_et=[],bet=[];
- set=i,net.push(t),function(t){ + vet=i,bet.push(t),function(t){
- if(!set||!t)return; + if(!vet||!t)return;
- const i=set.endsWith("/")?`${ - set} + const i=vet.endsWith("/")?`${ + vet}
- set} + vet}
- function get(t){ + function xet(t){
- zt(get,"bo"),zt(met,"wo"),(Eet=wet||(wet={ + qt(xet,"bo"),qt(Ret,"wo"),(Uet=Pet||(Pet={
RebirthMedalManager 2 hunks, 13 statements
- const s=ux.getInstance().getRebirthMedalPetDelta(),e=_x.getInstance(),n=e.getGlobalTransMedalBonusPct(OR.getWaterDragonOwnedMedalCapBonus()),h=e.getCurrentTeamTransMedalBonusPct(),r=OR.getWaterDragonTeamMedalBonus(e.getTeamIds()),o=KF.getInstance().getEffectiveKindNums(); + const s=px.getInstance().getRebirthMedalPetDelta(),e=Mx.getInstance(),n=e.getGlobalTransMedalBonusPct(PR.getWaterDragonOwnedMedalCapBonus()),h=e.getCurrentTeamTransMedalBonusPct(),r=PR.getWaterDragonTeamMedalBonus(e.getTeamKindNums()),o=hH.getInstance().getEffectiveKindNums();
+ getExpectedMedal(t){ + const i=oH.getInstance(); + if(!i.hasTeam)return this.getExpectedNormalMedal(t); + const s=this.getMedal(t); + if(s<=0)return 0; + const e=i.kindNumsList,n=i.transList,h=Nx.getInstance(),r=XR.getInstance().getGameplayMultiplier(Rx.MedalBuff),o=h.getTotal(Rx.MedalBuff),a=h.calcTotalForKindNums(e,Rx.MedalBuff),c=px.getInstance().getRebirthMedalPetDelta(),l=Mx.getInstance(),u=l.getGlobalTransMedalBonusPct(PR.getWaterDragonOwnedMedalCapBonus()),d=l.calcTeamTransMedalBonusPct(e,n),f=PR.getWaterDragonTeamMedalBonus(e),p=hH.getInstance().getEffectiveKindNums(); + let g=0; + if(p){ + const t=tR.getInstance(); + g=t.getMedalTotalForKindNums(p)-t.getMedalTotalForKindNums(Kx.getInstance().equipedKindNums)} + const m=r-.01*o+.01*a+.01*c+.01*(u+d+f)+.01*g; + return Math.floor(s*m)}
EmblemBookVO 2 hunks, 10 statements
- )),CQt=[[1,"atkDmg","STAT","RAID","CORP","multi","2|5",1,2,"공격력 증가","Y"],[2,"maxHp","STAT","RAID","CORP","multi","1|2|3|4|5",1,1,"최대 HP 증가","Y"],[3,"defense","STAT","RAID","CORP","multi","1|3|4",1,0,"방어력 증가","Y"],[4,"atkSpd","STAT","RAID","CORP","multi","2|4|5",1,4,"공격속도 증가","Y"],[5,"moveSpd","STAT","RAID","CORP","multi","1|2|5",1,0,"이동속도 증가","Y"],[6,"atkRange","STAT","RAID","CORP","multi","2|4",1,0,"공격거리 증가","Y"],[7,"aggroGen","STAT","RAID","CORP","multi","1",1,0,"어그로 생성량 증가","Y"],[8,"aggroDown","STAT","RAID","CORP","multi","2|3|4|5",1,0,"어그로 생성량 감소","Y"],[9,"dmgTaken","STAT","RAID","CORP","multi","1|3",1,0,"받는 피해 감소","Y"],[10,"critRate","STAT","RAID","CORP","add","2|5",1,0,"치명타 확률 증가","Y"],[11,"critDmg","STAT","RAID","CORP","add","2|5",2,0,"치명타 피해 증가","Y"],[12,"lifeSteal","STAT","RAID","CORP","add","2",3,0,"가한 피해의 일부 HP 흡수","Y"],[13,"healCycle","STAT","RAID","CORP","add","1|3",1,0,"5초마다 군단 HP 회복","Y"],[14,"healPower","STAT","RAID","CORP","add","3",1,3,"회복량 증폭","Y"],[15,"manaGain","STAT","RAID","CORP","multi","3|4",1,0,"마나 회복 속도 증가","Y"],[16,"debuffTime","STAT","RAID","CORP","multi","4",1,0,"거는 디버프 지속시간 증가","Y"],[17,"thorns","STAT","RAID","CORP","add","1",1,0,"피격 시 공격력 비례 반격","Y"],[21,"resFreeze","RESIST","RAID","CORP","add","3|4",1,0,"빙결 시간 감소 (6등급 면역)","Y"],[22,"resStun","RESIST","RAID","CORP","add","1|2|3|5",1,0,"기절 시간 감소 (6등급 면역)","Y"],[23,"resKnockback","RESIST","RAID","CORP","add","1|2",1,0,"넉백 감소 (6등급 면역)","Y"],[24,"resBlow","RESIST","RAID","CORP","add","1|2|3|5",1,0,"블로우 감소 (6등급 면역)","Y"],[31,"staminaHit","GIMMICK","RAID","BOSS","add","4|5",3,5,"타격당 보스 기력 추가 소진","Y"],[32,"exhaustDmg","GIMMICK","RAID","CORP","add","2|5",3,0,"그로기 중 딜 증가","Y"],[33,"exhaustTime","GIMMICK","RAID","BOSS","add","4|5|6",4,0,"그로기 지속시간 증가","Y"],[34,"weakBonus","GIMMICK","RAID","CORP","add","2|4",3,0,"약점 노출 창 동안 딜 증가","Y"],[35,"activeCool","GIMMICK","RAID","SELF","add","1|2|3|4|5|6",1,0,"이 휘장 액티브 쿨다운 감소","Y"],[36,"activeDur","GIMMICK","RAID","SELF","add","1|3|4",1,0,"이 휘장 액티브 지속시간 증가","Y"],[37,"activePower","GIMMICK","RAID","SELF","add","2|3|4|5|6",3,0,"이 휘장 액티브 위력 증폭","Y"],[38,"dashSpeed","GIMMICK","RAID","CORP","add","1",5,0,"군단 이동 명령 대시 속도 증가 (일반 이속과 별개)","Y"],[41,"crossbowDmg","CROSSBOW","RAID","CROSSBOW","add","6",1,0,"석궁 데미지 증가","Y"],[42,"weakpointWound","CROSSBOW","RAID","BOSS","add","6",1,0,"상처 가르기 강화 — 보스 받는 피해 증가 추가","Y"],[43,"reloadSpd","CROSSBOW","RAID","CROSSBOW","add","6",1,0,"석궁 에너지 충전 속도 증가","Y"],[44,"chargeBonus","CROSSBOW","RAID","CROSSBOW","add","6",2,0,"전투 시작·발사 후 석궁 에너지 +N%p","Y"],[45,"weakWindow","CROSSBOW","RAID","CROSSBOW","add","6",3,0,"약점 노출 창 지속시간 증가","Y"],[46,"missRefund","CROSSBOW","RAID","CROSSBOW","add","6",1,0,"작살 실패 시(인터럽트 실패) 에너지 N%까지 충전","Y"],[47,"critArrow","CROSSBOW","RAID","CROSSBOW","add","6",2,0,"작살 치명타 확률","Y"],[49,"exhaustArrow","CROSSBOW","RAID","CROSSBOW","add","6",2,0,"그로기 보스에게 작살 데미지 증가","Y"],[51,"tankReload","CROSSBOW","RAID","CROSSBOW","add","6",4,0,"{ + )),NQt=[[1,"atkDmg","STAT","RAID","CORP","multi","2|5",1,2,"공격력 증가","Y"],[2,"maxHp","STAT","RAID","CORP","multi","1|2|3|4|5",1,1,"최대 HP 증가","Y"],[3,"defense","STAT","RAID","CORP","multi","1|3|4",1,0,"방어력 증가","Y"],[4,"atkSpd","STAT","RAID","CORP","multi","2|4|5",1,4,"공격속도 증가","Y"],[5,"moveSpd","STAT","RAID","CORP","multi","1|2|5",1,0,"이동속도 증가","Y"],[6,"atkRange","STAT","RAID","CORP","multi","2|4",1,0,"공격거리 증가","Y"],[7,"aggroGen","STAT","RAID","CORP","multi","1",1,0,"어그로 생성량 증가","Y"],[8,"aggroDown","STAT","RAID","CORP","multi","2|3|4|5",1,0,"어그로 생성량 감소","Y"],[9,"dmgTaken","STAT","RAID","CORP","multi","1|3",1,0,"받는 피해 감소","Y"],[10,"critRate","STAT","RAID","CORP","add","2|5",1,0,"치명타 확률 증가","Y"],[11,"critDmg","STAT","RAID","CORP","add","2|5",2,0,"치명타 피해 증가","Y"],[12,"lifeSteal","STAT","RAID","CORP","add","2",3,0,"가한 피해의 일부 HP 흡수","Y"],[13,"healCycle","STAT","RAID","CORP","add","1|3",1,0,"5초마다 군단 HP 회복","Y"],[14,"healPower","STAT","RAID","CORP","add","3",1,3,"회복량 증폭","Y"],[15,"manaGain","STAT","RAID","CORP","multi","3|4",1,0,"마나 회복 속도 증가","Y"],[16,"debuffTime","STAT","RAID","CORP","multi","4",1,0,"거는 디버프 지속시간 증가","Y"],[17,"thorns","STAT","RAID","CORP","add","1",1,0,"피격 시 공격력 비례 반격","Y"],[21,"resFreeze","RESIST","RAID","CORP","add","3|4",1,0,"빙결 시간 감소 (6등급 면역)","Y"],[22,"resStun","RESIST","RAID","CORP","add","1|2|3|5",1,0,"기절 시간 감소 (6등급 면역)","Y"],[23,"resKnockback","RESIST","RAID","CORP","add","1|2",1,0,"넉백 감소 (6등급 면역)","Y"],[24,"resBlow","RESIST","RAID","CORP","add","1|2|3|5",1,0,"블로우 감소 (6등급 면역)","Y"],[31,"staminaHit","GIMMICK","RAID","BOSS","add","4|5",3,5,"타격당 보스 기력 추가 소진","Y"],[32,"exhaustDmg","GIMMICK","RAID","CORP","add","2|5",3,0,"그로기 중 딜 증가","Y"],[33,"exhaustTime","GIMMICK","RAID","BOSS","add","4|5|6",4,0,"그로기 지속시간 증가","Y"],[34,"weakBonus","GIMMICK","RAID","CORP","add","2|4",3,0,"약점 노출 창 동안 딜 증가","Y"],[35,"activeCool","GIMMICK","RAID","SELF","add","1|2|3|4|5|6",1,0,"쿨다운 -{ + v} + %","Y"],[36,"activeDur","GIMMICK","RAID","SELF","add","1|3|4",1,0,"지속시간 +{ + v} + %","Y"],[37,"activePower","GIMMICK","RAID","SELF","add","2|3|4|5|6",3,0,"효과 +{ + v} + %","Y"],[38,"dashSpeed","GIMMICK","RAID","CORP","add","1",5,0,"군단 이동 명령 대시 속도 증가 (일반 이속과 별개)","Y"],[41,"crossbowDmg","CROSSBOW","RAID","CROSSBOW","add","6",1,0,"석궁 데미지 증가","Y"],[42,"weakpointWound","CROSSBOW","RAID","BOSS","add","6",1,0,"상처 가르기 강화 — 보스 받는 피해 증가 추가","Y"],[43,"reloadSpd","CROSSBOW","RAID","CROSSBOW","add","6",1,0,"석궁 에너지 충전 속도 증가","Y"],[44,"chargeBonus","CROSSBOW","RAID","CROSSBOW","add","6",2,0,"전투 시작·발사 후 석궁 에너지 +N%p","Y"],[45,"weakWindow","CROSSBOW","RAID","CROSSBOW","add","6",3,0,"약점 노출 창 지속시간 증가","Y"],[46,"missRefund","CROSSBOW","RAID","CROSSBOW","add","6",1,0,"작살 실패 시(인터럽트 실패) 에너지 N%까지 충전","Y"],[47,"critArrow","CROSSBOW","RAID","CROSSBOW","add","6",2,0,"작살 치명타 확률","Y"],[49,"exhaustArrow","CROSSBOW","RAID","CROSSBOW","add","6",2,0,"그로기 보스에게 작살 데미지 증가","Y"],[51,"tankReload","CROSSBOW","RAID","CROSSBOW","add","6",4,0,"{
- ,PQt={ + ,HQt=/[{ + (](?:v|dur)[} + )]/i,WQt={
RightBottomMenus 6 hunks, 9 statements
- super(),qt(this,"btnDungeon",new RB("UI_Ekkorr","HeroGrade6")),qt(this,"btnIdle",new RB("UI_Ekkorr","HeroGrade4")),qt(this,"btnMap3",new RB("UI_Ekkorr","HeroGrade2")),qt(this,"btnMap4",new RB("UI_Ekkorr","HeroGrade16")),qt(this,"btnRaidBosses",[]),qt(this,"btnBuff",new RB("UI_Ekkorr","HeroGrade10")),qt(this,"btnMine",new RB("UI_Ekkorr","HeroGrade12")),qt(this,"btnCardEvent",new RB("UI_Ekkorr","HeroGrade14")),qt(this,"btnConquest",new RB("UI_Ekkorr","HeroGrade8")),qt(this,"healthOrb",QZt.getInstance()),qt(this,"waveCallInfo",n0t.getInstance()),qt(this,"timeShiftGauge",new s0t),qt(this,"btnWaveSetting",new RB("UI_Ekkorr","smallSetting")),qt(this,"waveSettingFrameCnt",0),this.healthOrb.x=640-.5*this.healthOrb.width-3,this.healthOrb.y=13,this.addChild(this.healthOrb),this.waveCallInfo.x=10,this.waveCallInfo.y=t.WAVE_CALL_BASE_Y,this.addChild(this.waveCallInfo),this.waveCallInfo.eventMode="static",this.waveCallInfo.on("pointerup",this.getNextWave,this),this.waveCallInfo.start(),this.timeShiftGauge.x=this.waveCallInfo.x+62,this.timeShiftGauge.y=this.waveCallInfo.y,this.addChild(this.timeShiftGauge),this.btnWaveSetting.x=this.timeShiftGauge.x+48+12,this.btnWaveSetting.y=this.waveCallInfo.y+.5*(40-this.btnWaveSetting.height),this.addChild(this.btnWaveSetting),this.btnWaveSetting.on("pointerup",this.onWaveSetting,this),this.btnWaveSetting.visible=!1,BM.getInstance().add(this.onWaveSettingFrame,this),Izt.getInstance().x=0,Izt.getInstance().y=-13,this.addChild(Izt.getInstance()),Izt.getInstance().onVisibilityChanged=()=>this.layoutWaveCall(),this.btnDungeon.x=500,this.btnDungeon.y=0; + super(),Yt(this,"btnDungeon",new VB("UI_Ekkorr","HeroGrade6")),Yt(this,"btnIdle",new VB("UI_Ekkorr","HeroGrade4")),Yt(this,"btnMap3",new VB("UI_Ekkorr","HeroGrade2")),Yt(this,"btnMap4",new VB("UI_Ekkorr","HeroGrade16")),Yt(this,"btnRaidBosses",[]),Yt(this,"btnBuff",new VB("UI_Ekkorr","HeroGrade10")),Yt(this,"btnMine",new VB("UI_Ekkorr","HeroGrade12")),Yt(this,"btnCardEvent",new VB("UI_Ekkorr","HeroGrade14")),Yt(this,"btnConquest",new VB("UI_Ekkorr","HeroGrade8")),Yt(this,"btnPowerSave",new VB("UI_Ekkorr","PowerOff")),Yt(this,"healthOrb",r0t.getInstance()),Yt(this,"waveCallInfo",d0t.getInstance()),Yt(this,"timeShiftGauge",new l0t),Yt(this,"btnWaveSetting",new VB("UI_Ekkorr","smallSetting")),Yt(this,"waveSettingFrameCnt",0),this.healthOrb.x=640-.5*this.healthOrb.width-3,this.healthOrb.y=13,this.addChild(this.healthOrb),this.waveCallInfo.x=10,this.waveCallInfo.y=t.WAVE_CALL_BASE_Y,this.addChild(this.waveCallInfo),this.waveCallInfo.eventMode="static",this.waveCallInfo.on("pointerup",this.getNextWave,this),this.waveCallInfo.start(),this.timeShiftGauge.x=this.waveCallInfo.x+62,this.timeShiftGauge.y=this.waveCallInfo.y,this.addChild(this.timeShiftGauge),this.btnWaveSetting.x=this.timeShiftGauge.x+48+12,this.btnWaveSetting.y=this.waveCallInfo.y+.5*(40-this.btnWaveSetting.height),this.addChild(this.btnWaveSetting),this.btnWaveSetting.on("pointerup",this.onWaveSetting,this),this.btnWaveSetting.visible=!1,UM.getInstance().add(this.onWaveSettingFrame,this),Lzt.getInstance().x=0,Lzt.getInstance().y=-13,this.addChild(Lzt.getInstance()),Lzt.getInstance().onVisibilityChanged=t=>{ + this.layoutWaveCall(),this.updatePowerSaveButton(!t)} + ,this.btnDungeon.x=500,this.btnDungeon.y=0;
- this.btnBuff.visible=e,this.btnMine.visible=e,this.btnCardEvent.visible=e,this.btnConquest.visible=LD.getInstance().development} + this.btnBuff.visible=e,this.btnMine.visible=e,this.btnCardEvent.visible=e,this.btnConquest.visible=KD.getInstance().development,this.btnPowerSave.scale.set(.9),this.btnPowerSave.x=this.healthOrb.x-.9*this.btnPowerSave.width-42,this.btnPowerSave.y=this.healthOrb.y-15,this.btnPowerSave.eventMode="static",this.btnPowerSave.cursor="pointer",this.btnPowerSave.on("pointerup",this.onPowerSave,this),this.updatePowerSaveButton(!Lzt.getInstance().visible)}
+ updatePowerSaveButton(t){ + t&&!this.btnPowerSave.parent?this.addChild(this.btnPowerSave):!t&&this.btnPowerSave.parent&&this.removeChild(this.btnPowerSave)}
- ConquestMainPopup:t} + ConquestPopup:t}
- ConquestMainPopup:t} + ConquestPopup:t}
- ConquestMainPopup:t} + ConquestPopup:t}
GuildChatManager 1 hunks, 8 statements
- case"whisper":this.updateRecentMessageTime(t.CHAT_TYPE_WHISPER,i.data); - break; - case"whisperHistory":i.data&&Array.isArray(i.data.messages)&&i.data.messages.map(i=>this.updateRecentMessageTime(t.CHAT_TYPE_WHISPER,i)); - break; - case"conversationList":Array.isArray(i.data)&&i.data.map(i=>{ - i.last&&this.updateRecentMessageTime(t.CHAT_TYPE_WHISPER,i.last)} - ); - break;
GuildManager 2 hunks, 8 statements
+ static getGuildLevelProgress(t,i){ + const s=this.getGuildExpForLevel(t),e=this.getGuildExpForLevel(t+1)-s; + return e>0?{ + current:Math.max(0,Math.min(e,i-s)),total:e} + :{ + current:1,total:1} + }
- return CL.getInstance().connected&&CL.getInstance().recentMessageTimes[CL.CHAT_TYPE_WHISPER]>this.loadedMessageTimes[CL.CHAT_TYPE_WHISPER]} + return OL.getInstance().connected&&BL.getInstance().conversations.some(t=>t.unread>0)}
ChatTransport 4 hunks, 8 statements
- case"whisperReadAck":break; + case"whisperReadAck":this.queueConversationListRefresh(); + break;
- ,"onHistoryRef")),qt(this,"onDevChannelMessage",zt(t=>{ + ,"onHistoryRef")),Yt(this,"convListRefreshTimer",null),Yt(this,"onDevChannelMessage",qt(t=>{
- this.service.dispatchToRoom(e,n)} + this.service.dispatchToRoom(e,n),this.queueConversationListRefresh()}
+ queueConversationListRefresh(){ + null==this.convListRefreshTimer&&(this.convListRefreshTimer=window.setTimeout(()=>{ + this.convListRefreshTimer=null,this.requestConversationList()} + ,300))}
ActiveSkillMain 3 hunks, 7 statements
- applyDevForcedSkills(){ - const i=t.DEV_FORCE_SKILLS; - if(i)for(let t=0; - t<i.length&&t<this.skillMaxNum; - t++)OD.activeSkills[t]=i[t]}
- this.applyDevForcedSkills();
- zt(g5,"ActiveSkillMain"),qt(g5,"instance"),qt(g5,"AUTO_PILL_GAP",-4),qt(g5,"DEV_FORCE_SKILLS",null),qt(g5,"SPEED_BURST_MS",3e4),qt(g5,"SWORD_DATA",[{ + qt(O5,"ActiveSkillMain"),Yt(O5,"instance"),Yt(O5,"AUTO_PILL_GAP",-4),Yt(O5,"SPEED_BURST_MS",3e4),Yt(O5,"SWORD_DATA",[{
GuildWarBattlePopupV3 7 hunks, 7 statements
- ...wL.DEFAULT_OUTLINE_FONT_OPTION_16,fontSize:13} + ...bL.DEFAULT_OUTLINE_FONT_OPTION_16,fontSize:13}
- ...wL.DEFAULT_OUTLINE_FONT_OPTION_16,fontSize:13} + ...bL.DEFAULT_OUTLINE_FONT_OPTION_16,fontSize:13}
- ...wL.DEFAULT_OUTLINE_FONT_OPTION_16,fontSize:13} + ...bL.DEFAULT_OUTLINE_FONT_OPTION_16,fontSize:13}
- ...wL.DEFAULT_OUTLINE_FONT_OPTION_16,fontSize:9} + ...bL.DEFAULT_OUTLINE_FONT_OPTION_16,fontSize:9}
- ...wL.DEFAULT_OUTLINE_FONT_OPTION_16,fontSize:11} + ...bL.DEFAULT_OUTLINE_FONT_OPTION_16,fontSize:11}
- ...wL.DEFAULT_OUTLINE_FONT_OPTION_16,fontSize:9} + ...bL.DEFAULT_OUTLINE_FONT_OPTION_16,fontSize:9}
- ...wL.DEFAULT_OUTLINE_FONT_OPTION_16,fontSize:i} + ...bL.DEFAULT_OUTLINE_FONT_OPTION_16,fontSize:i}
TreasureLimitBreakManager 5 hunks, 6 statements
- if(this.accByGrade=[[],[0],[0],[0],[0],[0],[0]],this._maxLevel=0,!Array.isArray(t)||0===t.length)return void(this._loaded=!1); + if(this.accByGrade=[[],[0],[0],[0],[0],[0],[0],[0]],this._maxLevel=0,!Array.isArray(t)||0===t.length)return void(this._loaded=!1);
- for(const s of i)this.accByGrade[1].push(Number(s.grade1)||0),this.accByGrade[2].push(Number(s.grade2)||0),this.accByGrade[3].push(Number(s.grade3)||0),this.accByGrade[4].push(Number(s.grade4)||0),this.accByGrade[5].push(Number(s.grade5)||0),this.accByGrade[6].push(Number(s.grade6)||0); + for(const s of i)this.accByGrade[1].push(Number(s.grade1)||0),this.accByGrade[2].push(Number(s.grade2)||0),this.accByGrade[3].push(Number(s.grade3)||0),this.accByGrade[4].push(Number(s.grade4)||0),this.accByGrade[5].push(Number(s.grade5)||0),this.accByGrade[6].push(Number(s.grade6)||0),this.accByGrade[7].push(Number(s.grade7)||Number(s.grade6)||0);
- getMaxLevelByTrans(i){ + getMaxLevelByTrans(i,s=0){ + if(s>=7)return Math.min(t.LIMIT_BREAK_CAP_GRADE7_TRANS_0,this._maxLevel);
- if(t<1||t>6)return 0; + if(t<1||t>7)return 0;
- zt(iB,"TreasureLimitBreakManager"),qt(iB,"instance"),qt(iB,"LIMIT_BREAK_CAP_TRANS_1",30),qt(iB,"LIMIT_BREAK_CAP_TRANS_2",50); + qt(pB,"TreasureLimitBreakManager"),Yt(pB,"instance"),Yt(pB,"LIMIT_BREAK_CAP_TRANS_1",30),Yt(pB,"LIMIT_BREAK_CAP_TRANS_2",50),Yt(pB,"LIMIT_BREAK_CAP_GRADE7_TRANS_0",50);
EmblemDataManager 1 hunks, 6 statements
- const s=this.getEmblem(t.emblems[0]??0),e=s?this.getSkill(s.aSkill):null,n=e?null==(i=this.skillDescTemplate(e).split(" — ")[0])?void 0:i.trim():""; - return n&&n.length<=16?n:LG.getText("GAME_1306","액티브")} + const s=qt(()=>qG.getText("GAME_1306","액티브"),"fallback"),e=this.getEmblem(t.emblems[0]??0),n=e?this.getSkill(e.aSkill):null; + if(!n)return s(); + const h=this.skillDescTemplate(n); + if(!h.includes(" — "))return s(); + const r=(null==(i=h.split(" — ")[0])?void 0:i.trim())??""; + return!r||HQt.test(r)?s():r.length<=16?r:s()}
GpuGraphicsContext 3 hunks, 5 statements
- ...qc,extension:{ - ...qc.extension,name:"ellipse"} + ...Yc,extension:{ + ...Yc.extension,name:"ellipse"}
- ...qc,extension:{ - ...qc.extension,name:"roundedRectangle"} + ...Yc,extension:{ + ...Yc.extension,name:"roundedRectangle"}
- ..."radial"===i.type?b.defaultRadialOptions:b.defaultLinearOptions,...Vi(i)} + ..."radial"===i.type?b.defaultRadialOptions:b.defaultLinearOptions,...Ki(i)}
PassthroughFilter 5 hunks, 5 statements
- var rf="in vec2 vTextureCoord; + var of="in vec2 vTextureCoord;
- \n",of="struct GlobalFilterUniforms { + \n",af="struct GlobalFilterUniforms {
- source:of,entryPoint:"mainVertex"} + source:af,entryPoint:"mainVertex"}
- source:of,entryPoint:"mainFragment"} + source:af,entryPoint:"mainFragment"}
- vertex:tf,fragment:rf,name:"passthrough-filter"} + vertex:sf,fragment:of,name:"passthrough-filter"}
TreasureDetailPopup 4 hunks, 5 statements
- const e=s.getMaxLevelByTrans(this.vo.trans||0); + const e=s.getMaxLevelByTrans(this.vo.trans||0,this.vo.grade||0);
- const s=i.getMaxLevelByTrans(this.vo.trans||0)-this.vo.limitBreak; + const s=i.getMaxLevelByTrans(this.vo.trans||0,this.vo.grade||0)-this.vo.limitBreak;
- return t.loaded?Math.max(0,t.getMaxLevelByTrans(this.vo.trans||0)-this.vo.limitBreak):0} + return t.loaded?Math.max(0,t.getMaxLevelByTrans(this.vo.trans||0,this.vo.grade||0)-this.vo.limitBreak):0}
- const i=(this.vo.enhance||0)>=this.vo.maxLv,s=(this.vo.trans||0)>=1,e=this.vo.limitBreak<t.getMaxLevelByTrans(this.vo.trans||0); - if(i&&s&&e){ + const i=(this.vo.enhance||0)>=this.vo.maxLv,s=this.vo.limitBreak<t.getMaxLevelByTrans(this.vo.trans||0,this.vo.grade||0); + if(i&&s){
ReviveLayer 1 hunks, 5 statements
- const noi=class t extends cS{ + const woi=Object.freeze(Object.defineProperty({ + __proto__:null,BattleManager:moi} + ,Symbol.toStringTag,{ + value:"Module"} + )),voi=class t extends dS{
PlayingCardRenderer 2 hunks, 5 statements
- let Wpi=Hpi; - const $pi=class t extends wG{ + let rgi=hgi,ogi=(qt(Kt=class extends IG{
- ; - zt($pi,"ConquestPopup"),qt($pi,"_instance"); - let jpi=$pi; + ,"ConquestPopup"),Yt(Kt,"_instance"),Kt);
UnitVO 1 hunks, 4 statements
+ get buffedAtkRange(){ + this.bvo||(this.bvo=Mx.getInstance().getBookVO(this.kindNum)); + const t=XR.getInstance(); + return this.bvo.atkRange*t.getMultiplier(this.unitType,this.tribe,NR.AttackRange,void 0,this.isAir,this.kindNum)}
UserService 2 hunks, 4 statements
- async changeActiveSkill(t,i=!1){ - return this.post(QR.USER.CHANGE_ACTIVE_SKILL,{ + async changeActiveSkill(t,i,s=!1){ + return this.post(iP.USER.CHANGE_ACTIVE_SKILL,void 0===i?{
+ :{ + slotIndex:t,skillId:i}
GuildMainSubView 2 hunks, 4 statements
- this.bar.width=this.lblGuildPoint.x-i-5,this.bar.x=i,this.bar.y=this.lblGuildLv.y+.5*(this.lblGuildLv.height-this.bar.height),this.bar.update(t.points,RL.getGuildExpForLevel(t.level+1))} + this.bar.width=this.lblGuildPoint.x-i-5,this.bar.x=i,this.bar.y=this.lblGuildLv.y+.5*(this.lblGuildLv.height-this.bar.height); + const s=$L.getGuildLevelProgress(t.level,t.points); + this.bar.update(s.current,s.total)}
- const i=[...RL.guildList].sort((t,i)=>{ + const i=[...$L.guildList].sort((t,i)=>{
GameOverPopup 4 hunks, 4 statements
- const n=ux.getInstance().getRebirthMedalPetDelta(),h=_x.getInstance(),r=h.getGlobalTransMedalBonusPct(OR.getWaterDragonOwnedMedalCapBonus()),o=h.getCurrentTeamTransMedalBonusPct(),a=OR.getWaterDragonTeamMedalBonus(h.getTeamIds()),c=qF.getInstance().getMedal(t); + const n=px.getInstance().getRebirthMedalPetDelta(),h=Mx.getInstance(),r=h.getGlobalTransMedalBonusPct(PR.getWaterDragonOwnedMedalCapBonus()),o=h.getCurrentTeamTransMedalBonusPct(),a=PR.getWaterDragonTeamMedalBonus(h.getTeamKindNums()),c=cH.getInstance().getMedal(t);
- else a=t.getTotal(s),c=i.getCurrentTeamTransMedalBonusPct(),l=OR.getWaterDragonTeamMedalBonus(i.getTeamIds()); + else a=t.getTotal(s),c=i.getCurrentTeamTransMedalBonusPct(),l=PR.getWaterDragonTeamMedalBonus(i.getTeamKindNums());
- this.hasReviveTeam=!0; + oH.getInstance().setFromTeamStr(String(i.body.team)),this.hasReviveTeam=!0;
- else this.hasReviveTeam=!1,this.reviveTeamKindNums=[],this.reviveTeamTrans=[]} + else(null==i?void 0:i.success)&&oH.getInstance().setFromTeamStr(""),this.hasReviveTeam=!1,this.reviveTeamKindNums=[],this.reviveTeamTrans=[]}
SoulRestEndConfirmPopup 1 hunks, 4 statements
+ )),upi=wjt("AppSig"),dpi=Object.freeze(Object.defineProperty({ + __proto__:null,AppSig:upi} + ,Symbol.toStringTag,{ + value:"Module"}
Archery2GameScene 4 hunks, 4 statements
- ...wL.DEFAULT_OUTLINE_FONT_OPTION_16,fill:16777215} + ...bL.DEFAULT_OUTLINE_FONT_OPTION_16,fill:16777215}
- ...wL.DEFAULT_OUTLINE_FONT_OPTION_20,fill:16766720} + ...bL.DEFAULT_OUTLINE_FONT_OPTION_20,fill:16766720}
- ...wL.DEFAULT_OUTLINE_FONT_OPTION_16,fill:16737792} + ...bL.DEFAULT_OUTLINE_FONT_OPTION_16,fill:16737792}
- ...wL.DEFAULT_OUTLINE_FONT_OPTION_20,fill:16777215} + ...bL.DEFAULT_OUTLINE_FONT_OPTION_20,fill:16777215}
EkkorrGame 3 hunks, 3 statements
- width:e=640,backgroundColor:n=3355443,resolution:h=window.devicePixelRatio||1,autoDensity:r=!0,fitToScreen:o=!0,theme:a={ + width:n=640,backgroundColor:h=3355443,resolution:r=t.getSafeResolution(),autoDensity:o=!0,fitToScreen:a=!0,theme:c={
- if(document.getElementById("app").appendChild(p),p.setAttribute("tabindex","0"),p.style.outline="none",p.focus(),document.addEventListener("pointerdown",()=>{ + if(document.getElementById("app").appendChild(g),oS.install(this.app),g.setAttribute("tabindex","0"),g.style.outline="none",g.focus(),document.addEventListener("pointerdown",()=>{
- zt(hS,"EkkorrGame"),qt(hS,"app"),qt(hS,"gameWidth"),qt(hS,"gameHeight"),qt(hS,"fitToScreen"),qt(hS,"_forceResize",null); + qt(aS,"EkkorrGame"),Yt(aS,"app"),Yt(aS,"gameWidth"),Yt(aS,"gameHeight"),Yt(aS,"fitToScreen"),Yt(aS,"_forceResize",null),Yt(aS,"MAX_RESOLUTION",2);
SystemService 3 hunks, 3 statements
- async attest(t,i,s,e=!1){ + async attest(t,i,s,e,n=null,h=!1){
- token:t,n:i,n2:s,_t:Date.now()} + token:t,sig:i,n:s,n2:e,_t:Date.now()}
- return this.post(QR.SYSTEM.ATTEST,n,e)} + return n&&(r.errorCode=n),this.post(iP.SYSTEM.ATTEST,r,h)}
SHA256 3 hunks, 3 statements
- ...ppt,...mpt,...vpt,...bpt,...Ept,...Npt,...Dpt,...Upt,...jpt} + ...kpt,...xpt,...Ppt,...Lpt,...Bpt,...qpt,...Jpt,...tgt,...hgt}
- ...Cgt,...kgt} + ...Wgt,...jgt}
- utf8:rmt,"utf-8":rmt,hex:tmt.base16,latin1:omt,ascii:omt,binary:omt,...tmt} + utf8:ymt,"utf-8":ymt,hex:gmt.base16,latin1:Mmt,ascii:Mmt,binary:Mmt,...gmt}
SuiProvider 3 hunks, 3 statements
- namespace:JAt.NameSpaceKeyAptos,addresses:s,methods:[...ZAt.AptosMethods],extra:h} + namespace:dSt.NameSpaceKeyAptos,addresses:s,methods:[...pSt.AptosMethods],extra:h}
- namespace:rSt.NameSpaceKeyTON,addresses:o,methods:[...cSt.TONMethods],extra:a,data:{ + namespace:ySt.NameSpaceKeyTON,addresses:o,methods:[...ASt.TONMethods],extra:a,data:{
- namespace:fSt.NameSpaceKeySui,addresses:i,methods:[...mSt.SuiMethods],extra:s} + namespace:ISt.NameSpaceKeySui,addresses:i,methods:[...xSt.SuiMethods],extra:s}
WalletPopup 3 hunks, 3 statements
- ...wL.ERROR_POPUP_LABEL_OPTION,fontSize:24,fontWeight:"bold"} + ...bL.ERROR_POPUP_LABEL_OPTION,fontSize:24,fontWeight:"bold"}
- ...wL.ERROR_POPUP_LABEL_OPTION,fontSize:16} + ...bL.ERROR_POPUP_LABEL_OPTION,fontSize:16}
- ...wL.ERROR_POPUP_LABEL_OPTION,fontSize:16} + ...bL.ERROR_POPUP_LABEL_OPTION,fontSize:16}
Guild2InfoPopup 1 hunks, 3 statements
- if(this.bar.width=this.lblGuildNum.x-r-8,this.bar.x=r,this.bar.y=h+.5*(this.lblGuildLv.height-this.bar.height),this.bar.update(this.vo.points,RL.getGuildExpForLevel(this.vo.level+1)),this.guildInfoBg.height=h+this.lblGuildLv.height-e+8,e+=this.guildInfoBg.height+15,this.emblem.y=this.guildInfoBg.y+.5*(this.guildInfoBg.height-this.emblem.height),this.lblJoinInfo.y=e,e+=this.lblJoinInfo.height+5,this.lblWaveInfo.y=e,e+=this.lblWaveInfo.height+15,this.lblDescTitle.y=e,e+=this.lblDescTitle.height+3,this.descBg.y=e,this.lblDescText.y=e+8,this.descBg.height=Math.max(80,this.lblDescText.height+16),e+=this.descBg.height+25,this.btnLeave.visible){ + this.bar.width=this.lblGuildNum.x-r-8,this.bar.x=r,this.bar.y=h+.5*(this.lblGuildLv.height-this.bar.height); + const o=$L.getGuildLevelProgress(this.vo.level,this.vo.points); + if(this.bar.update(o.current,o.total),this.guildInfoBg.height=h+this.lblGuildLv.height-e+8,e+=this.guildInfoBg.height+15,this.emblem.y=this.guildInfoBg.y+.5*(this.guildInfoBg.height-this.emblem.height),this.lblJoinInfo.y=e,e+=this.lblJoinInfo.height+5,this.lblWaveInfo.y=e,e+=this.lblWaveInfo.height+15,this.lblDescTitle.y=e,e+=this.lblDescTitle.height+3,this.descBg.y=e,this.lblDescText.y=e+8,this.descBg.height=Math.max(80,this.lblDescText.height+16),e+=this.descBg.height+25,this.btnLeave.visible){
RouletteSubView 2 hunks, 3 statements
- super(),qt(this,"posXs",[0,132,264,396,396,396,396,264,132,0,0,0]),qt(this,"posYs",[0,0,0,0,84,166,248,248,248,248,166,84]),qt(this,"lblDate",new hD("날짜: 2026.08.07",wL.COLOR_BRIGHT_ORANGE)),qt(this,"lblDesc",new hD("룰렛 설명",wL.COLOR_WHITE)),qt(this,"items",[]),qt(this,"btnStart",new HU("PVP_COIN_ON",`( ${ + super(),Yt(this,"posXs",[0,132,264,396,396,396,396,264,132,0,0,0]),Yt(this,"posYs",[0,0,0,0,84,168,252,252,252,252,168,84]),Yt(this,"lblDate",new mD("날짜: 2026.08.07",bL.COLOR_BRIGHT_ORANGE)),Yt(this,"lblDesc",new mD("룰렛 설명",bL.COLOR_WHITE)),Yt(this,"items",[]),Yt(this,"btnStart",new tF("PVP_COIN_ON",`( ${
- s++)this.items[s].y=i+this.posYs[s]} + s++)this.items[s].y=i+this.posYs[s]; + this.btnStart.x=this.items[1].x+.5*(this.items[3].x-this.items[1].x-12-this.btnStart.width),this.btnStart.y=this.items[11].y+.5*(this.items[9].y-this.items[11].y-6-this.btnStart.height),this.btnStop.x=this.btnStart.x,this.btnStop.y=this.btnStart.y}
TilingSpriteShader 1 hunks, 2 statements
- ...sp,vertex:{ - ...sp.vertex,header:sp.vertex.header.replace("group(1)","group(2)")} + ...ep,vertex:{ + ...ep.vertex,header:ep.vertex.header.replace("group(1)","group(2)")}
BatchableSprite 2 hunks, 2 statements
- ...Ru.defaultFillStyle,...t} + ...Pu.defaultFillStyle,...t}
- ...Ru.defaultStrokeStyle,...t} + ...Pu.defaultStrokeStyle,...t}
CanvasRenderer 1 hunks, 2 statements
- const Bv=[...Tv,lw,dw,Gv,Lv],Uv=[Pw,Hm,xw,ww,qm,ew,Xm,pw],Fv=[Pm,kw],Hv=[],Wv=[],$v=[]; - si.handleByNamedList(Zt.CanvasSystem,Hv),si.handleByNamedList(Zt.CanvasPipes,Wv),si.handleByNamedList(Zt.CanvasPipesAdaptor,$v),si.add(...Bv,...Uv,...Fv); + const Uv=[...Cv,uw,fw,Bv,Dv],Fv=[Lw,Wm,Rw,vw,Ym,nw,Jm,gw],Hv=[Lm,Ow],Wv=[],$v=[],jv=[]; + ei.handleByNamedList(ti.CanvasSystem,Wv),ei.handleByNamedList(ti.CanvasPipes,$v),ei.handleByNamedList(ti.CanvasPipesAdaptor,jv),ei.add(...Uv,...Fv,...Hv);
WebGLRenderer 1 hunks, 2 statements
- const Kb=[...Tv,B_,p_,Zv,b_,Jv,Hb,W_,u_,gb,lb,v_,vb,S_,m_],zb=[...Cv],qb=[Dm,Vb,$b],Yb=[],Xb=[],Jb=[]; - si.handleByNamedList(Zt.WebGLSystem,Yb),si.handleByNamedList(Zt.WebGLPipes,Xb),si.handleByNamedList(Zt.WebGLPipesAdaptor,Jb),si.add(...Kb,...zb,...qb); + const zb=[...Cv,U_,g_,t_,y_,Qv,Wb,$_,d_,mb,ub,__,_b,T_,w_],qb=[...Iv],Yb=[Gm,Kb,jb],Xb=[],Jb=[],Qb=[]; + ei.handleByNamedList(ti.WebGLSystem,Xb),ei.handleByNamedList(ti.WebGLPipes,Jb),ei.handleByNamedList(ti.WebGLPipesAdaptor,Qb),ei.add(...zb,...qb,...Yb);
WebGPURenderer 1 hunks, 2 statements
- const aM=[...Tv,Ay,py,dy,my,ry,eM,By,Fy,$y,Ry,ly,vy,sy],cM=[...Cv,Cy],lM=[Um,oM,hM],uM=[],dM=[],fM=[]; - si.handleByNamedList(Zt.WebGPUSystem,uM),si.handleByNamedList(Zt.WebGPUPipes,dM),si.handleByNamedList(Zt.WebGPUPipesAdaptor,fM),si.add(...aM,...cM,...lM); + const cM=[...Cv,Sy,gy,fy,wy,oy,nM,Uy,Hy,jy,Py,uy,_y,ey],lM=[...Iv,Iy],uM=[Fm,aM,rM],dM=[],fM=[],pM=[]; + ei.handleByNamedList(ti.WebGPUSystem,dM),ei.handleByNamedList(ti.WebGPUPipes,fM),ei.handleByNamedList(ti.WebGPUPipesAdaptor,pM),ei.add(...cM,...lM,...uM);
UnitDataManager 1 hunks, 2 statements
+ getTeamKindNums(){ + return this.objList?[...this.objList.values()].map(t=>t.kindNum).filter(t=>t>0):[]}
RunInfo 2 hunks, 2 statements
- return i<t.MPM_DISPLAY_MIN_SEC?null:qF.getInstance().getExpectedNormalMedal(OD.wave)/(i/60)} + return i<t.MPM_DISPLAY_MIN_SEC?null:cH.getInstance().getExpectedMedal(HD.wave)/(i/60)}
+ oH.getInstance().ensureLoaded();
BaseUnit 2 hunks, 2 statements
- this.atkDuration=1e4/(this.baseAtkDuration+t)} + this.orgAtkSpd=this.baseAtkDuration+t,this.atkDuration=1e4/this.orgAtkSpd}
- this.numLoveShield=t,this.addMoveSpeedBuff(qK.Succubus1_MOVESPEED_BUFF,.5,t),this.addMoveSpeedBuff(qK.Succubus1_ATTACKSPEED_BUFF,.4,t); + this.numLoveShield=t,this.addMoveSpeedBuff(cz.Succubus1_MOVESPEED_BUFF,.5,t),this.addAttackSpeedBuff(cz.Succubus1_ATTACKSPEED_BUFF,.4,t);
Th 2 hunks, 2 statements
- if(get(t))if(s||i&&"object"==typeof i&&null!==i&&"error"in i){ + if(xet(t))if(s||i&&"object"==typeof i&&null!==i&&"error"in i){
- )),get(h)&&D3.analytics.track("sdk_action_requested",{ + )),xet(h)&&J3.analytics.track("sdk_action_requested",{
ChatOverlay 2 hunks, 2 statements
- ""!==n&&e.sender.uid===n||"dm"===this.viewMode&&this.activeRoom.roomId===i||(this.totalUnread+=1,this.updateWhisperTabBadge()),"dmList"===this.viewMode&&(hKt()?t.setConversations(this.buildLocalConversations()):EKt.getInstance().requestConversationList())} + ""!==n&&e.sender.uid===n||("dm"===this.viewMode&&this.activeRoom.roomId===i?this.activeDMPeer&&OKt.getInstance().markWhisperRead(this.activeDMPeer.uid):(this.totalUnread+=1,this.updateWhisperTabBadge())),"dmList"===this.viewMode&&(bKt()?t.setConversations(this.buildLocalConversations()):OKt.getInstance().requestConversationList())}
- this.tabWhisperRedDot&&(1==RL.checkChatWhisper()?this.tabWhisperRedDot.style.display="inline-block":this.tabWhisperRedDot.style.display="none")} + this.tabWhisperRedDot&&(1==$L.checkChatWhisper()&&0===this.totalUnread?this.tabWhisperRedDot.style.display="inline-block":this.tabWhisperRedDot.style.display="none")}
ReviveTeamPopup 1 hunks, 2 statements
- if(!1===(null==i?void 0:i.success))return void WF.getInstance().showMessage(LG.getText("GAME_616","저장에 실패했습니다."))} + if(!1===(null==i?void 0:i.success))return void iH.getInstance().showMessage(qG.getText("GAME_616","저장에 실패했습니다.")); + oH.getInstance().setFromTeamStr(t)}
BuffStatusPopup 2 hunks, 2 statements
- const r=OR.getWaterDragonTeamMedalBonus(_x.getInstance().getTeamIds()); + const r=PR.getWaterDragonTeamMedalBonus(Mx.getInstance().getTeamKindNums());
- if(n)if(t=[...xx.getInstance().getContributors(o)],o===kx.GodBless){ + if(n)if(t=[...Nx.getInstance().getContributors(o)],o===Rx.GodBless){
GuildBarrackRowItemRenderer 2 hunks, 2 statements
- ...wL.DEFAULT_OUTLINE_FONT_OPTION_16,fontSize:14} + ...bL.DEFAULT_OUTLINE_FONT_OPTION_16,fontSize:14}
- ...wL.DEFAULT_OUTLINE_FONT_OPTION_16,fontSize:13} + ...bL.DEFAULT_OUTLINE_FONT_OPTION_16,fontSize:13}
GuildWarBattleReadyPopup 2 hunks, 2 statements
- ...wL.DEFAULT_OUTLINE_FONT_OPTION_16,fontSize:13} + ...bL.DEFAULT_OUTLINE_FONT_OPTION_16,fontSize:13}
- ...wL.DEFAULT_OUTLINE_FONT_OPTION_16,fontSize:i} + ...bL.DEFAULT_OUTLINE_FONT_OPTION_16,fontSize:i}
GuildWarSquadsPopup 2 hunks, 2 statements
- ...wL.DEFAULT_OUTLINE_FONT_OPTION_16,fontSize:14} + ...bL.DEFAULT_OUTLINE_FONT_OPTION_16,fontSize:14}
- ...wL.DEFAULT_OUTLINE_FONT_OPTION_16,fontSize:i} + ...bL.DEFAULT_OUTLINE_FONT_OPTION_16,fontSize:i}
GuildWarTierAssignPopup 2 hunks, 2 statements
- const i=[...RL.memberList??[]].sort((t,i)=>i.roleLevel!==t.roleLevel?i.roleLevel-t.roleLevel:(i.wave??0)-(t.wave??0)); + const i=[...$L.memberList??[]].sort((t,i)=>i.roleLevel!==t.roleLevel?i.roleLevel-t.roleLevel:(i.wave??0)-(t.wave??0));
- ...wL.DEFAULT_OUTLINE_FONT_OPTION_16,fontSize:i} + ...bL.DEFAULT_OUTLINE_FONT_OPTION_16,fontSize:i}
ObservablePoint 1 hunks, 1 statements
- var t,i,s,e,n,h,r,o,a,c,l,u,d,f,p,g,m,w,v,_,b,y,M,E,A,S,T,C,I,k,O,x,R,N,P,L,D,G,B,U,F,H,W,$,j,V,K,z,q,Y,X,J,Q,Z,tt,it,st,et,nt,ht,rt,ot,at,ct,lt,ut,dt,ft,pt,gt,mt,wt,vt,_t,bt,yt,Mt,Et,At,St,Tt,Ct,It,kt,Ot,xt,Rt,Nt,Pt,Lt,Dt,Gt,Bt,Ut,Ft,Ht,Wt,$t,jt,Vt,Kt=Object.defineProperty,zt=(t,i)=>Kt(t,"name",{ + var t,i,s,e,n,h,r,o,a,c,l,u,d,f,p,g,m,w,v,_,b,y,M,E,A,S,T,C,I,k,O,x,R,P,N,L,D,G,B,U,F,H,W,$,j,V,K,z,q,Y,X,J,Q,Z,tt,it,st,et,nt,ht,rt,ot,at,ct,lt,ut,dt,ft,pt,gt,mt,wt,vt,_t,bt,yt,Mt,Et,At,St,Tt,Ct,It,kt,Ot,xt,Rt,Pt,Nt,Lt,Dt,Gt,Bt,Ut,Ft,Ht,Wt,$t,jt,Vt,Kt,zt=Object.defineProperty,qt=(t,i)=>zt(t,"name",{
CacheClass 1 hunks, 1 statements
- ...Ji.defaultOptions,autoLoad:!0,autoPlay:!0,updateFPS:0,crossorigin:!0,loop:!1,muted:!0,playsinline:!0,preload:!1} + ...Qi.defaultOptions,autoLoad:!0,autoPlay:!0,updateFPS:0,crossorigin:!0,loop:!1,muted:!0,playsinline:!0,preload:!1}
ApplicationInitHook 1 hunks, 1 statements
- const i=[...Xr,...this.config.runners??[]]; + const i=[...Jr,...this.config.runners??[]];
Circle 1 hunks, 1 statements
- ,test:zt(()=>Promise.resolve(!0),"test"),add:zt(async t=>[...t,...Io],"add"),remove:zt(async t=>t.filter(t=>!Io.includes(t)),"remove")} + ,test:qt(()=>Promise.resolve(!0),"test"),add:qt(async t=>[...t,...ko],"add"),remove:qt(async t=>t.filter(t=>!ko.includes(t)),"remove")}
DefaultShader 1 hunks, 1 statements
- name:i,...lc({ + name:i,...uc({
AssetsClass 1 hunks, 1 statements
- ...mn.defaultOptions,resolution:(null==(e=i.data)?void 0:e.resolution)||Nu(t),alphaMode:(null==(n=i.data)?void 0:n.alphaMode)||await pn(),...i.data} + ...wn.defaultOptions,resolution:(null==(e=i.data)?void 0:e.resolution)||Nu(t),alphaMode:(null==(n=i.data)?void 0:n.alphaMode)||await gn(),...i.data}
WorkerInstance 1 hunks, 1 statements
- return _d=[...vd,...t],_d} + return bd=[..._d,...t],bd}
HTMLTextStyle 1 hunks, 1 statements
- ...Tg.defaultDropShadow,...t} + ...Cg.defaultDropShadow,...t}
FrameLoopManager 1 hunks, 1 statements
- __proto__:null,AbstractBitmapFont:Vg,AbstractRenderer:to,AbstractText:Ap,AbstractTextSystem:Bg,AccessibilitySystem:fh,AlphaMask:Ye,AlphaMaskPipe:qm,AnimatedSprite:jf,Application:mo,ApplicationInitHook:oo,Assets:ad,AssetsClass:od,BLEND_TO_NPM:ba,BREAKING_SPACES:jp,BREAKING_SPACES_SET:Vp,BREAK_AFTER_CHARS:qp,BREAK_AFTER_CHARS_SET:Yp,BUFFER_TYPE:zv,BackgroundLoader:Ao,BackgroundSystem:Kw,Batch:xa,BatchGeometry:Ya,BatchTextureArray:ka,BatchableGraphics:zc,BatchableHTMLText:wm,BatchableMesh:Wf,BatchableSprite:Og,BatchableText:Rg,Batcher:Ba,BatcherPipe:Hm,BigPool:zs,BindGroup:tr,BindGroupSystem:sy,BitmapFont:OM,BitmapFontManager:im,BlendModePipe:Pw,Bounds:os,BrowserAdapter:tn,Buffer:Fa,BufferImageSource:Zi,BufferResource:j_,BufferUsage:Ua,CLEAR:zr,COLLAPSIBLE_SPACES:Kp,COLLAPSIBLE_SPACES_SET:zp,Cache:_n,CanvasBatchAdaptor:Pm,CanvasColorMaskPipe:Xm,CanvasContextSystem:lw,CanvasGraphicsAdaptor:kw,CanvasGraphicsContextSystem:kf,CanvasGraphicsPipe:xf,CanvasLimitsSystem:dw,CanvasNineSliceSpritePipe:bM,CanvasObserver:jn,CanvasPool:Ip,CanvasPoolClass:Cp,CanvasRenderTargetAdaptor:Nv,CanvasRenderTargetSystem:Lv,CanvasRenderer:Vv,CanvasRendererTextSystem:Fg,CanvasSource:hn,CanvasStencilMaskPipe:ew,CanvasTextGenerator:Ag,CanvasTextMetrics:mg,CanvasTextPipe:Pg,CanvasTextSystem:Wg,CanvasTextureSystem:Gv,CanvasTilingSpritePipe:ip,Circle:ha,Color:Us,ColorMask:Je,ColorMaskPipe:Qm,ColorMatrixFilter:hf,CompressedSource:pd,Container:Ue,CustomRenderPipe:pw,DEG_TO_RAD:gi,DOMAdapter:en,DOMPipe:Gd,DefaultBatcher:Uc,DefaultShader:Dc,DynamicBitmapFont:zg,Ellipse:oa,EventBoundary:Yd,EventEmitter:ui,EventSystem:Qd,EventsTicker:Ud,ExtensionType:Zt,ExtractSystem:Yw,FederatedContainer:Zd,FederatedEvent:Kn,FederatedMouseEvent:Hd,FederatedPointerEvent:$d,FederatedWheelEvent:Vd,FillGradient:ll,FillPattern:mu,Filter:ar,FilterEffect:Zs,FilterPipe:uf,FilterSystem:vf,FontStylePromiseCache:Am,GCManagedHash:Hc,GCSystem:rv,GL_FORMATS:s_,GL_TARGETS:e_,GL_TYPES:n_,GPUTextureGpuData:iM,GenerateTextureSystem:sv,Geometry:Va,GlBackBufferSystem:p_,GlBatchAdaptor:Dm,GlBuffer:Yv,GlBufferSystem:Jv,GlColorMaskSystem:m_,GlContextSystem:Zv,GlEncoderSystem:v_,GlGeometryGpuData:c_,GlGeometrySystem:u_,GlGraphicsAdaptor:$b,GlLimitsSystem:b_,GlMeshAdaptor:Vb,GlProgram:Rh,GlProgramData:z_,GlRenderTarget:M_,GlRenderTargetAdaptor:F_,GlRenderTargetSystem:W_,GlShaderSystem:lb,GlStateSystem:vb,GlStencilSystem:S_,GlTexture:bb,GlTextureSystem:Hb,GlUboSystem:B_,GlUniformGroupSystem:gb,GlobalResourceRegistry:$s,GlobalUniformSystem:av,GpuBatchAdaptor:Um,GpuBlendModesToPixi:Hy,GpuBufferData:ny,GpuBufferSystem:ry,GpuColorMaskSystem:ly,GpuDeviceSystem:dy,GpuEncoderSystem:py,GpuGraphicsAdaptor:hM,GpuGraphicsContext:Sl,GpuLimitsSystem:my,GpuMeshAdapter:oM,GpuMipmapGenerator:Zy,GpuProgram:zh,GpuRenderTarget:Py,GpuRenderTargetAdaptor:Dy,GpuRenderTargetSystem:By,GpuShaderSystem:Fy,GpuStateSystem:$y,GpuStencilModesToPixi:E_,GpuStencilSystem:vy,GpuTextureSystem:eM,GpuUboSystem:Ay,GpuUniformBatchPipe:Cy,Graphics:Bf,GraphicsContext:Ru,GraphicsContextRenderData:Cl,GraphicsContextSystem:kl,GraphicsGpuData:Pf,GraphicsPath:Ql,GraphicsPipe:Df,HTMLText:Rm,HTMLTextPipe:_m,HTMLTextRenderData:pm,HTMLTextStyle:cm,HTMLTextSystem:Om,HelloSystem:gv,ImageSource:on,InstructionSet:Ce,Loader:Go,LoaderParserPriority:An,MaskEffectManager:se,MaskEffectManagerClass:ie,MaskFilter:Ef,Matrix:bi,MeshGeometry:Ff,NEWLINES:Wp,NEWLINES_SET:$p,NEWLINE_MATCH_REGEX:Jp,NEWLINE_SPLIT_REGEX:Xp,NOOP:Wi,NineSliceGeometry:MM,NineSliceSprite:IM,NineSliceSpriteGpuData:AM,NineSliceSpritePipe:TM,ObservablePoint:ri,PI_2:fi,PassthroughFilter:cf,PipelineSystem:Ry,PlaneGeometry:vM,Point:wi,Polygon:la,Pool:js,PoolGroupClass:Ks,QuadGeometry:dp,RAD_TO_DEG:pi,Rectangle:Pi,RenderGroup:Ne,RenderGroupPipe:ww,RenderGroupSystem:jw,RenderTarget:yv,RenderTargetSystem:xv,RenderTexture:Jw,RenderableGCSystem:wv,RendererInitHook:co,RendererType:ir,ResizePlugin:uo,Resolver:Ln,RoundedRectangle:fa,STENCIL_MODES:ya,SVGParser:du,SchedulerSystem:uv,Shader:er,ShaderStage:Hh,ShapePath:Xl,SharedRenderPipes:Cv,SharedSystems:Tv,Sprite:$e,SpritePipe:xw,Spritesheet:Un,State:rr,StencilMask:Ze,StencilMaskPipe:hw,SystemRunner:Yr,Text:$g,TextStyle:Tg,Texture:es,TextureGCSystem:_v,TextureMatrix:ss,TexturePool:xe,TexturePoolClass:Oe,TextureSource:Ji,TextureStyle:Yi,Ticker:fn,TickerListener:ln,TickerPlugin:po,TilingSprite:Mp,TilingSpriteGpuData:vp,TilingSpritePipe:bp,TilingSpriteShader:lp,Transform:zf,UNIFORM_TO_ARRAY_SETTERS:db,UNIFORM_TO_SINGLE_SETTERS:ub,UNIFORM_TYPES_MAP:Yh,UNIFORM_TYPES_VALUES:qh,UPDATE_BLEND:2,UPDATE_COLOR:1,UPDATE_PRIORITY:an,UPDATE_VISIBLE:4,UboBatch:ay,UboSystem:C_,UniformGroup:Qh,VERSION:ho,VideoSource:mn,ViewContainer:He,ViewSystem:Sv,ViewableBuffer:va,WGSL_ALIGN_SIZE_DATA:_y,WGSL_TO_STD40_SIZE:I_,WebGLRenderer:Zb,WebGPURenderer:gM,WorkerManager:Vu,accessibilityTarget:ph,addBits:Xa,addMaskBounds:Ve,addMaskLocalBounds:Ke,addProgramDefines:Mh,appendSVGPath:uu,applyMatrix:pp,applyStyleParams:Lb,assignWithIgnore:Pe,autoDetectRenderer:no,bgr2rgb:ge,bitmapFontCachePlugin:yo,bitmapFontTextParser:wo,bitmapFontXMLParser:vo,bitmapFontXMLStringParser:_o,blockDataMap:Vy,boundsPool:re,browserExt:ei,buildAdaptiveBezier:xl,buildAdaptiveQuadratic:Pl,buildArc:Gl,buildArcTo:Bl,buildArcToSvg:Vl,buildCircle:qc,buildContextBatches:bl,buildEllipse:Yc,buildLine:il,buildPixelLine:sl,buildPolygon:hl,buildRectangle:rl,buildRoundedRectangle:Xc,buildSimpleUvs:$c,buildTriangle:ol,buildUvs:Wc,cacheAsTextureMixin:qs,cacheTextureArray:So,calculatePathArea:lu,calculateProjection:Iv,canUseNewCanvasBlendModes:Yf,canvasUtils:Xf,checkChildrenDidChange:_e,checkDataUrl:Bo,checkExtension:Uo,checkForNestedPattern:au,checkMaxIfStatementsInShader:Sa,childrenHelperMixin:Xs,cleanArray:nv,cleanHash:ev,clearList:Lw,closePointEps:Jc,collapseNewlines:eg,collapseSpaces:sg,collectRenderablesMixin:Js,color32BitToUniform:Rf,colorBit:Mc,colorBitGl:Ec,colorMatrixFilterFrag:sf,colorMatrixFilterWgsl:ef,compareModeToGlCompare:Pb,compileHighShader:cc,compileHighShaderGl:lc,compileHighShaderGlProgram:yc,compileHighShaderGpuProgram:bc,compileHooks:Qa,compileInputs:tc,compileOutputs:nc,compileShader:q_,convertToList:wn,copySearchParams:Gn,createGlUploadCubeTextureResource:Sb,createGpuUploadCubeTextureResource:Yy,createIdFromString:wh,createStringVariations:Rn,createTexture:Pu,createUboElementsSTD40:k_,createUboElementsWGSL:by,createUboSyncFunction:x_,createUboSyncFunctionSTD40:D_,createUboSyncFunctionWGSL:My,crossOrigin:Zu,cullingMixin:Fs,curveEps:1e-4,defaultFilterVert:tf,defaultValue:X_,definedProps:Vi,deprecation:Hi,detectAvif:Co,detectCompressed:Pd,detectDefaults:ko,detectMp4:Ro,detectOgv:No,detectVideoAlphaMode:pn,detectWebm:Po,detectWebp:Lo,determineCrossOrigin:id,earcut:Kr,effectsMixin:ee,ensureAttributes:t_,ensureIsBuffer:Ha,ensurePrecision:Eh,ensureTextOptions:Sp,executeInstructions:gw,extensions:si,extractAttributesFromGlProgram:sb,extractAttributesFromGpuProgram:Uh,extractFontFamilies:ym,extractStructAndGroups:Fh,extractSubpaths:cu,extractSvgUrlId:nu,fastCopy:_a,findMixin:ne,fontStringFromTextStyle:vg,fragmentGPUTemplate:gc,fragmentGlTemplate:wc,generateArraySyncSTD40:L_,generateArraySyncWGSL:yy,generateGpuLayoutGroups:Wh,generateLayoutHash:$h,generateProgram:ob,generateShaderSyncCode:V_,generateTextureBatchBit:Cc,generateTextureBatchBitGl:Oc,generateTextureMatrix:ml,generateUniformsSync:fb,getAdjustedBlendModeBlend:Ma,getAttributeInfoFromFormat:Ph,getBatchSamplersUniformGroup:Pc,getBitmapTextLayout:qg,getCanvasBoundingBox:Pp,getCanvasFillStyle:bg,getCanvasTexture:Ev,getCharacterGroups:rg,getDefaultUniformValue:Xh,getFastGlobalBoundsMixin:ae,getFontCss:Sm,getFontFamilyName:Ko,getGeometryBounds:Wa,getGlTypeFromFormat:r_,getGlobalBounds:ce,getGlobalMixin:me,getGlobalRenderableBounds:ff,getLocalBounds:we,getMaxFragmentPrecision:yh,getMaxMiterRatio:Iu,getMaxTexturesPerBatch:Ca,getOrientationOfPoints:Qc,getPo2TextureFromSource:Dg,getResolutionOfUrl:Nu,getSVGUrl:Tm,getSupportedCompressedTextureFormats:wd,getSupportedGPUCompressedTextureFormats:md,getSupportedGlCompressedTextureFormats:gd,getSupportedTextureFormats:bd,getTemporaryCanvasFromImage:Cm,getTestContext:bh,getTextureBatchBindGroup:ga,getUboData:eb,getUniformData:nb,getUrlExtension:Dn,glUploadBufferImageResource:yb,glUploadCompressedTextureResource:Eb,glUploadImageResource:Tb,glUploadVideoResource:Ob,globalUniformsBit:vc,globalUniformsBitGl:_c,gpuUploadBufferImageResource:jy,gpuUploadCompressedTextureResource:zy,gpuUploadImageResource:Xy,gpuUploadVideoResource:Jy,groupD8:xi,hasTagMarkup:Up,hasTagStyles:Bp,injectBits:hc,insertVersion:Ah,isBreakAfterChar:ig,isBreakingSpace:Zp,isCollapsibleSpace:tg,isMobile:uh,isNewline:Qp,isPow2:ji,isRenderingToScreen:kv,isSafari:bm,isSingleItem:Nn,isWebGLSupported:io,isWebGPUSupported:so,ktxTranscoderUrls:Ad,loadBitmapFont:Mo,loadEnvironmentExtensions:lr,loadFontAsBase64:Mm,loadFontCSS:Em,loadImageBitmap:qu,loadJson:Fo,loadKTX2:Od,loadKTX2onWorker:kd,loadSVGImage:Im,loadSvg:Lu,loadTextures:Yu,loadTxt:Ho,loadVideoTextures:ed,loadWebFont:Yo,localUniformBit:sp,localUniformBitGl:np,localUniformBitGroup2:ep,logProgramError:rb,mapCanvasBlendModesToPixi:ow,mapFormatToGlFormat:Db,mapFormatToGlInternalFormat:Gb,mapFormatToGlType:Bb,mapGlToVertexFormat:ib,mapType:tb,mapViewDimensionToGlTarget:Ub,mapWebGLBlendModesToPixi:mb,maskFrag:_f,maskVert:bf,maskWgsl:yf,matrixPool:he,measureHtmlText:gm,measureMixin:ye,measureTaggedText:ag,mipmapScaleModeToGlFilter:Rb,multiplyColors:pe,multiplyHexColors:de,nextPow2:$i,nonCompressedFormats:vd,normalizeExtensionPriority:ii,onRenderMixin:Me,parseSVGDefinitions:iu,parseSVGFloatAttribute:tu,parseSVGPath:ea,parseSVGStyle:ru,parseTaggedText:Hp,passthroughFrag:rf,passthroughWgsl:of,path:On,preloadVideo:td,removeItems:Ys,removeStructAndGroupDuplicates:jh,resolveCharacters:Qg,resolveCompressedTextureUrl:Rd,resolveJsonUrl:hd,resolveTextureUrl:nd,resourceToTexture:Mn,roundPixelsBit:xc,roundPixelsBitGl:Rc,roundedShapeArc:Kl,roundedShapeQuadraticCurve:zl,sayHello:fv,scaleModeToGlFilter:xb,setPositions:fp,setProgramName:Ch,setUvs:gp,shapeBuilders:wl,sortMixin:Ee,spritesheetAsset:Wn,squaredDistanceToLineSegment:aa,stripVersion:Ih,styleAttributes:hu,testImageFormat:To,testVideoFormat:xo,textStyleToCSS:sm,textureBit:Wm,textureBitGl:$m,textureFrom:En,tilingBit:hp,tilingBitGl:rp,toFillStyle:Tu,toLocalGlobalMixin:Se,toStrokeStyle:Cu,tokenize:hg,tokenizeTaggedRuns:lg,transformVertices:jc,triangulateWithHoles:el,trimRight:ng,uboSyncFunctionsSTD40:N_,uboSyncFunctionsWGSL:P_,uid:Di,uniformParsers:O_,unsafeEvalSupported:dr,updateQuadBounds:ns,updateRenderGroupTransform:Bw,updateRenderGroupTransforms:Gw,updateTextBounds:Ig,updateTransformAndChildren:Uw,updateTransformBackwards:ue,v8_0_0:Bi,v8_3_4:Ui,validFormats:xd,validateRenderables:Hw,vertexGPUTemplate:pc,vertexGlTemplate:mc,warn:Ws,webworkerExt:ni,wordWrap:fg,wordWrapTaggedLines:cg,wrapModeToGlAddress:Nb} + __proto__:null,AbstractBitmapFont:Kg,AbstractRenderer:io,AbstractText:Sp,AbstractTextSystem:Ug,AccessibilitySystem:ph,AlphaMask:Xe,AlphaMaskPipe:Ym,AnimatedSprite:Vf,Application:wo,ApplicationInitHook:ao,Assets:cd,AssetsClass:ad,BLEND_TO_NPM:ya,BREAKING_SPACES:Vp,BREAKING_SPACES_SET:Kp,BREAK_AFTER_CHARS:Yp,BREAK_AFTER_CHARS_SET:Xp,BUFFER_TYPE:qv,BackgroundLoader:So,BackgroundSystem:zw,Batch:Ra,BatchGeometry:Xa,BatchTextureArray:Oa,BatchableGraphics:qc,BatchableHTMLText:vm,BatchableMesh:$f,BatchableSprite:xg,BatchableText:Pg,Batcher:Ua,BatcherPipe:Wm,BigPool:qs,BindGroup:ir,BindGroupSystem:ey,BitmapFont:xM,BitmapFontManager:sm,BlendModePipe:Lw,Bounds:as,BrowserAdapter:sn,Buffer:Ha,BufferImageSource:ts,BufferResource:V_,BufferUsage:Fa,CLEAR:qr,COLLAPSIBLE_SPACES:zp,COLLAPSIBLE_SPACES_SET:qp,Cache:bn,CanvasBatchAdaptor:Lm,CanvasColorMaskPipe:Jm,CanvasContextSystem:uw,CanvasGraphicsAdaptor:Ow,CanvasGraphicsContextSystem:Of,CanvasGraphicsPipe:Rf,CanvasLimitsSystem:fw,CanvasNineSliceSpritePipe:yM,CanvasObserver:Vn,CanvasPool:kp,CanvasPoolClass:Ip,CanvasRenderTargetAdaptor:Nv,CanvasRenderTargetSystem:Dv,CanvasRenderer:Kv,CanvasRendererTextSystem:Hg,CanvasSource:rn,CanvasStencilMaskPipe:nw,CanvasTextGenerator:Sg,CanvasTextMetrics:wg,CanvasTextPipe:Lg,CanvasTextSystem:$g,CanvasTextureSystem:Bv,CanvasTilingSpritePipe:sp,Circle:ra,Color:Fs,ColorMask:Qe,ColorMaskPipe:Zm,ColorMatrixFilter:rf,CompressedSource:gd,Container:Fe,CustomRenderPipe:gw,DEG_TO_RAD:mi,DOMAdapter:nn,DOMPipe:Bd,DefaultBatcher:Fc,DefaultShader:Gc,DynamicBitmapFont:qg,Ellipse:aa,EventBoundary:Xd,EventEmitter:di,EventSystem:Zd,EventsTicker:Fd,ExtensionType:ti,ExtractSystem:Xw,FederatedContainer:tf,FederatedEvent:zn,FederatedMouseEvent:Wd,FederatedPointerEvent:jd,FederatedWheelEvent:Kd,FillGradient:ul,FillPattern:wu,Filter:cr,FilterEffect:te,FilterPipe:df,FilterSystem:_f,FontStylePromiseCache:Sm,GCManagedHash:Wc,GCSystem:ov,GL_FORMATS:e_,GL_TARGETS:n_,GL_TYPES:h_,GPUTextureGpuData:sM,GenerateTextureSystem:ev,Geometry:Ka,GlBackBufferSystem:g_,GlBatchAdaptor:Gm,GlBuffer:Xv,GlBufferSystem:Qv,GlColorMaskSystem:w_,GlContextSystem:t_,GlEncoderSystem:__,GlGeometryGpuData:l_,GlGeometrySystem:d_,GlGraphicsAdaptor:jb,GlLimitsSystem:y_,GlMeshAdaptor:Kb,GlProgram:Ph,GlProgramData:q_,GlRenderTarget:E_,GlRenderTargetAdaptor:H_,GlRenderTargetSystem:$_,GlShaderSystem:ub,GlStateSystem:_b,GlStencilSystem:T_,GlTexture:yb,GlTextureSystem:Wb,GlUboSystem:U_,GlUniformGroupSystem:mb,GlobalResourceRegistry:js,GlobalUniformSystem:cv,GpuBatchAdaptor:Fm,GpuBlendModesToPixi:Wy,GpuBufferData:hy,GpuBufferSystem:oy,GpuColorMaskSystem:uy,GpuDeviceSystem:fy,GpuEncoderSystem:gy,GpuGraphicsAdaptor:rM,GpuGraphicsContext:Tl,GpuLimitsSystem:wy,GpuMeshAdapter:aM,GpuMipmapGenerator:tM,GpuProgram:qh,GpuRenderTarget:Ly,GpuRenderTargetAdaptor:Gy,GpuRenderTargetSystem:Uy,GpuShaderSystem:Hy,GpuStateSystem:jy,GpuStencilModesToPixi:A_,GpuStencilSystem:_y,GpuTextureSystem:nM,GpuUboSystem:Sy,GpuUniformBatchPipe:Iy,Graphics:Uf,GraphicsContext:Pu,GraphicsContextRenderData:Il,GraphicsContextSystem:Ol,GraphicsGpuData:Lf,GraphicsPath:Zl,GraphicsPipe:Gf,HTMLText:Pm,HTMLTextPipe:bm,HTMLTextRenderData:gm,HTMLTextStyle:lm,HTMLTextSystem:xm,HelloSystem:mv,ImageSource:an,InstructionSet:Ie,Loader:Bo,LoaderParserPriority:Sn,MaskEffectManager:ee,MaskEffectManagerClass:se,MaskFilter:Af,Matrix:yi,MeshGeometry:Hf,NEWLINES:$p,NEWLINES_SET:jp,NEWLINE_MATCH_REGEX:Qp,NEWLINE_SPLIT_REGEX:Jp,NOOP:$i,NineSliceGeometry:EM,NineSliceSprite:kM,NineSliceSpriteGpuData:SM,NineSliceSpritePipe:CM,ObservablePoint:oi,PI_2:pi,PassthroughFilter:lf,PipelineSystem:Py,PlaneGeometry:_M,Point:vi,Polygon:ua,Pool:Vs,PoolGroupClass:zs,QuadGeometry:fp,RAD_TO_DEG:gi,Rectangle:Li,RenderGroup:Ne,RenderGroupPipe:vw,RenderGroupSystem:Vw,RenderTarget:Mv,RenderTargetSystem:Rv,RenderTexture:Qw,RenderableGCSystem:vv,RendererInitHook:lo,RendererType:sr,ResizePlugin:fo,Resolver:Dn,RoundedRectangle:pa,STENCIL_MODES:Ma,SVGParser:fu,SchedulerSystem:dv,Shader:nr,ShaderStage:Wh,ShapePath:Jl,SharedRenderPipes:Iv,SharedSystems:Cv,Sprite:je,SpritePipe:Rw,Spritesheet:Fn,State:or,StencilMask:tn,StencilMaskPipe:rw,SystemRunner:Xr,Text:jg,TextStyle:Cg,Texture:ns,TextureGCSystem:bv,TextureMatrix:es,TexturePool:Re,TexturePoolClass:xe,TextureSource:Qi,TextureStyle:Xi,Ticker:pn,TickerListener:un,TickerPlugin:go,TilingSprite:Ep,TilingSpriteGpuData:_p,TilingSpritePipe:yp,TilingSpriteShader:up,Transform:qf,UNIFORM_TO_ARRAY_SETTERS:fb,UNIFORM_TO_SINGLE_SETTERS:db,UNIFORM_TYPES_MAP:Xh,UNIFORM_TYPES_VALUES:Yh,UPDATE_BLEND:2,UPDATE_COLOR:1,UPDATE_PRIORITY:cn,UPDATE_VISIBLE:4,UboBatch:cy,UboSystem:I_,UniformGroup:Zh,VERSION:ro,VideoSource:wn,ViewContainer:We,ViewSystem:Tv,ViewableBuffer:_a,WGSL_ALIGN_SIZE_DATA:by,WGSL_TO_STD40_SIZE:k_,WebGLRenderer:ty,WebGPURenderer:mM,WorkerManager:Ku,accessibilityTarget:gh,addBits:Ja,addMaskBounds:Ke,addMaskLocalBounds:ze,addProgramDefines:Eh,appendSVGPath:du,applyMatrix:gp,applyStyleParams:Db,assignWithIgnore:Le,autoDetectRenderer:ho,bgr2rgb:me,bitmapFontCachePlugin:Mo,bitmapFontTextParser:vo,bitmapFontXMLParser:_o,bitmapFontXMLStringParser:bo,blockDataMap:Ky,boundsPool:oe,browserExt:ni,buildAdaptiveBezier:Rl,buildAdaptiveQuadratic:Ll,buildArc:Bl,buildArcTo:Ul,buildArcToSvg:Kl,buildCircle:Yc,buildContextBatches:yl,buildEllipse:Xc,buildLine:sl,buildPixelLine:el,buildPolygon:rl,buildRectangle:ol,buildRoundedRectangle:Jc,buildSimpleUvs:jc,buildTriangle:al,buildUvs:$c,cacheAsTextureMixin:Ys,cacheTextureArray:To,calculatePathArea:uu,calculateProjection:kv,canUseNewCanvasBlendModes:Xf,canvasUtils:Jf,checkChildrenDidChange:be,checkDataUrl:Uo,checkExtension:Fo,checkForNestedPattern:cu,checkMaxIfStatementsInShader:Ta,childrenHelperMixin:Js,cleanArray:hv,cleanHash:nv,clearList:Dw,closePointEps:Qc,collapseNewlines:ng,collapseSpaces:eg,collectRenderablesMixin:Qs,color32BitToUniform:Pf,colorBit:Ec,colorBitGl:Ac,colorMatrixFilterFrag:ef,colorMatrixFilterWgsl:nf,compareModeToGlCompare:Lb,compileHighShader:lc,compileHighShaderGl:uc,compileHighShaderGlProgram:Mc,compileHighShaderGpuProgram:yc,compileHooks:Za,compileInputs:ic,compileOutputs:hc,compileShader:Y_,convertToList:vn,copySearchParams:Bn,createGlUploadCubeTextureResource:Tb,createGpuUploadCubeTextureResource:Xy,createIdFromString:vh,createStringVariations:Pn,createTexture:Lu,createUboElementsSTD40:O_,createUboElementsWGSL:yy,createUboSyncFunction:R_,createUboSyncFunctionSTD40:G_,createUboSyncFunctionWGSL:Ey,crossOrigin:td,cullingMixin:Hs,curveEps:1e-4,defaultFilterVert:sf,defaultValue:J_,definedProps:Ki,deprecation:Wi,detectAvif:Io,detectCompressed:Ld,detectDefaults:Oo,detectMp4:Po,detectOgv:No,detectVideoAlphaMode:gn,detectWebm:Lo,detectWebp:Do,determineCrossOrigin:sd,earcut:zr,effectsMixin:ne,ensureAttributes:i_,ensureIsBuffer:Wa,ensurePrecision:Ah,ensureTextOptions:Tp,executeInstructions:mw,extensions:ei,extractAttributesFromGlProgram:eb,extractAttributesFromGpuProgram:Fh,extractFontFamilies:Mm,extractStructAndGroups:Hh,extractSubpaths:lu,extractSvgUrlId:hu,fastCopy:ba,findMixin:he,fontStringFromTextStyle:_g,fragmentGPUTemplate:mc,fragmentGlTemplate:vc,generateArraySyncSTD40:D_,generateArraySyncWGSL:My,generateGpuLayoutGroups:$h,generateLayoutHash:jh,generateProgram:ab,generateShaderSyncCode:K_,generateTextureBatchBit:Ic,generateTextureBatchBitGl:xc,generateTextureMatrix:wl,generateUniformsSync:pb,getAdjustedBlendModeBlend:Ea,getAttributeInfoFromFormat:Lh,getBatchSamplersUniformGroup:Lc,getBitmapTextLayout:Yg,getCanvasBoundingBox:Lp,getCanvasFillStyle:yg,getCanvasTexture:Av,getCharacterGroups:og,getDefaultUniformValue:Jh,getFastGlobalBoundsMixin:ce,getFontCss:Tm,getFontFamilyName:zo,getGeometryBounds:$a,getGlTypeFromFormat:o_,getGlobalBounds:le,getGlobalMixin:we,getGlobalRenderableBounds:pf,getLocalBounds:ve,getMaxFragmentPrecision:Mh,getMaxMiterRatio:ku,getMaxTexturesPerBatch:Ia,getOrientationOfPoints:Zc,getPo2TextureFromSource:Gg,getResolutionOfUrl:Nu,getSVGUrl:Cm,getSupportedCompressedTextureFormats:vd,getSupportedGPUCompressedTextureFormats:wd,getSupportedGlCompressedTextureFormats:md,getSupportedTextureFormats:yd,getTemporaryCanvasFromImage:Im,getTestContext:yh,getTextureBatchBindGroup:ma,getUboData:nb,getUniformData:hb,getUrlExtension:Gn,glUploadBufferImageResource:Mb,glUploadCompressedTextureResource:Ab,glUploadImageResource:Cb,glUploadVideoResource:xb,globalUniformsBit:_c,globalUniformsBitGl:bc,gpuUploadBufferImageResource:Vy,gpuUploadCompressedTextureResource:qy,gpuUploadImageResource:Jy,gpuUploadVideoResource:Qy,groupD8:Ri,hasTagMarkup:Fp,hasTagStyles:Up,injectBits:rc,insertVersion:Sh,isBreakAfterChar:sg,isBreakingSpace:tg,isCollapsibleSpace:ig,isMobile:dh,isNewline:Zp,isPow2:Vi,isRenderingToScreen:Ov,isSafari:ym,isSingleItem:Nn,isWebGLSupported:so,isWebGPUSupported:eo,ktxTranscoderUrls:Sd,loadBitmapFont:Eo,loadEnvironmentExtensions:ur,loadFontAsBase64:Em,loadFontCSS:Am,loadImageBitmap:Yu,loadJson:Ho,loadKTX2:xd,loadKTX2onWorker:Od,loadSVGImage:km,loadSvg:Du,loadTextures:Xu,loadTxt:Wo,loadVideoTextures:nd,loadWebFont:Xo,localUniformBit:ep,localUniformBitGl:hp,localUniformBitGroup2:np,logProgramError:ob,mapCanvasBlendModesToPixi:aw,mapFormatToGlFormat:Gb,mapFormatToGlInternalFormat:Bb,mapFormatToGlType:Ub,mapGlToVertexFormat:sb,mapType:ib,mapViewDimensionToGlTarget:Fb,mapWebGLBlendModesToPixi:wb,maskFrag:bf,maskVert:yf,maskWgsl:Mf,matrixPool:re,measureHtmlText:mm,measureMixin:Me,measureTaggedText:cg,mipmapScaleModeToGlFilter:Pb,multiplyColors:ge,multiplyHexColors:fe,nextPow2:ji,nonCompressedFormats:_d,normalizeExtensionPriority:si,onRenderMixin:Ee,parseSVGDefinitions:su,parseSVGFloatAttribute:iu,parseSVGPath:na,parseSVGStyle:ou,parseTaggedText:Wp,passthroughFrag:of,passthroughWgsl:af,path:xn,preloadVideo:id,removeItems:Xs,removeStructAndGroupDuplicates:Vh,resolveCharacters:Zg,resolveCompressedTextureUrl:Pd,resolveJsonUrl:rd,resolveTextureUrl:hd,resourceToTexture:En,roundPixelsBit:Rc,roundPixelsBitGl:Pc,roundedShapeArc:zl,roundedShapeQuadraticCurve:ql,sayHello:pv,scaleModeToGlFilter:Rb,setPositions:pp,setProgramName:Ih,setUvs:mp,shapeBuilders:vl,sortMixin:Ae,spritesheetAsset:$n,squaredDistanceToLineSegment:ca,stripVersion:kh,styleAttributes:ru,testImageFormat:Co,testVideoFormat:Ro,textStyleToCSS:em,textureBit:$m,textureBitGl:jm,textureFrom:An,tilingBit:rp,tilingBitGl:op,toFillStyle:Cu,toLocalGlobalMixin:Te,toStrokeStyle:Iu,tokenize:rg,tokenizeTaggedRuns:ug,transformVertices:Vc,triangulateWithHoles:nl,trimRight:hg,uboSyncFunctionsSTD40:N_,uboSyncFunctionsWGSL:L_,uid:Gi,uniformParsers:x_,unsafeEvalSupported:fr,updateQuadBounds:hs,updateRenderGroupTransform:Uw,updateRenderGroupTransforms:Bw,updateTextBounds:kg,updateTransformAndChildren:Fw,updateTransformBackwards:de,v8_0_0:Ui,v8_3_4:Fi,validFormats:Rd,validateRenderables:Ww,vertexGPUTemplate:gc,vertexGlTemplate:wc,warn:$s,webworkerExt:hi,wordWrap:pg,wordWrapTaggedLines:lg,wrapModeToGlAddress:Nb}
LocalDataManager 1 hunks, 1 statements
- zt(jA,"LocalDataManager"),qt(jA,"encryptionKey",null),qt(jA,"BASE_KEY","EF2_DEFAULT_KEY_2025"),qt(jA,"CREDS_LF_KEY",jA.getKey("aC")),qt(jA,"CREDS_LS_KEY","EF2_ACB"),qt(jA,"CREDS_NATIVE_KEY","ef2_account_creds"),qt(jA,"KEY_GAME_OVER",jA.getKey("gO")),qt(jA,"KEY_RALLY_POINTS",jA.getKey("rP")),qt(jA,"KEY_DIALOGUE_COUNT",jA.getKey("dC")),qt(jA,"BASE","EF2_STORAGE_"),qt(jA,"SALT","e1z7sf2h"),qt(jA,"KEYS",{ + qt(VA,"LocalDataManager"),Yt(VA,"encryptionKey",null),Yt(VA,"BASE_KEY","EF2_DEFAULT_KEY_2025"),Yt(VA,"CREDS_LF_KEY",VA.getKey("aC")),Yt(VA,"CREDS_LS_KEY","EF2_ACB"),Yt(VA,"CREDS_NATIVE_KEY","ef2_account_creds"),Yt(VA,"KEY_GAME_OVER",VA.getKey("gO")),Yt(VA,"KEY_RALLY_POINTS",VA.getKey("rP")),Yt(VA,"KEY_DIALOGUE_COUNT",VA.getKey("dC")),Yt(VA,"KEY_AUTO_POWER_SAVE",VA.getKey("aPS")),Yt(VA,"BASE","EF2_STORAGE_"),Yt(VA,"SALT","e1z7sf2h"),Yt(VA,"KEYS",{
VersionManager 1 hunks, 1 statements
- zt(qA,"VersionManager"),qt(qA,"gameId","ef2"),qt(qA,"appVersion","1.13.89"); + qt(YA,"VersionManager"),Yt(YA,"gameId","ef2"),Yt(YA,"appVersion","1.14.2");
ServerErrorManager 1 hunks, 1 statements
- "INVALID_USER_TYPE"==t&&(i.includes("/api/user/login")||i.includes("/api/user/loginByPlatform"))||1!=this.isAttestedError&&1!=this.isServerParkingError&&1!=this.isNoKeyError&&1!=this.isTsError&&1!=this.isDuplicateLoginError&&1!=this.isLtError&&1!=this.isAppVersionError&&1!=this.isInvalidUserTypeError&&("CLIENT_NOT_ATTESTED"==t?(this.isAttestedError=!0,EG.getInstance().showDelay(t)):"Server is parking"==t||"SERVER_PARKING"==t?(this.isServerParkingError=!0,LD.getInstance().isWhiteUser=!1,_G.getInstance().showDelay(this.onServerParkingErrorEnd.bind(this))):"NO_KEY"==t||"NO_SESSION"==t||"DECRYPT_ERROR"==t||"DECODE_ERROR"==t||"INVALID_BODY"==t?(this.isNoKeyError=!0,OG.getInstance().onNoSession(this.onNoKeyErrorEnd.bind(this))):"DUPLICATE_TS"==t||"TimeStamp"==t||"TS_NOT_FOUND"==t?(this.isTsError=!0,mN.syncWithServerDelay(this.onTsErrorEnd.bind(this))):"DUPLICATE_LOGIN"==t||"DUPLICATE_SESSION"==t?(this.isDuplicateLoginError=!0,EG.getInstance().showDelay(t)):"LT_ERROR"==t?(this.isLtError=!0,EG.getInstance().showDelay(t)):"UNDER_MIN_APP_VERSION"==t||"OVER_MAX_APP_VERSION"==t?(this.isAppVersionError=!0,EG.getInstance().showDelay(t)):"INVALID_USER_TYPE"==t&&(this.isInvalidUserTypeError=!0,EG.getInstance().showDelay(t)))} + "INVALID_USER_TYPE"==t&&(i.includes("/api/user/login")||i.includes("/api/user/loginByPlatform"))||1!=this.isAttestedError&&1!=this.isServerParkingError&&1!=this.isNoKeyError&&1!=this.isTsError&&1!=this.isDuplicateLoginError&&1!=this.isLtError&&1!=this.isAppVersionError&&1!=this.isInvalidUserTypeError&&("CLIENT_NOT_ATTESTED"==t?(this.isAttestedError=!0,NG.getInstance().showDelay(t)):"Server is parking"==t||"SERVER_PARKING"==t?(this.isServerParkingError=!0,KD.getInstance().isWhiteUser=!1,OG.getInstance().showDelay(this.onServerParkingErrorEnd.bind(this))):"NO_KEY"==t||"NO_SESSION"==t||"DECRYPT_ERROR"==t||"DECODE_ERROR"==t||"INVALID_BODY"==t?(this.isNoKeyError=!0,$G.getInstance().onNoSession(this.onNoKeyErrorEnd.bind(this))):"DUPLICATE_TS"==t||"TimeStamp"==t||"TS_NOT_FOUND"==t?(this.isTsError=!0,_P.syncWithServerDelay(this.onTsErrorEnd.bind(this))):"DUPLICATE_LOGIN"==t||"DUPLICATE_SESSION"==t?(this.isDuplicateLoginError=!0,NG.getInstance().showDelay(t)):"LT_ERROR"==t?(this.isLtError=!0,NG.getInstance().showDelay(t)):"REQUIRE_APP_UPDATE"==t?(this.isAppVersionError=!0,DG.getInstance().showDelay()):"UNDER_MIN_APP_VERSION"==t||"OVER_MAX_APP_VERSION"==t?(this.isAppVersionError=!0,NG.getInstance().showDelay(t)):"INVALID_USER_TYPE"==t&&(this.isInvalidUserTypeError=!0,NG.getInstance().showDelay(t)))}
AutoTogglePill 1 hunks, 1 statements
- ...wL.DEFAULT_FONT_OPTION_15,fontSize:t.FONT_SIZE,lineHeight:t.PILL_H} + ...bL.DEFAULT_FONT_OPTION_15,fontSize:t.FONT_SIZE,lineHeight:t.PILL_H}
WyvernRider1 1 hunks, 1 statements
- super.initializeData(),this.className=ax.WyvernRider1,this.sheetName="Game1",this.hitHeight=20,this.radius=7,this.unitType=ex.RANGE,this.weaponClass=kj.WyvernRiderThrowingKnife1,this.idleFrames=new nH(0,15),this.moveFrames=new nH(16,29),this.attackFrames=new nH(30,49),this.skillFrames=new nH(50,105),this.dieFrames=new nH(106,117),this.objAtk={ + super.initializeData(),this.className=ux.WyvernRider1,this.sheetName="Game1",this.hitHeight=20,this.uiTopOffset=5,this.radius=7,this.unitType=rx.RANGE,this.weaponClass=jj.WyvernRiderThrowingKnife1,this.idleFrames=new _H(0,15),this.moveFrames=new _H(16,29),this.attackFrames=new _H(30,49),this.skillFrames=new _H(50,105),this.dieFrames=new _H(106,117),this.objAtk={
WingKnight1 1 hunks, 1 statements
- super.initializeData(),this.className=ax.WingKnight1,this.sheetName="Game1",this.unitType=ex.MELEE,this.radius=7,this.hitHeight=29,this.idleFrames=new nH(0,35),this.moveFrames=new nH(36,63),this.attackFrames=new nH(64,112),this.skillFrames=new nH(113,188),this.dieFrames=new nH(189,204),this.objAtk={ + super.initializeData(),this.className=ux.WingKnight1,this.sheetName="Game1",this.unitType=rx.MELEE,this.radius=7,this.hitHeight=29,this.uiTopOffset=18,this.idleFrames=new _H(0,35),this.moveFrames=new _H(36,63),this.attackFrames=new _H(64,112),this.skillFrames=new _H(113,188),this.dieFrames=new _H(189,204),this.objAtk={
Druid1 1 hunks, 1 statements
- super.initializeData(),this.sheetName="Game1",this.className=ax.Druid1,this.radius=7,this.hitHeight=27,this.uiTopOffset=15,this.unitType=ex.RANGE,this.weaponClass=kj.DruidTangle1,this.idleFrames=new nH(0,31),this.moveFrames=new nH(32,72),this.attackFrames=new nH(73,131),this.skillFrames=new nH(132,191),this.dieFrames=new nH(192,207),this.objAtk={ + super.initializeData(),this.sheetName="Game1",this.className=ux.Druid1,this.radius=7,this.hitHeight=27,this.uiTopOffset=11,this.unitType=rx.RANGE,this.weaponClass=jj.DruidTangle1,this.idleFrames=new _H(0,31),this.moveFrames=new _H(32,72),this.attackFrames=new _H(73,131),this.skillFrames=new _H(132,191),this.dieFrames=new _H(192,207),this.objAtk={
Succubus1 1 hunks, 1 statements
- super.initializeData(),this.className=ax.Succubus1,this.sheetName="Game1",this.textureName="Succubus2",this.unitType=ex.RANGE,this.weaponClass=kj.SuccubusWeapon,this.radius=7,this.hitHeight=36,this.uiTopOffset=16,this.idleFrames=new nH(0,34),this.moveFrames=new nH(35,69),this.attackFrames=new nH(70,99),this.skillFrames=new nH(100,147),this.dieFrames=new nH(148,159),this.objAtk={ + super.initializeData(),this.className=ux.Succubus1,this.sheetName="Game1",this.textureName="Succubus2",this.unitType=rx.RANGE,this.weaponClass=jj.SuccubusWeapon,this.radius=7,this.hitHeight=36,this.uiTopOffset=8,this.idleFrames=new _H(0,34),this.moveFrames=new _H(35,69),this.attackFrames=new _H(70,99),this.skillFrames=new _H(100,147),this.dieFrames=new _H(148,159),this.objAtk={
Abyss1 1 hunks, 1 statements
- super.initializeData(),this.className=ax.Abyss1,this.sheetName="Game1",this.unitType=ex.RANGE,this.radius=7,this.hitHeight=27,this.idleFrames=new nH(0,39),this.moveFrames=new nH(40,52),this.attackFrames=new nH(53,82),this.skillFrames=new nH(83,132),this.dieFrames=new nH(133,167),this.objAtk={ + super.initializeData(),this.className=ux.Abyss1,this.sheetName="Game1",this.unitType=rx.RANGE,this.radius=7,this.hitHeight=27,this.uiTopOffset=5,this.idleFrames=new _H(0,39),this.moveFrames=new _H(40,52),this.attackFrames=new _H(53,82),this.skillFrames=new _H(83,132),this.dieFrames=new _H(133,167),this.objAtk={
Sylphid1 1 hunks, 1 statements
- super.initializeData(),this.className=ax.Sylphid1,this.sheetName="Game1",this.unitType=ex.RANGE,this.radius=7,this.hitHeight=27,this.idleFrames=new nH(0,29),this.moveFrames=new nH(30,59),this.attackFrames=new nH(60,89),this.skillFrames=new nH(90,139),this.dieFrames=new nH(140,164),this.objAtk={ + super.initializeData(),this.className=ux.Sylphid1,this.sheetName="Game1",this.unitType=rx.RANGE,this.radius=7,this.hitHeight=27,this.uiTopOffset=16,this.idleFrames=new _H(0,29),this.moveFrames=new _H(30,59),this.attackFrames=new _H(60,89),this.skillFrames=new _H(90,139),this.dieFrames=new _H(140,164),this.objAtk={
Sr 1 hunks, 1 statements
- ...t,...rit(i)} + ...t,...yit(i)}
Bo 1 hunks, 1 statements
- ),get(s.method)&&D3.analytics.track(i.error?4001===i.error.code?"sdk_action_rejected":"sdk_action_failed":"sdk_action_succeeded",{ + ),xet(s.method)&&J3.analytics.track(i.error?4001===i.error.code?"sdk_action_rejected":"sdk_action_failed":"sdk_action_succeeded",{
Ko 1 hunks, 1 statements
- ),t.remote.state.isOriginator&&i.method&&get(i.method)&&D3.analytics.track("sdk_action_requested",{ + ),t.remote.state.isOriginator&&i.method&&xet(i.method)&&J3.analytics.track("sdk_action_requested",{
Es 1 hunks, 1 statements
- const i=this.state.isOriginator&&t.method&&get(t.method); + const i=this.state.isOriginator&&t.method&&xet(t.method);
Ma 1 hunks, 1 statements
- ..._ht,coercer:zt((t,i)=>xnt(t,bht)?_ht.coercer(yht(t,i),i):_ht.coercer(t,i),"coercer")} + ...Nht,coercer:qt((t,i)=>Knt(t,Lht)?Nht.coercer(Dht(t,i),i):Nht.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,...ift(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,...mft(381,0),44,0,0,0,0,...i,0,7],h=Math.floor(s.length/e);
SuiStandardProvider 1 hunks, 1 statements
- namespace:dyt.NameSpaceKeyEip155,addresses:i,methods:[...gyt.Eip55Methods],extra:s} + namespace:Cyt.NameSpaceKeyEip155,addresses:i,methods:[...Oyt.Eip55Methods],extra:s}
AppReadyEvent 1 hunks, 1 statements
- return GMt||(GMt=[...xMt]),GMt} + return QMt||(QMt=[...KMt]),QMt}
SolProvider 1 hunks, 1 statements
- namespace:WAt.NameSpaceKeySOL,addresses:i,methods:[...KAt.SOLANAMethods],extra:s} + namespace:eSt.NameSpaceKeySOL,addresses:i,methods:[...oSt.SOLANAMethods],extra:s}
OkxwalletInjectConnector 1 hunks, 1 statements
- namespace:bSt.NameSpaceKeyBtc,addresses:i,methods:[...MSt.BtcMethods],extra:s} + namespace:LSt.NameSpaceKeyBtc,addresses:i,methods:[...GSt.BtcMethods],extra:s}
TcRootElement 1 hunks, 1 statements
- return mDt()||(t.push(new Rft.OKXAppConnector),t.push(new Rft.OKXWalletAppConnector)),pDt()&&t.push(new Rft.OkxwalletInjectConnector),t.push(...vDt()),t} + return xDt()||(t.push(new zft.OKXAppConnector),t.push(new zft.OKXWalletAppConnector)),kDt()&&t.push(new zft.OkxwalletInjectConnector),t.push(...PDt()),t}
WalletSelectPopup 1 hunks, 1 statements
- ...wL.ERROR_POPUP_LABEL_OPTION,fontSize:18} + ...bL.ERROR_POPUP_LABEL_OPTION,fontSize:18}
HeroDetailPopup 1 hunks, 1 statements
- i.atkRange} + Math.round(i.buffedAtkRange)}
TreasureBookPopup 1 hunks, 1 statements
- ++h)i=t.bookList[h],i.grade>=7||s.push(i.kindNum); + ++h)i=t.bookList[h],s.push(i.kindNum);
TreasureInventorySubView 1 hunks, 1 statements
- const t=[...$x.getInstance().ownedList]; + const t=[...Kx.getInstance().ownedList];
TreasureItemRenderer 1 hunks, 1 statements
- return!(!i.loaded||t.limitBreak>=i.getMaxLevelByTrans(t.trans||0)||(t.enhance||0)<t.maxLv)} + return!(!i.loaded||t.limitBreak>=i.getMaxLevelByTrans(t.trans||0,t.grade||0)||(t.enhance||0)<t.maxLv)}
PetListSubView 1 hunks, 1 statements
- const t=[...ux.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=[...px.getInstance().list].sort((t,i)=>i.grade!==t.grade?i.grade-t.grade:i.piece-t.piece),i=t.map(t=>t.kindNum);
TowerReadyPopup 1 hunks, 1 statements
- this.floorVO&&Q0t.getInstance().open(this.floorVO.floor,this.applyRecommendedDeck.bind(this))} + this.floorVO&&r1t.getInstance().open(this.floorVO.floor,this.applyRecommendedDeck.bind(this),this.floorVO.battleVO)}
FavoritePetSubView 1 hunks, 1 statements
- const t=[...ED.getInstance().favoritePets].sort((t,i)=>{ + const t=[...ND.getInstance().favoritePets].sort((t,i)=>{
TreasureSubView 1 hunks, 1 statements
- const t=[...$x.getInstance().equipedList]; + const t=[...Kx.getInstance().equipedList];
GuildBarracksRaceView 1 hunks, 1 statements
- ...wL.DEFAULT_OUTLINE_FONT_OPTION_16,fontSize:i} + ...bL.DEFAULT_OUTLINE_FONT_OPTION_16,fontSize:i}
GuildRaidBattleReadyPopup 1 hunks, 1 statements
- ...wL.DEFAULT_OUTLINE_FONT_OPTION_16,fontSize:13} + ...bL.DEFAULT_OUTLINE_FONT_OPTION_16,fontSize:13}
GuildWarHistoryItemRenderer 1 hunks, 1 statements
- ...wL.DEFAULT_OUTLINE_FONT_OPTION_16,fontSize:i} + ...bL.DEFAULT_OUTLINE_FONT_OPTION_16,fontSize:i}
GuildWarTournamentRewardGuidePopup 1 hunks, 1 statements
- let e=[...RL.rewardBattleList.sort((t,i)=>i.kindNum-t.kindNum)].concat([...RL.rewardBattleLostList.sort((t,i)=>i.kindNum-t.kindNum)]); + let e=[...$L.rewardBattleList.sort((t,i)=>i.kindNum-t.kindNum)].concat([...$L.rewardBattleLostList.sort((t,i)=>i.kindNum-t.kindNum)]);
BattleController 1 hunks, 1 statements
- this.skippedWave>0&&!this.shownDialogueWaves.has(this.skippedWave)&&(t.push(...aVt.getInstance().getByWave(this.skippedWave)),this.shownDialogueWaves.add(this.skippedWave)),this.shownDialogueWaves.has(OD.wave)||(t.push(...aVt.getInstance().getByWave(OD.wave)),this.shownDialogueWaves.add(OD.wave)),t.length>0&&Ahi.getInstance().showDialogues(t)} + this.skippedWave>0&&!this.shownDialogueWaves.has(this.skippedWave)&&(t.push(...EVt.getInstance().getByWave(this.skippedWave)),this.shownDialogueWaves.add(this.skippedWave)),this.shownDialogueWaves.has(HD.wave)||(t.push(...EVt.getInstance().getByWave(HD.wave)),this.shownDialogueWaves.add(HD.wave)),t.length>0&&Ghi.getInstance().showDialogues(t)}
GuildWarCombatLogItemRenderer 1 hunks, 1 statements
- ...wL.DEFAULT_FONT_OPTION_15,fontSize:14} + ...bL.DEFAULT_FONT_OPTION_15,fontSize:14}
GuildWarMemberStatusItemRenderer 1 hunks, 1 statements
- ...wL.DEFAULT_FONT_OPTION_15,fontSize:14} + ...bL.DEFAULT_FONT_OPTION_15,fontSize:14}
GuildWarTargetMarkerItemRenderer 1 hunks, 1 statements
- ...wL.DEFAULT_FONT_OPTION_15,fontSize:14} + ...bL.DEFAULT_FONT_OPTION_15,fontSize:14}
ArcheryStuckArrow 1 hunks, 1 statements
- __proto__:null,ConquestMainPopup:Fgi} + __proto__:null,ConquestPopup:Omi}
Delay 1 hunks, 1 statements
- ...Abi(),[i]:s} + ...pyi(),[i]:s}
NetworkTimeout 1 hunks, 1 statements
- ...qbi,...i} + ...Byi,...i}
RecaptchaVerifier 1 hunks, 1 statements
- ...kSi} + ..._Ti}
BrowserPopupRedirectResolver 1 hunks, 1 statements
- ...NTi,width:e.toString(),height:n.toString(),top:h,left:r} + ...ECi,width:e.toString(),height:n.toString(),top:h,left:r}

