EF2 Changelog

Builds / 1.11.73

Update 1.11.73

Compared with 1.11.59 · published Tue, 30 Jun 2026 11:20:16 GMT · live channel

No summary yet.

Text changes 18

KeyText
PET_NAME_1004 + Coconut Bird
PET_NAME_1005 + Sun Crab
PET_NAME_1006 + Water Jelly
PRODUCT_NAME_184 + New Knight Order Supply Package
PRODUCT_NAME_185 + Event Pet Package 1 (one-time only)
PRODUCT_NAME_186 + Event Pet Package 2 (one-time only)
PRODUCT_NAME_187 + Event Pet Package 3 (one-time only)
PRODUCT_NAME_188 + Event Pet Package 4 (one-time only)
PRODUCT_NAME_189 + Event Pet Package 5 (one-time only)
PRODUCT_NAME_190 + Event Pet Package 6 (one-time only)
GAME_1243 + Not enough Transcend Tickets.
PET_10001 ~ • Even when a Fairy is in the Barracks, the activation chance of Elf's Secret Art increases. (5★ 1%, 6★ 2.5%)\n• Elf's Secret Art bonus from Fairies in the Barracks cannot exceed 30%.• Even when a Golem is in the Barracks, Hero Max Level increases. (5★ +2, 6★ +5)\n• Hero Max Level granted by Golems in the Barracks is increased by 100.
PET_10008 ~ • Even when a Fairy is in the Barracks, the activation chance of Elf's Secret Art increases. (5★ 1%, 6★ 2.5%)\n• Elf's Secret Art bonus from Fairies in the Barracks cannot exceed 30%.• Even when a Wizard is in the Barracks, Dungeon Materials increase. (5★ 2%, 6★ 5%)\n• The Dungeon Material bonus from Wizards in the Barracks cannot exceed 200%.
PET_10009 ~ • Even when a Fairy is in the Barracks, the activation chance of Elf's Secret Art increases. (5★ 1%, 6★ 2.5%)\n• Elf's Secret Art bonus from Fairies in the Barracks cannot exceed 30%.• Even when a Wolf Warrior is in the Barracks, it grants a Game Speed Buff. (5★ 0.2% per unit, 6★ 0.5% per unit)\n• The Game Speed Buff from Wolf Warriors in the Barracks cannot exceed 20%.
GAME_38 ~ Rebirth resets progress and grants MedalsUpon Rebirth, you receive Medals and return to the first Wave.
GAME_39 ~ Gold and soldier levels are resetProgress made with Gold (Castle/Heroes/Quests) will be reset.
GAME_818 ~ Items other than Gems, Honor Coins, and Heroes will be sent to your inventory.Items other than Gems, Honor Coins, Heroes, and Transcend Tickets will be sent to your inventory.
GAME_819 ~ Items other than Gems, Honor Coins, and Heroes have been sent to your inventory.Items other than Gems, Honor Coins, Heroes, and Transcend Tickets have been sent to your inventory.

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

Assets 24

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

New sprites: Progress_Bar_Bg_LightGray, Progress_Bar_Bg_LightGreen, Shop_Shortcut_01, Ticket_HeroTrans2_s, Ticket_HeroTrans_s, Ticket_TreasureTrans6_s, Ticket_TreasureTrans7_s

Removed sprites: Btn_Floor_nor1, Btn_Floor_select1, Btn_Icon_Bg, Tap_Team_norL, Tap_Team_norM, Tap_Team_norR, Tap_Team_selectL, Tap_Team_selectM, Tap_Team_selectR, Thumbnail_PassPoint, UI-TREASURE6-TRANS-TICKET, UI-TREASURE7-TRANS-TICKET, UI_TREASURE_GIFT

assets/ekkorr/UI_Ekkorr.ktx2 changed 2,038.4 KB → 2,039.7 KB
assets/images/CharShopProduct.png added 150.1 KB after
assets/images/RaidBattle.json changed 9.8 KB → 16.4 KB

New sprites: GolemStone0001, GolemStone0002, GolemStone0003, GolemStone0004, GolemStone0005, GolemStone0006, GolemStone0007, GolemStone0008, GolemStone0009, GolemStone0010, GolemStone0011, GolemStone0012, GolemStone0013, GolemStone0014, GolemStone0015, GolemStone0016, GolemStone0017, GolemStone0018, GolemStone0019, SandTornado0001, SandTornado0002, SandTornado0003, SandTornado0004, SandTornado0005, SandTornado0006, SandTornado0007, SandTornado0008

assets/images/RaidBattle.ktx2 changed 21.5 KB → 98.3 KB
assets/images/UI_PET.json changed 34.8 KB → 35.4 KB

New sprites: UI_PET1004, UI_PET1005, UI_PET1006

assets/images/UI_PET.ktx2 changed 571.5 KB → 571.3 KB
assets/spines/raids/raid1/Ancient_DragonKnight.atlas changed 3.9 KB → 3.1 KB
assets/spines/raids/raid1/Ancient_DragonKnight.json changed 193.0 KB → 95.1 KB
assets/spines/raids/raid1/Ancient_DragonKnight.png changed 666.4 KB → 369.3 KB before after
assets/spines/raids/raid1/Belial.atlas changed 3.8 KB → 4.0 KB
assets/spines/raids/raid1/Belial.json changed 246.1 KB → 248.9 KB
assets/spines/raids/raid1/Belial.png changed 924.8 KB → 974.5 KB before after
assets/spines/raids/raid1/Harpy.atlas changed 2.7 KB → 2.6 KB
assets/spines/raids/raid1/Harpy.json changed 140.4 KB → 134.9 KB
assets/spines/raids/raid1/Harpy.png changed 582.3 KB → 577.6 KB before after
assets/spines/raids/raid1/Harpy.spine changed 88.4 KB → 86.9 KB
assets/spines/raids/raid1/Summon_dragon.atlas added 1.2 KB
assets/spines/raids/raid1/Summon_dragon.json added 82.0 KB
assets/spines/raids/raid1/Summon_dragon.png added 355.1 KB after
assets/spines/raids/raid1/lightning_area.atlas added 0.5 KB
assets/spines/raids/raid1/lightning_area.json added 1.8 KB
assets/spines/raids/raid1/lightning_area.png added 49.6 KB after
assets/spines/raids/raid1/lightning_area.spine added 1.0 KB

Code 265 changes in 112 classes

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

BaseShopProductPopup 4 hunks, 1822 statements
- const f4=class t extends nG{
+ const r6=class extends aG{
- i<t.MAX_REWARDS;
+ t<5;
- this.activeCount=Math.min(i.length,t.MAX_REWARDS);
+ this.activeCount=Math.min(t.length,this.rewardPool.length);
- Kt(f4,"ShopProductPopup"),zt(f4,"_instance"),zt(f4,"MAX_REWARDS",5);
+ Kt(r6,"BaseShopProductPopup");
+ let o6=r6;
+ const a6=class t extends o6{
+ constructor(){
+ super(),zt(this,"image"),zt(this,"timeContainer"),zt(this,"timeBg"),zt(this,"timeIcon"),zt(this,"timeLbl"),zt(this,"endTime",-1),zt(this,"count",0),zt(this,"onEnterUpdate",Kt(()=>{
+ ++this.count<60||(this.count=0,this.refresh())}
+ ,"onEnterUpdate")),zt(this,"onPaymentSuccessBind"),this.timeContainer=new Be,this.addChild(this.timeContainer),this.timeBg=new CM({
+ texture:ZA.getTexture("UI_Ekkorr","Progress_Bar_Bg_LightGreen"),leftWidth:20,topHeight:13,rightWidth:20,bottomHeight:13}
+ ),this.timeBg.alpha=.5,this.timeBg.width=160,this.timeContainer.addChild(this.timeBg),this.timeIcon=new We(ZA.getTexture("UI_Ekkorr","Icon_Time02")),this.timeIcon.x=20,this.timeContainer.addChild(this.timeIcon);
+ const t=aD.DEFAULT_FONT_OPTION_18;
+ t.fill=aD.COLOR_WHITE,t.stroke={
+ color:"#000000",width:3,join:"round"}
+ ,this.timeLbl=new YD("00:00:00",t.fill,t),this.timeLbl.x=this.timeIcon.x+this.timeIcon.width+10,this.timeLbl.y=.5*(this.timeBg.height-this.timeLbl.height),this.timeContainer.addChild(this.timeLbl)}
+ static getInstance(){
+ return this._instance||(this._instance=new t),this._instance}
+ async buyProduct2(t,i){
+ const s=Q2.getInstance().getByProductId(t);
+ if(s){
+ if(this.endTime=i,this.refresh(),GM.getInstance().add(this.onEnterUpdate,this),!this.image){
+ this.image=new We,this.addChildAt(this.image,0);
+ const{
+ AssetPathManager:t}
+ =await Jt(async()=>{
+ const{
+ AssetPathManager:t}
+ =await Promise.resolve().then(()=>JA);
+ return{
+ AssetPathManager:t}
+ }
+ ,void 0),{
+ Assets:i}
+ =await Jt(async()=>{
+ const{
+ Assets:t}
+ =await Promise.resolve().then(()=>xM);
+ return{
+ Assets:t}
+ }
+ ,void 0),s=t.getAssetPath("CharShopProduct.png"),e=await i.load(s);
+ this.image.texture=e,this.image.x=.5*(this.width-this.image.width),this.image.y=-this.image.height}
+ this.buyProduct(s),this.setPaymentSuccess(!0)}
+ }
+ refresh(){
+ if(ix.time<this.endTime){
+ this.timeLbl.text=uU.displayTime(.001*(this.endTime-ix.time));
+ const t=this.timeBg.width-2*this.timeIcon.x-this.timeIcon.width;
+ this.timeLbl.x=this.timeIcon.x+this.timeIcon.width+.5*(t-this.timeLbl.width)}
+ else this.hide()}
+ hide(){
+ super.hide(),this.setPaymentSuccess(!1),GM.getInstance().remove(this.onEnterUpdate,this)}
+ updateLayout(){
+ super.updateLayout();
+ const t=this.activeCount>0?this.rewardPool[0].height:0;
+ let i=this.rewardContainer.y+t+30;
+ this.guideSecretary&&this.guideSecretary.visible&&(this.guideSecretary.x=.5*(this.width-this.guideSecretary.width),this.guideSecretary.y=this.lblDesc.y+this.lblDesc.height+20,i+=this.guideSecretary.height),this.timeContainer&&(this.timeContainer.x=.5*(this.width-this.timeContainer.width),this.timeContainer.y=i,i+=this.timeContainer.height+45),this.btnBuy.visible&&(this.btnBuy.y=i,this.btnRedGem.y=i,i+=this.btnBuy.height+40),this.height=i}
+ setPaymentSuccess(t){
+ lS.getInstance().removeEventListener("PaymentSuccess",this.onPaymentSuccessBind),t&&(this.onPaymentSuccessBind=this.onPaymentSuccess.bind(this),lS.getInstance().addEventListener("PaymentSuccess",this.onPaymentSuccessBind))}
+ onPaymentSuccess(t){
+ var i;
+ let s=-1;
+ t&&t.detail&&"productId"in t.detail&&(s=t.detail.productId),s===(null==(i=this.data)?void 0:i.productId)&&this.hide()}
+ }
+ ;
+ Kt(a6,"ShopProductPopupWithTimer"),zt(a6,"_instance");
+ let c6=a6;
+ const l6=class t extends Be{
+ constructor(){
+ super(),zt(this,"items",[]),zt(this,"itemPool",[]),zt(this,"onPaymentSuccessBind")}
+ static getInstance(){
+ return null==this.instance&&(this.instance=new t),this.instance}
+ add(t,i){
+ if(-1!==this.items.findIndex(i=>i.productId===t))return;
+ let s;
+ this.itemPool.length>0?(s=this.itemPool.pop(),s.reset()):s=new f6("Shop_Shortcut_01"),s.setData(t,i),s.onEndTime=()=>{
+ this.onItemEndTime()}
+ ,s.onClick=(t,i)=>{
+ c6.getInstance().buyProduct2(t,i)}
+ ,this.addChild(s),this.items.push(s),this.items.length>0&&this.setPaymentSuccess(!0),this.alignItems()}
+ alignItems(){
+ let t=0;
+ const i=this.items.length;
+ for(let s=0;
+ s<i;
+ ++s)this.items[s].y=t,t+=this.items[s].height+5}
+ onItemEndTime(){
+ this.update(-1),this.alignItems()}
+ setPaymentSuccess(t){
+ lS.getInstance().removeEventListener("PaymentSuccess",this.onPaymentSuccessBind),t&&(this.onPaymentSuccessBind=this.onPaymentSuccess.bind(this),lS.getInstance().addEventListener("PaymentSuccess",this.onPaymentSuccessBind))}
+ onPaymentSuccess(t){
+ let i=-1;
+ t&&t.detail&&"productId"in t.detail&&(i=t.detail.productId),-1!==i&&this.update(i)}
+ update(t){
+ const i=this.items.findIndex(i=>i.productId===t);
+ if(-1===i)return;
+ const s=this.items[i];
+ s.reset(),s.removeFromParent(),this.items.splice(i,1),this.itemPool.push(s),0==this.items.length&&this.setPaymentSuccess(!1)}
+ }
+ ;
+ Kt(l6,"ShopProductGroup"),zt(l6,"instance");
+ let u6=l6;
+ const d6=class extends mB{
+ constructor(t,i=1){
+ super("UI_Ekkorr",t,i),zt(this,"container"),zt(this,"timeBg"),zt(this,"timeLbl"),zt(this,"_productId",-1),zt(this,"_endTime",-1),zt(this,"count",0),zt(this,"onEnterUpdate",Kt(()=>{
+ ++this.count<60||(this.count=0,this.update())}
+ ,"onEnterUpdate")),zt(this,"onEndTime",null),this.container=new Be,this.addChild(this.container),this.container.x=this.bg.x,this.container.y=this.bg.y,this.bg.x=0,this.bg.y=0,this.container.addChild(this.bg),this.timeBg=new CM({
+ texture:ZA.getTexture("UI_Ekkorr","Progress_Bar_Bg"),leftWidth:20,topHeight:13,rightWidth:20,bottomHeight:13}
+ ),this.timeBg.alpha=.7,this.timeBg.width=70,this.timeBg.x=this.bg.x-.5*this.timeBg.width,this.timeBg.y=this.bg.y+.5*this.bg.height-.75*this.timeBg.height,this.container.addChild(this.timeBg);
+ const s=aD.DEFAULT_FONT_OPTION_15;
+ s.fill=aD.COLOR_WHITE,s.stroke={
+ color:"#000000",width:3,join:"round"}
+ ,this.timeLbl=new YD("00:00:00",s.fill,s),this.timeLbl.x=this.timeBg.x+.5*(this.timeBg.width-this.timeLbl.width),this.timeLbl.y=this.timeBg.y+.5*(this.timeBg.height-this.timeLbl.height)-1,this.container.addChild(this.timeLbl)}
+ get productId(){
+ return this._productId}
+ get endTime(){
+ return this._endTime}
+ setData(t,i){
+ this._productId=t,this._endTime=i,this.update(),GM.getInstance().add(this.onEnterUpdate,this)}
+ update(){
+ if(ix.time<this._endTime)this.timeLbl.text=uU.displayTime(.001*(this._endTime-ix.time)),this.timeLbl.x=this.timeBg.x+.5*(this.timeBg.width-this.timeLbl.width);
+ else{
+ const t=this.onEndTime;
+ this.reset(),t&&t()}
+ }
+ reset(){
+ this._endTime=-1,this._productId=-1,this.onEndTime=null,GM.getInstance().remove(this.onEnterUpdate,this)}
+ onDown(){
+ this.container.scale.set(.9*this.iconScale)}
+ onUp(){
+ this.container.scale.set(1*this.iconScale),KL.getInstance().playSFX(KL.SFX_NORMAL_CLICK),WL(),this.onClick&&this.onClick(this._productId,this._endTime)}
+ }
+ ;
+ Kt(d6,"ShopProductItem");
+ let f6=d6;
+ var p6=(t=>(t.ACCOUNT_CREATE="ACCOUNT_CREATE",t))(p6||{
+ }
+ );
+ const g6=class t{
+ static getInstance(){
+ return this._instance||(this._instance=new t),this._instance}
+ doAccountCreate(){
+ const t=Q2.getInstance(),i=t.getTargetingByType(p6.ACCOUNT_CREATE);
+ if(!i)return;
+ const s=t.getByProductId(i[0]);
+ if(!s||!s.active)return;
+ let e=new Date(_L.regTime);
+ const n=EL.getInstance().getClientData("PRODUCT_START_TIME_29");
+ if(n){
+ let t=new Date(n);
+ e.getTime()<t.getTime()&&(e=t)}
+ const h=s.targeting.durationMinutes??0;
+ let r=e.getTime()+60*h*1e3;
+ r<ix.time||t.isAvailableForPurchase(s)&&u6.getInstance().add(s.productId,r)}
+ }
+ ;
+ Kt(g6,"ShopProductTrigger"),zt(g6,"_instance");
+ let m6=g6;
+ const w6=class t{
+ static get opened(){
+ return!1}
+ static async getMyReferralCode(){
+ if(this._referralCode)return this._referralCode;
+ if(this.requestPending1)return this._referralCode;
+ this.requestPending1=!0;
+ const t=await hD.getInstance().referral.getMyReferralCode();
+ try{
+ const i=new URL(t);
+ Array.from(i.searchParams.keys()).length>0&&(this._referralCode=t)}
+ catch(i){
+ }
+ return this.requestPending1=!1,this._referralCode}
+ static async getMyReferralStatus(t,i=!1){
+ this.requestPending2||(this.requestPending2=!0,this.setStatusData({
+ totalReferrals:10,qualifiedReferrals:7,claimed:2,milestoneRewards:[{
+ milestone:10,weaponGrade:3}
+ ,{
+ milestone:20,weaponGrade:3}
+ ,{
+ milestone:30,weaponGrade:3}
+ ,{
+ milestone:40,weaponGrade:4}
+ ,{
+ milestone:50,weaponGrade:4}
+ ]}
+ ),this.requestPending2=!1,lS.getInstance().dispatchCustomEvent("ReferralStatus"))}
+ static setStatusData(t){
+ this._totalReferrals=Number(t.totalReferrals),this._qualifiedReferrals=Number(t.qualifiedReferrals),this._claimed=Number(t.claimed);
+ const i=t.milestoneRewards;
+ if(0==this.rewardList.length&&"length"in i){
+ const t=i[i.length-1].milestone;
+ for(let i=0;
+ i<t;
+ ++i)this.rewardList.push([{
+ type:"gem",amount:this.GEM_PER_FRIEND}
+ ]);
+ const s=i.length;
+ for(let e=0;
+ e<s;
+ ++e){
+ const t=Number(i[e].milestone),s=Number(i[e].weaponGrade);
+ this.rewardList[t-1].push({
+ type:"weapon",amount:1,grade:s}
+ )}
+ }
+ }
+ static get totalReferrals(){
+ return this._totalReferrals}
+ static get qualifiedReferrals(){
+ return this._qualifiedReferrals}
+ static get claimed(){
+ return this._claimed}
+ static getRewardList(){
+ return this.rewardList}
+ static async claimRewards(i){
+ if(this.requestPending3)return;
+ this.requestPending3=!0;
+ const s=await hD.getInstance().referral.claimReward(i,!0);
+ if(0==s.success){
+ this.requestPending3=!1,lS.getInstance().dispatchCustomEvent("ReferralStatus");
+ let e=s.errorMessage;
+ const n=s.error;
+ return"INSUFFICIENT_REFERRAL"==n?e=AG.getValueReplaceMulti("GAME_145",["##","@@"],[t.FRIEND_LEVEL,i]):"ALREADY_CLAIMED"==n&&(e=AG.getText("COMMON_276","이미 보상을 받았습니다.")),void mG.getInstance().show(e)}
+ "status"in s.body&&this.setStatusData(s.body.status),this.requestPending3=!1,lS.getInstance().dispatchCustomEvent("ReferralStatus",s)}
+ static hasReward(){
+ return this.claimed<this.qualifiedReferrals}
+ }
+ ;
+ Kt(w6,"FriendInviteManager"),zt(w6,"FRIEND_LEVEL",50),zt(w6,"GEM_PER_FRIEND",100),zt(w6,"_referralCode",""),zt(w6,"requestPending1",!1),zt(w6,"requestPending2",!1),zt(w6,"_totalReferrals",0),zt(w6,"_qualifiedReferrals",0),zt(w6,"_claimed",0),zt(w6,"rewardList",[]),zt(w6,"requestPending3",!1);
+ let v6=w6;
+ var b6=(t=>(t.GAME="GAME",t.PAYMENT="PAYMENT",t))(b6||{
+ }
+ );
+ const y6=class{
+ constructor(){
+ zt(this,"index",-1),zt(this,"id"),zt(this,"gameId"),zt(this,"title"),zt(this,"content"),zt(this,"rewards"),zt(this,"receivedAt"),zt(this,"createdAt"),zt(this,"mailType"),zt(this,"typeArray"),zt(this,"subTypeArray"),zt(this,"amountArray"),zt(this,"gradeArray"),zt(this,"kindNumArray"),this.index=-1,this.id=-1,this.gameId="",this.title="",this.content="",this.rewards=[],this.createdAt=null,this.receivedAt=null,this.mailType="",this.typeArray=[],this.subTypeArray=[],this.amountArray=[],this.gradeArray=[],this.kindNumArray=[]}
+ setData(t,i){
+ t&&(this.id=Number(t.id),this.gameId=String(t.gameId),this.title=t.title,this.content=t.content,this.rewards=t.rewards,this.createdAt=t.createdAt,t.receivedAt?this.receivedAt=t.receivedAt:this.receivedAt=null,this.mailType=i,this.typeArray.length=0,this.subTypeArray.length=0,this.amountArray.length=0,this.gradeArray.length=0,this.kindNumArray.length=0)}
+ get hasReward(){
+ return!(!this.rewards||0==this.rewards.length)&&Object.values(this.rewards).some(t=>!!t&&("number"==typeof t?t>0:!!t))}
+ get hasClaimableReward(){
+ return this.hasReward&&null==this.receivedAt}
+ get isDeletable(){
+ return null!=this.receivedAt}
+ reset(){
+ this.index=-1,this.id=-1,this.gameId="",this.title="",this.content="",this.rewards.length=0,this.createdAt=null,this.receivedAt=null,this.mailType="",this.typeArray.length=0,this.subTypeArray.length=0,this.amountArray.length=0,this.gradeArray.length=0,this.kindNumArray.length=0}
+ }
+ ;
+ Kt(y6,"MailVO");
+ let _6=y6;
+ const M6=class{
+ static async getMailList(t=1){
+ let i=await hD.getInstance().mail.list(t,this.pageSize);
+ 0!=i.success?t>this.page?this.setData(i.body,!0):this.setData(i.body):lS.getInstance().dispatchCustomEvent("MailUpdate")}
+ static setData(t,i=!1){
+ let s,e,n,h;
+ if(t.mailList){
+ const r=t.mailList;
+ for(0==i?(h=[...this.gameList],this.gameList.length=0):h=[],e=r.length,s=0;
+ s<e;
+ ++s){
+ r[s].content=this.filterContent(r[s].content);
+ const t=Number(r[s].id),i=h.findIndex(i=>i.id===t);
+ -1===i?n=this.getMailEmptyVO():(n=h.splice(i,1)[0],n.reset()),n.setData(r[s],b6.GAME),this.gameList.push(n),this.gameMailMap[n.id]=n}
+ this.addListPool(h)}
+ if(t.paymentMailList){
+ const r=t.paymentMailList;
+ for(0==i?(h=[...this.paymentList],this.paymentList.length=0):h=[],e=r.length,s=0;
+ s<e;
+ ++s){
+ r[s].content=this.filterContent(r[s].content);
+ const t=Number(r[s].id),i=h.findIndex(i=>i.id===t);
+ -1===i?n=this.getMailEmptyVO():(n=h.splice(i,1)[0],n.reset()),n.setData(r[s],b6.PAYMENT),this.paymentList.push(n),this.paymentMailMap[n.id]=n,n.index=this.paymentList.length}
+ this.addListPool(h)}
+ "mailTotal"in t&&(this.mailsTotal=Number(t.mailTotal)),"mailTotalPages"in t&&(this.mailTotalPages=Number(t.mailTotalPages)),"paymentTotal"in t&&(this.paymentMailsTotal=Number(t.paymentTotal)),"paymentTotalPages"in t&&(this.paymentTotalPages=Number(t.paymentTotalPages)),this.updatePage(),this.updateNeeded=!1,lS.getInstance().dispatchCustomEvent("MailUpdate"),this.log()}
+ static filterContent(t){
+ return t.replace(/\r\n/g,"\n")}
+ static onMailDeleteAndUpdate(t){
+ t==b6.PAYMENT?(this.paymentMailsTotal>0&&this.paymentMailsTotal--,this.paymentTotalPages=Math.floor((this.paymentMailsTotal-1)/this.pageSize)+1):(this.mailsTotal>0&&this.mailsTotal--,this.mailTotalPages=Math.floor((this.mailsTotal-1)/this.pageSize)+1),this.updatePage()}
+ static updatePage(){
+ const t=Math.max(this.gameList.length,this.paymentList.length);
+ this.page=Math.floor((t-1)/this.pageSize)+1,this.page<1&&(this.page=1)}
+ static log(){
+ }
+ static getGameMailWithId(t){
+ return this.gameMailMap[t]}
+ static getPaymentMailWithId(t){
+ return this.paymentMailMap[t]}
+ static getMailCount(t){
+ return t==b6.PAYMENT?this.paymentList.length:this.gameList.length}
+ static getMailTotal(t){
+ return t==b6.PAYMENT?this.paymentMailsTotal:this.mailsTotal}
+ static getMailTotalPage(t){
+ return t==b6.PAYMENT?this.paymentTotalPages:this.mailTotalPages}
+ static isAllMailLoaded(t){
+ let i=0,s=0,e=0;
+ return t==b6.PAYMENT?(i=this.paymentList.length,s=this.paymentMailsTotal,e=this.paymentTotalPages):(i=this.gameList.length,s=this.mailsTotal,e=this.mailTotalPages),!(Math.floor((i-1)/this.pageSize)+1<e||i<s)}
+ static getPage(){
+ return this.page}
+ static getPageSize(){
+ return this.pageSize}
+ static getDisplaySize(){
+ return this.displaySize}
+ static setDisplaySize(t){
+ t>0&&(this.displaySize=t)}
+ static getMailEmptyVO(){
+ if(this.mailPool.length>0){
+ let t=this.mailPool.pop();
+ return t?t.reset():t=new _6,t}
+ return new _6}
+ static addPool(t){
+ t&&(t.reset(),this.mailPool.push(t))}
+ static addListPool(t){
+ if(!t)return;
+ let i;
+ const s=t.length;
+ for(let e=0;
+ e<s;
+ ++e)i=t[e],i&&(i.reset(),this.mailPool.push(i))}
+ static removeGameMail(t){
+ const i=this.gameList.findIndex(i=>i.id===t);
+ -1!==i&&(this.gameList.splice(i,1),this.addPool(this.gameMailMap[t]),delete this.gameMailMap[t])}
+ static removePaymentMail(t){
+ const i=this.paymentList.findIndex(i=>i.id===t);
+ -1!==i&&(this.paymentList.splice(i,1),this.addPool(this.paymentMailMap[t]),delete this.paymentMailMap[t])}
+ static get hasDeletableGameMail(){
+ return-1!==this.gameList.findIndex(t=>!0===t.isDeletable)}
+ static get hasDeletablePaymentMail(){
+ return-1!==this.paymentList.findIndex(t=>!0===t.isDeletable)}
+ static get hasDeletableMail(){
+ return this.hasClaimableGameReward||this.hasClaimablePaymentReward}
+ static get hasClaimableReward(){
+ return this.hasClaimableGameReward||this.hasClaimablePaymentReward}
+ static get hasClaimableGameReward(){
+ return this.checkClaimableReward(this.gameList)}
+ static get hasClaimablePaymentReward(){
+ return this.checkClaimableReward(this.paymentList)}
+ static checkClaimableReward(t){
+ const i=t.length;
+ for(let s=0;
+ s<i;
+ ++s)if(t[s].hasClaimableReward)return!0;
+ return!1}
+ }
+ ;
+ Kt(M6,"MailManager"),zt(M6,"updateNeeded",!0),zt(M6,"mailPool",[]),zt(M6,"gameList",[]),zt(M6,"paymentList",[]),zt(M6,"gameMailMap",{
+ }
+ ),zt(M6,"paymentMailMap",{
+ }
+ ),zt(M6,"mailsTotal",0),zt(M6,"mailTotalPages",0),zt(M6,"paymentMailsTotal",0),zt(M6,"paymentTotalPages",0),zt(M6,"page",1),zt(M6,"pageSize",20),zt(M6,"displaySize",8);
+ let E6=M6;
+ var A6=(t=>(t.NOT_PURCHASE="NOT_PURCHASE",t.CREATED="CREATED",t.PENDING="PENDING",t.COMPLETED="COMPLETED",t.FAILED="FAILED",t))(A6||{
+ }
+ );
+ const S6=class{
+ constructor(){
+ zt(this,"id",-1),zt(this,"productId",-1),zt(this,"paybackType",""),zt(this,"paybackValue",-1),zt(this,"status",""),zt(this,"paidbackAt",null)}
+ }
+ ;
+ Kt(S6,"PaybackEventUserVO");
+ let T6=S6;
+ const C6=class{
+ constructor(){
+ zt(this,"id",-1),zt(this,"title",""),zt(this,"description",[]),zt(this,"startTime",null),zt(this,"endTime",null),zt(this,"paybackEndTime",null)}
+ }
+ ;
+ Kt(C6,"PaybackEventVO");
+ let k6=C6;
+ const O6=class{
+ static get opened(){
+ return!1}
+ static async getPaybackEvent(t,i=!1){
+ let s=await hD.getInstance().payback.getPaybackEvent(t,i);
+ s=this.getTestData(),0!=s.success?(this.setData(s.body),lS.getInstance().dispatchCustomEvent("PaybackEvent")):lS.getInstance().dispatchCustomEvent("PaybackEvent")}
+ static setData(t){
+ this.setPaybackEventData(t),this.setPaybackUserData(t)}
+ static setPaybackEventData(t){
+ if(!t||!t.paybackEvent)return void(this.paybackEvent.id=0);
+ const i=t.paybackEvent;
+ this.paybackEvent.id=Number(i.id),this.paybackEvent.title=String(i.title),this.paybackEvent.description=String(i.description).split("|"),this.paybackEvent.startTime=new Date(i.startTime),this.paybackEvent.endTime=new Date(i.endTime),this.paybackEvent.paybackEndTime=new Date(i.paybackEndTime)}
+ static getEventDurationStr(t){
+ const i={
+ startTimeStr:"",endTimeStr:"",paybackEndTimeStr:""}
+ ,s="YYYY-MM-DD";
+ let e="00:00:00";
+ if(t.startTime){
+ const n=t.startTime,h=s.replace("YYYY",String(n.getUTCFullYear())).replace("MM",uU.digit(n.getUTCMonth()+1)).replace("DD",uU.digit(n.getUTCDate()));
+ e=`${
+ uU.digit(n.getUTCHours())}
+ :${
+ uU.digit(n.getUTCMinutes())}
+ :${
+ uU.digit(n.getUTCSeconds())}
+ `,i.startTimeStr=h}
+ let n="23:59:59";
+ if(t.endTime){
+ const e=t.endTime,h=s.replace("YYYY",String(e.getUTCFullYear())).replace("MM",uU.digit(e.getUTCMonth()+1)).replace("DD",uU.digit(e.getUTCDate()));
+ n=`${
+ uU.digit(e.getUTCHours())}
+ :${
+ uU.digit(e.getUTCMinutes())}
+ :${
+ uU.digit(e.getUTCSeconds())}
+ `,i.endTimeStr=h}
+ let h="23:59:59";
+ if(t.paybackEndTime){
+ const e=t.paybackEndTime,n=s.replace("YYYY",String(e.getUTCFullYear())).replace("MM",uU.digit(e.getUTCMonth()+1)).replace("DD",uU.digit(e.getUTCDate()));
+ h=`${
+ uU.digit(e.getUTCHours())}
+ :${
+ uU.digit(e.getUTCMinutes())}
+ :${
+ uU.digit(e.getUTCSeconds())}
+ `,i.paybackEndTimeStr=n}
+ return"00:00:00"==e&&"23:59:59"==n&&"23:59:59"==h||(i.startTimeStr+=" "+e,i.endTimeStr+=" "+n,i.paybackEndTimeStr+=" "+h),i}
+ static setPaybackUserData(t){
+ if(!t||!t.paybacks)return;
+ const i=t.paybacks,s=i.length;
+ if(0==this.paybacks.length)for(let h=0;
+ h<s;
+ ++h)this.paybacks.push(new T6);
+ let e,n;
+ for(let h=0;
+ h<s;
+ ++h)e=i[h],n=this.paybacks[h],n.id=Number(e.id),n.productId=Number(e.productId),n.paybackType=String(e.paybackType),n.paybackValue=Number(e.paybackValue),n.status=String(e.status),n.paidbackAt=new Date(String(e.paidbackAt))}
+ static isEventEnded(){
+ const t=this.paybackEvent;
+ return t.id<0||!t.endTime||!(gP.serverTime<t.endTime.getTime())}
+ static isPaybackEnded(){
+ const t=this.paybackEvent;
+ return t.id<0||!t.paybackEndTime||!(gP.serverTime<t.paybackEndTime.getTime())}
+ static hasReward(){
+ if(1==this.isPaybackEnded())return!1;
+ let t;
+ const i=this.paybacks.length;
+ for(let s=0;
+ s<i;
+ ++s)if(t=this.paybacks[s],t.status==A6.CREATED||t.status==A6.FAILED)return!0;
+ return!1}
+ static getTestData(){
+ return{
+ header:{
+ sts:1771417950938}
+ ,body:{
+ paybackEvent:{
+ id:7,gameId:"smith",active:1,subId:3,title:"PAYBACK_T1",description:"PAYBACK_H1|PAYBACK_H2|PAYBACK_H3|PAYBACK_H4|PAYBACK_H5|PAYBACK_H6",startTime:"2026-02-17T00:00:00.000Z",endTime:"2026-02-20T21:59:59.000Z",paybackEndTime:"2026-02-20T23:59:59.000Z"}
+ ,paybacks:[{
+ id:21,gameId:"smith",subId:3,step:1,productId:111,reqProductId:0,paybackType:"slx",paybackValue:299,status:"COMPLETED",paidbackAt:null}
+ ,{
+ id:22,gameId:"smith",subId:3,step:2,productId:112,reqProductId:111,paybackType:"slx",paybackValue:998,status:"CREATED",paidbackAt:null}
+ ,{
+ id:23,gameId:"smith",subId:3,step:3,productId:113,reqProductId:112,paybackType:"slx",paybackValue:4995,status:"NOT_PURCHASE",paidbackAt:null}
+ ,{
+ id:24,gameId:"smith",subId:3,step:4,productId:114,reqProductId:113,paybackType:"slx",paybackValue:9990,status:"NOT_PURCHASE",paidbackAt:null}
+ ,{
+ id:25,gameId:"smith",subId:3,step:5,productId:115,reqProductId:114,paybackType:"slx",paybackValue:19980,status:"NOT_PURCHASE",paidbackAt:null}
+ ,{
+ id:26,gameId:"smith",subId:3,step:6,productId:116,reqProductId:115,paybackType:"slx",paybackValue:49950,status:"NOT_PURCHASE",paidbackAt:null}
+ ,{
+ id:27,gameId:"smith",subId:3,step:7,productId:117,reqProductId:116,paybackType:"slx",paybackValue:99900,status:"NOT_PURCHASE",paidbackAt:null}
+ ]}
+ ,_success_:!0,_ok_:!0,_status_:201}
+ }
+ }
+ ;
+ Kt(O6,"PaybackEventManager"),zt(O6,"paybackEvent",new k6),zt(O6,"paybacks",[]);
+ let I6=O6;
+ const x6=class extends Be{
+ constructor(t=552,i=106,s="Banner"){
+ super(),zt(this,"banner"),zt(this,"bannerName",""),zt(this,"sheetName","Banner"),zt(this,"_width",552),zt(this,"_height",106),zt(this,"_imageWidth",-1),zt(this,"_imageHeight",-1),zt(this,"_autoResize",!1),this._width=t,this._height=i,this.sheetName=s,this.banner=new We,this.addChild(this.banner)}
+ get width(){
+ return this._width}
+ get height(){
+ return this._height}
+ get imageWidth(){
+ return this._imageWidth}
+ get imageHeight(){
+ return this._imageHeight}
+ get autoResize(){
+ return this._autoResize}
+ set autoResize(t){
+ t!=this._autoResize&&(this._autoResize=t,this._imageWidth<0||this._imageHeight<0||(this._autoResize?(this.banner.width=this._width,this.banner.height=this._height):(this.banner.width=this._imageWidth,this.banner.height=this._imageHeight)))}
+ async update(t,i=-1,s=-1,e="Banner"){
+ if(t==this.bannerName)return;
+ if(this.bannerName=t,this.sheetName=e,!1===ZA.hasSheet(this.sheetName)){
+ const t="ktx2";
+ await ZA.generateTexture(this.sheetName,t,!1)}
+ let n=ZA.getTexture(this.sheetName,this.bannerName);
+ this.banner.texture=n,this._imageWidth=n.width,this._imageHeight=n.height,this._autoResize?(this.banner.width=this._width,this.banner.height=this._height):(this.banner.width=this._imageWidth,this.banner.height=this._imageHeight)}
+ }
+ ;
+ Kt(x6,"BannerImage");
+ let N6=x6;
+ const P6=class t extends Be{
+ static getInstance(){
+ return this._instance||(this._instance=new t),this._instance}
+ constructor(){
+ super()}
+ }
+ ;
+ Kt(P6,"RewardLayer"),zt(P6,"_instance");
+ let R6=P6;
+ const D6=class extends mB{
+ constructor(){
+ super("UI_Ekkorr","Btn_Delete",1)}
+ get activated(){
+ return this._activated}
+ set activated(t){
+ t!=this._activated&&(this._activated=t,this._activated?this.bg.texture=ZA.getTexture("UI_Ekkorr","Btn_Delete"):this.bg.texture=ZA.getTexture("UI_Ekkorr","Btn_Delete_Gray"))}
+ }
+ ;
+ Kt(D6,"MailDeleteAllButton");
+ let L6=D6;
+ const G6=class t extends Be{
+ constructor(i){
+ super(),zt(this,"bg"),zt(this,"lbl"),zt(this,"container"),zt(this,"_width",100),zt(this,"_minWidth",100),zt(this,"_height",58),zt(this,"_textSize",19),zt(this,"_activated",!0),zt(this,"_activatedTextColor",16777215),zt(this,"_deactivatedTextColor",10066329),zt(this,"_outlineText",!1),zt(this,"_resizable",!1),zt(this,"_padding",20),zt(this,"_color",t.COLOR_SAND_BROWN),zt(this,"onClick"),zt(this,"redDot"),this.container=new Be,this.addChild(this.container),this.bg=new CM({
+ texture:ZA.getTexture("UI_Ekkorr",this._color),leftWidth:40,topHeight:27,rightWidth:40,bottomHeight:29}
+ ),this.bg.width=this._width,this.bg.height=this._height,this.container.addChild(this.bg);
+ const s=aD.LABEL_OPTION_NO_DROP_SHADOW;
+ s.fill=aD.COLOR_WHITE,s.fontSize=this._textSize,this.lbl=new YD(i,s.fill,s),this.container.addChild(this.lbl),this.updateLayout(),this.eventMode="dynamic",this.on("pointerdown",this.onDown,this),this.on("pointerup",this.onUp,this),this.on("pointerupoutside",this.onUp,this),this.on("pointertap",this.onTap,this),this.container.pivot.set(.5*this._width,.5*this._height)}
+ updateLayout(){
+ this._resizable?aD.setLabelWrapWidth(this.lbl,5*this._width):aD.setLabelWrapWidth(this.lbl,this._width),this.lbl.x=.5*(this._width-this.lbl.width),this.lbl.y=.5*(this._height-this.lbl.height),this.container.x=.5*this._width,this.container.y=.5*this._height}
+ get width(){
+ return this._width}
+ set width(t){
+ t!=this._width&&(this._resizable&&t<this._minWidth&&(t=this._minWidth),this._width=t,this.bg.width=this._width,this.container.pivot.set(.5*this._width,.5*this._height),this.updateLayout())}
+ get minWidth(){
+ return this._minWidth}
+ set minWidth(t){
+ t!=this._minWidth&&(this._minWidth=t,this._resizable&&this._width<this._minWidth&&(this.width=this._minWidth))}
+ get height(){
+ return this._height}
+ set height(t){
+ t!=this._height&&(this._height=t,this.bg.height=this._height,this.container.pivot.set(.5*this._width,.5*this._height),this.updateLayout())}
+ get text(){
+ return this.lbl.text}
+ set text(t){
+ this.lbl.text=t,this._resizable&&(this.width=this.lbl.width+2*this._padding),this.updateLayout()}
+ get textSize(){
+ return this._textSize}
+ set textSize(t){
+ t!=this._textSize&&(this._textSize=t,this.lbl.textSize=this._textSize,this.updateLayout())}
+ get activated(){
+ return this._activated}
+ set activated(t){
+ t!=this._activated&&(this._activated=t,this._activated,this.updateTextColor())}
+ get activatedTextColor(){
+ return this._activatedTextColor}
+ set activatedTextColor(t){
+ t!=this._activatedTextColor&&(this._activatedTextColor=t,this.updateTextColor())}
+ get deactivatedTextColor(){
+ return this._deactivatedTextColor}
+ set deactivatedTextColor(t){
+ t!=this._deactivatedTextColor&&(this._deactivatedTextColor=t,this.updateTextColor())}
+ updateTextColor(){
+ 1==this._activated?this.lbl.textColor=this._activatedTextColor:this.lbl.textColor=this._deactivatedTextColor}
+ get outlineText(){
+ return this._outlineText}
+ set outlineText(t){
+ if(t==this._outlineText)return;
+ this._outlineText=t;
+ const i=this.lbl.getStyle();
+ this._outlineText?(delete i.stroke,i.stroke={
+ color:"#000000",width:4,join:"round"}
+ ):delete i.stroke,this.lbl.setStyle(i),this.updateLayout()}
+ get resizable(){
+ return this._resizable}
+ set resizable(t){
+ t!=this._resizable&&(this._resizable=t,this.width=this.lbl.width+2*this._padding,this.updateLayout())}
+ getStyle(){
+ return this.lbl.getStyle()}
+ setStyle(t){
+ this.lbl.setStyle(t)}
+ setTexture(t){
+ if(t)try{
+ this.bg.texture=t.texture,this.bg.leftWidth=t.leftWidth,this.bg.topHeight=t.topHeight,this.bg.rightWidth=t.rightWidth,this.bg.bottomHeight=t.bottomHeight}
+ catch(i){
+ }
+ }
+ get color(){
+ return this._color}
+ set color(t){
+ if(t!=this._color){
+ this._color=t;
+ try{
+ this.bg.texture=ZA.getTexture("UI_Ekkorr",this._color)}
+ catch(i){
+ }
+ }
+ }
+ onDown(t){
+ 0!=this._activated&&(this.container.scale=.9)}
+ onUp(t){
+ 0!=this._activated&&(this.container.scale=1)}
+ onTap(t){
+ 0!=this._activated&&(KL.getInstance().playSFX(KL.SFX_NORMAL_CLICK),WL(),this.onClick&&this.onClick())}
+ showRedDot(){
+ this.redDot||(this.redDot=new YL,this.container.addChild(this.redDot)),this.redDot.show(),this.updateRedDot()}
+ hideRedDot(){
+ this.redDot&&this.redDot.hide()}
+ updateRedDot(){
+ this.redDot&&(this.redDot.x=this.bg.x+this.bg.width-this.redDot.width-12,this.redDot.y=this.bg.y-3)}
+ }
+ ;
+ Kt(G6,"CommonButton2"),zt(G6,"COLOR_SAND_BROWN","Btn_Sand_Brown"),zt(G6,"COLOR_ORANGE","Btn_Orange"),zt(G6,"COLOR_GRAY","Btn_Gray");
+ let B6=G6;
+ const U6=class extends B6{
+ constructor(t){
+ super(t),zt(this,"bgOff"),zt(this,"_selected",!0),this.minWidth=180,this.resizable=!0,this.outlineText=!0,this.bgOff=new CM({
+ texture:ZA.getTexture("UI_Ekkorr","Btn_Gray"),leftWidth:40,topHeight:27,rightWidth:40,bottomHeight:29}
+ ),this.bgOff.width=this._width,this.bgOff.height=this._height,this.container.addChildAt(this.bgOff,0),this.bg.visible=this._selected,this.bgOff.visible=!this._selected}
+ get selected(){
+ return this._selected}
+ set selected(t){
+ t!=this._selected&&(this._selected=t,this._selected?(this.bg.visible=!0,this.bgOff.visible=!1):(this.bg.visible=!1,this.bgOff.visible=!0))}
+ onTap(t){
+ this._selected||super.onTap(t)}
+ }
+ ;
+ Kt(U6,"MailMenuButton");
+ let F6=U6;
+ const H6=class extends iP{
+ constructor(){
+ super(),this.sp.x=.5*-this.sp.width,this.sp.y=.5*-this.sp.height,this.offsetX=2,this.scale=.5}
+ getTextures(){
+ return ZA.getTextures("Loading","loading_circle_60f_")}
+ }
+ ;
+ Kt(H6,"MailLoading");
+ let W6=H6;
+ const j6=class extends Be{
+ constructor(){
+ super(),zt(this,"yPrev",0),zt(this,"yHome",0),zt(this,"vy",0),zt(this,"yMax",0),zt(this,"yMin",0),zt(this,"yMouse",0),zt(this,"yOffset",140),zt(this,"min",0),zt(this,"max",0),zt(this,"dragSensorDistance",20),zt(this,"_isDragging",!1),zt(this,"onDragStart",null),zt(this,"onDragEnd",null),this.eventMode="static",this.on("pointerdown",this.onDown,this)}
+ get isDragging(){
+ return this._isDragging}
+ onDown(t){
+ this.min>this.max||(this.yMin=this.min,this.yMax=this.max,this.yPrev=this.yHome=this.yMouse=t.globalY,this.off("pointermove",this.onMove,this),this.on("pointermove",this.onMove,this),this.off("pointerup",this.onUp,this),this.on("pointerup",this.onUp,this),this.off("pointerupoutside",this.onUp,this),this.on("pointerupoutside",this.onUp,this),GM.getInstance().remove(this.onFlickEnter,this),GM.getInstance().add(this.onDragEnter,this))}
+ onDragEnter(){
+ 0==this._isDragging&&Math.abs(this.yMouse-this.yHome)>this.dragSensorDistance&&(this._isDragging=!0,this.onDragStartCallback()),0!=this._isDragging&&(this.vy=this.yMouse-this.yPrev,this.y==this.yMin&&this.vy<0||this.y==this.yMax&&this.vy>0||(this.y+=this.vy,this.y>this.yMax&&(this.y=this.yMax),this.y<this.yMin&&(this.y=this.yMin),this.yPrev=this.yMouse))}
+ onMove(t){
+ this.yMouse=t.globalY}
+ onUp(t){
+ 1==this._isDragging&&(this.vy=2*this.vy,GM.getInstance().add(this.onFlickEnter,this),this._isDragging=!1,this.onDragEndCallback()),GM.getInstance().remove(this.onDragEnter,this),this.off("pointermove",this.onMove,this),this.off("pointerup",this.onUp,this),this.off("pointerupoutside",this.onUp,this)}
+ onFlickEnter(){
+ this.vy*=.98,this.y==this.yMin&&this.vy<0||this.y==this.yMax&&this.vy>0?GM.getInstance().remove(this.onFlickEnter,this):(this.y+=this.vy,this.y>this.yMax&&(this.y=this.yMax),this.y<this.yMin&&(this.y=this.yMin),Math.abs(this.vy)<1&&GM.getInstance().remove(this.onFlickEnter,this))}
+ onDragStartCallback(){
+ this.onDragStart&&this.onDragStart()}
+ onDragEndCallback(){
+ this.onDragEnd&&this.onDragEnd()}
+ setScroll(t){
+ let i=this.max-t;
+ i<this.min&&(i=this.min),this.y=i}
+ }
+ ;
+ Kt(j6,"DraggableContainer");
+ let $6=j6;
+ const V6=class extends Be{
+ constructor(){
+ super(),zt(this,"bg"),zt(this,"lbl"),zt(this,"count",0),zt(this,"duration",180),this.bg=new CM({
+ texture:ZA.getTexture("UI_Ekkorr","UI_Toast_Bg"),leftWidth:6,topHeight:6,rightWidth:6,bottomHeight:6}
+ ),this.bg.alpha=.7,this.bg.width=640,this.bg.height=50,this.addChild(this.bg),this.lbl=new YD("Toast",aD.DEFAULT_COLOR),this.lbl.x=.5*(this.bg.width-this.lbl.width),this.lbl.y=25,this.addChild(this.lbl),this.eventMode="none"}
+ show(t,i,s=aD.DEFAULT_COLOR,e=null,n=!0,h=180,r=.7){
+ this.lbl.text=t,aD.setLabelWrapWidth(this.lbl,this.bg.width-10),this.lbl.textColor=s,this.lbl.x=.5*(this.bg.width-this.lbl.width),this.bg.height=this.lbl.height+2*this.lbl.y,this.y=i-this.height,this.duration=h,this.bg.alpha=r,null==e&&(e=qD.getInstance()),e&&e.addChild(this),1==n&&this.startCheckHide(),i5.showItemsInVertical([this])}
+ hide(){
+ this.parent&&this.parent.removeChild(this)}
+ get width(){
+ return this.bg.width}
+ get height(){
+ return this.bg.height}
+ startCheckHide(){
+ this.count=0,GM.getInstance().add(this.checkHide,this)}
+ checkHide(){
+ ++this.count>this.duration&&(this.count=0,this.count=0,this.hide(),GM.getInstance().remove(this.checkHide,this))}
+ }
+ ;
+ Kt(V6,"BaseToast");
+ let K6=V6;
+ const z6=class t extends K6{
+ static getInstance(){
+ return this._instance||(this._instance=new t),this._instance}
+ constructor(){
+ super()}
+ }
+ ;
+ Kt(z6,"Toast"),zt(z6,"_instance");
+ let q6=z6;
+ const X6=class t{
+ constructor(){
+ zt(this,"requestPending",!1),zt(this,"obj",{
+ }
+ ),zt(this,"objByType",{
+ }
+ ),zt(this,"types",[])}
+ static getInstance(){
+ return null==this.instance&&(this.instance=new t),this.instance}
+ async getInventory(t,i=!1){
+ if(this.requestPending)return;
+ this.requestPending=!0;
+ let s=await hD.getInstance().user.getInventory(t,i);
+ if(0==s.success)return this.requestPending=!1,void lS.getInstance().dispatchCustomEvent("UserInventory");
+ this.setData(s.body),this.requestPending=!1}
+ setData(t){
+ if(!t||!t.inventory)return;
+ this.obj={
+ }
+ ,this.objByType={
+ }
+ ,this.obj.all=[],this.types[0]="all",this.types.length=1;
+ const i=t.inventory;
+ let s,e,n;
+ const h=i.length;
+ for(let r=0;
+ r<h;
+ ++r){
+ if(s=i[r].type.toString(),e="subType"in i[r]?i[r].subType.toString():"",n="","ticket"==s)switch(e){
+ case"heroGacha":case"heroSelect":n="hero";
+ break;
+ case"pet":case"petSelect":n="pet";
+ break;
+ case"treasureGacha":n="relic"}
+ ""!=n&&(e&&(this.objByType[`${
+ s}
+ _${
+ e}
+ `]=i[r]),i[r].inventoryType=n,this.obj[n]||(this.obj[n]=[]),this.obj[n].push(i[r]),this.obj.all.push(i[r]),this.types.includes(n)||this.types.push(n))}
+ lS.getInstance().dispatchCustomEvent("UserInventory")}
+ getTypes(){
+ return this.types}
+ getListWithType(t){
+ return this.obj[t]}
+ getDataWithTypeAndSubType(t,i){
+ return this.objByType[`${
+ t}
+ _${
+ i}
+ `]}
+ }
+ ;
+ Kt(X6,"InventoryManager"),zt(X6,"instance");
+ let Y6=X6;
+ var J6=(t=>(t.all="all",t.hero="hero",t.relic="relic",t.pet="pet",t))(J6||{
+ }
+ );
+ const Q6=class t{
+ constructor(){
+ zt(this,"data",{
+ hero5:0,hero7:0,treasure5:0,treasure6:0,treasure7:0,treasure8:0,treasure9:0}
+ )}
+ static getInstance(){
+ return null==this.instance&&(this.instance=new t),this.instance}
+ setData(t){
+ if(t)for(const i in this.data)i in t&&(this.data[i]=Number(t[i]))}
+ getHeroTransTicket(t=5){
+ const i=`hero${
+ t}
+ `;
+ return i in this.data?this.data[i]:0}
+ getTreasureTransTicket(t=6){
+ const i=`treasure${
+ t}
+ `;
+ return i in this.data?this.data[i]:0}
+ }
+ ;
+ Kt(Q6,"TransTicketManager"),zt(Q6,"instance");
+ let Z6=Q6;
+ const t4=class t extends AB{
+ constructor(){
+ super(),zt(this,"lblDesc"),zt(this,"btnConfirm"),zt(this,"icons",[]),this.outSideClickHide=!0,this.title=AG.getValueReplace("GAME_181","##",5,"5성 병사 뽑기"),this.lblDesc=new YD("",13421772,aD.DEFAULT_FONT_OPTION_16),this.lblDesc.align="center",this.contentContainer.addChild(this.lblDesc),this.btnConfirm=new QL(AG.getText("COMMON_1","확인")),this.btnConfirm.color=QL.GREEN,this.btnConfirm.width=160,this.btnConfirm.height=50,this.btnConfirm.onClick=()=>this.hide(),this.contentContainer.addChild(this.btnConfirm)}
+ static getInstance(){
+ return this._instance||(this._instance=new t),this._instance}
+ async showGuide(){
+ this.title=AG.getValueReplace("GAME_181","##",5,"5성 병사 뽑기"),this.btnConfirm.text=AG.getText("COMMON_1","확인");
+ const t=vx.getInstance().bookList.filter(t=>5===t.grade&&0===t.evolStage&&t.canPurchase&&t.honor>=2&&t.kindNum<1e3);
+ this.update(t,this.title),await this.loadImage(),super.show()}
+ showGuideOfHeroGacha(){
+ this.title=AG.getText("GAME_764","5성 영웅 확정권"),this.btnConfirm.text=AG.getText("COMMON_1","확인");
+ const t=vx.getInstance(),i=t.honorNumberMax,s=t.bookList.filter(t=>5===t.grade&&0===t.evolStage&&t.canPurchase&&(t.honor>=1&&t.honor<i||t.honor<1)&&t.kindNum<1e3);
+ this.update(s,this.title),super.show()}
+ update(t,i){
+ var s,e;
+ for(const p of this.icons)this.contentContainer.removeChild(p);
+ this.icons=[];
+ const n=t.length,h=n>0?(100/n).toFixed(2):"0",r=AG.getText("GAME_602","아래 병사 중 랜덤한 병사를 획득합니다.")+" "+AG.getText("COMMON_475","획득 확률은 모두 동일합니다.")+`\n(${
+ AG.getText("COMMON_476","개별 획득 확률")}
+  : ${
+ h}
+ %(=1/${
+ n}
+ ))`;
+ this.lblDesc.text=r;
+ for(let p=0;
+ p<t.length;
+ p++){
+ const i=new d3;
+ i.scale=.7,i.setDataWithKindNum(t[p].kindNum),this.contentContainer.addChild(i),this.icons.push(i)}
+ const o=(null==(s=this.icons[0])?void 0:s.width)??70,a=(null==(e=this.icons[0])?void 0:e.height)??70,c=Math.ceil(t.length/4),l=4*o+15;
+ this.width=520,this.title=i,aD.setLabelWrapWidth(this.lblDesc,this.width-55),this.lblDesc.x=.5*(this.width-this.lblDesc.width),this.lblDesc.y=65;
+ const u=this.lblDesc.y+this.lblDesc.height+15,d=.5*(this.width-l)+5;
+ for(let p=0;
+ p<this.icons.length;
+ p++){
+ const t=p%4,i=Math.floor(p/4);
+ this.icons[p].x=d+t*(o+5),this.icons[p].y=u+i*(a+2)}
+ const f=u+c*(a+2)+35;
+ this.btnConfirm.x=.5*(this.width-this.btnConfirm.width),this.btnConfirm.y=f,this.height=f+this.btnConfirm.height+30,this.btnClose.x=this.width-this.btnClose.width-12}
+ }
+ ;
+ Kt(t4,"HeroDrawGuidePopup"),zt(t4,"_instance");
+ let i4=t4;
+ const s4=class extends Be{
+ constructor(){
+ super(),zt(this,"icon",new We(ZA.getTexture("UI_Ekkorr","UI_T001"))),zt(this,"bg",new We(ZA.getTexture("UI_Ekkorr","HeroFrame_1_Bg"))),zt(this,"cover",new We(ZA.getTexture("UI_Ekkorr","HeroFrame_1"))),zt(this,"lblEnhance",new YD("+0",16776960,aD.DEFAULT_OUTLINE_FONT_OPTION_16)),zt(this,"posList",[30,26,24,19,16,13,9]),zt(this,"star",new We(ZA.getTextures("UI_Ekkorr","UI_UNIT_RARE")[3])),zt(this,"trans",new We(ZA.getTexture("UI_Ekkorr","Trans0001"))),this.icon.x=3,this.icon.y=3,this.bg.x=3,this.bg.y=3,this.addChild(this.bg),this.addChild(this.icon),this.cover.x=0,this.cover.y=0,this.addChild(this.cover),this.star.x=this.posList[3],this.star.y=this.bg.height-this.star.height,this.addChild(this.star),this.icon.x=.5*(this.bg.height-this.icon.height),this.icon.y=.5*(this.bg.height-this.icon.height),this.lblEnhance.x=this.bg.width-this.lblEnhance.width-1,this.lblEnhance.y=3,this.addChild(this.lblEnhance),this.trans.scale=1.2,this.trans.x=5,this.trans.y=7,this.trans.visible=!1,this.addChild(this.trans)}
+ setVO(t){
+ this.icon.texture=ZA.getTexture("UI_Ekkorr",`UI_T${
+ uU.addZeros(3,t.kindNum)}
+ `),this.icon.width=this.icon.height=this.cover.width-6,this.icon.x=3,this.icon.y=2,this.lblEnhance.text=`+${
+ t.enhance}
+ `,this.star.texture=ZA.getTextures("UI_Ekkorr","UI_UNIT_RARE")[t.grade-1],this.star.x=this.posList[t.grade-1],this.bg.texture=ZA.getTexture("UI_Ekkorr",`HeroFrame_${
+ t.grade}
+ _Bg`),this.cover.texture=ZA.getTexture("UI_Ekkorr",`HeroFrame_${
+ t.grade}
+ `),t.trans&&t.trans>0?(this.trans.texture=ZA.getTexture("UI_Ekkorr",`Trans000${
+ t.trans}
+ `),this.trans.visible=!0):this.trans.visible=!1}
+ hideTrans(){
+ this.trans.visible=!1}
+ showTrans(t){
+ t<=0?this.trans.visible=!1:(this.trans.texture=ZA.getTexture("UI_Ekkorr",`Trans000${
+ t}
+ `),this.trans.visible=!0)}
+ setDataWithKindNum(t){
+ const i=Wx.getInstance().getBookDataByKindNum(t);
+ i&&this.setVO(i)}
+ hideFrame(){
+ this.bg.visible=!1,this.cover.visible=!1}
+ showFrame(){
+ this.bg.visible=!0,this.cover.visible=!0}
+ get width(){
+ return this.bg.width}
+ get height(){
+ return this.bg.height}
+ hideEnhance(){
+ this.lblEnhance.visible=!1}
+ showEnhance(){
+ this.lblEnhance.visible=!0}
+ }
+ ;
+ Kt(s4,"TreasureIcon");
+ let e4=s4;
+ const n4=class t extends AB{
+ constructor(){
+ super(),zt(this,"lblDesc"),zt(this,"btnConfirm"),zt(this,"icons",[]),this.outSideClickHide=!0,this.title=AG.getValueReplace("GAME_184","##",6,"6성 유물 뽑기"),this.lblDesc=new YD("",13421772,aD.DEFAULT_FONT_OPTION_16),this.lblDesc.align="center",this.contentContainer.addChild(this.lblDesc),this.btnConfirm=new QL(AG.getText("COMMON_1","확인")),this.btnConfirm.color=QL.GREEN,this.btnConfirm.width=160,this.btnConfirm.height=50,this.btnConfirm.onClick=()=>this.hide(),this.contentContainer.addChild(this.btnConfirm)}
+ static getInstance(){
+ return this._instance||(this._instance=new t),this._instance}
+ async showGuide(){
+ this.title=AG.getText("GAME_218","유물 뽑기권"),this.btnConfirm.text=AG.getText("COMMON_1","확인");
+ const t=Wx.getInstance().bookList.filter(t=>6===t.grade);
+ this.update(t,this.title),await this.loadImage(),super.show()}
+ showGuideOfTreasureGacha(){
+ this.title=AG.getText("GAME_218","유물 뽑기권"),this.btnConfirm.text=AG.getText("COMMON_1","확인");
+ const t=Wx.getInstance().bookList.filter(t=>6===t.grade);
+ this.update(t,this.title),super.show()}
+ update(t,i){
+ var s,e;
+ for(const g of this.icons)this.contentContainer.removeChild(g);
+ this.icons=[];
+ const n=Wx.getInstance(),h=new Set;
+ for(const g of n.equipedList)h.add(g.kindNum);
+ for(const g of n.ownedList)h.add(g.kindNum);
+ const r=t.filter(t=>!h.has(t.kindNum)).length;
+ let o=AG.getText("GAME_603","아래 유물 중 랜덤한 유물을 획득합니다.")+" "+AG.getText("COMMON_475","획득 확률은 모두 동일합니다.");
+ if(r>0){
+ const t=(100/r).toFixed(2);
+ o+=`\n(${
+ AG.getText("COMMON_476","개별 획득 확률")}
+  : ${
+ t}
+ %(=1/${
+ r}
+ ))`}
+ this.lblDesc.text=o;
+ for(let g=0;
+ g<t.length;
+ g++){
+ const i=new e4;
+ i.scale=.75,i.setDataWithKindNum(t[g].kindNum),i.hideEnhance(),i.alpha=h.has(t[g].kindNum)?.35:1,this.contentContainer.addChild(i),this.icons.push(i)}
+ const a=(null==(s=this.icons[0])?void 0:s.width)??70,c=(null==(e=this.icons[0])?void 0:e.height)??70,l=Math.ceil(t.length/7),u=7*a-12;
+ this.width=520,this.title=i,aD.setLabelWrapWidth(this.lblDesc,this.width-40),this.lblDesc.x=.5*(this.width-this.lblDesc.width),this.lblDesc.y=65;
+ const d=this.lblDesc.y+this.lblDesc.height+15,f=.5*(this.width-u)+5;
+ for(let g=0;
+ g<this.icons.length;
+ g++){
+ const t=g%7,i=Math.floor(g/7);
+ this.icons[g].x=f+t*(a+-2),this.icons[g].y=d+i*(c+2)}
+ const p=d+l*(c+2)+10;
+ this.btnConfirm.x=.5*(this.width-this.btnConfirm.width),this.btnConfirm.y=p,this.height=p+this.btnConfirm.height+30,this.btnClose.x=this.width-this.btnClose.width-12}
+ }
+ ;
+ Kt(n4,"TreasureDrawGuidePopup"),zt(n4,"_instance");
+ let h4=n4;
+ const r4=class t{
+ constructor(){
+ zt(this,"battlePoolMap",{
+ }
+ ),zt(this,"seasonSetMap",{
+ }
+ ),zt(this,"rewardMap",{
+ }
+ ),zt(this,"seasonSetKindNum",0),zt(this,"seasonNumber",0),zt(this,"seasonEndTime",0),zt(this,"currentFloor",0),zt(this,"floorStars",[]),zt(this,"ticket",0),zt(this,"maxTicket",5),zt(this,"ticketTime",0),zt(this,"currentBattleFloor",0),zt(this,"bookLoaded",!1)}
+ static getInstance(){
+ return null==this.instance&&(this.instance=new t),this.instance}
+ setBattlePoolData(t){
+ if(this.battlePoolMap={
+ }
+ ,t)for(const i of t){
+ const t=new c4;
+ t.kindNum=i.kindNum,t.difficulty=i.difficulty,t.enemyKindNums=i.enemyKindNums||"",t.enemyTrans=i.enemyTrans||"",t.enemyShields=i.enemyShields||"",t.enemyLevels=i.enemyLevels||"",t.tribes=i.tribes,t.gradeMax=i.gradeMax,t.femaleExclude=i.femaleExclude,t.maleExclude=i.maleExclude,t.rangeExclude=i.rangeExclude,t.meleeExclude=i.meleeExclude,t.airExclude=i.airExclude,t.star1=i.star1,t.star2=i.star2,t.star3=i.star3,this.battlePoolMap[t.kindNum]=t}
+ }
+ setSeasonSetData(t){
+ if(this.seasonSetMap={
+ }
+ ,t)for(const i of t){
+ const t=new u4;
+ t.kindNum=i.kindNum,t.battleIDs=i.battleIDs,this.seasonSetMap[t.kindNum]=t}
+ }
+ setRewardData(t){
+ if(this.rewardMap={
+ }
+ ,t)for(const i of t){
+ const t=new f4;
+ t.floor=i.floor,t.gem1=i.gem1,t.gem2=i.gem2,t.gem3=i.gem3,t.honor1=i.honor1,t.honor2=i.honor2,t.honor3=i.honor3,this.rewardMap[t.floor]=t}
+ }
+ setData(t){
+ for(this.seasonSetKindNum=t.seasonSetKindNum,this.seasonNumber=t.seasonNumber||0,this.seasonEndTime=t.seasonEndTime?new Date(t.seasonEndTime).getTime():0,this.currentFloor=t.currentFloor,this.floorStars=t.floorStars||[];
+ this.floorStars.length<30;
+ )this.floorStars.push(0);
+ this.ticket=t.ticket,this.maxTicket=t.maxTicket,this.ticketTime=new Date(t.ticketTime).getTime()+1e3,this.currentBattleFloor=t.currentBattleFloor}
+ getFloorList(){
+ const t=this.seasonSetMap[this.seasonSetKindNum];
+ if(!t)return[];
+ const i=t.battleIDs.split("|").map(Number),s=[],e=Math.min(this.currentFloor+1,30);
+ for(let n=0;
+ n<e;
+ n++){
+ const t=this.battlePoolMap[i[n]];
+ if(!t)continue;
+ const e=new g4;
+ e.floor=n+1,e.stars=this.floorStars[n]||0,e.battleVO=t,e.reward=this.rewardMap[n+1],e.isCleared=this.floorStars[n]>0,e.isNext=n+1===this.currentFloor+1,s.push(e)}
+ return s}
+ getFloorListReversed(){
+ return this.getFloorList().reverse()}
+ getBattlePool(t){
+ return this.battlePoolMap[t]}
+ buildFloorVO(t){
+ if(t<1||t>30)return null;
+ const i=this.seasonSetMap[this.seasonSetKindNum];
+ if(!i)return null;
+ const s=i.battleIDs.split("|").map(Number),e=t-1;
+ if(e>=s.length)return null;
+ const n=this.battlePoolMap[s[e]];
+ if(!n)return null;
+ const h=new g4;
+ return h.floor=t,h.stars=this.floorStars[e]||0,h.battleVO=n,h.reward=this.rewardMap[t],h.isCleared=this.floorStars[e]>0,h.isNext=t===this.currentFloor+1,h}
+ getReward(t){
+ return this.rewardMap[t]}
+ }
+ ;
+ Kt(r4,"TowerDataManager"),zt(r4,"instance");
+ let o4=r4;
+ const a4=class{
+ constructor(){
+ zt(this,"kindNum",0),zt(this,"difficulty",0),zt(this,"enemyKindNums",""),zt(this,"enemyTrans",""),zt(this,"enemyShields",""),zt(this,"enemyLevels",""),zt(this,"tribes","0"),zt(this,"gradeMax",0),zt(this,"femaleExclude","N"),zt(this,"maleExclude","N"),zt(this,"rangeExclude","N"),zt(this,"meleeExclude","N"),zt(this,"airExclude","N"),zt(this,"star1",0),zt(this,"star2",0),zt(this,"star3",0)}
+ static parseEnemies(t){
+ const i=new Array(20).fill(null);
+ if(!t||!t.enemyKindNums)return i;
+ const s=String(t.enemyKindNums).split("|"),e=Math.min(s.length,20);
+ for(let n=0;
+ n<e;
+ n++){
+ const t=s[n].trim();
+ if(!t||"0"===t)continue;
+ const e=t.indexOf("-"),h=e>=0?t.substring(0,e):t,r=e>=0?t.substring(e+1):"0",o=Number(h);
+ o>0&&(i[n]={
+ kindNum:o,trans:Number(r)||0}
+ )}
+ return i}
+ static stringifyEnemies(t,i){
+ let s=-1;
+ for(let n=19;
+ n>=0;
+ n--)if((t[n]??-1)>0){
+ s=n;
+ break}
+ if(s<0)return"";
+ const e=[];
+ for(let n=0;
+ n<=s;
+ n++){
+ const s=t[n]??-1;
+ s<=0?e.push("0"):e.push(`${
+ s}
+ -${
+ i[n]??0}
+ `)}
+ return e.join("|")}
+ }
+ ;
+ Kt(a4,"TowerBattlePoolVO");
+ let c4=a4;
+ const l4=class{
+ constructor(){
+ zt(this,"kindNum",0),zt(this,"battleIDs","")}
+ }
+ ;
+ Kt(l4,"TowerSeasonSetVO");
+ let u4=l4;
+ const d4=class{
+ constructor(){
+ zt(this,"floor",0),zt(this,"gem1",0),zt(this,"gem2",0),zt(this,"gem3",0),zt(this,"honor1",0),zt(this,"honor2",0),zt(this,"honor3",0)}
+ }
+ ;
+ Kt(d4,"TowerRewardVO");
+ let f4=d4;
+ const p4=class{
+ constructor(){
+ zt(this,"floor",0),zt(this,"stars",0),zt(this,"battleVO"),zt(this,"reward"),zt(this,"isCleared",!1),zt(this,"isNext",!1)}
+ }
+ ;
+ Kt(p4,"TowerFloorVO");
+ let g4=p4;
+ const m4=class t{
+ constructor(){
+ zt(this,"lastFetchTime",0),zt(this,"hasData",!1),zt(this,"dungeonRechargeMs",0),zt(this,"towerRechargeMs",0),zt(this,"towerSnapshot",null),zt(this,"pvpSnapshot",null),zt(this,"dailyRankingSnapshot",null)}
+ static getInstance(){
+ return this.instance||(this.instance=new t),this.instance}
+ setSummary(t){
+ if(t){
+ if(this.hasData=!0,this.lastFetchTime=ix.time,t.dungeon){
+ this.dungeonRechargeMs=t.dungeon.ticketRechargeMs??0;
+ const i=Rx.getInstance();
+ i.ticket=t.dungeon.ticket??i.ticket,i.maxTicket=t.dungeon.maxTicket??i.maxTicket,t.dungeon.ticketTime&&(i.ticketTime=new Date(t.dungeon.ticketTime).getTime()+1e3)}
+ if(t.tower){
+ this.towerRechargeMs=t.tower.ticketRechargeMs??0;
+ const i=o4.getInstance();
+ i.seasonNumber>0&&(i.ticket=t.tower.ticket??i.ticket,i.maxTicket=t.tower.maxTicket??i.maxTicket,t.tower.ticketTime&&(i.ticketTime=new Date(t.tower.ticketTime).getTime()+1e3),void 0!==t.tower.currentFloor&&(i.currentFloor=t.tower.currentFloor),void 0!==t.tower.seasonNumber&&(i.seasonNumber=t.tower.seasonNumber),t.tower.seasonEndTime&&(i.seasonEndTime=new Date(t.tower.seasonEndTime).getTime())),this.towerSnapshot={
+ seasonNumber:t.tower.seasonNumber??0,seasonEndTime:t.tower.seasonEndTime?new Date(t.tower.seasonEndTime).getTime():0,currentFloor:t.tower.currentFloor??0,ticket:t.tower.ticket??0,maxTicket:t.tower.maxTicket??0,ticketTime:t.tower.ticketTime?new Date(t.tower.ticketTime).getTime():0}
+ }
+ this.pvpSnapshot=t.pvp??null,this.dailyRankingSnapshot=t.dailyRanking??null}
+ }
+ has(){
+ return this.hasData}
+ isStale(t){
+ return!this.hasData||ix.time-this.lastFetchTime>=t}
+ getDungeon(){
+ if(!this.hasData)return null;
+ const t=Rx.getInstance();
+ return{
+ ticket:t.ticket,maxTicket:t.maxTicket,ticketTime:t.ticketTime,ticketRechargeMs:this.dungeonRechargeMs}
+ }
+ getTower(){
+ if(!this.hasData)return null;
+ const t=o4.getInstance();
+ return t.seasonNumber>0?{
+ seasonNumber:t.seasonNumber,seasonEndTime:t.seasonEndTime,currentFloor:t.currentFloor,ticket:t.ticket,maxTicket:t.maxTicket,ticketTime:t.ticketTime,ticketRechargeMs:this.towerRechargeMs}
+ :this.towerSnapshot?{
+ ...this.towerSnapshot,ticketRechargeMs:this.towerRechargeMs}
+ :null}
+ getPvp(){
+ return this.pvpSnapshot}
+ updatePvpTicket(t,i){
+ this.pvpSnapshot&&(this.pvpSnapshot.ticket=t,void 0!==i&&(this.pvpSnapshot.ticketTime=i))}
+ getDailyRanking(){
+ return this.dailyRankingSnapshot}
+ updateDailyRanking(t,i){
+ this.dailyRankingSnapshot?(this.dailyRankingSnapshot.joined=t,this.dailyRankingSnapshot.score=i):this.dailyRankingSnapshot={
+ joined:t,score:i,date:""}
+ }
+ invalidate(){
+ this.lastFetchTime=0}
+ }
+ ;
+ Kt(m4,"BattleSummaryManager"),zt(m4,"instance");
+ let w4=m4;
+ const v4=class extends Be{
+ constructor(){
+ super()}
+ get className(){
+ return""}
+ updateLanguage(){
+ }
+ }
+ ;
+ Kt(v4,"BaseSubView");
+ let b4=v4;
+ const y4=class t extends JV{
+ static getInstance(){
+ return null==this.instance&&(this.instance=new t),this.instance}
+ constructor(){
+ super(),this.currentSubView=Pht.getInstance()}
+ setData(){
+ Pht.getInstance().setData(),this.currentSubView=Pht.getInstance()}
+ get className(){
+ return"BattleView"}
+ }
+ ;
+ Kt(y4,"BattleView"),zt(y4,"instance");
+ let _4=y4;
+ const M4=class t extends QL{
+ constructor(t,i=120,s=50){
+ super(t),zt(this,"index",-1),zt(this,"bg2"),zt(this,"indicator"),zt(this,"minWidth",120),zt(this,"_selected",!0),zt(this,"padding",50),zt(this,"_autoResize",!0),zt(this,"_allowMultiline",!1),this.minWidth=i,this.padding=s,this.container.removeChild(this.bg),this.lbl.textSize=18,this._activatedTextColor=YD.LIGHT_BROWN,this.updateTextColor(),this.bg2=new CM({
+ texture:ZA.getTexture("UI_Ekkorr","Base_Tooltip"),leftWidth:9,topHeight:9,rightWidth:9,bottomHeight:10}
+ ),this.bg2.width=101,this.bg2.height=45,this.bg2.x=.5*-this.bg2.width,this.bg2.y=.5*-this.bg2.height,this.container.addChildAt(this.bg2,0),this.indicator=new CM({
+ texture:ZA.getTexture("UI_Ekkorr","SelectedBar"),leftWidth:5,topHeight:1,rightWidth:5,bottomHeight:1}
+ ),this.container.addChild(this.indicator),this.container.x=.5*this.bg2.width,this.container.y=.5*this.bg2.height,this.width=100,this.height=44,this._autoResize&&(this.text=t),this.updateHitArea(),this.selected=!1}
+ updateHitArea(){
+ null!=this.bg2&&(this._hitArea.width=this.bg2.width,this._hitArea.height=this.bg2.height,this.hitArea=this._hitArea)}
+ get width(){
+ return this.bg2.width-2*t.TRANSPARENT_BORDER}
+ set width(i){
+ i<this.minWidth&&(i=this.minWidth);
+ const s=t.TRANSPARENT_BORDER;
+ this.bg2.width=i+2*s,this.bg2.x=.5*-this.bg2.width,this.lbl.x=.5*-this.lbl.width,this.container.x=.5*i,this.indicator.width=i-16,this.indicator.x=.5*-this.indicator.width,this.updateHitArea()}
+ set height(i){
+ const s=t.TRANSPARENT_BORDER;
+ this.bg2.height=i+2*s,this.bg2.y=.5*-this.bg2.height,this.lbl.y=.5*-this.lbl.height,this.container.y=.5*i,this.indicator.y=this.bg2.y+this.bg2.height-this.indicator.height-10,this.updateHitArea()}
+ get height(){
+ return this.bg2.height-2*t.TRANSPARENT_BORDER}
+ get selected(){
+ return this._selected}
+ set selected(t){
+ t!=this._selected&&(this._selected=t,1==this._selected?(this.indicator.visible=!0,this.activatedTextColor=aD.COLOR_ORANGE):(this.indicator.visible=!1,this.activatedTextColor=aD.DEFAULT_COLOR))}
+ get autoResize(){
+ return this._autoResize}
+ set autoResize(t){
+ this._autoResize=t}
+ get allowMultiline(){
+ return this._allowMultiline}
+ set allowMultiline(t){
+ this._allowMultiline!==t&&(this._allowMultiline=t,this.lbl.text&&(this.text=this.lbl.text))}
+ applyMultilineLayout(i){
+ const s=Math.max(40,this.width-2*t.MULTILINE_SIDE_PAD);
+ if(this.lbl.setWrapWidth(0),this.lbl.lineHeight=0,this.lbl.text=i,this.lbl.width<=s)return this.lbl.x=.5*-this.lbl.width,void(this.lbl.y=.5*-this.lbl.height);
+ this.lbl.align="center",this.lbl.lineHeight=Math.floor(this.lbl.textSize*t.MULTILINE_LINE_HEIGHT_RATIO)+t.MULTILINE_LINE_HEIGHT_EXTRA,this.lbl.setWrapWidth(s),this.lbl.text=i,this.lbl.x=.5*-this.lbl.width,this.lbl.y=.5*-this.lbl.height+t.MULTILINE_Y_OFFSET}
+ setCompactStyle(t,i){
+ this.lbl.textSize=t,this.padding=i,this._autoResize=!0,this.lbl.setWrapWidth(0),this.text=this.lbl.text}
+ setMultilineMode(t,i,s=16){
+ this._autoResize=!1,this.lbl.textSize=s,this.width=t,this.height=i;
+ const e=Math.max(40,t-10);
+ this.lbl.setWrapWidth(e),this.lbl.align="center",this.lbl.x=.5*-this.lbl.width,this.lbl.y=.5*-this.lbl.height}
+ fitWithinWidth(t,i=50){
+ this._autoResize=!1;
+ const s=this.lbl.text;
+ this.lbl.setWrapWidth(0),this.lbl.textSize=18,this.lbl.text=s,this.width=t,this.height=i;
+ const e=Math.max(40,t-10);
+ if(this.lbl.width<=e)return this.lbl.x=.5*-this.lbl.width,void(this.lbl.y=.5*-this.lbl.height);
+ for(let n=17;
+ n>=12;
+ n--)if(this.lbl.textSize=n,this.lbl.text=s,this.lbl.width<=e)return this.lbl.x=.5*-this.lbl.width,void(this.lbl.y=.5*-this.lbl.height);
+ this.lbl.textSize=12,this.lbl.setWrapWidth(e),this.lbl.align="center",this.lbl.text=s,this.lbl.x=.5*-this.lbl.width,this.lbl.y=.5*-this.lbl.height}
+ set text(t){
+ super.text=t,this._autoResize?this.width=this.lbl.width+this.padding:this._allowMultiline?this.applyMultilineLayout(t):this.lbl.x=.5*-this.lbl.width}
+ updateEventTag(t,i){
+ this.eventTag&&(this.eventTag.scale=.7,this.eventTag.x=this.bg2.x+this.bg2.width-this.eventTag.width+t,this.eventTag.y=this.bg2.y+i)}
+ }
+ ;
+ Kt(M4,"SubMenuButton"),zt(M4,"TRANSPARENT_BORDER",3),zt(M4,"MULTILINE_SIDE_PAD",10),zt(M4,"MULTILINE_LINE_HEIGHT_RATIO",.85),zt(M4,"MULTILINE_LINE_HEIGHT_EXTRA",2),zt(M4,"MULTILINE_Y_OFFSET",-2);
+ let E4=M4;
+ const A4=class extends XI{
+ constructor(){
+ super(),zt(this,"bg"),zt(this,"lblRankTitle",new YD("rank",11184810,aD.DEFAULT_OUTLINE_FONT_OPTION_16)),zt(this,"lblRankNum",new YD("",aD.DEFAULT_COLOR,aD.ORANGE_OUTLINE_FONT_OPTION_28)),zt(this,"lblNameInfo",new YD("",aD.DEFAULT_COLOR,aD.DEFAULT_OUTLINE_FONT_OPTION_17)),zt(this,"lblDetail",new YD("",11184810,aD.DEFAULT_OUTLINE_FONT_OPTION_16)),zt(this,"btnFight",new QL("전투")),zt(this,"onFight"),this.bg=new CM({
+ texture:ZA.getTexture("UI_Ekkorr","Popup_List_02"),leftWidth:140,topHeight:30,rightWidth:20,bottomHeight:30}
+ ),this.bg.width=615,this.bg.height=80,this.bg.x=5,this.addChild(this.bg),this.lblRankTitle.x=25,this.lblRankTitle.y=6,this.addChild(this.lblRankTitle),this.lblRankNum.x=50,this.lblRankNum.y=24,this.addChild(this.lblRankNum),this.lblNameInfo.x=140,this.lblNameInfo.y=12,this.addChild(this.lblNameInfo),this.lblDetail.x=140,this.lblDetail.y=42,this.addChild(this.lblDetail),this.btnFight.color=QL.RED,this.btnFight.width=120,this.btnFight.height=55,this.btnFight.x=this.bg.width-this.btnFight.width-10,this.btnFight.y=.5*(this.bg.height-this.btnFight.height),this.btnFight.onClick=()=>{
+ this.data&&this.onFight&&this.onFight(this.data)}
+ ,this.addChild(this.btnFight)}
+ setData(t){
+ this.data=t,this.lblRankNum.text=`${
+ t.rank}
+ `,this.lblRankNum.x=15+.5*(100-this.lblRankNum.width);
+ const i=Number(t.maxWave)||0,s=Math.floor(i/100);
+ this.lblNameInfo.text=`${
+ t.name}
+  ( Lv.${
+ s}
+  )`;
+ const e=Number(t.total)||0,n=Number(t.win)||0,h=e-n;
+ this.lblDetail.text=`${
+ t.point.toLocaleString()}
+ `+AG.getText("COMMON_37","점수").charAt(0)+`  ( ${
+ e}
+ -${
+ n}
+ -${
+ h}
+  )`,this.btnFight.text=AG.getText("GAME_70","전투")}
+ get height(){
+ return this.bg.height+2}
+ }
+ ;
+ Kt(A4,"PVPOpponentItemRenderer");
+ let S4=A4;
+ const T4=class extends d3{
+ constructor(){
+ super(),zt(this,"index",-1),zt(this,"onClick"),zt(this,"plus",new We(ZA.getTexture("UI_Ekkorr","UI_Plus"))),zt(this,"check",new We(ZA.getTexture("UI_Ekkorr","Base_Check01"))),zt(this,"atkTypeIcon",new We),zt(this,"_showAtkType",!1),zt(this,"_selected",!1),zt(this,"_activated",!0),this.plus.scale=.8,this.plus.x=.5*(this.bg.width-this.plus.width)-5,this.plus.y=.5*(this.bg.height-this.plus.height)+2,this.addChildAt(this.plus,0),this.check.scale=1.2,this.check.x=.5*(this.bg.width-this.check.width)-5,this.check.y=.5*(this.bg.height-this.check.height),this.addChild(this.check),this.check.visible=!1,this.atkTypeIcon.scale=1.15,this.atkTypeIcon.visible=!1,this.addChild(this.atkTypeIcon),this.eventMode="dynamic",this.on("pointertap",this.onTap,this)}
+ set showAtkType(t){
+ this._showAtkType=t,this.atkTypeIcon.visible=t}
+ get showAtkType(){
+ return this._showAtkType}
+ updateAtkTypeIcon(t){
+ if(!this._showAtkType||!t||t.kindNum<=0)return void(this.atkTypeIcon.visible=!1);
+ const i=t.dmgType===nx.MAGICAL?"UI_MAGIC_WAND":"UI_SWORD";
+ this.atkTypeIcon.texture=ZA.getTexture("UI_Ekkorr",i),this.atkTypeIcon.x=this.bg.width-this.atkTypeIcon.width-22,this.atkTypeIcon.y=this.bg.height-this.atkTypeIcon.height-4,this.atkTypeIcon.visible=!0}
+ hidePlusIcon(){
+ this.plus.visible=!1}
+ hideLevel(){
+ this.lblLevel.visible=!1}
+ setNumber(t){
+ this.lblCount.text=t.toString(),this.lblCount.visible=!0}
+ setAlphaToFrame(t){
+ this.bg.alpha=t,this.cover.alpha=t,this.setTransAlpha(t)}
+ set selected(t){
+ this._selected=t,this.check.visible=t,this.plus.visible=!t}
+ get selected(){
+ return this._selected}
+ onTap(t){
+ 0!=this._activated&&(KL.getInstance().playSFX(KL.SFX_NORMAL_CLICK),this.onClick&&this.onClick(this.index))}
+ setDataWith(t,i){
+ this.index=t,this.setMode(l3.HERO_PVP),-1==i.kindNum?(this.icon.visible=!1,this.lblLevel.visible=!1,this.lblEnhance.visible=!1,this.lblCount.visible=!1,this.bg.texture=ZA.getTexture("UI_Ekkorr","HeroFrame1}
+ "),this.cover.texture=ZA.getTexture("UI_Ekkorr","HeroCover1"),this.atkTypeIcon.visible=!1,this.hideTrans()):(this.icon.visible=!0,super.setData(i),this.updateAtkTypeIcon(i))}
+ get activated(){
+ return this._activated}
+ set activated(t){
+ t!=this._activated&&(this._activated=t,this._activated)}
+ }
+ ;
+ Kt(T4,"HeroButton");
+ let C4=T4;
+ const k4=class t{
+ constructor(){
+ zt(this,"kindNum",0),zt(this,"trans",0),zt(this,"remaining",0),zt(this,"total",0)}
+ static getVO(){
+ return t.recycleList.length>0?t.recycleList.pop():new t}
+ static set(t,i,s,e,n){
+ return t.kindNum=i,t.trans=s,t.remaining=e,t.total=n,t}
+ remove(){
+ this.kindNum=0,this.trans=0,this.remaining=0,this.total=0,t.recycleList.push(this)}
+ static removeAll(t){
+ for(const i of t)i.remove();
+ t.length=0}
+ }
+ ;
+ Kt(k4,"TowerHeroSelectVO"),zt(k4,"recycleList",[]);
+ let O4=k4;
+ const I4=class t extends XI{
+ constructor(){
+ super(),zt(this,"bg"),zt(this,"icons"),zt(this,"posList",[]),zt(this,"rowData",[]),zt(this,"badges",[]),zt(this,"atkTypeIcons",[]),this.bg=new CM({
+ texture:ZA.getTexture("UI_Ekkorr","Popup_List_00"),leftWidth:20,topHeight:20,rightWidth:20,bottomHeight:30}
+ ),this.bg.width=630,this.bg.height=62,this.bg.visible=!1,this.addChild(this.bg),this.icons=[],this.posList=[];
+ for(let t=0;
+ t<7;
+ t++){
+ const i=new d3;
+ i.scale=.7,i.x=7+t*(i.width+1),i.y=4,this.addChild(i),this.icons.push(i),this.posList.push(i.x);
+ const s=new We;
+ s.width=32,s.height=32,s.x=i.x+i.width-37,s.y=i.y,s.visible=!1,this.addChild(s),this.badges.push(s);
+ const e=new We;
+ e.scale=.8,e.x=i.x+i.width-39,e.y=i.y+i.height-22,e.visible=!1,this.addChild(e),this.atkTypeIcons.push(e)}
+ this.posList.push(640)}
+ get width(){
+ return this.bg.width}
+ get height(){
+ return this.bg.height}
+ setData(i){
+ var s;
+ const e=i;
+ if(e){
+ this.rowData=e;
+ for(let i=0;
+ i<this.icons.length;
+ i++){
+ const n=this.icons[i];
+ if(i<e.length){
+ const h=e[i];
+ if(n.setMode(l3.TOWER),h.kindNum<=0)n.visible=!0,n.alpha=1,n.tint=16777215,n.hideIcon(),n.hideLevel(),n.hideEnhance(),n.setCountText(""),this.badges[i].visible=!1,this.atkTypeIcons[i].visible=!1;
+ else{
+ n.setDataWithKindNum(h.kindNum,h.trans),n.visible=!0,h.remaining<=0?n.tint=6710886:n.tint=16777215,n.setCountText(`${
+ h.remaining}
+ /${
+ h.total}
+ `),n.lblCount.x=3;
+ const e=null==(s=t.skillCodeMap)?void 0:s.get(h.kindNum);
+ if("medal"===e?(this.badges[i].texture=ZA.getTexture("UI_Ekkorr","Icon_Medalbuff_02"),this.badges[i].visible=!0):"startwave"===e?(this.badges[i].texture=ZA.getTexture("UI_Ekkorr","Icon_Startwave_02"),this.badges[i].visible=!0):this.badges[i].visible=!1,t.showAttackType&&!this.badges[i].visible){
+ const t=vx.getInstance().getBookVO(h.kindNum);
+ if(t){
+ const s=t.dmgType===nx.MAGICAL?"UI_MAGIC_WAND":"UI_SWORD";
+ this.atkTypeIcons[i].texture=ZA.getTexture("UI_Ekkorr",s),this.atkTypeIcons[i].visible=!0}
+ else this.atkTypeIcons[i].visible=!1}
+ else this.atkTypeIcons[i].visible=!1}
+ }
+ else n.visible=!1,this.badges[i].visible=!1,this.atkTypeIcons[i].visible=!1}
+ }
+ }
+ onClick(i,s){
+ let e=-1;
+ for(let t=0;
+ t<this.icons.length;
+ t++)if(i>this.posList[t]&&i<this.posList[t+1]){
+ e=t;
+ break}
+ if(-1!==e&&e<this.rowData.length){
+ const i=this.rowData[e];
+ this.icons[e].visible&&t.onHeroClick&&t.onHeroClick(i.kindNum,i.trans)}
+ }
+ }
+ ;
+ Kt(I4,"TowerHeroSelectItemRenderer"),zt(I4,"onHeroClick",null),zt(I4,"skillCodeMap",null),zt(I4,"showAttackType",!1);
+ let x4=I4;
+ const N4=class extends g3{
+ constructor(){
+ super(),zt(this,"receivedIcon"),zt(this,"activatedBg"),zt(this,"_activated",!0),zt(this,"_received",!1),this.activatedBg=new We(ZA.getTexture("UI_Ekkorr","Frame_Reward_01_nor")),this.activatedBg.visible=!this._activated,this.addChild(this.activatedBg),this.receivedIcon=new We(ZA.getTexture("UI_Ekkorr","Base_Check01")),this.receivedIcon.visible=this._received,this.addChild(this.receivedIcon)}
+ updateLayout(){
+ if(super.updateLayout(),!this.receivedIcon)return;
+ const t=this.bg.width,i=this.bg.height;
+ this.receivedIcon.x=.5*(t-this.receivedIcon.width),this.receivedIcon.y=.5*(i-this.receivedIcon.height)}
+ get activated(){
+ return this._activated}
+ set activated(t){
+ t!=this._activated&&(this._activated=t,this.activatedBg.visible=!this._activated)}
+ get received(){
+ return this._received}
+ set received(t){
+ t!=this._received&&(this._received=t,this.receivedIcon.visible=this._received)}
+ }
+ ;
+ Kt(N4,"AchievementRewardItem");
+ let P4=N4;
+ const R4=class extends Be{
+ constructor(){
+ super(),zt(this,"bg"),zt(this,"lbl"),zt(this,"_width",100),zt(this,"_widthMax",570),zt(this,"count",0),this.eventMode="none",this.bg=this.getBg(),this.bg.alpha=.9;
+ const t=aD.DEFAULT_OUTLINE_FONT_OPTION_16;
+ t.fill=14405050,t.stroke={
+ color:"#333333",width:3,join:"round"}
+ ,this.lbl=new YD("0",t.fill,t),this.lbl.x=15,this.lbl.y=12,aD.setLabelWrapWidth(this.lbl,this._widthMax-2*this.lbl.x),this.addChild(this.bg,this.lbl),this.text="tooltip"}
+ getBg(){
+ return new CM({
+ texture:ZA.getTexture("UI_Ekkorr","Btn_Unit_01"),leftWidth:30,topHeight:20,rightWidth:30,bottomHeight:20}
+ )}
+ set text(t){
+ this.lbl.text=t,this._width=this.lbl.width+2*this.lbl.x+5,this._width>this._widthMax&&(this._width=this._widthMax),this.updateBg()}
+ updateBg(){
+ this.bg.width=this._width,this.bg.height=this.lbl.height+2*this.lbl.y}
+ show(t,i,s){
+ this.x=i,this.y=s,t&&t.addChild(this),this.startCheckHide()}
+ hide(){
+ this.parent&&this.parent.removeChild(this)}
+ get width(){
+ return this._width}
+ get widthMax(){
+ return this._widthMax}
+ set widthMax(t){
+ this._widthMax=t,aD.setLabelWrapWidth(this.lbl,this._widthMax-2*this.lbl.x)}
+ get height(){
+ return this.bg.height}
+ startCheckHide(){
+ this.count=0,GM.getInstance().add(this.checkHide,this)}
+ checkHide(){
+ ++this.count>180&&(this.count=0,this.hide(),GM.getInstance().remove(this.checkHide,this))}
+ }
+ ;
+ Kt(R4,"ToolTipBase");
+ let D4=R4;
+ const L4=class t extends D4{
+ static getInstance(){
+ return this._instance||(this._instance=new t),this._instance}
+ constructor(){
+ super()}
+ }
+ ;
+ Kt(L4,"ToolTip"),zt(L4,"_instance");
+ let G4=L4;
+ const B4=class t extends XI{
+ constructor(){
+ super(),zt(this,"bg"),zt(this,"lblIndex"),zt(this,"icon",new We(ZA.getTexture("UI_Ekkorr","Package_2"))),zt(this,"lblName"),zt(this,"lblProgress"),zt(this,"barBg"),zt(this,"barFill"),zt(this,"rewardContainer",new Be),zt(this,"rewardItems",[]),this.bg=new CM({
+ texture:ZA.getTexture("UI_Ekkorr","Popup_List_02"),leftWidth:135,topHeight:30,rightWidth:20,bottomHeight:30}
+ ),this.bg.width=t.W,this.bg.height=t.H,this.addChild(this.bg),this.lblIndex=new YD("",16764057,aD.DEFAULT_OUTLINE_FONT_OPTION_32),this.addChild(this.icon),this.lblName=new YD("",16764057,aD.DEFAULT_OUTLINE_FONT_OPTION_16),this.addChild(this.lblName),this.barBg=new QD,this.barBg.setIndex(4),this.barBg.width=t.BAR_W,this.barBg.height=t.BAR_H,this.barBg.alpha=.5,this.addChild(this.barBg),this.barFill=new QD,this.barFill.setIndex(3),this.barFill.width=t.BAR_W,this.barFill.height=t.BAR_H,this.addChild(this.barFill),this.lblProgress=new YD("0/0",16777215,aD.DEFAULT_OUTLINE_FONT_OPTION_16),this.addChild(this.lblProgress),this.addChild(this.rewardContainer);
+ for(let t=0;
+ t<7;
+ t++){
+ const t=new P4;
+ t.scale.set(.7),t.visible=!1,this.rewardItems.push(t),this.rewardContainer.addChild(t)}
+ }
+ get width(){
+ return t.W}
+ get height(){
+ return t.H}
+ setData(i){
+ const s=i.index+1;
+ this.lblIndex.text=`${
+ s}
+ `,this.lblIndex.x=.5*(t.INDEX_AREA_W-this.lblIndex.width),this.lblIndex.y=.5*(this.height-this.lblIndex.height),this.icon.x=.5*(t.INDEX_AREA_W-this.icon.width),this.icon.y=.5*(this.height-this.icon.height);
+ const e=AG.getText("GAME_946","총 결제 금액"),n=fU.isUsdCurrency()?`$${
+ uU.setComma(i.amount)}
+ `:`₩${
+ uU.setComma(i.amount)}
+ `;
+ this.lblName.text=`${
+ e}
+  (${
+ n}
+ )`,this.lblName.height,t.BAR_H,this.lblName.x=140,this.lblName.y=5;
+ const h=this.lblName.y+this.lblName.height+5;
+ this.barBg.x=140,this.barBg.y=h,this.barFill.x=140,this.barFill.y=h;
+ const r=Number(i.amount)>0?Math.min(1,Math.max(0,Number(i.userAmount)/Number(i.amount))):0;
+ this.barFill.width=t.BAR_W*r,this.lblProgress.text=`${
+ Math.floor(100*r)}
+ %`,this.lblProgress.x=140+this.barBg.width-this.lblProgress.width,this.lblProgress.y=this.lblName.y,this.showRewards(i.rewards,1==r),this.rewardContainer.x=140,this.rewardContainer.y=this.barBg.y+this.barBg.height+7}
+ showRewards(t,i){
+ const s=Math.min(t.length,7);
+ let e=0,n=!1;
+ for(let h=0;
+ h<7;
+ h++){
+ const r=this.rewardItems[h];
+ n=!1,h<s?(r.setDataFrom(t[h]),r.visible=!0,r.x=e,e+=r.width*r.scale.x+5,r.received=i,r.activated=!i,r.type!=f3.ticket||r.subType!=f3.heroGacha&&r.subType!=f3.heroSelect&&r.subType!=f3.treasureGacha&&r.subType!=f3.petSelect||(n=!0)):r.visible=!1,this.setItemEvent(r,n)}
+ }
+ setItemEvent(t,i){
+ t.eventMode="none",t.off("pointertap",this.onItemTap,this),i&&(t.eventMode="dynamic",t.on("pointertap",this.onItemTap,this))}
+ onItemTap(t){
+ const i=t.target;
+ if(!i)return;
+ let s="";
+ if(i.type==f3.ticket&&i.subType==f3.heroGacha?s=AG.getText("GAME_765","5성 영웅을 랜덤하게 획득할 수 있습니다."):i.type==f3.ticket&&i.subType==f3.heroSelect?s=AG.getText("GAME_943","제공되는 목록에서 원하는 5성 영웅을 선택할 수 있습니다."):i.type==f3.ticket&&i.subType==f3.treasureGacha?s=AG.getValueReplace("GAME_776","##",6,"6등급 유물을 랜덤하게 획득할 수 있습니다."):i.type==f3.ticket&&i.subType==f3.petSelect&&(s=AG.getText("GAME_944","제공되는 목록에서 원하는 펫 조각을 선택할 수 있습니다.")),s){
+ const t=G4.getInstance();
+ t.text=s;
+ let e=this.rewardContainer.x+i.x-20;
+ e+t.width+7>this.bg.x+this.bg.width&&(e=this.bg.x+this.bg.width-t.width-7);
+ let n=i.y-i.height;
+ n<7&&(n=7),t.show(this,e,n)}
+ }
+ }
+ ;
+ Kt(B4,"PaymentEventItemRenderer"),zt(B4,"W",534),zt(B4,"H",102),zt(B4,"BAR_W",380),zt(B4,"BAR_H",10),zt(B4,"INDEX_AREA_W",124);
+ let U4=B4;
+ const F4=class t extends AB{
+ constructor(){
+ super(),zt(this,"lblGuide"),this.lblGuide=new vB("@",this.width-90,16,aD.DEFAULT_COLOR,8,10,16763904),this.contentContainer.addChild(this.lblGuide),this.outSideClickHide=!0}
+ static getInstance(){
+ return this._instance||(this._instance=new t),this._instance}
+ async showGuide(){
+ this.title=AG.getText("GAME_945","결제 이벤트");
+ const t=[AG.getText("GAME_947","목표 금액에 도달하면 보상이 우편으로 발송됩니다."),AG.getText("GAME_948","총 결제 금액은 이벤트 기간 내 결제분만 반영됩니다."),AG.getText("GAME_986","붉은 보석으로 상품 구매 시, 결제 이벤트에 반영됩니다."),AG.getText("GAME_987","웹 마켓에서 진행된 결제는 결제 이벤트에 반영되지 않습니다.")];
+ this.lblGuide.text=t.map(t=>`@ ${
+ t}
+ `).join("\n"),this.lblGuide.x=30,this.lblGuide.y=80,this.height=this.lblGuide.y+this.lblGuide.height+40,await this.loadImage(),super.show()}
+ getDefaultPositionY(){
+ return.4*KA.stageHeight}
+ onBackButton(){
+ return this.hide(),!0}
+ }
+ ;
+ Kt(F4,"PaymentEventGuidePopup"),zt(F4,"_instance");
+ let H4=F4;
+ const W4=class t extends aG{
+ constructor(){
+ super(),zt(this,"bntMonth",new E4(AG.getText("COMMON_482","월간"),215)),zt(this,"btnSpecial",new E4(AG.getText("GAME_1158","스페셜"),215)),zt(this,"tabs"),zt(this,"activeIndex",0),zt(this,"infoBg"),zt(this,"lblPeriod"),zt(this,"lblRemainTitle"),zt(this,"lblRemainTime"),zt(this,"lblTotal"),zt(this,"lblAmount"),zt(this,"btnGuide"),zt(this,"list"),zt(this,"endTime",0),zt(this,"count",0),this.title="결제 이벤트",this.width=580,this.outSideClickHide=!0,this.tabs=[this.btnSpecial,this.bntMonth];
+ for(let i=0;
+ i<this.tabs.length;
+ i++){
+ const t=this.tabs[i];
+ this.addChild(t);
+ const s=i;
+ t.onClick=()=>this.switchTab(s)}
+ this.layoutTabs(),this.infoBg=new yB,this.infoBg.setIndex(2),this.infoBg.width=this.width-46,this.infoBg.x=23,this.contentContainer.addChild(this.infoBg),this.lblPeriod=new YD("",aD.DEFAULT_COLOR,aD.DEFAULT_OUTLINE_FONT_OPTION_18),this.contentContainer.addChild(this.lblPeriod),this.lblRemainTitle=new YD("",aD.DEFAULT_COLOR,aD.DEFAULT_OUTLINE_FONT_OPTION_18),this.contentContainer.addChild(this.lblRemainTitle),this.lblRemainTime=new YD("",aD.DEFAULT_COLOR,aD.DEFAULT_OUTLINE_FONT_OPTION_18),this.contentContainer.addChild(this.lblRemainTime),this.lblTotal=new YD("",aD.DEFAULT_COLOR,aD.DEFAULT_OUTLINE_FONT_OPTION_18),this.contentContainer.addChild(this.lblTotal),this.lblAmount=new YD("",aD.COLOR_BRIGHT_GREEN,aD.DEFAULT_OUTLINE_FONT_OPTION_18),this.contentContainer.addChild(this.lblAmount),this.btnGuide=new mB("UI_Ekkorr","UI_Alarm"),this.btnGuide.x=this.infoBg.x+this.infoBg.width-this.btnGuide.width-10,this.btnGuide.y=this.infoBg.y+10,this.contentContainer.addChild(this.btnGuide),this.btnGuide.on("pointertap",()=>{
+ H4.getInstance().showGuide()}
+ );
+ const t=this.width-46;
+ this.list=new ZV(U4,t,300),this.list.x=23,this.contentContainer.addChild(this.list),this.on("added",this.onAdded,this),this.on("removed",this.onRemoved,this)}
+ static getInstance(){
+ return this._instance||(this._instance=new t),this._instance}
+ onAdded(){
+ GM.getInstance().add(this.onEnter,this)}
+ onRemoved(){
+ GM.getInstance().remove(this.onEnter,this)}
+ async update(){
+ await fU.getEventList()}
+ show(){
+ null==fU.currentPaymentMonthEvent?this.activeIndex=0:null==fU.currentPaymentSpecialEvent&&(this.activeIndex=1),this.switchTab(this.activeIndex),super.show()}
+ updateLayout(){
+ this.title=AG.getText("GAME_945","결제 이벤트");
+ const t=0==this.activeIndex?fU.currentPaymentSpecialEvent:fU.currentPaymentMonthEvent;
+ let i=[];
+ if(t){
+ const s=t.userAmount,e=t.endTime.replace("T"," ").replace(".000Z","");
+ this.endTime=new Date(t.endTime).getTime(),this.endTime,ix.time,this.lblPeriod.text=AG.getText("GAME_545","이벤트 기간")+` : ~ ${
+ e}
+  (UTC)`,this.lblRemainTitle.text=AG.getText("COMMON_29","남은 시간")+" : ",this.onEnterUpdate(),this.lblTotal.text=AG.getText("GAME_946","총 결제 금액")+" : ",this.lblAmount.text=fU.isUsdCurrency()?`$${
+ uU.setComma(s)}
+ `:`₩${
+ uU.setComma(s)}
+ `,this.lblAmount.textColor=aD.COLOR_BRIGHT_GREEN;
+ let n=0;
+ for(let h=0;
+ h<t.rewards.length;
+ h++){
+ const e={
+ index:h,userAmount:s,rewards:t.rewards[h],amount:fU.isUsdCurrency()?t.amounts[h].usdAmount:t.amounts[h].amount}
+ ;
+ i.push(e),s>=Number(e.amount)&&(n=h)}
+ this.list.dataProvider=i,t.rewards.length<4?this.list.scrollTo(0):this.list.scrollTo(n)}
+ this.lblPeriod.x=this.lblRemainTitle.x=this.lblTotal.x=50,this.lblRemainTime.x=this.lblRemainTitle.x+this.lblRemainTitle.width,this.lblAmount.x=this.lblTotal.x+this.lblTotal.width;
+ const s=null!=fU.currentPaymentMonthEvent&&null!=fU.currentPaymentSpecialEvent;
+ this.tabs.forEach(t=>t.visible=s);
+ const e=s?125:70;
+ this.infoBg.y=e,this.btnGuide.y=this.infoBg.y+10,this.lblPeriod.y=this.infoBg.y+20,this.lblRemainTitle.y=this.lblRemainTime.y=this.lblPeriod.y+this.lblPeriod.height+10,this.lblTotal.y=this.lblAmount.y=this.lblRemainTitle.y+this.lblRemainTitle.height+10,this.infoBg.height=this.lblTotal.y+this.lblTotal.height-this.infoBg.y+17;
+ const n=this.infoBg.y+this.infoBg.height+14;
+ this.list.y=n;
+ const h=Math.min(352,103*i.length);
+ this.list.setListHeight(h),this.height=this.list.y+this.list.height+30}
+ onEnter(){
+ ++this.count>60&&(this.count=0,this.onEnterUpdate())}
+ onEnterUpdate(){
+ const t=.001*(this.endTime-ix.time);
+ this.lblRemainTime.textColor=t<43200?aD.COLOR_RED:aD.DEFAULT_COLOR,this.lblRemainTime.text=t>0?`${
+ uU.displayTimeAsTwoOfDDHHMMSS(t)}
+ `:AG.getText("GAME_949","이벤트 종료")}
+ switchTab(t){
+ this.activeIndex=t;
+ for(let i=0;
+ i<this.tabs.length;
+ i++)this.tabs[i].selected=i===t;
+ this.updateLayout()}
+ layoutTabs(){
+ let t=.5*(this.width-46-2);
+ for(const s of this.tabs)s.fitWithinWidth(t,50);
+ let i=23;
+ for(let s=0;
+ s<this.tabs.length;
+ s++){
+ const e=this.tabs[s];
+ i=23+(t+2)*s,e.x=i,e.y=65}
+ }
+ }
+ ;
+ Kt(W4,"PaymentEventPopup"),zt(W4,"_instance"),zt(W4,"TAB_HEIGHT",60);
+ let j4=W4;
+ const $4=class t extends XV{
+ constructor(){
+ super(),zt(this,"tabs",[]),zt(this,"buttons",[]),zt(this,"activeIndex",0),zt(this,"onTabChange",null),zt(this,"btnPaymentEvent",new mB("UI_Ekkorr","Package_2",.7)),zt(this,"clickedEventInfo",[]),zt(this,"cnt",0),this.btnPaymentEvent.onClick=this.onPaymentEventClick.bind(this),this.addChild(this.btnPaymentEvent),this.btnPaymentEvent.visible=!1,this.on("added",this.onAdded,this),this.on("removed",this.onRemoved,this)}
+ static getInstance(){
+ return null==t.instance&&(t.instance=new t),t.instance}
+ async onAdded(){
+ this.btnPaymentEvent.hideRedDot();
+ const t=await $A.getPaymentEventInfo();
+ if(t)for(this.clickedEventInfo=t.split("#").map(t=>""===t?[0]:t.split("|").map(Number));
+ this.clickedEventInfo.length<2;
+ )this.clickedEventInfo.push([0]);
+ else this.clickedEventInfo=Array.from({
+ length:2}
+ ,()=>[0]);
+ GM.getInstance().add(this.onFrame,this)}
+ onRemoved(){
+ GM.getInstance().remove(this.onFrame,this)}
+ async onPaymentEventClick(){
+ await j4.getInstance().update(),j4.getInstance().show();
+ const t=[fU.currentPaymentSpecialEvent,fU.currentPaymentMonthEvent];
+ this.clickedEventInfo=[];
+ for(const i of t){
+ if(!i){
+ this.clickedEventInfo.push([]);
+ continue}
+ const t=[];
+ t.push(i.id);
+ for(let s=0;
+ s<i.rewards.length;
+ s++){
+ let e=i.amounts[s].amount;
+ fU.isUsdCurrency()&&(e=i.amounts[s].usdAmount),i.userAmount>=e?t.push(1):t.push(0)}
+ this.clickedEventInfo.push(t)}
+ $A.savePaymentEventInfo(this.clickedEventInfo.map(t=>t.join("|")).join("#"))}
+ onFrame(){
+ this.cnt-- >0||(this.cnt=30,this.updatePaymentEvent())}
+ updatePaymentEvent(){
+ if(this.buttons.length<2)return;
+ const t=this.buttons[1];
+ if(this.buttons[1]&&(fU.isValidEvent(pU.PAYMENT_EVENT)?(this.btnPaymentEvent.visible=!0,fU.currentPaymentSpecialEvent?t.showEventTag(-3,2):t.hideEventTag()):(this.btnPaymentEvent.visible=!1,t.hideEventTag()),this.btnPaymentEvent.visible&&(fU.currentPaymentSpecialEvent||fU.currentPaymentMonthEvent))){
+ const t=!!fU.currentPaymentSpecialEvent&&this.clickedEventInfo[0][0]<fU.currentPaymentSpecialEvent.id,i=!!fU.currentPaymentMonthEvent&&this.clickedEventInfo[1][0]<fU.currentPaymentMonthEvent.id;
+ t||this.checkNewReach(0)||i||this.checkNewReach(1)?this.btnPaymentEvent.showRedDot():this.btnPaymentEvent.hideRedDot()}
+ }
+ checkNewReach(t){
+ const i=0==t?fU.currentPaymentSpecialEvent:fU.currentPaymentMonthEvent;
+ if(!i)return!1;
+ for(let s=0;
+ s<i.rewards.length;
+ s++){
+ let e=i.amounts[s].amount;
+ if(fU.isUsdCurrency()&&(e=i.amounts[s].usdAmount),0==this.clickedEventInfo[t][s+1]&&i.userAmount>=e)return!0}
+ return!1}
+ setTabs(t){
+ for(const i of this.buttons)this.removeChild(i);
+ this.buttons=[],this.tabs=t;
+ for(let i=0;
+ i<t.length;
+ i++){
+ const s=t[i],e=new E4(AG.getText(s.labelKey,s.defaultText));
+ e.height=50,this.addChild(e),this.buttons[i]=e;
+ const n=i;
+ e.onClick=()=>this.setActiveTab(n)}
+ this.layoutTabs(),this.setActiveTab(0),this.updateLayout()}
+ layoutTabs(){
+ if(this.buttons.reduce((t,i)=>t+i.width,0)+2*Math.max(0,this.buttons.length-1)<=628){
+ let t=634;
+ for(let i=this.buttons.length-1;
+ i>=0;
+ i--){
+ const s=this.buttons[i];
+ s.height=50,t-=s.width+2,s.x=t,s.y=5}
+ }
+ else{
+ const t=this.buttons.length,i=Math.floor((628-2*(t-1))/t),s=56;
+ let e=634;
+ for(let n=t-1;
+ n>=0;
+ n--){
+ const t=this.buttons[n];
+ t.setMultilineMode(i,s,15),e-=i+2,t.x=e,t.y=.5*(60-s)}
+ }
+ }
+ setActiveTab(t){
+ this.activeIndex=t;
+ for(let i=0;
+ i<this.buttons.length;
+ i++)this.buttons[i].selected=i===t;
+ this.onTabChange&&this.onTabChange(t)}
+ updateLayout(){
+ const t=this.buttons[0];
+ this.btnPaymentEvent.x=this.lblTitle.x+this.lblTitle.width+10,this.btnPaymentEvent.y=t.y+.5*(t.height-this.btnPaymentEvent.height)}
+ updateLanguage(){
+ this.setTitle(AG.getText("COMMON_356","상점")),this.setTabs(this.tabs)}
+ }
+ ;
+ Kt($4,"ShopSubMenu"),zt($4,"instance");
+ let V4=$4;
+ const K4=class extends XI{
+ constructor(){
+ super(),zt(this,"bg"),zt(this,"lblName",new YD("2배속 ",16777215,aD.DEFAULT_OUTLINE_FONT_OPTION_18)),zt(this,"icon",new We(ZA.getTexture("UI_Ekkorr","Shop_Icon_07"))),zt(this,"btnBuy",new UB("UI_GEM","100")),zt(this,"btnAd",new UB("UI_MOVIE_SMALL",AG.getText("GAME_236","광고"))),zt(this,"lblRemaining",new YD("",11184810,aD.DEFAULT_FONT_OPTION_16)),zt(this,"lblCooldown",new YD("",16737894,aD.DEFAULT_FONT_OPTION_16)),zt(this,"requesting",!1),this.bg=new CM({
+ texture:ZA.getTexture("UI_Ekkorr","Popup_List_02"),leftWidth:140,topHeight:30,rightWidth:20,bottomHeight:30}
+ ),this.bg.x=5,this.bg.width=630,this.bg.height=80,this.addChild(this.bg),this.addChild(this.icon),this.lblName.x=135,this.lblName.y=.5*(this.bg.height-this.lblName.height),this.addChild(this.lblName),this.btnBuy.lbl.iconScale=.8,this.btnBuy.color=UB.BROWN,this.btnBuy.height=55,this.btnBuy.width=140,this.btnBuy.x=this.bg.width-this.btnBuy.width-6,this.btnBuy.y=.5*(this.bg.height-this.btnBuy.height),this.addChild(this.btnBuy),this.btnBuy.on("pointerdown",this.onBuy,this),this.btnAd.lbl.iconScale=.6,this.btnAd.color=QL.BROWN,this.btnAd.height=55,this.btnAd.width=140,this.btnAd.x=this.bg.width-this.btnAd.width-6,this.btnAd.y=.5*(this.bg.height-this.btnAd.height),this.addChild(this.btnAd),this.btnAd.onClick=this.onAdWatch.bind(this),this.lblRemaining.y=.5*(this.bg.height-this.lblRemaining.height),this.addChild(this.lblRemaining),this.lblCooldown.visible=!1,this.addChild(this.lblCooldown)}
+ async onBuy(t){
+ if(1==this.data.kindNum){
+ let t=await hD.getInstance().user.buySpeed15();
+ if(0==t.success)return void mG.getInstance().showError(t);
+ _L.setUser(t.body),UV.getInstance().updateAll(),WG.getInstance().setSpeed(2)}
+ }
+ async onAdWatch(){
+ var t;
+ try{
+ const t=J3.getInstance().checkApproved();
+ if(0==t.approved)return void mG.getInstance().show(t.errorMessage)}
+ catch(s){
+ const t=AG.getText("AGE_RANGE_3","현재 사용 중인 기기 또는 OS 환경에서는 연령 정보를 확인할 수 없어, 일부 기능이 ‘안전 모드’로 제한됩니다.");
+ return void mG.getInstance().show(t)}
+ if(this.requesting)return;
+ if(!(null==(t=this.data)?void 0:t.isAd))return;
+ const i=this.data.adsType;
+ if(0!==JB.getInstance().getDailyRemaining(i)){
+ if(JB.getInstance().isCooldownReady(i)){
+ this.requesting=!0;
+ try{
+ _L.canSkipAds?(TU.trackAd("ad_skip",String(i)),await this.onAdComplete()):(TU.trackAd("ad_try",String(i)),await jL(async()=>{
+ TU.trackAd("ad_success",String(i)),await this.onAdComplete()}
+ ,i,()=>{
+ TU.trackAd("ad_fail",String(i))}
+ ))}
+ finally{
+ this.requesting=!1}
+ }
+ }
+ else mG.getInstance().show(AG.getText("GAME_244","오늘 최대 횟수를 초과했습니다."))}
+ async onAdComplete(){
+ const t=this.data.adsType,i=await hD.getInstance().ads.watch(t,!0);
+ if(!1!==i.success){
+ if(aV.getInstance().markDirty(),i.body.user&&(_L.setUserData(i.body.user),UV.getInstance().updateAll()),i.body.ads&&JB.getInstance().setData(i.body.ads),i.body.dungeon&&Rx.getInstance().setData(i.body.dungeon),"speed"===i.body.rewardType&&WG.getInstance().setSpeed(2),5===t){
+ const t=JB.getInstance().getDailyRemaining(5),i=JB.getInstance().isCooldownReady(5);
+ 0!==t&&i||zii.getInstance().removeAdsGoblins()}
+ this.updateRemaining()}
+ else mG.getInstance().showError(i)}
+ setData(t){
+ this.data=t,t.isAd?(this.btnBuy.visible=!1,this.btnAd.visible=!0,this.lblName.text=t.name,this.icon.scale.set(1),this.icon.texture=ZA.getTexture("UI_Ekkorr",t.icon),this.icon.y=.5*(this.bg.height-this.icon.height),this.updateRemaining()):(this.btnBuy.visible=!0,this.btnAd.visible=!1,this.lblRemaining.visible=!1,this.lblName.text=t.name,(1==t.kindNum||2==t.kindNum)&&(this.icon.texture=ZA.getTexture("UI_Ekkorr",t.icon)),this.icon.y=.5*(this.bg.height-this.icon.height),this.btnBuy.text=t.gem.toString()),this.icon.x=60-.5*this.icon.width,this.lblRemaining.visible?aD.setLabelWrapWidth(this.lblName,this.lblRemaining.x-this.lblName.x-5):aD.setLabelWrapWidth(this.lblName,this.btnBuy.x-this.lblName.x-5),this.lblName.y=.5*(this.bg.height-this.lblName.height)}
+ updateRemaining(){
+ var t;
+ (null==(t=this.data)?void 0:t.isAd)&&this.updateCooldown()}
+ updateCooldown(){
+ var t;
+ if(!(null==(t=this.data)?void 0:t.isAd))return;
+ const i=this.data.adsType,s=JB.getInstance().getCooldownRemaining(i),e=JB.getInstance().getDailyRemaining(i),n=0===e,h=e>=0&&this.data.dailyMax,r=this.btnAd.x-8,o=.5*this.bg.height;
+ if(s>0&&!n){
+ const t=Math.ceil(s/1e3),i=Math.floor(t/60),n=t%60,a=`${
+ String(i).padStart(2,"0")}
+ :${
+ String(n).padStart(2,"0")}
+ `;
+ this.lblCooldown.visible=!0,this.lblCooldown.text=a,this.btnAd.activated=!1,h?(this.lblRemaining.visible=!0,this.lblRemaining.text=`${
+ e}
+ /${
+ this.data.dailyMax}
+ `,this.lblCooldown.x=r-this.lblCooldown.width,this.lblCooldown.y=o-this.lblCooldown.height-1,this.lblRemaining.x=r-this.lblRemaining.width,this.lblRemaining.y=o+1):(this.lblRemaining.visible=!1,this.lblCooldown.x=r-this.lblCooldown.width,this.lblCooldown.y=o-.5*this.lblCooldown.height)}
+ else this.lblCooldown.visible=!1,this.btnAd.activated=!n,h?(this.lblRemaining.visible=!0,this.lblRemaining.text=`${
+ e}
+ /${
+ this.data.dailyMax}
+ `,this.lblRemaining.x=r-this.lblRemaining.width,this.lblRemaining.y=o-.5*this.lblRemaining.height):this.lblRemaining.visible=!1}
+ get height(){
+ return this.bg.height+2}
+ }
+ ;
+ Kt(K4,"ShopItemRenderer");
+ let z4=K4;
+ const q4=class t extends b4{
+ constructor(){
+ super(),zt(this,"list"),this.list=new zI(z4,635,KA.listHeight),this.list.x=0,this.list.y=0,this.addChild(this.list),this.on("added",this.onAdded,this),this.on("removed",this.onRemoved,this)}
+ static getInstance(){
+ return null==t.instance&&(t.instance=new t),t.instance}
+ onAdded(){
+ GM.getInstance().add(this.onFrame,this)}
+ onRemoved(){
+ GM.getInstance().remove(this.onFrame,this)}
+ onFrame(){
+ var t;
+ if(null==(null==(t=this.parent)?void 0:t.parent))return;
+ const i=this.list.getItemList();
+ for(let s=0;
+ s<i.length;
+ s++)!1!==i[s].visible&&i[s].updateCooldown()}
+ setData(){
+ let t=[];
+ t.push({
+ kindNum:1,icon:"UI_SHOP_SPEED2",name:AG.getValueReplaceMulti("GAME_57",["@@","##"],[20,2],"20분간 게임속도 2배 증가"),gem:100,desc:AG.getValueReplaceMulti("GAME_57",["@@","##"],[20,2],"20분간 게임속도 2배 증가")}
+ ),t.push({
+ isAd:!0,adsType:2,dailyMax:20,icon:"UI_SHOP_SPEED2",name:AG.getValueReplaceMulti("GAME_228",["##","@@"],[20,2],"{
+  광고보고 20분간 2배속 }
+ "),rewardDesc:AG.getValueReplaceMulti("GAME_232",["##","@@","$$"],[10,2,20],"{
+  20분간 2배속, 하루 최대 3회 }
+ ")}
+ ),t.push({
+ isAd:!0,adsType:3,dailyMax:3,icon:"UI_COIN_Big",name:AG.getValueReplace("GAME_229","##",100,"{
+  광고보고 명예코인 100개 }
+ "),rewardDesc:AG.getValueReplaceMulti("GAME_233",["##","@@"],[100,3],"{
+  명예코인 100개, 하루 최대 3회 }
+ ")}
+ ),t.push({
+ isAd:!0,adsType:5,dailyMax:10,icon:"UI_SHOP_GEM",name:AG.getValueReplace("GAME_231","##",100,"{
+  광고보고 보석 100개 }
+ "),rewardDesc:AG.getValueReplaceMulti("GAME_235",["##","@@"],[100,10],"{
+  보석 100개, 하루 최대 10회 }
+ ")}
+ ),this.list.dataProvider=t,this.onAdded()}
+ get className(){
+ return"ShopGemSubView"}
+ }
+ ;
+ Kt(q4,"ShopGemSubView"),zt(q4,"instance");
+ let X4=q4;
+ const Y4=class extends s5{
+ constructor(t="Icon_Web_Market",i="UI_Ekkorr"){
+ super(t,i),zt(this,"lbl");
+ const s=aD.DEFAULT_OUTLINE_FONT_OPTION_16;
+ s.fill=aD.COLOR_BRIGHT_ORANGE,this.lbl=new YD("WEB",s.fill,s),this.lbl.eventMode="none",this.addChild(this.lbl),this.update()}
+ update(){
+ super.update(),this.lbl&&(this.lbl.x=this.icon.x-.5*this.lbl.width,this.lbl.y=this.icon.y+10),this.pivot.set(.5*this.width,.5*this.height)}
+ onDown(){
+ this.scale=.95}
+ onUp(){
+ this.scale=1}
+ get width(){
+ return this.icon.width}
+ get height(){
+ return this.icon.height}
+ }
+ ;
+ Kt(Y4,"WebMarketButton");
+ let J4=Y4;
+ const Q4=class t extends aG{
+ constructor(){
+ super(),zt(this,"lblMessage",new YD("",16777215,aD.ERROR_POPUP_LABEL_OPTION)),zt(this,"btnConfirm",new sG("이동")),zt(this,"btnCancel",new n3("취소")),zt(this,"iconNote"),zt(this,"lblNote",new YD("",aD.COLOR_LIGHT_BROWN,aD.ERROR_POPUP_LABEL_OPTION)),zt(this,"onConfirm",null),zt(this,"onCancel",null),this.title="알림",this.lblMessage.y=90;
+ let t=this.lblMessage.getStyle();
+ t.align="center",this.lblMessage.setStyle(t),this.iconNote=new We(ZA.getTexture("UI_Ekkorr","UI_Alarm")),this.iconNote.anchor.set(.5),this.iconNote.scale.set(.8),this.iconNote.x=35,t=this.lblNote.getStyle(),t.fontSize=17,t.lineHeight=25,this.lblNote.setStyle(t),this.lblNote.x=this.iconNote.x+.5*this.iconNote.width+5,this.contentContainer.addChild(this.lblMessage,this.btnConfirm,this.btnCancel,this.lblNote,this.iconNote),this.btnConfirm.onClick=this.onConfirmClick.bind(this),this.btnCancel.onClick=this.onCancelClick.bind(this)}
+ static getInstance(){
+ return this._instance||(this._instance=new t),this._instance}
+ onConfirmClick(){
+ this.hide();
+ let t=this.onConfirm;
+ this.onConfirm=null,null!==t&&t()}
+ onCancelClick(){
+ this.hide();
+ let t=this.onCancel;
+ this.onCancel=null,null!==t&&t()}
+ showError(t,i=null,s=null,e=null){
+ let n=t.errorMessage,h=AG.getErrorMessage(t.error);
+ h&&(n=h),i&&(n+="\n"+i),this.show(n,s,e)}
+ show(t,i=null,s=null){
+ this.onConfirm=i,this.onCancel=s;
+ let e=AG.getText("GAME_939","웹 마켓에서 특별한 상품들을 만나보실 수 있습니다."),n=AG.getText("GAME_940","웹 마켓으로 이동하시겠습니까?"),h="("+AG.getText("GAME_941","구매하신 상품은 인게임 우편으로 전송됩니다.")+")",r=AG.getText("GAME_942","상품 결제 및 구매 문제 발생 시, NEXT MARKET 고객센터로 문의해 주세요.");
+ this.lblMessage.text=e+"\n"+n+"\n"+h,this.lblNote.text=r,this.title=AG.getText("COMMON_4","알림"),this.btnConfirm.text=AG.getText("COMMON_65","이동"),this.btnCancel.text=AG.getText("COMMON_2","취소"),this.updateLayout(),super.show(t,i,s)}
+ updateLayout(){
+ this.lblMessage.x=.5*(this.width-this.lblMessage.width),this.btnConfirm.x=.5*(this.width-this.btnConfirm.width-this.btnCancel.width-20),this.btnCancel.x=this.btnConfirm.x+this.btnConfirm.width+20,this.btnConfirm.y=this.lblMessage.y+this.lblMessage.height+30,this.btnCancel.y=this.btnConfirm.y,this.iconNote.y=this.btnConfirm.y+this.btnConfirm.height+40,this.lblNote.y=this.iconNote.y+.5*(this.iconNote.height-this.lblNote.height),this.height=this.lblNote.y+this.lblNote.height+30}
+ getDefaultPositionY(){
+ return.3*KA.stageHeight}
+ onBackButton(){
+ return this.onConfirmClick(),!0}
+ }
+ ;
+ Kt(Q4,"LineMarketConfirimPopup"),zt(Q4,"_instance");
+ let Z4=Q4;
+ const t8=class t extends o6{
+ static getInstance(){
+ return this._instance||(this._instance=new t),this._instance}
+ constructor(){
+ super()}
+ }
+ ;
+ Kt(t8,"ShopProductPopup"),zt(t8,"_instance");
RewardItem 3 hunks, 582 statements
- const b3=class t extends yB{
- constructor(){
- super(),zt(this,"lblDesc"),zt(this,"btnConfirm"),zt(this,"icons",[]),this.outSideClickHide=!0,this.title=yG.getValueReplace("GAME_181","##",5,"5성 병사 뽑기"),this.lblDesc=new KD("",13421772,nD.DEFAULT_FONT_OPTION_16),this.lblDesc.align="center",this.contentContainer.addChild(this.lblDesc),this.btnConfirm=new qL(yG.getText("COMMON_1","확인")),this.btnConfirm.color=qL.GREEN,this.btnConfirm.width=160,this.btnConfirm.height=50,this.btnConfirm.onClick=()=>this.hide(),this.contentContainer.addChild(this.btnConfirm)}
- static getInstance(){
- return this._instance||(this._instance=new t),this._instance}
- async showGuide(){
- this.title=yG.getValueReplace("GAME_181","##",5,"5성 병사 뽑기"),this.btnConfirm.text=yG.getText("COMMON_1","확인");
- const t=vx.getInstance().bookList.filter(t=>5===t.grade&&0===t.evolStage&&t.canPurchase&&t.honor>=2&&t.kindNum<1e3);
- this.update(t,this.title),await this.loadImage(),super.show()}
- showGuideOfHeroGacha(){
- this.title=yG.getText("GAME_764","5성 영웅 확정권"),this.btnConfirm.text=yG.getText("COMMON_1","확인");
- const t=vx.getInstance(),i=t.honorNumberMax,s=t.bookList.filter(t=>5===t.grade&&0===t.evolStage&&t.canPurchase&&(t.honor>=1&&t.honor<i||t.honor<1)&&t.kindNum<1e3);
- this.update(s,this.title),super.show()}
- update(t,i){
- var s,e;
- for(const p of this.icons)this.contentContainer.removeChild(p);
- this.icons=[];
- const n=t.length,h=n>0?(100/n).toFixed(2):"0",r=yG.getText("GAME_602","아래 병사 중 랜덤한 병사를 획득합니다.")+" "+yG.getText("COMMON_475","획득 확률은 모두 동일합니다.")+`\n(${
- yG.getText("COMMON_476","개별 획득 확률")}
-  : ${
- h}
- %(=1/${
- n}
- ))`;
- this.lblDesc.text=r;
- for(let p=0;
- p<t.length;
- p++){
- const i=new v3;
- i.scale=.7,i.setDataWithKindNum(t[p].kindNum),this.contentContainer.addChild(i),this.icons.push(i)}
- const o=(null==(s=this.icons[0])?void 0:s.width)??70,a=(null==(e=this.icons[0])?void 0:e.height)??70,c=Math.ceil(t.length/4),l=4*o+15;
- this.width=520,this.title=i,nD.setLabelWrapWidth(this.lblDesc,this.width-55),this.lblDesc.x=.5*(this.width-this.lblDesc.width),this.lblDesc.y=65;
- const u=this.lblDesc.y+this.lblDesc.height+15,d=.5*(this.width-l)+5;
- for(let p=0;
- p<this.icons.length;
- p++){
- const t=p%4,i=Math.floor(p/4);
- this.icons[p].x=d+t*(o+5),this.icons[p].y=u+i*(a+2)}
- const f=u+c*(a+2)+35;
- this.btnConfirm.x=.5*(this.width-this.btnConfirm.width),this.btnConfirm.y=f,this.height=f+this.btnConfirm.height+30,this.btnClose.x=this.width-this.btnClose.width-12}
+ var f3=(t=>(t.gem="gem",t.redGem="redGem",t.gold="gold",t.medal="medal",t.honorCoin="honorCoin",t.guildPoint="guildPoint",t.guildCoin="guildCoin",t.raidCoin="raidCoin",t.hammer="hammer",t.hero="hero",t.instant="instant",t.ticket="ticket",t.trans="trans",t.pet="pet",t.petTicket="petTicket",t.petSelect="petSelect",t.heroGacha="heroGacha",t.heroSelect="heroSelect",t.heroTrans="heroTrans",t.treasure="treasure",t.treasureGacha="treasureGacha",t.treasureTrans="treasureTrans",t))(f3||{
- ;
- Kt(b3,"HeroDrawGuidePopup"),zt(b3,"_instance");
- let y3=b3;
- const _3=class extends Be{
- constructor(){
- super(),zt(this,"icon",new We(ZA.getTexture("UI_Ekkorr","UI_T001"))),zt(this,"bg",new We(ZA.getTexture("UI_Ekkorr","HeroFrame_1_Bg"))),zt(this,"cover",new We(ZA.getTexture("UI_Ekkorr","HeroFrame_1"))),zt(this,"lblEnhance",new KD("+0",16776960,nD.DEFAULT_OUTLINE_FONT_OPTION_16)),zt(this,"posList",[30,26,24,19,16,13,9]),zt(this,"star",new We(ZA.getTextures("UI_Ekkorr","UI_UNIT_RARE")[3])),zt(this,"trans",new We(ZA.getTexture("UI_Ekkorr","Trans0001"))),this.icon.x=3,this.icon.y=3,this.bg.x=3,this.bg.y=3,this.addChild(this.bg),this.addChild(this.icon),this.cover.x=0,this.cover.y=0,this.addChild(this.cover),this.star.x=this.posList[3],this.star.y=this.bg.height-this.star.height,this.addChild(this.star),this.icon.x=.5*(this.bg.height-this.icon.height),this.icon.y=.5*(this.bg.height-this.icon.height),this.lblEnhance.x=this.bg.width-this.lblEnhance.width-1,this.lblEnhance.y=3,this.addChild(this.lblEnhance),this.trans.scale=1.2,this.trans.x=5,this.trans.y=7,this.trans.visible=!1,this.addChild(this.trans)}
- setVO(t){
- this.icon.texture=ZA.getTexture("UI_Ekkorr",`UI_T${
- oU.addZeros(3,t.kindNum)}
- `),this.icon.width=this.icon.height=this.cover.width-6,this.icon.x=3,this.icon.y=2,this.lblEnhance.text=`+${
- t.enhance}
- `,this.star.texture=ZA.getTextures("UI_Ekkorr","UI_UNIT_RARE")[t.grade-1],this.star.x=this.posList[t.grade-1],this.bg.texture=ZA.getTexture("UI_Ekkorr",`HeroFrame_${
- t.grade}
- _Bg`),this.cover.texture=ZA.getTexture("UI_Ekkorr",`HeroFrame_${
- t.grade}
- `),t.trans&&t.trans>0?(this.trans.texture=ZA.getTexture("UI_Ekkorr",`Trans000${
- t.trans}
- `),this.trans.visible=!0):this.trans.visible=!1}
- hideTrans(){
- this.trans.visible=!1}
- showTrans(t){
- t<=0?this.trans.visible=!1:(this.trans.texture=ZA.getTexture("UI_Ekkorr",`Trans000${
- t}
- `),this.trans.visible=!0)}
- setDataWithKindNum(t){
- const i=Wx.getInstance().getBookDataByKindNum(t);
- i&&this.setVO(i)}
- hideFrame(){
- this.bg.visible=!1,this.cover.visible=!1}
- showFrame(){
- this.bg.visible=!0,this.cover.visible=!0}
- get width(){
- return this.bg.width}
- get height(){
- return this.bg.height}
- hideEnhance(){
- this.lblEnhance.visible=!1}
- showEnhance(){
- this.lblEnhance.visible=!0}
- }
- ;
- Kt(_3,"TreasureIcon");
- let M3=_3;
- const E3=class t extends yB{
- constructor(){
- super(),zt(this,"lblDesc"),zt(this,"btnConfirm"),zt(this,"icons",[]),this.outSideClickHide=!0,this.title=yG.getValueReplace("GAME_184","##",6,"6성 유물 뽑기"),this.lblDesc=new KD("",13421772,nD.DEFAULT_FONT_OPTION_16),this.lblDesc.align="center",this.contentContainer.addChild(this.lblDesc),this.btnConfirm=new qL(yG.getText("COMMON_1","확인")),this.btnConfirm.color=qL.GREEN,this.btnConfirm.width=160,this.btnConfirm.height=50,this.btnConfirm.onClick=()=>this.hide(),this.contentContainer.addChild(this.btnConfirm)}
- static getInstance(){
- return this._instance||(this._instance=new t),this._instance}
- async showGuide(){
- this.title=yG.getText("GAME_218","유물 뽑기권"),this.btnConfirm.text=yG.getText("COMMON_1","확인");
- const t=Wx.getInstance().bookList.filter(t=>6===t.grade);
- this.update(t,this.title),await this.loadImage(),super.show()}
- showGuideOfTreasureGacha(){
- this.title=yG.getText("GAME_218","유물 뽑기권"),this.btnConfirm.text=yG.getText("COMMON_1","확인");
- const t=Wx.getInstance().bookList.filter(t=>6===t.grade);
- this.update(t,this.title),super.show()}
- update(t,i){
- var s,e;
- for(const g of this.icons)this.contentContainer.removeChild(g);
- this.icons=[];
- const n=Wx.getInstance(),h=new Set;
- for(const g of n.equipedList)h.add(g.kindNum);
- for(const g of n.ownedList)h.add(g.kindNum);
- const r=t.filter(t=>!h.has(t.kindNum)).length;
- let o=yG.getText("GAME_603","아래 유물 중 랜덤한 유물을 획득합니다.")+" "+yG.getText("COMMON_475","획득 확률은 모두 동일합니다.");
- if(r>0){
- const t=(100/r).toFixed(2);
- o+=`\n(${
- yG.getText("COMMON_476","개별 획득 확률")}
-  : ${
- t}
- %(=1/${
- r}
- ))`}
- this.lblDesc.text=o;
- for(let g=0;
- g<t.length;
- g++){
- const i=new M3;
- i.scale=.75,i.setDataWithKindNum(t[g].kindNum),i.hideEnhance(),i.alpha=h.has(t[g].kindNum)?.35:1,this.contentContainer.addChild(i),this.icons.push(i)}
- const a=(null==(s=this.icons[0])?void 0:s.width)??70,c=(null==(e=this.icons[0])?void 0:e.height)??70,l=Math.ceil(t.length/7),u=7*a-12;
- this.width=520,this.title=i,nD.setLabelWrapWidth(this.lblDesc,this.width-40),this.lblDesc.x=.5*(this.width-this.lblDesc.width),this.lblDesc.y=65;
- const d=this.lblDesc.y+this.lblDesc.height+15,f=.5*(this.width-u)+5;
- for(let g=0;
- g<this.icons.length;
- g++){
- const t=g%7,i=Math.floor(g/7);
- this.icons[g].x=f+t*(a+-2),this.icons[g].y=d+i*(c+2)}
- const p=d+l*(c+2)+10;
- this.btnConfirm.x=.5*(this.width-this.btnConfirm.width),this.btnConfirm.y=p,this.height=p+this.btnConfirm.height+30,this.btnClose.x=this.width-this.btnClose.width-12}
- }
- ;
- Kt(E3,"TreasureDrawGuidePopup"),zt(E3,"_instance");
- let A3=E3;
- const S3=class t{
- constructor(){
- zt(this,"battlePoolMap",{
- }
- ),zt(this,"seasonSetMap",{
- }
- ),zt(this,"rewardMap",{
- }
- ),zt(this,"seasonSetKindNum",0),zt(this,"seasonNumber",0),zt(this,"seasonEndTime",0),zt(this,"currentFloor",0),zt(this,"floorStars",[]),zt(this,"ticket",0),zt(this,"maxTicket",5),zt(this,"ticketTime",0),zt(this,"currentBattleFloor",0),zt(this,"bookLoaded",!1)}
- static getInstance(){
- return null==this.instance&&(this.instance=new t),this.instance}
- setBattlePoolData(t){
- if(this.battlePoolMap={
- }
- ,t)for(const i of t){
- const t=new k3;
- t.kindNum=i.kindNum,t.difficulty=i.difficulty,t.enemyKindNums=i.enemyKindNums||"",t.enemyTrans=i.enemyTrans||"",t.enemyShields=i.enemyShields||"",t.enemyLevels=i.enemyLevels||"",t.tribes=i.tribes,t.gradeMax=i.gradeMax,t.femaleExclude=i.femaleExclude,t.maleExclude=i.maleExclude,t.rangeExclude=i.rangeExclude,t.meleeExclude=i.meleeExclude,t.airExclude=i.airExclude,t.star1=i.star1,t.star2=i.star2,t.star3=i.star3,this.battlePoolMap[t.kindNum]=t}
- }
- setSeasonSetData(t){
- if(this.seasonSetMap={
- }
- ,t)for(const i of t){
- const t=new I3;
- t.kindNum=i.kindNum,t.battleIDs=i.battleIDs,this.seasonSetMap[t.kindNum]=t}
- }
- setRewardData(t){
- if(this.rewardMap={
- }
- ,t)for(const i of t){
- const t=new N3;
- t.floor=i.floor,t.gem1=i.gem1,t.gem2=i.gem2,t.gem3=i.gem3,t.honor1=i.honor1,t.honor2=i.honor2,t.honor3=i.honor3,this.rewardMap[t.floor]=t}
- }
- setData(t){
- for(this.seasonSetKindNum=t.seasonSetKindNum,this.seasonNumber=t.seasonNumber||0,this.seasonEndTime=t.seasonEndTime?new Date(t.seasonEndTime).getTime():0,this.currentFloor=t.currentFloor,this.floorStars=t.floorStars||[];
- this.floorStars.length<30;
- )this.floorStars.push(0);
- this.ticket=t.ticket,this.maxTicket=t.maxTicket,this.ticketTime=new Date(t.ticketTime).getTime()+1e3,this.currentBattleFloor=t.currentBattleFloor}
- getFloorList(){
- const t=this.seasonSetMap[this.seasonSetKindNum];
- if(!t)return[];
- const i=t.battleIDs.split("|").map(Number),s=[],e=Math.min(this.currentFloor+1,30);
- for(let n=0;
- n<e;
- n++){
- const t=this.battlePoolMap[i[n]];
- if(!t)continue;
- const e=new R3;
- e.floor=n+1,e.stars=this.floorStars[n]||0,e.battleVO=t,e.reward=this.rewardMap[n+1],e.isCleared=this.floorStars[n]>0,e.isNext=n+1===this.currentFloor+1,s.push(e)}
- return s}
- getFloorListReversed(){
- return this.getFloorList().reverse()}
- getBattlePool(t){
- return this.battlePoolMap[t]}
- buildFloorVO(t){
- if(t<1||t>30)return null;
- const i=this.seasonSetMap[this.seasonSetKindNum];
- if(!i)return null;
- const s=i.battleIDs.split("|").map(Number),e=t-1;
- if(e>=s.length)return null;
- const n=this.battlePoolMap[s[e]];
- if(!n)return null;
- const h=new R3;
- return h.floor=t,h.stars=this.floorStars[e]||0,h.battleVO=n,h.reward=this.rewardMap[t],h.isCleared=this.floorStars[e]>0,h.isNext=t===this.currentFloor+1,h}
- getReward(t){
- return this.rewardMap[t]}
- }
- ;
- Kt(S3,"TowerDataManager"),zt(S3,"instance");
- let C3=S3;
- const T3=class{
- constructor(){
- zt(this,"kindNum",0),zt(this,"difficulty",0),zt(this,"enemyKindNums",""),zt(this,"enemyTrans",""),zt(this,"enemyShields",""),zt(this,"enemyLevels",""),zt(this,"tribes","0"),zt(this,"gradeMax",0),zt(this,"femaleExclude","N"),zt(this,"maleExclude","N"),zt(this,"rangeExclude","N"),zt(this,"meleeExclude","N"),zt(this,"airExclude","N"),zt(this,"star1",0),zt(this,"star2",0),zt(this,"star3",0)}
- static parseEnemies(t){
- const i=new Array(20).fill(null);
- if(!t||!t.enemyKindNums)return i;
- const s=String(t.enemyKindNums).split("|"),e=Math.min(s.length,20);
- for(let n=0;
- n<e;
- n++){
- const t=s[n].trim();
- if(!t||"0"===t)continue;
- const e=t.indexOf("-"),h=e>=0?t.substring(0,e):t,r=e>=0?t.substring(e+1):"0",o=Number(h);
- o>0&&(i[n]={
- kindNum:o,trans:Number(r)||0}
- )}
- return i}
- static stringifyEnemies(t,i){
- let s=-1;
- for(let n=19;
- n>=0;
- n--)if((t[n]??-1)>0){
- s=n;
- break}
- if(s<0)return"";
- const e=[];
- for(let n=0;
- n<=s;
- n++){
- const s=t[n]??-1;
- s<=0?e.push("0"):e.push(`${
- s}
- -${
- i[n]??0}
- `)}
- return e.join("|")}
- }
- ;
- Kt(T3,"TowerBattlePoolVO");
- let k3=T3;
- const O3=class{
- constructor(){
- zt(this,"kindNum",0),zt(this,"battleIDs","")}
- }
- ;
- Kt(O3,"TowerSeasonSetVO");
- let I3=O3;
- const x3=class{
- constructor(){
- zt(this,"floor",0),zt(this,"gem1",0),zt(this,"gem2",0),zt(this,"gem3",0),zt(this,"honor1",0),zt(this,"honor2",0),zt(this,"honor3",0)}
- }
- ;
- Kt(x3,"TowerRewardVO");
- let N3=x3;
- const P3=class{
- constructor(){
- zt(this,"floor",0),zt(this,"stars",0),zt(this,"battleVO"),zt(this,"reward"),zt(this,"isCleared",!1),zt(this,"isNext",!1)}
- }
- ;
- Kt(P3,"TowerFloorVO");
- let R3=P3;
- const D3=class t{
- constructor(){
- zt(this,"lastFetchTime",0),zt(this,"hasData",!1),zt(this,"dungeonRechargeMs",0),zt(this,"towerRechargeMs",0),zt(this,"towerSnapshot",null),zt(this,"pvpSnapshot",null),zt(this,"dailyRankingSnapshot",null)}
- static getInstance(){
- return this.instance||(this.instance=new t),this.instance}
- setSummary(t){
- if(t){
- if(this.hasData=!0,this.lastFetchTime=ix.time,t.dungeon){
- this.dungeonRechargeMs=t.dungeon.ticketRechargeMs??0;
- const i=Rx.getInstance();
- i.ticket=t.dungeon.ticket??i.ticket,i.maxTicket=t.dungeon.maxTicket??i.maxTicket,t.dungeon.ticketTime&&(i.ticketTime=new Date(t.dungeon.ticketTime).getTime()+1e3)}
- if(t.tower){
- this.towerRechargeMs=t.tower.ticketRechargeMs??0;
- const i=C3.getInstance();
- i.seasonNumber>0&&(i.ticket=t.tower.ticket??i.ticket,i.maxTicket=t.tower.maxTicket??i.maxTicket,t.tower.ticketTime&&(i.ticketTime=new Date(t.tower.ticketTime).getTime()+1e3),void 0!==t.tower.currentFloor&&(i.currentFloor=t.tower.currentFloor),void 0!==t.tower.seasonNumber&&(i.seasonNumber=t.tower.seasonNumber),t.tower.seasonEndTime&&(i.seasonEndTime=new Date(t.tower.seasonEndTime).getTime())),this.towerSnapshot={
- seasonNumber:t.tower.seasonNumber??0,seasonEndTime:t.tower.seasonEndTime?new Date(t.tower.seasonEndTime).getTime():0,currentFloor:t.tower.currentFloor??0,ticket:t.tower.ticket??0,maxTicket:t.tower.maxTicket??0,ticketTime:t.tower.ticketTime?new Date(t.tower.ticketTime).getTime():0}
- }
- this.pvpSnapshot=t.pvp??null,this.dailyRankingSnapshot=t.dailyRanking??null}
- }
- has(){
- return this.hasData}
- isStale(t){
- return!this.hasData||ix.time-this.lastFetchTime>=t}
- getDungeon(){
- if(!this.hasData)return null;
- const t=Rx.getInstance();
- return{
- ticket:t.ticket,maxTicket:t.maxTicket,ticketTime:t.ticketTime,ticketRechargeMs:this.dungeonRechargeMs}
- }
- getTower(){
- if(!this.hasData)return null;
- const t=C3.getInstance();
- return t.seasonNumber>0?{
- seasonNumber:t.seasonNumber,seasonEndTime:t.seasonEndTime,currentFloor:t.currentFloor,ticket:t.ticket,maxTicket:t.maxTicket,ticketTime:t.ticketTime,ticketRechargeMs:this.towerRechargeMs}
- :this.towerSnapshot?{
- ...this.towerSnapshot,ticketRechargeMs:this.towerRechargeMs}
- :null}
- getPvp(){
- return this.pvpSnapshot}
- updatePvpTicket(t,i){
- this.pvpSnapshot&&(this.pvpSnapshot.ticket=t,void 0!==i&&(this.pvpSnapshot.ticketTime=i))}
- getDailyRanking(){
- return this.dailyRankingSnapshot}
- updateDailyRanking(t,i){
- this.dailyRankingSnapshot?(this.dailyRankingSnapshot.joined=t,this.dailyRankingSnapshot.score=i):this.dailyRankingSnapshot={
- joined:t,score:i,date:""}
- }
- invalidate(){
- this.lastFetchTime=0}
- }
- ;
- Kt(D3,"BattleSummaryManager"),zt(D3,"instance");
- let L3=D3;
- const G3=class extends Be{
- constructor(){
- super()}
- get className(){
- return""}
- updateLanguage(){
- }
- }
- ;
- Kt(G3,"BaseSubView");
- let B3=G3;
- const U3=class t extends zV{
- static getInstance(){
- return null==this.instance&&(this.instance=new t),this.instance}
- constructor(){
- super(),this.currentSubView=Int.getInstance()}
- setData(){
- Int.getInstance().setData(),this.currentSubView=Int.getInstance()}
- get className(){
- return"BattleView"}
- }
- ;
- Kt(U3,"BattleView"),zt(U3,"instance");
- let F3=U3;
- const H3=class t extends qL{
- constructor(t,i=120,s=50){
- super(t),zt(this,"index",-1),zt(this,"bg2"),zt(this,"indicator"),zt(this,"minWidth",120),zt(this,"_selected",!0),zt(this,"padding",50),zt(this,"_autoResize",!0),zt(this,"_allowMultiline",!1),this.minWidth=i,this.padding=s,this.container.removeChild(this.bg),this.lbl.textSize=18,this._activatedTextColor=KD.LIGHT_BROWN,this.updateTextColor(),this.bg2=new TM({
- texture:ZA.getTexture("UI_Ekkorr","Base_Tooltip"),leftWidth:9,topHeight:9,rightWidth:9,bottomHeight:10}
- ),this.bg2.width=101,this.bg2.height=45,this.bg2.x=.5*-this.bg2.width,this.bg2.y=.5*-this.bg2.height,this.container.addChildAt(this.bg2,0),this.indicator=new TM({
- texture:ZA.getTexture("UI_Ekkorr","SelectedBar"),leftWidth:5,topHeight:1,rightWidth:5,bottomHeight:1}
- ),this.container.addChild(this.indicator),this.container.x=.5*this.bg2.width,this.container.y=.5*this.bg2.height,this.width=100,this.height=44,this._autoResize&&(this.text=t),this.updateHitArea(),this.selected=!1}
- updateHitArea(){
- null!=this.bg2&&(this._hitArea.width=this.bg2.width,this._hitArea.height=this.bg2.height,this.hitArea=this._hitArea)}
- get width(){
- return this.bg2.width-2*t.TRANSPARENT_BORDER}
- set width(i){
- i<this.minWidth&&(i=this.minWidth);
- const s=t.TRANSPARENT_BORDER;
- this.bg2.width=i+2*s,this.bg2.x=.5*-this.bg2.width,this.lbl.x=.5*-this.lbl.width,this.container.x=.5*i,this.indicator.width=i-16,this.indicator.x=.5*-this.indicator.width,this.updateHitArea()}
- set height(i){
- const s=t.TRANSPARENT_BORDER;
- this.bg2.height=i+2*s,this.bg2.y=.5*-this.bg2.height,this.lbl.y=.5*-this.lbl.height,this.container.y=.5*i,this.indicator.y=this.bg2.y+this.bg2.height-this.indicator.height-10,this.updateHitArea()}
- get height(){
- return this.bg2.height-2*t.TRANSPARENT_BORDER}
- get selected(){
- return this._selected}
- set selected(t){
- t!=this._selected&&(this._selected=t,1==this._selected?(this.indicator.visible=!0,this.activatedTextColor=nD.COLOR_ORANGE):(this.indicator.visible=!1,this.activatedTextColor=nD.DEFAULT_COLOR))}
- get autoResize(){
- return this._autoResize}
- set autoResize(t){
- this._autoResize=t}
- get allowMultiline(){
- return this._allowMultiline}
- set allowMultiline(t){
- this._allowMultiline!==t&&(this._allowMultiline=t,this.lbl.text&&(this.text=this.lbl.text))}
- applyMultilineLayout(i){
- const s=Math.max(40,this.width-2*t.MULTILINE_SIDE_PAD);
- if(this.lbl.setWrapWidth(0),this.lbl.lineHeight=0,this.lbl.text=i,this.lbl.width<=s)return this.lbl.x=.5*-this.lbl.width,void(this.lbl.y=.5*-this.lbl.height);
- this.lbl.align="center",this.lbl.lineHeight=Math.floor(this.lbl.textSize*t.MULTILINE_LINE_HEIGHT_RATIO)+t.MULTILINE_LINE_HEIGHT_EXTRA,this.lbl.setWrapWidth(s),this.lbl.text=i,this.lbl.x=.5*-this.lbl.width,this.lbl.y=.5*-this.lbl.height+t.MULTILINE_Y_OFFSET}
- setCompactStyle(t,i){
- this.lbl.textSize=t,this.padding=i,this._autoResize=!0,this.lbl.setWrapWidth(0),this.text=this.lbl.text}
- setMultilineMode(t,i,s=16){
- this._autoResize=!1,this.lbl.textSize=s,this.width=t,this.height=i;
- const e=Math.max(40,t-10);
- this.lbl.setWrapWidth(e),this.lbl.align="center",this.lbl.x=.5*-this.lbl.width,this.lbl.y=.5*-this.lbl.height}
- fitWithinWidth(t,i=50){
- this._autoResize=!1;
- const s=this.lbl.text;
- this.lbl.setWrapWidth(0),this.lbl.textSize=18,this.lbl.text=s,this.width=t,this.height=i;
- const e=Math.max(40,t-10);
- if(this.lbl.width<=e)return this.lbl.x=.5*-this.lbl.width,void(this.lbl.y=.5*-this.lbl.height);
- for(let n=17;
- n>=12;
- n--)if(this.lbl.textSize=n,this.lbl.text=s,this.lbl.width<=e)return this.lbl.x=.5*-this.lbl.width,void(this.lbl.y=.5*-this.lbl.height);
- this.lbl.textSize=12,this.lbl.setWrapWidth(e),this.lbl.align="center",this.lbl.text=s,this.lbl.x=.5*-this.lbl.width,this.lbl.y=.5*-this.lbl.height}
- set text(t){
- super.text=t,this._autoResize?this.width=this.lbl.width+this.padding:this._allowMultiline?this.applyMultilineLayout(t):this.lbl.x=.5*-this.lbl.width}
- updateEventTag(t,i){
- this.eventTag&&(this.eventTag.scale=.7,this.eventTag.x=this.bg2.x+this.bg2.width-this.eventTag.width+t,this.eventTag.y=this.bg2.y+i)}
- }
- ;
- Kt(H3,"SubMenuButton"),zt(H3,"TRANSPARENT_BORDER",3),zt(H3,"MULTILINE_SIDE_PAD",10),zt(H3,"MULTILINE_LINE_HEIGHT_RATIO",.85),zt(H3,"MULTILINE_LINE_HEIGHT_EXTRA",2),zt(H3,"MULTILINE_Y_OFFSET",-2);
- let W3=H3;
- const j3=class extends XI{
- constructor(){
- super(),zt(this,"bg"),zt(this,"lblRankTitle",new KD("rank",11184810,nD.DEFAULT_OUTLINE_FONT_OPTION_16)),zt(this,"lblRankNum",new KD("",nD.DEFAULT_COLOR,nD.ORANGE_OUTLINE_FONT_OPTION_28)),zt(this,"lblNameInfo",new KD("",nD.DEFAULT_COLOR,nD.DEFAULT_OUTLINE_FONT_OPTION_17)),zt(this,"lblDetail",new KD("",11184810,nD.DEFAULT_OUTLINE_FONT_OPTION_16)),zt(this,"btnFight",new qL("전투")),zt(this,"onFight"),this.bg=new TM({
- texture:ZA.getTexture("UI_Ekkorr","Popup_List_02"),leftWidth:140,topHeight:30,rightWidth:20,bottomHeight:30}
- ),this.bg.width=615,this.bg.height=80,this.bg.x=5,this.addChild(this.bg),this.lblRankTitle.x=25,this.lblRankTitle.y=6,this.addChild(this.lblRankTitle),this.lblRankNum.x=50,this.lblRankNum.y=24,this.addChild(this.lblRankNum),this.lblNameInfo.x=140,this.lblNameInfo.y=12,this.addChild(this.lblNameInfo),this.lblDetail.x=140,this.lblDetail.y=42,this.addChild(this.lblDetail),this.btnFight.color=qL.RED,this.btnFight.width=120,this.btnFight.height=55,this.btnFight.x=this.bg.width-this.btnFight.width-10,this.btnFight.y=.5*(this.bg.height-this.btnFight.height),this.btnFight.onClick=()=>{
- this.data&&this.onFight&&this.onFight(this.data)}
- ,this.addChild(this.btnFight)}
- setData(t){
- this.data=t,this.lblRankNum.text=`${
- t.rank}
- `,this.lblRankNum.x=15+.5*(100-this.lblRankNum.width);
- const i=Number(t.maxWave)||0,s=Math.floor(i/100);
- this.lblNameInfo.text=`${
- t.name}
-  ( Lv.${
- s}
-  )`;
- const e=Number(t.total)||0,n=Number(t.win)||0,h=e-n;
- this.lblDetail.text=`${
- t.point.toLocaleString()}
- `+yG.getText("COMMON_37","점수").charAt(0)+`  ( ${
- e}
- -${
- n}
- -${
- h}
-  )`,this.btnFight.text=yG.getText("GAME_70","전투")}
- get height(){
- return this.bg.height+2}
- }
- ;
- Kt(j3,"PVPOpponentItemRenderer");
- let $3=j3;
- const V3=class extends v3{
- constructor(){
- super(),zt(this,"index",-1),zt(this,"onClick"),zt(this,"plus",new We(ZA.getTexture("UI_Ekkorr","UI_Plus"))),zt(this,"check",new We(ZA.getTexture("UI_Ekkorr","Base_Check01"))),zt(this,"atkTypeIcon",new We),zt(this,"_showAtkType",!1),zt(this,"_selected",!1),zt(this,"_activated",!0),this.plus.scale=.8,this.plus.x=.5*(this.bg.width-this.plus.width)-5,this.plus.y=.5*(this.bg.height-this.plus.height)+2,this.addChildAt(this.plus,0),this.check.scale=1.2,this.check.x=.5*(this.bg.width-this.check.width)-5,this.check.y=.5*(this.bg.height-this.check.height),this.addChild(this.check),this.check.visible=!1,this.atkTypeIcon.scale=1.15,this.atkTypeIcon.visible=!1,this.addChild(this.atkTypeIcon),this.eventMode="dynamic",this.on("pointertap",this.onTap,this)}
- set showAtkType(t){
- this._showAtkType=t,this.atkTypeIcon.visible=t}
- get showAtkType(){
- return this._showAtkType}
- updateAtkTypeIcon(t){
- if(!this._showAtkType||!t||t.kindNum<=0)return void(this.atkTypeIcon.visible=!1);
- const i=t.dmgType===nx.MAGICAL?"UI_MAGIC_WAND":"UI_SWORD";
- this.atkTypeIcon.texture=ZA.getTexture("UI_Ekkorr",i),this.atkTypeIcon.x=this.bg.width-this.atkTypeIcon.width-22,this.atkTypeIcon.y=this.bg.height-this.atkTypeIcon.height-4,this.atkTypeIcon.visible=!0}
- hidePlusIcon(){
- this.plus.visible=!1}
- hideLevel(){
- this.lblLevel.visible=!1}
- setNumber(t){
- this.lblCount.text=t.toString(),this.lblCount.visible=!0}
- setAlphaToFrame(t){
- this.bg.alpha=t,this.cover.alpha=t,this.setTransAlpha(t)}
- set selected(t){
- this._selected=t,this.check.visible=t,this.plus.visible=!t}
- get selected(){
- return this._selected}
- onTap(t){
- 0!=this._activated&&(WL.getInstance().playSFX(WL.SFX_NORMAL_CLICK),this.onClick&&this.onClick(this.index))}
- setDataWith(t,i){
- this.index=t,this.setMode(m3.HERO_PVP),-1==i.kindNum?(this.icon.visible=!1,this.lblLevel.visible=!1,this.lblEnhance.visible=!1,this.lblCount.visible=!1,this.bg.texture=ZA.getTexture("UI_Ekkorr","HeroFrame1}
- "),this.cover.texture=ZA.getTexture("UI_Ekkorr","HeroCover1"),this.atkTypeIcon.visible=!1,this.hideTrans()):(this.icon.visible=!0,super.setData(i),this.updateAtkTypeIcon(i))}
- get activated(){
- return this._activated}
- set activated(t){
- t!=this._activated&&(this._activated=t,this._activated)}
- }
- ;
- Kt(V3,"HeroButton");
- let K3=V3;
- const z3=class t{
- constructor(){
- zt(this,"kindNum",0),zt(this,"trans",0),zt(this,"remaining",0),zt(this,"total",0)}
- static getVO(){
- return t.recycleList.length>0?t.recycleList.pop():new t}
- static set(t,i,s,e,n){
- return t.kindNum=i,t.trans=s,t.remaining=e,t.total=n,t}
- remove(){
- this.kindNum=0,this.trans=0,this.remaining=0,this.total=0,t.recycleList.push(this)}
- static removeAll(t){
- for(const i of t)i.remove();
- t.length=0}
- }
- ;
- Kt(z3,"TowerHeroSelectVO"),zt(z3,"recycleList",[]);
- let q3=z3;
- const X3=class t extends XI{
- constructor(){
- super(),zt(this,"bg"),zt(this,"icons"),zt(this,"posList",[]),zt(this,"rowData",[]),zt(this,"badges",[]),zt(this,"atkTypeIcons",[]),this.bg=new TM({
- texture:ZA.getTexture("UI_Ekkorr","Popup_List_00"),leftWidth:20,topHeight:20,rightWidth:20,bottomHeight:30}
- ),this.bg.width=630,this.bg.height=62,this.bg.visible=!1,this.addChild(this.bg),this.icons=[],this.posList=[];
- for(let t=0;
- t<7;
- t++){
- const i=new v3;
- i.scale=.7,i.x=7+t*(i.width+1),i.y=4,this.addChild(i),this.icons.push(i),this.posList.push(i.x);
- const s=new We;
- s.width=32,s.height=32,s.x=i.x+i.width-37,s.y=i.y,s.visible=!1,this.addChild(s),this.badges.push(s);
- const e=new We;
- e.scale=.8,e.x=i.x+i.width-39,e.y=i.y+i.height-22,e.visible=!1,this.addChild(e),this.atkTypeIcons.push(e)}
- this.posList.push(640)}
- get width(){
- return this.bg.width}
- get height(){
- return this.bg.height}
- setData(i){
- var s;
- const e=i;
- if(e){
- this.rowData=e;
- for(let i=0;
- i<this.icons.length;
- i++){
- const n=this.icons[i];
- if(i<e.length){
- const h=e[i];
- if(n.setMode(m3.TOWER),h.kindNum<=0)n.visible=!0,n.alpha=1,n.tint=16777215,n.hideIcon(),n.hideLevel(),n.hideEnhance(),n.setCountText(""),this.badges[i].visible=!1,this.atkTypeIcons[i].visible=!1;
- else{
- n.setDataWithKindNum(h.kindNum,h.trans),n.visible=!0,h.remaining<=0?n.tint=6710886:n.tint=16777215,n.setCountText(`${
- h.remaining}
- /${
- h.total}
- `),n.lblCount.x=3;
- const e=null==(s=t.skillCodeMap)?void 0:s.get(h.kindNum);
- if("medal"===e?(this.badges[i].texture=ZA.getTexture("UI_Ekkorr","Icon_Medalbuff_02"),this.badges[i].visible=!0):"startwave"===e?(this.badges[i].texture=ZA.getTexture("UI_Ekkorr","Icon_Startwave_02"),this.badges[i].visible=!0):this.badges[i].visible=!1,t.showAttackType&&!this.badges[i].visible){
- const t=vx.getInstance().getBookVO(h.kindNum);
- if(t){
- const s=t.dmgType===nx.MAGICAL?"UI_MAGIC_WAND":"UI_SWORD";
- this.atkTypeIcons[i].texture=ZA.getTexture("UI_Ekkorr",s),this.atkTypeIcons[i].visible=!0}
- else this.atkTypeIcons[i].visible=!1}
- else this.atkTypeIcons[i].visible=!1}
- }
- else n.visible=!1,this.badges[i].visible=!1,this.atkTypeIcons[i].visible=!1}
- }
- }
- onClick(i,s){
- let e=-1;
- for(let t=0;
- t<this.icons.length;
- t++)if(i>this.posList[t]&&i<this.posList[t+1]){
- e=t;
- break}
- if(-1!==e&&e<this.rowData.length){
- const i=this.rowData[e];
- this.icons[e].visible&&t.onHeroClick&&t.onHeroClick(i.kindNum,i.trans)}
- }
- }
- ;
- Kt(X3,"TowerHeroSelectItemRenderer"),zt(X3,"onHeroClick",null),zt(X3,"skillCodeMap",null),zt(X3,"showAttackType",!1);
- let Y3=X3;
- const J3=class extends Be{
- constructor(){
- super(),zt(this,"icon",new We),zt(this,"bg",new We),zt(this,"cover",new We),zt(this,"star",new We),zt(this,"posList",[30,26,24,19,16,13,9]),this.bg.x=3,this.bg.y=3,this.addChild(this.bg),this.icon.x=3,this.icon.y=3,this.addChild(this.icon),this.cover.x=0,this.cover.y=0,this.addChild(this.cover),this.addChild(this.star),this.setEmpty()}
- setEmpty(){
- this.bg.texture=ZA.getTexture("UI_PET","HeroFrame_1_Bg"),this.cover.texture=ZA.getTexture("UI_PET","HeroFrame_1"),this.icon.visible=!1,this.star.visible=!1}
- setPet(t,i){
- this.icon.visible=!0,this.star.visible=!0,this.icon.alpha=1,this.icon.tint=16777215,this.icon.texture=ZA.getTexture("UI_PET",`UI_PET${
- t}
- `),this.icon.width=this.icon.height=this.cover.width-6,this.icon.x=3,this.icon.y=2;
- const s=Math.max(1,Math.min(i,5));
- this.star.texture=ZA.getTextures("UI_PET","UI_UNIT_RARE")[s-1],this.star.x=this.posList[s-1],this.star.y=this.bg.height-this.star.height,this.bg.texture=ZA.getTexture("UI_PET",`HeroFrame_${
- s}
- _Bg`),this.cover.texture=ZA.getTexture("UI_PET",`HeroFrame_${
- s}
- `)}
- setInactive(t){
- this.icon.visible=!0,this.star.visible=!1,this.icon.texture=ZA.getTexture("UI_PET",`UI_PET${
- t}
- `),this.icon.width=this.icon.height=this.cover.width-6,this.icon.x=3,this.icon.y=2,this.icon.alpha=.9,this.icon.tint=11184810,this.bg.texture=ZA.getTexture("UI_PET","HeroFrame_1_Bg"),this.cover.texture=ZA.getTexture("UI_PET","HeroFrame_1")}
- get width(){
- return this.bg.width}
- get height(){
- return this.bg.height}
- showStar(){
- this.star.visible=!0}
- hideStar(){
- this.star.visible=!1}
- }
- ;
- Kt(J3,"PetIcon");
- let Q3=J3;
+ );
- t==g3.gem?(r="UI_SHOP_GEM",h=.85):t==g3.redGem?(r="UI_SHOP_RED_GEM",h=.83):t==g3.gold?(r="m_gold",h=.7):t==g3.honorCoin?(r="UI_COIN_Big",h=.8):t==g3.guildCoin||t==g3.guildPoint?(r="GUILD_COIN",h=1.6):t==g3.raidCoin?(r="RaidCoin_on",h=1.5):t==g3.hammer?(r="Icon_Hammer",o="UI",h=1.5):"dungeonTicket"==t?(r="DungeonTick",h=.8):t==g3.hero?(this.heroIcon.setDataWithKindNum(e),this.heroIcon.visible=!0):t==g3.ticket&&n==g3.heroGacha?r="Ticket_HeroGacha":t==g3.ticket&&n==g3.heroSelect?(r="Ticket_HeroSelect",h=.85):t==g3.ticket&&n==g3.heroTrans?r="Ticket_HeroTrans":t==g3.pet?(this.petIcon.setPet(e,1),this.petIcon.visible=!0):t==g3.petTicket||n==g3.petTicket||t==g3.ticket&&n==g3.pet?(r="PetTick",h=.9):t==g3.petSelect||n==g3.petSelect||t==g3.ticket&&n==g3.petSelect?(r="Ticket_PetSelect",h=.9):t==g3.ticket&&n==g3.treasureGacha?(r="Ticket_TreasureGacha",h=.95):t==g3.ticket&&n==g3.treasureTrans&&(r="Ticket_TreasureTrans6"),r&&(this.img.scale=h,this.img.texture=ZA.getTexture(o,r),this.img.visible=!0,this.bg.visible=!0),this.lblNum.text=String(i),this.updateLayout()}
+ t==f3.gem?(r="UI_SHOP_GEM",h=.85):t==f3.redGem?(r="UI_SHOP_RED_GEM",h=.83):t==f3.gold?(r="m_gold",h=.7):t==f3.honorCoin?(r="UI_COIN_Big",h=.8):t==f3.guildCoin||t==f3.guildPoint?(r="GUILD_COIN",h=1.6):t==f3.raidCoin?(r="RaidCoin_on",h=1.5):t==f3.hammer?(r="Icon_Hammer",o="UI",h=1.5):"dungeonTicket"==t?(r="DungeonTick",h=.8):t==f3.hero?(this.heroIcon.setDataWithKindNum(e),this.heroIcon.visible=!0):t==f3.ticket&&n==f3.heroGacha?r="Ticket_HeroGacha":t==f3.ticket&&n==f3.heroSelect?(r="Ticket_HeroSelect",h=.85):t==f3.trans&&n==f3.hero?r=9==this._grade?"Ticket_HeroTrans2":"Ticket_HeroTrans":t==f3.pet?(this.petIcon.setPet(e,1),this.petIcon.visible=!0):t==f3.petTicket||n==f3.petTicket||t==f3.ticket&&n==f3.pet?(r="PetTick",h=.9):t==f3.petSelect||n==f3.petSelect||t==f3.ticket&&n==f3.petSelect?(r="Ticket_PetSelect",h=.9):t==f3.ticket&&n==f3.treasureGacha?(r="Ticket_TreasureGacha",h=.95):t==f3.trans&&n==f3.treasure&&(r=7===this._grade?"Ticket_TreasureTrans7":"Ticket_TreasureTrans6"),r&&(this.img.scale=h,this.img.texture=ZA.getTexture(o,r),this.img.visible=!0,this.bg.visible=!0),this.lblNum.text=String(i),this.updateLayout()}
GolemKing 18 hunks, 467 statements
- super(...arguments),zt(this,"teleportPhase",null),zt(this,"teleportFrames",0),zt(this,"emergeSlamming",!1),zt(this,"att1SecondTick",0),zt(this,"att2Phase",null),zt(this,"att2Frames",0),zt(this,"att2ChargeX",1),zt(this,"att2ChargeY",0)}
+ super(...arguments),zt(this,"teleportPhase",null),zt(this,"teleportFrames",0),zt(this,"emergeSlamming",!1),zt(this,"att1SecondTick",0),zt(this,"att2Phase",null),zt(this,"att2Frames",0),zt(this,"att2ChargeX",1),zt(this,"att2ChargeY",0),zt(this,"att2HitCounts",new Map),zt(this,"att4Phase",null),zt(this,"att4Frames",0),zt(this,"att4BurstsFired",0),zt(this,"att4Zones",[]),zt(this,"att4Markers",[]),zt(this,"att4HitCounts",new Map),zt(this,"att3HitCount",0),zt(this,"att5HitCount",0)}
- this.spineKey="raids/raid1/Golem",this.bossScale=1.3,this.spineTimeScale=.8,this.wanderEnabled=!0,this.wanderInterval=240,this.targetSwapChance=.2,this.wanderAfterAttackChance=.25,this.syncBoneName="",this.aniIdle="idle",this.aniMove="run",this.aniDie="die",this.aniSkill0="att1",this.aniSkills=["att2","att3","att4","att5"],this.eventSkill0Hit="att1_hit",this.eventSkillHits=["att2_hit","att3_hit","att4_hit","att5_hit"],this.isAir=!1,this.hitWidth=120,this.hitHeight=180,this.weakPointBone="Head",this.weakPointOffsetX=-25,this.skillRatio=[.78,.6,.42,.26,.12,0],this.numForSkillAttack=2,this.attackOrderList=[[0,0,1,0,2,0,3,5,0,1,0,4,0,2,5,0,3,0,1,0,4,5,0,2],[0,1,0,2,5,0,3,0,4,0,1,5,0,2,0,3,0,5,1,0,4,0,2,5],[0,0,2,0,1,5,0,4,0,3,0,5,2,0,1,0,4,5,0,3,0,2,5,0]]}
+ this.spineKey="raids/raid1/Golem",this.bossScale=1.3,this.spineTimeScale=.8,this.wanderEnabled=!0,this.wanderInterval=240,this.targetSwapChance=.2,this.wanderAfterAttackChance=.25,this.syncBoneName="",this.aniIdle="idle",this.aniMove="run",this.aniDie="die",this.aniSkill0="att1",this.aniSkills=["att2","att3","att4","att5"],this.eventSkill0Hit="att1_hit",this.eventSkillHits=["att2_hit","att3_hit","att4_hit","att5_hit"],this.isAir=!1,this.hitWidth=120,this.hitHeight=180,this.weakPointBone="Head",this.weakPointOffsetX=-25,this.skillRatio=[.78,.6,.42,.26,.12,0],this.numForSkillAttack=2,this.attackOrderList=[[0,0,1,0,2,0,0,3,0,0]],this.raidPhases=[{
+ startFrame:0,label:"P1 기본기",combos:[{
+ weight:3,skills:[1,2],label:"돌진→방사"}
+ ,{
+ weight:2,skills:[2],label:"방사"}
+ ,{
+ weight:2,skills:[1],label:"돌진"}
+ ,{
+ weight:1,skills:[3],label:"낙석"}
+ ]}
+ ,{
+ startFrame:1800,label:"P2 압박",combos:[{
+ weight:3,skills:[1,2],label:"돌진→방사"}
+ ,{
+ weight:3,skills:[4,3],label:"돌기둥→낙석"}
+ ,{
+ weight:2,skills:[3],label:"낙석"}
+ ,{
+ weight:2,skills:[4],label:"돌기둥"}
+ ,{
+ weight:1,skills:[2],label:"방사"}
+ ]}
+ ,{
+ startFrame:5400,label:"P3 필살",combos:[{
+ weight:3,skills:[1,2,3],label:"돌진→방사→낙석"}
+ ,{
+ weight:3,skills:[4,3],label:"돌기둥→낙석"}
+ ,{
+ weight:2,skills:[5,3],label:"텔포→등장슬램→낙석"}
+ ,{
+ weight:2,skills:[3],label:"낙석"}
+ ]}
+ ]}
- i!==t.SKILL_TELEPORT?1!==i?super.skillN(i):this.startAtt2Charge():this.startTeleport()}
+ i!==t.SKILL_TELEPORT?1!==i?3!==i?(2===i&&(this.att3HitCount=0),4===i&&(this.att5HitCount=0),super.skillN(i)):this.startAtt4():this.startAtt2Charge():this.startTeleport()}
- this.doAtt1Damage(),this.att1SecondTick=t.ATT1_SECOND_TICK_DELAY}
+ this.doAtt1Damage()}
- this.emergeSlamming?this.emergeRadialBlow():this.radialBlow(this.x,this.y,t.ATT3_RADIUS,t.ATT3_POWER_MIN,t.ATT3_POWER_MAX,t.ATT3_VH_MIN,t.ATT3_VH_MAX)}
+ this.emergeSlamming?this.emergeRadialBlow():this.att3HitCount>=t.ATT3_MAX_HITS||(this.att3HitCount++,this.doAtt3Damage(),this.radialBlow(this.x,this.y,t.ATT3_RADIUS,t.ATT3_POWER_MIN,t.ATT3_POWER_MAX,t.ATT3_VH_MIN,t.ATT3_VH_MAX))}
+ doAtt3Damage(){
+ if(!this.enemyList)return;
+ const i=t.ATT3_RADIUS*t.ATT3_RADIUS;
+ for(const s of this.enemyList){
+ if(!s.isAlive||s.removed||s.isUntagetable)continue;
+ const e=s.x-this.x,n=s.y-this.y;
+ e*e+n*n>i||this.doDamage(s,this.random.range(t.ATT3_DAMAGE_MIN,t.ATT3_DAMAGE_MAX),!0)}
+ }
+ if(!(this.att5HitCount>=t.ATT5_MAX_HITS)){
+ this.att5HitCount++;
+ }
- getAggroCorpCenter(){
- var t,i;
- const s=this.battleController,e=(null==(t=null==s?void 0:s.getHighestAggroCorpIndex)?void 0:t.call(s))??-1;
- return e>=0?(null==(i=null==s?void 0:s.getCorpCenter)?void 0:i.call(s,e))??null:null}
+ startAtt4(){
+ if(this.att4HitCounts.clear(),this.att4Zones=this.pickAtt4Zones(),0===this.att4Zones.length)return void super.skillN(3);
+ this.spawnAtt4Markers(),this.state=ex.SKILL,this.loop=!0,this.attackCoolDown=t.ATT4_WARNING_FRAMES+t.ATT4_RAIN_BURSTS*t.ATT4_RAIN_INTERVAL+30,this.numCurrentAttack=0,this.att4Phase="warning",this.att4Frames=0,this.att4BurstsFired=0,this.resetBoneSync();
+ const i=this.playSpine(this.aniSkills[2],!0);
+ i&&(i.timeScale*=t.ATT4_ANIM_TIMESCALE)}
+ updateAtt4(){
+ if(null===this.att4Phase)return;
+ this.att4Frames++;
+ const i=Math.min(1,this.att4Frames/t.ATT4_WARNING_FRAMES);
+ for(const t of this.att4Markers)t.update(i);
+ if("warning"===this.att4Phase)return void(this.att4Frames>=t.ATT4_WARNING_FRAMES&&(this.att4Phase="rain"));
+ const s=this.att4Frames-t.ATT4_WARNING_FRAMES;
+ this.att4BurstsFired<t.ATT4_RAIN_BURSTS&&s>=this.att4BurstsFired*t.ATT4_RAIN_INTERVAL&&(this.fireStoneBurstIntoZones(),this.att4BurstsFired++),this.att4BurstsFired>=t.ATT4_RAIN_BURSTS&&s>=t.ATT4_RAIN_BURSTS*t.ATT4_RAIN_INTERVAL+24&&this.endAtt4()}
+ endAtt4(){
+ this.att4Phase=null,this.clearAtt4Markers(),this.att4HitCounts.clear(),this.gotoIdleState()}
+ fireStoneBurstIntoZones(){
+ for(const i of this.att4Zones)for(let s=0;
+ s<t.STONE_PER_ZONE_PER_BURST;
+ s++){
+ const s=this.random.next()*Math.PI*2,e=t.ATT4_ZONE_RADIUS*Math.sqrt(this.random.next());
+ this.fireGolemStoneAtPoint(i.x+Math.cos(s)*e,i.y+Math.sin(s)*e)}
+ }
+ fireGolemStoneAtPoint(i,s){
+ const e=PQ.getInstance().getWeapon(qX.GolemStone);
+ e.owner=this,e.target=null,e.x=i,e.y=this.random.range(t.STONE_SPAWN_Y_MIN,t.STONE_SPAWN_Y_MAX),e.rotation=0,e.bounceCount=0,e.hitClassName="",e.setData(this.random.range(t.STONE_DAMAGE_MIN,t.STONE_DAMAGE_MAX)),e.setGroundTarget(s,t.ATT4_AOE_RADIUS),e.setBattleController(this.battleController),e.delay=Math.floor(this.random.range(0,6)),lB.getInstance().addChild(e),e.play()}
+ spawnAtt4Markers(){
+ this.clearAtt4Markers();
+ for(const i of this.att4Zones){
+ const s=new B2;
+ s.show(i.x,i.y,t.ATT4_ZONE_RADIUS),this.att4Markers.push(s)}
+ }
+ clearAtt4Markers(){
+ for(const t of this.att4Markers)t.dispose();
+ this.att4Markers.length=0}
+ tryAtt4StoneHit(i){
+ const s=this.att4HitCounts.get(i)??0;
+ return!(s>=t.ATT4_MAX_HITS_PER_UNIT||(this.att4HitCounts.set(i,s+1),0))}
+ pickAtt4Zones(){
+ const i=[];
+ if(this.enemyList)for(const t of this.enemyList)!t.isAlive||t.removed||t.isUntagetable||i.push(t);
+ if(0===i.length)return[];
+ const s=t.ATT4_ZONE_RADIUS,e=this.densestCenterOf(i,s);
+ if(!e)return[];
+ const n=[e];
+ if(this.getRaidBattleTimeFrames()>=t.ATT4_TWO_ZONE_FRAME){
+ const t=i.filter(t=>{
+ const i=t.x-e.x,n=t.y-e.y;
+ return i*i+n*n>s*s}
+ );
+ if(t.length>0){
+ const i=this.densestCenterOf(t,s);
+ i&&n.push(i)}
+ }
+ return n}
+ densestCenterOf(t,i){
+ if(0===t.length)return null;
+ const s=i*i;
+ let e=0,n=-1;
+ for(let l=0;
+ l<t.length;
+ l++){
+ let i=0;
+ for(let e=0;
+ e<t.length;
+ e++){
+ const n=t[l].x-t[e].x,h=t[l].y-t[e].y;
+ n*n+h*h<=s&&i++}
+ i>n&&(n=i,e=l)}
+ const h=t[e].x,r=t[e].y;
+ let o=0,a=0,c=0;
+ for(const l of t){
+ const t=l.x-h,i=l.y-r;
+ t*t+i*i<=s&&(o+=l.x,a+=l.y,c++)}
+ return c>0?{
+ x:o/c,y:a/c}
+ :{
+ x:h,y:r}
+ }
+ getDensestEnemyCenter(){
+ const i=[];
+ if(this.enemyList)for(const t of this.enemyList)!t.isAlive||t.removed||t.isUntagetable||i.push(t);
+ return this.densestCenterOf(i,t.ATT2_DENSITY_RADIUS)}
- const s=this.getAggroCorpCenter();
+ const s=this.getDensestEnemyCenter();
- this.computeAtt2ChargeDir(),this.lookAt(this.att2ChargeX>=0?1:-1),this.state=ex.SKILL,this.loop=!0,this.attackCoolDown=t.ATT2_DURATION_FRAMES+10,this.numCurrentAttack=0,this.att2Phase="charge",this.att2Frames=0,this.resetBoneSync(),this.playSpine(this.aniSkills[0],!0)}
+ this.computeAtt2ChargeDir(),this.lookAt(this.att2ChargeX>=0?1:-1),this.state=ex.SKILL,this.loop=!0,this.attackCoolDown=t.ATT2_DURATION_FRAMES+10,this.numCurrentAttack=0,this.att2Phase="charge",this.att2Frames=0,this.att2HitCounts.clear(),this.resetBoneSync(),this.playSpine(this.aniSkills[0],!0)}
- const i=this.x+this.direction*t.ATT2_OFFSET_X,s=this.y,e=t.ATT2_RADIUS*t.ATT2_RADIUS;
+ const i=this.x+this.att2ChargeX*t.ATT2_OFFSET_X,s=this.y+this.att2ChargeY*t.ATT2_OFFSET_X,e=t.ATT2_RADIUS*t.ATT2_RADIUS;
- r*r+o*o>e||(this.doDamage(h,this.random.range(t.ATT2_DAMAGE_MIN,t.ATT2_DAMAGE_MAX),!0),n++)}
+ if(r*r+o*o>e)continue;
+ const a=this.att2HitCounts.get(h)??0;
+ a>=t.ATT2_MAX_HITS_PER_UNIT||(this.att2HitCounts.set(h,a+1),this.doDamage(h,this.random.range(t.ATT2_DAMAGE_MIN,t.ATT2_DAMAGE_MAX),!0),n++)}
- if(this.att1SecondTick>0&&0===--this.att1SecondTick&&this.doAtt1Damage(),"underground"!==this.teleportPhase)return"charge"===this.att2Phase&&this.state===ex.SKILL?(this.att2Frames++,this.x+=this.att2ChargeX*t.ATT2_CHARGE_SPEED,this.y+=this.att2ChargeY*t.ATT2_CHARGE_SPEED,this.att2Frames<=t.ATT2_DURATION_FRAMES&&this.att2Frames%t.ATT2_TICK_INTERVAL===1&&this.doAtt2Tick(),void(this.att2Frames>=t.ATT2_DURATION_FRAMES&&this.endAtt2())):void 0;
+ if(this.updateAtt4(),this.att1SecondTick>0&&0===--this.att1SecondTick&&this.doAtt1Damage(),"underground"!==this.teleportPhase)return"charge"===this.att2Phase&&this.state===ex.SKILL?(this.att2Frames++,this.x+=this.att2ChargeX*t.ATT2_CHARGE_SPEED,this.y+=this.att2ChargeY*t.ATT2_CHARGE_SPEED,this.att2Frames<=t.ATT2_DURATION_FRAMES&&this.att2Frames%t.ATT2_TICK_INTERVAL===1&&this.doAtt2Tick(),void(this.att2Frames>=t.ATT2_DURATION_FRAMES&&this.endAtt2())):void 0;
- this.att1SecondTick=0,this.att2Phase=null,this.teleportPhase=null,this.emergeSlamming=!1,this.attackable=!0,this.isUntagetable=!1,this.spine&&(this.spine.visible=!0)}
+ this.att1SecondTick=0,this.att2Phase=null,this.att4Phase=null,this.clearAtt4Markers(),this.att2HitCounts.clear(),this.att3HitCount=0,this.att5HitCount=0,this.teleportPhase=null,this.emergeSlamming=!1,this.attackable=!0,this.isUntagetable=!1,this.spine&&(this.spine.visible=!0)}
- super.resetForPool(),this.att1SecondTick=0,this.att2Phase=null,this.teleportPhase=null,this.teleportFrames=0,this.emergeSlamming=!1,this.attackable=!0,this.isUntagetable=!1,this.spine&&(this.spine.visible=!0)}
+ super.resetForPool(),this.att1SecondTick=0,this.att2Phase=null,this.att4Phase=null,this.att4Frames=0,this.att4BurstsFired=0,this.clearAtt4Markers(),this.att4HitCounts.clear(),this.att2HitCounts.clear(),this.att3HitCount=0,this.att5HitCount=0,this.teleportPhase=null,this.teleportFrames=0,this.emergeSlamming=!1,this.attackable=!0,this.isUntagetable=!1,this.spine&&(this.spine.visible=!0)}
- null!==this.teleportPhase||this.emergeSlamming||this.startTeleport()}
+ null!==this.teleportPhase||this.emergeSlamming||null!==this.att4Phase||this.startTeleport()}
- super.remove()}
+ this.clearAtt4Markers(),super.remove()}
- Kt(E2,"GolemKing"),zt(E2,"SKILL_TELEPORT",5),zt(E2,"BLOW_SCALE",.75*.6),zt(E2,"ATT1_CENTER_BONE","R_Arm_01"),zt(E2,"ATT1_RADIUS",200),zt(E2,"ATT1_MAX_TARGETS",80),zt(E2,"ATT1_DAMAGE_MIN",1),zt(E2,"ATT1_DAMAGE_MAX",2.5),zt(E2,"ATT1_KB_POWER_MIN",5),zt(E2,"ATT1_KB_POWER_MAX",15),zt(E2,"ATT1_KB_VH_MIN",4),zt(E2,"ATT1_KB_VH_MAX",12),zt(E2,"ATT1_SECOND_TICK_DELAY",10),zt(E2,"ATT3_RADIUS",300),zt(E2,"ATT3_POWER_MIN",3),zt(E2,"ATT3_POWER_MAX",12),zt(E2,"ATT3_VH_MIN",2),zt(E2,"ATT3_VH_MAX",10),zt(E2,"ATT5_PILLAR_RADIUS",70),zt(E2,"ATT5_MAX_TARGETS",10),zt(E2,"ATT5_DAMAGE_MIN",1.4),zt(E2,"ATT5_DAMAGE_MAX",2.8),zt(E2,"ATT5_POWER_MIN",5),zt(E2,"ATT5_POWER_MAX",12),zt(E2,"ATT5_VH_MIN",4),zt(E2,"ATT5_VH_MAX",9),zt(E2,"ATT5_PILLAR_BONES",["stone_pillar_01","stone_pillar_02","stone_pillar_03","stone_pillar_04","stone_pillar_05","stone_pillar_06","stone_pillar_07","stone_pillar_08","stone_pillar_09"]),zt(E2,"ATT2_CHARGE_SPEED",3),zt(E2,"ATT2_DURATION_FRAMES",120),zt(E2,"ATT2_TICK_INTERVAL",3),zt(E2,"ATT2_OFFSET_X",50),zt(E2,"ATT2_RADIUS",80),zt(E2,"ATT2_MAX_TARGETS",5),zt(E2,"ATT2_DAMAGE_MIN",1.5),zt(E2,"ATT2_DAMAGE_MAX",2.5),zt(E2,"TELEPORT_UNDERGROUND_FRAMES",120),zt(E2,"EMERGE_RADIUS",480),zt(E2,"EMERGE_POWER_MIN",15.2),zt(E2,"EMERGE_POWER_MAX",24.3),zt(E2,"EMERGE_VH_MIN",10.6),zt(E2,"EMERGE_VH_MAX",18.2);
+ Kt(U2,"GolemKing"),zt(U2,"SKILL_TELEPORT",5),zt(U2,"BLOW_SCALE",.75*.6),zt(U2,"ATT1_CENTER_BONE","R_Arm_01"),zt(U2,"ATT1_RADIUS",200),zt(U2,"ATT1_MAX_TARGETS",80),zt(U2,"ATT1_DAMAGE_MIN",1),zt(U2,"ATT1_DAMAGE_MAX",2),zt(U2,"ATT1_KB_POWER_MIN",5),zt(U2,"ATT1_KB_POWER_MAX",15),zt(U2,"ATT1_KB_VH_MIN",4),zt(U2,"ATT1_KB_VH_MAX",12),zt(U2,"ATT1_SECOND_TICK_DELAY",10),zt(U2,"ATT3_RADIUS",300),zt(U2,"ATT3_DAMAGE_MIN",1.5),zt(U2,"ATT3_DAMAGE_MAX",2.5),zt(U2,"ATT3_MAX_HITS",2),zt(U2,"ATT3_POWER_MIN",3),zt(U2,"ATT3_POWER_MAX",12),zt(U2,"ATT3_VH_MIN",2),zt(U2,"ATT3_VH_MAX",10),zt(U2,"ATT5_PILLAR_RADIUS",80),zt(U2,"ATT5_MAX_TARGETS",10),zt(U2,"ATT5_MAX_HITS",2),zt(U2,"ATT5_DAMAGE_MIN",1.4),zt(U2,"ATT5_DAMAGE_MAX",2.8),zt(U2,"ATT5_POWER_MIN",10),zt(U2,"ATT5_POWER_MAX",22),zt(U2,"ATT5_VH_MIN",8),zt(U2,"ATT5_VH_MAX",16),zt(U2,"ATT5_PILLAR_BONES",["stone_pillar_01","stone_pillar_02","stone_pillar_03","stone_pillar_04","stone_pillar_05","stone_pillar_06","stone_pillar_07","stone_pillar_08","stone_pillar_09"]),zt(U2,"ATT2_CHARGE_SPEED",3),zt(U2,"ATT2_DURATION_FRAMES",120),zt(U2,"ATT2_TICK_INTERVAL",3),zt(U2,"ATT2_OFFSET_X",50),zt(U2,"ATT2_RADIUS",80),zt(U2,"ATT2_MAX_TARGETS",20),zt(U2,"ATT2_DAMAGE_MIN",1.5),zt(U2,"ATT2_DAMAGE_MAX",2.5),zt(U2,"ATT2_MAX_HITS_PER_UNIT",3),zt(U2,"ATT2_DENSITY_RADIUS",300),zt(U2,"ATT4_WARNING_FRAMES",100),zt(U2,"ATT4_ANIM_TIMESCALE",.5),zt(U2,"ATT4_RAIN_BURSTS",7),zt(U2,"ATT4_RAIN_INTERVAL",4),zt(U2,"ATT4_ZONE_RADIUS",160),zt(U2,"ATT4_AOE_RADIUS",60),zt(U2,"STONE_PER_ZONE_PER_BURST",5),zt(U2,"ATT4_TWO_ZONE_FRAME",6600),zt(U2,"STONE_SPAWN_Y_MIN",-40),zt(U2,"STONE_SPAWN_Y_MAX",-20),zt(U2,"STONE_DAMAGE_MIN",1.2),zt(U2,"STONE_DAMAGE_MAX",3),zt(U2,"ATT4_MAX_HITS_PER_UNIT",8),zt(U2,"TELEPORT_UNDERGROUND_FRAMES",120),zt(U2,"EMERGE_RADIUS",480),zt(U2,"EMERGE_POWER_MIN",15.2),zt(U2,"EMERGE_POWER_MAX",24.3),zt(U2,"EMERGE_VH_MIN",10.6),zt(U2,"EMERGE_VH_MAX",18.2);
+ let F2=U2;
+ const H2=class t extends N2{
+ constructor(){
+ super(...arguments),zt(this,"att5LastShotIdx",-1),zt(this,"tornadoHookSpine",null),zt(this,"teleportPhase",null),zt(this,"teleportFrames",0),zt(this,"nextLightningFrame",t.LIGHTNING_FIRST_FRAME)}
+ initializeData2(){
+ this.spineKey="raids/raid1/Belial",this.bossScale=1,this.spineTimeScale=.8,this.wanderEnabled=!1,this.immobile=!0,this.targetSwapChance=.2,this.syncBoneName="",this.aniIdle="idle",this.aniMove="idle",this.aniDie="die",this.aniGroggy="groggy",this.aniSkill0="att_01",this.aniSkills=["att_02","att_03","att_04","att_05"],this.eventSkill0Hit="att_01_hit",this.eventSkillHits=["att_02_hit","att_03_hit","att_04_hit","att_05_hit"],this.isAir=!1,this.hitWidth=140,this.hitHeight=210,this.weakPointBone="Head",this.numForSkillAttack=2,this.skillRatio=[.78,.58,.4,.22,.08,0],this.attackOrderList=[[0,0,1,0,2,0,0,3,0,4,0,0]],this.raidPhases=[{
+ startFrame:0,label:"P1 기본기",combos:[{
+ weight:3,skills:[1],label:"연사"}
+ ,{
+ weight:2,skills:[2],label:"강타"}
+ ,{
+ weight:2,skills:[3],label:"다단"}
+ ,{
+ weight:1,skills:[4],label:"난사"}
+ ]}
+ ,{
+ startFrame:1800,label:"P2 압박",combos:[{
+ weight:3,skills:[2,1],label:"강타→연사"}
+ ,{
+ weight:3,skills:[3],label:"다단"}
+ ,{
+ weight:2,skills:[4],label:"난사"}
+ ,{
+ weight:2,skills:[1],label:"연사"}
+ ,{
+ weight:1,skills:[5],label:"텔포"}
+ ]}
+ ,{
+ startFrame:5400,label:"P3 필살",combos:[{
+ weight:3,skills:[2,4],label:"강타→난사"}
+ ,{
+ weight:3,skills:[5,3],label:"텔포→다단"}
+ ,{
+ weight:2,skills:[3,1],label:"다단→연사"}
+ ,{
+ weight:2,skills:[4],label:"난사"}
+ ]}
+ ]}
+ aoeDamage(t,i,s,e,n,h){
+ if(!this.enemyList)return;
+ const r=s*s;
+ let o=0;
+ for(const a of this.enemyList){
+ if(o>=h)break;
+ if(!a.isAlive||a.removed||a.isUntagetable)continue;
+ const s=a.x-t,c=a.y-i;
+ s*s+c*c>r||(this.doDamage(a,this.random.range(e,n),!0),o++)}
+ }
+ radialBlow(i,s,e,n,h,r,o){
+ if(!this.enemyList)return;
+ const a=e*e;
+ for(const c of this.enemyList){
+ if(!c.isAlive||c.isImmovable)continue;
+ const e=c.x-i,l=c.y-s,u=e*e+l*l;
+ if(u>a)continue;
+ const d=Math.sqrt(u);
+ let f,p;
+ if(d<.01){
+ const t=this.random.next()*Math.PI*2;
+ f=Math.cos(t),p=Math.sin(t)}
+ else f=e/d,p=l/d;
+ const g=t.BLOW_SCALE,m=(n+this.random.next()*(h-n))*g,w=-(r+this.random.next()*(o-r))*g;
+ c.blow(f*m,p*m,w)}
+ }
+ getAggroCorpCenter(){
+ var t,i;
+ const s=this.battleController,e=(null==(t=null==s?void 0:s.getHighestAggroCorpIndex)?void 0:t.call(s))??-1;
+ return e>=0?(null==(i=null==s?void 0:s.getCorpCenter)?void 0:i.call(s,e))??null:null}
+ getEnemyCentroid(){
+ if(!this.enemyList)return null;
+ let t=0,i=0,s=0;
+ for(const e of this.enemyList)!e.isAlive||e.removed||e.isUntagetable||(t+=e.x,i+=e.y,s++);
+ return s>0?{
+ x:t/s,y:i/s}
+ :null}
+ attackMain(){
+ this.aoeDamage(this.x,this.y,t.ATT1_RADIUS,t.ATT1_DAMAGE_MIN,t.ATT1_DAMAGE_MAX,t.ATT1_MAX_TARGETS),this.radialBlow(this.x,this.y,t.ATT1_RADIUS,4,9,3,7)}
+ skillMain1(){
+ const i=this.getBoneWorld(t.ATT2_FIRE_BONE)??{
+ x:this.x,y:this.y}
+ ,s=[];
+ if(this.enemyList){
+ const e=t.ATT2_TARGET_RADIUS*t.ATT2_TARGET_RADIUS;
+ for(const t of this.enemyList){
+ if(t.removed||!t.isAlive||t.isUntagetable)continue;
+ const n=t.x-i.x,h=t.y-i.y;
+ n*n+h*h<=e&&s.push(t)}
+ }
+ if(0!==s.length)for(let e=0;
+ e<t.ATT2_FIRE_PER_HIT;
+ e++){
+ const e=s[this.random.nextInt(s.length)],n=PQ.getInstance().getWeapon(qX.BerialFire);
+ n.owner=this,n.x=i.x,n.y=i.y,n.setBattleController(this.battleController),n.setData(this.random.range(t.ATT2_FIRE_DAMAGE_MIN,t.ATT2_FIRE_DAMAGE_MAX)),lB.getInstance().addChild(n),n.fireAtTarget(e)}
+ }
+ skillMain2(){
+ this.aoeDamage(this.x,this.y,t.ATT3_RADIUS,t.ATT3_DAMAGE_MIN,t.ATT3_DAMAGE_MAX,t.ATT3_MAX_TARGETS),this.radialBlow(this.x,this.y,t.ATT3_RADIUS,10,20,8,16)}
+ skillMain3(){
+ }
+ skillMain4(){
+ }
+ updateLightningArea(){
+ this.getRaidBattleTimeFrames()<this.nextLightningFrame||(this.nextLightningFrame+=t.LIGHTNING_CYCLE_FRAMES,this.spawnLightningArea())}
+ spawnLightningArea(){
+ const t=this.getAggroCorpCenter()??this.getEnemyCentroid();
+ if(!t)return;
+ const i=PQ.getInstance().getWeapon(qX.BerialLightningArea);
+ i.owner=this,i.x=t.x,i.y=t.y,i.setBattleController(this.battleController),i.setData(1),i.play()}
+ skillN(i){
+ i!==t.SKILL_TELEPORT?(4===i&&(this.att5LastShotIdx=-1),super.skillN(i)):this.startTeleport()}
+ startTeleport(){
+ this.state=ex.SKILL,this.loop=!1,this.attackCoolDown=this.atkDuration,this.numCurrentAttack=0,this.attackable=!1,this.isUntagetable=!0,this.teleportPhase="out",this.teleportFrames=0,this.resetBoneSync(),this.playSpine("teleport_out",!1)}
+ relocateForTeleport(){
+ const t=this.wanderMinX+this.random.next()*(this.wanderMaxX-this.wanderMinX),i=this.wanderMinY+this.random.next()*(this.wanderMaxY-this.wanderMinY);
+ this.x=t,this.y=i,this.tx=t,this.ty=i,this.resetBoneSync(),this.faceMajorityEnemies()}
+ ensureTornadoHook(){
+ if(!this.spine||this.tornadoHookSpine===this.spine)return;
+ this.tornadoHookSpine=this.spine;
+ const i=this.spine.beforeUpdateWorldTransforms;
+ this.spine.beforeUpdateWorldTransforms=s=>{
+ var e;
+ null==i||i(s);
+ const n=this.spine;
+ if(!n)return;
+ if(this.getRaidBattleTimeFrames()>=t.ATT1_TORNADO_START_FRAME)return;
+ const h=n.state.getCurrent(0);
+ if("att_01"!==(null==(e=null==h?void 0:h.animation)?void 0:e.name))return;
+ const r=n.skeleton.findSlot(t.ATT1_TORNADO_SLOT);
+ r&&(r.color.a=0)}
+ }
+ suckTornado(){
+ if(!this.enemyList)return;
+ const i=this.getSlotWorldCenter(t.ATT1_TORNADO_SLOT)??this.getBoneWorld(t.ATT1_TORNADO_SLOT)??{
+ x:this.x,y:this.y}
+ ,s=t.ATT1_SUCK_RADIUS*t.ATT1_SUCK_RADIUS;
+ for(const e of this.enemyList){
+ if(e.removed||!e.isAlive||e.isUntagetable||e.isImmovable||e.knockImmune)continue;
+ const n=i.x-e.x,h=i.y-e.y,r=n*n+h*h;
+ if(r>s||r<1)continue;
+ const o=Math.sqrt(r),a=Math.min(t.ATT1_SUCK_SPEED,o);
+ e.x+=n/o*a,e.y+=h/o*a,e.tx=e.x,e.ty=e.y}
+ }
+ att4TornadoTick(){
+ if(!this.enemyList)return;
+ const i=this.getSlotWorldCenter(t.ATT1_TORNADO_SLOT)??this.getBoneWorld(t.ATT1_TORNADO_SLOT)??{
+ x:this.x,y:this.y}
+ ,s=t.ATT4_TORNADO_RADIUS*t.ATT4_TORNADO_RADIUS;
+ for(const e of this.enemyList){
+ if(e.removed||!e.isAlive||e.isUntagetable)continue;
+ const n=i.x-e.x,h=i.y-e.y,r=n*n+h*h;
+ if(!(r>s)&&(this.doDamage(e,this.random.range(t.ATT4_DAMAGE_MIN,t.ATT4_DAMAGE_MAX),!0),r>=1&&!e.isImmovable&&!e.knockImmune)){
+ const i=Math.sqrt(r),s=Math.min(t.ATT4_SUCK_SPEED,i);
+ e.x+=n/i*s,e.y+=h/i*s,e.tx=e.x,e.ty=e.y}
+ }
+ }
+ att5Volley(){
+ if(!this.enemyList)return;
+ const i=t.ATT5_RADIUS*t.ATT5_RADIUS,s=[];
+ for(const t of this.enemyList){
+ if(t.removed||!t.isAlive||t.isUntagetable)continue;
+ const e=t.x-this.x,n=t.y-this.y;
+ e*e+n*n<=i&&s.push(t)}
+ const e=Math.min(t.ATT5_TARGETS,s.length);
+ for(let n=0;
+ n<e;
+ n++){
+ const i=n+this.random.nextInt(s.length-n),e=s[n];
+ s[n]=s[i],s[i]=e,this.doDamage(s[n],this.random.range(t.ATT5_DAMAGE_MIN,t.ATT5_DAMAGE_MAX),!0)}
+ }
+ execute(){
+ var i,s,e,n,h,r,o;
+ if(this.executeRaidStunFrame())return;
+ if(super.execute(),!this.isAlive)return;
+ this.ensureTornadoHook(),this.getRaidBattleTimeFrames()>=t.ATT1_TORNADO_START_FRAME&&"att_01"===(null==(e=null==(s=null==(i=this.spine)?void 0:i.state.getCurrent(0))?void 0:s.animation)?void 0:e.name)&&this.suckTornado();
+ const a=null==(n=this.spine)?void 0:n.state.getCurrent(0);
+ if("att_04"===(null==(h=null==a?void 0:a.animation)?void 0:h.name)){
+ const i=30*a.trackTime;
+ i>=t.ATT4_TORNADO_START_F&&i<=t.ATT4_TORNADO_END_F&&this.att4TornadoTick()}
+ const c=null==(r=this.spine)?void 0:r.state.getCurrent(0);
+ if("att_05"===(null==(o=null==c?void 0:c.animation)?void 0:o.name)){
+ const i=30*c.trackTime;
+ if(i>=t.ATT5_START_F&&i<=t.ATT5_END_F){
+ const s=Math.floor((i-t.ATT5_START_F)/t.ATT5_INTERVAL_F);
+ s!==this.att5LastShotIdx&&(this.att5LastShotIdx=s,this.att5Volley())}
+ }
+ this.updateLightningArea(),"underground"!==this.teleportPhase||++this.teleportFrames>=t.TELEPORT_UNDERGROUND_FRAMES&&(this.spine&&(this.spine.visible=!0),this.isUntagetable=!1,this.attackable=!0,this.teleportPhase="in",this.resetBoneSync(),this.faceMajorityEnemies(),this.playSpine("teleport_in",!1))}
+ onSpineAnimationComplete(t){
+ var i;
+ const s=(null==(i=t.animation)?void 0:i.name)??"";
+ return"teleport_out"===s?(this.relocateForTeleport(),this.spine&&(this.spine.visible=!1),this.teleportPhase="underground",void(this.teleportFrames=0)):"teleport_in"===s?(this.teleportPhase=null,void this.gotoIdleState()):void super.onSpineAnimationComplete(t)}
+ onRaidStunStart(){
+ this.teleportPhase=null,this.attackable=!0,this.isUntagetable=!1,this.spine&&(this.spine.visible=!0)}
+ resetForPool(){
+ super.resetForPool(),this.teleportPhase=null,this.teleportFrames=0,this.nextLightningFrame=t.LIGHTNING_FIRST_FRAME,this.attackable=!0,this.isUntagetable=!1,this.spine&&(this.spine.visible=!0)}
+ escapeSkill(){
+ null===this.teleportPhase&&this.startTeleport()}
+ }
+ ;
+ Kt(H2,"BerialKing"),zt(H2,"SKILL_TELEPORT",5),zt(H2,"BLOW_SCALE",.45),zt(H2,"ATT1_RADIUS",250),zt(H2,"ATT1_MAX_TARGETS",40),zt(H2,"ATT1_DAMAGE_MIN",1),zt(H2,"ATT1_DAMAGE_MAX",2),zt(H2,"ATT2_FIRE_BONE","magic_circle_fx01"),zt(H2,"ATT2_FIRE_PER_HIT",5),zt(H2,"ATT2_TARGET_RADIUS",220),zt(H2,"ATT2_FIRE_DAMAGE_MIN",1),zt(H2,"ATT2_FIRE_DAMAGE_MAX",2),zt(H2,"ATT3_RADIUS",360),zt(H2,"ATT3_MAX_TARGETS",60),zt(H2,"ATT3_DAMAGE_MIN",1.5),zt(H2,"ATT3_DAMAGE_MAX",3),zt(H2,"ATT4_TORNADO_START_F",24),zt(H2,"ATT4_TORNADO_END_F",64),zt(H2,"ATT4_TORNADO_RADIUS",200),zt(H2,"ATT4_SUCK_SPEED",2),zt(H2,"ATT4_DAMAGE_MIN",.1),zt(H2,"ATT4_DAMAGE_MAX",.3),zt(H2,"ATT5_RADIUS",220),zt(H2,"ATT5_START_F",24),zt(H2,"ATT5_END_F",72),zt(H2,"ATT5_INTERVAL_F",4),zt(H2,"ATT5_TARGETS",10),zt(H2,"ATT5_DAMAGE_MIN",1),zt(H2,"ATT5_DAMAGE_MAX",3),zt(H2,"LIGHTNING_FIRST_FRAME",420),zt(H2,"LIGHTNING_CYCLE_FRAMES",1200),zt(H2,"TELEPORT_UNDERGROUND_FRAMES",90),zt(H2,"ATT1_TORNADO_SLOT","tornado_fx01"),zt(H2,"ATT1_TORNADO_START_FRAME",5400),zt(H2,"ATT1_SUCK_RADIUS",150),zt(H2,"ATT1_SUCK_SPEED",1.5);
+ let W2=H2;
+ const j2=class t extends N2{
+ constructor(){
+ super(...arguments),zt(this,"teleportPhase",null),zt(this,"teleportFrames",0),zt(this,"warningCircle",null),zt(this,"warningElapsed",0),zt(this,"isSummoning",!1)}
+ initializeData2(){
+ this.spineKey="raids/raid1/Ancient_DragonKnight",this.bossScale=1.15,this.spineTimeScale=.8,this.wanderEnabled=!1,this.immobile=!0,this.targetSwapChance=.2,this.syncBoneName="",this.aniIdle="idle",this.aniMove="idle",this.aniDie="groggy",this.aniGroggy="groggy",this.aniSkill0="att_01",this.aniSkills=["att_02","att_03","att_04","att_05","att_05","att_05"],this.eventSkill0Hit="att_01_hit",this.eventSkillHits=["att_02_hit","att_03_hit","att_04_hit","att_05_hit","att_05_hit","att_05_hit"],this.isAir=!1,this.hitWidth=80,this.hitHeight=120,this.weakPointBone="head",this.weakPointOffsetY=-35,this.numForSkillAttack=2,this.skillRatio=[.78,.58,.4,.22,.12,.08,.04,0],this.attackOrderList=[[0,0,1,0,2,0,0,3,0,4,0,5,0,6,0]],this.raidPhases=[{
+ startFrame:0,label:"P1 기본기",combos:[{
+ weight:3,skills:[1],label:"군단폭격"}
+ ,{
+ weight:2,skills:[2],label:"강타"}
+ ,{
+ weight:2,skills:[3],label:"다단"}
+ ,{
+ weight:1,skills:[4],label:"난사"}
+ ]}
+ ,{
+ startFrame:1800,label:"P2 압박",combos:[{
+ weight:3,skills:[2,1],label:"강타→폭격"}
+ ,{
+ weight:3,skills:[5],label:"브레스1"}
+ ,{
+ weight:2,skills:[4],label:"난사"}
+ ,{
+ weight:2,skills:[3],label:"다단"}
+ ,{
+ weight:1,skills:[7],label:"텔포"}
+ ]}
+ ,{
+ startFrame:5400,label:"P3 필살",combos:[{
+ weight:3,skills:[2,6],label:"강타→브레스2"}
+ ,{
+ weight:3,skills:[7,3],label:"텔포→다단"}
+ ,{
+ weight:2,skills:[5,4],label:"브레스1→난사"}
+ ,{
+ weight:2,skills:[6],label:"브레스2"}
+ ]}
+ ]}
+ aoeDamage(t,i,s,e,n,h){
+ if(!this.enemyList)return;
+ const r=s*s;
+ let o=0;
+ for(const a of this.enemyList){
+ if(o>=h)break;
+ if(!a.isAlive||a.removed||a.isUntagetable)continue;
+ const s=a.x-t,c=a.y-i;
+ s*s+c*c>r||(this.doDamage(a,this.random.range(e,n),!0),o++)}
+ }
+ radialBlow(i,s,e,n,h,r,o){
+ if(!this.enemyList)return;
+ const a=e*e;
+ for(const c of this.enemyList){
+ if(!c.isAlive||c.isImmovable)continue;
+ const e=c.x-i,l=c.y-s,u=e*e+l*l;
+ if(u>a)continue;
+ const d=Math.sqrt(u);
+ let f,p;
+ if(d<.01){
+ const t=this.random.next()*Math.PI*2;
+ f=Math.cos(t),p=Math.sin(t)}
+ else f=e/d,p=l/d;
+ const g=t.BLOW_SCALE,m=(n+this.random.next()*(h-n))*g,w=-(r+this.random.next()*(o-r))*g;
+ c.blow(f*m,p*m,w)}
+ }
+ getAggroCorpCenter(){
+ var t,i;
+ const s=this.battleController,e=(null==(t=null==s?void 0:s.getHighestAggroCorpIndex)?void 0:t.call(s))??-1;
+ return e>=0?(null==(i=null==s?void 0:s.getCorpCenter)?void 0:i.call(s,e))??null:null}
+ getEnemyCentroid(){
+ if(!this.enemyList)return null;
+ let t=0,i=0,s=0;
+ for(const e of this.enemyList)!e.isAlive||e.removed||e.isUntagetable||(t+=e.x,i+=e.y,s++);
+ return s>0?{
+ x:t/s,y:i/s}
+ :null}
+ attackMain(){
+ this.aoeDamage(this.x,this.y,t.ATT1_RADIUS,t.ATT1_DAMAGE_MIN,t.ATT1_DAMAGE_MAX,t.ATT1_MAX_TARGETS),this.radialBlow(this.x,this.y,t.ATT1_RADIUS,4,9,3,7)}
+ skillMain1(){
+ const i=this.getAggroCorpCenter()??this.getEnemyCentroid();
+ i&&this.aoeDamage(i.x,i.y,t.ATT2_RADIUS,t.ATT2_DAMAGE_MIN,t.ATT2_DAMAGE_MAX,t.ATT2_MAX_TARGETS)}
+ skillMain2(){
+ this.aoeDamage(this.x,this.y,t.ATT3_RADIUS,t.ATT3_DAMAGE_MIN,t.ATT3_DAMAGE_MAX,t.ATT3_MAX_TARGETS),this.radialBlow(this.x,this.y,t.ATT3_RADIUS,10,20,8,16)}
+ skillMain3(){
+ const i=this.getEnemyCentroid();
+ i&&this.aoeDamage(i.x,i.y,t.ATT4_RADIUS,t.ATT4_DAMAGE_MIN,t.ATT4_DAMAGE_MAX,t.ATT4_MAX_TARGETS)}
+ skillMain4(){
+ this.isSummoning||this.aoeDamage(this.x,this.y,t.ATT5_RADIUS,t.ATT5_DAMAGE_MIN,t.ATT5_DAMAGE_MAX,t.ATT5_MAX_TARGETS)}
+ skillN(i){
+ if(i!==t.SKILL_TELEPORT)return i===t.SKILL_SUMMON_1||i===t.SKILL_SUMMON_2?(this.isSummoning=!0,this.summonDragon(i===t.SKILL_SUMMON_1?1:2),void super.skillN(i)):void super.skillN(i);
+ this.startTeleport()}
+ summonDragon(t){
+ const i=this.getAggroCorpCenter()??this.getEnemyCentroid();
+ if(!i)return;
+ const s=PQ.getInstance().getWeapon(qX.SummonDragon);
+ s.owner=this,s.x=i.x,s.y=i.y,s.setBattleController(this.battleController),s.setData(1),s.setBreath(t),s.play()}
+ startTeleport(){
+ this.state=ex.SKILL,this.loop=!1,this.attackCoolDown=this.atkDuration,this.numCurrentAttack=0,this.attackable=!1,this.isUntagetable=!0,this.releaseEnemyTargets(),this.teleportPhase="out",this.teleportFrames=0,this.resetBoneSync(),this.playSpine("teleport_out",!1)}
+ relocateForTeleport(){
+ const i=this.getAggroCorpCenter()??this.getEnemyCentroid(),s=i?i.x:this.wanderMinX+this.random.next()*(this.wanderMaxX-this.wanderMinX),e=i?i.y:this.wanderMinY+this.random.next()*(this.wanderMaxY-this.wanderMinY);
+ this.x=s,this.y=e,this.tx=s,this.ty=e,this.resetBoneSync(),this.faceMajorityEnemies(),this.warningCircle||(this.warningCircle=new B2),this.warningCircle.show(s,e,t.SLAM_RADIUS),this.warningElapsed=0}
+ execute(){
+ var i,s;
+ if(!this.executeRaidStunFrame()&&(super.execute(),this.isAlive)){
+ if(this.warningCircle&&(this.warningElapsed++,this.warningCircle.update(this.warningElapsed/t.TELEPORT_UNDERGROUND_FRAMES)),"in"===this.teleportPhase&&this.isUntagetable){
+ const e=null==(i=this.spine)?void 0:i.state.getCurrent(0);
+ "teleport_in"===(null==(s=null==e?void 0:e.animation)?void 0:s.name)&&30*e.trackTime>=t.TELEPORT_REVEAL_FRAME&&(this.isUntagetable=!1)}
+ "underground"!==this.teleportPhase||++this.teleportFrames>=t.TELEPORT_UNDERGROUND_FRAMES&&(this.spine&&(this.spine.visible=!0),this.attackable=!0,this.teleportPhase="in",this.resetBoneSync(),this.faceMajorityEnemies(),this.playSpine("teleport_in",!1))}
+ }
+ onSpineAnimationComplete(t){
+ var i;
+ const s=(null==(i=t.animation)?void 0:i.name)??"";
+ return"att_05"===s&&(this.isSummoning=!1),"teleport_out"===s?(this.relocateForTeleport(),this.spine&&(this.spine.visible=!1),this.teleportPhase="underground",void(this.teleportFrames=0)):"teleport_in"===s?(this.teleportPhase=null,void this.gotoIdleState()):void super.onSpineAnimationComplete(t)}
+ onSpineEvent(t){
+ "teleport_in_hit"!==t?super.onSpineEvent(t):this.doTeleportSlam()}
+ doTeleportSlam(){
+ this.aoeDamage(this.x,this.y,t.SLAM_RADIUS,t.SLAM_DAMAGE_MIN,t.SLAM_DAMAGE_MAX,t.SLAM_MAX_TARGETS),this.radialBlow(this.x,this.y,t.SLAM_RADIUS,14,26,12,22),this.clearWarningCircle()}
+ clearWarningCircle(){
+ this.warningCircle&&(this.warningCircle.dispose(),this.warningCircle=null)}
+ onRaidStunStart(){
+ this.teleportPhase=null,this.isSummoning=!1,this.clearWarningCircle(),this.attackable=!0,this.isUntagetable=!1,this.spine&&(this.spine.visible=!0)}
+ resetForPool(){
+ super.resetForPool(),this.teleportPhase=null,this.teleportFrames=0,this.isSummoning=!1,this.clearWarningCircle(),this.attackable=!0,this.isUntagetable=!1,this.spine&&(this.spine.visible=!0)}
+ escapeSkill(){
+ null===this.teleportPhase&&this.startTeleport()}
+ }
+ ;
+ Kt(j2,"DragonKnight"),zt(j2,"SKILL_TELEPORT",7),zt(j2,"SKILL_SUMMON_1",5),zt(j2,"SKILL_SUMMON_2",6),zt(j2,"BLOW_SCALE",.45),zt(j2,"ATT1_RADIUS",250),zt(j2,"ATT1_MAX_TARGETS",40),zt(j2,"ATT1_DAMAGE_MIN",1),zt(j2,"ATT1_DAMAGE_MAX",2),zt(j2,"ATT2_RADIUS",120),zt(j2,"ATT2_MAX_TARGETS",14),zt(j2,"ATT2_DAMAGE_MIN",.4),zt(j2,"ATT2_DAMAGE_MAX",.8),zt(j2,"ATT3_RADIUS",360),zt(j2,"ATT3_MAX_TARGETS",60),zt(j2,"ATT3_DAMAGE_MIN",1.5),zt(j2,"ATT3_DAMAGE_MAX",3),zt(j2,"ATT4_RADIUS",140),zt(j2,"ATT4_MAX_TARGETS",16),zt(j2,"ATT4_DAMAGE_MIN",.6),zt(j2,"ATT4_DAMAGE_MAX",1.2),zt(j2,"ATT5_RADIUS",220),zt(j2,"ATT5_MAX_TARGETS",25),zt(j2,"ATT5_DAMAGE_MIN",.5),zt(j2,"ATT5_DAMAGE_MAX",1),zt(j2,"TELEPORT_UNDERGROUND_FRAMES",90),zt(j2,"TELEPORT_REVEAL_FRAME",12),zt(j2,"SLAM_RADIUS",200),zt(j2,"SLAM_MAX_TARGETS",80),zt(j2,"SLAM_DAMAGE_MIN",2.5),zt(j2,"SLAM_DAMAGE_MAX",4.5);
CorpFlag 6 hunks, 392 statements
+ var J8="in vec2 aPosition;
+ \nout vec2 vTextureCoord;
+ \n\nuniform vec4 uInputSize;
+ \nuniform vec4 uOutputFrame;
+ \nuniform vec4 uOutputTexture;
+ \n\nvec4 filterVertexPosition( void )\n{
+ \n    vec2 position = aPosition * uOutputFrame.zw + uOutputFrame.xy;
+ \n    \n    position.x = position.x * (2.0 / uOutputTexture.x) - 1.0;
+ \n    position.y = position.y * (2.0*uOutputTexture.z / uOutputTexture.y) - uOutputTexture.z;
+ \n\n    return vec4(position, 0.0, 1.0);
+ \n}
+ \n\nvec2 filterTextureCoord( void )\n{
+ \n    return aPosition * (uOutputFrame.zw * uInputSize.zw);
+ \n}
+ \n\nvoid main(void)\n{
+ \n    gl_Position = filterVertexPosition();
+ \n    vTextureCoord = filterTextureCoord();
+ \n}
+ \n",Q8="struct GlobalFilterUniforms {
+ \n  uInputSize:vec4<f32>,\n  uInputPixel:vec4<f32>,\n  uInputClamp:vec4<f32>,\n  uOutputFrame:vec4<f32>,\n  uGlobalFrame:vec4<f32>,\n  uOutputTexture:vec4<f32>,\n}
+ ;
+ \n\n@group(0) @binding(0) var<uniform> gfu: GlobalFilterUniforms;
+ \n\nstruct VSOutput {
+ \n    @builtin(position) position: vec4<f32>,\n    @location(0) uv : vec2<f32>\n  }
+ ;
+ \n\nfn filterVertexPosition(aPosition:vec2<f32>) -> vec4<f32>\n{
+ \n    var position = aPosition * gfu.uOutputFrame.zw + gfu.uOutputFrame.xy;
+ \n\n    position.x = position.x * (2.0 / gfu.uOutputTexture.x) - 1.0;
+ \n    position.y = position.y * (2.0*gfu.uOutputTexture.z / gfu.uOutputTexture.y) - gfu.uOutputTexture.z;
+ \n\n    return vec4(position, 0.0, 1.0);
+ \n}
+ \n\nfn filterTextureCoord( aPosition:vec2<f32> ) -> vec2<f32>\n{
+ \n    return aPosition * (gfu.uOutputFrame.zw * gfu.uInputSize.zw);
+ \n}
+ \n\nfn globalTextureCoord( aPosition:vec2<f32> ) -> vec2<f32>\n{
+ \n  return  (aPosition.xy / gfu.uGlobalFrame.zw) + (gfu.uGlobalFrame.xy / gfu.uGlobalFrame.zw);
+   \n}
+ \n\nfn getSize() -> vec2<f32>\n{
+ \n  return gfu.uGlobalFrame.zw;
+ \n}
+ \n  \n@vertex\nfn mainVertex(\n  @location(0) aPosition : vec2<f32>, \n) -> VSOutput {
+ \n  return VSOutput(\n   filterVertexPosition(aPosition),\n   filterTextureCoord(aPosition)\n  );
+ \n}
+ ",Z8=Object.defineProperty,t7=Kt((t,i,s)=>i in t?Z8(t,i,{
+ enumerable:!0,configurable:!0,writable:!0,value:s}
+ ):t[i]=s,"__defNormalProp$2"),i7=Kt((t,i,s)=>(t7(t,"symbol"!=typeof i?i+"":i,s),s),"__publicField$2");
+ const s7=(Kt(Q=class extends or{
+ constructor(t){
+ const i=(t={
+ ...Q.DEFAULT_OPTIONS,...t}
+ ).distance??10,s=t.quality??.1;
+ super({
+ gpuProgram:Kh.from({
+ vertex:{
+ source:Q8,entryPoint:"mainVertex"}
+ ,fragment:{
+ source:"struct GlowUniforms {
+ \n  uDistance: f32,\n  uStrength: vec2<f32>,\n  uColor: vec3<f32>,\n  uAlpha: f32,\n  uQuality: f32,\n  uKnockout: f32,\n}
+ ;
+ \n\nstruct GlobalFilterUniforms {
+ \n  uInputSize:vec4<f32>,\n  uInputPixel:vec4<f32>,\n  uInputClamp:vec4<f32>,\n  uOutputFrame:vec4<f32>,\n  uGlobalFrame:vec4<f32>,\n  uOutputTexture:vec4<f32>,\n}
+ ;
+ \n\n@group(0) @binding(0) var<uniform> gfu: GlobalFilterUniforms;
+ \n\n@group(0) @binding(1) var uTexture: texture_2d<f32>;
+  \n@group(0) @binding(2) var uSampler: sampler;
+ \n@group(1) @binding(0) var<uniform> glowUniforms : GlowUniforms;
+ \n\n@fragment\nfn mainFragment(\n  @builtin(position) position: vec4<f32>,\n  @location(0) uv : vec2<f32>\n) -> @location(0) vec4<f32> {
+ \n  let quality = glowUniforms.uQuality;
+ \n  let distance = glowUniforms.uDistance;
+ \n\n  let dist: f32 = glowUniforms.uDistance;
+ \n  let angleStepSize: f32 = min(1. / quality / distance, PI * 2.0);
+ \n  let angleStepNum: f32 = ceil(PI * 2.0 / angleStepSize);
+ \n\n  let px: vec2<f32> = vec2<f32>(1.0 / gfu.uInputSize.xy);
+ \n\n  var totalAlpha: f32 = 0.0;
+ \n\n  var direction: vec2<f32>;
+ \n  var displaced: vec2<f32>;
+ \n  var curColor: vec4<f32>;
+ \n\n  for (var angle = 0.0;
+  angle < PI * 2.0;
+  angle += angleStepSize) {
+ \n    direction = vec2<f32>(cos(angle), sin(angle)) * px;
+ \n    for (var curDistance = 0.0;
+  curDistance < dist;
+  curDistance+=1) {
+ \n      displaced = vec2<f32>(clamp(uv + direction * (curDistance + 1.0), gfu.uInputClamp.xy, gfu.uInputClamp.zw));
+ \n      curColor = textureSample(uTexture, uSampler, displaced);
+ \n      totalAlpha += (dist - curDistance) * curColor.a;
+ \n    }
+ \n  }
+ \n    \n  curColor = textureSample(uTexture, uSampler, uv);
+ \n\n  let glowColorRGB = glowUniforms.uColor;
+ \n  let glowAlpha = glowUniforms.uAlpha;
+ \n  let glowColor = vec4<f32>(glowColorRGB, glowAlpha);
+ \n  let knockout: bool = glowUniforms.uKnockout > 0.5;
+ \n  let innerStrength = glowUniforms.uStrength[0];
+ \n  let outerStrength = glowUniforms.uStrength[1];
+ \n\n  let alphaRatio: f32 = (totalAlpha / (angleStepNum * dist * (dist + 1.0) / 2.0));
+ \n  let innerGlowAlpha: f32 = (1.0 - alphaRatio) * innerStrength * curColor.a * glowAlpha;
+ \n  let innerGlowStrength: f32 = min(1.0, innerGlowAlpha);
+ \n  \n  let innerColor: vec4<f32> = mix(curColor, glowColor, innerGlowStrength);
+ \n  let outerGlowAlpha: f32 = alphaRatio * outerStrength * (1. - curColor.a) * glowAlpha;
+ \n  let outerGlowStrength: f32 = min(1.0 - innerColor.a, outerGlowAlpha);
+ \n  let outerGlowColor: vec4<f32> = outerGlowStrength * glowColor.rgba;
+ \n  \n  if (knockout) {
+ \n    let resultAlpha: f32 = outerGlowAlpha + innerGlowAlpha;
+ \n    return vec4<f32>(glowColor.rgb * resultAlpha, resultAlpha);
+ \n  }
+ \n  else {
+ \n    return innerColor + outerGlowColor;
+ \n  }
+ \n}
+ \n\nconst PI: f32 = 3.14159265358979323846264;
+ ",entryPoint:"mainFragment"}
+ }
+ ),glProgram:xh.from({
+ vertex:J8,fragment:"precision highp float;
+ \nin vec2 vTextureCoord;
+ \nout vec4 finalColor;
+ \n\nuniform sampler2D uTexture;
+ \nuniform vec2 uStrength;
+ \nuniform vec3 uColor;
+ \nuniform float uKnockout;
+ \nuniform float uAlpha;
+ \n\nuniform vec4 uInputSize;
+ \nuniform vec4 uInputClamp;
+ \n\nconst float PI = 3.14159265358979323846264;
+ \n\n// Hard-assignment of DIST and ANGLE_STEP_SIZE instead of using uDistance and uQuality to allow them to be use on GLSL loop conditions\nconst float DIST = __DIST__;
+ \nconst float ANGLE_STEP_SIZE = min(__ANGLE_STEP_SIZE__, PI * 2.);
+ \nconst float ANGLE_STEP_NUM = ceil(PI * 2. / ANGLE_STEP_SIZE);
+ \nconst float MAX_TOTAL_ALPHA = ANGLE_STEP_NUM * DIST * (DIST + 1.) / 2.;
+ \n\nvoid main(void) {
+ \n    vec2 px = vec2(1.) / uInputSize.xy;
+ \n\n    float totalAlpha = 0.;
+ \n\n    vec2 direction;
+ \n    vec2 displaced;
+ \n    vec4 curColor;
+ \n\n    for (float angle = 0.;
+  angle < PI * 2.;
+  angle += ANGLE_STEP_SIZE) {
+ \n      direction = vec2(cos(angle), sin(angle)) * px;
+ \n\n      for (float curDistance = 0.;
+  curDistance < DIST;
+  curDistance++) {
+ \n          displaced = clamp(vTextureCoord + direction * (curDistance + 1.), uInputClamp.xy, uInputClamp.zw);
+ \n          curColor = texture(uTexture, displaced);
+ \n          totalAlpha += (DIST - curDistance) * curColor.a;
+ \n      }
+ \n    }
+ \n    \n    curColor = texture(uTexture, vTextureCoord);
+ \n\n    vec4 glowColor = vec4(uColor, uAlpha);
+ \n    bool knockout = uKnockout > .5;
+ \n    float innerStrength = uStrength[0];
+ \n    float outerStrength = uStrength[1];
+ \n\n    float alphaRatio = totalAlpha / MAX_TOTAL_ALPHA;
+ \n    float innerGlowAlpha = (1. - alphaRatio) * innerStrength * curColor.a * uAlpha;
+ \n    float innerGlowStrength = min(1., innerGlowAlpha);
+ \n    \n    vec4 innerColor = mix(curColor, glowColor, innerGlowStrength);
+ \n    float outerGlowAlpha = alphaRatio * outerStrength * (1. - curColor.a) * uAlpha;
+ \n    float outerGlowStrength = min(1. - innerColor.a, outerGlowAlpha);
+ \n    vec4 outerGlowColor = outerGlowStrength * glowColor.rgba;
+ \n\n    if (knockout) {
+ \n      float resultAlpha = outerGlowAlpha + innerGlowAlpha;
+ \n      finalColor = vec4(glowColor.rgb * resultAlpha, resultAlpha);
+ \n    }
+ \n    else {
+ \n      finalColor = innerColor + outerGlowColor;
+ \n    }
+ \n}
+ \n".replace(/__ANGLE_STEP_SIZE__/gi,`${
+ (1/s/i).toFixed(7)}
+ `).replace(/__DIST__/gi,`${
+ i.toFixed(0)}
+ .0`),name:"glow-filter"}
+ ),resources:{
+ glowUniforms:{
+ uDistance:{
+ value:i,type:"f32"}
+ ,uStrength:{
+ value:[t.innerStrength,t.outerStrength],type:"vec2<f32>"}
+ ,uColor:{
+ value:new Float32Array(3),type:"vec3<f32>"}
+ ,uAlpha:{
+ value:t.alpha,type:"f32"}
+ ,uQuality:{
+ value:s,type:"f32"}
+ ,uKnockout:{
+ value:(null==t?void 0:t.knockout)?1:0,type:"f32"}
+ }
+ }
+ ,padding:i}
+ ),i7(this,"uniforms"),i7(this,"_color"),this.uniforms=this.resources.glowUniforms.uniforms,this._color=new Bs,this.color=t.color??16777215}
+ get distance(){
+ return this.uniforms.uDistance}
+ set distance(t){
+ this.uniforms.uDistance=this.padding=t}
+ get innerStrength(){
+ return this.uniforms.uStrength[0]}
+ set innerStrength(t){
+ this.uniforms.uStrength[0]=t}
+ get outerStrength(){
+ return this.uniforms.uStrength[1]}
+ set outerStrength(t){
+ this.uniforms.uStrength[1]=t}
+ get color(){
+ return this._color.value}
+ set color(t){
+ this._color.setValue(t);
+ const[i,s,e]=this._color.toArray();
+ this.uniforms.uColor[0]=i,this.uniforms.uColor[1]=s,this.uniforms.uColor[2]=e}
+ get alpha(){
+ return this.uniforms.uAlpha}
+ set alpha(t){
+ this.uniforms.uAlpha=t}
+ get quality(){
+ return this.uniforms.uQuality}
+ set quality(t){
+ this.uniforms.uQuality=t}
+ get knockout(){
+ return 1===this.uniforms.uKnockout}
+ set knockout(t){
+ this.uniforms.uKnockout=t?1:0}
+ }
+ ,"_GlowFilter"),Q);
+ i7(s7,"DEFAULT_OPTIONS",{
+ distance:10,outerStrength:4,innerStrength:0,color:16777215,alpha:1,quality:.1,knockout:!1}
+ );
+ let e7=s7;
+ var n7=Object.defineProperty,h7=Kt((t,i,s)=>i in t?n7(t,i,{
+ enumerable:!0,configurable:!0,writable:!0,value:s}
+ ):t[i]=s,"__defNormalProp$1"),r7=Kt((t,i,s)=>(h7(t,"symbol"!=typeof i?i+"":i,s),s),"__publicField$1");
+ const o7=(Kt(Z=class extends or{
+ constructor(...t){
+ let i=t[0]??{
+ }
+ ;
+ "number"==typeof i&&(Fi("6.0.0","OutlineFilter constructor params are now options object. See params: {
+  thickness, color, quality, alpha, knockout }
+ "),i={
+ thickness:i}
+ ,void 0!==t[1]&&(i.color=t[1]),void 0!==t[2]&&(i.quality=t[2]),void 0!==t[3]&&(i.alpha=t[3]),void 0!==t[4]&&(i.knockout=t[4])),i={
+ ...Z.DEFAULT_OPTIONS,...i}
+ ;
+ const s=i.quality??.1;
+ super({
+ gpuProgram:Kh.from({
+ vertex:{
+ source:Q8,entryPoint:"mainVertex"}
+ ,fragment:{
+ source:"struct OutlineUniforms {
+ \n  uThickness:vec2<f32>,\n  uColor:vec3<f32>,\n  uAlpha:f32,\n  uAngleStep:f32,\n  uKnockout:f32,\n}
+ ;
+ \n\nstruct GlobalFilterUniforms {
+ \n  uInputSize:vec4<f32>,\n  uInputPixel:vec4<f32>,\n  uInputClamp:vec4<f32>,\n  uOutputFrame:vec4<f32>,\n  uGlobalFrame:vec4<f32>,\n  uOutputTexture:vec4<f32>,\n}
+ ;
+ \n\n@group(0) @binding(0) var<uniform> gfu: GlobalFilterUniforms;
+ \n\n@group(0) @binding(1) var uTexture: texture_2d<f32>;
+  \n@group(0) @binding(2) var uSampler: sampler;
+ \n@group(1) @binding(0) var<uniform> outlineUniforms : OutlineUniforms;
+ \n\n@fragment\nfn mainFragment(\n  @builtin(position) position: vec4<f32>,\n  @location(0) uv : vec2<f32>\n) -> @location(0) vec4<f32> {
+ \n  let sourceColor: vec4<f32> = textureSample(uTexture, uSampler, uv);
+ \n  let contentColor: vec4<f32> = sourceColor * (1. - outlineUniforms.uKnockout);
+ \n  \n  let outlineAlpha: f32 = outlineUniforms.uAlpha * outlineMaxAlphaAtPos(uv) * (1. - sourceColor.a);
+ \n  let outlineColor: vec4<f32> = vec4<f32>(vec3<f32>(outlineUniforms.uColor) * outlineAlpha, outlineAlpha);
+ \n  \n  return contentColor + outlineColor;
+ \n}
+ \n\nfn outlineMaxAlphaAtPos(uv: vec2<f32>) -> f32 {
+ \n  let thickness = outlineUniforms.uThickness;
+ \n\n  if (thickness.x == 0. || thickness.y == 0.) {
+ \n    return 0.;
+ \n  }
+ \n  \n  let angleStep = outlineUniforms.uAngleStep;
+ \n\n  var displacedColor: vec4<f32>;
+ \n  var displacedPos: vec2<f32>;
+ \n\n  var maxAlpha: f32 = 0.;
+ \n  var displaced: vec2<f32>;
+ \n  var curColor: vec4<f32>;
+ \n\n  for (var angle = 0.;
+  angle <= DOUBLE_PI;
+  angle += angleStep)\n  {
+ \n    displaced.x = uv.x + thickness.x * cos(angle);
+ \n    displaced.y = uv.y + thickness.y * sin(angle);
+ \n    curColor = textureSample(uTexture, uSampler, clamp(displaced, gfu.uInputClamp.xy, gfu.uInputClamp.zw));
+ \n    maxAlpha = max(maxAlpha, curColor.a);
+ \n  }
+ \n\n  return maxAlpha;
+ \n}
+ \n\nconst DOUBLE_PI: f32 = 3.14159265358979323846264 * 2.;
+ ",entryPoint:"mainFragment"}
+ }
+ ),glProgram:xh.from({
+ vertex:J8,fragment:"precision highp float;
+ \nin vec2 vTextureCoord;
+ \nout vec4 finalColor;
+ \n\nuniform sampler2D uTexture;
+ \nuniform vec2 uThickness;
+ \nuniform vec3 uColor;
+ \nuniform float uAlpha;
+ \nuniform float uKnockout;
+ \n\nuniform vec4 uInputClamp;
+ \n\nconst float DOUBLE_PI = 2. * 3.14159265358979323846264;
+ \nconst float ANGLE_STEP = ${
+ ANGLE_STEP}
+ ;
+ \n\nfloat outlineMaxAlphaAtPos(vec2 pos) {
+ \n    if (uThickness.x == 0. || uThickness.y == 0.) {
+ \n        return 0.;
+ \n    }
+ \n\n    vec4 displacedColor;
+ \n    vec2 displacedPos;
+ \n    float maxAlpha = 0.;
+ \n\n    for (float angle = 0.;
+  angle <= DOUBLE_PI;
+  angle += ANGLE_STEP) {
+ \n        displacedPos.x = vTextureCoord.x + uThickness.x * cos(angle);
+ \n        displacedPos.y = vTextureCoord.y + uThickness.y * sin(angle);
+ \n        displacedColor = texture(uTexture, clamp(displacedPos, uInputClamp.xy, uInputClamp.zw));
+ \n        maxAlpha = max(maxAlpha, displacedColor.a);
+ \n    }
+ \n\n    return maxAlpha;
+ \n}
+ \n\nvoid main(void) {
+ \n    vec4 sourceColor = texture(uTexture, vTextureCoord);
+ \n    vec4 contentColor = sourceColor * float(uKnockout < 0.5);
+ \n    float outlineAlpha = uAlpha * outlineMaxAlphaAtPos(vTextureCoord.xy) * (1.-sourceColor.a);
+ \n    vec4 outlineColor = vec4(vec3(uColor) * outlineAlpha, outlineAlpha);
+ \n    finalColor = contentColor + outlineColor;
+ \n}
+ \n".replace(/\$\{
+ ANGLE_STEP\}
+ /,Z.getAngleStep(s).toFixed(7)),name:"outline-filter"}
+ ),resources:{
+ outlineUniforms:{
+ uThickness:{
+ value:new Float32Array(2),type:"vec2<f32>"}
+ ,uColor:{
+ value:new Float32Array(3),type:"vec3<f32>"}
+ ,uAlpha:{
+ value:i.alpha,type:"f32"}
+ ,uAngleStep:{
+ value:0,type:"f32"}
+ ,uKnockout:{
+ value:i.knockout?1:0,type:"f32"}
+ }
+ }
+ }
+ ),r7(this,"uniforms"),r7(this,"_thickness"),r7(this,"_quality"),r7(this,"_color"),this.uniforms=this.resources.outlineUniforms.uniforms,this.uniforms.uAngleStep=Z.getAngleStep(s),this._color=new Bs,this.color=i.color??0,Object.assign(this,i)}
+ apply(t,i,s,e){
+ this.uniforms.uThickness[0]=this.thickness/i.source.width,this.uniforms.uThickness[1]=this.thickness/i.source.height,t.applyFilter(this,i,s,e)}
+ static getAngleStep(t){
+ return parseFloat((2*Math.PI/Math.max(t*Z.MAX_SAMPLES,Z.MIN_SAMPLES)).toFixed(7))}
+ get thickness(){
+ return this._thickness}
+ set thickness(t){
+ this._thickness=this.padding=t}
+ get color(){
+ return this._color.value}
+ set color(t){
+ this._color.setValue(t);
+ const[i,s,e]=this._color.toArray();
+ this.uniforms.uColor[0]=i,this.uniforms.uColor[1]=s,this.uniforms.uColor[2]=e}
+ get alpha(){
+ return this.uniforms.uAlpha}
+ set alpha(t){
+ this.uniforms.uAlpha=t}
+ get quality(){
+ return this._quality}
+ set quality(t){
+ this._quality=t,this.uniforms.uAngleStep=Z.getAngleStep(t)}
+ get knockout(){
+ return 1===this.uniforms.uKnockout}
+ set knockout(t){
+ this.uniforms.uKnockout=t?1:0}
+ }
+ ,"_OutlineFilter"),Z);
+ r7(o7,"DEFAULT_OPTIONS",{
+ thickness:1,color:0,alpha:1,quality:.1,knockout:!1}
+ ),r7(o7,"MIN_SAMPLES",1),r7(o7,"MAX_SAMPLES",100);
+ let a7=o7;
- super(),zt(this,"corpIndex"),zt(this,"onDrop",null),zt(this,"validate",null),zt(this,"snap",null),zt(this,"onDragStart",null),zt(this,"onDragMove",null),zt(this,"onDragEnd",null),zt(this,"sprite"),zt(this,"numText"),zt(this,"iconBadge"),zt(this,"dragging",!1),zt(this,"lastValid",!0),zt(this,"targetX",0),zt(this,"targetY",0),this.corpIndex=i,this.sprite=new We(ZA.getTexture("UI_Ekkorr","Icon_Flag_Green")),this.sprite.anchor.set(.5,1),this.sprite.scale.set(s.scale??t.SCALE),null!=s.tint&&(this.sprite.tint=s.tint),this.addChild(this.sprite),this.alpha=s.alpha??1,this.numText=new Wg({
+ super(),zt(this,"corpIndex"),zt(this,"onDrop",null),zt(this,"validate",null),zt(this,"snap",null),zt(this,"onDragStart",null),zt(this,"onDragMove",null),zt(this,"onDragEnd",null),zt(this,"sprite"),zt(this,"numText"),zt(this,"iconBadge"),zt(this,"iconHidden",!1),zt(this,"dragging",!1),zt(this,"lastValid",!0),zt(this,"targetX",0),zt(this,"targetY",0),this.corpIndex=i,this.sprite=new We(ZA.getTexture("UI_Ekkorr","Icon_Flag_Green")),this.sprite.anchor.set(.5,1),this.sprite.scale.set(s.scale??t.SCALE),null!=s.tint&&(this.sprite.tint=s.tint),this.addChild(this.sprite),this.alpha=s.alpha??1,this.numText=new Wg({
- this.visible=!0,this.eventMode="static",this.position.set(t.x,t.y)}
+ this.visible=!0,this.eventMode=this.iconHidden?"none":"static",this.position.set(t.x,t.y)}
+ setIconHidden(t){
+ this.iconHidden=t,this.sprite.visible=!t,this.numText.visible=!t,t&&(this.iconBadge.visible=!1)}
+ startDragExternal(t,i){
+ if(!this.visible||this.dragging)return;
+ this.dragging=!0,this.onDragStart&&this.onDragStart(this.corpIndex,this.x,this.y);
+ const s=KA.stage;
+ s&&(s.on("globalpointermove",this.onMove,this),s.on("pointerup",this.onUp,this),s.on("pointerupoutside",this.onUp,this)),this.moveToGlobal(t,i)}
+ this.moveToGlobal(t.global.x,t.global.y)}
+ moveToGlobal(t,i){
- const i=this.parent.toLocal(t.global);
+ const s=this.parent.toLocal({
+ x:t,y:i}
+ );
GoldLayer 1 hunks, 378 statements
- var Dti="in vec2 aPosition;
- \nout vec2 vTextureCoord;
- \n\nuniform vec4 uInputSize;
- \nuniform vec4 uOutputFrame;
- \nuniform vec4 uOutputTexture;
- \n\nvec4 filterVertexPosition( void )\n{
- \n    vec2 position = aPosition * uOutputFrame.zw + uOutputFrame.xy;
- \n    \n    position.x = position.x * (2.0 / uOutputTexture.x) - 1.0;
- \n    position.y = position.y * (2.0*uOutputTexture.z / uOutputTexture.y) - uOutputTexture.z;
- \n\n    return vec4(position, 0.0, 1.0);
- \n}
- \n\nvec2 filterTextureCoord( void )\n{
- \n    return aPosition * (uOutputFrame.zw * uInputSize.zw);
- \n}
- \n\nvoid main(void)\n{
- \n    gl_Position = filterVertexPosition();
- \n    vTextureCoord = filterTextureCoord();
- \n}
- \n",Lti="struct GlobalFilterUniforms {
- \n  uInputSize:vec4<f32>,\n  uInputPixel:vec4<f32>,\n  uInputClamp:vec4<f32>,\n  uOutputFrame:vec4<f32>,\n  uGlobalFrame:vec4<f32>,\n  uOutputTexture:vec4<f32>,\n}
- ;
- \n\n@group(0) @binding(0) var<uniform> gfu: GlobalFilterUniforms;
- \n\nstruct VSOutput {
- \n    @builtin(position) position: vec4<f32>,\n    @location(0) uv : vec2<f32>\n  }
- ;
- \n\nfn filterVertexPosition(aPosition:vec2<f32>) -> vec4<f32>\n{
- \n    var position = aPosition * gfu.uOutputFrame.zw + gfu.uOutputFrame.xy;
- \n\n    position.x = position.x * (2.0 / gfu.uOutputTexture.x) - 1.0;
- \n    position.y = position.y * (2.0*gfu.uOutputTexture.z / gfu.uOutputTexture.y) - gfu.uOutputTexture.z;
- \n\n    return vec4(position, 0.0, 1.0);
- \n}
- \n\nfn filterTextureCoord( aPosition:vec2<f32> ) -> vec2<f32>\n{
- \n    return aPosition * (gfu.uOutputFrame.zw * gfu.uInputSize.zw);
- \n}
- \n\nfn globalTextureCoord( aPosition:vec2<f32> ) -> vec2<f32>\n{
- \n  return  (aPosition.xy / gfu.uGlobalFrame.zw) + (gfu.uGlobalFrame.xy / gfu.uGlobalFrame.zw);
-   \n}
- \n\nfn getSize() -> vec2<f32>\n{
- \n  return gfu.uGlobalFrame.zw;
- \n}
- \n  \n@vertex\nfn mainVertex(\n  @location(0) aPosition : vec2<f32>, \n) -> VSOutput {
- \n  return VSOutput(\n   filterVertexPosition(aPosition),\n   filterTextureCoord(aPosition)\n  );
- \n}
- ",Gti=Object.defineProperty,Bti=Kt((t,i,s)=>i in t?Gti(t,i,{
- enumerable:!0,configurable:!0,writable:!0,value:s}
- ):t[i]=s,"__defNormalProp$1"),Uti=Kt((t,i,s)=>(Bti(t,"symbol"!=typeof i?i+"":i,s),s),"__publicField$1");
- const Fti=(Kt(Rt=class extends or{
- constructor(t){
- const i=(t={
- ...Rt.DEFAULT_OPTIONS,...t}
- ).distance??10,s=t.quality??.1;
- super({
- gpuProgram:Kh.from({
- vertex:{
- source:Lti,entryPoint:"mainVertex"}
- ,fragment:{
- source:"struct GlowUniforms {
- \n  uDistance: f32,\n  uStrength: vec2<f32>,\n  uColor: vec3<f32>,\n  uAlpha: f32,\n  uQuality: f32,\n  uKnockout: f32,\n}
- ;
- \n\nstruct GlobalFilterUniforms {
- \n  uInputSize:vec4<f32>,\n  uInputPixel:vec4<f32>,\n  uInputClamp:vec4<f32>,\n  uOutputFrame:vec4<f32>,\n  uGlobalFrame:vec4<f32>,\n  uOutputTexture:vec4<f32>,\n}
- ;
- \n\n@group(0) @binding(0) var<uniform> gfu: GlobalFilterUniforms;
- \n\n@group(0) @binding(1) var uTexture: texture_2d<f32>;
-  \n@group(0) @binding(2) var uSampler: sampler;
- \n@group(1) @binding(0) var<uniform> glowUniforms : GlowUniforms;
- \n\n@fragment\nfn mainFragment(\n  @builtin(position) position: vec4<f32>,\n  @location(0) uv : vec2<f32>\n) -> @location(0) vec4<f32> {
- \n  let quality = glowUniforms.uQuality;
- \n  let distance = glowUniforms.uDistance;
- \n\n  let dist: f32 = glowUniforms.uDistance;
- \n  let angleStepSize: f32 = min(1. / quality / distance, PI * 2.0);
- \n  let angleStepNum: f32 = ceil(PI * 2.0 / angleStepSize);
- \n\n  let px: vec2<f32> = vec2<f32>(1.0 / gfu.uInputSize.xy);
- \n\n  var totalAlpha: f32 = 0.0;
- \n\n  var direction: vec2<f32>;
- \n  var displaced: vec2<f32>;
- \n  var curColor: vec4<f32>;
- \n\n  for (var angle = 0.0;
-  angle < PI * 2.0;
-  angle += angleStepSize) {
- \n    direction = vec2<f32>(cos(angle), sin(angle)) * px;
- \n    for (var curDistance = 0.0;
-  curDistance < dist;
-  curDistance+=1) {
- \n      displaced = vec2<f32>(clamp(uv + direction * (curDistance + 1.0), gfu.uInputClamp.xy, gfu.uInputClamp.zw));
- \n      curColor = textureSample(uTexture, uSampler, displaced);
- \n      totalAlpha += (dist - curDistance) * curColor.a;
- \n    }
- \n  }
- \n    \n  curColor = textureSample(uTexture, uSampler, uv);
- \n\n  let glowColorRGB = glowUniforms.uColor;
- \n  let glowAlpha = glowUniforms.uAlpha;
- \n  let glowColor = vec4<f32>(glowColorRGB, glowAlpha);
- \n  let knockout: bool = glowUniforms.uKnockout > 0.5;
- \n  let innerStrength = glowUniforms.uStrength[0];
- \n  let outerStrength = glowUniforms.uStrength[1];
- \n\n  let alphaRatio: f32 = (totalAlpha / (angleStepNum * dist * (dist + 1.0) / 2.0));
- \n  let innerGlowAlpha: f32 = (1.0 - alphaRatio) * innerStrength * curColor.a * glowAlpha;
- \n  let innerGlowStrength: f32 = min(1.0, innerGlowAlpha);
- \n  \n  let innerColor: vec4<f32> = mix(curColor, glowColor, innerGlowStrength);
- \n  let outerGlowAlpha: f32 = alphaRatio * outerStrength * (1. - curColor.a) * glowAlpha;
- \n  let outerGlowStrength: f32 = min(1.0 - innerColor.a, outerGlowAlpha);
- \n  let outerGlowColor: vec4<f32> = outerGlowStrength * glowColor.rgba;
- \n  \n  if (knockout) {
- \n    let resultAlpha: f32 = outerGlowAlpha + innerGlowAlpha;
- \n    return vec4<f32>(glowColor.rgb * resultAlpha, resultAlpha);
- \n  }
- \n  else {
- \n    return innerColor + outerGlowColor;
- \n  }
- \n}
- \n\nconst PI: f32 = 3.14159265358979323846264;
- ",entryPoint:"mainFragment"}
- }
- ),glProgram:xh.from({
- vertex:Dti,fragment:"precision highp float;
- \nin vec2 vTextureCoord;
- \nout vec4 finalColor;
- \n\nuniform sampler2D uTexture;
- \nuniform vec2 uStrength;
- \nuniform vec3 uColor;
- \nuniform float uKnockout;
- \nuniform float uAlpha;
- \n\nuniform vec4 uInputSize;
- \nuniform vec4 uInputClamp;
- \n\nconst float PI = 3.14159265358979323846264;
- \n\n// Hard-assignment of DIST and ANGLE_STEP_SIZE instead of using uDistance and uQuality to allow them to be use on GLSL loop conditions\nconst float DIST = __DIST__;
- \nconst float ANGLE_STEP_SIZE = min(__ANGLE_STEP_SIZE__, PI * 2.);
- \nconst float ANGLE_STEP_NUM = ceil(PI * 2. / ANGLE_STEP_SIZE);
- \nconst float MAX_TOTAL_ALPHA = ANGLE_STEP_NUM * DIST * (DIST + 1.) / 2.;
- \n\nvoid main(void) {
- \n    vec2 px = vec2(1.) / uInputSize.xy;
- \n\n    float totalAlpha = 0.;
- \n\n    vec2 direction;
- \n    vec2 displaced;
- \n    vec4 curColor;
- \n\n    for (float angle = 0.;
-  angle < PI * 2.;
-  angle += ANGLE_STEP_SIZE) {
- \n      direction = vec2(cos(angle), sin(angle)) * px;
- \n\n      for (float curDistance = 0.;
-  curDistance < DIST;
-  curDistance++) {
- \n          displaced = clamp(vTextureCoord + direction * (curDistance + 1.), uInputClamp.xy, uInputClamp.zw);
- \n          curColor = texture(uTexture, displaced);
- \n          totalAlpha += (DIST - curDistance) * curColor.a;
- \n      }
- \n    }
- \n    \n    curColor = texture(uTexture, vTextureCoord);
- \n\n    vec4 glowColor = vec4(uColor, uAlpha);
- \n    bool knockout = uKnockout > .5;
- \n    float innerStrength = uStrength[0];
- \n    float outerStrength = uStrength[1];
- \n\n    float alphaRatio = totalAlpha / MAX_TOTAL_ALPHA;
- \n    float innerGlowAlpha = (1. - alphaRatio) * innerStrength * curColor.a * uAlpha;
- \n    float innerGlowStrength = min(1., innerGlowAlpha);
- \n    \n    vec4 innerColor = mix(curColor, glowColor, innerGlowStrength);
- \n    float outerGlowAlpha = alphaRatio * outerStrength * (1. - curColor.a) * uAlpha;
- \n    float outerGlowStrength = min(1. - innerColor.a, outerGlowAlpha);
- \n    vec4 outerGlowColor = outerGlowStrength * glowColor.rgba;
- \n\n    if (knockout) {
- \n      float resultAlpha = outerGlowAlpha + innerGlowAlpha;
- \n      finalColor = vec4(glowColor.rgb * resultAlpha, resultAlpha);
- \n    }
- \n    else {
- \n      finalColor = innerColor + outerGlowColor;
- \n    }
- \n}
- \n".replace(/__ANGLE_STEP_SIZE__/gi,`${
- (1/s/i).toFixed(7)}
- `).replace(/__DIST__/gi,`${
- i.toFixed(0)}
- .0`),name:"glow-filter"}
- ),resources:{
- glowUniforms:{
- uDistance:{
- value:i,type:"f32"}
- ,uStrength:{
- value:[t.innerStrength,t.outerStrength],type:"vec2<f32>"}
- ,uColor:{
- value:new Float32Array(3),type:"vec3<f32>"}
- ,uAlpha:{
- value:t.alpha,type:"f32"}
- ,uQuality:{
- value:s,type:"f32"}
- ,uKnockout:{
- value:(null==t?void 0:t.knockout)?1:0,type:"f32"}
- }
- }
- ,padding:i}
- ),Uti(this,"uniforms"),Uti(this,"_color"),this.uniforms=this.resources.glowUniforms.uniforms,this._color=new Bs,this.color=t.color??16777215}
- get distance(){
- return this.uniforms.uDistance}
- set distance(t){
- this.uniforms.uDistance=this.padding=t}
- get innerStrength(){
- return this.uniforms.uStrength[0]}
- set innerStrength(t){
- this.uniforms.uStrength[0]=t}
- get outerStrength(){
- return this.uniforms.uStrength[1]}
- set outerStrength(t){
- this.uniforms.uStrength[1]=t}
- get color(){
- return this._color.value}
- set color(t){
- this._color.setValue(t);
- const[i,s,e]=this._color.toArray();
- this.uniforms.uColor[0]=i,this.uniforms.uColor[1]=s,this.uniforms.uColor[2]=e}
- get alpha(){
- return this.uniforms.uAlpha}
- set alpha(t){
- this.uniforms.uAlpha=t}
- get quality(){
- return this.uniforms.uQuality}
- set quality(t){
- this.uniforms.uQuality=t}
- get knockout(){
- return 1===this.uniforms.uKnockout}
- set knockout(t){
- this.uniforms.uKnockout=t?1:0}
- }
- ,"_GlowFilter"),Rt);
- Uti(Fti,"DEFAULT_OPTIONS",{
- distance:10,outerStrength:4,innerStrength:0,color:16777215,alpha:1,quality:.1,knockout:!1}
- );
- let Hti=Fti;
- var Wti=Object.defineProperty,jti=Kt((t,i,s)=>i in t?Wti(t,i,{
- enumerable:!0,configurable:!0,writable:!0,value:s}
- ):t[i]=s,"__defNormalProp"),$ti=Kt((t,i,s)=>(jti(t,"symbol"!=typeof i?i+"":i,s),s),"__publicField");
- const Vti=(Kt(Dt=class extends or{
- constructor(...t){
- let i=t[0]??{
- }
- ;
- "number"==typeof i&&(Fi("6.0.0","OutlineFilter constructor params are now options object. See params: {
-  thickness, color, quality, alpha, knockout }
- "),i={
- thickness:i}
- ,void 0!==t[1]&&(i.color=t[1]),void 0!==t[2]&&(i.quality=t[2]),void 0!==t[3]&&(i.alpha=t[3]),void 0!==t[4]&&(i.knockout=t[4])),i={
- ...Dt.DEFAULT_OPTIONS,...i}
- ;
- const s=i.quality??.1;
- super({
- gpuProgram:Kh.from({
- vertex:{
- source:Lti,entryPoint:"mainVertex"}
- ,fragment:{
- source:"struct OutlineUniforms {
- \n  uThickness:vec2<f32>,\n  uColor:vec3<f32>,\n  uAlpha:f32,\n  uAngleStep:f32,\n  uKnockout:f32,\n}
- ;
- \n\nstruct GlobalFilterUniforms {
- \n  uInputSize:vec4<f32>,\n  uInputPixel:vec4<f32>,\n  uInputClamp:vec4<f32>,\n  uOutputFrame:vec4<f32>,\n  uGlobalFrame:vec4<f32>,\n  uOutputTexture:vec4<f32>,\n}
- ;
- \n\n@group(0) @binding(0) var<uniform> gfu: GlobalFilterUniforms;
- \n\n@group(0) @binding(1) var uTexture: texture_2d<f32>;
-  \n@group(0) @binding(2) var uSampler: sampler;
- \n@group(1) @binding(0) var<uniform> outlineUniforms : OutlineUniforms;
- \n\n@fragment\nfn mainFragment(\n  @builtin(position) position: vec4<f32>,\n  @location(0) uv : vec2<f32>\n) -> @location(0) vec4<f32> {
- \n  let sourceColor: vec4<f32> = textureSample(uTexture, uSampler, uv);
- \n  let contentColor: vec4<f32> = sourceColor * (1. - outlineUniforms.uKnockout);
- \n  \n  let outlineAlpha: f32 = outlineUniforms.uAlpha * outlineMaxAlphaAtPos(uv) * (1. - sourceColor.a);
- \n  let outlineColor: vec4<f32> = vec4<f32>(vec3<f32>(outlineUniforms.uColor) * outlineAlpha, outlineAlpha);
- \n  \n  return contentColor + outlineColor;
- \n}
- \n\nfn outlineMaxAlphaAtPos(uv: vec2<f32>) -> f32 {
- \n  let thickness = outlineUniforms.uThickness;
- \n\n  if (thickness.x == 0. || thickness.y == 0.) {
- \n    return 0.;
- \n  }
- \n  \n  let angleStep = outlineUniforms.uAngleStep;
- \n\n  var displacedColor: vec4<f32>;
- \n  var displacedPos: vec2<f32>;
- \n\n  var maxAlpha: f32 = 0.;
- \n  var displaced: vec2<f32>;
- \n  var curColor: vec4<f32>;
- \n\n  for (var angle = 0.;
-  angle <= DOUBLE_PI;
-  angle += angleStep)\n  {
- \n    displaced.x = uv.x + thickness.x * cos(angle);
- \n    displaced.y = uv.y + thickness.y * sin(angle);
- \n    curColor = textureSample(uTexture, uSampler, clamp(displaced, gfu.uInputClamp.xy, gfu.uInputClamp.zw));
- \n    maxAlpha = max(maxAlpha, curColor.a);
- \n  }
- \n\n  return maxAlpha;
- \n}
- \n\nconst DOUBLE_PI: f32 = 3.14159265358979323846264 * 2.;
- ",entryPoint:"mainFragment"}
- }
- ),glProgram:xh.from({
- vertex:Dti,fragment:"precision highp float;
- \nin vec2 vTextureCoord;
- \nout vec4 finalColor;
- \n\nuniform sampler2D uTexture;
- \nuniform vec2 uThickness;
- \nuniform vec3 uColor;
- \nuniform float uAlpha;
- \nuniform float uKnockout;
- \n\nuniform vec4 uInputClamp;
- \n\nconst float DOUBLE_PI = 2. * 3.14159265358979323846264;
- \nconst float ANGLE_STEP = ${
- ANGLE_STEP}
- ;
- \n\nfloat outlineMaxAlphaAtPos(vec2 pos) {
- \n    if (uThickness.x == 0. || uThickness.y == 0.) {
- \n        return 0.;
- \n    }
- \n\n    vec4 displacedColor;
- \n    vec2 displacedPos;
- \n    float maxAlpha = 0.;
- \n\n    for (float angle = 0.;
-  angle <= DOUBLE_PI;
-  angle += ANGLE_STEP) {
- \n        displacedPos.x = vTextureCoord.x + uThickness.x * cos(angle);
- \n        displacedPos.y = vTextureCoord.y + uThickness.y * sin(angle);
- \n        displacedColor = texture(uTexture, clamp(displacedPos, uInputClamp.xy, uInputClamp.zw));
- \n        maxAlpha = max(maxAlpha, displacedColor.a);
- \n    }
- \n\n    return maxAlpha;
- \n}
- \n\nvoid main(void) {
- \n    vec4 sourceColor = texture(uTexture, vTextureCoord);
- \n    vec4 contentColor = sourceColor * float(uKnockout < 0.5);
- \n    float outlineAlpha = uAlpha * outlineMaxAlphaAtPos(vTextureCoord.xy) * (1.-sourceColor.a);
- \n    vec4 outlineColor = vec4(vec3(uColor) * outlineAlpha, outlineAlpha);
- \n    finalColor = contentColor + outlineColor;
- \n}
- \n".replace(/\$\{
- ANGLE_STEP\}
- /,Dt.getAngleStep(s).toFixed(7)),name:"outline-filter"}
- ),resources:{
- outlineUniforms:{
- uThickness:{
- value:new Float32Array(2),type:"vec2<f32>"}
- ,uColor:{
- value:new Float32Array(3),type:"vec3<f32>"}
- ,uAlpha:{
- value:i.alpha,type:"f32"}
- ,uAngleStep:{
- value:0,type:"f32"}
- ,uKnockout:{
- value:i.knockout?1:0,type:"f32"}
- }
- }
- }
- ),$ti(this,"uniforms"),$ti(this,"_thickness"),$ti(this,"_quality"),$ti(this,"_color"),this.uniforms=this.resources.outlineUniforms.uniforms,this.uniforms.uAngleStep=Dt.getAngleStep(s),this._color=new Bs,this.color=i.color??0,Object.assign(this,i)}
- apply(t,i,s,e){
- this.uniforms.uThickness[0]=this.thickness/i.source.width,this.uniforms.uThickness[1]=this.thickness/i.source.height,t.applyFilter(this,i,s,e)}
- static getAngleStep(t){
- return parseFloat((2*Math.PI/Math.max(t*Dt.MAX_SAMPLES,Dt.MIN_SAMPLES)).toFixed(7))}
- get thickness(){
- return this._thickness}
- set thickness(t){
- this._thickness=this.padding=t}
- get color(){
- return this._color.value}
- set color(t){
- this._color.setValue(t);
- const[i,s,e]=this._color.toArray();
- this.uniforms.uColor[0]=i,this.uniforms.uColor[1]=s,this.uniforms.uColor[2]=e}
- get alpha(){
- return this.uniforms.uAlpha}
- set alpha(t){
- this.uniforms.uAlpha=t}
- get quality(){
- return this._quality}
- set quality(t){
- this._quality=t,this.uniforms.uAngleStep=Dt.getAngleStep(t)}
- get knockout(){
- return 1===this.uniforms.uKnockout}
- set knockout(t){
- this.uniforms.uKnockout=t?1:0}
- }
- ,"_OutlineFilter"),Dt);
- $ti(Vti,"DEFAULT_OPTIONS",{
- thickness:1,color:0,alpha:1,quality:.1,knockout:!1}
- ),$ti(Vti,"MIN_SAMPLES",1),$ti(Vti,"MAX_SAMPLES",100);
- let Kti=Vti;
AchievementRewardItem 1 hunks, 325 statements
- const i6=class extends t6{
- constructor(){
- super(),zt(this,"receivedIcon"),zt(this,"activatedBg"),zt(this,"_activated",!0),zt(this,"_received",!1),this.activatedBg=new We(ZA.getTexture("UI_Ekkorr","Frame_Reward_01_nor")),this.activatedBg.visible=!this._activated,this.addChild(this.activatedBg),this.receivedIcon=new We(ZA.getTexture("UI_Ekkorr","Base_Check01")),this.receivedIcon.visible=this._received,this.addChild(this.receivedIcon)}
- updateLayout(){
- if(super.updateLayout(),!this.receivedIcon)return;
- const t=this.bg.width,i=this.bg.height;
- this.receivedIcon.x=.5*(t-this.receivedIcon.width),this.receivedIcon.y=.5*(i-this.receivedIcon.height)}
- get activated(){
- return this._activated}
- set activated(t){
- t!=this._activated&&(this._activated=t,this.activatedBg.visible=!this._activated)}
- get received(){
- return this._received}
- set received(t){
- t!=this._received&&(this._received=t,this.receivedIcon.visible=this._received)}
- }
- ;
- Kt(i6,"AchievementRewardItem");
- let s6=i6;
- const e6=class extends Be{
- constructor(){
- super(),zt(this,"bg"),zt(this,"lbl"),zt(this,"_width",100),zt(this,"_widthMax",570),zt(this,"count",0),this.eventMode="none",this.bg=this.getBg(),this.bg.alpha=.9;
- const t=nD.DEFAULT_OUTLINE_FONT_OPTION_16;
- t.fill=14405050,t.stroke={
- color:"#333333",width:3,join:"round"}
- ,this.lbl=new KD("0",t.fill,t),this.lbl.x=15,this.lbl.y=12,nD.setLabelWrapWidth(this.lbl,this._widthMax-2*this.lbl.x),this.addChild(this.bg,this.lbl),this.text="tooltip"}
- getBg(){
- return new TM({
- texture:ZA.getTexture("UI_Ekkorr","Btn_Unit_01"),leftWidth:30,topHeight:20,rightWidth:30,bottomHeight:20}
- )}
- set text(t){
- this.lbl.text=t,this._width=this.lbl.width+2*this.lbl.x+5,this._width>this._widthMax&&(this._width=this._widthMax),this.updateBg()}
- updateBg(){
- this.bg.width=this._width,this.bg.height=this.lbl.height+2*this.lbl.y}
- show(t,i,s){
- this.x=i,this.y=s,t&&t.addChild(this),this.startCheckHide()}
- hide(){
- this.parent&&this.parent.removeChild(this)}
- get width(){
- return this._width}
- get widthMax(){
- return this._widthMax}
- set widthMax(t){
- this._widthMax=t,nD.setLabelWrapWidth(this.lbl,this._widthMax-2*this.lbl.x)}
- get height(){
- return this.bg.height}
- startCheckHide(){
- this.count=0,GM.getInstance().add(this.checkHide,this)}
- checkHide(){
- ++this.count>180&&(this.count=0,this.hide(),GM.getInstance().remove(this.checkHide,this))}
- }
- ;
- Kt(e6,"ToolTipBase");
- let n6=e6;
- const h6=class t extends n6{
- static getInstance(){
- return this._instance||(this._instance=new t),this._instance}
- constructor(){
- super()}
- }
- ;
- Kt(h6,"ToolTip"),zt(h6,"_instance");
- let r6=h6;
- const o6=class t extends XI{
- constructor(){
- super(),zt(this,"bg"),zt(this,"lblIndex"),zt(this,"icon",new We(ZA.getTexture("UI_Ekkorr","Package_2"))),zt(this,"lblName"),zt(this,"lblProgress"),zt(this,"barBg"),zt(this,"barFill"),zt(this,"rewardContainer",new Be),zt(this,"rewardItems",[]),this.bg=new TM({
- texture:ZA.getTexture("UI_Ekkorr","Popup_List_02"),leftWidth:135,topHeight:30,rightWidth:20,bottomHeight:30}
- ),this.bg.width=t.W,this.bg.height=t.H,this.addChild(this.bg),this.lblIndex=new KD("",16764057,nD.DEFAULT_OUTLINE_FONT_OPTION_32),this.addChild(this.icon),this.lblName=new KD("",16764057,nD.DEFAULT_OUTLINE_FONT_OPTION_16),this.addChild(this.lblName),this.barBg=new qD,this.barBg.setIndex(4),this.barBg.width=t.BAR_W,this.barBg.height=t.BAR_H,this.barBg.alpha=.5,this.addChild(this.barBg),this.barFill=new qD,this.barFill.setIndex(3),this.barFill.width=t.BAR_W,this.barFill.height=t.BAR_H,this.addChild(this.barFill),this.lblProgress=new KD("0/0",16777215,nD.DEFAULT_OUTLINE_FONT_OPTION_16),this.addChild(this.lblProgress),this.addChild(this.rewardContainer);
- for(let t=0;
- t<7;
- t++){
- const t=new s6;
- t.scale.set(.7),t.visible=!1,this.rewardItems.push(t),this.rewardContainer.addChild(t)}
- }
- get width(){
- return t.W}
- get height(){
- return t.H}
- setData(i){
- const s=i.index+1;
- this.lblIndex.text=`${
- s}
- `,this.lblIndex.x=.5*(t.INDEX_AREA_W-this.lblIndex.width),this.lblIndex.y=.5*(this.height-this.lblIndex.height),this.icon.x=.5*(t.INDEX_AREA_W-this.icon.width),this.icon.y=.5*(this.height-this.icon.height);
- const e=yG.getText("GAME_946","총 결제 금액"),n=cU.isUsdCurrency()?`$${
- oU.setComma(i.amount)}
- `:`₩${
- oU.setComma(i.amount)}
- `;
- this.lblName.text=`${
- e}
-  (${
- n}
- )`,this.lblName.height,t.BAR_H,this.lblName.x=140,this.lblName.y=5;
- const h=this.lblName.y+this.lblName.height+5;
- this.barBg.x=140,this.barBg.y=h,this.barFill.x=140,this.barFill.y=h;
- const r=Number(i.amount)>0?Math.min(1,Math.max(0,Number(i.userAmount)/Number(i.amount))):0;
- this.barFill.width=t.BAR_W*r,this.lblProgress.text=`${
- Math.floor(100*r)}
- %`,this.lblProgress.x=140+this.barBg.width-this.lblProgress.width,this.lblProgress.y=this.lblName.y,this.showRewards(i.rewards,1==r),this.rewardContainer.x=140,this.rewardContainer.y=this.barBg.y+this.barBg.height+7}
- showRewards(t,i){
- const s=Math.min(t.length,7);
- let e=0,n=!1;
- for(let h=0;
- h<7;
- h++){
- const r=this.rewardItems[h];
- n=!1,h<s?(r.setDataFrom(t[h]),r.visible=!0,r.x=e,e+=r.width*r.scale.x+5,r.received=i,r.activated=!i,r.type!=g3.ticket||r.subType!=g3.heroGacha&&r.subType!=g3.heroSelect&&r.subType!=g3.treasureGacha&&r.subType!=g3.petSelect||(n=!0)):r.visible=!1,this.setItemEvent(r,n)}
- }
- setItemEvent(t,i){
- t.eventMode="none",t.off("pointertap",this.onItemTap,this),i&&(t.eventMode="dynamic",t.on("pointertap",this.onItemTap,this))}
- onItemTap(t){
- const i=t.target;
- if(!i)return;
- let s="";
- if(i.type==g3.ticket&&i.subType==g3.heroGacha?s=yG.getText("GAME_765","5성 영웅을 랜덤하게 획득할 수 있습니다."):i.type==g3.ticket&&i.subType==g3.heroSelect?s=yG.getText("GAME_943","제공되는 목록에서 원하는 5성 영웅을 선택할 수 있습니다."):i.type==g3.ticket&&i.subType==g3.treasureGacha?s=yG.getValueReplace("GAME_776","##",6,"6등급 유물을 랜덤하게 획득할 수 있습니다."):i.type==g3.ticket&&i.subType==g3.petSelect&&(s=yG.getText("GAME_944","제공되는 목록에서 원하는 펫 조각을 선택할 수 있습니다.")),s){
- const t=r6.getInstance();
- t.text=s;
- let e=this.rewardContainer.x+i.x-20;
- e+t.width+7>this.bg.x+this.bg.width&&(e=this.bg.x+this.bg.width-t.width-7);
- let n=i.y-i.height;
- n<7&&(n=7),t.show(this,e,n)}
- }
- }
- ;
- Kt(o6,"PaymentEventItemRenderer"),zt(o6,"W",534),zt(o6,"H",102),zt(o6,"BAR_W",380),zt(o6,"BAR_H",10),zt(o6,"INDEX_AREA_W",124);
- let a6=o6;
- const c6=class t extends yB{
- constructor(){
- super(),zt(this,"lblGuide"),this.lblGuide=new pB("@",this.width-90,16,nD.DEFAULT_COLOR,8,10,16763904),this.contentContainer.addChild(this.lblGuide),this.outSideClickHide=!0}
- static getInstance(){
- return this._instance||(this._instance=new t),this._instance}
- async showGuide(){
- this.title=yG.getText("GAME_945","결제 이벤트");
- const t=[yG.getText("GAME_947","목표 금액에 도달하면 보상이 우편으로 발송됩니다."),yG.getText("GAME_948","총 결제 금액은 이벤트 기간 내 결제분만 반영됩니다."),yG.getText("GAME_986","붉은 보석으로 상품 구매 시, 결제 이벤트에 반영됩니다."),yG.getText("GAME_987","웹 마켓에서 진행된 결제는 결제 이벤트에 반영되지 않습니다.")];
- this.lblGuide.text=t.map(t=>`@ ${
- t}
- `).join("\n"),this.lblGuide.x=30,this.lblGuide.y=80,this.height=this.lblGuide.y+this.lblGuide.height+40,await this.loadImage(),super.show()}
- getDefaultPositionY(){
- return.4*KA.stageHeight}
- onBackButton(){
- return this.hide(),!0}
- }
- ;
- Kt(c6,"PaymentEventGuidePopup"),zt(c6,"_instance");
- let l6=c6;
- const u6=class t extends nG{
- constructor(){
- super(),zt(this,"bntMonth",new W3(yG.getText("COMMON_482","월간"),215)),zt(this,"btnSpecial",new W3(yG.getText("GAME_1158","스페셜"),215)),zt(this,"tabs"),zt(this,"activeIndex",0),zt(this,"infoBg"),zt(this,"lblPeriod"),zt(this,"lblRemainTitle"),zt(this,"lblRemainTime"),zt(this,"lblTotal"),zt(this,"lblAmount"),zt(this,"btnGuide"),zt(this,"list"),zt(this,"endTime",0),zt(this,"count",0),this.title="결제 이벤트",this.width=580,this.outSideClickHide=!0,this.tabs=[this.btnSpecial,this.bntMonth];
- for(let i=0;
- i<this.tabs.length;
- i++){
- const t=this.tabs[i];
- this.addChild(t);
- const s=i;
- t.onClick=()=>this.switchTab(s)}
- this.layoutTabs(),this.infoBg=new mB,this.infoBg.setIndex(2),this.infoBg.width=this.width-46,this.infoBg.x=23,this.contentContainer.addChild(this.infoBg),this.lblPeriod=new KD("",nD.DEFAULT_COLOR,nD.DEFAULT_OUTLINE_FONT_OPTION_18),this.contentContainer.addChild(this.lblPeriod),this.lblRemainTitle=new KD("",nD.DEFAULT_COLOR,nD.DEFAULT_OUTLINE_FONT_OPTION_18),this.contentContainer.addChild(this.lblRemainTitle),this.lblRemainTime=new KD("",nD.DEFAULT_COLOR,nD.DEFAULT_OUTLINE_FONT_OPTION_18),this.contentContainer.addChild(this.lblRemainTime),this.lblTotal=new KD("",nD.DEFAULT_COLOR,nD.DEFAULT_OUTLINE_FONT_OPTION_18),this.contentContainer.addChild(this.lblTotal),this.lblAmount=new KD("",nD.COLOR_BRIGHT_GREEN,nD.DEFAULT_OUTLINE_FONT_OPTION_18),this.contentContainer.addChild(this.lblAmount),this.btnGuide=new dB("UI_Ekkorr","UI_Alarm"),this.btnGuide.x=this.infoBg.x+this.infoBg.width-this.btnGuide.width-10,this.btnGuide.y=this.infoBg.y+10,this.contentContainer.addChild(this.btnGuide),this.btnGuide.on("pointertap",()=>{
- l6.getInstance().showGuide()}
- );
- const t=this.width-46;
- this.list=new XV(a6,t,300),this.list.x=23,this.contentContainer.addChild(this.list),this.on("added",this.onAdded,this),this.on("removed",this.onRemoved,this)}
- static getInstance(){
- return this._instance||(this._instance=new t),this._instance}
- onAdded(){
- GM.getInstance().add(this.onEnter,this)}
- onRemoved(){
- GM.getInstance().remove(this.onEnter,this)}
- async update(){
- await cU.getEventList()}
- show(){
- null==cU.currentPaymentMonthEvent?this.activeIndex=0:null==cU.currentPaymentSpecialEvent&&(this.activeIndex=1),this.switchTab(this.activeIndex),super.show()}
- updateLayout(){
- this.title=yG.getText("GAME_945","결제 이벤트");
- const t=0==this.activeIndex?cU.currentPaymentSpecialEvent:cU.currentPaymentMonthEvent;
- let i=[];
- if(t){
- const s=t.userAmount,e=t.endTime.replace("T"," ").replace(".000Z","");
- this.endTime=new Date(t.endTime).getTime(),this.endTime,ix.time,this.lblPeriod.text=yG.getText("GAME_545","이벤트 기간")+` : ~ ${
- e}
-  (UTC)`,this.lblRemainTitle.text=yG.getText("COMMON_29","남은 시간")+" : ",this.onEnterUpdate(),this.lblTotal.text=yG.getText("GAME_946","총 결제 금액")+" : ",this.lblAmount.text=cU.isUsdCurrency()?`$${
- oU.setComma(s)}
- `:`₩${
- oU.setComma(s)}
- `,this.lblAmount.textColor=nD.COLOR_BRIGHT_GREEN;
- let n=0;
- for(let h=0;
- h<t.rewards.length;
- h++){
- const e={
- index:h,userAmount:s,rewards:t.rewards[h],amount:cU.isUsdCurrency()?t.amounts[h].usdAmount:t.amounts[h].amount}
- ;
- i.push(e),s>=Number(e.amount)&&(n=h)}
- this.list.dataProvider=i,t.rewards.length<4?this.list.scrollTo(0):this.list.scrollTo(n)}
- this.lblPeriod.x=this.lblRemainTitle.x=this.lblTotal.x=50,this.lblRemainTime.x=this.lblRemainTitle.x+this.lblRemainTitle.width,this.lblAmount.x=this.lblTotal.x+this.lblTotal.width;
- const s=null!=cU.currentPaymentMonthEvent&&null!=cU.currentPaymentSpecialEvent;
- this.tabs.forEach(t=>t.visible=s);
- const e=s?125:70;
- this.infoBg.y=e,this.btnGuide.y=this.infoBg.y+10,this.lblPeriod.y=this.infoBg.y+20,this.lblRemainTitle.y=this.lblRemainTime.y=this.lblPeriod.y+this.lblPeriod.height+10,this.lblTotal.y=this.lblAmount.y=this.lblRemainTitle.y+this.lblRemainTitle.height+10,this.infoBg.height=this.lblTotal.y+this.lblTotal.height-this.infoBg.y+17;
- const n=this.infoBg.y+this.infoBg.height+14;
- this.list.y=n;
- const h=Math.min(352,103*i.length);
- this.list.setListHeight(h),this.height=this.list.y+this.list.height+30}
- onEnter(){
- ++this.count>60&&(this.count=0,this.onEnterUpdate())}
- onEnterUpdate(){
- const t=.001*(this.endTime-ix.time);
- this.lblRemainTime.textColor=t<43200?nD.COLOR_RED:nD.DEFAULT_COLOR,this.lblRemainTime.text=t>0?`${
- oU.displayTimeAsTwoOfDDHHMMSS(t)}
- `:yG.getText("GAME_949","이벤트 종료")}
- switchTab(t){
- this.activeIndex=t;
- for(let i=0;
- i<this.tabs.length;
- i++)this.tabs[i].selected=i===t;
- this.updateLayout()}
- layoutTabs(){
- let t=.5*(this.width-46-2);
- for(const s of this.tabs)s.fitWithinWidth(t,50);
- let i=23;
- for(let s=0;
- s<this.tabs.length;
- s++){
- const e=this.tabs[s];
- i=23+(t+2)*s,e.x=i,e.y=65}
- }
- }
- ;
- Kt(u6,"PaymentEventPopup"),zt(u6,"_instance"),zt(u6,"TAB_HEIGHT",60);
- let d6=u6;
- const f6=class t extends VV{
- constructor(){
- super(),zt(this,"tabs",[]),zt(this,"buttons",[]),zt(this,"activeIndex",0),zt(this,"onTabChange",null),zt(this,"btnPaymentEvent",new dB("UI_Ekkorr","Package_2",.7)),zt(this,"clickedEventInfo",[]),zt(this,"cnt",0),this.btnPaymentEvent.onClick=this.onPaymentEventClick.bind(this),this.addChild(this.btnPaymentEvent),this.btnPaymentEvent.visible=!1,this.on("added",this.onAdded,this),this.on("removed",this.onRemoved,this)}
- static getInstance(){
- return null==t.instance&&(t.instance=new t),t.instance}
- async onAdded(){
- this.btnPaymentEvent.hideRedDot();
- const t=await $A.getPaymentEventInfo();
- if(t)for(this.clickedEventInfo=t.split("#").map(t=>""===t?[0]:t.split("|").map(Number));
- this.clickedEventInfo.length<2;
- )this.clickedEventInfo.push([0]);
- else this.clickedEventInfo=Array.from({
- length:2}
- ,()=>[0]);
- GM.getInstance().add(this.onFrame,this)}
- onRemoved(){
- GM.getInstance().remove(this.onFrame,this)}
- async onPaymentEventClick(){
- await d6.getInstance().update(),d6.getInstance().show();
- const t=[cU.currentPaymentSpecialEvent,cU.currentPaymentMonthEvent];
- this.clickedEventInfo=[];
- for(const i of t){
- if(!i){
- this.clickedEventInfo.push([]);
- continue}
- const t=[];
- t.push(i.id);
- for(let s=0;
- s<i.rewards.length;
- s++){
- let e=i.amounts[s].amount;
- cU.isUsdCurrency()&&(e=i.amounts[s].usdAmount),i.userAmount>=e?t.push(1):t.push(0)}
- this.clickedEventInfo.push(t)}
- $A.savePaymentEventInfo(this.clickedEventInfo.map(t=>t.join("|")).join("#"))}
- onFrame(){
- this.cnt-- >0||(this.cnt=30,this.updatePaymentEvent())}
- updatePaymentEvent(){
- if(this.buttons.length<2)return;
- const t=this.buttons[1];
- if(this.buttons[1]&&(cU.isValidEvent(lU.PAYMENT_EVENT)?(this.btnPaymentEvent.visible=!0,cU.currentPaymentSpecialEvent?t.showEventTag(-3,2):t.hideEventTag()):(this.btnPaymentEvent.visible=!1,t.hideEventTag()),this.btnPaymentEvent.visible&&(cU.currentPaymentSpecialEvent||cU.currentPaymentMonthEvent))){
- const t=!!cU.currentPaymentSpecialEvent&&this.clickedEventInfo[0][0]<cU.currentPaymentSpecialEvent.id,i=!!cU.currentPaymentMonthEvent&&this.clickedEventInfo[1][0]<cU.currentPaymentMonthEvent.id;
- t||this.checkNewReach(0)||i||this.checkNewReach(1)?this.btnPaymentEvent.showRedDot():this.btnPaymentEvent.hideRedDot()}
- }
- checkNewReach(t){
- const i=0==t?cU.currentPaymentSpecialEvent:cU.currentPaymentMonthEvent;
- if(!i)return!1;
- for(let s=0;
- s<i.rewards.length;
- s++){
- let e=i.amounts[s].amount;
- if(cU.isUsdCurrency()&&(e=i.amounts[s].usdAmount),0==this.clickedEventInfo[t][s+1]&&i.userAmount>=e)return!0}
- return!1}
- setTabs(t){
- for(const i of this.buttons)this.removeChild(i);
- this.buttons=[],this.tabs=t;
- for(let i=0;
- i<t.length;
- i++){
- const s=t[i],e=new W3(yG.getText(s.labelKey,s.defaultText));
- e.height=50,this.addChild(e),this.buttons[i]=e;
- const n=i;
- e.onClick=()=>this.setActiveTab(n)}
- this.layoutTabs(),this.setActiveTab(0),this.updateLayout()}
- layoutTabs(){
- if(this.buttons.reduce((t,i)=>t+i.width,0)+2*Math.max(0,this.buttons.length-1)<=628){
- let t=634;
- for(let i=this.buttons.length-1;
- i>=0;
- i--){
- const s=this.buttons[i];
- s.height=50,t-=s.width+2,s.x=t,s.y=5}
- }
- else{
- const t=this.buttons.length,i=Math.floor((628-2*(t-1))/t),s=56;
- let e=634;
- for(let n=t-1;
- n>=0;
- n--){
- const t=this.buttons[n];
- t.setMultilineMode(i,s,15),e-=i+2,t.x=e,t.y=.5*(60-s)}
- }
- }
- setActiveTab(t){
- this.activeIndex=t;
- for(let i=0;
- i<this.buttons.length;
- i++)this.buttons[i].selected=i===t;
- this.onTabChange&&this.onTabChange(t)}
- updateLayout(){
- const t=this.buttons[0];
- this.btnPaymentEvent.x=this.lblTitle.x+this.lblTitle.width+10,this.btnPaymentEvent.y=t.y+.5*(t.height-this.btnPaymentEvent.height)}
- updateLanguage(){
- this.setTitle(yG.getText("COMMON_356","상점")),this.setTabs(this.tabs)}
- }
- ;
- Kt(f6,"ShopSubMenu"),zt(f6,"instance");
- let p6=f6;
ClickAniLayer 3 hunks, 316 statements
- const O5=class t{
- static get opened(){
- return!1}
- static async getMyReferralCode(){
- if(this._referralCode)return this._referralCode;
- if(this.requestPending1)return this._referralCode;
- this.requestPending1=!0;
- const t=await iD.getInstance().referral.getMyReferralCode();
- try{
- const i=new URL(t);
- Array.from(i.searchParams.keys()).length>0&&(this._referralCode=t)}
- catch(i){
- }
- return this.requestPending1=!1,this._referralCode}
- static async getMyReferralStatus(t,i=!1){
- this.requestPending2||(this.requestPending2=!0,this.setStatusData({
- totalReferrals:10,qualifiedReferrals:7,claimed:2,milestoneRewards:[{
- milestone:10,weaponGrade:3}
- ,{
- milestone:20,weaponGrade:3}
- ,{
- milestone:30,weaponGrade:3}
- ,{
- milestone:40,weaponGrade:4}
- ,{
- milestone:50,weaponGrade:4}
- ]}
- ),this.requestPending2=!1,lS.getInstance().dispatchCustomEvent("ReferralStatus"))}
- static setStatusData(t){
- this._totalReferrals=Number(t.totalReferrals),this._qualifiedReferrals=Number(t.qualifiedReferrals),this._claimed=Number(t.claimed);
- const i=t.milestoneRewards;
- if(0==this.rewardList.length&&"length"in i){
- const t=i[i.length-1].milestone;
+ const X5=class extends aS{
+ constructor(){
+ super(),zt(this,"blocker"),zt(this,"allowRect"),zt(this,"highlightBorder"),zt(this,"dimParts",[]),this.createUI()}
+ createUI(){
- i<t;
- ++i)this.rewardList.push([{
- type:"gem",amount:this.GEM_PER_FRIEND}
- ]);
- const s=i.length;
- for(let e=0;
- e<s;
- ++e){
- const t=Number(i[e].milestone),s=Number(i[e].weaponGrade);
- this.rewardList[t-1].push({
- type:"weapon",amount:1,grade:s}
+ t<4;
+ t++){
+ const t=new Gf;
+ t.alpha=.5,t.rect(0,0,1,1).fill(0),this.dimParts.push(t),this.addChild(t)}
+ this.blocker=new Gf,this.blocker.rect(0,0,640,KA.stageHeight).fill(0),this.blocker.alpha=0,this.blocker.eventMode="static",this.addChild(this.blocker),this.highlightBorder=new Gf,this.addChild(this.highlightBorder),this.allowRect=new Pi(0,0,0,0),this.setBlockerEnabled(!1)}
+ setClickArea(t,i,s,e){
+ this.allowRect=new Pi(t,i,s,e),this.updateDim(),this.blocker.hitArea={
+ contains:Kt((t,i)=>!this.allowRect.contains(t,i),"contains")}
+ ,this.setBlockerEnabled(!0)}
+ setBlockerEnabled(t){
+ this.blocker.eventMode=t?"static":"none";
+ for(const i of this.dimParts)i.visible=t;
+ this.highlightBorder.visible=t}
+ updateDim(){
+ const t=KA.stageHeight,{
+ x:i,y:s,width:e,height:n}
+ =this.allowRect;
+ this.dimParts[0].clear().rect(0,0,640,s).fill(0),this.dimParts[1].clear().rect(0,s,i,n).fill(0),this.dimParts[2].clear().rect(i+e,s,640-(i+e),n).fill(0),this.dimParts[3].clear().rect(0,s+n,640,t-(s+n)).fill(0),this.highlightBorder.clear().rect(i,s,e,n).stroke({
+ color:16776960,width:3}
- Kt(O5,"FriendInviteManager"),zt(O5,"FRIEND_LEVEL",50),zt(O5,"GEM_PER_FRIEND",100),zt(O5,"_referralCode",""),zt(O5,"requestPending1",!1),zt(O5,"requestPending2",!1),zt(O5,"_totalReferrals",0),zt(O5,"_qualifiedReferrals",0),zt(O5,"_claimed",0),zt(O5,"rewardList",[]),zt(O5,"requestPending3",!1);
- let I5=O5;
- var x5=(t=>(t.GAME="GAME",t.PAYMENT="PAYMENT",t))(x5||{
- }
- );
- const N5=class{
- constructor(){
- zt(this,"index",-1),zt(this,"id"),zt(this,"gameId"),zt(this,"title"),zt(this,"content"),zt(this,"rewards"),zt(this,"receivedAt"),zt(this,"createdAt"),zt(this,"mailType"),zt(this,"typeArray"),zt(this,"subTypeArray"),zt(this,"amountArray"),zt(this,"gradeArray"),zt(this,"kindNumArray"),this.index=-1,this.id=-1,this.gameId="",this.title="",this.content="",this.rewards=[],this.createdAt=null,this.receivedAt=null,this.mailType="",this.typeArray=[],this.subTypeArray=[],this.amountArray=[],this.gradeArray=[],this.kindNumArray=[]}
- setData(t,i){
- t&&(this.id=Number(t.id),this.gameId=String(t.gameId),this.title=t.title,this.content=t.content,this.rewards=t.rewards,this.createdAt=t.createdAt,t.receivedAt?this.receivedAt=t.receivedAt:this.receivedAt=null,this.mailType=i,this.typeArray.length=0,this.subTypeArray.length=0,this.amountArray.length=0,this.gradeArray.length=0,this.kindNumArray.length=0)}
- get hasReward(){
- return!(!this.rewards||0==this.rewards.length)&&Object.values(this.rewards).some(t=>!!t&&("number"==typeof t?t>0:!!t))}
- get hasClaimableReward(){
- return this.hasReward&&null==this.receivedAt}
- get isDeletable(){
- return null!=this.receivedAt}
- reset(){
- this.index=-1,this.id=-1,this.gameId="",this.title="",this.content="",this.rewards.length=0,this.createdAt=null,this.receivedAt=null,this.mailType="",this.typeArray.length=0,this.subTypeArray.length=0,this.amountArray.length=0,this.gradeArray.length=0,this.kindNumArray.length=0}
- }
- ;
- Kt(N5,"MailVO");
- let P5=N5;
- const R5=class{
- static async getMailList(t=1){
- let i=await iD.getInstance().mail.list(t,this.pageSize);
- 0!=i.success?t>this.page?this.setData(i.body,!0):this.setData(i.body):lS.getInstance().dispatchCustomEvent("MailUpdate")}
- static setData(t,i=!1){
- let s,e,n,h;
- if(t.mailList){
- const r=t.mailList;
- for(0==i?(h=[...this.gameList],this.gameList.length=0):h=[],e=r.length,s=0;
- s<e;
- ++s){
- r[s].content=this.filterContent(r[s].content);
- const t=Number(r[s].id),i=h.findIndex(i=>i.id===t);
- -1===i?n=this.getMailEmptyVO():(n=h.splice(i,1)[0],n.reset()),n.setData(r[s],x5.GAME),this.gameList.push(n),this.gameMailMap[n.id]=n}
- this.addListPool(h)}
- if(t.paymentMailList){
- const r=t.paymentMailList;
- for(0==i?(h=[...this.paymentList],this.paymentList.length=0):h=[],e=r.length,s=0;
- s<e;
- ++s){
- r[s].content=this.filterContent(r[s].content);
- const t=Number(r[s].id),i=h.findIndex(i=>i.id===t);
- -1===i?n=this.getMailEmptyVO():(n=h.splice(i,1)[0],n.reset()),n.setData(r[s],x5.PAYMENT),this.paymentList.push(n),this.paymentMailMap[n.id]=n,n.index=this.paymentList.length}
- this.addListPool(h)}
- "mailTotal"in t&&(this.mailsTotal=Number(t.mailTotal)),"mailTotalPages"in t&&(this.mailTotalPages=Number(t.mailTotalPages)),"paymentTotal"in t&&(this.paymentMailsTotal=Number(t.paymentTotal)),"paymentTotalPages"in t&&(this.paymentTotalPages=Number(t.paymentTotalPages)),this.updatePage(),this.updateNeeded=!1,lS.getInstance().dispatchCustomEvent("MailUpdate"),this.log()}
- static filterContent(t){
- return t.replace(/\r\n/g,"\n")}
- static onMailDeleteAndUpdate(t){
- t==x5.PAYMENT?(this.paymentMailsTotal>0&&this.paymentMailsTotal--,this.paymentTotalPages=Math.floor((this.paymentMailsTotal-1)/this.pageSize)+1):(this.mailsTotal>0&&this.mailsTotal--,this.mailTotalPages=Math.floor((this.mailsTotal-1)/this.pageSize)+1),this.updatePage()}
- static updatePage(){
- const t=Math.max(this.gameList.length,this.paymentList.length);
- this.page=Math.floor((t-1)/this.pageSize)+1,this.page<1&&(this.page=1)}
- static log(){
- }
- static getGameMailWithId(t){
- return this.gameMailMap[t]}
- static getPaymentMailWithId(t){
- return this.paymentMailMap[t]}
- static getMailCount(t){
- return t==x5.PAYMENT?this.paymentList.length:this.gameList.length}
- static getMailTotal(t){
- return t==x5.PAYMENT?this.paymentMailsTotal:this.mailsTotal}
- static getMailTotalPage(t){
- return t==x5.PAYMENT?this.paymentTotalPages:this.mailTotalPages}
- static isAllMailLoaded(t){
- let i=0,s=0,e=0;
- return t==x5.PAYMENT?(i=this.paymentList.length,s=this.paymentMailsTotal,e=this.paymentTotalPages):(i=this.gameList.length,s=this.mailsTotal,e=this.mailTotalPages),!(Math.floor((i-1)/this.pageSize)+1<e||i<s)}
- static getPage(){
- return this.page}
- static getPageSize(){
- return this.pageSize}
- static getDisplaySize(){
- return this.displaySize}
- static setDisplaySize(t){
- t>0&&(this.displaySize=t)}
- static getMailEmptyVO(){
- if(this.mailPool.length>0){
- let t=this.mailPool.pop();
- return t?t.reset():t=new P5,t}
- return new P5}
- static addPool(t){
- t&&(t.reset(),this.mailPool.push(t))}
- static addListPool(t){
- if(!t)return;
- let i;
- const s=t.length;
- for(let e=0;
- e<s;
- ++e)i=t[e],i&&(i.reset(),this.mailPool.push(i))}
- static removeGameMail(t){
- const i=this.gameList.findIndex(i=>i.id===t);
- -1!==i&&(this.gameList.splice(i,1),this.addPool(this.gameMailMap[t]),delete this.gameMailMap[t])}
- static removePaymentMail(t){
- const i=this.paymentList.findIndex(i=>i.id===t);
- -1!==i&&(this.paymentList.splice(i,1),this.addPool(this.paymentMailMap[t]),delete this.paymentMailMap[t])}
- static get hasDeletableGameMail(){
- return-1!==this.gameList.findIndex(t=>!0===t.isDeletable)}
- static get hasDeletablePaymentMail(){
- return-1!==this.paymentList.findIndex(t=>!0===t.isDeletable)}
- static get hasDeletableMail(){
- return this.hasClaimableGameReward||this.hasClaimablePaymentReward}
- static get hasClaimableReward(){
- return this.hasClaimableGameReward||this.hasClaimablePaymentReward}
- static get hasClaimableGameReward(){
- return this.checkClaimableReward(this.gameList)}
- static get hasClaimablePaymentReward(){
- return this.checkClaimableReward(this.paymentList)}
- static checkClaimableReward(t){
- const i=t.length;
- for(let s=0;
- s<i;
- ++s)if(t[s].hasClaimableReward)return!0;
- return!1}
- }
- ;
- Kt(R5,"MailManager"),zt(R5,"updateNeeded",!0),zt(R5,"mailPool",[]),zt(R5,"gameList",[]),zt(R5,"paymentList",[]),zt(R5,"gameMailMap",{
- }
- ),zt(R5,"paymentMailMap",{
- }
- ),zt(R5,"mailsTotal",0),zt(R5,"mailTotalPages",0),zt(R5,"paymentMailsTotal",0),zt(R5,"paymentTotalPages",0),zt(R5,"page",1),zt(R5,"pageSize",20),zt(R5,"displaySize",8);
- let D5=R5;
- var L5=(t=>(t.NOT_PURCHASE="NOT_PURCHASE",t.CREATED="CREATED",t.PENDING="PENDING",t.COMPLETED="COMPLETED",t.FAILED="FAILED",t))(L5||{
- }
- );
- const G5=class{
- constructor(){
- zt(this,"id",-1),zt(this,"productId",-1),zt(this,"paybackType",""),zt(this,"paybackValue",-1),zt(this,"status",""),zt(this,"paidbackAt",null)}
- }
- ;
- Kt(G5,"PaybackEventUserVO");
- let B5=G5;
- const U5=class{
- constructor(){
- zt(this,"id",-1),zt(this,"title",""),zt(this,"description",[]),zt(this,"startTime",null),zt(this,"endTime",null),zt(this,"paybackEndTime",null)}
- }
- ;
- Kt(U5,"PaybackEventVO");
- let F5=U5;
- const H5=class{
- static get opened(){
- return!1}
- static async getPaybackEvent(t,i=!1){
- let s=await iD.getInstance().payback.getPaybackEvent(t,i);
- s=this.getTestData(),0!=s.success?(this.setData(s.body),lS.getInstance().dispatchCustomEvent("PaybackEvent")):lS.getInstance().dispatchCustomEvent("PaybackEvent")}
- static setData(t){
- this.setPaybackEventData(t),this.setPaybackUserData(t)}
- static setPaybackEventData(t){
- if(!t||!t.paybackEvent)return void(this.paybackEvent.id=0);
- const i=t.paybackEvent;
- this.paybackEvent.id=Number(i.id),this.paybackEvent.title=String(i.title),this.paybackEvent.description=String(i.description).split("|"),this.paybackEvent.startTime=new Date(i.startTime),this.paybackEvent.endTime=new Date(i.endTime),this.paybackEvent.paybackEndTime=new Date(i.paybackEndTime)}
- static getEventDurationStr(t){
- const i={
- startTimeStr:"",endTimeStr:"",paybackEndTimeStr:""}
- ,s="YYYY-MM-DD";
- let e="00:00:00";
- if(t.startTime){
- const n=t.startTime,h=s.replace("YYYY",String(n.getUTCFullYear())).replace("MM",oU.digit(n.getUTCMonth()+1)).replace("DD",oU.digit(n.getUTCDate()));
- e=`${
- oU.digit(n.getUTCHours())}
- :${
- oU.digit(n.getUTCMinutes())}
- :${
- oU.digit(n.getUTCSeconds())}
- `,i.startTimeStr=h}
- let n="23:59:59";
- if(t.endTime){
- const e=t.endTime,h=s.replace("YYYY",String(e.getUTCFullYear())).replace("MM",oU.digit(e.getUTCMonth()+1)).replace("DD",oU.digit(e.getUTCDate()));
- n=`${
- oU.digit(e.getUTCHours())}
- :${
- oU.digit(e.getUTCMinutes())}
- :${
- oU.digit(e.getUTCSeconds())}
- `,i.endTimeStr=h}
- let h="23:59:59";
- if(t.paybackEndTime){
- const e=t.paybackEndTime,n=s.replace("YYYY",String(e.getUTCFullYear())).replace("MM",oU.digit(e.getUTCMonth()+1)).replace("DD",oU.digit(e.getUTCDate()));
- h=`${
- oU.digit(e.getUTCHours())}
- :${
- oU.digit(e.getUTCMinutes())}
- :${
- oU.digit(e.getUTCSeconds())}
- `,i.paybackEndTimeStr=n}
- return"00:00:00"==e&&"23:59:59"==n&&"23:59:59"==h||(i.startTimeStr+=" "+e,i.endTimeStr+=" "+n,i.paybackEndTimeStr+=" "+h),i}
- static setPaybackUserData(t){
- if(!t||!t.paybacks)return;
- const i=t.paybacks,s=i.length;
- if(0==this.paybacks.length)for(let h=0;
- h<s;
- ++h)this.paybacks.push(new B5);
- let e,n;
- for(let h=0;
- h<s;
- ++h)e=i[h],n=this.paybacks[h],n.id=Number(e.id),n.productId=Number(e.productId),n.paybackType=String(e.paybackType),n.paybackValue=Number(e.paybackValue),n.status=String(e.status),n.paidbackAt=new Date(String(e.paidbackAt))}
- static isEventEnded(){
- const t=this.paybackEvent;
- return t.id<0||!t.endTime||!(uP.serverTime<t.endTime.getTime())}
- static isPaybackEnded(){
- const t=this.paybackEvent;
- return t.id<0||!t.paybackEndTime||!(uP.serverTime<t.paybackEndTime.getTime())}
- static hasReward(){
- if(1==this.isPaybackEnded())return!1;
- let t;
- const i=this.paybacks.length;
- for(let s=0;
- s<i;
- ++s)if(t=this.paybacks[s],t.status==L5.CREATED||t.status==L5.FAILED)return!0;
- return!1}
- static getTestData(){
- return{
- header:{
- sts:1771417950938}
- ,body:{
- paybackEvent:{
- id:7,gameId:"smith",active:1,subId:3,title:"PAYBACK_T1",description:"PAYBACK_H1|PAYBACK_H2|PAYBACK_H3|PAYBACK_H4|PAYBACK_H5|PAYBACK_H6",startTime:"2026-02-17T00:00:00.000Z",endTime:"2026-02-20T21:59:59.000Z",paybackEndTime:"2026-02-20T23:59:59.000Z"}
- ,paybacks:[{
- id:21,gameId:"smith",subId:3,step:1,productId:111,reqProductId:0,paybackType:"slx",paybackValue:299,status:"COMPLETED",paidbackAt:null}
- ,{
- id:22,gameId:"smith",subId:3,step:2,productId:112,reqProductId:111,paybackType:"slx",paybackValue:998,status:"CREATED",paidbackAt:null}
- ,{
- id:23,gameId:"smith",subId:3,step:3,productId:113,reqProductId:112,paybackType:"slx",paybackValue:4995,status:"NOT_PURCHASE",paidbackAt:null}
- ,{
- id:24,gameId:"smith",subId:3,step:4,productId:114,reqProductId:113,paybackType:"slx",paybackValue:9990,status:"NOT_PURCHASE",paidbackAt:null}
- ,{
- id:25,gameId:"smith",subId:3,step:5,productId:115,reqProductId:114,paybackType:"slx",paybackValue:19980,status:"NOT_PURCHASE",paidbackAt:null}
- ,{
- id:26,gameId:"smith",subId:3,step:6,productId:116,reqProductId:115,paybackType:"slx",paybackValue:49950,status:"NOT_PURCHASE",paidbackAt:null}
- ,{
- id:27,gameId:"smith",subId:3,step:7,productId:117,reqProductId:116,paybackType:"slx",paybackValue:99900,status:"NOT_PURCHASE",paidbackAt:null}
- ]}
- ,_success_:!0,_ok_:!0,_status_:201}
- }
- }
- ;
- Kt(H5,"PaybackEventManager"),zt(H5,"paybackEvent",new F5),zt(H5,"paybacks",[]);
- let W5=H5;
- const j5=class extends Be{
- constructor(t=552,i=106,s="Banner"){
- super(),zt(this,"banner"),zt(this,"bannerName",""),zt(this,"sheetName","Banner"),zt(this,"_width",552),zt(this,"_height",106),zt(this,"_imageWidth",-1),zt(this,"_imageHeight",-1),zt(this,"_autoResize",!1),this._width=t,this._height=i,this.sheetName=s,this.banner=new We,this.addChild(this.banner)}
- get width(){
- return this._width}
- get height(){
- return this._height}
- get imageWidth(){
- return this._imageWidth}
- get imageHeight(){
- return this._imageHeight}
- get autoResize(){
- return this._autoResize}
- set autoResize(t){
- t!=this._autoResize&&(this._autoResize=t,this._imageWidth<0||this._imageHeight<0||(this._autoResize?(this.banner.width=this._width,this.banner.height=this._height):(this.banner.width=this._imageWidth,this.banner.height=this._imageHeight)))}
- async update(t,i=-1,s=-1,e="Banner"){
- if(t==this.bannerName)return;
- if(this.bannerName=t,this.sheetName=e,!1===ZA.hasSheet(this.sheetName)){
- const t="ktx2";
- await ZA.generateTexture(this.sheetName,t,!1)}
- let n=ZA.getTexture(this.sheetName,this.bannerName);
- this.banner.texture=n,this._imageWidth=n.width,this._imageHeight=n.height,this._autoResize?(this.banner.width=this._width,this.banner.height=this._height):(this.banner.width=this._imageWidth,this.banner.height=this._imageHeight)}
- }
- ;
- Kt(j5,"BannerImage");
+ Kt(X5,"ClickAniLayer");
HeroDetailPopup 29 hunks, 200 statements
- super(),zt(this,"icon",new v3),zt(this,"lblName",new KD("",nD.DEFAULT_COLOR,nD.DEFAULT_OUTLINE_FONT_OPTION_20)),zt(this,"lblHp",new PB("UI_HEART","0",16711680,nD.DEFAULT_OUTLINE_FONT_OPTION_18)),zt(this,"lblAtk",new PB("UI_MAGIC_WAND","0",39423,nD.DEFAULT_OUTLINE_FONT_OPTION_18)),zt(this,"lblDef",new PB("UI_PHY_DEFENSE","0",16776960,nD.DEFAULT_OUTLINE_FONT_OPTION_18)),zt(this,"lblMagDef",new PB("UI_MAGIC_DEFENSE","0",16776960,nD.DEFAULT_OUTLINE_FONT_OPTION_18)),zt(this,"lblBlock",new PB("ICON_UNIT","0",nD.DEFAULT_COLOR,nD.DEFAULT_OUTLINE_FONT_OPTION_18)),zt(this,"lblAtkSpd",new PB("UI_ATTACK_SPEED","0",16776960,nD.DEFAULT_OUTLINE_FONT_OPTION_18)),zt(this,"lblMoveSpd",new PB("UI_MOVE_SPEED","0",16776960,nD.DEFAULT_OUTLINE_FONT_OPTION_18)),zt(this,"lblRecovery",new PB("ICON_OPEN","0",16776960,nD.DEFAULT_OUTLINE_FONT_OPTION_18)),zt(this,"lblAtkRange",new PB("UI_ATTACK_RANGE","0",16776960,nD.DEFAULT_OUTLINE_FONT_OPTION_18)),zt(this,"lblCriChange",new PB("UI_CRITICAL_PERCENT","0",16776960,nD.DEFAULT_OUTLINE_FONT_OPTION_18)),zt(this,"lblCriDamage",new PB("UI_CRITICAL_DAMAGE","0",16776960,nD.DEFAULT_OUTLINE_FONT_OPTION_18)),zt(this,"iconAtkType",new We(ZA.getTexture("UI_Ekkorr","ICON_MELEE"))),zt(this,"iconDamageType",new We(ZA.getTexture("UI_Ekkorr","ICON_SWORD"))),zt(this,"iconTribeType",new We(ZA.getTexture("UI_Ekkorr","HUMAN_ICON"))),zt(this,"iconIsAir",new We(ZA.getTexture("UI_Ekkorr","ICON_AIR"))),zt(this,"iconIsMale",new We(ZA.getTexture("UI_Ekkorr","MALE_ICON"))),zt(this,"iconDetect",new We(ZA.getTexture("UI_Ekkorr","DETECT_ICON"))),zt(this,"canAirAttack",new We(ZA.getTexture("UI_Ekkorr","AIR_ICON"))),zt(this,"btnEnhance",new AU("UI_STAR_ICON","1000","강화",.8,160,70)),zt(this,"btnEvolve",new AU("UI_GEM","100","진화",.8,200,70)),zt(this,"btnSell",new AU("UI_GEM","10","해고",.8,200,70)),zt(this,"btnHire",new AU("UI_GEM","","",.8,160,70)),zt(this,"btn10Enhance",new AU("UI_STAR_ICON","10000","+10",.8,160,70)),zt(this,"btn100Enhance",new AU("UI_STAR_ICON","100000","+100",.8,160,70)),zt(this,"multiEnhanceContainer",new Be),zt(this,"enhanceRapidClickCount",0),zt(this,"lastEnhanceRapidClickTime",0),zt(this,"RAPID_CLICK_THRESHOLD",500),zt(this,"RAPID_CLICK_COUNT",3),zt(this,"enhanceTimer",null),zt(this,"enhanceStartValue",-1),zt(this,"enhanceStartMedal",-1),zt(this,"propertyList",[]),zt(this,"propertyContainer",new Be),zt(this,"basicPropertyContainer",new Be),zt(this,"basicPropertyList",[]),zt(this,"lblNormalAttackTitle",new KD("# 일반 공격",nD.DEFAULT_COLOR,nD.DEFAULT_FONT_OPTION_16)),zt(this,"lblNormalAttackDesc",new KD("적을 강타합니다.",nD.DEFAULT_COLOR,nD.DEFAULT_FONT_OPTION_16)),zt(this,"lblSpecialAttackTitle",new KD("# 스킬 공격",nD.DEFAULT_COLOR,nD.DEFAULT_FONT_OPTION_16)),zt(this,"lblSpecialAttackDesc",new KD("스킬이 없습니다.",nD.DEFAULT_COLOR,nD.DEFAULT_FONT_OPTION_16)),zt(this,"lblUniqueTitle",new KD("# 고유스킬",16776960,nD.DEFAULT_FONT_OPTION_16)),zt(this,"lblUniqueDesc",new KD("고유스킬이 없습니다",16776960,nD.DEFAULT_FONT_OPTION_16)),zt(this,"lblTribleTitle",new KD("# 종족 특성",nD.DEFAULT_COLOR,nD.DEFAULT_FONT_OPTION_16)),zt(this,"lblTribleDesc",new KD("진화하면, 종족 특성이 추가됩니다.\n밤에는 공격력이 10% 증가하고, 낮에는 공격력이 10% 감소합니다.",nD.DEFAULT_COLOR,nD.DEFAULT_FONT_OPTION_16)),zt(this,"starIcon",new We(ZA.getTextures("UI_Ekkorr","UI_UNIT_RARE")[0])),zt(this,"contentContainer",new Be),zt(this,"tapDetail",new W3("상세",200)),zt(this,"tapSkill",new W3("스킬",200)),zt(this,"detailContainer",new Be),zt(this,"skillContainer",new Be),zt(this,"basicPropertyBg"),zt(this,"basicPropertyBg2"),zt(this,"lblGoldSkill",new KD("골드스킬",6736896,nD.DEFAULT_FONT_OPTION_16)),zt(this,"goldSkillList"),zt(this,"container",new Be),zt(this,"draggableBg"),zt(this,"draggableMask"),zt(this,"draggableContainer"),zt(this,"tapTrans",new W3("초월",200)),zt(this,"transContainer",new Be),zt(this,"transBg"),zt(this,"transPageNav"),zt(this,"transStatusTable"),zt(this,"transGradeTable"),zt(this,"lblTransMaxTop",new KD("",11184810,nD.DEFAULT_OUTLINE_FONT_OPTION_18)),zt(this,"lblTransMaxBottom",new KD("",11184810,nD.DEFAULT_OUTLINE_FONT_OPTION_18)),zt(this,"lblTransStepTitle",new KD("1차 초월",nD.DEFAULT_COLOR,nD.DEFAULT_OUTLINE_FONT_OPTION_18)),zt(this,"materialContainer",new Be),zt(this,"materialIcons",[]),zt(this,"materialCountLabels",[]),zt(this,"materialSatisfied",[!1,!1,!1,!1,!1]),zt(this,"btnDoTrans",new AU("PVP_COIN_ON","100","초월",1,200,70)),zt(this,"bookVo"),zt(this,"vo"),zt(this,"mode","list"),zt(this,"tribeIcons",["HUMAN_ICON","HUMAN_ICON","ELF_ICON","UNDEAD_ICON","ORC_ICON","DEMON_ICON","ANGEL_ICON"]),zt(this,"requestPending",!1),zt(this,"onHeroEvolveBind"),this.y=Math.min(KA.safeHeight-t.POPUP_MIN_HEIGHT,KA.viewMainY),this.bg.height=KA.safeHeight-this.y,this.addChild(this.container),this.addChild(this.contentContainer),this.icon.x=11,this.icon.y=50,this.lblName.align="center",this.lblName.y=this.icon.y+5,this.lblName.x=this.icon.x+this.icon.width+10,this.lblHp.y=this.lblAtk.y=this.lblDef.y=this.lblMagDef.y=this.lblBlock.y=this.lblName.y+this.lblName.height+16,this.lblHp.x=this.lblName.x,this.lblAtk.x=this.lblHp.x+100,this.lblDef.x=this.lblAtk.x+100,this.lblMagDef.x=this.lblDef.x+100,this.lblBlock.iconScale=1.05,this.lblBlock.x=this.lblMagDef.x+100,this.container.addChild(this.detailContainer),this.goldSkillList=new zI(q7,620,530),this.goldSkillList.x=13,this.goldSkillList.y=0,this.skillContainer.addChild(this.goldSkillList),this.lblGoldSkill.x=this.goldSkillList.x,this.lblGoldSkill.y=this.goldSkillList.y+this.goldSkillList.getListHeight()+10,this.lblGoldSkill.text=`# ${
+ super(),zt(this,"icon",new d3),zt(this,"lblName",new YD("",aD.DEFAULT_COLOR,aD.DEFAULT_OUTLINE_FONT_OPTION_20)),zt(this,"lblHp",new GB("UI_HEART","0",16711680,aD.DEFAULT_OUTLINE_FONT_OPTION_18)),zt(this,"lblAtk",new GB("UI_MAGIC_WAND","0",39423,aD.DEFAULT_OUTLINE_FONT_OPTION_18)),zt(this,"lblDef",new GB("UI_PHY_DEFENSE","0",16776960,aD.DEFAULT_OUTLINE_FONT_OPTION_18)),zt(this,"lblMagDef",new GB("UI_MAGIC_DEFENSE","0",16776960,aD.DEFAULT_OUTLINE_FONT_OPTION_18)),zt(this,"lblBlock",new GB("ICON_UNIT","0",aD.DEFAULT_COLOR,aD.DEFAULT_OUTLINE_FONT_OPTION_18)),zt(this,"lblAtkSpd",new GB("UI_ATTACK_SPEED","0",16776960,aD.DEFAULT_OUTLINE_FONT_OPTION_18)),zt(this,"lblMoveSpd",new GB("UI_MOVE_SPEED","0",16776960,aD.DEFAULT_OUTLINE_FONT_OPTION_18)),zt(this,"lblRecovery",new GB("ICON_OPEN","0",16776960,aD.DEFAULT_OUTLINE_FONT_OPTION_18)),zt(this,"lblAtkRange",new GB("UI_ATTACK_RANGE","0",16776960,aD.DEFAULT_OUTLINE_FONT_OPTION_18)),zt(this,"lblCriChange",new GB("UI_CRITICAL_PERCENT","0",16776960,aD.DEFAULT_OUTLINE_FONT_OPTION_18)),zt(this,"lblCriDamage",new GB("UI_CRITICAL_DAMAGE","0",16776960,aD.DEFAULT_OUTLINE_FONT_OPTION_18)),zt(this,"iconAtkType",new We(ZA.getTexture("UI_Ekkorr","ICON_MELEE"))),zt(this,"iconDamageType",new We(ZA.getTexture("UI_Ekkorr","ICON_SWORD"))),zt(this,"iconTribeType",new We(ZA.getTexture("UI_Ekkorr","HUMAN_ICON"))),zt(this,"iconIsAir",new We(ZA.getTexture("UI_Ekkorr","ICON_AIR"))),zt(this,"iconIsMale",new We(ZA.getTexture("UI_Ekkorr","MALE_ICON"))),zt(this,"iconDetect",new We(ZA.getTexture("UI_Ekkorr","DETECT_ICON"))),zt(this,"canAirAttack",new We(ZA.getTexture("UI_Ekkorr","AIR_ICON"))),zt(this,"btnEnhance",new kU("UI_STAR_ICON","1000","강화",.8,160,70)),zt(this,"btnEvolve",new kU("UI_GEM","100","진화",.8,200,70)),zt(this,"btnEvolveMass",new kU("UI_GEM","100","대량진화",.8,230,70)),zt(this,"btnSell",new kU("UI_GEM","10","해고",.8,200,70)),zt(this,"btnHire",new kU("UI_GEM","","",.8,160,70)),zt(this,"btn10Enhance",new kU("UI_STAR_ICON","10000","+10",.8,160,70)),zt(this,"btn100Enhance",new kU("UI_STAR_ICON","100000","+100",.8,160,70)),zt(this,"multiEnhanceContainer",new Be),zt(this,"enhanceRapidClickCount",0),zt(this,"lastEnhanceRapidClickTime",0),zt(this,"RAPID_CLICK_THRESHOLD",500),zt(this,"RAPID_CLICK_COUNT",3),zt(this,"enhanceTimer",null),zt(this,"enhanceStartValue",-1),zt(this,"enhanceStartMedal",-1),zt(this,"propertyList",[]),zt(this,"propertyContainer",new Be),zt(this,"basicPropertyContainer",new Be),zt(this,"basicPropertyList",[]),zt(this,"lblNormalAttackTitle",new YD("# 일반 공격",aD.DEFAULT_COLOR,aD.DEFAULT_FONT_OPTION_16)),zt(this,"lblNormalAttackDesc",new YD("적을 강타합니다.",aD.DEFAULT_COLOR,aD.DEFAULT_FONT_OPTION_16)),zt(this,"lblSpecialAttackTitle",new YD("# 스킬 공격",aD.DEFAULT_COLOR,aD.DEFAULT_FONT_OPTION_16)),zt(this,"lblSpecialAttackDesc",new YD("스킬이 없습니다.",aD.DEFAULT_COLOR,aD.DEFAULT_FONT_OPTION_16)),zt(this,"lblUniqueTitle",new YD("# 고유스킬",16776960,aD.DEFAULT_FONT_OPTION_16)),zt(this,"lblUniqueDesc",new YD("고유스킬이 없습니다",16776960,aD.DEFAULT_FONT_OPTION_16)),zt(this,"lblTribleTitle",new YD("# 종족 특성",aD.DEFAULT_COLOR,aD.DEFAULT_FONT_OPTION_16)),zt(this,"lblTribleDesc",new YD("진화하면, 종족 특성이 추가됩니다.\n밤에는 공격력이 10% 증가하고, 낮에는 공격력이 10% 감소합니다.",aD.DEFAULT_COLOR,aD.DEFAULT_FONT_OPTION_16)),zt(this,"starIcon",new We(ZA.getTextures("UI_Ekkorr","UI_UNIT_RARE")[0])),zt(this,"contentContainer",new Be),zt(this,"tapDetail",new E4("상세",200)),zt(this,"tapSkill",new E4("스킬",200)),zt(this,"detailContainer",new Be),zt(this,"skillContainer",new Be),zt(this,"basicPropertyBg"),zt(this,"basicPropertyBg2"),zt(this,"lblGoldSkill",new YD("골드스킬",6736896,aD.DEFAULT_FONT_OPTION_16)),zt(this,"goldSkillList"),zt(this,"container",new Be),zt(this,"draggableBg"),zt(this,"draggableMask"),zt(this,"draggableContainer"),zt(this,"tapTrans",new E4("초월",200)),zt(this,"transContainer",new Be),zt(this,"transBg"),zt(this,"transPageNav"),zt(this,"transStatusTable"),zt(this,"transGradeTable"),zt(this,"transMode",1),zt(this,"btnTransMode1"),zt(this,"btnTransMode10"),zt(this,"lblTransMaxTop",new YD("",11184810,aD.DEFAULT_OUTLINE_FONT_OPTION_18)),zt(this,"lblTransMaxBottom",new YD("",11184810,aD.DEFAULT_OUTLINE_FONT_OPTION_18)),zt(this,"lblTransStepTitle",new YD("1차 초월",aD.DEFAULT_COLOR,aD.DEFAULT_OUTLINE_FONT_OPTION_18)),zt(this,"materialContainer",new Be),zt(this,"materialIcons",[]),zt(this,"materialCountLabels",[]),zt(this,"materialSatisfied",[!1,!1,!1,!1,!1]),zt(this,"btnTrans",new kU("PVP_COIN_ON","100","초월",1,200,70)),zt(this,"btnTransTicket",new kU("Ticket_HeroTrans_s","100","초월",1,200,70)),zt(this,"bookVo"),zt(this,"vo"),zt(this,"mode","list"),zt(this,"tribeIcons",["HUMAN_ICON","HUMAN_ICON","ELF_ICON","UNDEAD_ICON","ORC_ICON","DEMON_ICON","ANGEL_ICON"]),zt(this,"requestPending",!1),zt(this,"onHeroEvolveBind"),this.y=Math.min(KA.safeHeight-t.POPUP_MIN_HEIGHT,KA.viewMainY),this.bg.height=KA.safeHeight-this.y,this.addChild(this.container),this.addChild(this.contentContainer),this.icon.x=11,this.icon.y=50,this.lblName.align="center",this.lblName.y=this.icon.y+5,this.lblName.x=this.icon.x+this.icon.width+10,this.lblHp.y=this.lblAtk.y=this.lblDef.y=this.lblMagDef.y=this.lblBlock.y=this.lblName.y+this.lblName.height+16,this.lblHp.x=this.lblName.x,this.lblAtk.x=this.lblHp.x+100,this.lblDef.x=this.lblAtk.x+100,this.lblMagDef.x=this.lblDef.x+100,this.lblBlock.iconScale=1.05,this.lblBlock.x=this.lblMagDef.x+100,this.container.addChild(this.detailContainer),this.goldSkillList=new zI(J9,620,530),this.goldSkillList.x=13,this.goldSkillList.y=0,this.skillContainer.addChild(this.goldSkillList),this.lblGoldSkill.x=this.goldSkillList.x,this.lblGoldSkill.y=this.goldSkillList.y+this.goldSkillList.getListHeight()+10,this.lblGoldSkill.text=`# ${
- ,this.multiEnhanceContainer.addChild(this.btn100Enhance),this.multiEnhanceContainer.visible=!1,this.addChild(this.multiEnhanceContainer),this.btnEvolve.text=yG.getText("GAME_67","진화"),this.btnEvolve.showIconLabel=!0,this.btnEvolve.showTextLabel=!0,this.btnEvolve.color=AU.GREEN,this.btnEvolve.onClick=this.onEvolveClick.bind(this),this.btnSell.text=yG.getText("GAME_68","해고"),this.btnSell.showIconLabel=!1,this.btnSell.showTextLabel=!0,this.btnSell.color=AU.RED,this.btnSell.onClick=this.onSellClick.bind(this),this.btnHire.text=yG.getText("GAME_64","배치"),this.btnHire.showIconLabel=!1,this.btnHire.showTextLabel=!0,this.btnHire.onClick=this.onHireClick.bind(this),this.contentContainer.addChild(this.icon,this.lblName,this.lblHp,this.lblAtk,this.lblDef,this.lblMagDef,this.lblBlock,this.btnEnhance,this.btnEvolve,this.btnSell,this.btnHire,this.starIcon),this.updateLayout(),this.draggableMask.x=this.draggableContainer.x,this.draggableMask.y=this.basicPropertyContainer.y+this.basicPropertyContainer.height+40;
+ ,this.multiEnhanceContainer.addChild(this.btn100Enhance),this.multiEnhanceContainer.visible=!1,this.addChild(this.multiEnhanceContainer),this.btnEvolve.text=AG.getText("GAME_67","진화"),this.btnEvolve.showIconLabel=!0,this.btnEvolve.showTextLabel=!0,this.btnEvolve.color=kU.GREEN,this.btnEvolve.onClick=this.onEvolveClick.bind(this);
+ const i=t.MASS_EVOLVE_COUNT;
+ this.btnEvolveMass.text=`${
+ AG.getText("GAME_67","진화")}
+  (x${
+ i}
+ )`,this.btnEvolveMass.showIconLabel=!0,this.btnEvolveMass.showTextLabel=!0,this.btnEvolveMass.color=kU.GREEN,this.btnEvolveMass.activatedTextLabelColor=13434624,this.btnEvolveMass.onClick=this.onEvolveMassClick.bind(this),this.btnSell.text=AG.getText("GAME_68","해고"),this.btnSell.showIconLabel=!1,this.btnSell.showTextLabel=!0,this.btnSell.color=kU.RED,this.btnSell.onClick=this.onSellClick.bind(this),this.btnHire.text=AG.getText("GAME_64","배치"),this.btnHire.showIconLabel=!1,this.btnHire.showTextLabel=!0,this.btnHire.onClick=this.onHireClick.bind(this),this.contentContainer.addChild(this.icon,this.lblName,this.lblHp,this.lblAtk,this.lblDef,this.lblMagDef,this.lblBlock,this.btnEnhance,this.btnEvolve,this.btnEvolveMass,this.btnSell,this.btnHire,this.starIcon),this.updateLayout(),this.draggableMask.x=this.draggableContainer.x,this.draggableMask.y=this.basicPropertyContainer.y+this.basicPropertyContainer.height+40;
- this.transContainer.addChild(this.materialContainer),this.btnDoTrans.text=yG.getText("GAME_820","초월"),this.btnDoTrans.showIconLabel=!0,this.btnDoTrans.showTextLabel=!0,this.btnDoTrans.color=AU.GREEN,this.btnDoTrans.onClick=this.onDoTransClick.bind(this),this.btnDoTrans.visible=!1,this.contentContainer.addChild(this.btnDoTrans)}
+ this.transContainer.addChild(this.materialContainer),this.btnTrans.text=AG.getText("GAME_820","초월"),this.btnTrans.showIconLabel=!0,this.btnTrans.showTextLabel=!0,this.btnTrans.color=kU.GREEN,this.btnTrans.onClick=this.onTransClick.bind(this),this.btnTrans.visible=!1,this.contentContainer.addChild(this.btnTrans),this.btnTransTicket.text=AG.getText("GAME_820","초월"),this.btnTransTicket.showIconLabel=!0,this.btnTransTicket.showTextLabel=!0,this.btnTransTicket.color=kU.GREEN,this.btnTransTicket.onClick=this.onTransTicketClick.bind(this),this.btnTransTicket.visible=!1,this.contentContainer.addChild(this.btnTransTicket),this.btnTransMode10=new o9("x10"),this.btnTransMode10.x=this.transBg.x+this.transBg.width-this.btnTransMode10.width-10,this.btnTransMode10.y=this.transBg.y+15,this.transContainer.addChild(this.btnTransMode10),this.btnTransMode1=new o9("x1"),this.btnTransMode1.x=this.btnTransMode10.x-this.btnTransMode1.width-5,this.btnTransMode1.y=this.btnTransMode10.y,this.transContainer.addChild(this.btnTransMode1),this.btnTransMode1.onClick=()=>{
+ this.onTransModeClick(1)}
+ ,this.btnTransMode10.onClick=()=>{
+ this.onTransModeClick(10)}
+ }
- this.tapTrans.selected&&this.tapTrans.visible?(this.btnEnhance.visible=!1,this.btnEvolve.visible=!1,this.btnSell.visible=!1,this.btnHire.visible=!1,this.multiEnhanceContainer.visible=!1,this.btnDoTrans.visible=!0):(this.btnDoTrans.visible=!1,this.applyModeButtonVisibility())}
+ const i=this.tapTrans.selected&&this.tapTrans.visible;
+ if(this.btnTransMode1.visible=!1,this.btnTransMode10.visible=!1,i){
+ if(this.btnEnhance.visible=!1,this.btnEvolve.visible=!1,this.btnEvolveMass.visible=!1,this.btnSell.visible=!1,this.btnHire.visible=!1,this.multiEnhanceContainer.visible=!1,this.btnTrans.visible=!0,this.btnTransTicket.visible=EL.getInstance().isHeroTranscendTicket(),"roster"==this.mode&&EL.getInstance().isHeroMassTranscend()){
+ const i=vx.getInstance().getOwnedUnitVO(this.vo.kindNum),s=this.vo.trans>0?(null==i?void 0:i.trans[this.vo.trans-1])??0:(null==i?void 0:i.count)??0,e=t.MASS_TRANSCEND_COUNT;
+ this.btnTransMode1.visible=!(s<e),this.btnTransMode10.visible=this.btnTransMode1.visible,10==this.transMode?(this.btnTransMode1.activated=!1,this.btnTransMode10.activated=!0):(this.btnTransMode1.activated=!0,this.btnTransMode10.activated=!1)}
+ }
+ else this.btnTrans.visible=!1,this.btnTransTicket.visible=!1,this.applyModeButtonVisibility()}
- this.vo&&("book"==this.mode||"shop"==this.mode||"guild"==this.mode?(this.btnEnhance.visible=!1,this.btnEvolve.visible=!1,this.btnSell.visible=!1,this.btnHire.visible=!1):"roster"==this.mode?(this.btnEnhance.visible=!1,this.btnSell.visible=!1,this.btnEvolve.visible=this.vo.evolKindNum>0&&0===this.vo.evolStage,this.btnHire.visible=!0):(this.btnEnhance.visible=!0,this.btnSell.visible=!0,this.btnEvolve.visible=-1!=this.vo.evolKindNum,this.btnHire.visible=!1))}
+ if(this.vo)if(this.btnEvolveMass.visible=!1,"book"==this.mode||"shop"==this.mode||"guild"==this.mode)this.btnEnhance.visible=!1,this.btnSell.visible=!1,this.btnHire.visible=!1,this.btnEvolve.visible=!1;
+ else if("roster"==this.mode){
+ if(this.btnEnhance.visible=!1,this.btnSell.visible=!1,this.btnHire.visible=!0,this.btnEvolve.visible=this.vo.evolKindNum>0&&0===this.vo.evolStage,this.btnEvolve.visible&&EL.getInstance().isHeroMassEvolve()){
+ const i=vx.getInstance().getOwnedUnitVO(this.vo.base),s=(null==i?void 0:i.count)??0,e=t.MASS_EVOLVE_COUNT;
+ this.btnEvolveMass.visible=!(s<e)}
+ }
+ else this.btnEnhance.visible=!0,this.btnSell.visible=!0,this.btnHire.visible=!1,this.btnEvolve.visible=-1!=this.vo.evolKindNum}
- if(this.lblTransMaxTop.text=r,this.lblTransMaxBottom.text=r,this.lblTransMaxTop.visible=h,this.lblTransMaxBottom.visible=h&&0===this.transPageNav.pageIndex,h)for(let k=0;
- k<t.MATERIAL_SLOT_COUNT;
- k++)this.materialSatisfied[k]=!1,this.materialIcons[k].visible=!1,this.materialCountLabels[k].visible=!1;
- else{
- const i=this.vo.getBookVo().getTransMaterials(n),e=new Map;
- "roster"===this.mode&&0===this.vo.trans&&e.set(this.vo.kindNum,1);
- for(let n=0;
- n<t.MATERIAL_SLOT_COUNT;
- n++){
- const t=i[n],h=this.materialIcons[n],r=this.materialCountLabels[n];
- if(t&&t>0){
- h.setDataWithKindNum(t),h.visible=!0;
- const i=s.getOwnedUnitCount(t,0),o=e.get(t)??0,a=i>o;
- a&&e.set(t,o+1),this.materialSatisfied[n]=a,h.alpha=a?1:.5,r.text=a?"1/1":"0/1",r.visible=!0}
- else this.materialSatisfied[n]=!1,h.visible=!1,r.visible=!1}
- }
+ this.lblTransMaxTop.text=r,this.lblTransMaxBottom.text=r,this.lblTransMaxTop.visible=h,this.lblTransMaxBottom.visible=h&&0===this.transPageNav.pageIndex,this.updateTransMaterials();
- if(this.transPageNav.setPages(T),h)this.btnDoTrans.text=yG.getText("GAME_829","최대초월"),this.btnDoTrans.iconText="",this.btnDoTrans.activated=!1;
+ if(this.transPageNav.setPages(C),h)this.btnTrans.text=AG.getText("GAME_829","최대초월"),this.btnTrans.iconText="",this.btnTrans.activated=!1,this.btnTransTicket.text=AG.getText("GAME_829","최대초월"),this.btnTransTicket.iconText="",this.btnTransTicket.activated=!1;
- const t=vx.getTransHonorCoinCost(n);
- this.btnDoTrans.text=yG.getText("GAME_820","초월"),this.btnDoTrans.iconText=String(t),this.btnDoTrans.activated=!0}
+ const t=this.getTransHonorCoinCost(n);
+ this.btnTrans.text=AG.getText("GAME_820","초월"),this.btnTrans.iconText=String(t),this.btnTrans.activated=!0,this.btnTransTicket.text=AG.getText("GAME_820","초월"),this.btnTransTicket.iconText=this.getTransTicketCostStr();
+ const i=this.isTransTicketActivated();
+ this.btnTransTicket.activated=!0,this.btnTransTicket.color=i?kU.GREEN:kU.GRAY}
+ }
+ updateTransMaterials(){
+ if(!this.vo)return;
+ const i=vx.getInstance(),s=this.vo.trans,e=s+1;
+ if(s>=this.vo.maxTrans)for(let n=0;
+ n<t.MATERIAL_SLOT_COUNT;
+ n++)this.materialSatisfied[n]=!1,this.materialIcons[n].visible=!1,this.materialCountLabels[n].visible=!1;
+ else{
+ const s=this.vo.getBookVo().getTransMaterials(e),n=new Map;
+ "roster"===this.mode&&0===this.vo.trans&&n.set(this.vo.kindNum,1);
+ for(let e=0;
+ e<t.MATERIAL_SLOT_COUNT;
+ e++){
+ const t=s[e],h=this.materialIcons[e],r=this.materialCountLabels[e];
+ if(t&&t>0){
+ h.setDataWithKindNum(t),h.visible=!0;
+ const s=i.getOwnedUnitCount(t,0),o=n.get(t)??0,a=s>o&&s>=this.transMode;
+ a&&n.set(t,o+this.transMode),this.materialSatisfied[e]=a,h.alpha=a?1:.5,r.text=`${
+ s}
+ /${
+ this.transMode}
+ `,r.visible=!0}
+ else this.materialSatisfied[e]=!1,h.visible=!1,r.visible=!1}
+ }
- async onDoTransClick(){
+ onTransModeClick(t=1){
+ this.transMode=t,10==this.transMode?(this.btnTransMode1.activated=!1,this.btnTransMode10.activated=!0):(this.btnTransMode1.activated=!0,this.btnTransMode10.activated=!1),this.updateTransInfo(),this.updateLayoutTransMaterials()}
+ async onTransClick(){
- if(!s)return void pV.getInstance().showMessage(yG.getText("GAME_830","재료 영웅이 부족합니다"));
- const n=vx.getTransHonorCoinCost(i);
+ if(!s){
+ const i=[];
+ for(let r=0;
+ r<t.MATERIAL_SLOT_COUNT;
+ r++)e[r]&&e[r]>0&&(this.materialSatisfied[r]||i.push(e[r]));
+ let s=!0;
+ const n=[],h=[];
+ for(let t=0;
+ t<i.length;
+ ++t){
+ const e=vx.getInstance(),r=i[t],o=e.bookList.find(t=>t.evolKindNum===r);
+ o&&(e.getOwnedUnitCount(o.kindNum,0)<this.transMode?s=!1:(n.push(e.getOwnedUnitCount(r,0)),h.push(o.kindNum)))}
+ if(s){
+ const t=this.vo.trans+1,i=this.getTransHonorCoinCost(t);
+ if(_L.honorCoin<i)return s=!1,void vV.getInstance().showMessage(AG.getText("GAME_194","명예코인이 부족합니다"))}
+ if(s){
+ const t=X9.getInstance();
+ t.onEvolved=()=>{
+ this.onEvolveMaterialMultiConfirm()}
+ ,t.setData(n,h,this.transMode,this.vo.trans+1),t.show()}
+ else vV.getInstance().showMessage(AG.getText("GAME_830","재료 영웅이 부족합니다"));
+ return}
+ const n=this.getTransHonorCoinCost(i);
- this.runTranscend()}
+ this.runTranscend(!1,this.transMode)}
- async runTranscend(){
+ onEvolveMaterialMultiConfirm(){
+ "roster"===this.mode&&(this.showInRoster(this.vo.evolKindNum,this.vo.trans),W9.getInstance().setData()),n9.getInstance().validateTeam(),this.updateTransMaterials();
+ const t=this.vo.trans+1,i=this.getTransHonorCoinCost(t);
+ _L.honorCoin<i?vV.getInstance().showMessage(AG.getText("GAME_194","명예코인이 부족합니다")):this.runTranscend(!1,this.transMode)}
+ async onTransTicketClick(){
+ if(!this.vo||this.vo.trans>=this.vo.maxTrans)return;
+ if(!this.isTransTicketActivated())return void vV.getInstance().showMessage(AG.getText("GAME_1231","초월권이 부족하여 초월할 수 없습니다."));
+ if(this.requestPending)return;
+ const{
+ TransConfirmPopup:t}
+ =await Jt(async()=>{
+ const{
+ TransConfirmPopup:t}
+ =await Promise.resolve().then(()=>Zoi);
+ return{
+ TransConfirmPopup:t}
+ }
+ ,void 0);
+ t.getInstance().showWithTicket(this.getTransTicketCostStr(),()=>{
+ this.runTranscend(!0,this.transMode)}
+ )}
+ async runTranscend(t=!1,i=1){
- const t="roster"===this.mode,i=t?await iD.getInstance().hero.transcendOwned(this.vo.kindNum,this.vo.trans,!0):await iD.getInstance().hero.transcend(this.vo.id,void 0,!0);
+ const s="roster"===this.mode,e=s?await hD.getInstance().hero.transcendOwned(this.vo.kindNum,this.vo.trans,i,t,!0):await hD.getInstance().hero.transcend(this.vo.id,void 0,t,!0);
- let s=(null==i?void 0:i.lerrorMessage)??"";
- return"HERO_TRANSCEND_INSUFFICIENT_MATERIAL"===t?s=yG.getText("GAME_830","재료 영웅이 부족합니다"):"HERO_TRANSCEND_INSUFFICIENT_COIN"===t||"INSUFFICIENT_HONOR_COIN"===t?s=yG.getText("GAME_194","명예코인이 부족합니다"):"HERO_INVALID_TRANSCEND"===t?s="초월할 수 없는 영웅입니다.":"HERO_MAX_TRANSCEND"===t?s="이미 최대 초월 단계입니다.":s||(s=yG.getText("COMMON_77","네트워크 오류가 발생하였습니다.")),void pV.getInstance().showMessage(s)}
- if(wL.setUserInfo(i.body),DV.getInstance().updateAll(),DV.getInstance().updateHonor(),h9.getInstance().setData(),h7.getInstance().validateTeam(),t)this.vo.trans+=1,H7.getInstance().setData(),j7.getInstance().update();
+ let i=(null==e?void 0:e.errorMessage)??"";
+ return"HERO_TRANSCEND_INSUFFICIENT_MATERIAL"===t?i=AG.getText("GAME_830","재료 영웅이 부족합니다"):"HERO_TRANSCEND_INSUFFICIENT_COIN"===t||"INSUFFICIENT_HONOR_COIN"===t?i=AG.getText("GAME_194","명예코인이 부족합니다"):"HERO_INVALID_TRANSCEND"===t?i="초월할 수 없는 영웅입니다.":"HERO_MAX_TRANSCEND"===t?i="이미 최대 초월 단계입니다.":"INSUFFICIENT_TICKET"===t?i=AG.getText("GAME_1243","초월권이 부족합니다."):i||(i=AG.getText("COMMON_77","네트워크 오류가 발생하였습니다.")),void vV.getInstance().showMessage(i)}
+ if(_L.setUserInfo(e.body),Z6.getInstance().setData(e.body.transTicket),UV.getInstance().updateAll(),UV.getInstance().updateHonor(),att.getInstance().setData(),n9.getInstance().validateTeam(),s)this.vo.trans+=1,W9.getInstance().setData(),$9.getInstance().update();
- this.updateHeroInfo(this.vo,this.mode),this.updateTransInfo(),this.updateLayout()}
+ this.updateHeroInfo(this.vo,this.mode),this.updateTransInfo(),this.applyTabButtonVisibility(),this.updateLayout()}
- if(!this.materialSatisfied[t]){
- if(r&&o>=1){
+ if(this.materialSatisfied[t])return;
+ if(r&&o>=this.transMode){
- this.evolveMaterialPreHero(r.kindNum)}
- )}
+ this.evolveMaterialPreHero(r.kindNum,this.transMode)}
+ ,this.transMode)}
+ const a=this.transMode>1?`[ ${
+ h}
+  (x${
+ this.transMode}
+ ) ]`:h;
- }
- async evolveMaterialPreHero(t){
- if(!this.requestPending){
+ async evolveMaterialPreHero(t,i=1){
+ const s=vx.getInstance().getBookVO(t);
+ if(!s)return;
+ const e=V9[s.grade]??0;
+ if(_L.gem<e*i)vV.getInstance().showMessage(AG.getText("COMMON_352","보석이 부족합니다."));
+ else if(!this.requestPending){
- const i=await iD.getInstance().hero.evolveOwned(t,0,!0);
- if(!i||!1===i.success)return void pV.getInstance().showMessage(yG.getText("COMMON_77","네트워크 오류가 발생하였습니다."));
+ const s=await hD.getInstance().hero.evolveOwned(`${
+ t}
+ -${
+ i}
+ `,!0);
+ if(!1===s.success)return void("HERO_NOT_FOUND"==s.error?vV.getInstance().showMessage(AG.getText("GAME_830","재료 영웅이 부족합니다")):vV.getInstance().showError(s));
- onEvolveClick(){
+ onEvolveClick(t=1){
- ,t.show(this.vo,"roster"===this.mode)}
+ ,i.setData(this.vo,"roster"===this.mode,t),i.show()}
+ onEvolveMassClick(){
+ const i=t.MASS_EVOLVE_COUNT;
+ this.onEvolveClick(i)}
- if(this.requestPending=!1,this.tapDetail.text=yG.getText("GAME_83","상세"),this.tapSkill.text=yG.getText("GAME_84","스킬"),this.resetEnhance(),this.multiEnhanceContainer.visible=!1,this.updateHeroInfo(i,s),this.btnEnhance.visible=!0,this.btnSell.visible=!0,this.btnSell.activated=!0,"book"==this.mode||"shop"==this.mode||"guild"==this.mode){
- if(this.btnEnhance.visible=!1,this.btnEvolve.visible=!1,this.btnSell.visible=!1,this.btnHire.visible=!1,"guild"==this.mode){
+ if(this.transMode=1,this.requestPending=!1,this.tapDetail.text=AG.getText("GAME_83","상세"),this.tapSkill.text=AG.getText("GAME_84","스킬"),this.resetEnhance(),this.multiEnhanceContainer.visible=!1,this.updateHeroInfo(i,s),this.btnEnhance.visible=!0,this.btnSell.visible=!0,this.btnSell.activated=!0,this.applyModeButtonVisibility(),"book"==this.mode||"shop"==this.mode||"guild"==this.mode){
+ if("guild"==this.mode){
- else"roster"==this.mode?(this.btnEnhance.visible=!1,this.btnSell.visible=!1,this.btnEvolve.visible=this.vo.evolKindNum>0&&0===this.vo.evolStage,this.btnHire.text=yG.getText("GAME_64","배치"),this.btnHire.visible=!0):(this.btnEnhance.visible=!0,this.btnSell.visible=!0,this.btnHire.visible=!1);
- `,this.lblTribleDesc.text=this.getTribeTraitDesc(t.tribe,t.evolStage>0),this.btnEnhance.text=yG.getText("GAME_66","강화"),this.btnEvolve.text=yG.getText("GAME_67","진화"),this.btnSell.text=yG.getText("GAME_68","해고");
+ `,this.lblTribleDesc.text=this.getTribeTraitDesc(i.tribe,i.evolStage>0),this.btnEnhance.text=AG.getText("GAME_66","강화"),this.btnEvolve.text=AG.getText("GAME_67","진화"),this.btnEvolveMass.text=`${
+ AG.getText("GAME_67","진화")}
+  (x10)`,this.btnSell.text=AG.getText("GAME_68","해고");
- this.btnEvolve.iconText=String(n),this.btnEvolve.visible=-1!=t.evolKindNum;
+ this.btnEvolve.iconText=String(h);
+ const r=t.MASS_EVOLVE_COUNT;
+ this.btnEvolveMass.iconText=String(h*r);
- this.starIcon.x=this.lblName.x+this.lblName.width+5,this.starIcon.y=this.lblName.y+.5*(this.lblName.height-this.starIcon.height),this.tapDetail.x=9,this.tapDetail.y=this.icon.y+this.icon.height+4,this.tapSkill.x=this.tapDetail.x+this.tapDetail.width+2,this.tapSkill.y=this.tapDetail.y,this.tapTrans.x=this.tapSkill.x+this.tapSkill.width+2,this.tapTrans.y=this.tapDetail.y,this.transBg.x=this.icon.x,this.transBg.y=this.tapSkill.y+this.tapSkill.height+5,this.transPageNav.x=this.icon.x,this.transPageNav.y=this.transBg.y+this.transBg.height+8,this.lblTransMaxTop.x=this.transBg.x+.5*(this.transBg.width-this.lblTransMaxTop.width),this.lblTransMaxTop.y=this.transBg.y+.5*(this.transBg.height-this.lblTransMaxTop.height),this.lblTransMaxBottom.x=this.transPageNav.x+.5*(this.transBg.width-this.lblTransMaxBottom.width),this.lblTransMaxBottom.y=this.transPageNav.y+Math.max(280,.6*this.transPageNav.height),this.lblTransStepTitle.x=this.transBg.x+25,this.lblTransStepTitle.y=this.transBg.y+12;
+ this.starIcon.x=this.lblName.x+this.lblName.width+5,this.starIcon.y=this.lblName.y+.5*(this.lblName.height-this.starIcon.height),this.tapDetail.x=9,this.tapDetail.y=this.icon.y+this.icon.height+4,this.tapSkill.x=this.tapDetail.x+this.tapDetail.width+2,this.tapSkill.y=this.tapDetail.y,this.tapTrans.x=this.tapSkill.x+this.tapSkill.width+2,this.tapTrans.y=this.tapDetail.y,this.transBg.x=this.icon.x,this.transBg.y=this.tapSkill.y+this.tapSkill.height+5,this.transPageNav.x=this.icon.x,this.transPageNav.y=this.transBg.y+this.transBg.height+8,this.btnTransMode10.x=this.transBg.x+this.transBg.width-this.btnTransMode10.width-10,this.btnTransMode10.y=this.transBg.y+15,this.btnTransMode1.x=this.btnTransMode10.x-this.btnTransMode1.width-5,this.btnTransMode1.y=this.btnTransMode10.y,this.lblTransMaxTop.x=this.transBg.x+.5*(this.transBg.width-this.lblTransMaxTop.width),this.lblTransMaxTop.y=this.transBg.y+.5*(this.transBg.height-this.lblTransMaxTop.height),this.lblTransMaxBottom.x=this.transPageNav.x+.5*(this.transBg.width-this.lblTransMaxBottom.width),this.lblTransMaxBottom.y=this.transPageNav.y+Math.max(280,.6*this.transPageNav.height),this.lblTransStepTitle.x=this.transBg.x+25,this.lblTransStepTitle.y=this.transBg.y+12,this.updateLayoutTransMaterials(),this.materialContainer.x=this.transBg.x,this.materialContainer.y=this.lblTransStepTitle.y+this.lblTransStepTitle.height+16,this.propertyContainer.x=this.bg.width-this.propertyContainer.width-20,this.propertyContainer.y=52,this.basicPropertyBg.x=this.icon.x,this.basicPropertyBg.y=this.tapSkill.y+this.tapSkill.height+5,this.basicPropertyBg2.x=this.icon.x,this.basicPropertyBg2.y=this.basicPropertyBg.y+this.basicPropertyBg.height+8,this.basicPropertyContainer.x=this.basicPropertyBg.x+25,this.basicPropertyContainer.y=this.basicPropertyBg.y+15,this.skillContainer.y=this.tapSkill.y+this.tapSkill.height+5,this.draggableContainer.x=this.basicPropertyContainer.x,this.lblNormalAttackDesc.y=this.lblNormalAttackTitle.y+this.lblNormalAttackTitle.height+0,this.lblSpecialAttackTitle.y=this.lblNormalAttackDesc.y+this.lblNormalAttackDesc.height+20,this.lblSpecialAttackDesc.y=this.lblSpecialAttackTitle.y+this.lblSpecialAttackTitle.height+0,this.lblTribleTitle.y=this.lblSpecialAttackDesc.y+this.lblSpecialAttackDesc.height+20,this.lblTribleDesc.y=this.lblTribleTitle.y+this.lblTribleTitle.height+0,this.lblUniqueTitle.y=this.lblTribleDesc.y+this.lblTribleDesc.height+20,this.lblUniqueDesc.y=this.lblUniqueTitle.y+this.lblUniqueTitle.height+0;
+ const t=this.bg.height-this.btnEnhance.height-18,i=this.btnEvolve.visible?this.btnEvolve.width+20:0,s=this.btnEnhance.width+20+i+this.btnSell.width,e=.5*(this.width-s);
+ this.btnEnhance.x=e,this.btnEnhance.y=t,this.btnEvolve.x=this.btnEnhance.x+this.btnEnhance.width+20,this.btnEvolve.y=t,this.btnSell.x=this.btnEvolve.x+i,this.btnSell.y=t;
+ let n=16;
+ const h=[this.btnHire];
+ if(this.btnHire.visible&&this.btnEvolve.visible&&(h.unshift(this.btnEvolve),this.btnEvolveMass.visible&&(n=10,h.splice(1,0,this.btnEvolveMass))),this.alignButtons(h,n,t),this.btnTrans.visible){
+ const i=[this.btnTrans];
+ this.btnTransTicket.visible&&i.push(this.btnTransTicket),this.alignButtons(i,n,t)}
+ if(this.multiEnhanceContainer.visible){
+ const t=5;
+ this.btn10Enhance.x=this.btnEnhance.x,this.btn10Enhance.y=this.btnEnhance.y-this.btn10Enhance.height-t,this.btn100Enhance.x=this.btnEnhance.x,this.btn100Enhance.y=this.btn10Enhance.y-this.btn100Enhance.height-t}
+ const r=this.draggableContainer.y-this.basicPropertyBg2.y;
+ this.draggableBg.height=this.lblUniqueDesc.y+this.lblUniqueDesc.height+r}
+ updateLayoutTransMaterials(){
- this.materialContainer.x=this.transBg.x,this.materialContainer.y=this.lblTransStepTitle.y+this.lblTransStepTitle.height+16,this.propertyContainer.x=this.bg.width-this.propertyContainer.width-20,this.propertyContainer.y=52,this.basicPropertyBg.x=this.icon.x,this.basicPropertyBg.y=this.tapSkill.y+this.tapSkill.height+5,this.basicPropertyBg2.x=this.icon.x,this.basicPropertyBg2.y=this.basicPropertyBg.y+this.basicPropertyBg.height+8,this.basicPropertyContainer.x=this.basicPropertyBg.x+25,this.basicPropertyContainer.y=this.basicPropertyBg.y+15,this.skillContainer.y=this.tapSkill.y+this.tapSkill.height+5,this.draggableContainer.x=this.basicPropertyContainer.x,this.lblNormalAttackDesc.y=this.lblNormalAttackTitle.y+this.lblNormalAttackTitle.height+0,this.lblSpecialAttackTitle.y=this.lblNormalAttackDesc.y+this.lblNormalAttackDesc.height+20,this.lblSpecialAttackDesc.y=this.lblSpecialAttackTitle.y+this.lblSpecialAttackTitle.height+0,this.lblTribleTitle.y=this.lblSpecialAttackDesc.y+this.lblSpecialAttackDesc.height+20,this.lblTribleDesc.y=this.lblTribleTitle.y+this.lblTribleTitle.height+0,this.lblUniqueTitle.y=this.lblTribleDesc.y+this.lblTribleDesc.height+20,this.lblUniqueDesc.y=this.lblUniqueTitle.y+this.lblUniqueTitle.height+0;
- const e=this.bg.height-this.btnEnhance.height-18,n=this.btnEvolve.visible?this.btnEvolve.width+20:0,h=this.btnEnhance.width+20+n+this.btnSell.width,r=.5*(this.width-h);
- if(this.btnEnhance.x=r,this.btnEnhance.y=e,this.btnEvolve.x=this.btnEnhance.x+this.btnEnhance.width+20,this.btnEvolve.y=e,this.btnSell.x=this.btnEvolve.x+n,this.btnSell.y=e,this.btnHire.visible&&this.btnEvolve.visible){
- const t=16,i=this.btnEvolve.width+t+this.btnHire.width;
- this.btnEvolve.x=.5*(this.width-i),this.btnEvolve.y=e,this.btnHire.x=this.btnEvolve.x+this.btnEvolve.width+t,this.btnHire.y=e}
- else this.btnHire.x=.5*(this.width-this.btnHire.width),this.btnHire.y=e;
- if(this.btnDoTrans.visible&&(this.btnDoTrans.x=.5*(this.width-this.btnDoTrans.width),this.btnDoTrans.y=e),this.multiEnhanceContainer.visible){
- const t=5;
- this.btn10Enhance.x=this.btnEnhance.x,this.btn10Enhance.y=this.btnEnhance.y-this.btn10Enhance.height-t,this.btn100Enhance.x=this.btnEnhance.x,this.btn100Enhance.y=this.btn10Enhance.y-this.btn100Enhance.height-t}
- const o=this.draggableContainer.y-this.basicPropertyBg2.y;
- this.draggableBg.height=this.lblUniqueDesc.y+this.lblUniqueDesc.height+o}
+ }
+ alignButtons(t,i,s){
+ if(!t||0==t.length)return;
+ let e=0;
+ const n=t.length;
+ for(let r=0;
+ r<n;
+ ++r)r>0&&(e+=i),e+=t[r].width;
+ let h=.5*(this.width-e);
+ for(let r=0;
+ r<n;
+ ++r)t[r].x=h,h+=t[r].width+i,t[r].y=s}
+ getTransHonorCoinCost(t){
+ return vx.getTransHonorCoinCost(t)*this.transMode}
+ getTransTicket(){
+ return Z6.getInstance().getHeroTransTicket(5)}
+ getTransTicketCostStr(){
+ return`${
+ this.getTransTicket()}
+ /${
+ (this.vo.trans+1)*this.transMode}
+ `}
+ isTransTicketActivated(){
+ return!(this.getTransTicket()<(this.vo.trans+1)*this.transMode)}
- Kt(X7,"HeroDetailPopup"),zt(X7,"_instance"),zt(X7,"ENHANCE_DEBOUNCE_DELAY",3e3),zt(X7,"MATERIAL_SLOT_COUNT",5),zt(X7,"TRANS_BONUS",[{
+ Kt(Q9,"HeroDetailPopup"),zt(Q9,"_instance"),zt(Q9,"POPUP_MIN_HEIGHT",950),zt(Q9,"POPUP_GUILD_MIN_HEIGHT",1080),zt(Q9,"MASS_EVOLVE_COUNT",10),zt(Q9,"MASS_TRANSCEND_COUNT",10),zt(Q9,"ENHANCE_DEBOUNCE_DELAY",3e3),zt(Q9,"MATERIAL_SLOT_COUNT",5),zt(Q9,"TRANS_BONUS",[{
GolemStone 1 hunks, 166 statements
+ const MQ=class t extends YX{
+ constructor(){
+ super(...arguments),zt(this,"landed",!1),zt(this,"landedFrame",0),zt(this,"landedHold",0),zt(this,"spawnX",0),zt(this,"impactY",0),zt(this,"groundMode",!1),zt(this,"groundY",0),zt(this,"aoeRadius",0)}
+ initializeTextureName(){
+ this.className=qX.GolemStone,this.sheetName="RaidBattle",this.textureName="GolemStone"}
+ initializeData(){
+ this.hitClassName="",this.g=0,this.speed=36,this.flyEnd=t.FLY_FRAME_COUNT,this.incFrame=1,this.minT=5,this.maxT=40,this.orientToPath=!1,this.weaponScale=t.WEAPON_SCALE}
+ setData(t=1){
+ super.setData(t),this.landed=!1,this.landedFrame=0,this.landedHold=0,this.groundMode=!1,this.groundY=0,this.aoeRadius=0}
+ setGroundTarget(t,i){
+ this.groundMode=!0,this.groundY=t,this.aoeRadius=i}
+ play(){
+ if(this.spawnX=this.x,this.impactY=this.groundMode?this.groundY:this.target?this.target.y:this.y+800,this.groundMode)return this.visible=!0,this.removed=!1,void(this.battleController&&this.battleController.addWeapon(this));
+ super.play()}
+ execute(){
+ if(this.removed)return;
+ if(this.landed)return void this.updateLanded();
+ if(this.delay>0)return this.delay--,void(this.visible=!1);
+ this.visible=!0,this.x=this.spawnX,this.y+=t.FALL_SPEED,this.rotation=t.FALL_ROTATION,this.currentFrame+=this.incFrame,this.currentFrame>=this.flyEnd&&(this.currentFrame=0),this.sp&&(this.sp.texture=this.textures[Math.floor(this.currentFrame)]);
+ const i=!this.groundMode&&this.target&&!this.target.removed&&this.target.isAlive?this.target.y:this.impactY;
+ this.y>=i&&(this.y=i,this.onHit())}
+ onHit(){
+ this.aoeRadius>0?this.applyAoe():this.owner&&this.target&&this.target.isAlive&&(this.owner.doDamage(this.target,this.damagePercent,!0),this.target.isAlive&&!this.target.isImmovable&&this.knockAwayFrom(this.target,this.owner.x,this.owner.y)),this.landed=!0,this.landedFrame=t.FLY_FRAME_COUNT,this.landedHold=0,this.vx=0,this.vy=0,this.sp&&(this.sp.texture=this.textures[t.FLY_FRAME_COUNT])}
+ applyAoe(){
+ var t;
+ const i=null==(t=this.owner)?void 0:t.enemyList;
+ if(!this.owner||!i)return;
+ const s=this.owner,e=this.aoeRadius*this.aoeRadius;
+ for(const n of i){
+ if(!n.isAlive||n.removed||n.isUntagetable)continue;
+ const t=n.x-this.x,i=n.y-this.y;
+ t*t+i*i>e||s.tryAtt4StoneHit&&!s.tryAtt4StoneHit(n)||(this.owner.doDamage(n,this.damagePercent,!0),n.isAlive&&!n.isImmovable&&this.knockAwayFrom(n,this.x,this.y))}
+ }
+ knockAwayFrom(i,s,e){
+ let n=i.x-s,h=i.y-e,r=Math.sqrt(n*n+h*h);
+ r<.01&&(n=1,h=0,r=1);
+ const o=this.random.range(t.KNOCKBACK_DIST_MIN,t.KNOCKBACK_DIST_MAX)/t.KNOCKBACK_DURATION;
+ i.knockBack(n/r*o,h/r*o,t.KNOCKBACK_DURATION)}
+ updateLanded(){
+ const i=this.textures.length-1;
+ if(this.landedFrame>=i)return this.landedFrame=i,this.sp&&(this.sp.texture=this.textures[i]),void(++this.landedHold>=t.LANDED_HOLD_FRAMES&&this.remove());
+ this.landedFrame+=t.LANDED_FRAME_SPEED;
+ const s=Math.min(i,Math.floor(this.landedFrame));
+ this.sp&&(this.sp.texture=this.textures[s])}
+ }
+ ;
+ Kt(MQ,"GolemStone"),zt(MQ,"FLY_FRAME_COUNT",3),zt(MQ,"LANDED_FRAME_SPEED",.6),zt(MQ,"LANDED_HOLD_FRAMES",36),zt(MQ,"WEAPON_SCALE",.7),zt(MQ,"KNOCKBACK_DIST_MIN",32),zt(MQ,"KNOCKBACK_DIST_MAX",60),zt(MQ,"KNOCKBACK_DURATION",16),zt(MQ,"FALL_SPEED",27),zt(MQ,"FALL_ROTATION",Math.PI/2);
+ let EQ=MQ;
+ const AQ=class t extends gQ{
+ constructor(){
+ super(...arguments),zt(this,"struck",!1)}
+ initializeTextureName(){
+ this.className=qX.BerialLightning}
+ initializeData(){
+ this.radius=t.STRIKE_RADIUS,this.durationFrames=t.DURATION_FRAMES,this.damagePercent=1,this.visualConfig={
+ type:"spine",spineKey:"raids/raid1/lightning_area",animationName:"lightning",layer:"effect",scale:t.VISUAL_SCALE,loop:!1}
+ }
+ setData(i=1){
+ super.setData(i),this.struck=!1,this.setArea(t.STRIKE_RADIUS,t.DURATION_FRAMES)}
+ affectEnemy(t){
+ }
+ onAreaTick(i){
+ this.struck||i<t.STRIKE_FRAME||(this.struck=!0,this.damageInRadius())}
+ damageInRadius(){
+ if(this.owner&&this.owner.isAlive)for(const t of this.owner.enemyList)this.isEnemyInArea(t)&&this.owner.doDamage(t,this.damagePercent,!0)}
+ }
+ ;
+ Kt(AQ,"BerialLightning"),zt(AQ,"DURATION_FRAMES",24),zt(AQ,"STRIKE_FRAME",5),zt(AQ,"STRIKE_RADIUS",70),zt(AQ,"VISUAL_SCALE",.8);
+ let SQ=AQ;
+ const TQ=class t extends gQ{
+ initializeTextureName(){
+ this.className=qX.BerialLightningArea}
+ initializeData(){
+ this.radiusX=t.RADIUS_X,this.radiusY=t.RADIUS_Y,this.radius=Math.max(this.radiusX,this.radiusY),this.durationFrames=t.DURATION_FRAMES,this.damagePercent=1,this.visualConfig={
+ type:"spine",spineKey:"raids/raid1/lightning_area",animationName:"magic_area",layer:"bottom",scale:t.VISUAL_SCALE,loop:!0}
+ }
+ setData(i=1){
+ super.setData(i),this.setEllipseArea(t.RADIUS_X,t.RADIUS_Y,t.DURATION_FRAMES)}
+ affectEnemy(t){
+ }
+ onAreaTick(i){
+ i%t.BOLT_INTERVAL===1&&this.fireOneBolt()}
+ fireOneBolt(){
+ if(!this.owner)return;
+ const t=this.radiusX??this.radius,i=this.radiusY??this.radius,s=this.random.next()*Math.PI*2,e=Math.sqrt(this.random.next());
+ this.spawnBolt(this.x+Math.cos(s)*t*e,this.y+Math.sin(s)*i*e)}
+ spawnBolt(i,s){
+ const e=PQ.getInstance().getWeapon(qX.BerialLightning);
+ e.owner=this.owner,e.x=i,e.y=s,e.setBattleController(this.battleController),e.setData(this.random.range(t.BOLT_DAMAGE_MIN,t.BOLT_DAMAGE_MAX)),e.play()}
+ }
+ ;
+ Kt(TQ,"BerialLightningArea"),zt(TQ,"DURATION_FRAMES",1200),zt(TQ,"RADIUS_X",126),zt(TQ,"RADIUS_Y",77),zt(TQ,"BOLT_INTERVAL",30),zt(TQ,"BOLT_DAMAGE_MIN",.8),zt(TQ,"BOLT_DAMAGE_MAX",1.5),zt(TQ,"VISUAL_SCALE",1.12);
+ let CQ=TQ;
+ const kQ=class t extends YX{
+ constructor(){
+ super(...arguments),zt(this,"age",0)}
+ initializeTextureName(){
+ this.className=qX.BerialFire,this.sheetName="RaidBattle",this.textureName="BerialFire"}
+ initializeData(){
+ this.hitClassName="",this.g=0,this.speed=t.FIRE_SPEED,this.flyEnd=t.FLY_FRAME_COUNT,this.incFrame=1,this.orientToPath=!0,this.weaponScale=t.FIRE_SCALE}
+ setData(t=1){
+ super.setData(t),this.age=0,this.vx=0,this.vy=0,this.target=null}
+ fireAtTarget(i){
+ this.target=i;
+ const s=i.getHitCenter(),e=s.x-this.x,n=s.y-this.y,h=Math.sqrt(e*e+n*n)||1;
+ this.vx=e/h*t.FIRE_SPEED,this.vy=n/h*t.FIRE_SPEED,this.rotation=Math.atan2(this.vy,this.vx),this.age=0,this.visible=!0,this.removed=!1,this.battleController&&this.battleController.addWeapon(this)}
+ execute(){
+ if(this.removed)return;
+ const i=this.target;
+ if(i&&i.isAlive&&!i.removed&&!i.isUntagetable){
+ const s=i.getHitCenter(),e=s.x-this.x,n=s.y-this.y,h=e*e+n*n;
+ if(h<=t.HIT_RADIUS*t.HIT_RADIUS)return void this.onHitTarget(i);
+ const r=Math.sqrt(h);
+ this.vx=e/r*t.FIRE_SPEED,this.vy=n/r*t.FIRE_SPEED}
+ if(this.x+=this.vx,this.y+=this.vy,this.currentFrame+=this.incFrame,this.currentFrame>=this.flyEnd&&(this.currentFrame=0),this.sp&&(this.sp.texture=this.textures[Math.floor(this.currentFrame)]),this.orientToPath&&(this.rotation=Math.atan2(this.vy,this.vx)),!i||!i.isAlive||i.removed||i.isUntagetable){
+ const t=this.findHitTarget();
+ if(t)return void this.onHitTarget(t)}
+ ++this.age>=t.MAX_LIFE_FRAMES&&this.remove()}
+ findHitTarget(){
+ var i;
+ const s=null==(i=this.owner)?void 0:i.enemyList;
+ if(!s)return null;
+ let e=null,n=t.HIT_RADIUS*t.HIT_RADIUS;
+ for(const t of s){
+ if(!t.isAlive||t.removed||t.isUntagetable)continue;
+ const i=t.getHitCenter(),s=i.x-this.x,h=i.y-this.y,r=s*s+h*h;
+ r<=n&&(n=r,e=t)}
+ return e}
+ onHitTarget(i){
+ if(this.owner&&i.isAlive&&(this.owner.doDamage(i,this.damagePercent,!0),i.isAlive&&!i.isImmovable)){
+ const s=Math.sqrt(this.vx*this.vx+this.vy*this.vy)||1,e=this.random.range(t.KNOCKBACK_POWER_MIN,t.KNOCKBACK_POWER_MAX);
+ i.knockBack(this.vx/s*e,this.vy/s*e,t.KNOCKBACK_DURATION)}
+ this.displayHitEffect(),this.remove()}
+ displayHitEffect(){
+ const t=zX.getEffect(JK.PhysicalHitEffect);
+ t.x=this.x,t.y=this.y,t.setBattleController(this.battleController||zii.getInstance()),t.start(10),YG.getInstance().addChild(t)}
+ }
+ ;
+ Kt(kQ,"BerialFire"),zt(kQ,"FLY_FRAME_COUNT",2),zt(kQ,"FIRE_SCALE",.8),zt(kQ,"FIRE_SPEED",11),zt(kQ,"HIT_RADIUS",30),zt(kQ,"MAX_LIFE_FRAMES",100),zt(kQ,"KNOCKBACK_POWER_MIN",3),zt(kQ,"KNOCKBACK_POWER_MAX",6),zt(kQ,"KNOCKBACK_DURATION",12);
+ let OQ=kQ;
+ const IQ=class t extends gQ{
+ constructor(){
+ super(...arguments),zt(this,"hitFrames",t.BREATH1_HITS),zt(this,"struckFrames",new Set)}
+ initializeTextureName(){
+ this.className=qX.SummonDragon}
+ initializeData(){
+ this.radius=t.RADIUS,this.radiusX=t.RADIUS,this.radiusY=t.RADIUS,this.damagePercent=1,this.durationFrames=t.BREATH1_DURATION,this.visualConfig={
+ type:"spine",spineKey:"raids/raid1/Summon_dragon",animationName:"dragon_breath_01",layer:"unit",scale:1,loop:!1}
+ }
+ setData(t=1){
+ super.setData(t),this.struckFrames.clear()}
+ setBreath(i){
+ const s=2===i;
+ this.durationFrames=s?t.BREATH2_DURATION:t.BREATH1_DURATION,this.hitFrames=s?t.BREATH2_HITS:t.BREATH1_HITS,this.visualConfig={
+ type:"spine",spineKey:"raids/raid1/Summon_dragon",animationName:s?"dragon_breath_02":"dragon_breath_01",layer:"unit",scale:1,loop:!1}
+ }
+ affectEnemy(t){
+ }
+ onAreaTick(t){
+ this.struckFrames.has(t)||this.hitFrames.includes(t)&&(this.struckFrames.add(t),this.dealBreathDamage())}
+ dealBreathDamage(){
+ if(this.owner&&this.owner.isAlive)for(const i of this.owner.enemyList)this.isEnemyInArea(i)&&this.owner.doDamage(i,this.random.range(t.DMG_MIN,t.DMG_MAX),!0)}
+ }
+ ;
+ Kt(IQ,"SummonDragon"),zt(IQ,"RADIUS",150),zt(IQ,"DMG_MIN",.5),zt(IQ,"DMG_MAX",1),zt(IQ,"BREATH1_DURATION",160),zt(IQ,"BREATH1_HITS",[60,80,100,120,140]),zt(IQ,"BREATH2_DURATION",120),zt(IQ,"BREATH2_HITS",[44,60,80,100]);
+ let xQ=IQ;
PetIcon 3 hunks, 166 statements
- super("UI_Ekkorr","Btn_Delete",1)}
- get activated(){
- return this._activated}
- set activated(t){
- t!=this._activated&&(this._activated=t,this._activated?this.bg.texture=ZA.getTexture("UI_Ekkorr","Btn_Delete"):this.bg.texture=ZA.getTexture("UI_Ekkorr","Btn_Delete_Gray"))}
- }
- ;
- Kt(Q5,"MailDeleteAllButton");
- let Z5=Q5;
- const t3=class t extends Be{
- constructor(i){
- super(),zt(this,"bg"),zt(this,"lbl"),zt(this,"container"),zt(this,"_width",100),zt(this,"_minWidth",100),zt(this,"_height",58),zt(this,"_textSize",19),zt(this,"_activated",!0),zt(this,"_activatedTextColor",16777215),zt(this,"_deactivatedTextColor",10066329),zt(this,"_outlineText",!1),zt(this,"_resizable",!1),zt(this,"_padding",20),zt(this,"_color",t.COLOR_SAND_BROWN),zt(this,"onClick"),zt(this,"redDot"),this.container=new Be,this.addChild(this.container),this.bg=new TM({
- texture:ZA.getTexture("UI_Ekkorr",this._color),leftWidth:40,topHeight:27,rightWidth:40,bottomHeight:29}
- ),this.bg.width=this._width,this.bg.height=this._height,this.container.addChild(this.bg);
- const s=nD.LABEL_OPTION_NO_DROP_SHADOW;
- s.fill=nD.COLOR_WHITE,s.fontSize=this._textSize,this.lbl=new KD(i,s.fill,s),this.container.addChild(this.lbl),this.updateLayout(),this.eventMode="dynamic",this.on("pointerdown",this.onDown,this),this.on("pointerup",this.onUp,this),this.on("pointerupoutside",this.onUp,this),this.on("pointertap",this.onTap,this),this.container.pivot.set(.5*this._width,.5*this._height)}
- updateLayout(){
- this._resizable?nD.setLabelWrapWidth(this.lbl,5*this._width):nD.setLabelWrapWidth(this.lbl,this._width),this.lbl.x=.5*(this._width-this.lbl.width),this.lbl.y=.5*(this._height-this.lbl.height),this.container.x=.5*this._width,this.container.y=.5*this._height}
- get width(){
- return this._width}
- set width(t){
- t!=this._width&&(this._resizable&&t<this._minWidth&&(t=this._minWidth),this._width=t,this.bg.width=this._width,this.container.pivot.set(.5*this._width,.5*this._height),this.updateLayout())}
- get minWidth(){
- return this._minWidth}
- set minWidth(t){
- t!=this._minWidth&&(this._minWidth=t,this._resizable&&this._width<this._minWidth&&(this.width=this._minWidth))}
- get height(){
- return this._height}
- set height(t){
- t!=this._height&&(this._height=t,this.bg.height=this._height,this.container.pivot.set(.5*this._width,.5*this._height),this.updateLayout())}
- get text(){
- return this.lbl.text}
- set text(t){
- this.lbl.text=t,this._resizable&&(this.width=this.lbl.width+2*this._padding),this.updateLayout()}
- get textSize(){
- return this._textSize}
- set textSize(t){
- t!=this._textSize&&(this._textSize=t,this.lbl.textSize=this._textSize,this.updateLayout())}
- get activated(){
- return this._activated}
- set activated(t){
- t!=this._activated&&(this._activated=t,this._activated,this.updateTextColor())}
- get activatedTextColor(){
- return this._activatedTextColor}
- set activatedTextColor(t){
- t!=this._activatedTextColor&&(this._activatedTextColor=t,this.updateTextColor())}
- get deactivatedTextColor(){
- return this._deactivatedTextColor}
- set deactivatedTextColor(t){
- t!=this._deactivatedTextColor&&(this._deactivatedTextColor=t,this.updateTextColor())}
- updateTextColor(){
- 1==this._activated?this.lbl.textColor=this._activatedTextColor:this.lbl.textColor=this._deactivatedTextColor}
- get outlineText(){
- return this._outlineText}
- set outlineText(t){
- if(t==this._outlineText)return;
- this._outlineText=t;
- const i=this.lbl.getStyle();
- this._outlineText?(delete i.stroke,i.stroke={
- color:"#000000",width:4,join:"round"}
- ):delete i.stroke,this.lbl.setStyle(i),this.updateLayout()}
- get resizable(){
- return this._resizable}
- set resizable(t){
- t!=this._resizable&&(this._resizable=t,this.width=this.lbl.width+2*this._padding,this.updateLayout())}
- getStyle(){
- return this.lbl.getStyle()}
- setStyle(t){
- this.lbl.setStyle(t)}
- setTexture(t){
- if(t)try{
- this.bg.texture=t.texture,this.bg.leftWidth=t.leftWidth,this.bg.topHeight=t.topHeight,this.bg.rightWidth=t.rightWidth,this.bg.bottomHeight=t.bottomHeight}
- catch(i){
- }
- }
- get color(){
- return this._color}
- set color(t){
- if(t!=this._color){
- this._color=t;
- try{
- this.bg.texture=ZA.getTexture("UI_Ekkorr",this._color)}
- catch(i){
- }
- }
- }
- onDown(t){
- 0!=this._activated&&(this.container.scale=.9)}
- onUp(t){
- 0!=this._activated&&(this.container.scale=1)}
- onTap(t){
- 0!=this._activated&&(WL.getInstance().playSFX(WL.SFX_NORMAL_CLICK),BL(),this.onClick&&this.onClick())}
- showRedDot(){
- this.redDot||(this.redDot=new KL,this.container.addChild(this.redDot)),this.redDot.show(),this.updateRedDot()}
- hideRedDot(){
- this.redDot&&this.redDot.hide()}
- updateRedDot(){
- this.redDot&&(this.redDot.x=this.bg.x+this.bg.width-this.redDot.width-12,this.redDot.y=this.bg.y-3)}
- }
- ;
- Kt(t3,"CommonButton2"),zt(t3,"COLOR_SAND_BROWN","Btn_Sand_Brown"),zt(t3,"COLOR_ORANGE","Btn_Orange"),zt(t3,"COLOR_GRAY","Btn_Gray");
- let i3=t3;
- const s3=class extends i3{
- constructor(t){
- super(t),zt(this,"bgOff"),zt(this,"_selected",!0),this.minWidth=180,this.resizable=!0,this.outlineText=!0,this.bgOff=new TM({
- texture:ZA.getTexture("UI_Ekkorr","Btn_Gray"),leftWidth:40,topHeight:27,rightWidth:40,bottomHeight:29}
- ),this.bgOff.width=this._width,this.bgOff.height=this._height,this.container.addChildAt(this.bgOff,0),this.bg.visible=this._selected,this.bgOff.visible=!this._selected}
- get selected(){
- return this._selected}
- set selected(t){
- t!=this._selected&&(this._selected=t,this._selected?(this.bg.visible=!0,this.bgOff.visible=!1):(this.bg.visible=!1,this.bgOff.visible=!0))}
- onTap(t){
- this._selected||super.onTap(t)}
- }
- ;
- Kt(s3,"MailMenuButton");
- let e3=s3;
- const n3=class extends iP{
- constructor(){
- super(),this.sp.x=.5*-this.sp.width,this.sp.y=.5*-this.sp.height,this.offsetX=2,this.scale=.5}
- getTextures(){
- return ZA.getTextures("Loading","loading_circle_60f_")}
- }
- ;
- Kt(n3,"MailLoading");
- let h3=n3;
- const r3=class extends Be{
- constructor(){
- super(),zt(this,"yPrev",0),zt(this,"yHome",0),zt(this,"vy",0),zt(this,"yMax",0),zt(this,"yMin",0),zt(this,"yMouse",0),zt(this,"yOffset",140),zt(this,"min",0),zt(this,"max",0),zt(this,"dragSensorDistance",20),zt(this,"_isDragging",!1),zt(this,"onDragStart",null),zt(this,"onDragEnd",null),this.eventMode="static",this.on("pointerdown",this.onDown,this)}
- get isDragging(){
- return this._isDragging}
- onDown(t){
- this.min>this.max||(this.yMin=this.min,this.yMax=this.max,this.yPrev=this.yHome=this.yMouse=t.globalY,this.off("pointermove",this.onMove,this),this.on("pointermove",this.onMove,this),this.off("pointerup",this.onUp,this),this.on("pointerup",this.onUp,this),this.off("pointerupoutside",this.onUp,this),this.on("pointerupoutside",this.onUp,this),GM.getInstance().remove(this.onFlickEnter,this),GM.getInstance().add(this.onDragEnter,this))}
- onDragEnter(){
- 0==this._isDragging&&Math.abs(this.yMouse-this.yHome)>this.dragSensorDistance&&(this._isDragging=!0,this.onDragStartCallback()),0!=this._isDragging&&(this.vy=this.yMouse-this.yPrev,this.y==this.yMin&&this.vy<0||this.y==this.yMax&&this.vy>0||(this.y+=this.vy,this.y>this.yMax&&(this.y=this.yMax),this.y<this.yMin&&(this.y=this.yMin),this.yPrev=this.yMouse))}
- onMove(t){
- this.yMouse=t.globalY}
- onUp(t){
- 1==this._isDragging&&(this.vy=2*this.vy,GM.getInstance().add(this.onFlickEnter,this),this._isDragging=!1,this.onDragEndCallback()),GM.getInstance().remove(this.onDragEnter,this),this.off("pointermove",this.onMove,this),this.off("pointerup",this.onUp,this),this.off("pointerupoutside",this.onUp,this)}
- onFlickEnter(){
- this.vy*=.98,this.y==this.yMin&&this.vy<0||this.y==this.yMax&&this.vy>0?GM.getInstance().remove(this.onFlickEnter,this):(this.y+=this.vy,this.y>this.yMax&&(this.y=this.yMax),this.y<this.yMin&&(this.y=this.yMin),Math.abs(this.vy)<1&&GM.getInstance().remove(this.onFlickEnter,this))}
- onDragStartCallback(){
- this.onDragStart&&this.onDragStart()}
- onDragEndCallback(){
- this.onDragEnd&&this.onDragEnd()}
- setScroll(t){
- let i=this.max-t;
- i<this.min&&(i=this.min),this.y=i}
- }
- ;
- Kt(r3,"DraggableContainer");
- let o3=r3;
- const a3=class extends Be{
- constructor(){
- super(),zt(this,"bg"),zt(this,"lbl"),zt(this,"count",0),zt(this,"duration",180),this.bg=new TM({
- texture:ZA.getTexture("UI_Ekkorr","UI_Toast_Bg"),leftWidth:6,topHeight:6,rightWidth:6,bottomHeight:6}
- ),this.bg.alpha=.7,this.bg.width=640,this.bg.height=50,this.addChild(this.bg),this.lbl=new KD("Toast",nD.DEFAULT_COLOR),this.lbl.x=.5*(this.bg.width-this.lbl.width),this.lbl.y=25,this.addChild(this.lbl),this.eventMode="none"}
- show(t,i,s=nD.DEFAULT_COLOR,e=null,n=!0,h=180,r=.7){
- this.lbl.text=t,nD.setLabelWrapWidth(this.lbl,this.bg.width-10),this.lbl.textColor=s,this.lbl.x=.5*(this.bg.width-this.lbl.width),this.bg.height=this.lbl.height+2*this.lbl.y,this.y=i-this.height,this.duration=h,this.bg.alpha=r,null==e&&(e=$D.getInstance()),e&&e.addChild(this),1==n&&this.startCheckHide(),D2.showItemsInVertical([this])}
- hide(){
- this.parent&&this.parent.removeChild(this)}
+ super(),zt(this,"icon",new We),zt(this,"bg",new We),zt(this,"cover",new We),zt(this,"star",new We),zt(this,"posList",[30,26,24,19,16,13,9]),this.bg.x=3,this.bg.y=3,this.addChild(this.bg),this.icon.x=3,this.icon.y=3,this.addChild(this.icon),this.cover.x=0,this.cover.y=0,this.addChild(this.cover),this.addChild(this.star),this.setEmpty()}
+ setEmpty(){
+ this.bg.texture=ZA.getTexture("UI_PET","HeroFrame_1_Bg"),this.cover.texture=ZA.getTexture("UI_PET","HeroFrame_1"),this.icon.visible=!1,this.star.visible=!1}
+ setPet(t,i){
+ this.icon.visible=!0,this.star.visible=!0,this.icon.alpha=1,this.icon.tint=16777215,this.icon.texture=ZA.getTexture("UI_PET",`UI_PET${
+ t}
+ `),this.icon.width=this.icon.height=this.cover.width-6,this.icon.x=3,this.icon.y=2;
+ const s=Math.max(1,Math.min(i,5));
+ this.star.texture=ZA.getTextures("UI_PET","UI_UNIT_RARE")[s-1],this.star.x=this.posList[s-1],this.star.y=this.bg.height-this.star.height,this.bg.texture=ZA.getTexture("UI_PET",`HeroFrame_${
+ s}
+ _Bg`),this.cover.texture=ZA.getTexture("UI_PET",`HeroFrame_${
+ s}
+ `)}
+ setInactive(t){
+ this.icon.visible=!0,this.star.visible=!1,this.icon.texture=ZA.getTexture("UI_PET",`UI_PET${
+ t}
+ `),this.icon.width=this.icon.height=this.cover.width-6,this.icon.x=3,this.icon.y=2,this.icon.alpha=.9,this.icon.tint=11184810,this.bg.texture=ZA.getTexture("UI_PET","HeroFrame_1_Bg"),this.cover.texture=ZA.getTexture("UI_PET","HeroFrame_1")}
- startCheckHide(){
- this.count=0,GM.getInstance().add(this.checkHide,this)}
- checkHide(){
- ++this.count>this.duration&&(this.count=0,this.count=0,this.hide(),GM.getInstance().remove(this.checkHide,this))}
+ showStar(){
+ this.star.visible=!0}
+ hideStar(){
+ this.star.visible=!1}
- Kt(a3,"BaseToast");
+ Kt(a3,"PetIcon");
DialogueVO 1 hunks, 100 statements
- const y7t=class{
- constructor(){
- zt(this,"kindNum",0),zt(this,"wave",0),zt(this,"order",0),zt(this,"position",1),zt(this,"text",""),zt(this,"code",""),zt(this,"maxWave",-1),zt(this,"repeat",9999)}
- getTextKey(){
- return`DIALOGUE_TEXT_${
- this.kindNum}
- `}
- }
- ;
- Kt(y7t,"DialogueVO");
- let _7t=y7t;
- const M7t=class t{
- constructor(){
- zt(this,"list",[]),zt(this,"waveMap",new Map),zt(this,"playCount",{
- }
- ),zt(this,"playCountLoaded",!1)}
- static getInstance(){
- return null==this.instance&&(this.instance=new t),this.instance}
- setBookData(t){
- if(this.list=[],this.waveMap.clear(),t){
- for(let i=0;
- i<t.length;
- i++){
- const s=t[i],e=new _7t;
- e.kindNum=Number(s.kindNum),e.wave=Number(s.wave),e.order=Number(s.order),e.position=Number(s.position)||1,e.text=s.text??"",e.code=s.code??"",e.maxWave=Number(s.maxWave)||-1,e.repeat=Number(s.repeat)||9999,this.list.push(e);
- let n=this.waveMap.get(e.wave);
- n||(n=[],this.waveMap.set(e.wave,n)),n.push(e)}
- for(const t of this.waveMap.values())t.sort((t,i)=>t.order-i.order);
- this.loadPlayCount()}
- }
- async loadPlayCount(){
- if(this.playCountLoaded)return;
- const i=await $A.getData(t.LOCAL_KEY);
- this.playCount=i??{
- }
- ,this.playCountLoaded=!0}
- savePlayCount(){
- $A.saveData(t.LOCAL_KEY,this.playCount)}
- async getByWaveAsync(t){
- return await this.loadPlayCount(),this.getByWave(t)}
- getByWave(t){
- const i=this.waveMap.get(t)??[],s=wL.maxWave,e=[];
- let n=!1;
- for(const h of i)if(!(h.maxWave>0&&s<h.maxWave)){
- if(h.repeat<999){
- const t=this.playCount[h.kindNum]??0;
- if(t>=h.repeat)continue;
- this.playCount[h.kindNum]=t+1,n=!0}
- e.push(h)}
- return n&&this.savePlayCount(),e}
- hasDialogue(t){
- return this.waveMap.has(t)}
- }
- ;
- Kt(M7t,"DialogueDataManager"),zt(M7t,"instance"),zt(M7t,"LOCAL_KEY",$A.KEY_DIALOGUE_COUNT);
- let E7t=M7t;
- const A7t=class extends aS{
- constructor(){
- super(),zt(this,"blocker"),zt(this,"allowRect"),zt(this,"highlightBorder"),zt(this,"dimParts",[]),this.createUI()}
- createUI(){
- for(let t=0;
- t<4;
- t++){
- const t=new Gf;
- t.alpha=.5,t.rect(0,0,1,1).fill(0),this.dimParts.push(t),this.addChild(t)}
- this.blocker=new Gf,this.blocker.rect(0,0,640,KA.stageHeight).fill(0),this.blocker.alpha=0,this.blocker.eventMode="static",this.addChild(this.blocker),this.highlightBorder=new Gf,this.addChild(this.highlightBorder),this.allowRect=new Pi(0,0,0,0),this.setBlockerEnabled(!1)}
- setClickArea(t,i,s,e){
- this.allowRect=new Pi(t,i,s,e),this.updateDim(),this.blocker.hitArea={
- contains:Kt((t,i)=>!this.allowRect.contains(t,i),"contains")}
- ,this.setBlockerEnabled(!0)}
- setBlockerEnabled(t){
- this.blocker.eventMode=t?"static":"none";
- for(const i of this.dimParts)i.visible=t;
- this.highlightBorder.visible=t}
- updateDim(){
- const t=KA.stageHeight,{
- x:i,y:s,width:e,height:n}
- =this.allowRect;
- this.dimParts[0].clear().rect(0,0,640,s).fill(0),this.dimParts[1].clear().rect(0,s,i,n).fill(0),this.dimParts[2].clear().rect(i+e,s,640-(i+e),n).fill(0),this.dimParts[3].clear().rect(0,s+n,640,t-(s+n)).fill(0),this.highlightBorder.clear().rect(i,s,e,n).stroke({
- color:16776960,width:3}
- )}
- }
- ;
- Kt(A7t,"ClickAniLayer");
- let S7t=A7t;
- const C7t=class t extends Be{
- constructor(){
- super(),zt(this,"sp"),zt(this,"textures",[]),this.textures=ZA.getTextures("ClickHand","ClickHand"),this.sp=new jf(this.textures),this.addChild(this.sp),this.eventMode="none"}
- static getInstance(){
- return null==this.instance&&(this.instance=new t),this.instance}
- isPlaying(){
- return!!this.parent}
- show(t,i,s,e,n=0,h=0){
- this.x=t,this.y=i,S7t.getInstance().setClickArea(t-.5*s+n,i-.5*e+h,s,e),this.isPlaying()||(this.sp.animationSpeed=.65,this.sp.play(),S7t.getInstance().addChild(this))}
- hide(){
- S7t.getInstance().setBlockerEnabled(!1),this.sp.stop(),this.parent&&this.removeFromParent()}
- }
- ;
- Kt(C7t,"ClickAniEffect"),zt(C7t,"instance");
- let T7t=C7t;
AttendanceStatusVO 2 hunks, 98 statements
+ constructor(){
+ zt(this,"consecutiveDays",0),zt(this,"cumulativeDays",0),zt(this,"rotationDay",0),zt(this,"claimedA",0),zt(this,"claimedB",0),zt(this,"claimedS",0),zt(this,"claimableA",null),zt(this,"claimableB",null),zt(this,"claimableS",null),zt(this,"claimedRewardA",null),zt(this,"claimedRewardB",null),zt(this,"claimedRewardS",null),zt(this,"nextA",null),zt(this,"nextB",null)}
+ }
+ ;
+ Kt(lP,"AttendanceStatusVO");
+ let uP=lP;
+ const dP=class t{
+ constructor(){
+ zt(this,"status",new uP),zt(this,"requestPending",!1),zt(this,"lastCheckDate",""),zt(this,"checkIntervalId",null)}
+ static getInstance(){
+ return null==this.instance&&(this.instance=new t),this.instance}
+ setStatusData(t){
+ t&&(this.status.consecutiveDays=Number(t.consecutiveDays??0),this.status.cumulativeDays=Number(t.cumulativeDays??0),this.status.rotationDay=Number(t.rotationDay??0),this.status.claimedA=Number(t.claimedA??0),this.status.claimedB=Number(t.claimedB??0),this.status.claimedS=Number(t.claimedS??0),this.status.claimableA=t.claimableA??null,this.status.claimableB=t.claimableB??null,this.status.claimableS=t.claimableS??null,this.status.claimedRewardA=t.claimedRewardA??null,this.status.claimedRewardB=t.claimedRewardB??null,this.status.claimedRewardS=t.claimedRewardS??null,this.status.nextA=t.nextA??null,this.status.nextB=t.nextB??null)}
+ hasReward(){
+ return null!=this.status.claimableA||null!=this.status.claimableB||null!=this.status.claimableS}
+ async init(){
+ await this.check(),this.startDateChecker()}
+ startDateChecker(){
+ null==this.checkIntervalId&&(this.checkIntervalId=setInterval(()=>{
+ this.checkDateRollover()}
+ ,18e5))}
+ async checkDateRollover(){
+ const t=(new Date).toISOString().slice(0,10);
+ if(""!==this.lastCheckDate&&this.lastCheckDate!==t&&(await this.check(),this.hasReward())){
+ const{
+ AttendanceAutoTrigger:t}
+ =await Jt(async()=>{
+ const{
+ AttendanceAutoTrigger:t}
+ =await Promise.resolve().then(()=>wei);
+ return{
+ AttendanceAutoTrigger:t}
+ }
+ ,void 0);
+ t.getInstance().requestShow()}
+ }
+ stopDateChecker(){
+ null!=this.checkIntervalId&&(clearInterval(this.checkIntervalId),this.checkIntervalId=null)}
+ async check(t=!1){
+ if(this.requestPending)return;
+ this.requestPending=!0;
+ const i=await hD.getInstance().attendance.check(t);
+ if(0==i.success)return this.requestPending=!1,void lS.getInstance().dispatchCustomEvent("AttendanceUpdate");
+ this.setStatusData(i.body),this.lastCheckDate=(new Date).toISOString().slice(0,10),this.requestPending=!1,lS.getInstance().dispatchCustomEvent("AttendanceUpdate")}
+ }
+ ;
+ Kt(dP,"AttendanceDataManager"),zt(dP,"instance");
+ let fP=dP;
+ const pP=class{
- const Cii=class{
- constructor(){
- zt(this,"consecutiveDays",0),zt(this,"cumulativeDays",0),zt(this,"rotationDay",0),zt(this,"claimedA",0),zt(this,"claimedB",0),zt(this,"claimedS",0),zt(this,"claimableA",null),zt(this,"claimableB",null),zt(this,"claimableS",null),zt(this,"claimedRewardA",null),zt(this,"claimedRewardB",null),zt(this,"claimedRewardS",null),zt(this,"nextA",null),zt(this,"nextB",null)}
- }
- ;
- Kt(Cii,"AttendanceStatusVO");
- let Tii=Cii;
- const kii=class t{
- constructor(){
- zt(this,"status",new Tii),zt(this,"requestPending",!1),zt(this,"lastCheckDate",""),zt(this,"checkIntervalId",null)}
- static getInstance(){
- return null==this.instance&&(this.instance=new t),this.instance}
- setStatusData(t){
- t&&(this.status.consecutiveDays=Number(t.consecutiveDays??0),this.status.cumulativeDays=Number(t.cumulativeDays??0),this.status.rotationDay=Number(t.rotationDay??0),this.status.claimedA=Number(t.claimedA??0),this.status.claimedB=Number(t.claimedB??0),this.status.claimedS=Number(t.claimedS??0),this.status.claimableA=t.claimableA??null,this.status.claimableB=t.claimableB??null,this.status.claimableS=t.claimableS??null,this.status.claimedRewardA=t.claimedRewardA??null,this.status.claimedRewardB=t.claimedRewardB??null,this.status.claimedRewardS=t.claimedRewardS??null,this.status.nextA=t.nextA??null,this.status.nextB=t.nextB??null)}
- hasReward(){
- return null!=this.status.claimableA||null!=this.status.claimableB||null!=this.status.claimableS}
- async init(){
- await this.check(),this.startDateChecker()}
- startDateChecker(){
- null==this.checkIntervalId&&(this.checkIntervalId=setInterval(()=>{
- this.checkDateRollover()}
- ,18e5))}
- async checkDateRollover(){
- const t=(new Date).toISOString().slice(0,10);
- if(""!==this.lastCheckDate&&this.lastCheckDate!==t&&(await this.check(),this.hasReward())){
- const{
- AttendanceAutoTrigger:t}
- =await Jt(async()=>{
- const{
- AttendanceAutoTrigger:t}
- =await Promise.resolve().then(()=>cai);
- return{
- AttendanceAutoTrigger:t}
- }
- ,void 0);
- t.getInstance().requestShow()}
- }
- stopDateChecker(){
- null!=this.checkIntervalId&&(clearInterval(this.checkIntervalId),this.checkIntervalId=null)}
- async check(t=!1){
- if(this.requestPending)return;
- this.requestPending=!0;
- const i=await iD.getInstance().attendance.check(t);
- if(0==i.success)return this.requestPending=!1,void lS.getInstance().dispatchCustomEvent("AttendanceUpdate");
- this.setStatusData(i.body),this.lastCheckDate=(new Date).toISOString().slice(0,10),this.requestPending=!1,lS.getInstance().dispatchCustomEvent("AttendanceUpdate")}
- }
- ;
- Kt(kii,"AttendanceDataManager"),zt(kii,"instance");
- let Oii=kii;
AttendanceAutoTrigger 6 hunks, 82 statements
- Csi(7.11),wN.getInstance().setBookData(t),wN.getInstance().setBookDataForSpecial(i),vx.getInstance().setBookData(s),iL.getInstance().setBookData(e),Wx.getInstance().setBookData(n),Bx.getInstance().setBookData(h),Yx.getInstance().setBookData(u),ZB.getInstance().setScenarioBookData(r),ZB.getInstance().setPatternBookData(o),e7.getInstance().setBookData(a),vV.getInstance().setBookData(c),rV.getInstance().setBookData(l),set.getInstance().setBookData(d),E7t.getInstance().setBookData(f),MV.getInstance().setBookData(p),MV.getInstance().setStepBookData(g);
+ hei(7.11),wN.getInstance().setBookData(t),wN.getInstance().setBookDataForSpecial(i),vx.getInstance().setBookData(s),hL.getInstance().setBookData(e),Wx.getInstance().setBookData(n),Bx.getInstance().setBookData(h),Yx.getInstance().setBookData(u),eU.getInstance().setScenarioBookData(r),eU.getInstance().setPatternBookData(o),s9.getInstance().setBookData(a),MV.getInstance().setBookData(c),lV.getInstance().setBookData(l),ont.getInstance().setBookData(d),s3.getInstance().setBookData(f),TV.getInstance().setBookData(p),TV.getInstance().setStepBookData(g);
- wL.setUserInfo(e.body,!0)}
+ _L.setUserInfo(e.body,!0),Z6.getInstance().setData(e.body.transTicket)}
- ),Csi(10.2),await lD.getInstance().getPassList(),Csi(10.3),f3.getInstance().getInventory(0),Csi(10.4),Csi(10.5),Csi(10.6);
+ ),hei(10.2),await Q2.getInstance().getProducts(0,!1),await pD.getInstance().getPassList(),hei(10.3),Y6.getInstance().getInventory(0),hei(10.4),hei(10.5),hei(10.6);
- n.success&&(null==(i=n.body)?void 0:i.ads)&&zB.getInstance().setData(n.body.ads),Csi(10.7),DV.getInstance().updateAll(),Csi(10.8),bD.opened&&bD.hasGuild&&(await bD.loadMyBriefGuildInfo(),bD.initializeGuildChat()),Csi(10.9),cU.initEventList(),Csi(11),lS.getInstance().addEventListener("GameMainStart",Ssi),await fii.getInstance().start(),hS.bringOverlayToFront(),WL.getInstance().isBgmOn&&WL.getInstance().playRandomBGM(.35),document.addEventListener("visibilitychange",()=>{
+ n.success&&(null==(i=n.body)?void 0:i.ads)&&JB.getInstance().setData(n.body.ads),hei(10.7),UV.getInstance().updateAll(),hei(10.8),ED.opened&&ED.hasGuild&&(await ED.loadMyBriefGuildInfo(),ED.initializeGuildChat()),hei(10.9),fU.initEventList(),hei(11);
+ let h=!1;
+ (0==A9t.getInstance().isOpened||Number(await $A.getTutorialID()??0)>=A9t.TUTORIAL_INDEX_WAVE3)&&(h=!0),h||_L.numRevive>0&&(h=!0),h&&m6.getInstance().doAccountCreate(),lS.getInstance().addEventListener("GameMainStart",nei),await Yii.getInstance().start(),hS.bringOverlayToFront(),KL.getInstance().isBgmOn&&KL.getInstance().playRandomBGM(.35),document.addEventListener("visibilitychange",()=>{
+ )),gei=class t{
+ constructor(){
+ zt(this,"timerId",0)}
+ static getInstance(){
+ return this._instance||(this._instance=new t),this._instance}
+ requestShow(){
+ this.schedule(0)}
+ cancel(){
+ this.timerId&&(clearTimeout(this.timerId),this.timerId=0)}
+ schedule(t){
+ this.cancel(),this.timerId=window.setTimeout(()=>{
+ this.timerId=0,this.tryShow()}
+ ,t)}
+ isBlockedByContext(){
+ return!rti.getInstance().isIdleBattleActive()||!!IL.getInstance().hasPopup||LV.getInstance().children.length>0}
+ async tryShow(){
+ if(_L.numRevive30<t.UNLOCK_REVIVE30)return;
+ if(!fP.getInstance().hasReward())return;
+ if(this.isBlockedByContext())return void this.schedule(t.RETRY_BLOCKED_MS);
+ const{
+ AttendancePopup:i}
+ =await Jt(async()=>{
+ const{
+ AttendancePopup:t}
+ =await Promise.resolve().then(()=>hci);
+ return{
+ AttendancePopup:t}
+ }
+ ,void 0);
+ IL.getInstance().hasPopup?this.schedule(t.RETRY_BLOCKED_MS):(i.getInstance().setData(),i.getInstance().show(),i.getInstance().y=350)}
+ }
+ ;
+ Kt(gei,"AttendanceAutoTrigger"),zt(gei,"_instance"),zt(gei,"UNLOCK_REVIVE30",3),zt(gei,"RETRY_BLOCKED_MS",5e3);
+ let mei=gei;
+ const wei=Object.freeze(Object.defineProperty({
+ __proto__:null,AttendanceAutoTrigger:mei}
+ ,Symbol.toStringTag,{
+ value:"Module"}
- )),oai=class t{
- constructor(){
- zt(this,"timerId",0)}
- static getInstance(){
- return this._instance||(this._instance=new t),this._instance}
- requestShow(){
- this.schedule(0)}
- cancel(){
- this.timerId&&(clearTimeout(this.timerId),this.timerId=0)}
- schedule(t){
- this.cancel(),this.timerId=window.setTimeout(()=>{
- this.timerId=0,this.tryShow()}
- ,t)}
- isBlockedByContext(){
- return!u9t.getInstance().isIdleBattleActive()||!!CL.getInstance().hasPopup||NV.getInstance().children.length>0}
- async tryShow(){
- if(wL.numRevive30<t.UNLOCK_REVIVE30)return;
- if(!Oii.getInstance().hasReward())return;
- if(this.isBlockedByContext())return void this.schedule(t.RETRY_BLOCKED_MS);
- const{
- AttendancePopup:i}
- =await Jt(async()=>{
- const{
- AttendancePopup:t}
- =await Promise.resolve().then(()=>Cai);
- return{
- AttendancePopup:t}
- }
- ,void 0);
- CL.getInstance().hasPopup?this.schedule(t.RETRY_BLOCKED_MS):(i.getInstance().setData(),i.getInstance().show(),i.getInstance().y=350)}
- }
- ;
- Kt(oai,"AttendanceAutoTrigger"),zt(oai,"_instance"),zt(oai,"UNLOCK_REVIVE30",3),zt(oai,"RETRY_BLOCKED_MS",5e3);
- let aai=oai;
- const cai=Object.freeze(Object.defineProperty({
- __proto__:null,AttendanceAutoTrigger:aai}
- ,Symbol.toStringTag,{
- value:"Module"}
HeroIcon 6 hunks, 76 statements
- const l3=class t extends c3{
- static getInstance(){
- return this._instance||(this._instance=new t),this._instance}
- constructor(){
- super()}
- }
- ;
- Kt(l3,"Toast"),zt(l3,"_instance");
- let u3=l3;
- const d3=class t{
- constructor(){
- zt(this,"requestPending",!1),zt(this,"obj",{
- }
- ),zt(this,"objByType",{
- }
- ),zt(this,"types",[])}
- static getInstance(){
- return null==this.instance&&(this.instance=new t),this.instance}
- async getInventory(t,i=!1){
- if(this.requestPending)return;
- this.requestPending=!0;
- let s=await iD.getInstance().user.getInventory(t,i);
- if(0==s.success)return this.requestPending=!1,void lS.getInstance().dispatchCustomEvent("UserInventory");
- this.setData(s.body),this.requestPending=!1}
- setData(t){
- if(!t||!t.inventory)return;
- this.obj={
- }
- ,this.objByType={
- }
- ,this.obj.all=[],this.types[0]="all",this.types.length=1;
- const i=t.inventory;
- let s,e,n;
- const h=i.length;
- for(let r=0;
- r<h;
- ++r){
- if(s=i[r].type.toString(),e="subType"in i[r]?i[r].subType.toString():"",n="","ticket"==s)switch(e){
- case"heroGacha":case"heroSelect":n="hero";
- break;
- case"pet":case"petSelect":n="pet";
- break;
- case"treasureGacha":n="relic"}
- ""!=n&&(e&&(this.objByType[`${
- s}
- _${
- e}
- `]=i[r]),i[r].inventoryType=n,this.obj[n]||(this.obj[n]=[]),this.obj[n].push(i[r]),this.obj.all.push(i[r]),this.types.includes(n)||this.types.push(n))}
- lS.getInstance().dispatchCustomEvent("UserInventory")}
- getTypes(){
- return this.types}
- getListWithType(t){
- return this.obj[t]}
- getDataWithTypeAndSubType(t,i){
- return this.objByType[`${
- t}
- _${
- i}
- `]}
- }
- ;
- Kt(d3,"InventoryManager"),zt(d3,"instance");
- let f3=d3;
- var p3=(t=>(t.all="all",t.hero="hero",t.relic="relic",t.pet="pet",t))(p3||{
- }
- ),g3=(t=>(t.gem="gem",t.redGem="redGem",t.gold="gold",t.medal="medal",t.honorCoin="honorCoin",t.guildPoint="guildPoint",t.guildCoin="guildCoin",t.raidCoin="raidCoin",t.hammer="hammer",t.hero="hero",t.instant="instant",t.ticket="ticket",t.pet="pet",t.petTicket="petTicket",t.petSelect="petSelect",t.heroGacha="heroGacha",t.heroSelect="heroSelect",t.heroTrans="heroTrans",t.treasureGacha="treasureGacha",t.treasureTrans="treasureTrans",t))(g3||{
- }
- ),m3=(t=>(t[t.ROSTER=0]="ROSTER",t[t.HERO_LIST=1]="HERO_LIST",t[t.HERO_DETAIL=2]="HERO_DETAIL",t[t.BOOK=3]="BOOK",t[t.SHOP=4]="SHOP",t[t.HERO_PVP=5]="HERO_PVP",t[t.TOWER=6]="TOWER",t[t.TOWER_TEAM=7]="TOWER_TEAM",t))(m3||{
+ var l3=(t=>(t[t.ROSTER=0]="ROSTER",t[t.HERO_LIST=1]="HERO_LIST",t[t.HERO_DETAIL=2]="HERO_DETAIL",t[t.BOOK=3]="BOOK",t[t.SHOP=4]="SHOP",t[t.HERO_PVP=5]="HERO_PVP",t[t.TOWER=6]="TOWER",t[t.TOWER_TEAM=7]="TOWER_TEAM",t))(l3||{
- this.icon.texture=ZA.getTexture("UI_Ekkorr",`Hero${
+ t>0?(this.icon.visible=!0,this.icon.texture=ZA.getTexture("UI_Ekkorr",`Hero${
- `),this.bg.texture=ZA.getTexture("UI_Ekkorr",`HeroFrame${
+ `)):this.icon.visible=!1,this.bg.texture=ZA.getTexture("UI_Ekkorr",`HeroFrame${
+ if(t>0){
- s&&(this.setTextures(s.base,s.grade),i>0?(this.trans.visible=!0,this.trans.texture=ZA.getTexture("UI_Ekkorr",`Trans000${
+ if(!i)return;
+ this.setTextures(i.base,i.grade)}
+ else this.setTextures(0,1);
+ i>0?(this.trans.visible=!0,this.trans.texture=ZA.getTexture("UI_Ekkorr",`Trans000${
- `)):this.trans.visible=!1,this.lblEnhance.visible=!1,this.lblLevel.visible=!1,this.lblCount.visible=!1)}
+ `)):this.trans.visible=!1,this.lblEnhance.visible=!1,this.lblLevel.visible=!1,this.lblCount.visible=!1}
ShopItemRenderer 1 hunks, 75 statements
- const J6=class extends XI{
- constructor(){
- super(),zt(this,"bg"),zt(this,"lblName",new KD("2배속 ",16777215,nD.DEFAULT_OUTLINE_FONT_OPTION_18)),zt(this,"icon",new We(ZA.getTexture("UI_Ekkorr","Shop_Icon_07"))),zt(this,"btnBuy",new DB("UI_GEM","100")),zt(this,"btnAd",new DB("UI_MOVIE_SMALL",yG.getText("GAME_236","광고"))),zt(this,"lblRemaining",new KD("",11184810,nD.DEFAULT_FONT_OPTION_16)),zt(this,"lblCooldown",new KD("",16737894,nD.DEFAULT_FONT_OPTION_16)),zt(this,"requesting",!1),this.bg=new TM({
- texture:ZA.getTexture("UI_Ekkorr","Popup_List_02"),leftWidth:140,topHeight:30,rightWidth:20,bottomHeight:30}
- ),this.bg.x=5,this.bg.width=630,this.bg.height=80,this.addChild(this.bg),this.addChild(this.icon),this.lblName.x=135,this.lblName.y=.5*(this.bg.height-this.lblName.height),this.addChild(this.lblName),this.btnBuy.lbl.iconScale=.8,this.btnBuy.color=DB.BROWN,this.btnBuy.height=55,this.btnBuy.width=140,this.btnBuy.x=this.bg.width-this.btnBuy.width-6,this.btnBuy.y=.5*(this.bg.height-this.btnBuy.height),this.addChild(this.btnBuy),this.btnBuy.on("pointerdown",this.onBuy,this),this.btnAd.lbl.iconScale=.6,this.btnAd.color=qL.BROWN,this.btnAd.height=55,this.btnAd.width=140,this.btnAd.x=this.bg.width-this.btnAd.width-6,this.btnAd.y=.5*(this.bg.height-this.btnAd.height),this.addChild(this.btnAd),this.btnAd.onClick=this.onAdWatch.bind(this),this.lblRemaining.y=.5*(this.bg.height-this.lblRemaining.height),this.addChild(this.lblRemaining),this.lblCooldown.visible=!1,this.addChild(this.lblCooldown)}
- async onBuy(t){
- if(1==this.data.kindNum){
- let t=await iD.getInstance().user.buySpeed15();
- if(0==t.success)return void dG.getInstance().showError(t);
- wL.setUser(t.body),DV.getInstance().updateAll(),BG.getInstance().setSpeed(2)}
- }
- async onAdWatch(){
- var t;
- try{
- const t=Y6.getInstance().checkApproved();
- if(0==t.approved)return void dG.getInstance().show(t.errorMessage)}
- catch(s){
- const t=yG.getText("AGE_RANGE_3","현재 사용 중인 기기 또는 OS 환경에서는 연령 정보를 확인할 수 없어, 일부 기능이 ‘안전 모드’로 제한됩니다.");
- return void dG.getInstance().show(t)}
- if(this.requesting)return;
- if(!(null==(t=this.data)?void 0:t.isAd))return;
- const i=this.data.adsType;
- if(0!==zB.getInstance().getDailyRemaining(i)){
- if(zB.getInstance().isCooldownReady(i)){
- this.requesting=!0;
- try{
- wL.canSkipAds?(MU.trackAd("ad_skip",String(i)),await this.onAdComplete()):(MU.trackAd("ad_try",String(i)),await UL(async()=>{
- MU.trackAd("ad_success",String(i)),await this.onAdComplete()}
- ,i,()=>{
- MU.trackAd("ad_fail",String(i))}
- ))}
- finally{
- this.requesting=!1}
- }
- }
- else dG.getInstance().show(yG.getText("GAME_244","오늘 최대 횟수를 초과했습니다."))}
- async onAdComplete(){
- const t=this.data.adsType,i=await iD.getInstance().ads.watch(t,!0);
- if(!1!==i.success){
- if(nV.getInstance().markDirty(),i.body.user&&(wL.setUserData(i.body.user),DV.getInstance().updateAll()),i.body.ads&&zB.getInstance().setData(i.body.ads),i.body.dungeon&&Rx.getInstance().setData(i.body.dungeon),"speed"===i.body.rewardType&&BG.getInstance().setSpeed(2),5===t){
- const t=zB.getInstance().getDailyRemaining(5),i=zB.getInstance().isCooldownReady(5);
- 0!==t&&i||lii.getInstance().removeAdsGoblins()}
- this.updateRemaining()}
- else dG.getInstance().showError(i)}
- setData(t){
- this.data=t,t.isAd?(this.btnBuy.visible=!1,this.btnAd.visible=!0,this.lblName.text=t.name,this.icon.scale.set(1),this.icon.texture=ZA.getTexture("UI_Ekkorr",t.icon),this.icon.y=.5*(this.bg.height-this.icon.height),this.updateRemaining()):(this.btnBuy.visible=!0,this.btnAd.visible=!1,this.lblRemaining.visible=!1,this.lblName.text=t.name,(1==t.kindNum||2==t.kindNum)&&(this.icon.texture=ZA.getTexture("UI_Ekkorr",t.icon)),this.icon.y=.5*(this.bg.height-this.icon.height),this.btnBuy.text=t.gem.toString()),this.icon.x=60-.5*this.icon.width,this.lblRemaining.visible?nD.setLabelWrapWidth(this.lblName,this.lblRemaining.x-this.lblName.x-5):nD.setLabelWrapWidth(this.lblName,this.btnBuy.x-this.lblName.x-5),this.lblName.y=.5*(this.bg.height-this.lblName.height)}
- updateRemaining(){
- var t;
- (null==(t=this.data)?void 0:t.isAd)&&this.updateCooldown()}
- updateCooldown(){
- var t;
- if(!(null==(t=this.data)?void 0:t.isAd))return;
- const i=this.data.adsType,s=zB.getInstance().getCooldownRemaining(i),e=zB.getInstance().getDailyRemaining(i),n=0===e,h=e>=0&&this.data.dailyMax,r=this.btnAd.x-8,o=.5*this.bg.height;
- if(s>0&&!n){
- const t=Math.ceil(s/1e3),i=Math.floor(t/60),n=t%60,a=`${
- String(i).padStart(2,"0")}
- :${
- String(n).padStart(2,"0")}
- `;
- this.lblCooldown.visible=!0,this.lblCooldown.text=a,this.btnAd.activated=!1,h?(this.lblRemaining.visible=!0,this.lblRemaining.text=`${
- e}
- /${
- this.data.dailyMax}
- `,this.lblCooldown.x=r-this.lblCooldown.width,this.lblCooldown.y=o-this.lblCooldown.height-1,this.lblRemaining.x=r-this.lblRemaining.width,this.lblRemaining.y=o+1):(this.lblRemaining.visible=!1,this.lblCooldown.x=r-this.lblCooldown.width,this.lblCooldown.y=o-.5*this.lblCooldown.height)}
- else this.lblCooldown.visible=!1,this.btnAd.activated=!n,h?(this.lblRemaining.visible=!0,this.lblRemaining.text=`${
- e}
- /${
- this.data.dailyMax}
- `,this.lblRemaining.x=r-this.lblRemaining.width,this.lblRemaining.y=o-.5*this.lblRemaining.height):this.lblRemaining.visible=!1}
- get height(){
- return this.bg.height+2}
- }
- ;
- Kt(J6,"ShopItemRenderer");
- let Q6=J6;
ShopGemSubView 1 hunks, 68 statements
- constructor(){
- super(),zt(this,"list"),this.list=new zI(Q6,635,KA.listHeight),this.list.x=0,this.list.y=0,this.addChild(this.list),this.on("added",this.onAdded,this),this.on("removed",this.onRemoved,this)}
- static getInstance(){
- return null==t.instance&&(t.instance=new t),t.instance}
- onAdded(){
- GM.getInstance().add(this.onFrame,this)}
- onRemoved(){
- GM.getInstance().remove(this.onFrame,this)}
- onFrame(){
- var t;
- if(null==(null==(t=this.parent)?void 0:t.parent))return;
- const i=this.list.getItemList();
- for(let s=0;
- s<i.length;
- s++)!1!==i[s].visible&&i[s].updateCooldown()}
- setData(){
- let t=[];
- t.push({
- kindNum:1,icon:"UI_SHOP_SPEED2",name:yG.getValueReplaceMulti("GAME_57",["@@","##"],[20,2],"20분간 게임속도 2배 증가"),gem:100,desc:yG.getValueReplaceMulti("GAME_57",["@@","##"],[20,2],"20분간 게임속도 2배 증가")}
- ),t.push({
- isAd:!0,adsType:2,dailyMax:20,icon:"UI_SHOP_SPEED2",name:yG.getValueReplaceMulti("GAME_228",["##","@@"],[20,2],"{
-  광고보고 20분간 2배속 }
- "),rewardDesc:yG.getValueReplaceMulti("GAME_232",["##","@@","$$"],[10,2,20],"{
-  20분간 2배속, 하루 최대 3회 }
- ")}
- ),t.push({
- isAd:!0,adsType:3,dailyMax:3,icon:"UI_COIN_Big",name:yG.getValueReplace("GAME_229","##",100,"{
-  광고보고 명예코인 100개 }
- "),rewardDesc:yG.getValueReplaceMulti("GAME_233",["##","@@"],[100,3],"{
-  명예코인 100개, 하루 최대 3회 }
- ")}
- ),t.push({
- isAd:!0,adsType:5,dailyMax:10,icon:"UI_SHOP_GEM",name:yG.getValueReplace("GAME_231","##",100,"{
-  광고보고 보석 100개 }
- "),rewardDesc:yG.getValueReplaceMulti("GAME_235",["##","@@"],[100,10],"{
-  보석 100개, 하루 최대 10회 }
- ")}
- ),this.list.dataProvider=t,this.onAdded()}
- get className(){
- return"ShopGemSubView"}
- }
- ;
- Kt(Z6,"ShopGemSubView"),zt(Z6,"instance");
- let t4=Z6;
- const i4=class extends L2{
- constructor(t="Icon_Web_Market",i="UI_Ekkorr"){
- super(t,i),zt(this,"lbl");
- const s=nD.DEFAULT_OUTLINE_FONT_OPTION_16;
- s.fill=nD.COLOR_BRIGHT_ORANGE,this.lbl=new KD("WEB",s.fill,s),this.lbl.eventMode="none",this.addChild(this.lbl),this.update()}
- update(){
- super.update(),this.lbl&&(this.lbl.x=this.icon.x-.5*this.lbl.width,this.lbl.y=this.icon.y+10),this.pivot.set(.5*this.width,.5*this.height)}
- onDown(){
- this.scale=.95}
- onUp(){
- this.scale=1}
- get width(){
- return this.icon.width}
- get height(){
- return this.icon.height}
- }
- ;
- Kt(i4,"WebMarketButton");
- let s4=i4;
- const e4=class t extends nG{
- constructor(){
- super(),zt(this,"lblMessage",new KD("",16777215,nD.ERROR_POPUP_LABEL_OPTION)),zt(this,"btnConfirm",new QL("이동")),zt(this,"btnCancel",new q5("취소")),zt(this,"iconNote"),zt(this,"lblNote",new KD("",nD.COLOR_LIGHT_BROWN,nD.ERROR_POPUP_LABEL_OPTION)),zt(this,"onConfirm",null),zt(this,"onCancel",null),this.title="알림",this.lblMessage.y=90;
- let t=this.lblMessage.getStyle();
- t.align="center",this.lblMessage.setStyle(t),this.iconNote=new We(ZA.getTexture("UI_Ekkorr","UI_Alarm")),this.iconNote.anchor.set(.5),this.iconNote.scale.set(.8),this.iconNote.x=35,t=this.lblNote.getStyle(),t.fontSize=17,t.lineHeight=25,this.lblNote.setStyle(t),this.lblNote.x=this.iconNote.x+.5*this.iconNote.width+5,this.contentContainer.addChild(this.lblMessage,this.btnConfirm,this.btnCancel,this.lblNote,this.iconNote),this.btnConfirm.onClick=this.onConfirmClick.bind(this),this.btnCancel.onClick=this.onCancelClick.bind(this)}
ClickAniEffect 2 hunks, 66 statements
- super()}
+ super(),zt(this,"sp"),zt(this,"textures",[]),this.textures=ZA.getTextures("ClickHand","ClickHand"),this.sp=new jf(this.textures),this.addChild(this.sp),this.eventMode="none"}
+ static getInstance(){
+ return null==this.instance&&(this.instance=new t),this.instance}
+ isPlaying(){
+ return!!this.parent}
+ show(t,i,s,e,n=0,h=0){
+ this.x=t,this.y=i,Y5.getInstance().setClickArea(t-.5*s+n,i-.5*e+h,s,e),this.isPlaying()||(this.sp.animationSpeed=.65,this.sp.play(),Y5.getInstance().addChild(this))}
+ hide(){
+ Y5.getInstance().setBlockerEnabled(!1),this.sp.stop(),this.parent&&this.removeFromParent()}
- Kt(V5,"RewardLayer"),zt(V5,"_instance");
+ Kt(J5,"ClickAniEffect"),zt(J5,"instance");
+ let Q5=J5;
+ const Z5=class{
+ constructor(){
+ zt(this,"kindNum",0),zt(this,"wave",0),zt(this,"order",0),zt(this,"position",1),zt(this,"text",""),zt(this,"code",""),zt(this,"maxWave",-1),zt(this,"repeat",9999)}
+ getTextKey(){
+ return`DIALOGUE_TEXT_${
+ this.kindNum}
+ `}
+ }
+ ;
+ Kt(Z5,"DialogueVO");
+ let t3=Z5;
+ const i3=class t{
+ constructor(){
+ zt(this,"list",[]),zt(this,"waveMap",new Map),zt(this,"playCount",{
+ }
+ ),zt(this,"playCountLoaded",!1)}
+ static getInstance(){
+ return null==this.instance&&(this.instance=new t),this.instance}
+ setBookData(t){
+ if(this.list=[],this.waveMap.clear(),t){
+ for(let i=0;
+ i<t.length;
+ i++){
+ const s=t[i],e=new t3;
+ e.kindNum=Number(s.kindNum),e.wave=Number(s.wave),e.order=Number(s.order),e.position=Number(s.position)||1,e.text=s.text??"",e.code=s.code??"",e.maxWave=Number(s.maxWave)||-1,e.repeat=Number(s.repeat)||9999,this.list.push(e);
+ let n=this.waveMap.get(e.wave);
+ n||(n=[],this.waveMap.set(e.wave,n)),n.push(e)}
+ for(const t of this.waveMap.values())t.sort((t,i)=>t.order-i.order);
+ this.loadPlayCount()}
+ }
+ async loadPlayCount(){
+ if(this.playCountLoaded)return;
+ const i=await $A.getData(t.LOCAL_KEY);
+ this.playCount=i??{
+ }
+ ,this.playCountLoaded=!0}
+ savePlayCount(){
+ $A.saveData(t.LOCAL_KEY,this.playCount)}
+ async getByWaveAsync(t){
+ return await this.loadPlayCount(),this.getByWave(t)}
+ getByWave(t){
+ const i=this.waveMap.get(t)??[],s=_L.maxWave,e=[];
+ let n=!1;
+ for(const h of i)if(!(h.maxWave>0&&s<h.maxWave)){
+ if(h.repeat<999){
+ const t=this.playCount[h.kindNum]??0;
+ if(t>=h.repeat)continue;
+ this.playCount[h.kindNum]=t+1,n=!0}
+ e.push(h)}
+ return n&&this.savePlayCount(),e}
+ hasDialogue(t){
+ return this.waveMap.has(t)}
+ }
+ ;
+ Kt(i3,"DialogueDataManager"),zt(i3,"instance"),zt(i3,"LOCAL_KEY",$A.KEY_DIALOGUE_COUNT);
EvolveMaterialMultiConfirmPopup 1 hunks, 61 statements
+ const q9=class t extends aG{
+ constructor(){
+ super(),zt(this,"lblMessage",new YD("",aD.DEFAULT_COLOR,aD.DEFAULT_FONT_OPTION_17)),zt(this,"materialContainer",new Be),zt(this,"materialIcons",[]),zt(this,"materialCountLabels",[]),zt(this,"materialCostLabels",[]),zt(this,"btnCancel",new kU("UI_CLOSE_BTN","","취소",.7,160,70)),zt(this,"btnTrans",new kU("PVP_COIN_ON","100","초월",1,200,70)),zt(this,"count",1),zt(this,"matCounts",[]),zt(this,"preEvolKindNums",[]),zt(this,"preEvolCounts",[]),zt(this,"requestPending",!1),zt(this,"onEvolved",null),this.width=600,this.lblMessage.y=90,aD.setLabelWrapWidth(this.lblMessage,this.width-60);
+ for(let t=0;
+ t<5;
+ t++){
+ const t=new d3;
+ t.setMode(l3.BOOK),t.scale.set(.8),this.materialIcons.push(t);
+ const i=new YD("0/1",aD.DEFAULT_COLOR,aD.DEFAULT_OUTLINE_FONT_OPTION_18);
+ this.materialCountLabels.push(i);
+ const s=new GB("UI_GEM_ICON","0",aD.COLOR_DEEP_SKYBLUE,aD.DEFAULT_FONT_OPTION_18);
+ this.materialCostLabels.push(s)}
+ this.btnTrans.text=AG.getText("GAME_820","초월"),this.btnTrans.showIconLabel=!0,this.btnTrans.showTextLabel=!0,this.btnTrans.color=kU.GREEN,this.btnTrans.onClick=this.onTransClick.bind(this),this.btnCancel.text=AG.getText("COMMON_2","취소"),this.btnCancel.color=kU.RED,this.btnCancel.showIconLabel=!1,this.btnCancel.showTextLabel=!0,this.btnCancel.onClick=()=>this.hide(),this.contentContainer.addChild(this.lblMessage,this.materialContainer,this.btnCancel,this.btnTrans),this.updateLayout()}
+ static getInstance(){
+ return this._instance||(this._instance=new t),this._instance}
+ updateLayout(){
+ this.lblMessage.x=.5*(this.width-this.lblMessage.width),this.materialContainer.x=.5*(this.width-this.materialContainer.width),this.materialContainer.y=this.lblMessage.y+this.lblMessage.height+30;
+ const t=this.btnCancel.width+16+this.btnTrans.width,i=this.materialContainer.y+this.materialContainer.height+30;
+ this.btnCancel.x=.5*(this.width-t),this.btnCancel.y=i,this.btnTrans.x=this.btnCancel.x+this.btnCancel.width+16,this.btnTrans.y=i,this.height=i+this.btnTrans.height+50}
+ setData(t,i,s,e){
+ this.lblMessage.text=AG.getText("GAME_1237","재료 영웅을 진화시켜 초월 재료로 바로 사용할 수 있습니다.")+"\n"+AG.getText("GAME_1238","영웅을 진화한 후에 초월하시겠습니까?"),this.count=s,this.matCounts=[...t],this.preEvolKindNums.length=0,this.preEvolCounts.length=0,this.materialContainer.removeChildren();
+ const n=vx.getInstance();
+ let h=0;
+ const r=this.materialIcons.length;
+ for(let a=0;
+ a<r;
+ ++a){
+ const t=i[a],s=n.getBookVO(t);
+ if(!t||t<1||!s)continue;
+ const e=this.materialIcons[h];
+ e.setDataWithKindNum(t);
+ const r=this.count-this.matCounts[a],o=n.getOwnedUnitCount(t,0),c=this.materialCountLabels[h];
+ c.text=`${
+ o}
+ /${
+ r}
+ `,this.preEvolKindNums.push(t),this.preEvolCounts.push(o);
+ const l=V9[s.grade]??0,u=this.materialCostLabels[h];
+ u.text=""+l*r,e.x=113*h,e.y=0,c.x=e.x+.5*(80-c.width)+5,c.y=70,u.x=c.x+.5*(c.width-u.width)-5,u.y=c.y+c.height,this.materialContainer.addChild(e),this.materialContainer.addChild(c),this.materialContainer.addChild(u),h++}
+ const o=vx.getTransHonorCoinCost(e);
+ this.btnTrans.text=AG.getText("GAME_820","초월"),this.btnTrans.iconText=String(o*s),this.updateLayout()}
+ async onTransClick(){
+ if(this.requestPending)return;
+ this.setRequestPending(!0);
+ const t=[];
+ for(let s=0;
+ s<this.preEvolKindNums.length;
+ ++s)t.push(`${
+ this.preEvolKindNums[s]}
+ -${
+ this.count-this.matCounts[s]}
+ `);
+ const i=await hD.getInstance().hero.evolveOwned(t.join("|"),!0);
+ if(!1===i.success)return this.setRequestPending(!1),void mG.getInstance().showError(i);
+ _L.setUserInfo(i.body),UV.getInstance().updateAll(),this.setRequestPending(!1),this.hide(),this.onEvolved&&(this.onEvolved(),this.onEvolved=null)}
+ setRequestPending(t){
+ this.requestPending=t}
+ }
+ ;
+ Kt(q9,"EvolveMaterialMultiConfirmPopup"),zt(q9,"_instance");
+ let X9=q9;
RaidBattleController 11 hunks, 50 statements
- super(),zt(this,"battleType",gV.RAID),zt(this,"boss",null),zt(this,"terrainOverlay",null),zt(this,"allyFlowField",null),zt(this,"enemyFlowField",null),zt(this,"separationGrid",new Map),zt(this,"separationFlatList",[]),zt(this,"rvoPool",[]),zt(this,"rvoNbAgents",[]),zt(this,"rvoNbDist",[]),zt(this,"rvoNbIdx",[]),zt(this,"heroKindNums",[...t.DEFAULT_HERO_KINDS]),zt(this,"soldierKindNums",[...t.DEFAULT_SOLDIER_KINDS]),zt(this,"raidOptions",null),zt(this,"bossKindNum",t.BOSS_KIND_NUM),zt(this,"bossStartHp",0),zt(this,"resultReported",!1),zt(this,"spawnedVOs",[]),zt(this,"speedHelper",new q4("ef2.raid.battleSpeed")),zt(this,"corpCommander",new A8(t.CORP_COUNT)),zt(this,"camera",null),zt(this,"mapEffect",null),zt(this,"hud",null),zt(this,"corpUnits",[]),zt(this,"corpAggro",[]),zt(this,"prevCorpDmg",[]),zt(this,"corpHero",[]),zt(this,"aggroLeader",-1),zt(this,"aggroChallenger",-1),zt(this,"aggroChallengerFrames",0),zt(this,"aggroTargetCorp",-1),zt(this,"forcedAggroCorp",-1),zt(this,"forcedAggroFrames",0),zt(this,"raidEmblemStates",[]),zt(this,"crossbows",[]),zt(this,"crossbowDebug",null),zt(this,"rangedByCorp",[]),zt(this,"meleeSoldiers",[])}
+ super(),zt(this,"battleType",bV.RAID),zt(this,"boss",null),zt(this,"terrainOverlay",null),zt(this,"allyFlowField",null),zt(this,"enemyFlowField",null),zt(this,"separationGrid",new Map),zt(this,"separationFlatList",[]),zt(this,"rvoPool",[]),zt(this,"rvoNbAgents",[]),zt(this,"rvoNbDist",[]),zt(this,"rvoNbIdx",[]),zt(this,"heroKindNums",[...t.DEFAULT_HERO_KINDS]),zt(this,"soldierKindNums",[...t.DEFAULT_SOLDIER_KINDS]),zt(this,"raidOptions",null),zt(this,"bossKindNum",t.BOSS_KIND_NUM),zt(this,"bossStartHp",0),zt(this,"resultReported",!1),zt(this,"spawnedVOs",[]),zt(this,"speedHelper",new D8("ef2.raid.battleSpeed")),zt(this,"corpCommander",new E7(t.CORP_COUNT)),zt(this,"camera",null),zt(this,"mapEffect",null),zt(this,"hud",null),zt(this,"corpUnits",[]),zt(this,"selectedCorpIndex",-1),zt(this,"corpAggro",[]),zt(this,"prevCorpDmg",[]),zt(this,"corpHero",[]),zt(this,"aggroLeader",-1),zt(this,"aggroChallenger",-1),zt(this,"aggroChallengerFrames",0),zt(this,"aggroTargetCorp",-1),zt(this,"forcedAggroCorp",-1),zt(this,"forcedAggroFrames",0),zt(this,"raidEmblemStates",[]),zt(this,"crossbows",[]),zt(this,"crossbowDebug",null),zt(this,"rangedByCorp",[]),zt(this,"meleeSoldiers",[])}
- corpCount:t.CORP_COUNT,fieldW:t.FIELD_WIDTH,fieldH:t.FIELD_HEIGHT,getAnchor:Kt(t=>this.getCameraAnchor(t),"getAnchor"),isFlagDragging:Kt(()=>this.corpCommander.isDragging(),"isFlagDragging")}
+ corpCount:t.CORP_COUNT,fieldW:t.FIELD_WIDTH,fieldH:t.FIELD_HEIGHT,getAnchor:Kt(t=>this.getCameraAnchor(t),"getAnchor"),isFlagDragging:Kt(()=>this.corpCommander.isDragging(),"isFlagDragging"),onFieldDown:Kt((t,i)=>this.tryStartCorpDragAt(t,i),"onFieldDown")}
- this.hud=new N8(n,this.bossKindNum,this.heroKindNums,this.soldierKindNums,()=>this.returnToMain(),this.getRaidEmblemDefinitionsForHud(),t=>this.activateRaidEmblem(t)),this.speedHelper.attachButton(Cst.getInstance(),16,88),this.crossbows=[{
+ this.hud=new x7(n,this.bossKindNum,this.heroKindNums,this.soldierKindNums,()=>this.returnToMain(),this.getRaidEmblemDefinitionsForHud(),t=>this.activateRaidEmblem(t),t=>this.onCorpSelect(t)),this.speedHelper.attachButton(xet.getInstance(),16,88),this.crossbows=[{
- ),this.crossbowDebug=new Gf,this.crossbowDebug.eventMode="none",xB.getInstance().addChild(this.crossbowDebug)}
+ ),this.crossbowDebug=new Gf,this.crossbowDebug.eventMode="none",DB.getInstance().addChild(this.crossbowDebug),this.corpCommander.bringToTop()}
- if(h.battleController=this,h instanceof v2&&await h.ensureSpineReady(),e){
+ h.battleController=this,h instanceof N2&&await h.ensureSpineReady();
+ const r=e?this.bossKindNum:t.GOLEM_KIND_NUM;
+ if(e??vx.getInstance().getBookVO(r)){
- t.id=-1,t.kindNum=this.bossKindNum,t.level=1,t.enhance=0,this.spawnedVOs.push(t),h.setData(t)}
- (null==(i=this.raidOptions)?void 0:i.bossHp)&&this.raidOptions.bossHp>0?h.baseMaxHp=this.raidOptions.bossHp:h.baseMaxHp*=t.BOSS_HP_MULT,h.orgMaxHp=h.maxHp=h.baseMaxHp,h.hp=h.maxHp,h.health=h.maxHp,this.bossStartHp=h.maxHp,h.orgMoveSpd=h.moveSpd=1.8*h.moveSpd*1.6*2*.7,h.moveSpd<=0&&(h.orgMoveSpd=h.moveSpd=3),h.blowImmune=!0,h.stunImmune=!0,h.freezeImmune=!0,h.knockImmune=!0,h.isAir=!1,h.scale.set(1,1),h instanceof v2&&(h.wanderMinX=250,h.wanderMaxX=790,h.wanderMinY=250,h.wanderMaxY=1050,this.bossKindNum===t.HARPY_KIND_NUM&&(h.wanderMinX=300,h.wanderMaxX=1100,h.wanderMinY=250,h.wanderMaxY=800),this.bossKindNum===t.SCORPION_KIND_NUM&&h.setRaidTint(t.getScorpionTint((null==(s=this.raidOptions)?void 0:s.bossSub)??1))),h.x=t.BOSS_X,h.y=t.BOSS_Y,h.tx=h.x,h.ty=h.y,h.xDefault=h.x,h.yDefault=h.y,h.ground=h.y,h.lookAt(-1),h.initDelay=0,h.showTombstone=!1,h.maxRevive=0,h.reviveInterval=0,h.totalDamageDealt=0,h.numBlock=0,h.radius=t.BOSS_RADIUS,h.aggressiveRetarget=!1,h instanceof v2&&(h.targetSwapChance=0),h.detectRange=t.BOSS_DETECT_RANGE,h.detectRange2=h.detectRange*h.detectRange,YG.getInstance().addChild(h),this.enemyList.push(h),this.boss=h,h instanceof v2&&h.createHitBox()}
+ t.id=-1,t.kindNum=r,t.level=1,t.enhance=0,this.spawnedVOs.push(t),h.setData(t),h.kindNum=this.bossKindNum}
+ (null==(i=this.raidOptions)?void 0:i.bossHp)&&this.raidOptions.bossHp>0?h.baseMaxHp=this.raidOptions.bossHp:h.baseMaxHp*=t.BOSS_HP_MULT,h.orgMaxHp=h.maxHp=h.baseMaxHp,h.hp=h.maxHp,h.health=h.maxHp,this.bossStartHp=h.maxHp,h.orgMoveSpd=h.moveSpd=1.8*h.moveSpd*1.6*2*.7,h instanceof N2&&h.immobile?(h.orgMoveSpd=h.moveSpd=0,h.atkRange=t.IMMOBILE_BOSS_ATK_RANGE,h.atkRange2=h.atkRange*h.atkRange):h.moveSpd<=0&&(h.orgMoveSpd=h.moveSpd=3),h.blowImmune=!0,h.stunImmune=!0,h.freezeImmune=!0,h.knockImmune=!0,h.isAir=!1,h.scale.set(1,1),h instanceof N2&&(h.wanderMinX=250,h.wanderMaxX=790,h.wanderMinY=250,h.wanderMaxY=850,this.bossKindNum===t.HARPY_KIND_NUM&&(h.wanderMinX=300,h.wanderMaxX=1100,h.wanderMinY=250,h.wanderMaxY=800),this.bossKindNum===t.BERIAL_KIND_NUM&&(h.wanderMinY=450),this.bossKindNum===t.SCORPION_KIND_NUM&&h.setRaidTint(t.getScorpionTint((null==(s=this.raidOptions)?void 0:s.bossSub)??1))),h.x=t.BOSS_X,h.y=t.BOSS_Y,h.tx=h.x,h.ty=h.y,h.xDefault=h.x,h.yDefault=h.y,h.ground=h.y,h.lookAt(-1),h.initDelay=0,h.showTombstone=!1,h.maxRevive=0,h.reviveInterval=0,h.totalDamageDealt=0,h.numBlock=0,h.radius=t.BOSS_RADIUS,h.aggressiveRetarget=!1,h instanceof N2&&(h.targetSwapChance=0),h.detectRange=t.BOSS_DETECT_RANGE,h.detectRange2=h.detectRange*h.detectRange,tB.getInstance().addChild(h),this.enemyList.push(h),this.boss=h,h instanceof N2&&h.createHitBox()}
+ tryStartCorpDragAt(t,i){
+ const s=tB.getInstance().toLocal({
+ x:t,y:i}
+ ),e=this.pickCorpAt(s.x,s.y);
+ return!(e<0||(this.setSelectedCorp(e),this.corpCommander.startCorpDragAt(e,t,i),0))}
+ setSelectedCorp(t){
+ this.selectedCorpIndex!==t&&(this.selectedCorpIndex>=0&&this.setCorpOutline(this.selectedCorpIndex,!1),this.selectedCorpIndex=t,this.setCorpOutline(t,!0))}
+ pickCorpAt(i,s){
+ let e=-1,n=t.UNIT_SELECT_RADIUS*t.UNIT_SELECT_RADIUS;
+ for(let t=0;
+ t<this.corpUnits.length;
+ t++)for(const h of this.corpUnits[t]){
+ if(!h.isAlive||h.removed)continue;
+ const r=h.getHitCenter(),o=r.x-i,a=r.y-s,c=o*o+a*a;
+ c<n&&(n=c,e=t)}
+ return e}
+ onCorpSelect(t){
+ this.selectedCorpIndex>=0&&this.setCorpOutline(this.selectedCorpIndex,!1),this.selectedCorpIndex!==t?(this.selectedCorpIndex=t,this.setCorpOutline(t,!0)):this.selectedCorpIndex=-1}
+ setCorpOutline(i,s){
+ const e=this.corpUnits[i];
+ if(e)for(const n of e)n.filters=s?[new a7({
+ thickness:3,color:t.CORP_OUTLINE_COLOR,quality:.5}
+ )]:[]}
- r.aggroFaceX=n,null!==n&&r.state!==ex.ATTACK&&r.state!==ex.SKILL&&Math.abs(n-r.x)>t.AGGRO_FACE_DEADZONE&&r.lookAt(n<r.x?-1:1)}
+ r.aggroFaceX=n;
+ const h=r.immobile||r.state!==ex.ATTACK&&r.state!==ex.SKILL;
+ null!==n&&h&&Math.abs(n-r.x)>t.AGGRO_FACE_DEADZONE&&r.lookAt(n<r.x?-1:1)}
+ getRandomRangedCorpCenter(){
+ var t;
+ const i=Kt(t=>(this.corpUnits[t]??[]).some(t=>t.isAlive&&!t.removed&&!t.isUntagetable),"isAliveCorp"),s=[];
+ for(let n=0;
+ n<this.corpUnits.length;
+ n++)(null==(t=this.corpHero[n])?void 0:t.unitType)===sx.RANGE&&i(n)&&s.push(n);
+ const e=s.length>0?s:Array.from({
+ length:this.corpUnits.length}
+ ,(t,i)=>i).filter(i);
+ return 0===e.length?null:this.getCorpCenter(e[this.random.nextInt(e.length)])}
+ :this.bossKindNum===t.BERIAL_KIND_NUM?{
+ x:t.BERIAL_SURROUND_X_SCALE,y:t.BERIAL_SURROUND_Y_SCALE}
+ :this.bossKindNum===t.DRAGON_KNIGHT_KIND_NUM?{
+ x:t.DRAGON_KNIGHT_SURROUND_X_SCALE,y:t.DRAGON_KNIGHT_SURROUND_Y_SCALE}
- BG.getInstance().remove(this.execute,this),this.corpCommander.destroy(),null==(t=this.camera)||t.destroy(),this.camera=null,null==(i=this.hud)||i.destroy(),this.hud=null;
+ WG.getInstance().remove(this.execute,this),this.corpCommander.destroy(),null==(t=this.camera)||t.destroy(),this.camera=null,null==(i=this.hud)||i.destroy(),this.hud=null,this.selectedCorpIndex=-1;
BaseRaidUnit 6 hunks, 41 statements
- super(),zt(this,"spine",null),zt(this,"spineLoadPromise",null),zt(this,"spineKey",""),zt(this,"weakPointBone",""),zt(this,"weakPointSlotNames",[]),zt(this,"weakPointOffsetX",0),zt(this,"raidStunFrames",0),zt(this,"hitFlashFrames",0),zt(this,"hitFlashMax",1),zt(this,"hitFlashHead",!1),zt(this,"headTintSlots",["face","jaw"]),zt(this,"knockVx",0),zt(this,"knockVy",0),zt(this,"bossScale",1.3),zt(this,"spineFacesLeftByDefault",!0),zt(this,"spineTimeScale",.6),zt(this,"aniIdle","idle"),zt(this,"aniMove","run"),zt(this,"aniDie","die"),zt(this,"aniGroggy","groggy"),zt(this,"aniSkill0","att1"),zt(this,"aniSkills",["att2","att3","att4","att5"]),zt(this,"eventSkill0Hit","att1_hit"),zt(this,"eventSkillHits",["att2_hit","att3_hit","att4_hit","att5_hit"]),zt(this,"attackOrderList",[]),zt(this,"currentAttackOrderList",[]),zt(this,"attackOrderIndex",0),zt(this,"skillRatio",[.75,.55,.35,.15,0]),zt(this,"numForSkillAttack",2),zt(this,"numCurrentAttack",0),zt(this,"interSkillIdleFrames",120),zt(this,"arrAttackTypeList",[]),zt(this,"incAttack",0),zt(this,"decSpeed",0),zt(this,"_power",1),zt(this,"attackable",!0),zt(this,"raidGroggyActive",!1),zt(this,"raidTintR",1),zt(this,"raidTintG",1),zt(this,"raidTintB",1),zt(this,"raidSlotBaseColors",new Map),zt(this,"wanderEnabled",!1),zt(this,"wanderInterval",240),zt(this,"wanderMinX",100),zt(this,"wanderMaxX",540),zt(this,"wanderMinY",200),zt(this,"wanderMaxY",950),zt(this,"wanderTimer",0),zt(this,"hitBoxGfx",null),zt(this,"targetSwapChance",0),zt(this,"aggroFaceX",null),zt(this,"wanderAfterAttackChance",0),zt(this,"attackDashActive",!1),zt(this,"attackDashTargetX",0),zt(this,"attackDashTargetY",0),zt(this,"attackDashSpeed",0),zt(this,"syncBoneName",""),zt(this,"_prevBoneOffX",0),zt(this,"_prevBoneOffY",0),zt(this,"_syncLogCount",0),this.bossType=1,this.hasSkill=!1,this.weight=5,this.blowImmune=!0,this.stunImmune=!0,this.freezeImmune=!0,this.knockImmune=!0}
+ super(),zt(this,"spine",null),zt(this,"spineLoadPromise",null),zt(this,"spineKey",""),zt(this,"weakPointBone",""),zt(this,"weakPointSlotNames",[]),zt(this,"weakPointOffsetX",0),zt(this,"weakPointOffsetY",0),zt(this,"raidStunFrames",0),zt(this,"hitFlashFrames",0),zt(this,"hitFlashMax",1),zt(this,"hitFlashHead",!1),zt(this,"headTintSlots",["face","jaw"]),zt(this,"knockVx",0),zt(this,"knockVy",0),zt(this,"bossScale",1.3),zt(this,"spineFacesLeftByDefault",!0),zt(this,"spineTimeScale",.6),zt(this,"aniIdle","idle"),zt(this,"aniMove","run"),zt(this,"aniDie","die"),zt(this,"aniGroggy","groggy"),zt(this,"aniSkill0","att1"),zt(this,"aniSkills",["att2","att3","att4","att5"]),zt(this,"eventSkill0Hit","att1_hit"),zt(this,"eventSkillHits",["att2_hit","att3_hit","att4_hit","att5_hit"]),zt(this,"attackOrderList",[]),zt(this,"currentAttackOrderList",[]),zt(this,"attackOrderIndex",0),zt(this,"skillRatio",[.75,.55,.35,.15,0]),zt(this,"raidPhases",[]),zt(this,"numForSkillAttack",2),zt(this,"numCurrentAttack",0),zt(this,"interSkillIdleFrames",120),zt(this,"arrAttackTypeList",[]),zt(this,"incAttack",0),zt(this,"decSpeed",0),zt(this,"_power",1),zt(this,"attackable",!0),zt(this,"raidGroggyActive",!1),zt(this,"raidTintR",1),zt(this,"raidTintG",1),zt(this,"raidTintB",1),zt(this,"raidSlotBaseColors",new Map),zt(this,"wanderEnabled",!1),zt(this,"wanderInterval",240),zt(this,"immobile",!1),zt(this,"wanderMinX",100),zt(this,"wanderMaxX",540),zt(this,"wanderMinY",200),zt(this,"wanderMaxY",950),zt(this,"wanderTimer",0),zt(this,"hitBoxGfx",null),zt(this,"targetSwapChance",0),zt(this,"aggroFaceX",null),zt(this,"wanderAfterAttackChance",0),zt(this,"attackDashActive",!1),zt(this,"attackDashTargetX",0),zt(this,"attackDashTargetY",0),zt(this,"attackDashSpeed",0),zt(this,"syncBoneName",""),zt(this,"_prevBoneOffX",0),zt(this,"_prevBoneOffY",0),zt(this,"_syncLogCount",0),this.bossType=1,this.hasSkill=!1,this.weight=5,this.blowImmune=!0,this.stunImmune=!0,this.freezeImmune=!0,this.knockImmune=!0}
+ const t=this.getActiveRaidPhase();
+ if(t){
+ const i=this.rollRaidCombo(t);
+ for(let t=1;
+ t<i.length;
+ t++)this.arrAttackTypeList.push(i[t]);
+ return i.length>0?i[0]:0}
+ getRaidBattleTimeFrames(){
+ var t;
+ const i=this.battleController;
+ return(null==(t=null==i?void 0:i.getBattleTimeFrames)?void 0:t.call(i))??0}
+ getActiveRaidPhase(){
+ if(0===this.raidPhases.length)return null;
+ const t=this.getRaidBattleTimeFrames();
+ let i=null;
+ for(const s of this.raidPhases)t>=s.startFrame&&(null===i||s.startFrame>i.startFrame)&&(i=s);
+ return i??this.raidPhases[0]}
+ rollRaidCombo(t){
+ const i=t.combos;
+ if(0===i.length)return[0];
+ let s=0;
+ for(const n of i)s+=Math.max(0,n.weight);
+ if(s<=0)return i[0].skills.slice();
+ let e=this.random.next()*s;
+ for(const n of i)if(e-=Math.max(0,n.weight),e<=0)return n.skills.slice();
+ return i[i.length-1].skills.slice()}
- if(super.execute(),this.wanderEnabled&&this.isAlive&&this.state!==ex.ATTACK&&this.state!==ex.SKILL&&this.state!==ex.DIE&&(this.wanderTimer++,this.wanderTimer>=this.wanderInterval&&(this.wanderTimer=0,this.triggerWander())),this.attackDashActive&&this.isAlive&&(this.state===ex.ATTACK||this.state===ex.SKILL)){
+ if(this.immobile&&this.ensureAttackTarget(),super.execute(),this.wanderEnabled&&this.isAlive&&this.state!==ex.ATTACK&&this.state!==ex.SKILL&&this.state!==ex.DIE&&(this.wanderTimer++,this.wanderTimer>=this.wanderInterval&&(this.wanderTimer=0,this.triggerWander())),this.attackDashActive&&this.isAlive&&(this.state===ex.ATTACK||this.state===ex.SKILL)){
+ ensureAttackTarget(){
+ const t=this.target;
+ if(t&&t.isAlive&&!t.removed&&!t.isUntagetable)return;
+ if(!this.enemyList)return;
+ let i=null,s=1/0;
+ for(const e of this.enemyList){
+ if(!e.isAlive||e.removed||e.isUntagetable)continue;
+ const t=e.x-this.x,n=e.y-this.y,h=t*t+n*n;
+ h<s&&(s=h,i=e)}
+ i&&this.setAggroTarget(i)}
+ releaseEnemyTargets(){
+ if(this.enemyList)for(const t of this.enemyList)t.target===this&&(t.target=null,t.xDefault=t.x,t.yDefault=t.y)}
- x:s.x+i,y:s.y}
+ x:s.x+i,y:s.y+this.weakPointOffsetY}
PaymentLoadingEffect2 3 hunks, 33 statements
- onConfirmClick(){
- this.hide();
- let t=this.onConfirm;
- this.onConfirm=null,null!==t&&t()}
- onCancelClick(){
- this.hide();
- let t=this.onCancel;
- this.onCancel=null,null!==t&&t()}
- showError(t,i=null,s=null,e=null){
- let n=t.errorMessage,h=yG.getErrorMessage(t.error);
- h&&(n=h),i&&(n+="\n"+i),this.show(n,s,e)}
- show(t,i=null,s=null){
- this.onConfirm=i,this.onCancel=s;
- let e=yG.getText("GAME_939","웹 마켓에서 특별한 상품들을 만나보실 수 있습니다."),n=yG.getText("GAME_940","웹 마켓으로 이동하시겠습니까?"),h="("+yG.getText("GAME_941","구매하신 상품은 인게임 우편으로 전송됩니다.")+")",r=yG.getText("GAME_942","상품 결제 및 구매 문제 발생 시, NEXT MARKET 고객센터로 문의해 주세요.");
- this.lblMessage.text=e+"\n"+n+"\n"+h,this.lblNote.text=r,this.title=yG.getText("COMMON_4","알림"),this.btnConfirm.text=yG.getText("COMMON_65","이동"),this.btnCancel.text=yG.getText("COMMON_2","취소"),this.updateLayout(),super.show(t,i,s)}
- updateLayout(){
- this.lblMessage.x=.5*(this.width-this.lblMessage.width),this.btnConfirm.x=.5*(this.width-this.btnConfirm.width-this.btnCancel.width-20),this.btnCancel.x=this.btnConfirm.x+this.btnConfirm.width+20,this.btnConfirm.y=this.lblMessage.y+this.lblMessage.height+30,this.btnCancel.y=this.btnConfirm.y,this.iconNote.y=this.btnConfirm.y+this.btnConfirm.height+40,this.lblNote.y=this.iconNote.y+.5*(this.iconNote.height-this.lblNote.height),this.height=this.lblNote.y+this.lblNote.height+30}
- getDefaultPositionY(){
- return.3*KA.stageHeight}
- onBackButton(){
- return this.onConfirmClick(),!0}
+ constructor(){
+ super(),this.sp.x=.5*-this.sp.width,this.sp.y=.5*-this.sp.height}
+ getTextures(){
+ return ZA.getTextures("Loading","loading_circle_elf_60f_")}
- Kt(e4,"LineMarketConfirimPopup"),zt(e4,"_instance");
+ Kt(Q3,"PaymentLoadingEffect2"),zt(Q3,"_instance");
- const o4=class t extends iP{
- static getInstance(){
- return this._instance||(this._instance=new t),this._instance}
- constructor(){
- super(),this.sp.x=.5*-this.sp.width,this.sp.y=.5*-this.sp.height}
- getTextures(){
- return ZA.getTextures("Loading","loading_circle_elf_60f_")}
- }
- ;
- Kt(o4,"PaymentLoadingEffect2"),zt(o4,"_instance");
- let a4=o4;
HeroTranscendModeButton 1 hunks, 30 statements
- )),o7=class t extends yB{
+ )),r9=class extends B6{
+ constructor(t){
+ super(t),zt(this,"bgOff"),zt(this,"lblOff"),this.width=50,this.height=35,this.minWidth=50,this.outlineText=!0,this.setTexture({
+ texture:ZA.getTexture("UI_Ekkorr","Progress_Bar_Bg_LightGreen"),leftWidth:20,topHeight:13,rightWidth:20,bottomHeight:13}
+ ),this.bgOff=new CM({
+ texture:ZA.getTexture("UI_Ekkorr","Progress_Bar_Bg_LightGray"),leftWidth:20,topHeight:13,rightWidth:20,bottomHeight:13}
+ ),this.bgOff.visible=!1,this.bgOff.width=this._width,this.bgOff.height=this._height,this.container.addChildAt(this.bgOff,0);
+ const i=aD.DEFAULT_OUTLINE_FONT_OPTION_17;
+ i.fill=16777135,i.stroke={
+ color:"#33872a",width:4,join:"round"}
+ ,this.lbl.setStyle(i);
+ const s=aD.DEFAULT_OUTLINE_FONT_OPTION_17;
+ s.fill=15790320,s.stroke={
+ color:"#535353",width:4,join:"round"}
+ ,this.lblOff=new YD(t,s.fill,s),this.lblOff.visible=!1,this.container.addChild(this.lblOff),this._activated=!1,this.activated=!0,this.updateLayout()}
+ updateLayout(){
+ super.updateLayout(),this.lbl.x=.5*(this._width-this.lbl.width)+1,this.lblOff&&(this.lblOff.x=this.lbl.x,this.lblOff.y=this.lbl.y)}
+ set activated(t){
+ super.activated=t,this._activated?(this.bg.visible=!0,this.lbl.visible=!0,this.bgOff.visible=!1,this.lblOff.visible=!1):(this.bg.visible=!1,this.lbl.visible=!1,this.bgOff.visible=!0,this.lblOff.visible=!0)}
+ onDown(t){
+ this.container.scale=.95}
+ onUp(t){
+ this.container.scale=1}
+ onTap(t){
+ KL.getInstance().playSFX(KL.SFX_NORMAL_CLICK),WL(),this.onClick&&this.onClick()}
+ }
+ ;
+ Kt(r9,"HeroTranscendModeButton");
+ let o9=r9;
+ const a9=class t extends AB{
ScorpionKing 1 hunks, 27 statements
- this.spineKey="raids/raid1/Scorpion",this.bossScale=1.3,this.spineTimeScale=.82,this.wanderEnabled=!0,this.wanderInterval=150,this.targetSwapChance=.25,this.wanderAfterAttackChance=.35,this.aniIdle="idle",this.aniMove="run",this.aniDie="die",this.aniSkill0="att_01",this.aniSkills=["att_02","att_03","att_04"],this.eventSkill0Hit="att_01_hit",this.eventSkillHits=["att_02_hit","att_03_hit","att_04_hit"],this.isAir=!1,this.hitWidth=150,this.hitHeight=100,this.weakPointBone="_face",this.weakPointSlotNames=t.FACE_POINT_NAMES,this.weakPointOffsetX=0,this.headTintSlots=t.FACE_POINT_NAMES,this.skillRatio=[.78,.55,.3,0],this.numForSkillAttack=2,this.attackOrderList=[[0,0,1,0,2,0,3,0,1,0,2,0,3],[0,1,0,0,2,0,1,3,0,2,0,0,3],[0,0,2,0,1,0,3,0,2,0,1,0,3]]}
+ this.spineKey="raids/raid1/Scorpion",this.bossScale=1.3,this.spineTimeScale=.82,this.wanderEnabled=!0,this.wanderInterval=150,this.targetSwapChance=.25,this.wanderAfterAttackChance=.35,this.aniIdle="idle",this.aniMove="run",this.aniDie="die",this.aniSkill0="att_01",this.aniSkills=["att_02","att_03","att_04"],this.eventSkill0Hit="att_01_hit",this.eventSkillHits=["att_02_hit","att_03_hit","att_04_hit"],this.isAir=!1,this.hitWidth=150,this.hitHeight=100,this.weakPointBone="_face",this.weakPointSlotNames=t.FACE_POINT_NAMES,this.weakPointOffsetX=0,this.headTintSlots=t.FACE_POINT_NAMES,this.skillRatio=[.78,.55,.3,0],this.numForSkillAttack=2,this.attackOrderList=[[0,0,2,0,1,0,3,0,0]],this.raidPhases=[{
+ startFrame:0,label:"P1 기본기",combos:[{
+ weight:3,skills:[2],label:"독탄"}
+ ,{
+ weight:2,skills:[1],label:"당기기"}
+ ,{
+ weight:2,skills:[3],label:"내려찍기"}
+ ]}
+ ,{
+ startFrame:1800,label:"P2 시너지",combos:[{
+ weight:3,skills:[1,3],label:"당기기→내려찍기"}
+ ,{
+ weight:3,skills:[2],label:"독탄"}
+ ,{
+ weight:1,skills:[3],label:"내려찍기"}
+ ,{
+ weight:1,skills:[1],label:"당기기"}
+ ]}
+ ,{
+ startFrame:5400,label:"P3 풀콤보",combos:[{
+ weight:3,skills:[1,3,2],label:"당기기→내려찍기→독탄"}
+ ,{
+ weight:2,skills:[1,3],label:"당기기→내려찍기"}
+ ,{
+ weight:2,skills:[2],label:"독탄"}
+ ]}
+ ]}
HarpyKing 1 hunks, 27 statements
- this.spineKey="raids/raid1/Harpy",this.bossScale=1.3,this.spineTimeScale=.84,this.wanderEnabled=!0,this.wanderInterval=120,this.targetSwapChance=.3,this.wanderAfterAttackChance=.5,this.syncBoneName="Harpy",this.aniIdle="Harpy_idle",this.aniMove="Harpy_run",this.aniDie="Harpy_die",this.aniSkill0="Harpy_att1",this.aniSkills=["Harpy_att2","Harpy_att3","Harpy_att4","Harpy_att5"],this.eventSkill0Hit="att1_hit",this.eventSkillHits=["att2_hit","att3_hit","att4_hit","att5_hit"],this.isAir=!1,this.airTargetOnly=!0,this.hitWidth=60,this.hitHeight=200,this.skillRatio=[.75,.55,.35,.15,0],this.numForSkillAttack=2,this.attackOrderList=[[1,0,0,1,2,0,4,1,2,4,4,4,1,4,1,3,0,2,0,1,4,3,1,0,1,0,1,1,1,1,0,1,2,2,2,2,0,1,4,2,1,4,1,3,3,4,0,3,2,3,1,2,1,1,3,1,3,3,0,4,1,0,4,3,0,2,2,1,0,1,4,3,2,2,1,3,3,1,4,2,0,2,4,0,2,1,3,1,3,0],[2,4,2,4,4,2,4,4,2,3,4,1,4,4,1,0,0,0,3,0,3,0,0,4,3,1,1,4,3,2,2,4,2,1,0,2,4,4,1,0,4,4,4,0,0,3,3,1,2,0,0,0,0,1,0,1,2,0,2,4,4,3,0,3,3,3,1,4,3,2,1,4,1,4,1,0,0,0,3,1,4,4,0,3,1,2,4,3,3,2],[3,3,4,4,2,2,0,1,2,1,4,3,4,1,2,4,4,2,1,0,2,1,0,2,1,4,1,1,4,4,3,3,1,3,3,0,2,4,4,1,2,3,2,0,0,3,2,3,2,2,1,3,1,1,4,2,4,2,4,2,3,2,4,3,2,1,0,3,4,0,1,3,4,1,1,4,3,3,0,2,0,4,4,2,4,1,0,3,0,2],[4,2,4,2,4,2,3,2,4,3,2,1,0,3,4,0,1,3,4,1,1,4,3,3,0,2,0,4,4,2,4,1,0,3,0,2,3,3,4,4,2,2,0,1,2,1,4,3,4,1,2,4,4,2,1,0,2,1,0,2,1,4,1,1,4,4,3,3,1,3,3,0,2,4,4,1,2,3,2,0,0,3,2,3,2,2,1,3,1,1],[0,1,0,1,1,1,1,0,1,2,2,2,2,0,1,4,2,1,4,1,3,3,4,0,3,2,3,1,2,1,1,3,1,3,3,0,4,1,0,4,3,0,2,2,1,0,1,4,3,2,2,1,3,3,1,4,2,0,2,4,0,2,1,3,1,3,0,1,0,0,1,2,0,4,1,2,4,4,4,1,4,1,3,0,2,0,1,4,3,1]]}
+ this.spineKey="raids/raid1/Harpy",this.bossScale=1.3,this.spineTimeScale=.84,this.wanderEnabled=!0,this.wanderInterval=120,this.targetSwapChance=.3,this.wanderAfterAttackChance=.5,this.syncBoneName="Harpy",this.aniIdle="Harpy_idle",this.aniMove="Harpy_run",this.aniDie="Harpy_die",this.aniSkill0="Harpy_att1",this.aniSkills=["Harpy_att2","Harpy_att3","Harpy_att4","Harpy_att5"],this.eventSkill0Hit="att1_hit",this.eventSkillHits=["att2_hit","att3_hit","att4_hit","att5_hit"],this.isAir=!1,this.airTargetOnly=!0,this.hitWidth=60,this.hitHeight=200,this.skillRatio=[.75,.55,.35,.15,0],this.numForSkillAttack=2,this.attackOrderList=[[0,0,2,0,3,0,0,4,0,0]],this.raidPhases=[{
+ startFrame:0,label:"P1 기본기",combos:[{
+ weight:3,skills:[3],label:"바람"}
+ ,{
+ weight:2,skills:[2],label:"회오리"}
+ ,{
+ weight:1,skills:[4],label:"깃털폭풍"}
+ ]}
+ ,{
+ startFrame:1800,label:"P2 압박",combos:[{
+ weight:3,skills:[3,4],label:"바람→깃털폭풍"}
+ ,{
+ weight:3,skills:[2],label:"회오리"}
+ ,{
+ weight:2,skills:[4],label:"깃털폭풍"}
+ ,{
+ weight:1,skills:[3],label:"바람"}
+ ]}
+ ,{
+ startFrame:5400,label:"P3 필살",combos:[{
+ weight:3,skills:[2,4],label:"회오리→깃털폭풍"}
+ ,{
+ weight:3,skills:[3,4],label:"바람→깃털폭풍"}
+ ,{
+ weight:2,skills:[4],label:"깃털폭풍"}
+ ]}
+ ]}
PetAwakeningEffects 3 hunks, 24 statements
- return this._cachedGameSpeed=i,i}
+ return i+=this.sumAwakenedCoupleTeamPlusCappedOwned(this.WOLF_PET_KINDNUM,.2,.5,20),this._cachedGameSpeed=i,i}
+ static getGolemMaxLvContribution(){
+ const t=KN.getInstance().version;
+ return this._cachedGolemMaxLvVer===t||(this._cachedGolemMaxLvVer=t,this._cachedGolemMaxLv=this.sumAwakenedCoupleTeamPlusCappedOwned(this.GOLEM_PET_KINDNUM,2,5,100)),this._cachedGolemMaxLv}
+ static getFinnyCoreContribution(){
+ const t=KN.getInstance().version;
+ return this._cachedFinnyCoreVer===t||(this._cachedFinnyCoreVer=t,this._cachedFinnyCore=this.sumAwakenedCoupleTeamPlusCappedOwned(this.FINNY_PET_KINDNUM,2,5,200)),this._cachedFinnyCore}
+ static sumAwakenedCoupleTeamPlusCappedOwned(t,i,s,e){
+ var n;
+ if(!this.isPetAwakened(t))return 0;
+ const h=(null==(n=lx.getInstance().getBookVO(t))?void 0:n.couple)??0;
+ if(h<=0)return 0;
+ const r=vx.getInstance(),o=Kt(t=>5===t?i:6===t?s:0,"per");
+ let a=0;
+ for(const l of r.list){
+ const t=r.getBookVO(l.kindNum);
+ t&&this.isCoupleHeroBookVO(t,h)&&(a+=o(t.grade))}
+ let c=0;
+ for(const l of r.ownedUnitList){
+ const t=r.getBookVO(l.kindNum);
+ if(!t||!this.isCoupleHeroBookVO(t,h))continue;
+ const i=o(t.grade);
+ 0!==i&&(c+=i*((l.count??0)+(l.trans[0]??0)+(l.trans[1]??0)+(l.trans[2]??0)))}
+ return a+Math.min(c,e)}
RaidWarningCircle 1 hunks, 23 statements
+ const G2=class extends Be{
+ constructor(){
+ super(),zt(this,"g",new Gf),zt(this,"radius",0),this.eventMode="none",this.addChild(this.g)}
+ show(t,i,s){
+ this.x=t,this.y=i,this.radius=s,this.draw(.3,0),qG.getInstance().addChild(this)}
+ update(t){
+ const i=Math.max(0,Math.min(1,t)),s=.22+.18*(.5+.5*Math.sin(i*Math.PI*8));
+ this.draw(s,i)}
+ draw(t,i){
+ const s=this.g;
+ s.clear(),s.circle(0,0,this.radius).fill({
+ color:16719904,alpha:.5*t}
+ ),s.circle(0,0,this.radius).stroke({
+ width:4,color:16732240,alpha:.9}
+ ),i>0&&s.circle(0,0,this.radius*i).stroke({
+ width:2,color:16777215,alpha:.55}
+ )}
+ dispose(){
+ this.g.clear(),this.parent&&this.parent.removeChild(this)}
+ }
+ ;
+ Kt(G2,"RaidWarningCircle");
+ let B2=G2;
FriendInviteManager 1 hunks, 22 statements
- }
- static get totalReferrals(){
- return this._totalReferrals}
- static get qualifiedReferrals(){
- return this._qualifiedReferrals}
- static get claimed(){
- return this._claimed}
- static getRewardList(){
- return this.rewardList}
- static async claimRewards(i){
- if(this.requestPending3)return;
- this.requestPending3=!0;
- const s=await iD.getInstance().referral.claimReward(i,!0);
- if(0==s.success){
- this.requestPending3=!1,lS.getInstance().dispatchCustomEvent("ReferralStatus");
- let e=s.errorMessage;
- const n=s.error;
- return"INSUFFICIENT_REFERRAL"==n?e=yG.getValueReplaceMulti("GAME_145",["##","@@"],[t.FRIEND_LEVEL,i]):"ALREADY_CLAIMED"==n&&(e=yG.getText("COMMON_276","이미 보상을 받았습니다.")),void dG.getInstance().show(e)}
- "status"in s.body&&this.setStatusData(s.body.status),this.requestPending3=!1,lS.getInstance().dispatchCustomEvent("ReferralStatus",s)}
- static hasReward(){
- return this.claimed<this.qualifiedReferrals}
- }
EvolveConfirmPopup 8 hunks, 21 statements
- super(),zt(this,"onEvolved",null),zt(this,"lblQuestion",new KD("보석을 사용하여 진화하시겠습니까?",nD.DEFAULT_COLOR,nD.DEFAULT_FONT_OPTION_18)),zt(this,"lblHeaderCurrent",new KD("현재",11184810,nD.DEFAULT_FONT_OPTION_16)),zt(this,"lblHeaderArrow",new KD("→",16777215,nD.DEFAULT_FONT_OPTION_16)),zt(this,"lblHeaderEvolved",new KD("진화 후",16768324,nD.DEFAULT_FONT_OPTION_16)),zt(this,"lblHpCurrent",new PB("UI_HEART","0",11184810,nD.DEFAULT_FONT_OPTION_16)),zt(this,"lblHpArrow",new KD("→",16777215,nD.DEFAULT_FONT_OPTION_16)),zt(this,"lblHpEvolved",new PB("UI_HEART","0",8978312,nD.DEFAULT_FONT_OPTION_16)),zt(this,"lblAtkCurrent",new PB("UI_SWORD","0",11184810,nD.DEFAULT_FONT_OPTION_16)),zt(this,"lblAtkArrow",new KD("→",16777215,nD.DEFAULT_FONT_OPTION_16)),zt(this,"lblAtkEvolved",new PB("UI_SWORD","0",8978312,nD.DEFAULT_FONT_OPTION_16)),zt(this,"lblDefCurrent",new PB("UI_PHY_DEFENSE","0",11184810,nD.DEFAULT_FONT_OPTION_16)),zt(this,"lblDefArrow",new KD("→",16777215,nD.DEFAULT_FONT_OPTION_16)),zt(this,"lblDefEvolved",new PB("UI_PHY_DEFENSE","0",8978312,nD.DEFAULT_FONT_OPTION_16)),zt(this,"lblTribeTitle",new KD("# 종족 특성",nD.DEFAULT_COLOR,nD.DEFAULT_FONT_OPTION_16)),zt(this,"lblTribeDesc",new KD("",nD.DEFAULT_COLOR,nD.DEFAULT_FONT_OPTION_16)),zt(this,"lblUniqueTitle",new KD("# 고유스킬",nD.DEFAULT_COLOR,nD.DEFAULT_FONT_OPTION_16)),zt(this,"lblUniqueDesc",new KD("",nD.DEFAULT_COLOR,nD.DEFAULT_FONT_OPTION_16)),zt(this,"btnCancel",new AU("UI_CLOSE_BTN","","취소",.7,160,70)),zt(this,"btnConfirm",new AU("UI_GEM","200","진화",.8,200,70)),zt(this,"vo"),zt(this,"isBusy",!1),zt(this,"isRosterMode",!1),zt(this,"particleContainer",new Be),zt(this,"particleList",[]),zt(this,"particleFrame",0),zt(this,"PARTICLE_DURATION",55),this.title=yG.getText("GAME_145","진화 확인"),this.lblQuestion.text=yG.getText("GAME_142","보석을 사용하여 진화하시겠습니까?"),this.lblQuestion.y=95,this.contentContainer.addChild(this.lblQuestion),this.lblHeaderCurrent.text=yG.getText("GAME_152","현재"),this.lblHeaderEvolved.text=yG.getText("GAME_153","진화 후"),this.contentContainer.addChild(this.lblHeaderCurrent,this.lblHeaderArrow,this.lblHeaderEvolved),this.contentContainer.addChild(this.lblHpCurrent,this.lblHpArrow,this.lblHpEvolved),this.contentContainer.addChild(this.lblAtkCurrent,this.lblAtkArrow,this.lblAtkEvolved),this.contentContainer.addChild(this.lblDefCurrent,this.lblDefArrow,this.lblDefEvolved),nD.setLabelWrapWidth(this.lblTribeDesc,430),nD.setLabelWrapWidth(this.lblUniqueDesc,430),this.contentContainer.addChild(this.lblTribeTitle,this.lblTribeDesc,this.lblUniqueTitle,this.lblUniqueDesc),this.btnCancel.text=yG.getText("COMMON_2","취소"),this.btnCancel.color=AU.RED,this.btnCancel.showIconLabel=!1,this.btnCancel.showTextLabel=!0,this.btnCancel.onClick=()=>this.hide(),this.btnConfirm.text=yG.getText("GAME_67","진화"),this.btnConfirm.color=AU.GREEN,this.btnConfirm.showIconLabel=!0,this.btnConfirm.showTextLabel=!0,this.btnConfirm.onClick=()=>this.onConfirmClick(),this.contentContainer.addChild(this.btnCancel,this.btnConfirm),this.addChild(this.particleContainer),this.updateLayout()}
+ super(),zt(this,"onEvolved",null),zt(this,"lblQuestion",new YD("보석을 사용하여 진화하시겠습니까?",aD.DEFAULT_COLOR,aD.DEFAULT_FONT_OPTION_18)),zt(this,"lblHeaderCurrent",new YD("현재",11184810,aD.DEFAULT_FONT_OPTION_16)),zt(this,"lblHeaderArrow",new YD("→",16777215,aD.DEFAULT_FONT_OPTION_16)),zt(this,"lblHeaderEvolved",new YD("진화 후",16768324,aD.DEFAULT_FONT_OPTION_16)),zt(this,"lblHpCurrent",new GB("UI_HEART","0",11184810,aD.DEFAULT_FONT_OPTION_16)),zt(this,"lblHpArrow",new YD("→",16777215,aD.DEFAULT_FONT_OPTION_16)),zt(this,"lblHpEvolved",new GB("UI_HEART","0",8978312,aD.DEFAULT_FONT_OPTION_16)),zt(this,"lblAtkCurrent",new GB("UI_SWORD","0",11184810,aD.DEFAULT_FONT_OPTION_16)),zt(this,"lblAtkArrow",new YD("→",16777215,aD.DEFAULT_FONT_OPTION_16)),zt(this,"lblAtkEvolved",new GB("UI_SWORD","0",8978312,aD.DEFAULT_FONT_OPTION_16)),zt(this,"lblDefCurrent",new GB("UI_PHY_DEFENSE","0",11184810,aD.DEFAULT_FONT_OPTION_16)),zt(this,"lblDefArrow",new YD("→",16777215,aD.DEFAULT_FONT_OPTION_16)),zt(this,"lblDefEvolved",new GB("UI_PHY_DEFENSE","0",8978312,aD.DEFAULT_FONT_OPTION_16)),zt(this,"lblTribeTitle",new YD("# 종족 특성",aD.DEFAULT_COLOR,aD.DEFAULT_FONT_OPTION_16)),zt(this,"lblTribeDesc",new YD("",aD.DEFAULT_COLOR,aD.DEFAULT_FONT_OPTION_16)),zt(this,"lblUniqueTitle",new YD("# 고유스킬",aD.DEFAULT_COLOR,aD.DEFAULT_FONT_OPTION_16)),zt(this,"lblUniqueDesc",new YD("",aD.DEFAULT_COLOR,aD.DEFAULT_FONT_OPTION_16)),zt(this,"btnCancel",new kU("UI_CLOSE_BTN","","취소",.7,160,70)),zt(this,"btnConfirm",new kU("UI_GEM","200","진화",.8,200,70)),zt(this,"vo"),zt(this,"isBusy",!1),zt(this,"isRosterMode",!1),zt(this,"count",1),zt(this,"particleContainer",new Be),zt(this,"particleList",[]),zt(this,"particleFrame",0),zt(this,"PARTICLE_DURATION",55),this.title=AG.getText("GAME_145","진화 확인"),this.lblQuestion.text=AG.getText("GAME_142","보석을 사용하여 진화하시겠습니까?"),this.lblQuestion.y=95,this.contentContainer.addChild(this.lblQuestion),this.lblHeaderCurrent.text=AG.getText("GAME_152","현재"),this.lblHeaderEvolved.text=AG.getText("GAME_153","진화 후"),this.contentContainer.addChild(this.lblHeaderCurrent,this.lblHeaderArrow,this.lblHeaderEvolved),this.contentContainer.addChild(this.lblHpCurrent,this.lblHpArrow,this.lblHpEvolved),this.contentContainer.addChild(this.lblAtkCurrent,this.lblAtkArrow,this.lblAtkEvolved),this.contentContainer.addChild(this.lblDefCurrent,this.lblDefArrow,this.lblDefEvolved),aD.setLabelWrapWidth(this.lblTribeDesc,430),aD.setLabelWrapWidth(this.lblUniqueDesc,430),this.contentContainer.addChild(this.lblTribeTitle,this.lblTribeDesc,this.lblUniqueTitle,this.lblUniqueDesc),this.btnCancel.text=AG.getText("COMMON_2","취소"),this.btnCancel.color=kU.RED,this.btnCancel.showIconLabel=!1,this.btnCancel.showTextLabel=!0,this.btnCancel.onClick=()=>this.hide(),this.btnConfirm.text=AG.getText("GAME_67","진화"),this.btnConfirm.color=kU.GREEN,this.btnConfirm.showIconLabel=!0,this.btnConfirm.showTextLabel=!0,this.btnConfirm.onClick=()=>this.onConfirmClick(),this.contentContainer.addChild(this.btnCancel,this.btnConfirm),this.addChild(this.particleContainer),this.updateLayout()}
- show(t,i=!1){
- this.vo=t,this.isBusy=!1,this.isRosterMode=i,this.title=yG.getText("GAME_145","진화 확인"),this.lblQuestion.text=yG.getText("GAME_142","보석을 사용하여 진화하시겠습니까?"),this.lblHeaderCurrent.text=yG.getText("GAME_152","현재"),this.lblHeaderEvolved.text=yG.getText("GAME_153","진화 후"),this.lblTribeTitle.text=`# ${
+ setData(t,i=!1,s=1){
+ this.vo=t,this.isBusy=!1,this.isRosterMode=i,this.isRosterMode?this.count=s:this.count=1,this.title=AG.getText("GAME_145","진화 확인"),this.lblQuestion.text=AG.getText("GAME_142","보석을 사용하여 진화하시겠습니까?"),this.lblHeaderCurrent.text=AG.getText("GAME_152","현재"),this.lblHeaderEvolved.text=AG.getText("GAME_153","진화 후"),this.lblTribeTitle.text=`# ${
- this.lblUniqueDesc.text=e?yG.getText(e.getDescKey(),e.desc):yG.getText("COMMON_367","없음"),this.btnCancel.text=yG.getText("COMMON_2","취소"),this.btnConfirm.text=yG.getText("GAME_67","진화"),this.updateStats(),this.updateLayout(),super.show()}
+ this.lblUniqueDesc.text=n?AG.getText(n.getDescKey(),n.desc):AG.getText("COMMON_367","없음"),this.btnCancel.text=AG.getText("COMMON_2","취소"),this.count>1?(this.btnConfirm.activatedTextLabelColor=13434624,this.btnConfirm.text=`${
+ AG.getText("GAME_67","진화")}
+  (x${
+ this.count}
+ )`):(this.btnConfirm.activatedTextLabelColor=-1,this.btnConfirm.text=AG.getText("GAME_67","진화")),this.updateStats(),this.updateCost(),this.updateLayout(),super.show()}
- const t=vx.getInstance().getBookVO(this.vo.kindNum),i=vx.getInstance().getBookVO(this.vo.evolKindNum),s=$7[this.vo.grade]??0;
+ const t=vx.getInstance().getBookVO(this.vo.kindNum),i=vx.getInstance().getBookVO(this.vo.evolKindNum);
- `,this.btnConfirm.iconText=String(s)}
+ `}
+ updateCost(){
+ this.btnConfirm.iconText=String(this.getCost())}
+ getCost(){
+ const t=V9[this.vo.grade]??0;
+ return this.count*t}
- const t=$7[this.vo.grade]??0;
+ const t=this.getCost();
- if(e=this.isRosterMode?await iD.getInstance().hero.evolveOwned(this.vo.kindNum,this.vo.trans,!0):await iD.getInstance().hero.evolve(this.vo.id),!e||!1===e.success)return pV.getInstance().showMessage(yG.getText("COMMON_77","네트워크 오류가 발생하였습니다.")),void(this.isBusy=!1);
+ if(e=this.isRosterMode?await hD.getInstance().hero.evolveOwned(`${
+ this.vo.kindNum}
+ -${
+ this.count}
+ `,!0):await hD.getInstance().hero.evolve(this.vo.id),!e||!1===e.success)return vV.getInstance().showMessage(AG.getText("COMMON_77","네트워크 오류가 발생하였습니다.")),void(this.isBusy=!1);
ShopDataManager 6 hunks, 14 statements
- zt(this,"_unlockWave",10),zt(this,"_productBookEnableYn",""),zt(this,"_nextMarketYn",""),zt(this,"allProducts",[]),zt(this,"packageList",[]),zt(this,"periodList",[]),zt(this,"normalList",[]),zt(this,"wavePassList",[]),zt(this,"reviewShopList",[]),zt(this,"requestPending",!1),zt(this,"_productIdsWithHammer",null)}
+ zt(this,"_unlockWave",10),zt(this,"_productBookEnableYn",""),zt(this,"_nextMarketYn",""),zt(this,"allProducts",[]),zt(this,"packageList",[]),zt(this,"periodList",[]),zt(this,"normalList",[]),zt(this,"wavePassList",[]),zt(this,"reviewShopList",[]),zt(this,"requestPending",!1),zt(this,"_productIdsWithHammer",null),zt(this,"objTargeting",{
+ }
+ )}
+ var i;
- id:s.id??0,productId:s.productId??0,name:s.name??"",sku:s.sku??"",googleId:s.googleId??"",appleId:s.appleId??"",googleIdKr:s.googleIdKr??"",appleIdKr:s.appleIdKr??"",main:s.main??0,sub:s.sub??0,sub2:s.sub2??0,payback:s.payback??0,currency:s.currency??"",price:s.price??0,usdPrice:s.usdPrice??0,slxPrice:s.slxPrice??0,amount:s.amount??s.price??0,maxPurchase:s.maxPurchase??0,frequency:s.frequency??0,rewards:s.rewards??[],iconNames:s.iconNames??"",descriptions:s.descriptions??"",descriptionLangIds:s.descriptionLangIds??"",imageURL:s.imageURL??"",purchaseCount:0,active:s.active??0}
+ id:e.id??0,productId:e.productId??0,name:e.name??"",sku:e.sku??"",googleId:e.googleId??"",appleId:e.appleId??"",googleIdKr:e.googleIdKr??"",appleIdKr:e.appleIdKr??"",main:e.main??0,sub:e.sub??0,sub2:e.sub2??0,payback:e.payback??0,currency:e.currency??"",price:e.price??0,usdPrice:e.usdPrice??0,slxPrice:e.slxPrice??0,amount:e.amount??e.price??0,maxPurchase:e.maxPurchase??0,frequency:e.frequency??0,rewards:e.rewards??[],iconNames:e.iconNames??"",descriptions:e.descriptions??"",descriptionLangIds:e.descriptionLangIds??"",imageURL:e.imageURL??"",purchaseCount:0,active:e.active??0,targeting:e.targeting}
- if(this.allProducts.push(t),0==t.main)switch(t.sub){
+ if(this.allProducts.push(t),t.targeting){
+ const s=(null==(i=t.targeting.triggerEvent)?void 0:i.type)??"";
+ s&&(this.objTargeting[s]||(this.objTargeting[s]=[]),this.objTargeting[s].push(t.productId))}
+ else if(0==t.main)switch(t.sub){
- return t&&0!==t.length?t.includes("buff:ads")?yG.getText("GAME_348","광고 제거 상품이 적용되었습니다."):t.includes("buff:speed")?yG.getText("GAME_349","2배속 상품이 적용되었습니다."):t.includes("buff:assistant")?yG.getText("GAME_1242","전문비서가 고용되었습니다."):t.includes("pass")?yG.getText("GAME_350","WAVE 패스가 활성화되었습니다."):t.includes("mail")?yG.getText("GAME_351","상품이 메일로 전송되었습니다."):yG.getText("GAME_347","상품이 지급되었습니다."):yG.getText("GAME_347","상품이 지급되었습니다.")}
+ if(!t||0===t.length)return AG.getText("GAME_347","상품이 지급되었습니다.");
+ const i=[];
+ return t.includes("buff:ads")&&i.push(AG.getText("GAME_348","광고 제거 상품이 적용되었습니다.")),t.includes("buff:speed")&&i.push(AG.getText("GAME_349","2배속 상품이 적용되었습니다.")),t.includes("buff:assistant")&&i.push(AG.getText("GAME_1242","전문비서가 고용되었습니다.")),t.includes("pass")&&i.push(AG.getText("GAME_350","WAVE 패스가 활성화되었습니다.")),t.includes("mail")&&i.push(AG.getText("GAME_351","상품이 메일로 전송되었습니다.")),0==i.length&&i.push(AG.getText("GAME_347","상품이 지급되었습니다.")),i.join("\n")}
+ getTargetingByType(t){
+ return this.objTargeting[t]}
MissionGuideController 3 hunks, 12 statements
- zt(this,"active",!1),zt(this,"checking",!1),zt(this,"frameSkip",0),zt(this,"currentSteps",[]),zt(this,"cachedCondition",null),zt(this,"pointingDelayTimer",null),zt(this,"pointingDelayed",!1),zt(this,"listItemsGetter",null),zt(this,"bottomMenuGetter",null),zt(this,"popupButtonGetter",null),zt(this,"subMenuButtonGetter",null),zt(this,"currentSubViewName",""),zt(this,"pendingParent",null),zt(this,"pendingBtn",null)}
+ zt(this,"active",!1),zt(this,"checking",!1),zt(this,"frameSkip",0),zt(this,"currentSteps",[]),zt(this,"cachedCondition",null),zt(this,"pointingDelayTimer",null),zt(this,"pointingDelayed",!1),zt(this,"listItemsGetter",null),zt(this,"bottomMenuGetter",null),zt(this,"popupButtonGetter",null),zt(this,"subMenuButtonGetter",null),zt(this,"currentSubViewName",""),zt(this,"reviveButtonGetter",null),zt(this,"pendingParent",null),zt(this,"pendingBtn",null)}
+ registerReviveButtonGetter(t){
+ this.reviveButtonGetter=t,this.updatePointing()}
+ unregisterReviveButtonGetter(){
+ this.reviveButtonGetter=null}
+ if("revive"===i.action){
+ if(!this.reviveButtonGetter)return;
+ const t=i.param;
+ if(t&&"-1"!==t){
+ const i=this.reviveButtonGetter(t);
+ i&&this.showWithDelay(i.parent,i.btn)}
+ return}
EvolveMaterialConfirmPopup 4 hunks, 10 statements
- super(),zt(this,"lblMessage",new KD("",nD.DEFAULT_COLOR,nD.DEFAULT_FONT_OPTION_17)),zt(this,"btnConfirm",new AU("UI_GEM","0",yG.getText("GAME_67","진화"),.8,200,70)),zt(this,"onConfirm",null),this.title="",this.outSideClickHide=!0,this.contentContainer.addChild(this.lblMessage,this.btnConfirm),this.btnConfirm.showIconLabel=!0,this.btnConfirm.showTextLabel=!0,this.btnConfirm.color=AU.GREEN,this.btnConfirm.onClick=this.onConfirmClick.bind(this),this.btnClose.onClick=this.onCancelClick.bind(this),nD.setLabelWrapWidth(this.lblMessage,this.width-60)}
+ super(),zt(this,"lblMessage",new YD("",aD.DEFAULT_COLOR,aD.DEFAULT_FONT_OPTION_17)),zt(this,"lblMessage2",new YD("",aD.COLOR_YELLOW,aD.DEFAULT_FONT_OPTION_17)),zt(this,"btnConfirm",new kU("UI_GEM","0",AG.getText("GAME_67","진화"),.8,200,70)),zt(this,"onConfirm",null),this.title="",this.outSideClickHide=!0,this.lblMessage2.visible=!1,this.contentContainer.addChild(this.lblMessage,this.lblMessage2,this.btnConfirm),this.btnConfirm.showIconLabel=!0,this.btnConfirm.showTextLabel=!0,this.btnConfirm.color=kU.GREEN,this.btnConfirm.onClick=this.onConfirmClick.bind(this),this.btnClose.onClick=this.onCancelClick.bind(this),aD.setLabelWrapWidth(this.lblMessage,this.width-60),aD.setLabelWrapWidth(this.lblMessage2,this.width-60)}
- showWith(t,i,s){
+ showWith(t,i,s,e=1){
-  영웅을 진화하시겠습니까?`),this.btnConfirm.text=yG.getText("GAME_67","진화"),this.btnConfirm.iconText=String(i),this.updateLayout(),super.show()}
+  영웅을 진화하시겠습니까?`),e>1?(this.lblMessage2.text=`${
+ t}
+  x ${
+ e}
+ `,this.lblMessage2.visible=!0):this.lblMessage2.visible=!1,this.btnConfirm.text=AG.getText("GAME_67","진화"),this.btnConfirm.iconText=String(i*e),this.updateLayout(),super.show()}
- this.lblMessage.x=.5*(this.width-this.lblMessage.width),this.lblMessage.y=90,this.btnConfirm.x=.5*(this.width-this.btnConfirm.width),this.btnConfirm.y=this.lblMessage.y+this.lblMessage.height+30,this.height=this.btnConfirm.y+this.btnConfirm.height+40}
+ this.lblMessage.x=.5*(this.width-this.lblMessage.width),this.lblMessage.y=90;
+ let t=this.lblMessage.y+this.lblMessage.height+30;
+ this.lblMessage2.visible&&(this.lblMessage2.x=.5*(this.width-this.lblMessage2.width),this.lblMessage2.y=this.lblMessage.y+this.lblMessage.height+15,t=this.lblMessage2.y+this.lblMessage2.height+30),this.btnConfirm.x=.5*(this.width-this.btnConfirm.width),this.btnConfirm.y=t,this.height=this.btnConfirm.y+this.btnConfirm.height+40}
RaidHud 3 hunks, 8 statements
- incomingDamageMult:.6,maxHpMult:1.5,aggroDamageMult:1.8}
+ incomingDamageMult:.8,maxHpMult:1.3,aggroDamageMult:1.8}
- constructor(i,s,e,n,h,r=[],o){
- zt(this,"root"),zt(this,"bossFace",new v3),zt(this,"bossName"),zt(this,"bossMult"),zt(this,"bossBar",new Gf),zt(this,"timerText"),zt(this,"lastTimerStr",""),zt(this,"closeButton"),zt(this,"hpGauges",[]),zt(this,"hpTexts",[]),zt(this,"lastHpStr",[]),zt(this,"aggroGauges",[]),zt(this,"aggroIcons",[]),zt(this,"aggroTexts",[]),zt(this,"lastAggroStr",[]),zt(this,"dmgGauges",[]),zt(this,"dmgTexts",[]),zt(this,"lastDmgStr",[]),zt(this,"emblemDefs",[]),zt(this,"emblemButtonBgs",[]),zt(this,"emblemCooldownTexts",[]),zt(this,"whiteFill",1),zt(this,"lastN",-1),zt(this,"lastMultStr",""),this.root=new Be,this.root.label="RaidHud",this.root.eventMode="passive",Cst.getInstance().addChild(this.root),this.closeButton=this.createCloseButton(h);
+ constructor(i,s,e,n,h,r=[],o,a){
+ zt(this,"root"),zt(this,"bossFace",new d3),zt(this,"bossName"),zt(this,"bossMult"),zt(this,"bossBar",new Gf),zt(this,"timerText"),zt(this,"lastTimerStr",""),zt(this,"closeButton"),zt(this,"hpGauges",[]),zt(this,"hpTexts",[]),zt(this,"lastHpStr",[]),zt(this,"aggroGauges",[]),zt(this,"aggroIcons",[]),zt(this,"aggroTexts",[]),zt(this,"lastAggroStr",[]),zt(this,"dmgGauges",[]),zt(this,"dmgTexts",[]),zt(this,"lastDmgStr",[]),zt(this,"emblemDefs",[]),zt(this,"emblemButtonBgs",[]),zt(this,"emblemCooldownTexts",[]),zt(this,"onCorpClick"),zt(this,"whiteFill",1),zt(this,"lastN",-1),zt(this,"lastMultStr",""),this.onCorpClick=a,this.root=new Be,this.root.label="RaidHud",this.root.eventMode="passive",xet.getInstance().addChild(this.root),this.closeButton=this.createCloseButton(h);
+ const y=M;
+ for(const t of[a,f])t.eventMode="static",t.cursor="pointer",t.on("pointerup",()=>{
+ var t;
+ return null==(t=this.onCorpClick)?void 0:t.call(this,y)}
+ );
TopMenu 2 hunks, 8 statements
- ),this.lblMedalEvent.text="+00%\n3/3",this.lblMedalEvent.textColor=6801914,this.lblMedalEvent.align="center",this.lblMedalEvent.lineHeight=17,this.lblMedalEvent.x=this.btnRevive.x+.5*(this.btnRevive.width-this.lblMedalEvent.width),this.lblMedalEvent.y=this.btnRevive.y+this.btnRevive.height-.5*this.lblMedalEvent.height,this.addChild(this.lblMedalEvent),this.btnMedalEvent.x=this.lblMedalEvent.x+this.lblMedalEvent.width,this.btnMedalEvent.y=this.lblMedalEvent.y+.5*(this.lblMedalEvent.height-this.btnMedalEvent.height),this.btnMedalEvent.onClick=this.onMedalEventClick.bind(this),this.addChild(this.btnMedalEvent),this.lblSpeed.textOffsetY=2,this.lblSpeed.textOffsetX=2,this.lblSpeed.iconScale=.7,this.lblSpeed.textSize=13,this.lblSpeed.x=6,this.lblSpeed.y=this.btnRevive.y+this.btnRevive.height+8,this.lblSpeed.eventMode="static",this.lblSpeed.cursor="pointer",this.lblSpeed.hitArea=new Pi(0,0,120,30),this.lblSpeed.on("pointerdown",this.onSpeedClick,this),this.addChild(this.lblSpeed),this.btnHeroPresent.visible=!1,this.btnHeroPresent.x=100,this.btnHeroPresent.y=this.lblSpeed.y+this.lblSpeed.height+12,this.btnHeroPresent.onClick=this.onHeroPresentClick.bind(this),this.addChild(this.btnHeroPresent),this.heartInfo.x=this.btnRevive.x+this.btnRevive.width+5,this.heartInfo.y=5,this.addChild(this.heartInfo),this.addChild(vU.getInstance()),this._height=Math.max(this.bg.height,this.waveBar.y+this.waveBar.height),this.profile.on("pointerdown",this.onProfileClick,this)}
+ ),this.lblMedalEvent.text="+00%\n3/3",this.lblMedalEvent.textColor=6801914,this.lblMedalEvent.align="center",this.lblMedalEvent.lineHeight=17,this.lblMedalEvent.x=this.btnRevive.x+.5*(this.btnRevive.width-this.lblMedalEvent.width),this.lblMedalEvent.y=this.btnRevive.y+this.btnRevive.height-.5*this.lblMedalEvent.height,this.addChild(this.lblMedalEvent),this.btnMedalEvent.x=this.lblMedalEvent.x+this.lblMedalEvent.width,this.btnMedalEvent.y=this.lblMedalEvent.y+.5*(this.lblMedalEvent.height-this.btnMedalEvent.height),this.btnMedalEvent.onClick=this.onMedalEventClick.bind(this),this.addChild(this.btnMedalEvent),this.lblSpeed.textOffsetY=2,this.lblSpeed.textOffsetX=2,this.lblSpeed.iconScale=.7,this.lblSpeed.textSize=13,this.lblSpeed.x=6,this.lblSpeed.y=this.btnRevive.y+this.btnRevive.height+8,this.lblSpeed.eventMode="static",this.lblSpeed.cursor="pointer",this.lblSpeed.hitArea=new Pi(0,0,120,30),this.lblSpeed.on("pointerdown",this.onSpeedClick,this),this.addChild(this.lblSpeed),this.btnHeroPresent.visible=!1,this.btnHeroPresent.x=100,this.btnHeroPresent.y=this.lblSpeed.y+this.lblSpeed.height+12,this.btnHeroPresent.onClick=this.onHeroPresentClick.bind(this),this.addChild(this.btnHeroPresent),this.heartInfo.x=this.btnRevive.x+this.btnRevive.width+5,this.heartInfo.y=5,this.addChild(this.heartInfo),this.addChild(MU.getInstance()),this.addChild(u6.getInstance()),this._height=Math.max(this.bg.height,this.waveBar.y+this.waveBar.height),this.profile.on("pointerdown",this.onProfileClick,this),HV.getInstance().registerReviveButtonGetter(t=>"btnRevive"===t&&this.btnRevive.visible?{
+ parent:this,btn:{
+ x:this.btnRevive.x,y:this.btnRevive.y,width:this.btnRevive.width,height:this.btnRevive.height}
+ }
+ :null)}
- this.lblSpeed.x=7,this.lblMedalEvent.visible?this.lblSpeed.y=this.lblMedalEvent.y+this.lblMedalEvent.height+8:this.lblSpeed.y=this.btnRevive.y+this.btnRevive.height+8,this.btnHeroPresent.x=7,this.btnHeroPresent.y=this.lblSpeed.y+this.lblSpeed.height+12}
+ this.lblSpeed.x=7,this.lblMedalEvent.visible?this.lblSpeed.y=this.lblMedalEvent.y+this.lblMedalEvent.height+8:this.lblSpeed.y=this.btnRevive.y+86+8,this.btnHeroPresent.x=7,this.btnHeroPresent.y=this.lblSpeed.y+this.lblSpeed.height+12;
+ const t=u6.getInstance();
+ t.x=3,this.btnHeroPresent.visible?t.y=this.btnHeroPresent.y+this.btnHeroPresent.height-7:t.y=this.lblSpeed.y+this.lblSpeed.height+10}
ConfigManager 2 hunks, 7 statements
- zt(this,"_envPlatform",""),zt(this,"_buildType",""),zt(this,"_isPlayGamesPC",null),zt(this,"adWhiteUser",!1),zt(this,"clientData"),zt(this,"timeoutMilliSeconds",3e3),zt(this,"_deviceLanguage","")}
+ zt(this,"_envPlatform",""),zt(this,"_buildType",""),zt(this,"_isPlayGamesPC",null),zt(this,"adWhiteUser",!1),zt(this,"clientData"),zt(this,"timeoutMilliSeconds",3e3),zt(this,"_deviceLanguage",""),zt(this,"HERO_TRANSCEND_TICKET",null),zt(this,"HERO_MASS_TRANSCEND",null),zt(this,"HERO_MASS_EVOLVE",null)}
+ isHeroTranscendTicket(){
+ return null===this.HERO_TRANSCEND_TICKET&&(this.HERO_TRANSCEND_TICKET=this.getClientData("HERO_TRANSCEND_TICKET")),"Y"===this.HERO_TRANSCEND_TICKET}
+ isHeroMassTranscend(){
+ return null===this.HERO_MASS_TRANSCEND&&(this.HERO_MASS_TRANSCEND=this.getClientData("HERO_MASS_TRANSCEND")),"Y"===this.HERO_MASS_TRANSCEND}
+ isHeroMassEvolve(){
+ return null===this.HERO_MASS_EVOLVE&&(this.HERO_MASS_EVOLVE=this.getClientData("HERO_MASS_EVOLVE")),"Y"===this.HERO_MASS_EVOLVE}
CorpFlagCommander 2 hunks, 7 statements
- this.bindFlagCallbacks(e,i),e.position.set(s.x,s.y),t.addChild(e),this.heroFlags.push(e)}
+ this.bindFlagCallbacks(e,i),e.setIconHidden(!0),e.position.set(s.x,s.y),t.addChild(e),this.heroFlags.push(e)}
+ bringToTop(){
+ const t=this.flagLayer;
+ t&&t.parent&&t.parent.addChild(t)}
+ startCorpDragAt(t,i,s){
+ const e=this.heroFlags.find(i=>i.corpIndex===t);
+ return!!e&&(e.startDragExternal(i,s),e.isDragging)}
GuildWarBattlePopupV3 7 hunks, 7 statements
- ...nD.DEFAULT_OUTLINE_FONT_OPTION_16,fontSize:13}
+ ...aD.DEFAULT_OUTLINE_FONT_OPTION_16,fontSize:13}
- ...nD.DEFAULT_OUTLINE_FONT_OPTION_16,fontSize:13}
+ ...aD.DEFAULT_OUTLINE_FONT_OPTION_16,fontSize:13}
- ...nD.DEFAULT_OUTLINE_FONT_OPTION_16,fontSize:13}
+ ...aD.DEFAULT_OUTLINE_FONT_OPTION_16,fontSize:13}
- ...nD.DEFAULT_OUTLINE_FONT_OPTION_16,fontSize:9}
+ ...aD.DEFAULT_OUTLINE_FONT_OPTION_16,fontSize:9}
- ...nD.DEFAULT_OUTLINE_FONT_OPTION_16,fontSize:11}
+ ...aD.DEFAULT_OUTLINE_FONT_OPTION_16,fontSize:11}
- ...nD.DEFAULT_OUTLINE_FONT_OPTION_16,fontSize:9}
+ ...aD.DEFAULT_OUTLINE_FONT_OPTION_16,fontSize:9}
- ...nD.DEFAULT_OUTLINE_FONT_OPTION_16,fontSize:i}
+ ...aD.DEFAULT_OUTLINE_FONT_OPTION_16,fontSize:i}
HeroService 6 hunks, 6 statements
- async evolveOwned(t,i,s=!1){
+ async evolveOwned(t,i=!1){
- kindNum:t,trans:i}
+ kindNum:t}
- async transcend(t,i,s=!1){
+ async transcend(t,i,s=!1,e=!1){
- id:t,wave:i}
+ id:t,wave:i,useTicket:s}
- async transcendOwned(t,i,s=!1){
+ async transcendOwned(t,i,s,e=!1,n=!1){
- kindNum:t,trans:i}
+ kindNum:t,trans:i,count:s,useTicket:e}
CapacitorBridge 2 hunks, 6 statements
- const t=e.getInstance().getProductIdByStoreProductId(n.productId);
- if(t<=0)continue;
- const i=n.productId;
+ const t=-1,i=n.productId;
- const t=e.getInstance().getProductIdByStoreProductId(n.productId);
- if(t<=0)continue;
- const i=n.productId;
+ const t=-1,i=n.productId;
TransConfirmPopup 3 hunks, 5 statements
- super(),zt(this,"lblMessage",new KD("",nD.DEFAULT_COLOR,nD.DEFAULT_FONT_OPTION_17)),zt(this,"btnConfirm",new AU("PVP_COIN_ON","0",yG.getText("GAME_820","초월"),1,200,70)),zt(this,"onConfirm",null),this.title="",this.contentContainer.addChild(this.lblMessage,this.btnConfirm),this.btnConfirm.showIconLabel=!0,this.btnConfirm.showTextLabel=!0,this.btnConfirm.color=AU.GREEN,this.btnConfirm.onClick=this.onConfirmClick.bind(this),this.btnClose.onClick=this.onCancelClick.bind(this),nD.setLabelWrapWidth(this.lblMessage,this.width-60)}
+ super(),zt(this,"lblMessage",new YD("",aD.DEFAULT_COLOR,aD.DEFAULT_FONT_OPTION_17)),zt(this,"btnConfirm",new kU("PVP_COIN_ON","0",AG.getText("GAME_820","초월"),1,200,70)),zt(this,"btnTicket",new kU("Ticket_HeroTrans_s","0",AG.getText("GAME_820","초월"),1,200,70)),zt(this,"onConfirm",null),this.title="",this.contentContainer.addChild(this.lblMessage,this.btnConfirm,this.btnTicket),this.btnClose.onClick=this.onCancelClick.bind(this),this.btnConfirm.showIconLabel=!0,this.btnConfirm.showTextLabel=!0,this.btnConfirm.color=kU.GREEN,this.btnConfirm.onClick=this.onConfirmClick.bind(this),this.btnTicket.showIconLabel=!0,this.btnTicket.showTextLabel=!0,this.btnTicket.color=kU.GREEN,this.btnTicket.onClick=this.onConfirmClick.bind(this),aD.setLabelWrapWidth(this.lblMessage,this.width-60)}
- this.onConfirm=i,this.lblMessage.text=s??yG.getText("GAME_853","영웅을 초월하시겠습니까?"),this.btnConfirm.text=yG.getText("GAME_820","초월"),this.btnConfirm.iconText=String(t),this.updateLayout(),super.show()}
+ this.onConfirm=i,this.lblMessage.text=s??AG.getText("GAME_853","영웅을 초월하시겠습니까?"),this.btnConfirm.text=AG.getText("GAME_820","초월"),this.btnConfirm.iconText=String(t),this.btnConfirm.visible=!0,this.btnTicket.visible=!1,this.updateLayout(),super.show()}
+ showWithTicket(t,i,s){
+ this.onConfirm=i,this.lblMessage.text=s??AG.getText("GAME_853","영웅을 초월하시겠습니까?"),this.btnTicket.text=AG.getText("GAME_820","초월"),this.btnTicket.iconText=t,this.btnConfirm.visible=!1,this.btnTicket.visible=!0,this.updateLayout(),super.show()}
- this.lblMessage.x=.5*(this.width-this.lblMessage.width),this.lblMessage.y=90,this.btnConfirm.x=.5*(this.width-this.btnConfirm.width),this.btnConfirm.y=this.lblMessage.y+this.lblMessage.height+30,this.height=this.btnConfirm.y+this.btnConfirm.height+40}
+ this.lblMessage.x=.5*(this.width-this.lblMessage.width),this.lblMessage.y=90,this.btnConfirm.x=.5*(this.width-this.btnConfirm.width),this.btnConfirm.y=this.lblMessage.y+this.lblMessage.height+30,this.btnTicket.x=.5*(this.width-this.btnTicket.width),this.btnTicket.y=this.lblMessage.y+this.lblMessage.height+30,this.height=this.btnConfirm.y+this.btnConfirm.height+40}
BuffManager 2 hunks, 4 statements
+ if("core"===i){
+ const t=ON.getFinnyCoreContribution();
+ 0!==t&&("multiplicative"===e?n*=1+t/100:h+=t)}
- return"pluslv"===i&&(s+=ON.getSylphidPlusLvContribution()),s}
+ return"pluslv"===i&&(s+=ON.getSylphidPlusLvContribution()),"maxlv"===i&&(s+=ON.getGolemMaxLvContribution()),"core"===i&&(s+=ON.getFinnyCoreContribution()),s}
PowerSaveManager 2 hunks, 4 statements
- ]),zt(D8,"SCORPION_KIND_NUM",1e5),zt(D8,"HARPY_KIND_NUM",100001),zt(D8,"GOLEM_KIND_NUM",100002),zt(D8,"BOSS_KIND_NUM",D8.SCORPION_KIND_NUM),zt(D8,"BOSS_CLASS_BY_KIND",{
- [D8.SCORPION_KIND_NUM]:ox.ScorpionKing,100001:ox.HarpyKing,100002:ox.GolemKing}
- ),zt(D8,"BOSS_X",1050),zt(D8,"BOSS_Y",848),zt(D8,"BOSS_HP_MULT",1e4),zt(D8,"CROSSBOW_RING_RADII",[25,55,100,200]),zt(D8,"CROSSBOW_STUN_FRAMES",[0,180,240,300]),zt(D8,"CROSSBOW_HEAD_TIER",2),zt(D8,"CROSSBOW_KNOCKBACK",7),zt(D8,"CROSSBOW_DEBUG",!0),zt(D8,"BOSS_RADIUS",70),zt(D8,"FAN_HALF_WIDTH",170),zt(D8,"FAN_WING_CURVE",80),zt(D8,"FORM_SETTLE_DIST",30),zt(D8,"FORM_RELEASE_DIST",64),zt(D8,"MELEE_HUG_MARGIN",4),zt(D8,"SCORPION_SURROUND_X_SCALE",1.2),zt(D8,"SCORPION_SURROUND_Y_SCALE",.4),zt(D8,"GOLEM_SURROUND_X_SCALE",1),zt(D8,"GOLEM_SURROUND_Y_SCALE",.5),zt(D8,"SCORPION_TINT_BY_SUB",{
+ ]),zt(R7,"SCORPION_KIND_NUM",1e5),zt(R7,"HARPY_KIND_NUM",100001),zt(R7,"GOLEM_KIND_NUM",100002),zt(R7,"BERIAL_KIND_NUM",100003),zt(R7,"DRAGON_KNIGHT_KIND_NUM",100004),zt(R7,"BOSS_KIND_NUM",R7.SCORPION_KIND_NUM),zt(R7,"BOSS_CLASS_BY_KIND",{
+ [R7.SCORPION_KIND_NUM]:ox.ScorpionKing,100001:ox.HarpyKing,100002:ox.GolemKing,100003:ox.BerialKing,[R7.DRAGON_KNIGHT_KIND_NUM]:ox.DragonKnight}
+ ),zt(R7,"BOSS_X",1050),zt(R7,"BOSS_Y",848),zt(R7,"BOSS_HP_MULT",1e4),zt(R7,"CROSSBOW_RING_RADII",[25,55,100,200]),zt(R7,"CROSSBOW_STUN_FRAMES",[0,180,240,300]),zt(R7,"CROSSBOW_HEAD_TIER",2),zt(R7,"CROSSBOW_KNOCKBACK",7),zt(R7,"CROSSBOW_DEBUG",!0),zt(R7,"BOSS_RADIUS",70),zt(R7,"IMMOBILE_BOSS_ATK_RANGE",400),zt(R7,"FAN_HALF_WIDTH",119),zt(R7,"FAN_WING_CURVE",80),zt(R7,"FORM_SETTLE_DIST",30),zt(R7,"FORM_RELEASE_DIST",64),zt(R7,"MELEE_HUG_MARGIN",4),zt(R7,"SCORPION_SURROUND_X_SCALE",1.2),zt(R7,"SCORPION_SURROUND_Y_SCALE",.4),zt(R7,"GOLEM_SURROUND_X_SCALE",1),zt(R7,"GOLEM_SURROUND_Y_SCALE",.5),zt(R7,"BERIAL_SURROUND_X_SCALE",1.2),zt(R7,"BERIAL_SURROUND_Y_SCALE",.6),zt(R7,"DRAGON_KNIGHT_SURROUND_X_SCALE",.765),zt(R7,"DRAGON_KNIGHT_SURROUND_Y_SCALE",.34),zt(R7,"SCORPION_TINT_BY_SUB",{
- ),zt(D8,"GOLDEN_ANGLE",2.399963),zt(D8,"CORP_COUNT",5),zt(D8,"CORP_AGGRO_MULT",[1,1,1,1,1]),zt(D8,"AGGRO_HALFLIFE_SEC",4),zt(D8,"AGGRO_DECAY",Math.pow(.5,1/(60*D8.AGGRO_HALFLIFE_SEC))),zt(D8,"AGGRO_MIN",1),zt(D8,"AGGRO_SWITCH_MARGIN",1.2),zt(D8,"AGGRO_SWITCH_DWELL",36),zt(D8,"AGGRO_FACE_DEADZONE",50),zt(D8,"CORP2_TEST_DMG_MULT",3),zt(D8,"CORP1_SOLDIER_DMG_MULT",.5),zt(D8,"BOSS_DETECT_RANGE",4e3),zt(D8,"SOLDIER_ROWS",10),zt(D8,"SOLDIER_COLS",3),zt(D8,"SOLDIER_X_SPACING",52),zt(D8,"SOLDIER_Y_SPACING",36),zt(D8,"ALLY_HERO_X",60),zt(D8,"ALLY_SOLDIER_X_START",135),zt(D8,"MARCH_DISTANCE",1500),zt(D8,"SOLDIER_RANGE_MULT_MIN",1.3),zt(D8,"SOLDIER_RANGE_MULT_MAX",1.7),zt(D8,"RANGE_SOLDIER_MOVE_SPD_MULT_MIN",1),zt(D8,"RANGE_SOLDIER_MOVE_SPD_MULT_MAX",1.25),zt(D8,"MELEE_HERO_HP_MULT",2),zt(D8,"MELEE_SOLDIER_HP_MULT",1.5),zt(D8,"MELEE_ATK_RANGE_BONUS",20),zt(D8,"RANGE_HERO_ATK_RANGE_MULT",1.7),zt(D8,"MELEE_MOVE_SPD_MULT_MIN",1.2),zt(D8,"MELEE_MOVE_SPD_MULT_MAX",1.7),zt(D8,"MELEE_SOLDIER_LANE_OFFSET",210),zt(D8,"TERRAIN_MASK_ENABLED",!1),zt(D8,"SEPARATION_CELL",28),zt(D8,"SEPARATION_BUFFER",3),zt(D8,"RVO_TIME_HORIZON",8),zt(D8,"RVO_NEIGHBOR_DIST",48),zt(D8,"RVO_MAX_NEIGHBORS",10),zt(D8,"RVO_TELEPORT_FACTOR",3),zt(D8,"RVO_FACING_DZ_FACTOR",.3),zt(D8,"RVO_ALIGN_WEIGHT",.4),zt(D8,"RVO_COHESION_WEIGHT",.02),zt(D8,"RVO_BOIDS_MIN_SPEED_FACTOR",.5),zt(D8,"DEFAULT_HERO_KINDS",[60,58,78,54,56]),zt(D8,"DEFAULT_SOLDIER_KINDS",[20,4,7,1,13]);
+ ),zt(R7,"GOLDEN_ANGLE",2.399963),zt(R7,"CORP_COUNT",5),zt(R7,"CORP_AGGRO_MULT",[1,1,1,1,1]),zt(R7,"AGGRO_HALFLIFE_SEC",4),zt(R7,"AGGRO_DECAY",Math.pow(.5,1/(60*R7.AGGRO_HALFLIFE_SEC))),zt(R7,"AGGRO_MIN",1),zt(R7,"AGGRO_SWITCH_MARGIN",1.2),zt(R7,"AGGRO_SWITCH_DWELL",36),zt(R7,"AGGRO_FACE_DEADZONE",50),zt(R7,"CORP2_TEST_DMG_MULT",3),zt(R7,"CORP1_SOLDIER_DMG_MULT",.5),zt(R7,"BOSS_DETECT_RANGE",4e3),zt(R7,"SOLDIER_ROWS",10),zt(R7,"SOLDIER_COLS",3),zt(R7,"SOLDIER_X_SPACING",52),zt(R7,"SOLDIER_Y_SPACING",36),zt(R7,"ALLY_HERO_X",60),zt(R7,"ALLY_SOLDIER_X_START",135),zt(R7,"MARCH_DISTANCE",1500),zt(R7,"SOLDIER_RANGE_MULT_MIN",1.3),zt(R7,"SOLDIER_RANGE_MULT_MAX",1.7),zt(R7,"RANGE_SOLDIER_MOVE_SPD_MULT_MIN",1),zt(R7,"RANGE_SOLDIER_MOVE_SPD_MULT_MAX",1.25),zt(R7,"MELEE_HERO_HP_MULT",2),zt(R7,"MELEE_SOLDIER_HP_MULT",1.5),zt(R7,"MELEE_ATK_RANGE_BONUS",20),zt(R7,"RANGE_HERO_ATK_RANGE_MULT",1.7),zt(R7,"MELEE_MOVE_SPD_MULT_MIN",1.2),zt(R7,"MELEE_MOVE_SPD_MULT_MAX",1.7),zt(R7,"MELEE_SOLDIER_LANE_OFFSET",210),zt(R7,"TERRAIN_MASK_ENABLED",!1),zt(R7,"SEPARATION_CELL",28),zt(R7,"SEPARATION_BUFFER",3),zt(R7,"RVO_TIME_HORIZON",8),zt(R7,"RVO_NEIGHBOR_DIST",48),zt(R7,"RVO_MAX_NEIGHBORS",10),zt(R7,"RVO_TELEPORT_FACTOR",3),zt(R7,"RVO_FACING_DZ_FACTOR",.3),zt(R7,"RVO_ALIGN_WEIGHT",.4),zt(R7,"RVO_COHESION_WEIGHT",.02),zt(R7,"RVO_BOIDS_MIN_SPEED_FACTOR",.5),zt(R7,"DEFAULT_HERO_KINDS",[60,58,78,54,56]),zt(R7,"DEFAULT_SOLDIER_KINDS",[20,4,7,1,13]),zt(R7,"CORP_OUTLINE_COLOR",16724787),zt(R7,"UNIT_SELECT_RADIUS",50);
PVPRewardSubView 4 hunks, 4 statements
- let set=iet;
+ let ont=rnt;
- if(0==set.getInstance().initialized){
+ if(0==ont.getInstance().initialized){
- set.getInstance().setBookData(t)}
+ ont.getInstance().setBookData(t)}
- const s=set.getInstance().leagueRewards[t]||[];
+ const s=ont.getInstance().leagueRewards[t]||[];
Archery2GameScene 4 hunks, 4 statements
- ...nD.DEFAULT_OUTLINE_FONT_OPTION_16,fill:16777215}
+ ...aD.DEFAULT_OUTLINE_FONT_OPTION_16,fill:16777215}
- ...nD.DEFAULT_OUTLINE_FONT_OPTION_20,fill:16766720}
+ ...aD.DEFAULT_OUTLINE_FONT_OPTION_20,fill:16766720}
- ...nD.DEFAULT_OUTLINE_FONT_OPTION_16,fill:16737792}
+ ...aD.DEFAULT_OUTLINE_FONT_OPTION_16,fill:16737792}
- ...nD.DEFAULT_OUTLINE_FONT_OPTION_20,fill:16777215}
+ ...aD.DEFAULT_OUTLINE_FONT_OPTION_20,fill:16777215}
ServerTimeManager 3 hunks, 3 statements
+ this.oldDate.setTime(this.serverTime),this.newDate.setTime(t);
- this.timeOffset=t-i,this.serverTime=t,ix.time=this.serverTime,this.lastLocalTime=i}
+ this.timeOffset=t-i,this.serverTime=t,ix.time=this.serverTime,this.lastLocalTime=i,this.oldDate.getUTCDate()!==this.newDate.getUTCDate()&&fP.getInstance().checkDateRollover()}
- Kt(lP,"ServerTimeManager"),zt(lP,"serverTime",-1),zt(lP,"timeOffset",0),zt(lP,"lastLocalTime",0),zt(lP,"syncThreshold",1e3),zt(lP,"lastSyncReqTime",0),zt(lP,"_count",0),zt(lP,"syncInterval",6e4),zt(lP,"delayCount",0),zt(lP,"syncCallback",null),zt(lP,"requestPending",!1);
+ Kt(pP,"ServerTimeManager"),zt(pP,"serverTime",-1),zt(pP,"timeOffset",0),zt(pP,"lastLocalTime",0),zt(pP,"syncThreshold",1e3),zt(pP,"oldDate",new Date(-1)),zt(pP,"newDate",new Date(-1)),zt(pP,"lastSyncReqTime",0),zt(pP,"_count",0),zt(pP,"syncInterval",6e4),zt(pP,"delayCount",0),zt(pP,"syncCallback",null),zt(pP,"requestPending",!1);
CommonToast 1 hunks, 3 statements
+ showError(t,i=null,s=90){
+ let e=(null==t?void 0:t.errorMessage)??AG.getText("COMMON_77","네트워크 오류가 발생하였습니다."),n=AG.getErrorMessage(t.error);
+ n&&(e=n),i&&(e+="\n"+i),this.showMessage(e,s)}
BaseAreaHazard 1 hunks, 3 statements
- this.removed||(this.owner&&!this.owner.removed?(this.elapsedFrames++,this.elapsedFrames>this.durationFrames?this.remove():(this.updateVisual(),this.shouldApplyEffectThisFrame()&&this.applyToEnemiesInArea())):this.remove())}
+ this.removed||(this.owner&&!this.owner.removed?(this.elapsedFrames++,this.elapsedFrames>this.durationFrames?this.remove():(this.updateVisual(),this.onAreaTick(this.elapsedFrames),this.shouldApplyEffectThisFrame()&&this.applyToEnemiesInArea())):this.remove())}
+ onAreaTick(t){
+ }
HeroPresetBar 1 hunks, 3 statements
- super(),zt(this,"bg"),zt(this,"slotButtons",[]),zt(this,"btnSave"),zt(this,"lblSaveHint"),zt(this,"saveMode",!1),zt(this,"requestPending",!1),zt(this,"onApplied",null),zt(this,"longPressTimers",[null,null,null,null,null]),zt(this,"longPressFired",[!1,!1,!1,!1,!1]),this.bg=new Gf,this.bg.beginFill(2825487,.6),this.bg.drawRoundedRect(0,0,t.WIDTH,t.HEIGHT,6),this.bg.endFill(),this.addChild(this.bg);
+ super(),zt(this,"bg"),zt(this,"slotButtons",[]),zt(this,"btnSave"),zt(this,"lblSaveHint"),zt(this,"saveMode",!1),zt(this,"requestPending",!1),zt(this,"onApplied",null),zt(this,"longPressTimers",[null,null,null,null,null]),zt(this,"longPressFired",[!1,!1,!1,!1,!1]),this.bg=new Gf,this.bg.roundRect(0,0,t.WIDTH,t.HEIGHT,6),this.bg.fill({
+ color:2825487,alpha:.6}
+ ),this.addChild(this.bg);
TreasureTransConfirmPopup 1 hunks, 3 statements
- const i=await iD.getInstance().hero.evolveOwned(t,0,!0);
+ const i=await hD.getInstance().hero.evolveOwned(`${
+ t}
+ -1`,!0);
TreasurePresetBar 1 hunks, 3 statements
- super(),zt(this,"bg"),zt(this,"slotButtons",[]),zt(this,"btnSave"),zt(this,"btnReset"),zt(this,"lblSaveHint"),zt(this,"lockOverlay"),zt(this,"lblLock"),zt(this,"saveMode",!1),zt(this,"requestPending",!1),zt(this,"longPressTimers",[null,null,null,null,null]),zt(this,"longPressFired",[!1,!1,!1,!1,!1]),zt(this,"onApplied",null),this.bg=new Gf,this.bg.beginFill(2825487,.6),this.bg.drawRoundedRect(0,0,t.WIDTH,t.HEIGHT,6),this.bg.endFill(),this.addChild(this.bg);
+ super(),zt(this,"bg"),zt(this,"slotButtons",[]),zt(this,"btnSave"),zt(this,"btnReset"),zt(this,"lblSaveHint"),zt(this,"lockOverlay"),zt(this,"lblLock"),zt(this,"saveMode",!1),zt(this,"requestPending",!1),zt(this,"longPressTimers",[null,null,null,null,null]),zt(this,"longPressFired",[!1,!1,!1,!1,!1]),zt(this,"onApplied",null),this.bg=new Gf,this.bg.roundRect(0,0,t.WIDTH,t.HEIGHT,6),this.bg.fill({
+ color:2825487,alpha:.6}
+ ),this.addChild(this.bg);
SHA256 3 hunks, 3 statements
- ...eSt,...hSt,...oSt,...cSt,...dSt,...MSt,...SSt,...kSt,...PSt}
+ ...rTt,...aTt,...lTt,...dTt,...gTt,...STt,...kTt,...xTt,...LTt}
- ...mCt,...vCt}
+ ...bCt,..._Ct}
- utf8:XCt,"utf-8":XCt,hex:jCt.base16,latin1:YCt,ascii:YCt,binary:YCt,...jCt}
+ utf8:QCt,"utf-8":QCt,hex:KCt.base16,latin1:ZCt,ascii:ZCt,binary:ZCt,...KCt}
SuiProvider 3 hunks, 3 statements
- namespace:FDt.NameSpaceKeyAptos,addresses:s,methods:[...WDt.AptosMethods],extra:h}
+ namespace:jLt.NameSpaceKeyAptos,addresses:s,methods:[...VLt.AptosMethods],extra:h}
- namespace:XDt.NameSpaceKeyTON,addresses:o,methods:[...QDt.TONMethods],extra:a,data:{
+ namespace:QLt.NameSpaceKeyTON,addresses:o,methods:[...iGt.TONMethods],extra:a,data:{
- namespace:sLt.NameSpaceKeySui,addresses:i,methods:[...hLt.SuiMethods],extra:s}
+ namespace:hGt.NameSpaceKeySui,addresses:i,methods:[...aGt.SuiMethods],extra:s}
WalletPopup 3 hunks, 3 statements
- ...nD.ERROR_POPUP_LABEL_OPTION,fontSize:24,fontWeight:"bold"}
+ ...aD.ERROR_POPUP_LABEL_OPTION,fontSize:24,fontWeight:"bold"}
- ...nD.ERROR_POPUP_LABEL_OPTION,fontSize:16}
+ ...aD.ERROR_POPUP_LABEL_OPTION,fontSize:16}
- ...nD.ERROR_POPUP_LABEL_OPTION,fontSize:16}
+ ...aD.ERROR_POPUP_LABEL_OPTION,fontSize:16}
TreasureBuffAccessor 2 hunks, 2 statements
- ]),zt(kN,"WYVERN_PET_KINDNUM",26),zt(kN,"SYLPHID_PET_KINDNUM",24),zt(kN,"GAMESPEED_AWAKENINGS",[{
+ ]),zt(kN,"WYVERN_PET_KINDNUM",26),zt(kN,"SYLPHID_PET_KINDNUM",24),zt(kN,"GOLEM_PET_KINDNUM",1),zt(kN,"FINNY_PET_KINDNUM",8),zt(kN,"WOLF_PET_KINDNUM",9),zt(kN,"GAMESPEED_AWAKENINGS",[{
- ]),zt(kN,"_cachedWyvernMaxLv",0),zt(kN,"_cachedWyvernMaxLvVer",-1),zt(kN,"_cachedGameSpeed",0),zt(kN,"_cachedGameSpeedVer",-1),zt(kN,"_cachedSylphidPlusLv",0),zt(kN,"_cachedSylphidPlusLvVer",-1);
+ ]),zt(kN,"_cachedWyvernMaxLv",0),zt(kN,"_cachedWyvernMaxLvVer",-1),zt(kN,"_cachedGameSpeed",0),zt(kN,"_cachedGameSpeedVer",-1),zt(kN,"_cachedSylphidPlusLv",0),zt(kN,"_cachedSylphidPlusLvVer",-1),zt(kN,"_cachedGolemMaxLv",0),zt(kN,"_cachedGolemMaxLvVer",-1),zt(kN,"_cachedFinnyCore",0),zt(kN,"_cachedFinnyCoreVer",-1);
RewardLayer 1 hunks, 2 statements
- static getInstance(){
- return this._instance||(this._instance=new t),this._instance}
ShopProductPopup 1 hunks, 2 statements
- static getInstance(){
- return this._instance||(this._instance=new t),this._instance}
ShopPayItemRenderer 2 hunks, 2 statements
- gem:0,honorCoin:1,hammer:2,dungeonTicket:3,hero:4,petTicket:5,ticket:6,pet:7}
+ gem:0,honorCoin:1,hammer:2,dungeonTicket:3,hero:4,petTicket:5,ticket:6,pet:7,trans:8}
- if(i.type==g3.ticket&&i.subType==g3.heroGacha?s=yG.getText("GAME_765","5성 영웅을 랜덤하게 획득할 수 있습니다."):i.type==g3.ticket&&i.subType==g3.heroSelect?s=yG.getText("GAME_943","제공되는 목록에서 원하는 5성 영웅을 선택할 수 있습니다."):i.type==g3.ticket&&i.subType==g3.treasureGacha?s=yG.getValueReplace("GAME_776","##",6,"6등급 유물을 랜덤하게 획득할 수 있습니다."):i.type==g3.ticket&&i.subType==g3.petSelect&&(s=yG.getText("GAME_944","제공되는 목록에서 원하는 펫 조각을 선택할 수 있습니다.")),s){
+ if(i.type==f3.ticket&&i.subType==f3.heroGacha?s=AG.getText("GAME_765","5성 영웅을 랜덤하게 획득할 수 있습니다."):i.type==f3.ticket&&i.subType==f3.heroSelect?s=AG.getText("GAME_943","제공되는 목록에서 원하는 5성 영웅을 선택할 수 있습니다."):i.type==f3.ticket&&i.subType==f3.treasureGacha?s=AG.getValueReplace("GAME_776","##",6,"6등급 유물을 랜덤하게 획득할 수 있습니다."):i.type==f3.ticket&&i.subType==f3.petSelect?s=AG.getText("GAME_944","제공되는 목록에서 원하는 펫 조각을 선택할 수 있습니다."):i.type!=f3.trans||i.subType!=f3.hero&&i.subType!=f3.treasure||(s=AG.getText("GAME_1225","초월권을 사용하여 초월재료와 비용없이 초월시킬 수 있습니다.")),s){
RaidCrossbow 2 hunks, 2 statements
- this.arrowLayer=new Be,this.arrowLayer.label="RaidCrossbowArrows",this.arrowLayer.eventMode="none",h.addChild(this.arrowLayer),this.root=new Be,this.root.label="RaidCrossbow",this.root.position.set(this.baseX,this.baseY),this.root.eventMode="none",YG.getInstance().addChild(this.root),this.inputZone=new Be,this.inputZone.position.set(this.baseX,this.baseY),this.inputZone.eventMode="static",this.inputZone.cursor="pointer",this.inputZone.hitArea=new Pi(-90,-130,180,150),this.inputZone.on("pointerdown",this.onDown,this),h.addChild(this.inputZone),this.gauge=new Gf,this.gauge.eventMode="none",this.gauge.position.set(-60,t.GAUGE_Y),this.root.addChild(this.gauge),this.loadSpine()}
+ this.arrowLayer=new Be,this.arrowLayer.label="RaidCrossbowArrows",this.arrowLayer.eventMode="none",h.addChild(this.arrowLayer),this.root=new Be,this.root.label="RaidCrossbow",this.root.position.set(this.baseX,this.baseY),this.root.eventMode="none",tB.getInstance().addChild(this.root),this.inputZone=new Be,this.inputZone.position.set(this.baseX,this.baseY),this.inputZone.eventMode="static",this.inputZone.cursor="pointer",this.inputZone.hitArea=new Pi(t.HIT_X,t.HIT_Y,t.HIT_W,t.HIT_H),this.inputZone.on("pointerdown",this.onDown,this),h.addChild(this.inputZone),this.gauge=new Gf,this.gauge.eventMode="none",this.gauge.position.set(-60,t.GAUGE_Y),this.root.addChild(this.gauge),this.loadSpine()}
- Kt(T8,"RaidCrossbow"),zt(T8,"SPINE_KEY","raids/weapon/crossbow_tank"),zt(T8,"AIM_MAX_RAD",60*Math.PI/180),zt(T8,"CONTROL_BASE_DEG",0),zt(T8,"AIM_SIGN",-1),zt(T8,"RAD2DEG",180/Math.PI),zt(T8,"SCALE",1),zt(T8,"ARROW_SPEED",26),zt(T8,"ARROW_SPAWN_OFFSET",60),zt(T8,"CHARGE_MAX_TIME",2.6),zt(T8,"GAUGE_FULL_FRAMES",2400),zt(T8,"CHARGE_TIME_SCALE",2),zt(T8,"GAUGE_W",120),zt(T8,"GAUGE_H",12),zt(T8,"GAUGE_Y",50),zt(T8,"ARROW_FRAME",{
+ Kt(T7,"RaidCrossbow"),zt(T7,"SPINE_KEY","raids/weapon/crossbow_tank"),zt(T7,"AIM_MAX_RAD",60*Math.PI/180),zt(T7,"CONTROL_BASE_DEG",0),zt(T7,"AIM_SIGN",-1),zt(T7,"RAD2DEG",180/Math.PI),zt(T7,"SCALE",1),zt(T7,"HIT_X",-60),zt(T7,"HIT_Y",-120),zt(T7,"HIT_W",120),zt(T7,"HIT_H",110),zt(T7,"ARROW_SPEED",26),zt(T7,"ARROW_SPAWN_OFFSET",60),zt(T7,"CHARGE_MAX_TIME",2.6),zt(T7,"GAUGE_FULL_FRAMES",2400),zt(T7,"CHARGE_TIME_SCALE",2),zt(T7,"GAUGE_W",120),zt(T7,"GAUGE_H",12),zt(T7,"GAUGE_Y",50),zt(T7,"ARROW_FRAME",{
PVPBattleStatus 2 hunks, 2 statements
- const rst=640,ost=320,ast=30,cst=[4500223,2280703,8974079,6741452,4521898,2289373,5618687,7842559,10079487,11197951],lst=[16729156,16746496,16763904,15623714,16733542,16724872,16737860,15615010,16746564,16755302],ust=new Sg({
+ const cet=640,uet=320,det=30,fet=[4500223,2280703,8974079,6741452,4521898,2289373,5618687,7842559,10079487,11197951],pet=[16729156,16746496,16763904,15623714,16733542,16724872,16737860,15615010,16746564,16755302],get=new Sg({
- text:"무한랭킹전 1일차 [ A 리그 ]",style:ust}
+ text:"무한랭킹전 1일차 [ A 리그 ]",style:get}
OKXConnectUiError 2 hunks, 2 statements
- ):t[i]=s,"__defNormalProp$2"),ajt=Kt((t,i)=>{
+ ):t[i]=s,"__defNormalProp"),u$t=Kt((t,i)=>{
- ,"__spreadValues"),cjt=Kt((t,i)=>sjt(t,ejt(i)),"__spreadProps"),ljt=Kt((t,i,s)=>(ojt(t,"symbol"!=typeof i?i+"":i,s),s),"__publicField$2"),ujt=Kt((t,i,s)=>{
+ ,"__spreadValues"),d$t=Kt((t,i)=>h$t(t,r$t(i)),"__spreadProps"),f$t=Kt((t,i,s)=>(l$t(t,"symbol"!=typeof i?i+"":i,s),s),"__publicField"),p$t=Kt((t,i,s)=>{
GuildBarracksRaceView 2 hunks, 2 statements
- s?(t.setDataWithKindNum(s.heroKindNum,s.trans),t.showIcon()):t.hideIcon()}
+ s?(t.setDataWithKindNum(s.heroKindNum,s.trans),t.showIcon()):(t.hideIcon(),t.setDataWithKindNum(0,0))}
- ...nD.DEFAULT_OUTLINE_FONT_OPTION_16,fontSize:i}
+ ...aD.DEFAULT_OUTLINE_FONT_OPTION_16,fontSize:i}
GuildGiftSubView 1 hunks, 2 statements
+ const s=ED.giftSendersToday.indexOf(t.memberId)>-1?1:0,e=ED.giftSendersToday.indexOf(i.memberId)>-1?1:0;
+ if(s!==e)return e-s;
Guild2MemberInfoPopup 2 hunks, 2 statements
- const s=i.reduce((t,i)=>t+i.width,0)+10*(i.length-1);
+ const s=i.reduce((t,i)=>t+i.width,0)+5*(i.length-1);
- for(const n of i)n.x=e,n.y=t,e+=n.width+10}
+ for(const n of i)n.x=e,n.y=t,e+=n.width+5}
GuildBarrackRowItemRenderer 2 hunks, 2 statements
- ...nD.DEFAULT_OUTLINE_FONT_OPTION_16,fontSize:14}
+ ...aD.DEFAULT_OUTLINE_FONT_OPTION_16,fontSize:14}
- ...nD.DEFAULT_OUTLINE_FONT_OPTION_16,fontSize:13}
+ ...aD.DEFAULT_OUTLINE_FONT_OPTION_16,fontSize:13}
GuildWarBattleReadyPopup 2 hunks, 2 statements
- ...nD.DEFAULT_OUTLINE_FONT_OPTION_16,fontSize:13}
+ ...aD.DEFAULT_OUTLINE_FONT_OPTION_16,fontSize:13}
- ...nD.DEFAULT_OUTLINE_FONT_OPTION_16,fontSize:i}
+ ...aD.DEFAULT_OUTLINE_FONT_OPTION_16,fontSize:i}
GuildWarSquadsPopup 2 hunks, 2 statements
- ...nD.DEFAULT_OUTLINE_FONT_OPTION_16,fontSize:14}
+ ...aD.DEFAULT_OUTLINE_FONT_OPTION_16,fontSize:14}
- ...nD.DEFAULT_OUTLINE_FONT_OPTION_16,fontSize:i}
+ ...aD.DEFAULT_OUTLINE_FONT_OPTION_16,fontSize:i}
GuildWarTierAssignPopup 2 hunks, 2 statements
- const i=[...bD.memberList??[]].sort((t,i)=>i.roleLevel!==t.roleLevel?i.roleLevel-t.roleLevel:(i.wave??0)-(t.wave??0));
+ const i=[...ED.memberList??[]].sort((t,i)=>i.roleLevel!==t.roleLevel?i.roleLevel-t.roleLevel:(i.wave??0)-(t.wave??0));
- ...nD.DEFAULT_OUTLINE_FONT_OPTION_16,fontSize:i}
+ ...aD.DEFAULT_OUTLINE_FONT_OPTION_16,fontSize:i}
Circle 1 hunks, 1 statements
- ,test:Kt(()=>Promise.resolve(!0),"test"),add:Kt(async t=>[...t,...To],"add"),remove:Kt(async t=>t.filter(t=>!To.includes(t)),"remove")}
+ ,test:Kt(()=>Promise.resolve(!0),"test"),add:Kt(async t=>[...t,...Co],"add"),remove:Kt(async t=>t.filter(t=>!Co.includes(t)),"remove")}
BatchableMesh 1 hunks, 1 statements
- ...T.defaultOptions,...i}
+ ...C.defaultOptions,...i}
WebGLRenderer 1 hunks, 1 statements
- const Vy=[...Sv,Gb,fb,Qv,bb,Yv,Fy,Hb,lb,py,cy,wb,wy,Ab,gb],Ky=[...Cv],zy=[Dm,$y,Wy],qy=[],Xy=[],Yy=[];
+ const Vy=[...Sv,Gb,fb,Qv,bb,Yv,Fy,Hb,lb,py,cy,wb,wy,Ab,gb],Ky=[...Tv],zy=[Dm,$y,Wy],qy=[],Xy=[],Yy=[];
WebGPURenderer 1 hunks, 1 statements
- const oM=[...Sv,E_,f_,u_,g_,h_,sM,G_,U_,W_,x_,c_,w_,i_],aM=[...Cv,C_],cM=[Bm,rM,nM],lM=[],uM=[],dM=[];
+ const oM=[...Sv,E_,f_,u_,g_,h_,sM,G_,U_,W_,x_,c_,w_,i_],aM=[...Tv,T_],cM=[Bm,rM,nM],lM=[],uM=[],dM=[];
VersionManager 1 hunks, 1 statements
- Kt(zA,"VersionManager"),zt(zA,"gameId","ef2"),zt(zA,"appVersion","1.11.59");
+ Kt(zA,"VersionManager"),zt(zA,"gameId","ef2"),zt(zA,"appVersion","1.11.73");
PetDataManager 1 hunks, 1 statements
- ),ox=(t=>(t.ElfTown5="ElfTown5",t.NWolf="NWolf",t.HorseKnight1="HorseKnight1",t.SkeletonX1="SkeletonX1",t.SkeletonMan1="SkeletonMan1",t.SkeletonMan2="SkeletonMan2",t.SkeletonWarrior1="SkeletonWarrior1",t.GreatHammer1="GreatHammer1",t.ElfArcher1="ElfArcher1",t.HighArcher1="HighArcher1",t.FootMan1="FootMan1",t.Gunner1="Gunner1",t.ElfWarrior1="ElfWarrior1",t.ElfSwordMan1="ElfSwordMan1",t.OrcFighter1="OrcFighter1",t.OrcSpearMan1="OrcSpearMan1",t.OrcHammer1="OrcHammer1",t.OrcHunter1="OrcHunter1",t.OrcIceMage1="OrcIceMage1",t.HeavyWarrior1="HeavyWarrior1",t.HammerKnight1="HammerKnight1",t.PoisonArcher1="PoisonArcher1",t.FireBird1="FireBird1",t.GreenEagle1="GreenEagle1",t.WindMage1="WindMage1",t.OrcFlower="OrcFlower",t.BlackMage1="BlackMage1",t.DarkMage1="DarkMage1",t.Priest1="Priest1",t.Fairy1="Fairy1",t.Ghost1="Ghost1",t.DarkArcher1="DarkArcher1",t.OrcWing1="OrcWing1",t.OrcAxe1="OrcAxe1",t.BigDrumer1="BigDrumer1",t.OrcWolfRider1="OrcWolfRider1",t.OrcBigFoot1="OrcBigFoot1",t.OrcBlizzardMage1="OrcBlizzardMage1",t.FlowerSoldier1="FlowerSoldier1",t.FlowerSoldier2="FlowerSoldier2",t.KingSlime="KingSlime",t.SlimeBlue="SlimeBlue",t.SlimeRed="SlimeRed",t.SlimeYellow="SlimeYellow",t.HammerMole="HammerMole",t.MoleSoldier1="MoleSoldier1",t.MoleSoldier2="MoleSoldier2",t.DarkHermit="DarkHermit",t.Crab="Crab",t.StarFish="StarFish",t.Unicorn1="Unicorn1",t.IceWolf="IceWolf",t.GoldGoblin="GoldGoblin",t.AdsGoblin="AdsGoblin",t.DeathKnight1="DeathKnight1",t.Golem1="Golem1",t.GreatMage1="GreatMage1",t.Ant1="Ant1",t.WolfWarrior1="WolfWarrior1",t.Artillery1="Artillery1",t.Bomber1="Bomber1",t.DeathHand1="DeathHand1",t.SSlime1="SSlime1",t.SSlime2="SSlime2",t.SSlime3="SSlime3",t.OrcIcePhantom1="OrcIcePhantom1",t.Pilot1="Pilot1",t.Spider1="Spider1",t.Spider2="Spider2",t.Boar1="Boar1",t.Boar2="Boar2",t.RoboBomb1="RoboBomb1",t.RoboBomb2="RoboBomb2",t.Frog1="Frog1",t.Frog2="Frog2",t.OrcRapterRider1="OrcRapterRider1",t.WyvernRider1="WyvernRider1",t.DarkNinja1="DarkNinja1",t.Succubus1="Succubus1",t.Druid1="Druid1",t.TigerRider1="TigerRider1",t.GriffinRider1="GriffinRider1",t.SteamPunk1="SteamPunk1",t.Castle0="Castle0",t.Castle1="Castle1",t.Castle2="Castle2",t.WingKnight1="WingKnight1",t.Abyss1="Abyss1",t.Sylphid1="Sylphid1",t.Aladin1="Aladin1",t.Druid2="Druid2",t.BladeMaster1="BladeMaster1",t.CrowKnight1="CrowKnight1",t.ScorpionKing="ScorpionKing",t.HarpyKing="HarpyKing",t.GolemKing="GolemKing",t))(ox||{
+ ),ox=(t=>(t.ElfTown5="ElfTown5",t.NWolf="NWolf",t.HorseKnight1="HorseKnight1",t.SkeletonX1="SkeletonX1",t.SkeletonMan1="SkeletonMan1",t.SkeletonMan2="SkeletonMan2",t.SkeletonWarrior1="SkeletonWarrior1",t.GreatHammer1="GreatHammer1",t.ElfArcher1="ElfArcher1",t.HighArcher1="HighArcher1",t.FootMan1="FootMan1",t.Gunner1="Gunner1",t.ElfWarrior1="ElfWarrior1",t.ElfSwordMan1="ElfSwordMan1",t.OrcFighter1="OrcFighter1",t.OrcSpearMan1="OrcSpearMan1",t.OrcHammer1="OrcHammer1",t.OrcHunter1="OrcHunter1",t.OrcIceMage1="OrcIceMage1",t.HeavyWarrior1="HeavyWarrior1",t.HammerKnight1="HammerKnight1",t.PoisonArcher1="PoisonArcher1",t.FireBird1="FireBird1",t.GreenEagle1="GreenEagle1",t.WindMage1="WindMage1",t.OrcFlower="OrcFlower",t.BlackMage1="BlackMage1",t.DarkMage1="DarkMage1",t.Priest1="Priest1",t.Fairy1="Fairy1",t.Ghost1="Ghost1",t.DarkArcher1="DarkArcher1",t.OrcWing1="OrcWing1",t.OrcAxe1="OrcAxe1",t.BigDrumer1="BigDrumer1",t.OrcWolfRider1="OrcWolfRider1",t.OrcBigFoot1="OrcBigFoot1",t.OrcBlizzardMage1="OrcBlizzardMage1",t.FlowerSoldier1="FlowerSoldier1",t.FlowerSoldier2="FlowerSoldier2",t.KingSlime="KingSlime",t.SlimeBlue="SlimeBlue",t.SlimeRed="SlimeRed",t.SlimeYellow="SlimeYellow",t.HammerMole="HammerMole",t.MoleSoldier1="MoleSoldier1",t.MoleSoldier2="MoleSoldier2",t.DarkHermit="DarkHermit",t.Crab="Crab",t.StarFish="StarFish",t.Unicorn1="Unicorn1",t.IceWolf="IceWolf",t.GoldGoblin="GoldGoblin",t.AdsGoblin="AdsGoblin",t.DeathKnight1="DeathKnight1",t.Golem1="Golem1",t.GreatMage1="GreatMage1",t.Ant1="Ant1",t.WolfWarrior1="WolfWarrior1",t.Artillery1="Artillery1",t.Bomber1="Bomber1",t.DeathHand1="DeathHand1",t.SSlime1="SSlime1",t.SSlime2="SSlime2",t.SSlime3="SSlime3",t.OrcIcePhantom1="OrcIcePhantom1",t.Pilot1="Pilot1",t.Spider1="Spider1",t.Spider2="Spider2",t.Boar1="Boar1",t.Boar2="Boar2",t.RoboBomb1="RoboBomb1",t.RoboBomb2="RoboBomb2",t.Frog1="Frog1",t.Frog2="Frog2",t.OrcRapterRider1="OrcRapterRider1",t.WyvernRider1="WyvernRider1",t.DarkNinja1="DarkNinja1",t.Succubus1="Succubus1",t.Druid1="Druid1",t.TigerRider1="TigerRider1",t.GriffinRider1="GriffinRider1",t.SteamPunk1="SteamPunk1",t.Castle0="Castle0",t.Castle1="Castle1",t.Castle2="Castle2",t.WingKnight1="WingKnight1",t.Abyss1="Abyss1",t.Sylphid1="Sylphid1",t.Aladin1="Aladin1",t.Druid2="Druid2",t.BladeMaster1="BladeMaster1",t.CrowKnight1="CrowKnight1",t.ScorpionKing="ScorpionKing",t.HarpyKing="HarpyKing",t.GolemKing="GolemKing",t.BerialKing="BerialKing",t.DragonKnight="DragonKnight",t))(ox||{
BaseWeapon 1 hunks, 1 statements
- var $X=(t=>(t.NormalArrow="NormalArrow",t.EnergyBall="EnergyBall",t.SpeedArrow="SpeedArrow",t.Bullet1="Bullet1",t.OrcSpearmanSpear1="OrcSpearmanSpear1",t.OrcIceMageFire1="OrcIceMageFire1",t.PoisonArcherArrow1="PoisonArcherArrow1",t.FireBirdBall1="FireBirdBall1",t.GreenEagleBall1="GreenEagleBall1",t.BlackMageBall1="BlackMageBall1",t.BlackMageDarkBall1="BlackMageDarkBall1",t.DarkMageBall1="DarkMageBall1",t.DarkMageSkillBall1="DarkMageSkillBall1",t.GreenEnergyBall="GreenEnergyBall",t.YellowEnergyBall="YellowEnergyBall",t.FairyMusicNote="FairyMusicNote",t.GhostBall1="GhostBall1",t.DarkArcherArrow1="DarkArcherArrow1",t.OrcWingBall1="OrcWingBall1",t.OrcAxeBall1="OrcAxeBall1",t.Twist="Twist",t.FlowerBullet="FlowerBullet",t.Rock="Rock",t.DarkHermitMissile="DarkHermitMissile",t.Pearl="Pearl",t.UniArrow="UniArrow",t.PowerArrow="PowerArrow",t.OrcBlizzardMageRain1="OrcBlizzardMageRain1",t.FireMagicBall1="FireMagicBall1",t.FireMageBird1="FireMageBird1",t.BomberSmallBomb1="BomberSmallBomb1",t.BomberBigBomb1="BomberBigBomb1",t.IceFlake="IceFlake",t.PoisonArcherArrowSkill1="PoisonArcherArrowSkill1",t.OrcIceMageFireSkill1="OrcIceMageFireSkill1",t.PilotMissile1="PilotMissile1",t.FireBullet="FireBullet",t.AntRock1="AntRock1",t.SpeedArrow2="SpeedArrow2",t.MoleFire="MoleFire",t.OrcRapterRiderSpear1="OrcRapterRiderSpear1",t.WyvernRiderThrowingKnife1="WyvernRiderThrowingKnife1",t.WyvernRiderThrowingKnifeS1="WyvernRiderThrowingKnifeS1",t.SuccubusBlade1="SuccubusBlade1",t.DarkChain1="DarkChain1",t.DruidTangle1="DruidTangle1",t.DruidDrill1="DruidDrill1",t.TigerRiderArrow1="TigerRiderArrow1",t.GriffinSpear1="GriffinSpear1",t.GriffinSuperSpear1="GriffinSuperSpear1",t.SteamFire1="SteamFire1",t.SteamMissile1="SteamMissile1",t.SylphidTornado1="SylphidTornado1",t.SylphidShuriken1="SylphidShuriken1",t.AladinCoin1="AladinCoin1",t.BladeWave1="BladeWave1",t.SpinBlade="SpinBlade",t.CrowKnightBullet1="CrowKnightBullet1",t.CrowCompanion1="CrowCompanion1",t.CrowGuidedBall1="CrowGuidedBall1",t.CrowFeatherShot1="CrowFeatherShot1",t.ScorpionPoisonBullet="ScorpionPoisonBullet",t.ScorpionPoisonArea="ScorpionPoisonArea",t.HarpyFeather="HarpyFeather",t.HarpyTornado="HarpyTornado",t))($X||{
+ var qX=(t=>(t.NormalArrow="NormalArrow",t.EnergyBall="EnergyBall",t.SpeedArrow="SpeedArrow",t.Bullet1="Bullet1",t.OrcSpearmanSpear1="OrcSpearmanSpear1",t.OrcIceMageFire1="OrcIceMageFire1",t.PoisonArcherArrow1="PoisonArcherArrow1",t.FireBirdBall1="FireBirdBall1",t.GreenEagleBall1="GreenEagleBall1",t.BlackMageBall1="BlackMageBall1",t.BlackMageDarkBall1="BlackMageDarkBall1",t.DarkMageBall1="DarkMageBall1",t.DarkMageSkillBall1="DarkMageSkillBall1",t.GreenEnergyBall="GreenEnergyBall",t.YellowEnergyBall="YellowEnergyBall",t.FairyMusicNote="FairyMusicNote",t.GhostBall1="GhostBall1",t.DarkArcherArrow1="DarkArcherArrow1",t.OrcWingBall1="OrcWingBall1",t.OrcAxeBall1="OrcAxeBall1",t.Twist="Twist",t.FlowerBullet="FlowerBullet",t.Rock="Rock",t.DarkHermitMissile="DarkHermitMissile",t.Pearl="Pearl",t.UniArrow="UniArrow",t.PowerArrow="PowerArrow",t.OrcBlizzardMageRain1="OrcBlizzardMageRain1",t.FireMagicBall1="FireMagicBall1",t.FireMageBird1="FireMageBird1",t.BomberSmallBomb1="BomberSmallBomb1",t.BomberBigBomb1="BomberBigBomb1",t.IceFlake="IceFlake",t.PoisonArcherArrowSkill1="PoisonArcherArrowSkill1",t.OrcIceMageFireSkill1="OrcIceMageFireSkill1",t.PilotMissile1="PilotMissile1",t.FireBullet="FireBullet",t.AntRock1="AntRock1",t.SpeedArrow2="SpeedArrow2",t.MoleFire="MoleFire",t.OrcRapterRiderSpear1="OrcRapterRiderSpear1",t.WyvernRiderThrowingKnife1="WyvernRiderThrowingKnife1",t.WyvernRiderThrowingKnifeS1="WyvernRiderThrowingKnifeS1",t.SuccubusBlade1="SuccubusBlade1",t.DarkChain1="DarkChain1",t.DruidTangle1="DruidTangle1",t.DruidDrill1="DruidDrill1",t.TigerRiderArrow1="TigerRiderArrow1",t.GriffinSpear1="GriffinSpear1",t.GriffinSuperSpear1="GriffinSuperSpear1",t.SteamFire1="SteamFire1",t.SteamMissile1="SteamMissile1",t.SylphidTornado1="SylphidTornado1",t.SylphidShuriken1="SylphidShuriken1",t.AladinCoin1="AladinCoin1",t.BladeWave1="BladeWave1",t.SpinBlade="SpinBlade",t.CrowKnightBullet1="CrowKnightBullet1",t.CrowCompanion1="CrowCompanion1",t.CrowGuidedBall1="CrowGuidedBall1",t.CrowFeatherShot1="CrowFeatherShot1",t.ScorpionPoisonBullet="ScorpionPoisonBullet",t.ScorpionPoisonArea="ScorpionPoisonArea",t.HarpyFeather="HarpyFeather",t.HarpyTornado="HarpyTornado",t.GolemStone="GolemStone",t.BerialLightning="BerialLightning",t.BerialLightningArea="BerialLightningArea",t.BerialFire="BerialFire",t.SummonDragon="SummonDragon",t))(qX||{
SylphidTornado1 1 hunks, 1 statements
- if(s.removed||s.isUntagetable||s.isImmovable||s.knockImmune)continue;
+ if(s.removed||!s.isAlive||s.isUntagetable||s.isImmovable||s.knockImmune)continue;
WeaponFactory 1 hunks, 1 statements
- [$X.NormalArrow]:aY,[$X.EnergyBall]:tY,[$X.SpeedArrow]:dY,[$X.Bullet1]:vY,[$X.OrcSpearmanSpear1]:AY,[$X.OrcIceMageFire1]:MY,[$X.PoisonArcherArrow1]:lY,[$X.GreenEagleBall1]:nY,[$X.BlackMageBall1]:kY,[$X.DarkMageBall1]:NY,[$X.DarkMageSkillBall1]:RY,[$X.GreenEnergyBall]:rY,[$X.YellowEnergyBall]:mY,[$X.FairyMusicNote]:sY,[$X.GhostBall1]:LY,[$X.DarkArcherArrow1]:IY,[$X.OrcWingBall1]:CY,[$X.OrcAxeBall1]:yY,[$X.FlowerBullet]:qX,[$X.Rock]:QX,[$X.DarkHermitMissile]:YX,[$X.Pearl]:BY,[$X.Twist]:pY,[$X.UniArrow]:FY,[$X.PowerArrow]:WY,[$X.OrcBlizzardMageRain1]:$Y,[$X.FireMagicBall1]:KY,[$X.FireMageBird1]:qY,[$X.BomberSmallBomb1]:YY,[$X.BomberBigBomb1]:QY,[$X.IceFlake]:tJ,[$X.FireBirdBall1]:sJ,[$X.BlackMageDarkBall1]:nJ,[$X.PoisonArcherArrowSkill1]:aJ,[$X.OrcIceMageFireSkill1]:rJ,[$X.PilotMissile1]:lJ,[$X.FireBullet]:dJ,[$X.AntRock1]:pJ,[$X.SpeedArrow2]:mJ,[$X.MoleFire]:vJ,[$X.OrcRapterRiderSpear1]:kJ,[$X.WyvernRiderThrowingKnife1]:AJ,[$X.WyvernRiderThrowingKnifeS1]:CJ,[$X.DarkChain1]:yJ,[$X.SuccubusBlade1]:MJ,[$X.DruidTangle1]:IJ,[$X.DruidDrill1]:NJ,[$X.TigerRiderArrow1]:RJ,[$X.GriffinSpear1]:LJ,[$X.GriffinSuperSpear1]:BJ,[$X.SteamFire1]:FJ,[$X.SteamMissile1]:WJ,[$X.SylphidShuriken1]:$J,[$X.SylphidTornado1]:KJ,[$X.AladinCoin1]:qJ,[$X.BladeWave1]:YJ,[$X.SpinBlade]:QJ,[$X.CrowKnightBullet1]:tQ,[$X.CrowCompanion1]:sQ,[$X.CrowGuidedBall1]:nQ,[$X.CrowFeatherShot1]:rQ,[$X.ScorpionPoisonBullet]:cQ,[$X.ScorpionPoisonArea]:fQ,[$X.HarpyFeather]:gQ,[$X.HarpyTornado]:wQ}
+ [qX.NormalArrow]:dY,[qX.EnergyBall]:nY,[qX.SpeedArrow]:mY,[qX.Bullet1]:MY,[qX.OrcSpearmanSpear1]:kY,[qX.OrcIceMageFire1]:TY,[qX.PoisonArcherArrow1]:pY,[qX.GreenEagleBall1]:aY,[qX.BlackMageBall1]:NY,[qX.DarkMageBall1]:LY,[qX.DarkMageSkillBall1]:BY,[qX.GreenEnergyBall]:lY,[qX.YellowEnergyBall]:yY,[qX.FairyMusicNote]:rY,[qX.GhostBall1]:FY,[qX.DarkArcherArrow1]:RY,[qX.OrcWingBall1]:IY,[qX.OrcAxeBall1]:AY,[qX.FlowerBullet]:QX,[qX.Rock]:sY,[qX.DarkHermitMissile]:tY,[qX.Pearl]:WY,[qX.Twist]:vY,[qX.UniArrow]:$Y,[qX.PowerArrow]:KY,[qX.OrcBlizzardMageRain1]:qY,[qX.FireMagicBall1]:YY,[qX.FireMageBird1]:QY,[qX.BomberSmallBomb1]:tJ,[qX.BomberBigBomb1]:sJ,[qX.IceFlake]:nJ,[qX.FireBirdBall1]:rJ,[qX.BlackMageDarkBall1]:aJ,[qX.PoisonArcherArrowSkill1]:dJ,[qX.OrcIceMageFireSkill1]:lJ,[qX.PilotMissile1]:pJ,[qX.FireBullet]:mJ,[qX.AntRock1]:vJ,[qX.SpeedArrow2]:yJ,[qX.MoleFire]:MJ,[qX.OrcRapterRiderSpear1]:NJ,[qX.WyvernRiderThrowingKnife1]:kJ,[qX.WyvernRiderThrowingKnifeS1]:IJ,[qX.DarkChain1]:AJ,[qX.SuccubusBlade1]:TJ,[qX.DruidTangle1]:RJ,[qX.DruidDrill1]:LJ,[qX.TigerRiderArrow1]:BJ,[qX.GriffinSpear1]:FJ,[qX.GriffinSuperSpear1]:WJ,[qX.SteamFire1]:$J,[qX.SteamMissile1]:KJ,[qX.SylphidShuriken1]:qJ,[qX.SylphidTornado1]:YJ,[qX.AladinCoin1]:QJ,[qX.BladeWave1]:tQ,[qX.SpinBlade]:sQ,[qX.CrowKnightBullet1]:nQ,[qX.CrowCompanion1]:rQ,[qX.CrowGuidedBall1]:aQ,[qX.CrowFeatherShot1]:lQ,[qX.ScorpionPoisonBullet]:fQ,[qX.ScorpionPoisonArea]:wQ,[qX.HarpyFeather]:bQ,[qX.HarpyTornado]:_Q,[qX.GolemStone]:EQ,[qX.BerialLightning]:SQ,[qX.BerialLightningArea]:CQ,[qX.BerialFire]:OQ,[qX.SummonDragon]:xQ}
UnitFactory 1 hunks, 1 statements
- [ox.NWolf]:vZ,[ox.BlackMage1]:IZ,[ox.SkeletonX1]:FZ,[ox.SkeletonMan1]:RZ,[ox.SkeletonMan2]:LZ,[ox.SkeletonWarrior1]:BZ,[ox.GreatHammer1]:NZ,[ox.Ghost1]:QZ,[ox.DarkMage1]:KZ,[ox.DarkArcher1]:t0,[ox.Bomber1]:n1,[ox.DeathHand1]:r1,[ox.DarkNinja1]:B1,[ox.Succubus1]:Y1,[ox.Abyss1]:n2,[ox.CrowKnight1]:m2,[ox.FootMan1]:aZ,[ox.Gunner1]:lZ,[ox.HeavyWarrior1]:pZ,[ox.HammerKnight1]:dZ,[ox.HorseKnight1]:mZ,[ox.FireBird1]:rZ,[ox.Priest1]:qZ,[ox.GriffinRider1]:F1,[ox.SteamPunk1]:$1,[ox.WingKnight1]:W1,[ox.Aladin1]:l2,[ox.ElfArcher1]:WZ,[ox.HighArcher1]:sZ,[ox.ElfWarrior1]:tZ,[ox.ElfSwordMan1]:QQ,[ox.PoisonArcher1]:nZ,[ox.GreenEagle1]:$Q,[ox.WindMage1]:$Z,[ox.Fairy1]:YZ,[ox.Druid1]:K1,[ox.Druid2]:d2,[ox.TigerRider1]:q1,[ox.Sylphid1]:r2,[ox.OrcFighter1]:yZ,[ox.OrcHunter1]:AZ,[ox.OrcIceMage1]:CZ,[ox.OrcWing1]:s0,[ox.OrcHammer1]:MZ,[ox.OrcAxe1]:n0,[ox.OrcSpearMan1]:kZ,[ox.BigDrumer1]:r0,[ox.OrcWolfRider1]:a0,[ox.OrcBigFoot1]:W0,[ox.OrcBlizzardMage1]:$0,[ox.OrcIcePhantom1]:p1,[ox.OrcRapterRider1]:R1,[ox.WyvernRider1]:L1,[ox.BladeMaster1]:p2,[ox.ElfTown5]:qQ,[ox.OrcFlower]:YQ,[ox.FlowerSoldier1]:d0,[ox.FlowerSoldier2]:l0,[ox.KingSlime]:p0,[ox.SlimeBlue]:m0,[ox.SlimeRed]:v0,[ox.SlimeYellow]:y0,[ox.HammerMole]:M0,[ox.MoleSoldier1]:C0,[ox.MoleSoldier2]:A0,[ox.DarkHermit]:k0,[ox.Crab]:I0,[ox.StarFish]:N0,[ox.Unicorn1]:R0,[ox.IceWolf]:L0,[ox.GoldGoblin]:B0,[ox.AdsGoblin]:F0,[ox.DeathKnight1]:K0,[ox.Golem1]:q0,[ox.GreatMage1]:Y0,[ox.Ant1]:Q0,[ox.WolfWarrior1]:t1,[ox.Artillery1]:s1,[ox.SSlime1]:a1,[ox.SSlime2]:l1,[ox.SSlime3]:d1,[ox.Pilot1]:m1,[ox.Spider1]:M1,[ox.Spider2]:A1,[ox.Boar1]:y1,[ox.Boar2]:v1,[ox.RoboBomb1]:k1,[ox.RoboBomb2]:C1,[ox.Frog1]:I1,[ox.Frog2]:N1,[ox.Castle0]:s2,[ox.Castle1]:t2,[ox.Castle2]:Q1,[ox.ScorpionKing]:y2,[ox.HarpyKing]:M2,[ox.GolemKing]:A2}
+ [ox.NWolf]:NZ,[ox.BlackMage1]:$Z,[ox.SkeletonX1]:t0,[ox.SkeletonMan1]:qZ,[ox.SkeletonMan2]:YZ,[ox.SkeletonWarrior1]:QZ,[ox.GreatHammer1]:KZ,[ox.Ghost1]:d0,[ox.DarkMage1]:r0,[ox.DarkArcher1]:p0,[ox.Bomber1]:v1,[ox.DeathHand1]:y1,[ox.DarkNinja1]:Q1,[ox.Succubus1]:l2,[ox.Abyss1]:v2,[ox.CrowKnight1]:I2,[ox.FootMan1]:MZ,[ox.Gunner1]:AZ,[ox.HeavyWarrior1]:kZ,[ox.HammerKnight1]:TZ,[ox.HorseKnight1]:IZ,[ox.FireBird1]:yZ,[ox.Priest1]:a0,[ox.GriffinRider1]:t2,[ox.SteamPunk1]:n2,[ox.WingKnight1]:s2,[ox.Aladin1]:A2,[ox.ElfArcher1]:s0,[ox.HighArcher1]:mZ,[ox.ElfWarrior1]:pZ,[ox.ElfSwordMan1]:dZ,[ox.PoisonArcher1]:vZ,[ox.GreenEagle1]:nZ,[ox.WindMage1]:n0,[ox.Fairy1]:l0,[ox.Druid1]:r2,[ox.Druid2]:T2,[ox.TigerRider1]:a2,[ox.Sylphid1]:y2,[ox.OrcFighter1]:RZ,[ox.OrcHunter1]:BZ,[ox.OrcIceMage1]:FZ,[ox.OrcWing1]:m0,[ox.OrcHammer1]:LZ,[ox.OrcAxe1]:v0,[ox.OrcSpearMan1]:WZ,[ox.BigDrumer1]:y0,[ox.OrcWolfRider1]:M0,[ox.OrcBigFoot1]:s1,[ox.OrcBlizzardMage1]:n1,[ox.OrcIcePhantom1]:k1,[ox.OrcRapterRider1]:q1,[ox.WyvernRider1]:Y1,[ox.BladeMaster1]:k2,[ox.ElfTown5]:aZ,[ox.OrcFlower]:lZ,[ox.FlowerSoldier1]:T0,[ox.FlowerSoldier2]:A0,[ox.KingSlime]:k0,[ox.SlimeBlue]:I0,[ox.SlimeRed]:N0,[ox.SlimeYellow]:R0,[ox.HammerMole]:L0,[ox.MoleSoldier1]:F0,[ox.MoleSoldier2]:B0,[ox.DarkHermit]:W0,[ox.Crab]:$0,[ox.StarFish]:K0,[ox.Unicorn1]:q0,[ox.IceWolf]:Y0,[ox.GoldGoblin]:Q0,[ox.AdsGoblin]:t1,[ox.DeathKnight1]:r1,[ox.Golem1]:a1,[ox.GreatMage1]:l1,[ox.Ant1]:d1,[ox.WolfWarrior1]:p1,[ox.Artillery1]:m1,[ox.SSlime1]:M1,[ox.SSlime2]:A1,[ox.SSlime3]:T1,[ox.Pilot1]:I1,[ox.Spider1]:L1,[ox.Spider2]:B1,[ox.Boar1]:R1,[ox.Boar2]:N1,[ox.RoboBomb1]:W1,[ox.RoboBomb2]:F1,[ox.Frog1]:$1,[ox.Frog2]:K1,[ox.Castle0]:m2,[ox.Castle1]:p2,[ox.Castle2]:d2,[ox.ScorpionKing]:R2,[ox.HarpyKing]:L2,[ox.GolemKing]:F2,[ox.BerialKing]:W2,[ox.DragonKnight]:$2}
ShopPaySubView 1 hunks, 1 statements
- this.updateRedGem(),await N2.getInstance().getProducts(0),this.switchTab(this.activeIndex),this.updateLanguage(),this.setDataCallback&&(this.setDataCallback(),this.setDataCallback=null)}
+ this.updateRedGem(),await Q2.getInstance().getProducts(1),this.switchTab(this.activeIndex),this.updateLanguage(),this.setDataCallback&&(this.setDataCallback(),this.setDataCallback=null)}
CorpCameraController 1 hunks, 1 statements
+ if(this.opt.onFieldDown&&this.opt.onFieldDown(t.global.x,t.global.y))return;
HeroItemRenderer 1 hunks, 1 statements
- ]),zt(X7,"POPUP_MIN_HEIGHT",950),zt(X7,"POPUP_GUILD_MIN_HEIGHT",1080),zt(X7,"TRANS_TAB_MIN_WAVE",300);
+ ]),zt(Q9,"TRANS_TAB_MIN_WAVE",300);
DungeonCoreBuffPopup 1 hunks, 1 statements
- const t=KN.getInstance().treasure.getGameplayBuff(xN.Core),i=Ix.getInstance().getTotal(kx.Core),s=KN.getInstance().pet.getGameplayBuff(xN.Core),e=t+i+s;
+ const t=KN.getInstance().treasure.getGameplayBuff(xN.Core),i=Ix.getInstance().getTotal(kx.Core)+ON.getFinnyCoreContribution(),s=KN.getInstance().pet.getGameplayBuff(xN.Core),e=t+i+s;
FavoritePetSubView 1 hunks, 1 statements
- const t=[...lL.getInstance().favoritePets].sort((t,i)=>{
+ const t=[...pL.getInstance().favoritePets].sort((t,i)=>{
MineRewardPopup 1 hunks, 1 statements
- let Zit=Qit;
+ let set=iet;
MinePopup 1 hunks, 1 statements
- Zit.getInstance().show()}
+ set.getInstance().show()}
RightBottomMenus 1 hunks, 1 statements
- bossKindNum:100002}
+ bossKindNum:100004}
HonorShopSubMenu 1 hunks, 1 statements
- let get=pet;
+ let bnt=vnt;
HonorShopItemRenderer 1 hunks, 1 statements
- e&&get.getInstance().showResult(e,i,s),knt.getInstance().setData(),wet.getInstance().setData(),this.setRequestPending(!1),tV.getInstance().getStatus()}
+ e&&bnt.getInstance().showResult(e,i,s),xht.getInstance().setData(),_nt.getInstance().setData(),this.setRequestPending(!1),nV.getInstance().getStatus()}
Sr 1 hunks, 1 statements
- ...t,...Jut(i)}
+ ...t,...tft(i)}
Ma 1 hunks, 1 statements
- ...amt,coercer:Kt((t,i)=>ygt(t,cmt)?amt.coercer(lmt(t,i),i):amt.coercer(t,i),"coercer")}
+ ...uwt,coercer:Kt((t,i)=>Emt(t,dwt)?uwt.coercer(fwt(t,i),i):uwt.coercer(t,i),"coercer")}
El 1 hunks, 1 statements
- ...lt._defaultState}
+ ...dt._defaultState}
Yp 1 hunks, 1 statements
- const e=126,n=[71,73,70,56,55,97,...i,246,0,0,255,255,255,...$Et(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,...zAt(381,0),44,0,0,0,0,...i,0,7],h=Math.floor(s.length/e);
SuiStandardProvider 1 hunks, 1 statements
- namespace:iNt.NameSpaceKeyEip155,addresses:i,methods:[...nNt.Eip55Methods],extra:s}
+ namespace:nPt.NameSpaceKeyEip155,addresses:i,methods:[...oPt.Eip55Methods],extra:s}
AppReadyEvent 1 hunks, 1 statements
- return CPt||(CPt=[...yPt]),CPt}
+ return ORt||(ORt=[...ERt]),ORt}
SolProvider 1 hunks, 1 statements
- namespace:xDt.NameSpaceKeySOL,addresses:i,methods:[...DDt.SOLANAMethods],extra:s}
+ namespace:RLt.NameSpaceKeySOL,addresses:i,methods:[...BLt.SOLANAMethods],extra:s}
OkxwalletInjectConnector 1 hunks, 1 statements
- namespace:cLt.NameSpaceKeyBtc,addresses:i,methods:[...uLt.BtcMethods],extra:s}
+ namespace:dGt.NameSpaceKeyBtc,addresses:i,methods:[...pGt.BtcMethods],extra:s}
TcRootElement 1 hunks, 1 statements
- return hzt()||(t.push(new _At.OKXAppConnector),t.push(new _At.OKXWalletAppConnector)),ezt()&&t.push(new _At.OkxwalletInjectConnector),t.push(...ozt()),t}
+ return aqt()||(t.push(new ASt.OKXAppConnector),t.push(new ASt.OKXWalletAppConnector)),rqt()&&t.push(new ASt.OkxwalletInjectConnector),t.push(...lqt()),t}
WalletSelectPopup 1 hunks, 1 statements
- ...nD.ERROR_POPUP_LABEL_OPTION,fontSize:18}
+ ...aD.ERROR_POPUP_LABEL_OPTION,fontSize:18}
MailDetailPopup 1 hunks, 1 statements
- this.currentMail.receivedAt=new Date,wL.setData(i.body),f3.getInstance().setData(i.body),RG.getInstance().setStatusData(null==(t=i.body)?void 0:t.mineStatus),lS.getInstance().dispatchCustomEvent("MailUpdate"),"inventory"in i.body&&(pV.getInstance().showMessage(yG.getText("GAME_819","보석, 명예코인, 영웅을 제외한 아이템은 인벤토리로 지급되었습니다."),120),L4.getInstance().isInventoryPopup()&&h1t.getInstance().refresh());
+ this.currentMail.receivedAt=new Date,_L.setData(i.body),Y6.getInstance().setData(i.body),BG.getInstance().setStatusData(null==(t=i.body)?void 0:t.mineStatus),Z6.getInstance().setData(i.body.transTicket),lS.getInstance().dispatchCustomEvent("MailUpdate"),"inventory"in i.body&&(vV.getInstance().showMessage(AG.getText("GAME_819","보석, 명예코인, 영웅을 제외한 아이템은 인벤토리로 지급되었습니다."),120),E8.getInstance().isInventoryPopup()&&a2t.getInstance().refresh());
PassMainPopup 1 hunks, 1 statements
- this.setTitle(yG.getText("GAME_309","패스보상")),this.updateGem(),this.updateHonorCoin(),0==N2.getInstance().getAll().length&&await N2.getInstance().getProducts(1),this.updateNavigator(),this.setPassStatus(!0),await this.updateList(),this.updateLayout(),await this.banner.update("Popup_Banner_04")}
+ this.setTitle(AG.getText("GAME_309","패스보상")),this.updateGem(),this.updateHonorCoin(),await Q2.getInstance().getProducts(2),this.updateNavigator(),this.setPassStatus(!0),await this.updateList(),this.updateLayout(),await this.banner.update("Popup_Banner_04")}
GuildMainSubView 1 hunks, 1 statements
- const i=[...bD.guildList].sort((t,i)=>{
+ const i=[...ED.guildList].sort((t,i)=>{
GuildMemberSubView 1 hunks, 1 statements
- i.success?(t.wave=i.body.member.wave,t.team=i.body.member.team,A3t.getInstance().setData(t,!1),A3t.getInstance().show()):"NOT_IN_GUILD"===i.error?dG.getInstance().show(yG.getText("UI_TEXT_756","길드에 없는 플레이어입니다.")):dG.getInstance().show(i.error)}
+ i.success?(t.wave=i.body.member.wave,t.team=i.body.member.team,t.uid=i.body.member.uid,C6t.getInstance().setData(t,!1),C6t.getInstance().show()):"NOT_IN_GUILD"===i.error?mG.getInstance().show(AG.getText("UI_TEXT_756","길드에 없는 플레이어입니다.")):mG.getInstance().show(i.error)}
GuildWarHistoryItemRenderer 1 hunks, 1 statements
- ...nD.DEFAULT_OUTLINE_FONT_OPTION_16,fontSize:i}
+ ...aD.DEFAULT_OUTLINE_FONT_OPTION_16,fontSize:i}
TutorialController 1 hunks, 1 statements
- await $A.saveTutorialID(String(t.TUTORIAL_INDEX_WAVE3)),this.savedIndex=t.TUTORIAL_INDEX_WAVE3,this.enableMissionGuide=!0,GV.getInstance().init()}
+ await $A.saveTutorialID(String(t.TUTORIAL_INDEX_WAVE3)),this.savedIndex=t.TUTORIAL_INDEX_WAVE3,this.enableMissionGuide=!0,HV.getInstance().init(),m6.getInstance().doAccountCreate()}
SecretaryGuidePopup 1 hunks, 1 statements
- await N2.getInstance().getProducts(1,!1);
+ await Q2.getInstance().getProducts(3,!1);
GameOverPopup 1 hunks, 1 statements
-  )`,this.lblMessage2.text=yG.getText("GAME_38","환생하면, 훈장을 받고, 처음으로 돌아갑니다.")+"\n"+yG.getText("GAME_39","골드와 병사레벨은 초기화 됩니다."),this.btnRebirth.text=yG.getText("GAME_5","환생"),this.btnRebirthBonus.text=`${
+  )`,this.lblMessage2.text=AG.getText("GAME_38","환생 시, 훈장을 받고 첫 웨이브로 돌아갑니다.")+"\n"+AG.getText("GAME_39","골드로 진행한 성장(성/영웅/퀘스트)은 초기화됩니다."),this.btnRebirth.text=AG.getText("GAME_5","환생"),this.btnRebirthBonus.text=`${
BattleController 1 hunks, 1 statements
- this.skippedWave>0&&!this.shownDialogueWaves.has(this.skippedWave)&&(t.push(...E7t.getInstance().getByWave(this.skippedWave)),this.shownDialogueWaves.add(this.skippedWave)),this.shownDialogueWaves.has(wL.wave)||(t.push(...E7t.getInstance().getByWave(wL.wave)),this.shownDialogueWaves.add(wL.wave)),t.length>0&&b7t.getInstance().showDialogues(t)}
+ this.skippedWave>0&&!this.shownDialogueWaves.has(this.skippedWave)&&(t.push(...s3.getInstance().getByWave(this.skippedWave)),this.shownDialogueWaves.add(this.skippedWave)),this.shownDialogueWaves.has(_L.wave)||(t.push(...s3.getInstance().getByWave(_L.wave)),this.shownDialogueWaves.add(_L.wave)),t.length>0&&M9t.getInstance().showDialogues(t)}
GuildWarCombatLogItemRenderer 1 hunks, 1 statements
- ...nD.DEFAULT_FONT_OPTION_15,fontSize:14}
+ ...aD.DEFAULT_FONT_OPTION_15,fontSize:14}
GuildWarMemberStatusItemRenderer 1 hunks, 1 statements
- ...nD.DEFAULT_FONT_OPTION_15,fontSize:14}
+ ...aD.DEFAULT_FONT_OPTION_15,fontSize:14}
GuildWarTargetMarkerItemRenderer 1 hunks, 1 statements
- ...nD.DEFAULT_FONT_OPTION_15,fontSize:14}
+ ...aD.DEFAULT_FONT_OPTION_15,fontSize:14}
Delay 1 hunks, 1 statements
- ...Uui(),[i]:s}
+ ...vdi(),[i]:s}
NetworkTimeout 1 hunks, 1 statements
- ...cdi,...i}
+ ...Wdi,...i}
RecaptchaVerifier 1 hunks, 1 statements
- ...$mi}
+ ...Ewi}
BrowserPopupRedirectResolver 1 hunks, 1 statements
- ...qwi,width:e.toString(),height:n.toString(),top:h,left:r}
+ ...Cvi,width:e.toString(),height:n.toString(),top:h,left:r}