EF2 Changelog

Builds / 1.13.66

Update 1.13.66

Compared with 1.13.46 · published Wed, 12 Aug 2026 02:33:14 GMT · live channel

No summary yet.

Text changes 129

KeyText
UNIT_NAME_97 + Aladdin
UNIT_NAME_98 + Druid
UNIT_NAME_99 + Succubus
UNIT_NAME_100 + Blade Master
UNIT_NAME_101 + AladdinⅡ
UNIT_NAME_102 + DruidⅡ
UNIT_NAME_103 + SuccubusⅡ
UNIT_NAME_104 + Blade MasterⅡ
UNIT_NATK_97 + Throws gold coins at the 3 nearest enemies, causing a small explosion at each point of impact. Merchant's Eye: If still present after a Golden Goblin appears, throws gold coins to hunt it instead.
UNIT_NATK_98 + Fires wind drills in two different directions. When a drill hits an enemy, it splits into two smaller drills that burrow into nearby enemies in succession. Twin Eagles: Two eagles stay by the hero's side and charge at airborne enemies to attack them.
UNIT_NATK_99 + Launches a demonic sword through the air to attack an enemy and slightly knock them back.
UNIT_NATK_100 + Slashes in a circle around the hero, hitting up to 3 enemies at once, and performs 3 consecutive swings per attack. Pursuit: When an enemy is defeated, immediately teleports to the next enemy and gains increased Movement Speed and Attack Speed.
UNIT_NATK_101 + Throws gold coins at the 3 nearest enemies, causing a small explosion at each point of impact. Merchant's Eye: If still present after a Golden Goblin appears, throws gold coins to hunt it instead.
UNIT_NATK_102 + Fires wind drills in two different directions. When a drill hits an enemy, it splits into two smaller drills that burrow into nearby enemies in succession. Twin Eagles: Two eagles stay by the hero's side and charge at airborne enemies to attack them.
UNIT_NATK_103 + Launches a demonic sword through the air to attack an enemy and slightly knock them back.
UNIT_NATK_104 + Slashes in a circle around the hero, hitting up to 3 enemies at once, and performs 3 consecutive swings per attack. Pursuit: When an enemy is defeated, immediately teleports to the next enemy and gains increased Movement Speed and Attack Speed.
UNIT_SATK_97 + Throws the Genie's boomerang toward the direction with the most enemies. The boomerang pierces through enemies and leaves a trail that deals continuous damage.
UNIT_SATK_98 + Extends vines in all directions. Enemies touched by the vines are briefly rooted and take continuous damage, while enemies that step on the vines left on the ground are also trapped.
UNIT_SATK_99 + Scatters hearts to charm male enemies, preventing them from moving for a short time. At the same time, grants Frenzy to male allies, increasing their Movement Speed and Attack Speed.
UNIT_SATK_100 + Slashes enemies within range and unleashes spinning sword waves in all directions. Then teleports from one enemy to the next, starting with the nearest, and strikes them in rapid succession.
UNIT_SATK_101 + Throws the Genie's boomerang toward the direction with the most enemies. The boomerang pierces through enemies and leaves a trail that deals continuous damage.
UNIT_SATK_102 + Extends vines in all directions. Enemies touched by the vines are briefly rooted and take continuous damage, while enemies that step on the vines left on the ground are also trapped.
UNIT_SATK_103 + Scatters hearts to charm male enemies, preventing them from moving for a short time. At the same time, grants Frenzy to male allies, increasing their Movement Speed and Attack Speed.
UNIT_SATK_104 + Slashes enemies within range and unleashes spinning sword waves in all directions. Then teleports from one enemy to the next, starting with the nearest, and strikes them in rapid succession.
HERO_UNIQUE_SKILL_NAME_76 + Human Secret Art Buff
HERO_UNIQUE_SKILL_NAME_77 + Human Secret Art Buff
HERO_UNIQUE_SKILL_NAME_78 + Human Secret Art Buff
HERO_UNIQUE_SKILL_NAME_79 + Human Secret Art Buff
HERO_UNIQUE_SKILL_NAME_80 + Human Secret Art Buff
HERO_UNIQUE_SKILL_NAME_81 + Life Pact
HERO_UNIQUE_SKILL_NAME_82 + Life Pact
HERO_UNIQUE_SKILL_NAME_83 + Life Pact
HERO_UNIQUE_SKILL_NAME_84 + Life Pact
HERO_UNIQUE_SKILL_NAME_85 + Life Pact
HERO_UNIQUE_SKILL_NAME_86 + Wild Pact
HERO_UNIQUE_SKILL_NAME_87 + Wild Pact
HERO_UNIQUE_SKILL_NAME_88 + Wild Pact
HERO_UNIQUE_SKILL_NAME_89 + Wild Pact
HERO_UNIQUE_SKILL_NAME_90 + Wild Pact
HERO_UNIQUE_SKILL_NAME_91 + Call of Twilight
HERO_UNIQUE_SKILL_NAME_92 + Call of Twilight
HERO_UNIQUE_SKILL_NAME_93 + Call of Twilight
HERO_UNIQUE_SKILL_NAME_94 + Call of Twilight
HERO_UNIQUE_SKILL_NAME_95 + Call of Twilight
HERO_UNIQUE_SKILL_DESC_76 + Each time Human Secret Art activates, Gold Gain increases by 25%. (Stacks)
HERO_UNIQUE_SKILL_DESC_77 + Each time Human Secret Art activates, Gold Gain increases by 50%. (Stacks)
HERO_UNIQUE_SKILL_DESC_78 + Each time Human Secret Art activates, Gold Gain increases by 100%. (Stacks)
HERO_UNIQUE_SKILL_DESC_79 + Each time Human Secret Art activates, Gold Gain increases by 200%. (Stacks)
HERO_UNIQUE_SKILL_DESC_80 + Each time Human Secret Art activates, Gold Gain increases by 300%. (Stacks)
HERO_UNIQUE_SKILL_DESC_81 + Increases the level of Human and Elf Heroes by 5.
HERO_UNIQUE_SKILL_DESC_82 + Increases the level of Human and Elf Heroes by 10.
HERO_UNIQUE_SKILL_DESC_83 + Increases the level of Human and Elf Heroes by 15.
HERO_UNIQUE_SKILL_DESC_84 + Increases the level of Human and Elf Heroes by 20.
HERO_UNIQUE_SKILL_DESC_85 + Increases the level of Human and Elf Heroes by 30.
HERO_UNIQUE_SKILL_DESC_86 + Increases the level of Orc and Undead Heroes by 5.
HERO_UNIQUE_SKILL_DESC_87 + Increases the level of Orc and Undead Heroes by 10.
HERO_UNIQUE_SKILL_DESC_88 + Increases the level of Orc and Undead Heroes by 15.
HERO_UNIQUE_SKILL_DESC_89 + Increases the level of Orc and Undead Heroes by 20.
HERO_UNIQUE_SKILL_DESC_90 + Increases the level of Orc and Undead Heroes by 30.
HERO_UNIQUE_SKILL_DESC_91 + Call of Twilight charges 1% faster. (Stacks)
HERO_UNIQUE_SKILL_DESC_92 + Call of Twilight charges 2% faster. (Stacks)
HERO_UNIQUE_SKILL_DESC_93 + Call of Twilight charges 3% faster. (Stacks)
HERO_UNIQUE_SKILL_DESC_94 + Call of Twilight charges 4% faster. (Stacks)
HERO_UNIQUE_SKILL_DESC_95 + Call of Twilight charges 5% faster. (Stacks)
ROULETTE_1 + Roulette
ROULETTE_2 + Date
ROULETTE_3 + You can spin the roulette up to 3 times per day.
ROULETTE_4 + The first spin is free, while the 2nd and 3rd spins require Honor Coins.
ROULETTE_5 + The rewards you win will be sent to your mailbox.
ROULETTE_6 + Each reward can be won only once per day.
ROULETTE_7 + The reward has been sent to your mailbox.
ROULETTE_8 + Do you want to play roulette again?
ROULETTE_9 + Do you want to play roulette one last time?
ROULETTE_10 + Honor Coin Required
ROULETTE_11 + The Roulette Wheel will be loaded again after 24:00 UTC.
GAME_1553 + Wave Call is a skill that speeds up game progression by summoning all enemies from the next wave at once.
GAME_1554 + Details
GAME_1555 + 1. The Wave Call gauge charges every 100 seconds. Once fully charged, Wave Call can be used.
GAME_1556 + 2. Increasing the [Wave Call] level at the Temple increases the maximum number of calls.
GAME_1557 + 3. Heroes' unique skills can increase the charging speed.
GAME_1558 + Current Buff Status
GAME_1559 + Maximum Charges: ##
GAME_1560 + Time per Charge: ## sec. (Charge Speed +@@%)
GAME_1561 + Chance to advance 2 floors at once: ##% chance for +1 floor
GAME_1562 + Wave Call Heroes
GAME_1563 + Heroes that Increase Charge Speed
GAME_1564 + Heroes that Increase Floors Advanced per Call (Double Wave Call)
GAME_1565 + Call of Twilight
GAME_1566 + Call of Twilight is a skill that turns day into night, skipping the daytime and transitioning directly to night waves.
GAME_1567 + 1. Call of Twilight charges every ## seconds. Once fully charged, it can be used.
GAME_1568 + 2. Heroes' unique skills can increase the charging speed.
GAME_1569 + Call of Twilight Heroes
GAME_1570 + Call of Twilight has turned day into night.
GAME_1571 + Call of Twilight cannot be used at night.
GAME_1572 + Night will begin soon.
GAME_1573 + View Details
GAME_1574 + View Details
GAME_1575 + Offline Progress Waves
GAME_1576 + (Max. ##%)
GAME_1577 + Offline Progress Speed
GAME_1578 + (Base: 1 Wave)
GAME_1579 + Castle Level / (Base: ##)
GAME_1580 + Vault
GAME_1581 + Increases the number of Gold Chests and the amount of Gold earned.
GAME_1582 + Max. Gold Chests
GAME_1583 + (Bonus: +##)
GAME_1584 + Gold Gain Buff
GAME_1585 + Vault Managers
GAME_1586 + Manager Heroes are automatically registered when owned.
GAME_1587 + 5★ grants 4 points, 6★ grants 8 points, and each Transcendence adds +4 points.
GAME_1588 + Each point increases Gold gained from Gold Chests, Gem Gold purchases, and Golden Goblins by 10%.
GAME_1589 + Every 20 points increases the Gold Chest limit by 1 slot.
GAME_1590 + ## Waves
GAME_1591 + Wave Buff
GAME_1592 + Speed Buff
GAME_1593 + Level Buff
GAME_1594 + ## Slots
GAME_1595 + Auto Open
GAME_1596 + Not Used
GAME_1597 + Closes daily at 23:50 (UTC) · Opens at 00:00 (UTC)
GAME_1598 + Auto Open is turned off.
GAME_1599 + The Guild Master or Vice Guild Master must open it manually.
GAME_1600 + Rank ##
GAME_1601 + Stage ##
GAME_1602 + Opens at 00:00 (UTC): ##
GAME_1603 + Same Raid → When Rank 1 ends, Rank 2 opens next.
GAME_1604 + Different Raids → They open at the same time.
GAME_1605 + # Opened Raids close at 23:50 (UTC) on the same day.
GAME_1420 ~ # The Guild Master and Vice Guild Master can open a raid.# Raids open automatically according to the priority you set. (The Guild Master or Vice Guild Master can also open them manually.)

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

Assets 4

FileChangeSizePreview
assets/ekkorr/UI_Ekkorr.json changed 190.5 KB → 191.9 KB

New sprites: Citadel4, aladin, callOfDawn, callOfDawnDisabled, callOfDawnOff, callOfDawnOn, smallSetting

assets/ekkorr/UI_Ekkorr.ktx2 changed 2,043.6 KB → 2,113.0 KB
assets/images/UI_PET.json changed 37.8 KB → 38.2 KB

New sprites: UI_PET27, UI_PET28

assets/images/UI_PET.ktx2 changed 628.6 KB → 608.3 KB

Code 473 changes in 138 classes

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

CardGamePopup 31 hunks, 417 statements
- i.slotIndex=n,i.x=e+n*(s+6),i.y=t.JOKER_Y,this.jokerSlots.push(i),this.addChild(i)}
- this.playZoneBg=new Lf,this.addChild(this.playZoneBg);
+ i.slotIndex=t,i.pivot.set(.5*Hpi.COMPACT_WIDTH,.5*Hpi.COMPACT_HEIGHT),this.jokerSlots.push(i),this.gameLayer.addChild(i)}
+ for(let t=0;
+ t<3;
+ t++){
+ const i=new sgi;
+ i.cellIndex=t,i.onTap=this.onConsumableTap.bind(this),this.consumableCells.push(i),this.gameLayer.addChild(i)}
+ this.btnInfo=new oG(DG.getText("","ⓘ")),this.btnInfo.width=64,this.btnInfo.onClick=this.onInfoClick.bind(this),this.gameLayer.addChild(this.btnInfo),this.deckBack=new Bf,this.deckBack.roundRect(0,0,58,78,6).fill({
+ color:2901096}
+ ).stroke({
+ color:8032952,width:2}
+ ),this.gameLayer.addChild(this.deckBack),this.lblDeck=new hL("",wD.DEFAULT_COLOR,wD.DEFAULT_FONT_OPTION_15),this.gameLayer.addChild(this.lblDeck),this.panelBg=new Bf,this.gameLayer.addChild(this.panelBg),this.lblHandName=new hL("",16771488,wD.DEFAULT_OUTLINE_FONT_OPTION_24),this.lblHandName.textColor=16771488,this.gameLayer.addChild(this.lblHandName),this.powerBox=new Bf,this.gameLayer.addChild(this.powerBox),this.buffBox=new Bf,this.gameLayer.addChild(this.buffBox),this.lblCalcX=new hL("×",wD.DEFAULT_COLOR,wD.DEFAULT_OUTLINE_FONT_OPTION_24),this.gameLayer.addChild(this.lblCalcX),this.powerCount=new $pi(16777215),this.gameLayer.addChild(this.powerCount),this.buffCount=new $pi(16777215),this.gameLayer.addChild(this.buffCount),this.playZoneBg=new Bf,this.gameLayer.addChild(this.playZoneBg);
- i.setDisplayScale(t.PLAYED_SCALE),i.eventMode="none",i.visible=!1,this.playedCards.push(i),this.addChild(i)}
- this.lblHandName=new iL("",16771488,fD.DEFAULT_OUTLINE_FONT_OPTION_24),this.lblHandName.textColor=16771488,this.lblHandName.visible=!1,this.addChild(this.lblHandName),this.lblPowerLine=new iL("",fD.DEFAULT_COLOR,fD.DEFAULT_OUTLINE_FONT_OPTION_18),this.lblPowerLine.visible=!1,this.addChild(this.lblPowerLine),this.moraleCount=new Kfi(16747883),this.moraleCount.visible=!1,this.addChild(this.moraleCount),this.totalCount=new Kfi(16767332),this.totalCount.visible=!1,this.addChild(this.totalCount),this.lblPreview=new iL("",fD.DEFAULT_COLOR,fD.DEFAULT_FONT_OPTION_16),this.addChild(this.lblPreview),this.handFan=new Bfi,this.handFan.onSelectionChange=this.onSelectionChange.bind(this),this.addChild(this.handFan),this.btnDiscard=new eG(xG.getText("","버리기")),this.btnDiscard.width=285,this.btnDiscard.onClick=this.onDiscardClick.bind(this),this.addChild(this.btnDiscard),this.btnSubmit=new eG(xG.getText("","출격")),this.btnSubmit.width=285,this.btnSubmit.onClick=this.onSubmitClick.bind(this),this.addChild(this.btnSubmit),this.updateLayout()}
+ i.setDisplayScale(t.PLAYED_SCALE),i.pivot.set(.5*Epi.CARD_WIDTH,.5*Epi.CARD_HEIGHT),i.eventMode="none",i.visible=!1,this.playedCards.push(i),this.gameLayer.addChild(i)}
+ this.totalCount=new $pi(16767332),this.totalCount.visible=!1,this.gameLayer.addChild(this.totalCount);
+ for(let t=0;
+ t<4;
+ t++){
+ const t=new hL("",16777215,wD.DEFAULT_OUTLINE_FONT_OPTION_24);
+ t.visible=!1,this.floatLabels.push(t),this.gameLayer.addChild(t)}
+ this.gameLayer.addChild(this.deckBack),this.gameLayer.addChild(this.lblDeck),this.handFan=new Dpi,this.handFan.onSelectionChange=this.onSelectionChange.bind(this),this.gameLayer.addChild(this.handFan),this.btnSubmit=new oG(DG.getText("","전투")),this.btnSubmit.width=230,this.btnSubmit.onClick=this.onSubmitClick.bind(this),this.gameLayer.addChild(this.btnSubmit),this.btnSort=new oG(DG.getText("","정렬:랭크")),this.btnSort.width=130,this.btnSort.onClick=this.onSortClick.bind(this),this.gameLayer.addChild(this.btnSort),this.btnDiscard=new oG(DG.getText("","해고")),this.btnDiscard.width=230,this.btnDiscard.onClick=this.onDiscardClick.bind(this),this.gameLayer.addChild(this.btnDiscard),this.shopView=new qpi,this.shopView.visible=!1,this.shopView.onBuy=this.onShopBuy.bind(this),this.shopView.onPetTap=this.onShopPetSell.bind(this),this.shopView.onReroll=this.onShopReroll.bind(this),this.shopView.onNext=this.onShopNext.bind(this),this.addChild(this.shopView),this.btnClose.x=640-this.btnClose.width-8,this.btnClose.y=4,this.addChild(this.btnClose)}
- return Math.max(900,Math.floor(.8*VA.safeHeight))}
+ return zA.safeHeight}
- const i=t.TOP_Y+52;
- this.gaugeBg.clear(),this.gaugeBg.roundRect(25,i,590,30,15).fill({
+ const i=zZt.getInstance().run;
+ if(!i)return;
+ const s=2===i.stage;
+ this.lblGold.x=615-this.lblGold.width,this.btnSkip.x=this.lblGold.x-this.btnSkip.width-14,this.btnSkip.y=t.TOP_Y-6,this.btnInfo.x=(this.btnSkip.visible?this.btnSkip.x:this.lblGold.x)-this.btnInfo.width-12,this.btnInfo.y=t.TOP_Y-6;
+ let e=t.TOP_Y+44;
+ this.bossBanner.visible=s&&null!==i.bossGimmickId,this.lblBoss.visible=this.bossBanner.visible,this.bossBanner.visible&&(this.bossBanner.clear(),this.bossBanner.roundRect(25,e,590,40,8).fill({
+ color:4003602}
+ ).stroke({
+ color:9061428,width:2}
+ ),this.lblBoss.x=40,this.lblBoss.y=e+8,e+=48),this.lblCounts.y=e,this.lblTarget.x=615-this.lblTarget.width,this.lblTarget.y=e,e+=26,this.gaugeBg.clear(),this.gaugeBg.roundRect(25,e,590,30,15).fill({
- color:6836030,width:2}
- ),this.lblGauge.y=i+6,this.lblTarget.x=615-this.lblTarget.width;
+ color:s?9061428:6836030,width:2}
+ ),this.gaugeY=e,this.redrawGauge(i),this.lblGauge.y=e+6,this.lblGauge.x=.5*(640-this.lblGauge.width),e+=40;
+ const n=e;
+ this.panelBg.clear(),this.panelBg.roundRect(25,n,590,56,10).fill({
+ color:2037520}
+ ).stroke({
+ color:4864808,width:2}
+ ),this.lblHandName.x=40,this.lblHandName.y=n+12;
+ this.powerBox.clear(),this.powerBox.roundRect(350,n+8,110,40,8).fill({
+ color:3042982}
+ ),this.buffBox.clear(),this.buffBox.roundRect(490,n+8,110,40,8).fill({
+ color:12731695}
+ ),this.lblCalcX.x=468,this.lblCalcX.y=n+12,this.powerCount.x=405,this.powerCount.y=n+8+20,this.buffCount.x=545,this.buffCount.y=n+8+20,e+=64;
+ const h=UZt(i.lordId,i.vouchers,s?i.bossGimmickId:null),r=Math.min(this.jokerSlots.length,h.petSlots),o=Math.min(this.consumableCells.length,h.consumableSlots),a=o*sgi.W+6*(o-1),c=590-a-14;
+ this.petScale=Math.min(1,c/(r*Hpi.COMPACT_WIDTH+6*(r-1)));
+ const l=Hpi.COMPACT_WIDTH*this.petScale,u=Hpi.COMPACT_HEIGHT*this.petScale,d=Math.max(u,sgi.H);
+ for(let t=0;
+ t<this.jokerSlots.length;
+ t++){
+ const i=this.jokerSlots[t];
+ i.visible=t<r,i.scale.set(this.petScale),i.x=25+t*(l+6)+.5*l,i.y=e+.5*d}
+ const f=615-a;
+ for(let t=0;
+ t<this.consumableCells.length;
+ t++){
+ const i=this.consumableCells[t];
+ i.visible=t<o,i.x=f+t*(sgi.W+6),i.y=e+.5*(d-sgi.H)}
+ e+=d+8;
- this.btnDiscard.x=25,this.btnDiscard.y=s,this.btnSubmit.x=615-this.btnSubmit.width,this.btnSubmit.y=s;
+ this.btnSubmit.x=25,this.btnSubmit.y=p,this.btnSort.x=.5*(640-this.btnSort.width),this.btnSort.y=p,this.btnDiscard.x=615-this.btnDiscard.width,this.btnDiscard.y=p;
- const n=e-36;
- this.lblPreview.y=n;
- const h=n-8,r=Math.max(120,h-t.PLAY_TOP);
- this.playZoneBg.clear(),this.playZoneBg.roundRect(15,t.PLAY_TOP,610,r,12).fill({
+ const m=g-8,w=Math.max(110,m-e);
+ this.playZoneBg.clear(),this.playZoneBg.roundRect(15,e,610,w,12).fill({
- );
- const o=t.PLAY_TOP+.5*r;
- this.layoutPlayedFx(o,r)}
+ ),this.deckBack.x=555,this.deckBack.y=e+w-78-32,this.lblDeck.x=this.deckBack.x+.5*(58-this.lblDeck.width),this.lblDeck.y=this.deckBack.y+80,this.layoutPlayedFx(e,w)}
+ redrawGauge(t){
+ const i=this.gaugeOverrideScore??t.stageScore,s=Math.min(1,i/Math.max(1,t.targetScore));
+ this.gaugeFill.clear(),s>0&&this.gaugeFill.roundRect(27,this.gaugeY+2,586*s,26,13).fill({
+ color:2===t.stage?11029038:6134857}
+ ),this.lblGauge.text=`${
+ ZD.displayLargeNumberAsAlphabet(Math.floor(i))}
+  / ${
+ ZD.displayLargeNumberAsAlphabet(t.targetScore)}
+ `,this.lblGauge.x=.5*(640-this.lblGauge.width)}
+ animateGauge(t,i,s){
+ const e=performance.now(),n=zt(()=>{
+ const h=zZt.getInstance().run;
+ if(!h)return;
+ const r=Math.min(1,(performance.now()-e)/s),o=1-(1-r)*(1-r)*(1-r);
+ this.gaugeOverrideScore=t+(i-t)*o,this.redrawGauge(h),r<1&&null!==this.gaugeOverrideScore&&requestAnimationFrame(n)}
+ ,"tick");
+ requestAnimationFrame(n)}
+ spawnFloat(t,i,s,e){
+ const n=this.floatLabels[this.floatIdx];
+ if(!n)return;
+ this.floatIdx=(this.floatIdx+1)%this.floatLabels.length,n.text=s,n.textColor=e,n.visible=!0,n.alpha=1;
+ const h=i;
+ n.x=t-.5*n.width;
+ const r=performance.now(),o=zt(()=>{
+ const t=Math.min(1,(performance.now()-r)/700);
+ n.y=h-40*t,n.alpha=1-t*t,t<1&&n.visible?requestAnimationFrame(o):n.visible=!1}
+ ,"tick");
+ n.y=h,requestAnimationFrame(o)}
- const e=Lfi.CARD_HEIGHT*t.PLAYED_SCALE,n=i-.32*s,h=this.playedCards.filter(t=>t.visible),r=Lfi.CARD_WIDTH*t.PLAYED_SCALE;
- let o=.5*(640-(h.length*r+8*Math.max(0,h.length-1)));
- for(const t of h)t.x=o,t.y=n,o+=r+8;
- this.lblHandName.x=.5*(640-this.lblHandName.width),this.lblHandName.y=n+e+12,this.lblPowerLine.x=.5*(640-this.lblPowerLine.width),this.lblPowerLine.y=this.lblHandName.y+40,this.moraleCount.x=320+.5*this.lblPowerLine.width+46,this.moraleCount.y=this.lblPowerLine.y+14,this.totalCount.x=320,this.totalCount.y=this.lblPowerLine.y+64}
+ const e=this.playedCards.filter(t=>t.visible),n=Math.max(1,e.length),h=s-72,r=580-8*(n-1);
+ this.playedScale=Math.min(t.PLAYED_SCALE,h/Epi.CARD_HEIGHT,r/(n*Epi.CARD_WIDTH));
+ const o=Epi.CARD_WIDTH*this.playedScale,a=Epi.CARD_HEIGHT*this.playedScale,c=i+Math.max(8,.5*(s-a-52));
+ let l=.5*(640-(n*o+8*(n-1)));
+ for(const t of e)t.setDisplayScale(this.playedScale),t.x=l+.5*o,t.setBaseY(c+.5*a),l+=o+8;
+ this.totalCount.x=320,this.totalCount.y=c+a+40}
- super.show2(),this.requestPending=!1,this.clearPlayFx(),this.refreshFromRun()}
+ super.show2(),JB.getInstance().visible=!1,Qt(()=>Promise.resolve().then(()=>Doi),void 0).then(t=>{
+ tH.castleDestroyedProvider=()=>t.BattleController.getInstance().isCastleDestroyed()}
+ ),tH.getInstance().setMode(QF.CARD_EVENT),this.requestPending=!1,this.clearPlayFx(),this.refreshFromRun()}
+ restoreWorld(){
+ JB.getInstance().visible=!0,tH.castleDestroyedProvider=null,tH.getInstance().setMode(QF.NORMAL)}
+ hide(){
+ this.restoreWorld(),super.hide()}
+ var i;
- this.lblGate.text=`${
- xG.getText("","관문")}
+ const e="SHOP"===s.status||"PACK_PICK"===s.status;
+ if(this.gameLayer.visible=!e,this.shopView.visible=e,e)return this.shopView.setData(s,t.TOP_Y,this.bg.height-25),void("PACK_PICK"===s.status&&(null==(i=s.shop)?void 0:i.packPick)&&this.openPackPick());
+ const n=2===s.stage,h=UZt(s.lordId,s.vouchers,n?s.bossGimmickId:null);
+ if(this.lblChapter.text=`${
+ s.chapter}
+ /8${
+ DG.getText("","챕터")}
+  · ${
+ Spi[s.stage]}
+ `+(s.endless?` (${
+ DG.getText("","무한전투")}
+ )`:""),this.lblGold.text=`${
+ s.gold}
+  G`,this.btnSkip.visible="PLAYING"===s.status&&s.stage<2&&0===s.stageScore&&s.submitsLeft===h.submits&&s.discardsLeft===h.discards,n&&null!==s.bossGimmickId){
+ const t=jZt(s.bossGimmickId);
+ this.lblBoss.text=`${
+ t.name}
+  — ${
+ Tpi(s.bossGimmickId,s.bossGimmickSuit)}
+ `}
+ this.lblCounts.text=`${
+ DG.getText("","전투")}
- i.round}
+ s.submitsLeft}
+ /${
+ h.submits}
+  · ${
+ DG.getText("","해고")}
+  ${
+ s.discardsLeft}
+ /${
+ h.discards}
+  · ${
+ DG.getText("","누적")}
+  ${
+ ZD.displayLargeNumberAsAlphabet(s.totalScore)}
- `,this.lblCounts.text=`${
- xG.getText("","출격")}
-  ${
- i.submitsLeft}
- /4 · ${
- xG.getText("","버리기")}
-  ${
- i.discardsLeft}
- /3 · ${
- xG.getText("","누적")}
-  ${
- qD.displayLargeNumberAsAlphabet(i.totalScore)}
- const s=t.TOP_Y+52,e=Math.min(1,i.roundScore/Math.max(1,i.targetScore));
- this.gaugeFill.clear(),e>0&&this.gaugeFill.roundRect(27,s+2,586*e,26,13).fill({
- color:6134857}
- ),this.lblGauge.text=`${
- qD.displayLargeNumberAsAlphabet(i.roundScore)}
-  / ${
- qD.displayLargeNumberAsAlphabet(i.targetScore)}
- `,this.lblGauge.x=.5*(640-this.lblGauge.width);
- this.handFan.locked=!1,this.handFan.setHand(i.hand),this.btnDiscard.text=`${
- xG.getText("","버리기")}
-  ${
- i.discardsLeft}
- /3`,this.btnSubmit.text=`${
- xG.getText("","출격")}
+ for(let t=0;
+ t<this.consumableCells.length;
+ t++){
+ const i=t<s.consumables.length?s.consumables[t]:null;
+ this.consumableCells[t].setData(i?Cpi(i):null,"relic"===(null==i?void 0:i.kind))}
+ this.lblDeck.text=`${
+ s.deckCount}
+ /${
+ s.deckCount+s.graveyardCount+s.hand.length}
+ `;
+ const r=new Set;
+ if(n&&null!==s.bossGimmickId){
+ const t=jZt(s.bossGimmickId).effect;
+ for(const i of s.hand)"suitZero"===t&&i.suit===s.bossGimmickSuit&&r.add(i.id),"heroVoid"===t&&i.rank>=11&&i.rank<=13&&r.add(i.id)}
+ this.handFan.locked=!1,this.handFan.setHand(s.hand,r),this.btnSubmit.text=`${
+ DG.getText("","전투")}
- /4`,this.updateButtonStates(),this.updateLayout(),"PICKING_JOKER"===i.status&&i.jokerChoices&&this.openJokerPick()}
+ /${
+ h.submits}
+ `,this.btnDiscard.text=`${
+ DG.getText("","해고")}
+  ${
+ s.discardsLeft}
+ /${
+ h.discards}
+ `,this.updateButtonStates(),this.updateLayout(),this.redrawGauge(s),this.lblGauge.x=.5*(640-this.lblGauge.width),"CONQUEST_CHOICE"===s.status&&this.openConquest(s)}
- if(0===t.length)this.lblPreview.text=xG.getText("","카드를 선택하세요 (최대 5장)");
+ if(0===t.length)this.lblHandName.text="",this.powerCount.setStatic("0"),this.buffCount.setStatic("0");
- const t=s.moraleAdd*s.moraleMultTotal;
- this.lblPreview.text=`${
+ this.lblHandName.text=`${
-  — ${
- xG.getText("","전투력")}
-  ${
- qD.displayLargeNumberAsAlphabet(s.power)}
-  × ${
- xG.getText("","사기")}
-  ${
- Math.round(10*t)/10}
-  = ${
- qD.displayLargeNumberAsAlphabet(s.total)}
- `}
- else this.lblPreview.text=""}
- this.lblPreview.x=.5*(640-this.lblPreview.width),this.updateButtonStates()}
+ `+(s.handLevel>1?` Lv.${
+ s.handLevel}
+ `:"");
+ const t=s.buffAdd*s.buffMultTotal;
+ this.powerCount.setBounce(ZD.displayLargeNumberAsAlphabet(s.power)),this.buffCount.setBounce(""+Math.round(10*t)/10)}
+ else this.lblHandName.text="?",this.powerCount.setStatic("-"),this.buffCount.setStatic("-")}
+ this.updateButtonStates()}
+ async doAction(t,i){
+ if(this.requestPending)return!1;
+ this.requestPending=!0,this.handFan.locked=!0;
+ try{
+ return await t(),!0}
+ catch(Aet){
+ return WF.getInstance().showMessage(Aet.message||DG.getText("",i)),!1}
+ finally{
+ this.requestPending=!1,this.handFan.locked=!1}
+ }
- const e=t.map(t=>s.hand[t]);
+ const e=t.map(t=>s.hand[t]),n=s.stageScore;
+ let h=[];
+ try{
+ const t=i.buildScoreCtx();
+ t&&(h=jpi(e,s.jokers,t))}
+ catch{
+ h=[]}
- if(this.requestPending=!1,!n)return LF.getInstance().showMessage(h||xG.getText("","출격 실패 — 다시 시도해주세요")),this.handFan.locked=!1,void this.updateButtonStates();
- this.playSubmitFx(e,n)}
- playSubmitFx(t,i){
+ if(this.requestPending=!1,!r)return WF.getInstance().showMessage(o||DG.getText("","전투 실패 — 다시 시도해주세요")),this.handFan.locked=!1,void this.updateButtonStates();
+ this.playSubmitFx(e,r,h,n)}
+ popCard(t,i){
+ const s=t.y,e=zt(t=>{
+ const i=7.5625,s=2.75;
+ return t<1/s?i*t*t:t<2/s?i*(t-=1.5/s)*t+.75:t<2.5/s?i*(t-=2.25/s)*t+.9375:i*(t-=2.625/s)*t+.984375}
+ ,"easeOutBounce"),n=performance.now(),h=zt(()=>{
+ const i=Math.min(1,(performance.now()-n)/520);
+ if(i<.25){
+ const e=i/.25;
+ t.y=s-30*(1-(1-e)*(1-e))}
+ else{
+ const n=(i-.25)/.75;
+ t.y=s-30*(1-e(n))}
+ i<1?requestAnimationFrame(h):t.y=s}
+ ,"tick");
+ requestAnimationFrame(h)}
+ async flyCardsToDeck(){
+ const t=this.playedCards.filter(t=>t.visible);
+ if(0===t.length)return;
+ const i=this.deckBack.x+29,s=this.deckBack.y+39,e=260;
+ t.forEach((t,n)=>{
+ const h=t.x,r=t.y,o=this.playedScale,a=performance.now()+90*n;
+ let c=!1;
+ const l=zt(()=>{
+ if(!t.visible)return;
+ const n=performance.now()-a;
+ if(n<0)requestAnimationFrame(l);
+ else{
+ if(n<e){
+ const i=n/e;
+ t.scale.x=o*Math.max(.02,Math.abs(1-2*i)),i>=.5&&!c&&(c=!0,t.setCard({
+ id:-1,rank:0,suit:-1}
+ ))}
+ else{
+ if(!(n<640))return t.visible=!1,void t.scale.set(o);
+ {
+ const a=(n-e)/380,c=a*(2-a),l=o*(1-.55*c);
+ t.scale.set(l),t.x=h+(i-h)*c,t.y=r+(s-r)*c}
+ }
+ requestAnimationFrame(l)}
+ }
+ ,"tick");
+ requestAnimationFrame(l)}
+ ),await this.delay(90*t.length+e+380+80)}
+ flashPet(t,i){
+ const s=performance.now(),e=zt(()=>{
+ const n=Math.min(1,(performance.now()-s)/240);
+ t.scale.set(i*(1+.2*Math.sin(n*Math.PI))),n<1?requestAnimationFrame(e):t.scale.set(i)}
+ ,"tick");
+ requestAnimationFrame(e)}
+ delay(t){
+ return new Promise(i=>setTimeout(i,t))}
+ async playSubmitFx(t,i,s,e){
+ const n=++this.fxToken;
+ this.gaugeOverrideScore=e;
- this.lblHandName.text=qfi[i.score.hand]??"",this.lblHandName.visible=!0;
- const s=i.score.moraleAdd*i.score.moraleMultTotal;
- this.lblPowerLine.text=`${
- xG.getText("","전투력")}
-  ${
- qD.displayLargeNumberAsAlphabet(i.score.power)}
-  × ${
- xG.getText("","사기")}
- `,this.lblPowerLine.visible=!0,this.updateLayout(),this.moraleCount.visible=!0,this.moraleCount.setAffix("",""),this.moraleCount.countUp(s,700,s<100?1:0,()=>{
- this.totalCount.visible=!0,this.totalCount.setAffix("= ",""),this.totalCount.countUp(i.score.total,500,0,()=>{
- this.afterSubmitFx(i)}
- )}
- )}
+ this.lblHandName.text=`${
+ Api[i.score.hand]}
+ `+(i.score.handLevel>1?` Lv.${
+ i.score.handLevel}
+ `:""),this.updateLayout();
+ let h=0,r=0;
+ const o=Epi.CARD_HEIGHT*this.playedScale;
+ for(const c of s){
+ if(this.fxToken!==n)return;
+ const t=c.power-h,i=Math.round(10*(c.buff-r))/10;
+ if("card"===c.kind&&c.cardIndex>=0){
+ const s=this.playedCards[c.cardIndex];
+ (null==s?void 0:s.visible)&&(this.popCard(s,this.playedScale),t>0?this.spawnFloat(s.x,s.y-.5*o-14,`+${
+ ZD.displayLargeNumberAsAlphabet(t)}
+ `,10407935):i>0&&this.spawnFloat(s.x,s.y-.5*o-14,`+${
+ i}
+ `,16747883))}
+ else if("pet"===c.kind&&c.petIndex>=0){
+ const s=this.jokerSlots[c.petIndex];
+ if(null==s?void 0:s.visible){
+ this.flashPet(s,1);
+ const e=t>0?`+${
+ ZD.displayLargeNumberAsAlphabet(t)}
+ `:i>0?`+${
+ i}
+ `:"×";
+ this.spawnFloat(s.x,s.y-.5*Hpi.COMPACT_HEIGHT-12,e,t>0?10407935:16747883)}
+ }
+ if(c.power!==h&&this.powerCount.countFromTo(h,c.power,320),c.buff!==r&&this.buffCount.countFromTo(r,c.buff,320,1),h=c.power,r=c.buff,"base"===c.kind)await this.delay(300);
+ else{
+ if(await this.delay(350),this.fxToken!==n)return;
+ await this.delay(500)}
+ }
+ if(this.fxToken!==n)return;
+ const a=Math.round(i.score.buffAdd*i.score.buffMultTotal*10)/10;
+ i.score.power!==h?this.powerCount.countFromTo(h,i.score.power,260):this.powerCount.setBounce(ZD.displayLargeNumberAsAlphabet(i.score.power)),a!==r&&this.buffCount.countFromTo(r,a,260,1),await this.delay(380),this.fxToken===n&&(this.totalCount.visible=!0,this.totalCount.setAffix("= ",""),this.animateGauge(e,e+i.score.total,900),this.totalCount.countUp(i.score.total,500,0,()=>{
+ this.fxToken===n&&(async()=>{
+ await this.delay(300),this.fxToken===n&&(await this.flyCardsToDeck(),this.fxToken===n&&(this.totalCount.visible=!1,this.afterSubmitFx(i)))}
+ )()}
+ ))}
- if(this.refreshFromRun(),t.dead&&t.result){
+ if(this.gaugeOverrideScore=null,t.destroyedCardIds.length>0&&WF.getInstance().showMessage(`${
+ DG.getText("","유리 카드 파괴")}
+  ×${
+ t.destroyedCardIds.length}
+ `),this.refreshFromRun(),t.dead&&t.result){
- t.cleared&&(t.bonus>0&&LF.getInstance().showMessage(`${
- xG.getText("","조기 클리어 보너스")}
+ t.cleared&&(this.clearPlayFx(),t.goldGained>0&&WF.getInstance().showMessage(`${
+ DG.getText("","클리어!")}
+  +${
+ t.goldGained}
+  G`+(t.bonus>0?` · ${
+ DG.getText("","보너스")}
- `),this.openJokerPick())}
- openJokerPick(){
- const t=PZt.getInstance().run;
- if(!t||!t.jokerChoices)return;
- const i=Yfi.getInstance();
- i.setData(t.jokerChoices,t.jokers),i.onPick=async(t,i)=>{
- const s=PZt.getInstance();
- let e=null,n="";
- try{
- e=await s.pickJoker(t,i)}
- catch(_et){
- n=_et.message}
- if(!e)return LF.getInstance().showMessage(n||xG.getText("","동료 선택 실패 — 다시 시도해주세요")),void this.openJokerPick();
- this.clearPlayFx(),this.refreshFromRun()}
- ,i.show()}
+ `:"")))}
- if(0===t.length||this.requestPending)return;
+ if(0===t.length)return;
+ const i=zZt.getInstance().run;
+ !i||"PLAYING"!==i.status||i.discardsLeft<=0||(await this.doAction(()=>zZt.getInstance().discard(t),"해고 실패 — 다시 시도해주세요")?this.refreshFromRun():this.updateButtonStates())}
+ onSortClick(){
+ this.handFan.sortMode="rank"===this.handFan.sortMode?"suit":"rank",this.btnSort.text=DG.getText("","rank"===this.handFan.sortMode?"정렬:랭크":"정렬:문양"),zZt.getInstance().run&&this.refreshFromRun()}
+ async onSkipClick(){
+ await this.doAction(async()=>{
+ const t=await zZt.getInstance().skipStage();
+ WF.getInstance().showMessage(`${
+ DG.getText("","스킵")}
+  — ${
+ xpi(t.tagId)}
+  ${
+ DG.getText("","획득")}
+ `)}
+ ,"스킵 실패")&&this.refreshFromRun()}
+ onInfoClick(){
+ const t=zZt.getInstance().run;
+ if(!t)return;
+ const i=Qpi.getInstance();
+ i.setData(t),i.show()}
+ async onConsumableTap(t){
- if(!s||"PLAYING"!==s.status||s.discardsLeft<=0)return;
- this.requestPending=!0,this.handFan.locked=!0;
- let e=null,n="";
- try{
- e=await i.discard(t)}
- catch(_et){
- n=_et.message}
- if(this.requestPending=!1,!e)return LF.getInstance().showMessage(n||xG.getText("","버리기 실패 — 다시 시도해주세요")),this.handFan.locked=!1,void this.updateButtonStates();
- this.refreshFromRun()}
+ if(!s||t>=s.consumables.length||this.requestPending)return;
+ const e=s.consumables[t];
+ let n=0,h=!1;
+ if("consumable"===e.kind){
+ const t=fpi(e.refId);
+ n={
+ enhance:1,sealRandom:1,clone:1,convertSuit:2,rankUp:2,destroy:2,goldGamble:0,recruitHero:0}
+ [t.effect]??0,h="convertSuit"===t.effect}
+ const r=this.handFan.getSelected();
+ if(n>0&&r.length!==n)return void WF.getInstance().showMessage(`${
+ DG.getText("","손패에서 카드")}
+  ${
+ n}
+ ${
+ DG.getText("","장을 선택 후 사용하세요")}
+ `);
+ const o=r.slice(0,n).map(t=>s.hand[t].id),a=zt(async s=>{
+ await this.doAction(()=>i.useConsumable(t,o,s),"사용 실패")&&this.refreshFromRun()}
+ ,"use");
+ if(h){
+ const t=tgi.getInstance();
+ t.onPick=t=>{
+ a(t)}
+ ,t.show()}
+ else await a()}
+ async onShopBuy(t){
+ await this.doAction(()=>zZt.getInstance().shopBuy(t),"구매 실패")&&this.refreshFromRun()}
+ async onShopPetSell(t){
+ await this.doAction(()=>zZt.getInstance().shopSell("pet",t),"판매 실패")&&this.refreshFromRun()}
+ async onShopReroll(){
+ await this.doAction(()=>zZt.getInstance().shopReroll(),"리롤 실패")&&this.refreshFromRun()}
+ async onShopNext(){
+ await this.doAction(()=>zZt.getInstance().leaveShop(),"진행 실패")&&(this.clearPlayFx(),this.refreshFromRun())}
+ openPackPick(){
+ var t;
+ const i=zZt.getInstance().run;
+ if(!i||!(null==(t=i.shop)?void 0:t.packPick))return;
+ const s=Xpi.getInstance();
+ s.setData(i.shop.packPick),s.onPick=async t=>{
+ await this.doAction(()=>zZt.getInstance().pickFromPack(t),"선택 실패")?this.refreshFromRun():this.openPackPick()}
+ ,s.show()}
+ openConquest(t){
+ const i=wpi.getInstance();
+ i.setData(t.totalScore),i.onChoice=async i=>{
+ const s=zZt.getInstance();
+ let e=null;
+ if(await this.doAction(async()=>{
+ e=await s.conquestChoice(i)}
+ ,"요청 실패"))if(i)this.refreshFromRun();
+ else{
+ const t=gpi.getInstance();
+ t.setData(e.result),t.onExit=()=>this.hide(),t.show()}
+ else this.openConquest(t)}
+ ,i.show()}
+ this.fxToken++;
+ for(const t of this.floatLabels)t.visible=!1;
- this.lblHandName.visible=!1,this.lblPowerLine.visible=!1,this.moraleCount.stop(),this.moraleCount.visible=!1,this.totalCount.stop(),this.totalCount.visible=!1}
- hide(){
- this.moraleCount.stop(),this.totalCount.stop(),super.hide()}
+ this.totalCount.stop(),this.totalCount.visible=!1,this.powerCount.setStatic("0"),this.buffCount.setStatic("0"),this.lblHandName.text=""}
+ onBackButton(){
+ return this.hide(),!0}
- Vt(Xfi,"CardGamePopup"),Kt(Xfi,"_instance"),Kt(Xfi,"TOP_Y",50),Kt(Xfi,"JOKER_Y",175),Kt(Xfi,"PLAY_TOP",360),Kt(Xfi,"PLAYED_SCALE",.55);
+ zt(egi,"CardGamePopup"),qt(egi,"_instance"),qt(egi,"TOP_Y",100),qt(egi,"PLAYED_SCALE",.8);
ChoiceChip 1 hunks, 212 statements
+ constructor(i,s=96,e=44){
+ super(),qt(this,"bg",new Bf),qt(this,"lbl"),qt(this,"lockIcon",null),qt(this,"chipW"),qt(this,"chipH"),qt(this,"_selected",!1),qt(this,"_locked",!1),qt(this,"onTap",null),this.chipW=s,this.chipH=e,this.bg.eventMode="none",this.addChild(this.bg),this.lbl=new hL(i,t.OFF_TEXT,wD.DEFAULT_FONT_OPTION_16),this.lbl.eventMode="none",this.addChild(this.lbl);
+ const n=t.HIT_PAD;
+ this.hitArea=new Pi(-n,-n,s+2*n,e+2*n),this.eventMode="static",this.cursor="pointer",this.on("pointertap",this.onPointerTap,this),this.on("pointerdown",t.stopEvent),this.on("pointerup",t.stopEvent),this.redraw()}
+ static stopEvent(t){
+ t.stopPropagation()}
+ onPointerTap(t){
+ var i;
+ t.stopPropagation(),this._locked||(JL(),null==(i=this.onTap)||i.call(this))}
+ set text(t){
+ this.lbl.text=t,this.layout()}
+ get selected(){
+ return this._selected}
+ set selected(t){
+ this._selected!==t&&(this._selected=t,this.redraw())}
+ get locked(){
+ return this._locked}
+ set locked(i){
+ this._locked!==i&&(this._locked=i,i&&!this.lockIcon&&(this.lockIcon=new $e(tS.getTexture("UI_Ekkorr","Icon_Lock")),this.lockIcon.scale.set(t.LOCK_ICON_SCALE),this.lockIcon.eventMode="none",this.addChild(this.lockIcon)),this.lockIcon&&(this.lockIcon.visible=i),this.redraw())}
+ get chipWidth(){
+ return this.chipW}
+ redraw(){
+ const i=this._selected&&!this._locked,s=this.chipW,e=this.chipH,n=t.RADIUS;
+ this.bg.clear().roundRect(0,0,s,e,n).fill({
+ color:i?t.ON_BG:t.OFF_BG}
+ ),this.lbl.textColor=this._locked?t.LOCKED_TEXT:i?t.ON_TEXT:t.OFF_TEXT,this.layout()}
+ layout(){
+ this.lbl.x=.5*(this.chipW-this.lbl.width),this.lbl.y=.5*(this.chipH-this.lbl.height),this.lockIcon&&(this.lockIcon.x=this.chipW-this.lockIcon.width-5,this.lockIcon.y=4)}
+ }
+ ;
+ zt(Dgi,"ChoiceChip"),qt(Dgi,"RADIUS",8),qt(Dgi,"OFF_BG",1709068),qt(Dgi,"OFF_TEXT",13482901),qt(Dgi,"ON_BG",9925962),qt(Dgi,"ON_TEXT",2891793),qt(Dgi,"LOCKED_TEXT",7168070),qt(Dgi,"LOCK_ICON_SCALE",.7),qt(Dgi,"HIT_PAD",4);
+ let Lgi=Dgi;
+ const Ggi=class t extends Ue{
+ constructor(){
+ super(),qt(this,"track",new Bf),qt(this,"knob",new Bf),qt(this,"isOn",!1),qt(this,"onTap",null),this.track.eventMode="none",this.knob.eventMode="none",this.addChild(this.track,this.knob),this.knob.y=.5*t.H,this.knob.x=this.knobX(!1),this.redraw();
+ const i=t.HIT_PAD;
+ this.hitArea=new Pi(-i,-i,t.W+2*i,t.H+2*i),this.eventMode="static",this.cursor="pointer",this.on("pointertap",this.onPointerTap,this),this.on("pointerdown",t.stopEvent),this.on("pointerup",t.stopEvent)}
+ static stopEvent(t){
+ t.stopPropagation()}
+ onPointerTap(t){
+ var i;
+ t.stopPropagation(),JL(),null==(i=this.onTap)||i.call(this)}
+ knobX(i){
+ return i?t.W-t.PAD-t.KNOB_R:t.PAD+t.KNOB_R}
+ setOn(t,i=!0){
+ this.isOn!==t&&(this.isOn=t,WO.killTweensOf(this.knob),i?WO.to(this.knob,{
+ x:this.knobX(t),duration:.18,ease:"back.out(1.6)"}
+ ):this.knob.x=this.knobX(t),this.redraw())}
+ get switchWidth(){
+ return t.W}
+ get switchHeight(){
+ return t.H}
+ redraw(){
+ const i=this.isOn,s=t.W,e=t.H;
+ this.track.clear().roundRect(0,0,s,e,.5*e).fill({
+ color:i?t.ON_TRACK:t.OFF_TRACK}
+ ),this.knob.clear().circle(0,0,t.KNOB_R).fill({
+ color:i?t.ON_KNOB:t.OFF_KNOB}
+ )}
+ }
+ ;
+ zt(Ggi,"ToggleSwitch"),qt(Ggi,"W",64),qt(Ggi,"H",32),qt(Ggi,"KNOB_R",12),qt(Ggi,"PAD",4),qt(Ggi,"ON_TRACK",4165439),qt(Ggi,"OFF_TRACK",4866355),qt(Ggi,"ON_KNOB",16183260),qt(Ggi,"OFF_KNOB",10260342),qt(Ggi,"HIT_PAD",8);
+ let Bgi=Ggi;
+ const Ugi=class t extends wG{
+ constructor(){
+ super(),qt(this,"mains",[]),qt(this,"enabled",!0),qt(this,"slots",[null,null]),qt(this,"requestPending",!1),qt(this,"lblAuto"),qt(this,"toggle"),qt(this,"slotPanels",[]),qt(this,"slotBadges",[]),qt(this,"slotMainButtons",[]),qt(this,"slotChipContainers",[]),qt(this,"previewPanel"),qt(this,"previewY"),qt(this,"lblPreviewMain"),qt(this,"lblPreviewSub"),qt(this,"lblFooter"),qt(this,"btnSave"),this.width=t.POPUP_WIDTH,this.height=t.POPUP_HEIGHT,this.title=DG.getText("COMMON_49","설정");
+ const i=t.PANEL_X,s=t.PANEL_W,e=t.SLOT_PANEL_H;
+ this.lblAuto=new hL(DG.getText("GAME_1595","자동 오픈"),16777215,wD.WHITE_OUTLINE_FONT_OPTION_16),this.lblAuto.x=i+6,this.lblAuto.y=78,this.contentContainer.addChild(this.lblAuto),this.toggle=new Bgi,this.toggle.x=t.POPUP_WIDTH-i-this.toggle.switchWidth,this.toggle.y=72,this.toggle.onTap=()=>{
+ this.enabled=!this.enabled,this.toggle.setOn(this.enabled),this.apply()}
+ ,this.contentContainer.addChild(this.toggle);
+ for(let h=0;
+ h<2;
+ h++){
+ const n=126+h*(e+10),r=(new Bf).roundRect(0,0,s,e,t.PANEL_RADIUS).fill({
+ color:t.PANEL_BG}
+ );
+ r.x=i,r.y=n,r.eventMode="none",this.contentContainer.addChild(r),this.slotPanels.push(r);
+ const o=this.buildPrioBadge(DG.getValueReplace("GAME_1600","##",h+1,`${
+ h+1}
+ 순위`));
+ o.x=i+14,o.y=n+.5*(e-t.BADGE_H),this.contentContainer.addChild(o),this.slotBadges.push(o);
+ const a=new Lgi("-",t.MAIN_BTN_W,t.CHIP_H);
+ a.x=i+t.CONTENT_X,a.y=n+8,a.onTap=()=>this.cycleMain(h),this.contentContainer.addChild(a),this.slotMainButtons.push(a);
+ const c=new Ue;
+ c.x=i+t.CONTENT_X,c.y=n+8+t.CHIP_H+8,this.contentContainer.addChild(c),this.slotChipContainers.push(c)}
+ this.previewY=126+2*(e+10),this.previewPanel=new Bf,this.previewPanel.x=i,this.previewPanel.y=this.previewY,this.previewPanel.eventMode="none",this.contentContainer.addChild(this.previewPanel);
+ const n=i+18;
+ this.lblPreviewMain=new hL("",16777215,wD.WHITE_OUTLINE_FONT_OPTION_16),this.lblPreviewMain.x=n,this.lblPreviewMain.setWrapWidth(s-36),this.contentContainer.addChild(this.lblPreviewMain),this.lblPreviewSub=new hL("",12432284,wD.DEFAULT_FONT_OPTION_15),this.lblPreviewSub.x=n,this.contentContainer.addChild(this.lblPreviewSub),this.lblFooter=new hL(DG.getText("GAME_1597","매일 23:50 (UTC) 마감 · 00:00 (UTC) 오픈"),10128756,wD.DEFAULT_FONT_OPTION_15),this.lblFooter.textSize=13,this.lblFooter.y=this.previewY+112,this.contentContainer.addChild(this.lblFooter),this.lblFooter.x=.5*(t.POPUP_WIDTH-this.lblFooter.width),this.btnSave=new uG(DG.getText("COMMON_297","저장하기")),this.btnSave.x=.5*(t.POPUP_WIDTH-this.btnSave.width),this.btnSave.y=this.previewY+140,this.btnSave.onClick=()=>{
+ this.onSave()}
+ ,this.contentContainer.addChild(this.btnSave)}
+ static getInstance(){
+ return this._instance||(this._instance=new t),this._instance}
+ static difficultLabel(t){
+ return DG.getValueReplace("GAME_1601","##",t,`${
+ t}
+ 단계`)}
+ buildPrioBadge(i){
+ const s=new Ue;
+ s.eventMode="none";
+ const e=t.BADGE_W,n=t.BADGE_H,h=(new Bf).roundRect(0,0,e,n,6).fill({
+ color:t.BADGE_BG}
+ );
+ s.addChild(h);
+ const r=new hL(i,t.BADGE_TEXT,wD.DEFAULT_FONT_OPTION_15);
+ return r.x=.5*(e-r.width),r.y=.5*(n-r.height),s.addChild(r),s}
+ async openSettings(){
+ const t=await pD.getInstance().guildRaid.getOpenRule(!0);
+ if(!(null==t?void 0:t.success))return void SG.getInstance().showError(t);
+ const i=XJt.getInstance();
+ await i.ensureLoaded();
+ const s=t.body??{
+ }
+ ,e=s.mains??[],n=e.filter(t=>i.isLiveMain(t.main));
+ if(this.mains=n.length>0?n:e,0===this.mains.length)return;
+ const h=s.rule;
+ this.enabled=!h||!!h.enabled,this.slots=[this.parseSlot(null==h?void 0:h.slot1Main,null==h?void 0:h.slot1Difficult)??this.defaultSlot(),this.parseSlot(null==h?void 0:h.slot2Main,null==h?void 0:h.slot2Difficult)],this.toggle.setOn(this.enabled,!1),this.apply(),super.show()}
+ parseSlot(t,i){
+ return null==t||null==i?null:this.mains.some(i=>i.main===t)?{
+ main:t,difficult:i}
+ :null}
+ defaultSlot(){
+ const t=this.mains[0],i=t.difficulties.filter(t=>t.unlocked),s=i.length>0?i[i.length-1]:t.difficulties[0];
+ return{
+ main:t.main,difficult:s.difficult}
+ }
+ getMainInfo(t){
+ return this.mains.find(i=>i.main===t)}
+ cycleMain(t){
+ if(!this.enabled)return;
+ const i=this.slots[t],s=(null==i?void 0:i.main)??this.mains[0].main,e=this.mains.findIndex(t=>t.main===s),n=this.mains[(e+1)%this.mains.length],h=n.difficulties.filter(t=>t.unlocked),r=h.length>0?h[h.length-1]:n.difficulties[0];
+ this.slots[t]={
+ main:n.main,difficult:r.difficult}
+ ,this.apply()}
+ apply(){
+ const i=XJt.getInstance(),s=this.enabled?1:.45,e=t.SLOT_PANEL_H,n=t.CHIP_H;
+ for(let t=0;
+ t<2;
+ t++){
+ const h=this.slots[t],r=this.getMainInfo((null==h?void 0:h.main)??this.mains[0].main),o=this.slotMainButtons[t],a=126+t*(e+10);
+ o.visible=null!=h,h&&(o.text=i.getMainName(h.main),o.selected=!0),this.slotChipContainers[t].y=null!=h?a+8+n+8:a+.5*(e-n),this.rebuildChips(t,r),this.slotPanels[t].alpha=s,this.slotBadges[t].alpha=s,o.alpha=s,this.slotChipContainers[t].alpha=s}
+ this.applyPreview()}
+ rebuildChips(i,s){
+ const e=this.slotChipContainers[i];
+ if(e.removeChildren().forEach(t=>t.destroy({
+ children:!0}
+ )),!s)return;
+ const n=t.CHIP_W,h=t.CHIP_H,r=t.CHIP_GAP;
+ let o=0;
+ if(1===i){
+ const t=new Lgi(DG.getText("GAME_1596","미사용"),n,h);
+ t.x=o,t.selected=null==this.slots[1],t.onTap=()=>{
+ this.enabled&&(this.slots[1]=null,this.apply())}
+ ,e.addChild(t),o+=n+r}
+ const a=this.slots[i];
+ for(const c of s.difficulties){
+ const l=new Lgi(t.difficultLabel(c.difficult),n,h);
+ l.x=o,c.unlocked?(l.selected=null!=a&&a.difficult===c.difficult&&a.main===s.main,l.onTap=()=>{
+ this.enabled&&(this.slots[i]={
+ main:s.main,difficult:c.difficult}
+ ,this.apply())}
+ ):l.locked=!0,e.addChild(l),o+=n+r}
+ }
+ applyPreview(){
+ const i=XJt.getInstance(),s=this.slots.filter(t=>null!=t);
+ let e,n="";
+ if(this.enabled){
+ const h=s.map(s=>`${
+ i.getMainName(s.main)}
+  ${
+ t.difficultLabel(s.difficult)}
+ `).join(" + ");
+ e=DG.getValueReplace("GAME_1602","##",h,`00:00 (UTC) 오픈 : ${
+ h}
+ `),2===s.length&&(n=s[0].main===s[1].main?DG.getText("GAME_1603","같은 레이드 → 1순위가 끝나면 2순위가 이어서 열립니다."):DG.getText("GAME_1604","서로 다른 레이드 → 동시에 열립니다."))}
+ else e=DG.getText("GAME_1598","자동 오픈이 꺼져 있습니다."),n=DG.getText("GAME_1599","길드마스터/부길드마스터가 직접 오픈해야 합니다.");
+ const h=t.PREVIEW_PAD_Y,r=t.PREVIEW_LINE_H;
+ let o=this.previewY+h;
+ this.lblPreviewMain.text=e,this.lblPreviewMain.y=o,o+=r,this.lblPreviewSub.text=n,this.lblPreviewSub.visible=""!==n,""!==n&&(this.lblPreviewSub.y=o,o+=r);
+ const a=o-this.previewY-r+22+h;
+ this.previewPanel.clear().roundRect(0,0,t.PANEL_W,a,t.PANEL_RADIUS).fill({
+ color:t.PANEL_BG}
+ )}
+ async onSave(){
+ if(this.requestPending)return;
+ const t=this.slots.filter(t=>null!=t);
+ if(this.enabled&&0===t.length)return;
+ this.requestPending=!0;
+ const i=await pD.getInstance().guildRaid.setOpenRule(this.enabled,t.map(t=>({
+ main:t.main,difficult:t.difficult}
+ )),!0);
+ if(this.requestPending=!1,!(null==i?void 0:i.success))return void SG.getInstance().showError(i);
+ this.hide();
+ const{
+ GuildRaidSubView:s}
+ =await Qt(async()=>{
+ const{
+ GuildRaidSubView:t}
+ =await Promise.resolve().then(()=>Mii);
+ return{
+ GuildRaidSubView:t}
+ }
+ ,void 0);
+ s.getInstance().setData()}
+ }
+ ;
+ zt(Ugi,"GuildRaidOpenSettingsPopup"),qt(Ugi,"_instance"),qt(Ugi,"POPUP_WIDTH",620),qt(Ugi,"POPUP_HEIGHT",600),qt(Ugi,"PANEL_X",26),qt(Ugi,"PANEL_W",568),qt(Ugi,"SLOT_PANEL_H",112),qt(Ugi,"PANEL_BG",3155482),qt(Ugi,"PANEL_RADIUS",10),qt(Ugi,"BADGE_BG",15251020),qt(Ugi,"BADGE_TEXT",3811853),qt(Ugi,"BADGE_W",64),qt(Ugi,"BADGE_H",28),qt(Ugi,"CONTENT_X",92),qt(Ugi,"CHIP_W",96),qt(Ugi,"CHIP_H",44),qt(Ugi,"CHIP_GAP",8),qt(Ugi,"MAIN_BTN_W",190),qt(Ugi,"PREVIEW_PAD_Y",16),qt(Ugi,"PREVIEW_LINE_H",26);
+ let Fgi=Ugi;
+ const Hgi=Object.freeze(Object.defineProperty({
+ __proto__:null,GuildRaidOpenSettingsPopup:Fgi}
+ ,Symbol.toStringTag,{
+ value:"Module"}
+ )),Wgi=class t extends wG{
CardEventDataManager 35 hunks, 188 statements
- power:5,morale:1}
+ power:5,buff:1}
- power:10,morale:2}
+ power:10,buff:2}
- power:20,morale:2}
+ power:20,buff:2}
- power:30,morale:3}
+ power:30,buff:3}
- power:30,morale:4}
+ power:30,buff:4}
- power:35,morale:4}
+ power:35,buff:4}
- power:40,morale:4}
+ power:40,buff:4}
- power:60,morale:7}
+ power:60,buff:7}
- power:100,morale:8}
+ power:100,buff:8}
+ zt(DZt,"getRankPower");
+ const LZt=[{
+ id:1,submits:4,discards:3,petSlots:5,goldPerRemainingSubmit:1,goldPerDiscard:0,interestPer:5,interestCap:5,consumableSlots:2,startConsumables:0,deckRemoveRanks:[],name:"영주 1"}
+ ,{
+ id:2,submits:3,discards:3,petSlots:6,goldPerRemainingSubmit:2,goldPerDiscard:1,interestPer:0,interestCap:0,consumableSlots:2,startConsumables:0,deckRemoveRanks:[],name:"영주 2"}
+ ,{
+ id:3,submits:5,discards:2,petSlots:5,goldPerRemainingSubmit:1,goldPerDiscard:0,interestPer:0,interestCap:0,consumableSlots:2,startConsumables:0,deckRemoveRanks:[],name:"영주 3"}
+ ,{
+ id:4,submits:4,discards:3,petSlots:4,goldPerRemainingSubmit:0,goldPerDiscard:0,interestPer:5,interestCap:5,consumableSlots:3,startConsumables:2,deckRemoveRanks:[],name:"영주 4"}
+ ,{
+ id:5,submits:4,discards:3,petSlots:5,goldPerRemainingSubmit:0,goldPerDiscard:0,interestPer:5,interestCap:3,consumableSlots:2,startConsumables:0,deckRemoveRanks:[2,3],name:"영주 5"}
+ ];
+ function GZt(t){
+ const i=LZt.find(i=>i.id===t);
+ if(!i)throw new Error(`알 수 없는 영주: ${
+ t}
+ `);
+ return i}
+ zt(GZt,"getLordDef");
+ const BZt=[{
+ id:1,effect:"handPlus1",value:1,name:"징집령"}
+ ,{
+ id:2,effect:"submitPlus1",value:1,name:"연장전"}
+ ,{
+ id:3,effect:"discardPlus1",value:1,name:"구조조정"}
+ ,{
+ id:4,effect:"shopSlotPlus1",value:1,name:"넓은 보급소"}
+ ,{
+ id:5,effect:"packDiscount",value:.25,name:"보급 할인"}
+ ,{
+ id:6,effect:"rerollDiscount",value:2,name:"재협상"}
+ ,{
+ id:7,effect:"interestCapPlus",value:5,name:"큰 금고"}
+ ,{
+ id:8,effect:"consumableSlotPlus1",value:1,name:"큰 배낭"}
+ ];
+ function UZt(t,i,s){
+ const e=GZt(t),n={
+ handSize:8,submits:e.submits,discards:e.discards,petSlots:e.petSlots,consumableSlots:e.consumableSlots,interestCap:e.interestCap,shopCardSlots:2,packPrice:4,rerollBaseCost:5}
+ ;
+ for(const h of i){
+ const t=BZt.find(t=>t.id===h);
+ if(t)switch(t.effect){
+ case"handPlus1":n.handSize+=t.value;
+ break;
+ case"submitPlus1":n.submits+=t.value;
+ break;
+ case"discardPlus1":n.discards+=t.value;
+ break;
+ case"shopSlotPlus1":n.shopCardSlots+=t.value;
+ break;
+ case"packDiscount":n.packPrice=Math.floor(n.packPrice*(1-t.value));
+ break;
+ case"rerollDiscount":n.rerollBaseCost=Math.max(0,n.rerollBaseCost-t.value);
+ break;
+ case"interestCapPlus":n.interestCap+=t.value;
+ break;
+ case"consumableSlotPlus1":n.consumableSlots+=t.value}
+ }
+ return 4===s&&(n.handSize=Math.max(1,n.handSize-2)),5===s&&(n.submits=Math.min(n.submits,3)),n}
- if(5===t.length&&(n=t.every(i=>i.suit===t[0].suit),5===i.size)){
+ if(5===t.length){
+ const s=t.filter(t=>"wild"!==t.enhance);
+ if(n=s.every(t=>{
+ var i;
+ return t.suit===(null==(i=s[0])?void 0:i.suit)}
+ ),5===i.size){
+ }
+ zt(UZt,"getRunLimits"),zt(FZt,"evaluateHand");
+ const HZt=[{
+ handType:kZt.HIGH_CARD,perLevelPower:10,perLevelBuff:1,name:"하이카드의 유물"}
+ ,{
+ handType:kZt.PAIR,perLevelPower:15,perLevelBuff:1,name:"페어의 유물"}
+ ,{
+ handType:kZt.TWO_PAIR,perLevelPower:20,perLevelBuff:1,name:"투페어의 유물"}
+ ,{
+ handType:kZt.TRIPLE,perLevelPower:20,perLevelBuff:2,name:"트리플의 유물"}
+ ,{
+ handType:kZt.STRAIGHT,perLevelPower:30,perLevelBuff:2,name:"스트레이트의 유물"}
+ ,{
+ handType:kZt.FLUSH,perLevelPower:15,perLevelBuff:2,name:"플러시의 유물"}
+ ,{
+ handType:kZt.FULL_HOUSE,perLevelPower:25,perLevelBuff:2,name:"풀하우스의 유물"}
+ ,{
+ handType:kZt.FOUR_KIND,perLevelPower:30,perLevelBuff:3,name:"포카드의 유물"}
+ ,{
+ handType:kZt.STRAIGHT_FLUSH,perLevelPower:40,perLevelBuff:3,name:"스트레이트 플러시의 유물"}
+ ];
+ function WZt(t,i){
+ const s=PZt[t],e=HZt[t],n=Math.max(0,i-1);
+ return{
+ power:s.power+e.perLevelPower*n,buff:s.buff+e.perLevelBuff*n}
+ }
+ zt(WZt,"getHandLevelBase");
+ const $Zt=[{
+ id:1,effect:"suitZero",name:"골렘"}
+ ,{
+ id:2,effect:"heroVoid",name:"벨리알"}
+ ,{
+ id:3,effect:"firstSubmitZero",name:"용기사"}
+ ,{
+ id:4,effect:"handMinus2",name:"하피"}
+ ,{
+ id:5,effect:"submitLimit3",name:"스콜피온"}
+ ,{
+ id:6,effect:"repeatHandVoid",name:"기억의 감시자"}
+ ,{
+ id:7,effect:"cardFlip",name:"안개 군주"}
+ ,{
+ id:8,effect:"discardGoldPenalty",name:"수전노"}
+ ];
+ function jZt(t){
+ const i=$Zt.find(i=>i.id===t);
+ if(!i)throw new Error(`알 수 없는 보스 기믹: ${
+ t}
+ `);
+ return i}
- const e=xZt(t),n=OZt[e];
- let h=n.power+t.reduce((t,i)=>t+kZt(i.rank),0),r=n.morale+s.permMoraleStacks,o=1;
+ const e=FZt(t),n=s.handLevels[e]??1,h=WZt(e,n);
+ let r=h.power,o=h.buff+s.permBuffStacks,a=1;
+ const c=[];
+ let l=0;
+ const u=null!==s.bossGimmickId?jZt(s.bossGimmickId).effect:null,d=zt(t=>"suitZero"===u&&t.suit===s.bossGimmickSuit||"heroVoid"===u&&t.rank>=11&&t.rank<=13,"isCardVoid");
+ for(const p of t){
+ if(d(p))continue;
+ const t="orc"===p.seal?2:1;
+ for(let i=0;
+ i<t;
+ i++)r+=DZt(p.rank),"power"===p.enhance&&(r+=30),"buff"===p.enhance&&(o+=4),"glass"===p.enhance&&(a*=2),"human"===p.seal&&(l+=2);
+ "glass"===p.enhance&&c.push(p.id)}
- case"suitMoraleAdd":r+=a.value*t.filter(t=>t.suit===a.suit).length;
+ case"suitBuffAdd":o+=p.value*t.filter(t=>t.suit===p.suit).length;
- case"fewCardsMoraleAdd":t.length<=3&&(r+=a.value);
+ case"fewCardsBuffAdd":t.length<=3&&(o+=p.value);
- case"pairFamilyMoraleAdd":SZt.includes(e)&&(r+=a.value);
+ case"pairFamilyBuffAdd":OZt.includes(e)&&(o+=p.value);
- case"straightFamilyMoraleAdd":TZt.includes(e)&&(r+=a.value);
+ case"straightFamilyBuffAdd":xZt.includes(e)&&(o+=p.value);
- case"flushFamilyMoraleAdd":CZt.includes(e)&&(r+=a.value);
+ case"flushFamilyBuffAdd":RZt.includes(e)&&(o+=p.value);
- case"discardLeftMoraleAdd":r+=a.value*s.discardsLeft;
+ case"discardLeftBuffAdd":o+=p.value*s.discardsLeft;
- case"faceCardMoraleAdd":r+=a.value*t.filter(t=>t.rank>=11&&t.rank<=13).length;
+ case"faceCardBuffAdd":o+=p.value*t.filter(t=>t.rank>=11&&t.rank<=13).length;
- case"moraleMult":o*=a.value;
+ case"buffMult":a*=p.value;
- case"lastSubmitMoraleMult":4===s.submitIndexInRound&&(o*=a.value);
+ case"lastSubmitBuffMult":4===s.submitIndexInStage&&(a*=p.value);
- case"firstSubmitMoraleMult":1===s.submitIndexInRound&&(o*=a.value);
+ case"firstSubmitBuffMult":1===s.submitIndexInStage&&(a*=p.value);
- case"acePerMoraleMult":for(const i of t)14===i.rank&&(o*=a.value);
+ case"acePerBuffMult":for(const i of t)14===i.rank&&(a*=p.value);
- case"tripleFamilyMoraleMult":IZt.includes(e)&&(o*=a.value);
+ case"tripleFamilyBuffMult":NZt.includes(e)&&(a*=p.value);
- case"highCardMoraleMult":e===AZt.HIGH_CARD&&(o*=a.value)}
- return{
- hand:e,power:h,moraleAdd:r,moraleMultTotal:o,total:Math.floor(h*r*o)}
+ case"highCardBuffMult":e===kZt.HIGH_CARD&&(a*=p.value)}
+ let f=Math.floor(r*o*a);
+ return"firstSubmitZero"===u&&1===s.submitIndexInStage&&(f=0),"repeatHandVoid"===u&&s.playedHandTypes.includes(e)&&(f=0),{
+ hand:e,handLevel:n,power:r,buffAdd:o,buffMultTotal:a,total:f,glassScoredIds:c,goldFromCards:l}
- Vt(kZt,"getRankPower"),Vt(xZt,"evaluateHand"),Vt(RZt,"calcScore");
+ zt(jZt,"getBossGimmickDef"),zt(VZt,"calcScore");
- bestScore:0,bestRound:0,achievedAt:""}
+ bestScore:0,bestRound:0,achievedAt:"",endlessBestScore:0,endlessBestChapter:0}
- async pickJoker(t,i){
- const s=this.unwrap(await lD.getInstance().cardEvent.pickJoker(t,i));
+ async leaveShop(){
+ const t=this.unwrap(await pD.getInstance().cardEvent.leaveShop());
+ async shopBuy(t){
+ const i=this.unwrap(await pD.getInstance().cardEvent.shopBuy(t));
+ return this.applyCommon(i),this.run}
+ async shopSell(t,i){
+ const s=this.unwrap(await pD.getInstance().cardEvent.shopSell(t,i));
+ return this.applyCommon(s),this.run}
+ async shopReroll(){
+ const t=this.unwrap(await pD.getInstance().cardEvent.shopReroll());
+ return this.applyCommon(t),this.run}
+ async pickFromPack(t){
+ const i=this.unwrap(await pD.getInstance().cardEvent.pickFromPack(t));
+ return this.applyCommon(i),this.run}
+ async useConsumable(t,i,s){
+ const e=this.unwrap(await pD.getInstance().cardEvent.useConsumable(t,i,s));
+ return this.applyCommon(e),this.run}
+ async skipStage(){
+ const t=this.unwrap(await pD.getInstance().cardEvent.skipStage());
+ return this.applyCommon(t),t}
+ async conquestChoice(t){
+ const i=this.unwrap(await pD.getInstance().cardEvent.conquestChoice(t));
+ return t?this.applyCommon(i):(this.run=null,i.myRecord&&(this.myRecord=i.myRecord)),i}
+ if(s.some(t=>t.rank<2))return null;
- return RZt(s,i.jokers,{
- submitIndexInRound:4-i.submitsLeft+1,discardsLeft:i.discardsLeft,permMoraleStacks:i.permMoraleStacks}
- )}
+ const t=this.buildScoreCtx();
+ return t?VZt(s,i.jokers,t):null}
+ buildScoreCtx(){
+ const t=this.run;
+ return t?{
+ submitIndexInStage:UZt(t.lordId,t.vouchers,2===t.stage?t.bossGimmickId:null).submits-t.submitsLeft+1,discardsLeft:t.discardsLeft,permBuffStacks:t.permBuffStacks,handLevels:t.handLevels,bossGimmickId:2===t.stage?t.bossGimmickId:null,bossGimmickSuit:t.bossGimmickSuit,playedHandTypes:t.playedHandTypes}
+ :null}
- Vt(NZt,"CardEventDataManager"),Kt(NZt,"EVENT_OPEN",!0),Kt(NZt,"_instance");
+ zt(KZt,"CardEventDataManager"),qt(KZt,"EVENT_OPEN",!1),qt(KZt,"_instance");
CitadelBuildingDetailPopup 20 hunks, 175 statements
- return i?Ox.getInstance().getContributorsDetail(i.skillCode).length:0}
- Vt(fhi,"getCitadelManagerCount");
+ return i?Phi(i).length:0}
+ function Phi(t){
+ return t.getContributors?t.getContributors():t.skillCode?xx.getInstance().getContributorsDetail(t.skillCode):[]}
+ function Dhi(t,i){
+ const s=t.map(t=>`+ ${
+ DG.getText(t.key,t.def)}
+ `);
+ return s.push(`+ ${
+ DG.getText("GAME_689","시나리오 전투 팀 편성과 별개로 작동합니다. 해당 능력을 가진 영웅이 관리자로 자동 등록되어 버프가 발동됩니다.")}
+ `),s.push(`+ ${
+ DG.getValueReplaceMulti("GAME_690",["##","@@"],[i,5],`최대 5명까지 등록 가능 (현재 ${
+ i}
+ /5) — 관리자가 많을수록 효과가 커집니다.`)}
+ `),s.join("\n")}
+ function Lhi(t){
+ const i=t.indexOf("/");
+ return i<0?[t.trim(),""]:[t.slice(0,i).trim(),t.slice(i+1).trim()]}
+ function Ghi(t){
+ return t.replace(/^[▶▷▸▹▼▽▾▿]️?\s*/,"")}
+ zt(Nhi,"getCitadelManagerCount"),zt(Phi,"getBuildingContributors"),zt(Dhi,"buildCitadelDesc"),zt(Lhi,"splitTitleSub"),zt(Ghi,"stripArrowGlyph");
- titleKey:"GAME_668",titleDefault:"망루",skillCode:Cx.OfflineMax,eligibleKindNums:[81,84],buildBuffLine:Vt(t=>xG.getValueReplaceMulti("GAME_674",["##","@@"],[t,60+t],`오프라인 최고층 버프 : +${
+ titleKey:"GAME_668",titleDefault:"망루",skillCode:kx.OfflineMax,eligibleKindNums:[81,84],assignedTitleKey:"GAME_676",assignedTitleDefault:"망루 관리자",compactPrimary:zt(t=>{
+ const i=Math.floor(OL.maxWave*(.6+t/100));
+ return{
+ title:DG.getText("GAME_1575","오프라인 진행 웨이브"),value:DG.getValueReplace("GAME_1590","##",i,`${
- %   (기본 60% → ${
+  웨이브`),sub:DG.getValueReplace("GAME_1576","##",60+t,`( 최대의 ${
- %)`),"buildBuffLine"),buildStatLine:Vt(t=>{
- const i=.6+t/100,s=Math.floor(TL.maxWave*i);
- return xG.getValueReplace("GAME_675","##",s,`오프라인 진행 가능 최고층 : ${
+ % )`)}
+ }
+ ,"compactPrimary"),compactSecondary:zt(t=>({
+ title:DG.getText("GAME_1591","웨이브 버프"),value:`+${
- 층`)}
- ,"buildStatLine"),autoDescKey:"GAME_678",autoDescDefault:"오프라인 최고웨이브를 증가시킬 수 있는 능력을 가진 영웅이 자동으로 망루에 배치됩니다.",applyDescKey:"GAME_677",applyDescDefault:"접속하지 않은 동안 도달할 수 있는 최고층 상한이 증가합니다.",assignedTitleKey:"GAME_676",assignedTitleDefault:"망루 관리자"}
+ %`}
+ ),"compactSecondary"),compactDesc:zt(t=>Dhi([{
+ key:"GAME_677",def:"접속하지 않은 동안 도달할 수 있는 최대 웨이브의 상한이 증가합니다."}
+ ,{
+ key:"GAME_678",def:"오프라인 최고웨이브를 증가시킬 수 있는 능력을 가진 영웅이 자동으로 망루에 배치됩니다."}
+ ],t),"compactDesc")}
- titleKey:"GAME_670",titleDefault:"훈련소",skillCode:Cx.OfflineSpeed,eligibleKindNums:[87,88],buildBuffLine:Vt(t=>{
+ titleKey:"GAME_670",titleDefault:"훈련소",skillCode:kx.OfflineSpeed,eligibleKindNums:[87,88],assignedTitleKey:"GAME_681",assignedTitleDefault:"훈련소 관리자",compactPrimary:zt(t=>{
- return xG.getValueReplaceMulti("GAME_680",["##","@@"],[t,i],`오프라인 속도 버프 : +${
+ return{
+ title:DG.getText("GAME_1577","오프라인 진행 속도"),value:DG.getValueReplace("GAME_1590","##",i,`${
- %   (1분당 ${
+  웨이브`),sub:DG.getText("GAME_1578","( 기본 1웨이브 )")}
+ }
+ ,"compactPrimary"),compactSecondary:zt(t=>({
+ title:DG.getText("GAME_1592","속도 버프"),value:`+${
- 층)`)}
- ,"buildBuffLine"),autoDescKey:"GAME_683",autoDescDefault:"오프라인 진행 속도를 증가시킬 수 있는 능력을 가진 영웅이 자동으로 훈련소에 배치됩니다.",applyDescKey:"GAME_682",applyDescDefault:"접속하지 않은 동안 웨이브가 더 빠르게 진행됩니다. (기본 1분당 1층)",assignedTitleKey:"GAME_681",assignedTitleDefault:"훈련소 관리자"}
+ %`}
+ ),"compactSecondary"),compactDesc:zt(t=>Dhi([{
+ key:"GAME_682",def:"접속하지 않은 동안 웨이브가 더 빠르게 진행됩니다. (기본 1분당 1웨이브)"}
+ ,{
+ key:"GAME_683",def:"오프라인 진행 속도를 증가시킬 수 있는 능력을 가진 영웅이 자동으로 훈련소에 배치됩니다."}
+ ],t),"compactDesc")}
- titleKey:"GAME_672",titleDefault:"공방",skillCode:Cx.CastleLevelUp,eligibleKindNums:[82,85],buildBuffLine:Vt(t=>xG.getValueReplace("GAME_684","##",t,`성 레벨 버프 : +${
+ titleKey:"GAME_672",titleDefault:"공방",skillCode:kx.CastleLevelUp,eligibleKindNums:[82,85],assignedTitleKey:"GAME_685",assignedTitleDefault:"공방 관리자",compactPrimary:zt(t=>{
+ const i=vR.getInstance().castleLevel,s=i+t,[e,n]=Lhi(DG.getValueReplace("GAME_1579","##",i,`성 레벨 / ( 기본 ${
- `),"buildBuffLine"),autoDescKey:"GAME_687",autoDescDefault:"성의 레벨을 올려줄 수 있는 능력을 가진 영웅이 자동으로 공방에 배치됩니다.",applyDescKey:"GAME_686",applyDescDefault:"전투 시 성의 실질 레벨에 합산됩니다.",assignedTitleKey:"GAME_685",assignedTitleDefault:"공방 관리자"}
+  )`));
+ return{
+ title:e,value:`${
+ s}
+ `,sub:n}
+ }
+ ,"compactPrimary"),compactSecondary:zt(t=>({
+ title:DG.getText("GAME_1593","레벨 버프"),value:`+${
+ t}
+ `}
+ ),"compactSecondary"),compactDesc:zt(t=>Dhi([{
+ key:"GAME_686",def:"전투 시 성의 실질 레벨에 합산됩니다."}
+ ,{
+ key:"GAME_687",def:"성의 레벨을 올려줄 수 있는 능력을 가진 영웅이 자동으로 공방에 배치됩니다."}
+ ],t),"compactDesc")}
+ ,vault:{
+ titleKey:"GAME_1580",titleDefault:"금고",getValue:zt(()=>fU.getPoints(),"getValue"),getContributors:zt(()=>fU.getContributorsDetail(),"getContributors"),assignedTitleKey:"GAME_1585",assignedTitleDefault:"금고 관리자",previewKindNum:zt(()=>fU.getDisplayKindNum(),"previewKindNum"),compactPrimary:zt(t=>{
+ const i=fU.calcBoxMax(t),s=i-fU.BASE_BOX_MAX;
+ return{
+ title:DG.getText("GAME_1582","골드 상자 최대수"),value:DG.getValueReplace("GAME_1594","##",i,`${
+ i}
+  칸`),sub:DG.getValueReplace("GAME_1583","##",s,`( 추가 : +${
+ s}
+  )`)}
+ }
+ ,"compactPrimary"),compactSecondary:zt(t=>({
+ title:DG.getText("GAME_1584","골드 획득 버프"),value:`+${
+ t*fU.GOLD_PCT_PER_POINT}
+ %`}
+ ),"compactSecondary"),compactGauge:zt(t=>({
+ cur:t,max:fU.MAX_POINTS}
+ ),"compactGauge"),compactDesc:zt(()=>[{
+ key:"GAME_1586",def:"관리 영웅을 보유하면, 자동으로 등록됩니다."}
+ ,{
+ key:"GAME_1587",def:"5★은 4포인트, 6★은 8포인트, 1초월마다 +4포인트씩 증가합니다."}
+ ,{
+ key:"GAME_1588",def:"1포인트마다 골드 상자 · 보석 골드 구매 · 황금 고블린의 골드 획득량이 10%씩 증가합니다."}
+ ,{
+ key:"GAME_1589",def:"20포인트마다 골드 상자 상한이 1칸씩 증가합니다."}
+ ].map(t=>`+ ${
+ DG.getText(t.key,t.def)}
+ `).join("\n"),"compactDesc")}
- super(),Kt(this,"lblBuff",new iL("",fD.DEFAULT_COLOR,fD.DEFAULT_OUTLINE_FONT_OPTION_16)),Kt(this,"lblStat",new iL("",fD.DEFAULT_COLOR,fD.DEFAULT_OUTLINE_FONT_OPTION_16)),Kt(this,"lblAssignedTitle",new iL("",fD.DEFAULT_COLOR,fD.DEFAULT_OUTLINE_FONT_OPTION_16)),Kt(this,"assignedIconContainer",new Ge),Kt(this,"divider",new Lf),Kt(this,"lblAutoNoticeTitle",new iL("",5614165,fD.DEFAULT_FONT_OPTION_15)),Kt(this,"lblAutoNoticeBody",new iL("",7846775,fD.DEFAULT_FONT_OPTION_15)),Kt(this,"lblAutoNoticeCount",new iL("",7846775,fD.DEFAULT_FONT_OPTION_15)),Kt(this,"lblAutoDesc",new iL("",fD.DEFAULT_COLOR,fD.DEFAULT_FONT_OPTION_15)),Kt(this,"lblEligibleTitle",new iL("",fD.DEFAULT_COLOR,fD.DEFAULT_FONT_OPTION_15)),Kt(this,"eligibleIconContainer",new Ge),Kt(this,"lblApplyDesc",new iL("",fD.DEFAULT_COLOR,fD.DEFAULT_FONT_OPTION_15)),this.lblAutoDesc.wordWrap=!0,this.lblAutoDesc.wordWrapWidth=540,this.lblApplyDesc.wordWrap=!0,this.lblApplyDesc.wordWrapWidth=540,this.lblAutoNoticeBody.wordWrap=!0,this.lblAutoNoticeBody.wordWrapWidth=540,this.lblAutoNoticeCount.wordWrap=!0,this.lblAutoNoticeCount.wordWrapWidth=540,this.contentContainer.addChild(this.lblBuff,this.lblStat,this.lblAssignedTitle,this.assignedIconContainer,this.divider,this.lblAutoNoticeTitle,this.lblAutoNoticeBody,this.lblAutoNoticeCount,this.lblAutoDesc,this.lblEligibleTitle,this.eligibleIconContainer,this.lblApplyDesc),this.outSideClickHide=!0}
+ super(),qt(this,"lblBuff",new hL("",wD.DEFAULT_COLOR,wD.DEFAULT_OUTLINE_FONT_OPTION_16)),qt(this,"lblStat",new hL("",wD.DEFAULT_COLOR,wD.DEFAULT_OUTLINE_FONT_OPTION_16)),qt(this,"lblAssignedTitle",new hL("",wD.DEFAULT_COLOR,wD.DEFAULT_OUTLINE_FONT_OPTION_16)),qt(this,"assignedIconContainer",new Ue),qt(this,"divider",new Bf),qt(this,"lblAutoNoticeTitle",new hL("",5614165,wD.DEFAULT_FONT_OPTION_15)),qt(this,"lblAutoNoticeBody",new hL("",7846775,wD.DEFAULT_FONT_OPTION_15)),qt(this,"lblAutoNoticeCount",new hL("",7846775,wD.DEFAULT_FONT_OPTION_15)),qt(this,"lblAutoDesc",new hL("",wD.DEFAULT_COLOR,wD.DEFAULT_FONT_OPTION_15)),qt(this,"lblEligibleTitle",new hL("",wD.DEFAULT_COLOR,wD.DEFAULT_FONT_OPTION_15)),qt(this,"eligibleIconContainer",new Ue),qt(this,"lblApplyDesc",new hL("",wD.DEFAULT_COLOR,wD.DEFAULT_FONT_OPTION_15)),qt(this,"lblVaultGoldTitle",new hL("",12298618,wD.DEFAULT_FONT_OPTION_15)),qt(this,"lblVaultGoldValue",new hL("",16764006,wD.DEFAULT_OUTLINE_FONT_OPTION_24)),qt(this,"lblVaultBoxTitle",new hL("",12298618,wD.DEFAULT_FONT_OPTION_15)),qt(this,"lblVaultBoxValue",new hL("",16764006,wD.DEFAULT_OUTLINE_FONT_OPTION_24)),qt(this,"lblVaultBoxExtra",new hL("",10063736,wD.DEFAULT_FONT_OPTION_15)),qt(this,"vaultGauge",new Bf),qt(this,"lblVaultGaugeText",new hL("",wD.DEFAULT_COLOR,wD.DEFAULT_OUTLINE_FONT_OPTION_16)),qt(this,"lblVaultDescToggle",new hL("",7846775,wD.DEFAULT_FONT_OPTION_15)),qt(this,"vaultDescArrow",new Bf),qt(this,"lblVaultDesc",new hL("",10063736,wD.DEFAULT_FONT_OPTION_15)),qt(this,"vaultDescExpanded",!1),qt(this,"grayFilter",(()=>{
+ const t=new hf;
+ return t.desaturate(),t}
+ )()),qt(this,"compactCfg",null),this.lblAutoDesc.wordWrap=!0,this.lblAutoDesc.wordWrapWidth=540,this.lblApplyDesc.wordWrap=!0,this.lblApplyDesc.wordWrapWidth=540,this.lblAutoNoticeBody.wordWrap=!0,this.lblAutoNoticeBody.wordWrapWidth=540,this.lblAutoNoticeCount.wordWrap=!0,this.lblAutoNoticeCount.wordWrapWidth=540,this.lblVaultDesc.wordWrap=!0,this.lblVaultDesc.wordWrapWidth=500;
+ const t=zt(()=>{
+ this.vaultDescExpanded=!this.vaultDescExpanded,this.layoutCompact(!1)}
+ ,"onToggle");
+ for(const i of[this.lblVaultDescToggle,this.vaultDescArrow])i.eventMode="static",i.cursor="pointer",i.on("pointertap",t);
+ this.contentContainer.addChild(this.lblBuff,this.lblStat,this.lblAssignedTitle,this.assignedIconContainer,this.divider,this.lblAutoNoticeTitle,this.lblAutoNoticeBody,this.lblAutoNoticeCount,this.lblAutoDesc,this.lblEligibleTitle,this.eligibleIconContainer,this.lblApplyDesc,this.lblVaultGoldTitle,this.lblVaultGoldValue,this.lblVaultBoxTitle,this.lblVaultBoxValue,this.lblVaultBoxExtra,this.vaultGauge,this.lblVaultGaugeText,this.lblVaultDescToggle,this.vaultDescArrow,this.lblVaultDesc),this.outSideClickHide=!0}
+ get compactOnlyParts(){
+ return[this.lblVaultGoldTitle,this.lblVaultGoldValue,this.lblVaultBoxTitle,this.lblVaultBoxValue,this.lblVaultBoxExtra,this.vaultGauge,this.lblVaultGaugeText,this.lblVaultDescToggle,this.vaultDescArrow,this.lblVaultDesc]}
+ get standardOnlyParts(){
+ return[this.lblBuff,this.lblStat,this.lblAutoNoticeTitle,this.lblAutoNoticeBody,this.lblAutoNoticeCount,this.lblAutoDesc,this.lblEligibleTitle,this.eligibleIconContainer,this.lblApplyDesc]}
+ var i;
- const s=Ox.getInstance(),e=IR.getCitadelOwnershipTotalWithAwakening(i.skillCode),n=s.getContributorsDetail(i.skillCode);
+ const e=!!s.compactPrimary;
+ for(const u of this.compactOnlyParts)u.visible=e;
+ for(const u of this.standardOnlyParts)u.visible=!e;
+ if(e)return this.compactCfg=s,void this.layoutCompact(!0);
+ const n=s.getValue?s.getValue():OR.getCitadelOwnershipTotalWithAwakening(s.skillCode),h=Phi(s);
- this.lblBuff.text=i.buildBuffLine(e),this.lblBuff.textColor=fD.DEFAULT_COLOR,this.lblBuff.x=h,this.lblBuff.y=r,r+=this.lblBuff.height+8,i.buildStatLine?(this.lblStat.visible=!0,this.lblStat.text=i.buildStatLine(e),this.lblStat.textColor=fD.DEFAULT_COLOR,this.lblStat.x=h,this.lblStat.y=r,r+=this.lblStat.height+14):(this.lblStat.visible=!1,r+=6),this.lblAssignedTitle.text=xG.getText(i.assignedTitleKey,i.assignedTitleDefault),this.lblAssignedTitle.textColor=fD.DEFAULT_COLOR,this.lblAssignedTitle.x=h,this.lblAssignedTitle.y=r,r+=this.lblAssignedTitle.height+6;
+ this.lblBuff.text=(null==(i=s.buildBuffLine)?void 0:i.call(s,n))??"",this.lblBuff.textColor=wD.DEFAULT_COLOR,this.lblBuff.x=r,this.lblBuff.y=o,o+=this.lblBuff.height+8,s.buildStatLine?(this.lblStat.visible=!0,this.lblStat.text=s.buildStatLine(n),this.lblStat.textColor=wD.DEFAULT_COLOR,this.lblStat.x=r,this.lblStat.y=o,o+=this.lblStat.height+14):(this.lblStat.visible=!1,o+=6),this.lblAssignedTitle.text=DG.getText(s.assignedTitleKey??"",s.assignedTitleDefault??""),this.lblAssignedTitle.textColor=wD.DEFAULT_COLOR,this.lblAssignedTitle.x=r,this.lblAssignedTitle.y=o,o+=this.lblAssignedTitle.height+6;
- xG.getText(i.applyDescKey,i.applyDescDefault)}
+ DG.getText(s.applyDescKey??"",s.applyDescDefault??"")}
- xG.getText(i.autoDescKey,i.autoDescDefault)}
+ DG.getText(s.autoDescKey??"",s.autoDescDefault??"")}
- const a=[...i.eligibleKindNums].sort((t,i)=>i-t);
+ const c=[...s.eligibleKindNums??[]].sort((t,i)=>i-t);
+ layoutCompact(t){
+ var i,s,e,n,h;
+ const r=this.compactCfg;
+ if(!r||!r.compactPrimary)return;
+ const o=r.getValue?r.getValue():OR.getCitadelOwnershipTotalWithAwakening(r.skillCode),a=Phi(r);
+ this.assignedIconContainer.removeChildren();
+ const c=30;
+ let l=70;
+ const u=r.compactPrimary(o),d=null==(i=r.compactSecondary)?void 0:i.call(r,o);
+ this.lblVaultBoxTitle.text=u.title,this.lblVaultBoxTitle.x=c,this.lblVaultBoxTitle.y=l,this.lblVaultGoldTitle.text=(null==d?void 0:d.title)??"",this.lblVaultGoldTitle.x=290,this.lblVaultGoldTitle.y=l,l+=this.lblVaultBoxTitle.height+2,this.lblVaultBoxValue.text=u.value,this.lblVaultBoxValue.x=c,this.lblVaultBoxValue.y=l,this.lblVaultBoxExtra.text=u.sub??"",this.lblVaultBoxExtra.x=this.lblVaultBoxValue.x+this.lblVaultBoxValue.width+6,this.lblVaultBoxExtra.y=l+this.lblVaultBoxValue.height-this.lblVaultBoxExtra.height-4,this.lblVaultGoldValue.text=(null==d?void 0:d.value)??"",this.lblVaultGoldValue.x=290,this.lblVaultGoldValue.y=l,l+=this.lblVaultBoxValue.height+14;
+ const f=null==(s=r.compactGauge)?void 0:s.call(r,o);
+ if(this.vaultGauge.visible=!!f,this.lblVaultGaugeText.visible=!!f,f){
+ const t=14,i=408,s=Math.max(0,Math.min(1,f.cur/f.max));
+ this.vaultGauge.clear().roundRect(c,l,i,t,.5*t).fill({
+ color:0,alpha:.45}
+ ),s>0&&this.vaultGauge.roundRect(c,l,Math.max(t,i*s),t,.5*t).fill({
+ color:16757820}
+ ),this.vaultGauge.roundRect(c,l,i,t,.5*t).stroke({
+ color:6969924,width:1,alpha:.9}
+ ),this.lblVaultGaugeText.text=`${
+ f.cur}
+  / ${
+ f.max}
+  P`,this.lblVaultGaugeText.x=c+i+10,this.lblVaultGaugeText.y=l+.5*(t-this.lblVaultGaugeText.height),l+=t+18}
+ const p=DG.getText(r.assignedTitleKey??"",r.assignedTitleDefault||DG.getText("GAME_691","관리자"));
+ this.lblAssignedTitle.text=`${
+ p}
+  ${
+ a.length}
+ /5`,this.lblAssignedTitle.textColor=wD.DEFAULT_COLOR,this.lblAssignedTitle.x=c,this.lblAssignedTitle.y=l,l+=this.lblAssignedTitle.height+6;
+ const g=(null==(e=r.previewKindNum)?void 0:e.call(r))??((null==(n=r.eligibleKindNums)?void 0:n.length)?Math.max(...r.eligibleKindNums):0);
+ l+=this.renderCompactSlots(a.slice(0,5),g,c,l)+14,this.divider.clear().rect(c,l,500,1).fill({
+ color:6969924,alpha:.7}
+ ),l+=14,this.lblVaultDescToggle.text=Ghi(this.vaultDescExpanded?DG.getText("GAME_1574","자세히 보기"):DG.getText("GAME_1573","자세히 보기")),this.lblVaultDescToggle.x=48,this.lblVaultDescToggle.y=l,this.drawToggleArrow(36,l+.5*this.lblVaultDescToggle.height,this.vaultDescExpanded),l+=this.lblVaultDescToggle.height+8,this.lblVaultDesc.visible=this.vaultDescExpanded,this.vaultDescExpanded&&(this.lblVaultDesc.text=(null==(h=r.compactDesc)?void 0:h.call(r,a.length))??"",this.lblVaultDesc.x=c,this.lblVaultDesc.y=l,l+=this.lblVaultDesc.height+10),l+=8,this.height=l+20,t?super.show():(this.pivot.set(this.width/2,this.height/2),this.position.set(320,this.getPositionY()))}
+ drawToggleArrow(t,i,s){
+ this.vaultDescArrow.clear(),s?this.vaultDescArrow.poly([t-5,i-3,t+5,i-3,t,i+4]):this.vaultDescArrow.poly([t-3,i-5,t+4,i,t-3,i+5]),this.vaultDescArrow.fill({
+ color:7846775}
+ )}
+ renderCompactSlots(t,i,s,e){
+ let n=s,h=0;
+ const r=zt(t=>{
+ t.scale.set(.8),t.x=n,t.y=e,this.assignedIconContainer.addChild(t),n+=t.width+4,t.height>h&&(h=t.height)}
+ ,"place");
+ for(const a of t){
+ const t=new M5;
+ t.setDataWithKindNum(a.kindNum,a.trans),r(t)}
+ const o=Math.max(0,5-t.length);
+ for(let a=0;
+ a<o;
+ a++){
+ const t=new M5;
+ i>0?(t.setDataWithKindNum(i),t.filters=[this.grayFilter],t.alpha=.75,t.eventMode="static",t.cursor="pointer",t.on("pointertap",()=>{
+ const t=_x.getInstance().getBookVO(i),s=DG.getText(`UNIT_NAME_${
+ i}
+ `,(null==t?void 0:t.name)??"");
+ WF.getInstance().showMessage(DG.getValueReplace("GAME_831","##",s,`${
+ s}
+ 을 보유하고 있지 않습니다.`))}
+ )):(t.hideIcon(),t.hideLevel(),t.hideEnhance(),t.alpha=.35),r(t)}
+ return h}
WaveCallGuidePopup 1 hunks, 146 statements
+ super(),qt(this,"curTab","wave"),qt(this,"tabWave"),qt(this,"tabTimeShift"),qt(this,"iconWave"),qt(this,"iconTimeShift"),qt(this,"lblHeader"),qt(this,"autoPill",new FF),qt(this,"lblIntro"),qt(this,"lblGuideTitle"),qt(this,"lblGuide"),qt(this,"lblStatusTitle"),qt(this,"lblStatus"),qt(this,"lblHeroesTitle"),qt(this,"heroGroups",[]),this.tabWave=new rpi(t.waveCallName()),this.tabWave.onTap=()=>this.showTab("wave"),this.contentContainer.addChild(this.tabWave),this.tabTimeShift=new rpi(t.timeShiftName()),this.tabTimeShift.onTap=()=>this.showTab("timeShift"),this.contentContainer.addChild(this.tabTimeShift),this.iconWave=new $e(tS.getTexture("UI_Ekkorr","BTN_WAVE")),this.iconWave.eventMode="none",this.contentContainer.addChild(this.iconWave),this.iconTimeShift=new $e(tS.getTexture("UI_Ekkorr","callOfDawn")),this.iconTimeShift.eventMode="none",this.contentContainer.addChild(this.iconTimeShift),this.lblHeader=new hL("",16777215,wD.DEFAULT_OUTLINE_FONT_OPTION_20),this.contentContainer.addChild(this.lblHeader),this.autoPill.onTap=()=>this.onAutoToggle(),this.contentContainer.addChild(this.autoPill),this.lblIntro=this.makeBody(),this.lblGuideTitle=this.makeSectionTitle(),this.lblGuide=this.makeBody(),this.lblStatusTitle=this.makeSectionTitle(),this.lblStatus=this.makeBody(),this.lblHeroesTitle=this.makeSectionTitle(),this.outSideClickHide=!0}
+ static getInstance(){
+ return this._instance||(this._instance=new t),this._instance}
+ static waveCallName(){
+ return DG.getText("CASTLE_SPECIAL_SHORT_5","웨이브 호출")}
+ static timeShiftName(){
+ return DG.getText("GAME_1565","황혼의 부름")}
+ makeSectionTitle(){
+ const t=new hL("",16767354,wD.DEFAULT_FONT_OPTION_16);
+ return this.contentContainer.addChild(t),t}
+ makeBody(){
+ const t=new hL("",wD.DEFAULT_COLOR,wD.DEFAULT_FONT_OPTION_16);
+ return wD.setLabelWrapWidth(t,this.width-60),this.contentContainer.addChild(t),t}
+ async showGuide(){
+ await t0t.load(),this.showTab(this.curTab),await this.loadImage(),super.show()}
+ onAutoToggle(){
+ if("wave"===this.curTab)return jF.getInstance().toggleWaveFromUI(),void this.autoPill.setOn(jF.getInstance().waveEnabled);
+ if(!t0t.isUnlocked)return void WF.getInstance().showMessage(DG.getValueReplace("GAME_633","##",t0t.UNLOCK_MAX_WAVE,"최고 WAVE 200 이상에서 환생 후 이용가능합니다."));
+ const t=!t0t.autoEnabled;
+ t0t.setAutoEnabled(t),this.autoPill.setOn(t)}
+ showTab(t){
+ const i="wave"===t?"timeShift":"wave",s=this.fillTab(i),e=this.fillTab(t);
+ this.height=Math.max(s,e)+40}
+ fillTab(i){
+ this.curTab=i;
+ const s="wave"===i,e=30;
+ this.title=DG.getText("COMMON_49","설정"),this.tabWave.setActive(s),this.tabTimeShift.setActive(!s);
+ const n=.5*(this.width-60-8);
+ this.tabWave.setSize(n),this.tabTimeShift.setSize(n),this.tabWave.x=e,this.tabWave.y=64,this.tabTimeShift.x=this.tabWave.x+n+8,this.tabTimeShift.y=64;
+ const h=64+this.tabWave.tabHeight+16;
+ this.iconWave.visible=s,this.iconTimeShift.visible=!s;
+ const r=s?this.iconWave:this.iconTimeShift;
+ r.scale.set(48/r.texture.height),r.x=e,r.y=h,this.lblHeader.text=s?t.waveCallName():t.timeShiftName(),this.lblHeader.x=r.x+r.width+12,this.lblHeader.y=h+.5*(48-this.lblHeader.height),this.autoPill.setOn(s?jF.getInstance().waveEnabled:t0t.autoEnabled),this.autoPill.x=this.width-30-this.autoPill.pillWidth,this.autoPill.y=h+.5*(48-this.autoPill.pillHeight),this.lblIntro.text=s?DG.getText("GAME_1553","웨이브 호출은 다음 웨이브의 적들을 한꺼번에 불러내 처리함으로써, 게임의 진행속도를 빠르게 하는 기술입니다."):DG.getText("GAME_1566","황혼의 부름은 낮을 밤으로 바꿈으로서, 낮을 건너뛰어 밤 웨이브로 전환하는 기술입니다."),this.lblIntro.x=e,this.lblIntro.y=h+48+16;
+ const o=s?[DG.getText("GAME_1555","1. 웨이브 호출 게이지는 100초 마다 충전되고, 가득 차면, 호출할 수 있습니다."),DG.getText("GAME_1556","2. 신전에서 [ 웨이브호출 ] 레벨을 올리면, 최대 호출 횟수가 늘어납니다."),DG.getText("GAME_1557","3. 영웅의 고유스킬로 충전속도를 빠르게 할 수 있습니다.")]:[DG.getValueReplace("GAME_1567","##",Math.round(t0t.intervalSec),`1. 황혼의 부름은 ${
+ Math.round(t0t.intervalSec)}
+ 초마다 충전되며, 가득 차면 호출할 수 있습니다.`),DG.getText("GAME_1568","2. 영웅의 고유스킬로 충전속도를 빠르게 할 수 있습니다.")];
+ this.lblGuideTitle.text=DG.getSquareBracketStr(DG.getText("GAME_1554","상세 설명")),this.lblGuideTitle.x=e,this.lblGuideTitle.y=this.lblIntro.y+this.lblIntro.height+20,this.lblGuide.text=o.join("\n"),this.lblGuide.x=e,this.lblGuide.y=this.lblGuideTitle.y+this.lblGuideTitle.height+8;
+ let a=this.lblGuide.y+this.lblGuide.height;
+ this.lblStatusTitle.visible=!0,this.lblStatus.visible=!0,this.lblStatusTitle.text=DG.getSquareBracketStr(DG.getText("GAME_1558","현재 버프 상태")),this.lblStatusTitle.x=e,this.lblStatusTitle.y=a+20,this.lblStatus.text=s?this.buildWaveStatusText():this.buildDawnStatusText(),this.lblStatus.x=e,this.lblStatus.y=this.lblStatusTitle.y+this.lblStatusTitle.height+8,a=this.lblStatus.y+this.lblStatus.height,this.lblHeroesTitle.text=DG.getSquareBracketStr(s?DG.getText("GAME_1562","웨이브 호출 관련 영웅들"):DG.getText("GAME_1569","황혼의 부름 관련 영웅들")),this.lblHeroesTitle.x=e,this.lblHeroesTitle.y=a+20,a=this.lblHeroesTitle.y+this.lblHeroesTitle.height+8;
+ const c=s?[{
+ title:DG.getText("GAME_1563","충전속도 증가 영웅"),code:kx.WaveCall}
+ ,{
+ title:DG.getText("GAME_1564","호출당 층을 증가시켜주는 영웅 ( 더블 웨이브 호출 )"),code:kx.DoubleWave}
+ ]:[{
+ title:DG.getText("GAME_1563","충전속도 증가 영웅"),code:kx.CallOfDawn}
+ ];
+ for(let t=0;
+ t<c.length;
+ t++){
+ const i=this.getHeroGroup(t);
+ i.setData(c[t].title,c[t].code,this.width-60),i.x=e,i.y=a,i.visible=!0,a+=i.rowHeight+10}
+ for(let t=c.length;
+ t<this.heroGroups.length;
+ t++)this.heroGroups[t].visible=!1;
+ return a}
+ getHeroGroup(t){
+ let i=this.heroGroups[t];
+ return i||(i=new npi,this.heroGroups[t]=i,this.contentContainer.addChild(i)),i}
+ buildWaveStatusText(){
+ const t=n0t.getInstance().getGuideStatus(),i=Math.round(100*(t.waveCallBuff-1)),s=zR.getInstance().getGameplayTotal(RR.DoubleWave)+OR.getRaptiOwnedDoubleWaveContribution(),e=Math.min(100,Math.round(s));
+ return[DG.getValueReplace("GAME_1559","##",t.maxCall,`최대 충전 개수 : ${
+ t.maxCall}
+ `),DG.getValueReplaceMulti("GAME_1560",["##","@@"],[Math.round(t.secondsPerCall),i],`1회 충전 시간 : ${
+ Math.round(t.secondsPerCall)}
+ 초 ( 충전속도 +${
+ i}
+ % )`),DG.getValueReplace("GAME_1561","##",e,`한번에 2층 넘어갈 확률 : ${
+ e}
+ % 확률로 +1`)].join("\n")}
+ buildDawnStatusText(){
+ const t=t0t.getGuideStatus();
+ return[DG.getValueReplace("GAME_1559","##",t.maxStack,`최대 충전 개수 : ${
+ t.maxStack}
+ `),DG.getValueReplaceMulti("GAME_1560",["##","@@"],[Math.round(t.secondsPerStack),t.buffPercent],`1회 충전 시간 : ${
+ Math.round(t.secondsPerStack)}
+ 초 ( 충전속도 +${
+ t.buffPercent}
+ % )`)].join("\n")}
+ getDefaultPositionY(){
+ return.45*zA.stageHeight}
+ onBackButton(){
+ return this.hide(),!0}
+ }
+ ;
+ zt(ipi,"WaveCallGuidePopup"),qt(ipi,"_instance");
+ let spi=ipi;
+ const epi=class t extends Ue{
+ constructor(){
+ super(),qt(this,"lbl"),qt(this,"icons",[]),qt(this,"iconHeight",0),this.lbl=new hL("",13421772,wD.DEFAULT_FONT_OPTION_16),this.lbl.eventMode="none",this.addChild(this.lbl)}
+ get rowHeight(){
+ return this.lbl.height+6+this.iconHeight}
+ setData(i,s,e){
+ this.lbl.text=i,wD.setLabelWrapWidth(this.lbl,e),this.lbl.x=0,this.lbl.y=0;
+ for(const t of this.icons)t.removeFromParent();
+ if(this.icons.length=0,this.iconHeight=0,!s)return;
+ const n=xx.getInstance(),h=_x.getInstance(),r=new Map;
+ for(const t of h.bookList){
+ const i=n.getByKindNum(t.uniqueSkill);
+ if(!(null==i?void 0:i.code))continue;
+ if(n.normalizeCode(i.code)!==s)continue;
+ const e=i.value??0,h=r.get(t.base);
+ (void 0===h||e>h)&&r.set(t.base,e)}
+ const o=[...r.entries()].map(([t,i])=>({
+ base:t,value:i}
+ ));
+ o.sort((t,i)=>i.value-t.value);
+ let a=0,c=this.lbl.height+6,l=0;
+ for(const u of o){
+ const i=tS.getTexture("UI_Ekkorr",`Hero${
+ u.base}
+ `);
+ if(!i)continue;
+ const s=new $e(i);
+ s.scale.set(t.ICON_SCALE),s.eventMode="none",a>0&&a+s.width>e&&(a=0,c+=l+t.ICON_GAP,l=0),s.x=a,s.y=c,this.addChild(s),this.icons.push(s),a+=s.width+t.ICON_GAP,l=Math.max(l,s.height)}
+ this.iconHeight=this.icons.length>0?c+l-(this.lbl.height+6):0}
+ }
+ ;
+ zt(epi,"HeroGroupRow"),qt(epi,"ICON_SCALE",.5),qt(epi,"ICON_GAP",4);
+ let npi=epi;
+ const hpi=class t extends Ue{
+ constructor(t){
+ super(),qt(this,"bg",new Bf),qt(this,"lbl"),qt(this,"tabW",120),qt(this,"active",!1),qt(this,"onTap",null),this.lbl=new hL(t,10132122,wD.DEFAULT_FONT_OPTION_16),this.lbl.eventMode="none",this.bg.eventMode="none",this.addChild(this.bg,this.lbl),this.eventMode="static",this.cursor="pointer",this.on("pointertap",()=>{
+ var t;
+ return null==(t=this.onTap)?void 0:t.call(this)}
+ ),this.draw()}
+ get tabHeight(){
+ return t.H}
+ setSize(i){
+ this.tabW!==i&&(this.tabW=i,this.hitArea=new Pi(0,0,i,t.H),this.draw())}
+ setActive(t){
+ this.active!==t&&(this.active=t,this.draw())}
+ draw(){
+ const i=t.H;
+ this.bg.clear().roundRect(0,0,this.tabW,i,8).fill({
+ color:this.active?FF.ON_BG:0,alpha:this.active?FF.ON_BG_ALPHA:.35}
+ ),this.lbl.textColor=this.active?16767354:10132122,this.lbl.x=.5*(this.tabW-this.lbl.width),this.lbl.y=.5*(i-this.lbl.height)}
+ }
+ ;
+ zt(hpi,"TabButton"),qt(hpi,"H",32);
+ let rpi=hpi;
+ const opi=Object.freeze(Object.defineProperty({
+ __proto__:null,WaveCallGuidePopup:spi}
+ ,Symbol.toStringTag,{
+ value:"Module"}
+ )),api=class t extends XO{
+ constructor(){
LocalDataManager 6 hunks, 119 statements
+ static async readNativeCreds(){
+ try{
+ const{
+ Preferences:t}
+ =await Qt(async()=>{
+ const{
+ Preferences:t}
+ =await Promise.resolve().then(()=>nci);
+ return{
+ Preferences:t}
+ }
+ ,void 0);
+ return(await t.get({
+ key:this.CREDS_NATIVE_KEY}
+ )).value??null}
+ catch{
+ return null}
+ }
+ static async writeNativeCreds(t){
+ try{
+ const{
+ Preferences:i}
+ =await Qt(async()=>{
+ const{
+ Preferences:t}
+ =await Promise.resolve().then(()=>nci);
+ return{
+ Preferences:t}
+ }
+ ,void 0);
+ await i.set({
+ key:this.CREDS_NATIVE_KEY,value:t}
+ )}
+ catch{
+ }
+ }
+ static parseCredsBlob(t){
+ if(!t)return null;
+ const i=this.decrypt(t,!0);
+ return i&&"number"==typeof i.seq?i:null}
+ static async writeCredsBlob(t,i){
+ const s=Date.now(),e=t?{
+ accountId:t,authToken:i,seq:s}
+ :{
+ accountId:"",authToken:"",seq:s,deletedAt:s}
+ ,n=this.encrypt(e,!0);
+ try{
+ await $A.setItem(this.CREDS_LF_KEY,n)}
+ catch(h){
+ }
+ try{
+ window.localStorage.setItem(this.CREDS_LS_KEY,n)}
+ catch(h){
+ }
+ await this.writeNativeCreds(n)}
+ static async resolveAccountCreds(){
+ let t=0;
+ const i=[];
+ try{
+ const t=await $A.getItem(this.CREDS_LF_KEY),s=this.parseCredsBlob(t);
+ s&&i.push(s)}
+ catch(r){
+ t++}
+ try{
+ const t=this.parseCredsBlob(window.localStorage.getItem(this.CREDS_LS_KEY));
+ t&&i.push(t)}
+ catch(r){
+ t++}
+ const s=this.parseCredsBlob(await this.readNativeCreds());
+ s&&i.push(s);
+ let e=null,n=!1;
+ try{
+ e=await $A.getItem("A5T0JD2RH1D")}
+ catch(r){
+ n=!0}
+ const h=i.sort((t,i)=>i.seq-t.seq)[0]??null;
+ if(h&&!h.deletedAt&&h.accountId){
+ try{
+ await $A.setItem("A5T0JD2RH1D",h.accountId)}
+ catch(r){
+ }
+ try{
+ await this.saveData(this.getKey("aT"),h.authToken,!0)}
+ catch(r){
+ }
+ return await this.writeCredsBlob(h.accountId,h.authToken),{
+ accountId:h.accountId,authToken:h.authToken||null,readFailed:!1}
+ }
+ return(null==h?void 0:h.deletedAt)?{
+ accountId:null,authToken:null,readFailed:!1}
+ :e?{
+ accountId:e,authToken:await this.getAuthToken(),readFailed:!1}
+ :{
+ accountId:null,authToken:null,readFailed:t>0||n}
+ }
+ static async resolveAccountCredsWithRetry(t=3,i=500){
+ let s=await this.resolveAccountCreds();
+ for(let e=0;
+ e<t&&s.readFailed&&!s.accountId;
+ e++)await new Promise(t=>setTimeout(t,i)),s=await this.resolveAccountCreds();
+ return s}
- }
+ const i=t&&await this.getAuthToken()||"";
+ await this.writeCredsBlob(t,i)}
- await this.saveData(this.getKey("aT"),t,!0)}
+ await this.saveData(this.getKey("aT"),t,!0);
+ const i=await this.getAccountId()||"";
+ i&&await this.writeCredsBlob(i,t)}
+ static async getCastleAutoEnabled(){
+ const t=this.getKey("cAuto");
+ return await this.getData(t)}
+ static async setCastleAutoEnabled(t){
+ const i=this.getKey("cAuto");
+ await this.saveData(i,t)}
+ static async getTimeShiftAutoEnabled(){
+ const t=this.getKey("tsAuto");
+ return await this.getData(t)}
+ static async setTimeShiftAutoEnabled(t){
+ const i=this.getKey("tsAuto");
+ await this.saveData(i,t)}
- Vt(WA,"LocalDataManager"),Kt(WA,"encryptionKey",null),Kt(WA,"BASE_KEY","EF2_DEFAULT_KEY_2025"),Kt(WA,"KEY_GAME_OVER",WA.getKey("gO")),Kt(WA,"KEY_RALLY_POINTS",WA.getKey("rP")),Kt(WA,"KEY_DIALOGUE_COUNT",WA.getKey("dC")),Kt(WA,"BASE","EF2_STORAGE_"),Kt(WA,"SALT","e1z7sf2h"),Kt(WA,"KEYS",{
+ zt(jA,"LocalDataManager"),qt(jA,"encryptionKey",null),qt(jA,"BASE_KEY","EF2_DEFAULT_KEY_2025"),qt(jA,"CREDS_LF_KEY",jA.getKey("aC")),qt(jA,"CREDS_LS_KEY","EF2_ACB"),qt(jA,"CREDS_NATIVE_KEY","ef2_account_creds"),qt(jA,"KEY_GAME_OVER",jA.getKey("gO")),qt(jA,"KEY_RALLY_POINTS",jA.getKey("rP")),qt(jA,"KEY_DIALOGUE_COUNT",jA.getKey("dC")),qt(jA,"BASE","EF2_STORAGE_"),qt(jA,"SALT","e1z7sf2h"),qt(jA,"KEYS",{
ShopItemCell 2 hunks, 118 statements
+ function jpi(t,i,s){
+ const e=[],n=FZt(t),h=WZt(n,s.handLevels[n]??1);
+ let r=h.power,o=h.buff+s.permBuffStacks,a=1;
+ const c=zt((t,i=-1,s=-1)=>{
+ e.push({
+ kind:t,cardIndex:i,petIndex:s,power:r,buff:Math.round(o*a*10)/10}
+ )}
+ ,"push");
+ c("base");
+ const l=null!==s.bossGimmickId?jZt(s.bossGimmickId).effect:null;
+ for(let d=0;
+ d<t.length;
+ d++){
+ const i=t[d];
+ if("suitZero"===l&&i.suit===s.bossGimmickSuit||"heroVoid"===l&&i.rank>=11&&i.rank<=13||i.rank<2)continue;
+ const e="orc"===i.seal?2:1;
+ for(let t=0;
+ t<e;
+ t++)r+=DZt(i.rank),"power"===i.enhance&&(r+=30),"buff"===i.enhance&&(o+=4),"glass"===i.enhance&&(a*=2);
+ c("card",d)}
+ let u=VZt(t,[],s);
+ for(let d=0;
+ d<i.length;
+ d++){
+ const e=VZt(t,i.slice(0,d+1),s);
+ e.power===u.power&&e.buffAdd===u.buffAdd&&e.buffMultTotal===u.buffMultTotal||(r=e.power,o=e.buffAdd,a=e.buffMultTotal,c("pet",-1,d)),u=e}
+ return e}
+ zt(jpi,"buildScoreSteps");
- super(),Kt(this,"lblHeader"),Kt(this,"choiceCards",[]),Kt(this,"lblReplaceGuide"),Kt(this,"ownedCards",[]),Kt(this,"btnConfirm"),Kt(this,"btnSkip"),Kt(this,"selectedChoice",-1),Kt(this,"selectedReplace",-1),Kt(this,"needReplace",!1),Kt(this,"onPick",null),this.bg.visible=!1,this.btnClose.visible=!1,this.width=640,this.lblHeader=new iL(xG.getText("","함께할 동료를 선택하세요"),fD.DEFAULT_COLOR,fD.DEFAULT_OUTLINE_FONT_OPTION_24),this.contentContainer.addChild(this.lblHeader);
+ super(),qt(this,"bg"),qt(this,"lblKind"),qt(this,"lblName"),qt(this,"lblPrice"),qt(this,"item",null),qt(this,"onTap",null),this.bg=new Bf,this.addChild(this.bg),this.lblKind=new hL("",wD.DEFAULT_COLOR,wD.DEFAULT_FONT_OPTION_15),this.lblKind.x=10,this.lblKind.y=8,this.addChild(this.lblKind),this.lblName=new hL("",wD.DEFAULT_COLOR,wD.DEFAULT_OUTLINE_FONT_OPTION_18),this.lblName.x=10,this.lblName.y=32,this.addChild(this.lblName),this.lblPrice=new hL("",16767332,wD.DEFAULT_OUTLINE_FONT_OPTION_18),this.lblPrice.textColor=16767332,this.addChild(this.lblPrice),this.eventMode="static",this.cursor="pointer",this.on("pointertap",()=>{
+ this.item&&!this.item.sold&&this.onTap&&this.onTap(this)}
+ )}
+ setItem(i){
+ this.item=i,this.visible=null!==i,i&&(this.lblKind.text={
+ pet:"펫",consumable:"천사/악마",relic:"유물",voucher:"특수카드",pack:"팩"}
+ [i.kind]??"",this.lblKind.textColor={
+ pet:7317759,consumable:15782016,relic:13616373,voucher:16752235,pack:10407804}
+ [i.kind]??16777215,this.lblName.text=Npi(i),this.lblPrice.text=i.sold?DG.getText("","판매됨"):`${
+ i.price}
+  G`,this.lblPrice.x=t.W-this.lblPrice.width-10,this.lblPrice.y=t.H-this.lblPrice.height-8,this.bg.clear(),this.bg.roundRect(0,0,t.W,t.H,10).fill({
+ color:i.sold?1709070:2760724}
+ ).stroke({
+ color:i.sold?3813154:7033651,width:2}
+ ),this.alpha=i.sold?.5:1)}
+ }
+ ;
+ zt(Vpi,"ShopItemCell"),qt(Vpi,"W",190),qt(Vpi,"H",96);
+ let Kpi=Vpi;
+ const zpi=class extends Ue{
+ constructor(){
+ super(),qt(this,"lblTitle"),qt(this,"lblGold"),qt(this,"cells",[]),qt(this,"lblOwned"),qt(this,"ownedPets",[]),qt(this,"lblConsumables"),qt(this,"btnReroll"),qt(this,"btnNext"),qt(this,"onBuy",null),qt(this,"onPetTap",null),qt(this,"onReroll",null),qt(this,"onNext",null),this.lblTitle=new hL("",wD.DEFAULT_COLOR,wD.DEFAULT_OUTLINE_FONT_OPTION_24),this.lblTitle.x=25,this.addChild(this.lblTitle),this.lblGold=new hL("",16767332,wD.DEFAULT_OUTLINE_FONT_OPTION_24),this.lblGold.textColor=16767332,this.addChild(this.lblGold);
+ for(let t=0;
+ t<6;
+ t++){
+ const t=new Kpi;
+ t.onTap=t=>{
+ this.onBuy&&t.item&&this.onBuy(t.item.slot)}
+ ,this.cells.push(t),this.addChild(t)}
+ this.lblOwned=new hL(DG.getText("","보유 — 펫 탭: 판매"),wD.DEFAULT_COLOR,wD.DEFAULT_FONT_OPTION_15),this.lblOwned.x=25,this.addChild(this.lblOwned);
+ for(let t=0;
+ t<6;
+ t++){
+ const i=new Hpi(!0);
+ i.slotIndex=t,i.onTap=t=>{
+ this.onPetTap&&this.onPetTap(t.slotIndex)}
+ ,i.scale.set(.72),this.ownedPets.push(i),this.addChild(i)}
+ this.lblConsumables=new hL("",wD.DEFAULT_COLOR,wD.DEFAULT_FONT_OPTION_15),this.lblConsumables.x=25,this.addChild(this.lblConsumables),this.btnReroll=new oG(DG.getText("","리롤")),this.btnReroll.width=285,this.btnReroll.onClick=()=>{
+ this.onReroll&&this.onReroll()}
+ ,this.addChild(this.btnReroll),this.btnNext=new oG(DG.getText("","다음 전투 →")),this.btnNext.width=285,this.btnNext.onClick=()=>{
+ this.onNext&&this.onNext()}
+ ,this.addChild(this.btnNext)}
+ setData(t,i,s){
+ const e=t.shop;
+ if(!e)return;
+ this.lblTitle.text=`${
+ DG.getText("","상점")}
+  — ${
+ t.chapter}
+ ${
+ DG.getText("","챕터")}
+  · ${
+ Spi[t.stage]}
+ `,this.lblTitle.y=i,this.lblGold.text=`${
+ t.gold}
+  G`,this.lblGold.x=615-this.lblGold.width,this.lblGold.y=i;
+ let n=i+46;
+ const h=.5*(640-2*Kpi.W-12);
+ for(let c=0;
+ c<this.cells.length;
+ c++){
+ const t=c<e.items.length?e.items[c]:null;
+ this.cells[c].setItem(t),t&&(this.cells[c].x=h+c%2*(Kpi.W+12),this.cells[c].y=n+Math.floor(c/2)*(Kpi.H+10))}
+ n+=Math.ceil(e.items.length/2)*(Kpi.H+10)+14,this.lblOwned.y=n,n+=26;
+ const r=.72*Hpi.COMPACT_WIDTH;
+ for(let c=0;
+ c<this.ownedPets.length;
+ c++){
+ const i=this.ownedPets[c];
+ c<t.jokers.length?(i.visible=!0,i.setJoker(t.jokers[c]),i.x=25+c*(r+6),i.y=n):i.visible=!1}
+ n+=.72*Hpi.COMPACT_HEIGHT+12;
+ const o=t.consumables.length>0?t.consumables.map(t=>Cpi(t)).join(" · "):DG.getText("","(소모품 없음)");
+ this.lblConsumables.text=`${
+ DG.getText("","소모품")}
+ : ${
+ o}
+ `,this.lblConsumables.y=n;
+ const a=s-this.btnReroll.height;
+ this.btnReroll.text=`${
+ DG.getText("","리롤")}
+  ${
+ e.rerollCost}
+  G`,this.btnReroll.x=25,this.btnReroll.y=a,this.btnReroll.activated=t.gold>=e.rerollCost,this.btnNext.x=615-this.btnNext.width,this.btnNext.y=a}
+ }
+ ;
+ zt(zpi,"ShopView");
+ let qpi=zpi;
+ const Ypi=class t extends wG{
+ constructor(){
+ super(),qt(this,"lblHeader"),qt(this,"cardChoices",[]),qt(this,"petChoices",[]),qt(this,"textChoices",[]),qt(this,"btnConfirm"),qt(this,"btnSkip"),qt(this,"selected",-1),qt(this,"onPick",null),this.bg.visible=!1,this.btnClose.visible=!1,this.width=640,this.lblHeader=new hL(DG.getText("","하나를 선택하세요"),wD.DEFAULT_COLOR,wD.DEFAULT_OUTLINE_FONT_OPTION_24),this.contentContainer.addChild(this.lblHeader);
Succubus1 6 hunks, 103 statements
- const b2=class extends fZ{
+ const S2=class t extends vZ{
- super()}
+ super(),qt(this,"charmed",[]),qt(this,"charmFxPoint",new wi(0,0))}
+ setData(t,i=1,s=1,e=1){
+ super.setData(t,i,s,e),this.releaseAllCharms()}
+ onDie(){
+ var t;
+ null==(t=super.onDie)||t.call(this),this.releaseAllCharms()}
- super.initializeData(),this.className=rx.Succubus1,this.sheetName="Game1",this.radius=7,this.hitHeight=24,this.unitType=ix.RANGE,this.weaponClass=Aj.SuccubusBlade1,this.idleFrames=new ZF(0,27),this.moveFrames=new ZF(28,46),this.attackFrames=new ZF(47,76),this.skillFrames=new ZF(77,115),this.dieFrames=new ZF(116,131),this.objAtk={
- 56:1}
+ super.initializeData(),this.className=ax.Succubus1,this.sheetName="Game1",this.textureName="Succubus2",this.unitType=ex.RANGE,this.weaponClass=kj.SuccubusWeapon,this.radius=7,this.hitHeight=36,this.uiTopOffset=16,this.idleFrames=new nH(0,34),this.moveFrames=new nH(35,69),this.attackFrames=new nH(70,99),this.skillFrames=new nH(100,147),this.dieFrames=new nH(148,159),this.objAtk={
+ 78:1}
- 101:1}
- ,this.isAir=!0,this.airHeight=40,this.firePoint.set(8,-10-this.airHeight),this.startSound=JL.SFX_BATTLE_ELF_FEMALE_GO,this.dieSound=JL.SFX_BATTLE_FEMALE_DIE2,this.hasSkill=!0,this.normalSize=.85,this.evolSize=.95}
- skillMain(){
- if(!this.target)return;
- const t=this.allyList;
- for(let i of t)null!=i&&i.isAlive&&"M"==i.sex&&i.showLoveShield(120);
- for(let i=0;
- i<20;
- i++){
- const t=Ej.getEffect(tH.SuccubusLove);
- t.numDelay=110,t.owner=this,t.ground=this.ground+20-30*this.random.next(),t.dir=this.direction,t.start(200),aB.getInstance().addChild(t),t.x=this.x+20*this.direction-40*this.random.next(),t.y=this.y-50+20*this.random.next()}
+ 136:1}
+ ,this.isAir=!0,this.airHeight=60,this.firePoint.set(20,-this.airHeight),this.startSound=iG.SFX_BATTLE_UNDEAD_GO,this.attackSound=iG.SFX_BATTLE_SWORD_ATTACK1,this.dieSound=iG.SFX_BATTLE_UNDEAD_DIE,this.hasSkill=!0,this.maxMana=500,this.normalSize=.8,this.evolSize=.85}
+ execute(){
+ super.execute(),this.updateCharms(),this.updateBodyTilt()}
+ updateBodyTilt(){
+ if(!this.sp||!this.isAlive)return;
+ if(this.numHitted>0||this.numKnockBack>0||this.numBlow>0)return;
+ let i=0;
+ if(this.target&&this.target.isAlive){
+ const s=this.x+this.firePoint.x*this.direction,e=this.y+this.firePoint.y,n=this.target.getHitCenter(),h=this.aimPitch(s,e,n.x,n.y);
+ i=Math.sin(h)*t.MAX_TILT*this.direction}
+ this.sp.rotation+=(i-this.sp.rotation)*t.TILT_LERP}
+ aimPitch(i,s,e,n){
+ const h=Math.max(1,(e-i)*this.direction);
+ let r=Math.atan2(n-s,h);
+ const o=t.MAX_FIRE_PITCH;
+ return r>o?r=o:r<-o&&(r=-o),r}
+ attackMain(){
+ if(!this.target||!this.target.isAlive){
+ const t=this.getAttackableEnemyList(1);
+ if(0===t.length)return;
+ this.target=t[0]}
+ const i=this.target.getHitCenter();
+ Math.abs(i.x-this.x)>this.radius&&this.lookAt(i.x-this.x);
+ const s=this.x+this.firePoint.x*this.direction,e=this.y+this.firePoint.y,n=this.aimPitch(s,e,i.x,i.y),h=Math.atan2(Math.sin(n),Math.cos(n)*this.direction),r=this.evolStage>=1?t.SCYTHE_FAN_E:t.SCYTHE_FAN;
+ for(const t of r){
+ const i=h+t.a;
+ this.spawnScythe(s,e,Math.cos(i),Math.sin(i),t.d,t.sc)}
+ spawnScythe(t,i,s,e,n,h){
+ const r=qQ.getInstance().getWeapon(kj.SuccubusWeapon);
+ r.owner=this,r.target=null,r.x=t,r.y=i,r.vx=s*r.speed,r.vy=e*r.speed,r.generation=0,r.flyCnt=0,r.removed=!1,r.visible=!0,r.rotation=Math.atan2(r.vy,r.vx),r.setData(n),r.scale.set(h);
+ const o=this.battleController||Poi.getInstance();
+ r.setBattleController(o),TB.getInstance().addChild(r),o.addWeapon(r)}
+ skillMain(){
+ const i=this.getEnemiesWithin(t.CHARM_RANGE);
+ this.procRaidCharm();
+ let s=this.evolStage>=1?t.CHARM_VALUE_E:t.CHARM_VALUE;
+ for(const t of i){
+ if(!this.canCharm(t))continue;
+ const i=this.charmCost(t);
+ if(!(i>s)&&(this.applyCharm(t),s-=i,s<=0))break}
+ }
+ procRaidCharm(){
+ for(const i of this.enemyList)i&&"vulnProcSink"in i&&(!i.isAlive||i.removed||i.isUntagetable||i.fallInLove(t.CHARM_DUR,this))}
+ charmCost(t){
+ return Math.max(1,t.grade)}
+ canCharm(t){
+ return!(!t.isAlive||t.removed||t.isUntagetable||t.bossType>0||this.isCharmed(t))}
+ isCharmed(t){
+ for(const i of this.charmed)if(i.unit===t)return!0;
+ return!1}
+ applyCharm(i){
+ this.charmed.push({
+ unit:i,savedEnemyList:i.enemyList,savedAllyList:i.allyList,savedDefaultTarget:i.defaultTarget,timer:t.CHARM_DUR}
+ ),i.enemyList=i.allyList,i.allyList=this.allyList,i.defaultTarget=null,i.target&&i.target.removeBlockedEnemy(i),i.target=null,i.addAttackSpeedBuff(qK.Succubus2_CHARM_ATKSPD,t.CHARM_ATKSPD,t.CHARM_DUR),i.addMoveSpeedBuff(qK.Succubus2_CHARM_MOVSPD,t.CHARM_MOVSPD,t.CHARM_DUR),this.charmFxPoint.set(0,i.getBuffPosY()),i.showEffect(hH.FallInLoveEffect,t.CHARM_DUR,this.charmFxPoint)}
+ updateCharms(){
+ for(let t=this.charmed.length-1;
+ t>=0;
+ t--){
+ const i=this.charmed[t];
+ i.unit.isAlive&&!i.unit.removed?--i.timer>0||(this.restoreCharm(i),this.charmed.splice(t,1)):this.charmed.splice(t,1)}
+ }
+ restoreCharm(t){
+ t.unit.enemyList=t.savedEnemyList,t.unit.allyList=t.savedAllyList,t.unit.defaultTarget=t.savedDefaultTarget,t.unit.target&&t.unit.target.removeBlockedEnemy(t.unit),t.unit.target=null,t.unit.removeAttackSpeedBuff(qK.Succubus2_CHARM_ATKSPD),t.unit.removeMoveSpeedBuff(qK.Succubus2_CHARM_MOVSPD)}
+ releaseAllCharms(){
+ for(const t of this.charmed)t.unit.isAlive&&!t.unit.removed&&this.restoreCharm(t);
+ this.charmed.length=0}
- Vt(b2,"Succubus1");
+ zt(S2,"Succubus1"),qt(S2,"SCYTHE_FAN",[{
+ a:0,d:.55,sc:2}
+ ,{
+ a:-.28,d:.4,sc:2}
+ ,{
+ a:.28,d:.4,sc:2}
+ ,{
+ a:-.55,d:.3,sc:2}
+ ,{
+ a:.55,d:.3,sc:2}
+ ]),qt(S2,"SCYTHE_FAN_E",[{
+ a:-.1,d:.5,sc:2}
+ ,{
+ a:.1,d:.5,sc:2}
+ ,{
+ a:-.3,d:.4,sc:2}
+ ,{
+ a:.3,d:.4,sc:2}
+ ,{
+ a:-.52,d:.3,sc:2}
+ ,{
+ a:.52,d:.3,sc:2}
+ ,{
+ a:-.75,d:.22,sc:2}
+ ,{
+ a:.75,d:.22,sc:2}
+ ]),qt(S2,"MAX_TILT",.45),qt(S2,"TILT_LERP",.2),qt(S2,"MAX_FIRE_PITCH",1.22),qt(S2,"CHARM_RANGE",220),qt(S2,"CHARM_VALUE",8),qt(S2,"CHARM_VALUE_E",10),qt(S2,"CHARM_DUR",300),qt(S2,"CHARM_ATKSPD",.3),qt(S2,"CHARM_MOVSPD",.3);
HandFan 9 hunks, 103 statements
+ const Api={
+ [kZt.HIGH_CARD]:"하이카드",[kZt.PAIR]:"페어",[kZt.TWO_PAIR]:"투페어",[kZt.TRIPLE]:"트리플",[kZt.STRAIGHT]:"스트레이트",[kZt.FLUSH]:"플러시",[kZt.FULL_HOUSE]:"풀하우스",[kZt.FOUR_KIND]:"포카드",[kZt.STRAIGHT_FLUSH]:"스트레이트 플러시"}
+ ,Spi=["외성","내성","보스전"];
+ function Tpi(t,i){
+ const s=jZt(t),e=null!==i?Epi.SUIT_GLYPHS[i]:"?";
+ switch(s.effect){
+ case"suitZero":return`${
+ e}
+  문양 카드 전투력 0`;
+ case"heroVoid":return"영웅 카드(J/Q/K) 무효";
+ case"firstSubmitZero":return"첫 전투 점수 0";
+ case"handMinus2":return"손패 -2";
+ case"submitLimit3":return"전투 3회로 제한";
+ case"repeatHandVoid":return"이미 낸 족보 무효";
+ case"cardFlip":return"매 전투 손패 1장 뒤집힘";
+ case"discardGoldPenalty":return"해고할 때마다 골드 -1"}
+ }
+ function Cpi(t){
+ var i;
+ return"relic"===t.kind?(null==(i=HZt[t.refId])?void 0:i.name)??"유물":fpi(t.refId).name}
+ function Ipi(t){
+ if("relic"===t.kind){
+ const i=HZt[t.refId];
+ return`${
+ Api[i.handType]}
+  레벨 +1 (+${
+ i.perLevelPower}
+  전투력 / +${
+ i.perLevelBuff}
+  버프)`}
+ const i=fpi(t.refId);
+ switch(i.effect){
+ case"enhance":return`카드 1장에 [${
+ {
+ power:"전투력 강화 (+30)",buff:"버프 강화 (+4)",wild:"만능 (모든 문양)",gold:"골드 강화 (전투지 종료 시 손패에 있으면 +3)",glass:"유리 (버프 ×2, 20% 파괴)"}
+ [i.enhance??""]??""}
+ ]`;
+ case"sealRandom":return"카드 1장에 무작위 종족 인장";
+ case"convertSuit":return"카드 2장을 지정 문양으로 변환";
+ case"rankUp":return"카드 2장 랭크 +1";
+ case"destroy":return"카드 2장 영구 파괴 (덱 압축)";
+ case"clone":return"카드 1장 복제";
+ case"goldGamble":return"50% 골드 ×2 / 50% 골드 0";
+ case"recruitHero":return"무작위 영웅 카드 1장 덱에 추가"}
+ }
+ function kpi(t){
+ const i=BZt.find(i=>i.id===t);
+ if(!i)return"";
+ switch(i.effect){
+ case"handPlus1":return"손패 +1";
+ case"submitPlus1":return"전투 횟수 +1";
+ case"discardPlus1":return"해고 횟수 +1";
+ case"shopSlotPlus1":return"상점 카드 슬롯 +1";
+ case"packDiscount":return"팩 가격 25% 할인";
+ case"rerollDiscount":return"리롤 비용 -2";
+ case"interestCapPlus":return"이자 상한 +5";
+ case"consumableSlotPlus1":return"소모품 슬롯 +1"}
+ }
+ function Opi(t){
+ var i;
+ return(null==(i=BZt.find(i=>i.id===t))?void 0:i.name)??"특수카드"}
+ function xpi(t){
+ var i;
+ return(null==(i=_pi.find(i=>i.id===t))?void 0:i.name)??"태그"}
+ function Rpi(t){
+ const i=_pi.find(i=>i.id===t);
+ if(!i)return"";
+ switch(i.effect){
+ case"gold8":return"골드 +8";
+ case"freePack":return"다음 팩 무료";
+ case"freeReroll":return"다음 리롤 무료";
+ case"rarePetGuarantee":return"다음 상점 희귀+ 펫 확정";
+ case"randomRelic":return"무작위 유물 획득";
+ case"bossGoldDouble":return"다음 보스전 클리어 골드 ×2"}
+ }
+ function Npi(t){
+ var i,s;
+ switch(t.kind){
+ case"pet":return(null==(i=vpi.find(i=>i.id===t.refId))?void 0:i.name)??"펫";
+ case"consumable":return fpi(t.refId).name;
+ case"relic":return(null==(s=HZt[t.refId])?void 0:s.name)??"유물";
+ case"voucher":return Opi(t.refId);
+ case"pack":return{
+ soldier:"병사 팩",relic:"유물 팩",consumable:"천사·악마 팩",pet:"펫 팩"}
+ [t.packKind??""]??"팩"}
+ }
+ zt(Tpi,"gimmickDesc"),zt(Cpi,"consumableItemName"),zt(Ipi,"consumableItemDesc"),zt(kpi,"voucherDesc"),zt(Opi,"voucherName"),zt(xpi,"tagName"),zt(Rpi,"tagDesc"),zt(Npi,"shopItemName");
- super(),Kt(this,"renderers",[]),Kt(this,"selectedIdx",new Set),Kt(this,"onSelectionChange",null),Kt(this,"locked",!1);
+ super(),qt(this,"renderers",[]),qt(this,"selectedIdx",new Set),qt(this,"onSelectionChange",null),qt(this,"locked",!1),qt(this,"sortMode","rank");
- t<8;
+ i<10;
- t.onTap=this.onCardTap.bind(this),this.renderers.push(t),this.addChild(t)}
+ i.pivot.set(.5*Epi.CARD_WIDTH,Epi.CARD_HEIGHT),i.scale.set(t.HAND_SCALE),i.onTap=this.onCardTap.bind(this),this.renderers.push(i),this.addChild(i)}
- setHand(i){
+ setHand(i,s){
- const s=i.length,e=t.SPACING*(s-1)+Lfi.CARD_WIDTH,n=.5*(t.AREA_WIDTH-e);
+ const e=i.length,n=Epi.CARD_WIDTH*t.HAND_SCALE,h=e<=1?0:Math.min(t.SPACING,(t.AREA_WIDTH-n-20)/(e-1)),r=h*(e-1)+n,o=.5*(t.AREA_WIDTH-r),a=i.map((t,i)=>({
+ card:t,originalIdx:i}
+ ));
+ a.sort((t,i)=>"suit"===this.sortMode&&t.card.suit!==i.card.suit?t.card.suit-i.card.suit:t.card.rank!==i.card.rank?i.card.rank-t.card.rank:t.card.suit-i.card.suit);
+ const c=.5*(e-1);
- h<s?(e.visible=!0,e.handIndex=h,e.setCard(i[h]),e.x=n+h*t.SPACING,e.setBaseY(Lfi.SELECT_POP_Y),e.selected=!1,e.zIndex=h):e.visible=!1}
+ if(l<e){
+ const e=l-c,r=a[l];
+ i.visible=!0,i.handIndex=r.originalIdx,i.setCard(r.card),i.setDimmed((null==s?void 0:s.has(r.card.id))??!1),i.x=o+l*h+.5*n,i.rotation=e*t.FAN_ANGLE_STEP,i.setBaseY(Epi.SELECT_POP_Y+Epi.CARD_HEIGHT*t.HAND_SCALE+e*e*t.FAN_ARC_DROP),i.selected=!1,i.zIndex=l}
+ else i.visible=!1}
- return Lfi.CARD_HEIGHT+Lfi.SELECT_POP_Y}
+ const i=12.25*t.FAN_ARC_DROP+Math.sin(3.5*t.FAN_ANGLE_STEP)*Epi.CARD_WIDTH*t.HAND_SCALE*.5;
+ return Epi.CARD_HEIGHT*t.HAND_SCALE+Epi.SELECT_POP_Y+Math.ceil(i)}
- Vt(Gfi,"HandFan"),Kt(Gfi,"SPACING",65),Kt(Gfi,"AREA_WIDTH",640);
+ zt(Ppi,"HandFan"),qt(Ppi,"SPACING",72),qt(Ppi,"AREA_WIDTH",640),qt(Ppi,"FAN_ANGLE_STEP",.034),qt(Ppi,"FAN_ARC_DROP",1.9),qt(Ppi,"HAND_SCALE",.85);
Aladin1 8 hunks, 97 statements
- super(),Kt(this,"wanderTimer",0),Kt(this,"atkTimer",0),Kt(this,"atkAnimTimer",0),Kt(this,"atkAnimLen",0)}
- setData(t,i=1,s=1,e=1){
- super.setData(t,i,s,e),this.wanderTimer=0,this.atkTimer=0,this.atkAnimTimer=0,this.atkAnimLen=0}
+ super()}
- super.initializeData(),this.className=rx.Aladin1,this.sheetName="Game1",this.unitType=ix.RANGE,this.radius=7,this.hitHeight=27,this.idleFrames=new ZF(0,47),this.moveFrames=new ZF(48,93),this.attackFrames=new ZF(92,125),this.skillFrames=new ZF(126,245),this.dieFrames=new ZF(246,261),this.objAtk={
- }
+ super.initializeData(),this.className=ax.Aladin1,this.sheetName="Game1",this.unitType=ex.RANGE,this.radius=7,this.hitHeight=27,this.uiTopOffset=15,this.idleFrames=new nH(0,47),this.moveFrames=new nH(48,93),this.attackFrames=new nH(92,125),this.skillFrames=new nH(126,245),this.dieFrames=new nH(246,261),this.objAtk={
+ 108:1}
- ,this.startSound=JL.SFX_BATTLE_MALE_GO,this.attackSound=JL.SFX_BATTLE_STAFF_ATTACK1,this.dieSound=JL.SFX_BATTLE_MALE_DIE2,this.hasSkill=!0,this.maxMana=t.MAX_MANA,this.firePoint.set(23,-32),this.normalSize=.75,this.evolSize=.8}
- execute(){
- var i,s,e,n,h;
- if(!this.isAlive)return void super.execute();
- if(this.attackCoolDown--,this.recoveryCoolDown--,this.mana=Math.min(this.maxMana,this.mana+1),this.stateChangeTimer>0&&this.stateChangeTimer--,null==(i=this.updateActiveBuff)||i.call(this),null==(s=this.updateDotDamage)||s.call(this),null==(e=this.updateDotHeal)||e.call(this),null==(n=this.updateCrowdControl)?void 0:n.call(this))return void this.advanceFrame();
- const r=this.countEnemiesWithin(t.CAST_ENEMY_RANGE)>=t.CAST_MIN_ENEMIES;
- if(this.hasSkill&&this.mana>=this.maxMana&&r&&(this.mana=0,this.gotoSkillState()),this.state===sx.SKILL)return null==(h=this.doSkill)||h.call(this),void this.advanceFrame();
- this.atkTimer++,this.atkTimer>=t.ATK_COOLDOWN&&(this.atkTimer=0,this.throwCoinsOneShot(),this.startAtkAnim()),this.atkAnimTimer>0&&(this.atkAnimTimer--,0===this.atkAnimTimer&&this.setMoveAnim()),this.updateWander(),this.state!==sx.SKILL&&this.state!==sx.ATTACK&&this.moveStep(),this.advanceFrame()}
- onHitted(){
- super.onHitted()}
- updateWander(){
- if(this.wanderTimer--,this.wanderTimer>0)return;
- this.wanderTimer=30;
- const i=this.getClusterTarget();
- let s,e;
- if(i){
- const n=this.x-i.x,h=this.y-i.y,r=Math.sqrt(n*n+h*h)||1;
- s=i.x+n/r*t.CLUSTER_STANDOFF,e=i.y+h/r*t.CLUSTER_STANDOFF}
- else s=this.xDefault,e=this.yDefault;
- const n=this.clampOutsideCenter(s,e);
- this.tx=Math.max(t.MAP_MIN,Math.min(t.MAP_MAX,n.x)),this.ty=Math.max(t.MAP_MIN,Math.min(t.MAP_MAX,n.y))}
- getCastleCenter(){
- var t;
- const i=null==(t=this.battleController)?void 0:t.player;
- return i?{
- x:i.x,y:i.y}
- :{
- x:320,y:320}
- }
- getClusterTarget(){
- const i=[];
- for(const t of this.enemyList)t&&t.isAlive&&!t.isUntagetable&&i.push(t);
- if(0===i.length)return null;
- const s=t.CLUSTER_SAMPLE_R*t.CLUSTER_SAMPLE_R;
- let e=i[0],n=-1;
- for(const t of i){
- let h=0;
- for(const e of i){
- const i=t.x-e.x,n=t.y-e.y;
- i*i+n*n<=s&&h++}
- h>n&&(n=h,e=t)}
- return{
- x:e.x,y:e.y,count:n}
- }
- clampOutsideCenter(i,s){
- const e=this.getCastleCenter(),n=i-e.x,h=s-e.y,r=Math.sqrt(n*n+h*h);
- return r>=t.CLUSTER_NOGO_RADIUS?{
- x:i,y:s}
- :r<.01?{
- x:e.x+t.CLUSTER_NOGO_RADIUS,y:e.y}
- :{
- x:e.x+n/r*t.CLUSTER_NOGO_RADIUS,y:e.y+h/r*t.CLUSTER_NOGO_RADIUS}
- }
- countEnemiesWithin(t){
- const i=t*t;
- let s=0;
- for(const e of this.enemyList){
- if(!e||!e.isAlive||e.isUntagetable)continue;
- const t=e.x-this.x,n=e.y-this.y;
- t*t+n*n<=i&&s++}
- return s}
- moveStep(){
- const t=this.tx-this.x,i=this.ty-this.y,s=Math.sqrt(t*t+i*i);
- if(s<2)return;
- const e=this.y;
- this.x+=t/s*this.moveSpd,this.y+=i/s*this.moveSpd,Math.abs(this.y-e)>1&&VQ.markSortDirty(),this.lookAt(t)}
- throwCoinsOneShot(){
- const t=this.getNearestEnemies(3);
+ ,this.startSound=iG.SFX_BATTLE_MALE_GO,this.attackSound=iG.SFX_BATTLE_STAFF_ATTACK1,this.dieSound=iG.SFX_BATTLE_MALE_DIE2,this.hasSkill=!0,this.maxMana=t.MAX_MANA,this.firePoint.set(23,-32),this.normalSize=.95,this.evolSize=1}
+ attackMain(){
+ if(null==this.target)return;
+ const i=this.evolStage>=1?t.ATK_TARGETS_E:t.ATK_TARGETS,s=this.getAttackableEnemyList(i);
+ if(!t.isAlive)continue;
- JL.getInstance().playSFX(this.attackSound)}
- getNearestEnemies(t){
- const i=[];
- for(const s of this.enemyList)s&&s.isAlive&&!s.isUntagetable&&i.push(s);
- return i.sort((t,i)=>(t.x-this.x)**2+(t.y-this.y)**2-((i.x-this.x)**2+(i.y-this.y)**2)),i.slice(0,t)}
- attackMain(){
- }
- startAtkAnim(){
- this.atkAnimLen=this.attackFrames.end-this.attackFrames.start,this.atkAnimTimer=this.atkAnimLen,this.currentFrame=this.attackFrames.start,this.startFrame=this.attackFrames.start,this.endFrame=this.attackFrames.end,this.loop=!1,this.state=sx.ATTACK}
- setMoveAnim(){
- this.currentFrame=this.moveFrames.start,this.startFrame=this.moveFrames.start,this.endFrame=this.moveFrames.end,this.loop=!0,this.state=sx.MOVE}
- advanceFrame(){
- this.currentFrame+=this.incFrame,this.currentFrame>=this.endFrame&&(this.currentFrame=this.loop?this.startFrame:this.endFrame),this.sp&&(this.sp.texture=this.textures[Math.floor(this.currentFrame)])}
- onSkillStartFrame(){
- }
+ this.throwCoinAtGoblin(),iG.getInstance().playSFX(this.attackSound)}
- 155===Math.floor(this.currentFrame)&&this.launchGenieBoomerang()}
+ this.launchGenieBoomerang()}
+ throwCoinAtGoblin(){
+ var t,i;
+ const s=(null==(i=null==(t=this.battleController)?void 0:t.getHuntableGoldGoblin)?void 0:i.call(t))??null;
+ if(!s)return;
+ const e=this.x+28*this.direction,n=this.y-24,h=qQ.getInstance().getWeapon(kj.AladinCoin1);
+ h.owner=this,h.target=null,h.x=e,h.y=n,h.initializeData(),h.oneShot=!0,h.damagePercent=0,h.goblinTarget=s,h.lifeDuration=120,h.setBattleController(this.battleController),TB.getInstance().addChild(h),h.play(),h.launch(s.x,s.y-10,!0)}
- Vt(R2,"Aladin1"),Kt(R2,"BOOMERANG_DIST",250),Kt(R2,"BOOMERANG_DPS",.8),Kt(R2,"MAX_MANA",400),Kt(R2,"ATK_COOLDOWN",85),Kt(R2,"ATK_DMG",.7),Kt(R2,"MAP_MIN",60),Kt(R2,"MAP_MAX",580),Kt(R2,"CLUSTER_SAMPLE_R",90),Kt(R2,"CLUSTER_NOGO_RADIUS",120),Kt(R2,"CLUSTER_STANDOFF",160),Kt(R2,"CAST_ENEMY_RANGE",180),Kt(R2,"CAST_MIN_ENEMIES",2);
+ zt(G2,"Aladin1"),qt(G2,"BOOMERANG_DIST",250),qt(G2,"BOOMERANG_DPS",.8),qt(G2,"MAX_MANA",400),qt(G2,"ATK_DMG",1.2),qt(G2,"ATK_TARGETS",5),qt(G2,"ATK_TARGETS_E",7);
RunInfoPopup 3 hunks, 96 statements
- const qfi={
- [AZt.HIGH_CARD]:"하이카드",[AZt.PAIR]:"페어",[AZt.TWO_PAIR]:"투페어",[AZt.TRIPLE]:"트리플",[AZt.STRAIGHT]:"스트레이트",[AZt.FLUSH]:"플러시",[AZt.FULL_HOUSE]:"풀하우스",[AZt.FOUR_KIND]:"포카드",[AZt.STRAIGHT_FLUSH]:"스트레이트 플러시"}
- ,Xfi=class t extends nYt{
+ const Jpi=class t extends wG{
- super(),Kt(this,"lblGate"),Kt(this,"lblTarget"),Kt(this,"gaugeBg"),Kt(this,"gaugeFill"),Kt(this,"lblGauge"),Kt(this,"lblCounts"),Kt(this,"jokerSlots",[]),Kt(this,"playZoneBg"),Kt(this,"playedCards",[]),Kt(this,"lblHandName"),Kt(this,"lblPowerLine"),Kt(this,"moraleCount"),Kt(this,"totalCount"),Kt(this,"lblPreview"),Kt(this,"handFan"),Kt(this,"btnDiscard"),Kt(this,"btnSubmit"),Kt(this,"requestPending",!1);
- const i=t.getMinHeight();
- this.bg.height<i&&(this.y=Math.max(0,VA.safeHeight-i),this.bg.height=VA.safeHeight-this.y),this.lblGate=new iL("",fD.DEFAULT_COLOR,fD.DEFAULT_OUTLINE_FONT_OPTION_24),this.lblGate.x=25,this.lblGate.y=t.TOP_Y,this.addChild(this.lblGate),this.lblTarget=new iL("",fD.DEFAULT_COLOR,fD.DEFAULT_FONT_OPTION_16),this.lblTarget.y=t.TOP_Y+8,this.addChild(this.lblTarget),this.gaugeBg=new Lf,this.addChild(this.gaugeBg),this.gaugeFill=new Lf,this.addChild(this.gaugeFill),this.lblGauge=new iL("",fD.DEFAULT_COLOR,fD.DEFAULT_FONT_OPTION_15),this.addChild(this.lblGauge),this.lblCounts=new iL("",fD.DEFAULT_COLOR,fD.DEFAULT_FONT_OPTION_15),this.lblCounts.x=25,this.lblCounts.y=t.TOP_Y+92,this.addChild(this.lblCounts);
- const s=jfi.COMPACT_WIDTH,e=.5*(640-(5*s+24));
+ super(),qt(this,"lblBody"),qt(this,"btnOk"),this.width=560,this.lblBody=new hL("",wD.DEFAULT_COLOR,wD.DEFAULT_FONT_OPTION_16),this.lblBody.x=30,this.lblBody.y=20,this.contentContainer.addChild(this.lblBody),this.btnOk=new oG(DG.getText("","확인")),this.btnOk.width=200,this.btnOk.onClick=()=>this.hide(),this.contentContainer.addChild(this.btnOk)}
+ static getInstance(){
+ return this._instance||(this._instance=new t),this._instance}
+ setData(t){
+ const i=[];
+ i.push(`— ${
+ DG.getText("","족보 레벨")}
+  —`);
- n<5;
+ e<9;
+ e++){
+ const s=t.handLevels[e]??1,n=WZt(e,s);
+ i.push(`${
+ Api[e]}
+   Lv.${
+ s}
+   (${
+ n.power}
+  × ${
+ n.buff}
+ )`)}
+ if(i.push(""),i.push(`— ${
+ DG.getText("","특수카드")}
+  —`),0===t.vouchers.length)i.push(DG.getText("","(없음)"));
+ else for(const e of t.vouchers)i.push(`${
+ Opi(e)}
+  — ${
+ kpi(e)}
+ `);
+ if(i.push(""),i.push(`— ${
+ DG.getText("","보유 태그")}
+  —`),0===t.tags.length)i.push(DG.getText("","(없음)"));
+ else for(const e of t.tags)i.push(`${
+ xpi(e)}
+  — ${
+ Rpi(e)}
+ `);
+ this.lblBody.text=i.join("\n");
+ const s=this.lblBody.y+this.lblBody.height+24;
+ this.btnOk.x=.5*(this.width-this.btnOk.width),this.btnOk.y=s,this.height=s+this.btnOk.height+26}
+ }
+ ;
+ zt(Jpi,"RunInfoPopup"),qt(Jpi,"_instance");
+ let Qpi=Jpi;
+ const Zpi=class t extends wG{
+ constructor(){
+ super(),qt(this,"onPick",null),this.width=480;
+ const t=new hL(DG.getText("","변환할 문양을 선택하세요"),wD.DEFAULT_COLOR,wD.DEFAULT_OUTLINE_FONT_OPTION_18);
+ t.x=.5*(this.width-t.width),t.y=16,this.contentContainer.addChild(t);
+ const i=["▲","●","◆","★"];
+ for(let s=0;
+ s<4;
+ s++){
+ const t=new oG(i[s]);
+ t.width=96,t.x=24+108*s,t.y=64;
+ const e=s;
+ t.onClick=()=>{
+ const t=this.onPick;
+ this.hide(),t&&t(e)}
+ ,this.contentContainer.addChild(t),this.height=t.y+t.height+30}
+ }
+ static getInstance(){
+ return this._instance||(this._instance=new t),this._instance}
+ }
+ ;
+ zt(Zpi,"SuitPickPopup"),qt(Zpi,"_instance");
+ let tgi=Zpi;
+ const igi=class t extends Ue{
+ constructor(){
+ super(),qt(this,"bg"),qt(this,"lbl"),qt(this,"cellIndex",0),qt(this,"onTap",null),this.bg=new Bf,this.addChild(this.bg),this.lbl=new hL("",wD.DEFAULT_COLOR,wD.DEFAULT_FONT_OPTION_15),this.addChild(this.lbl),this.eventMode="static",this.cursor="pointer",this.on("pointertap",()=>{
+ this.onTap&&this.onTap(this.cellIndex)}
+ )}
+ setData(i,s){
+ if(this.bg.clear(),null===i)return this.bg.roundRect(0,0,t.W,t.H,8).fill({
+ color:1182984}
+ ).stroke({
+ color:3813154,width:2}
+ ),void(this.lbl.text="");
+ this.bg.roundRect(0,0,t.W,t.H,8).fill({
+ color:s?2761528:3287576}
+ ).stroke({
+ color:s?7036830:10390090,width:2}
+ ),this.lbl.text=i.replace("·","\n").replace(" ","\n"),this.lbl.x=.5*(t.W-this.lbl.width),this.lbl.y=.5*(t.H-this.lbl.height)}
+ }
+ ;
+ zt(igi,"ConsumableCell"),qt(igi,"W",74),qt(igi,"H",92);
+ let sgi=igi;
+ const egi=class t extends cqt{
+ constructor(){
+ super(),qt(this,"gameLayer"),qt(this,"lblChapter"),qt(this,"lblGold"),qt(this,"btnSkip"),qt(this,"bossBanner"),qt(this,"lblBoss"),qt(this,"lblCounts"),qt(this,"lblTarget"),qt(this,"gaugeBg"),qt(this,"gaugeFill"),qt(this,"lblGauge"),qt(this,"jokerSlots",[]),qt(this,"consumableCells",[]),qt(this,"btnInfo"),qt(this,"deckBack"),qt(this,"lblDeck"),qt(this,"panelBg"),qt(this,"lblHandName"),qt(this,"powerBox"),qt(this,"buffBox"),qt(this,"lblCalcX"),qt(this,"powerCount"),qt(this,"buffCount"),qt(this,"playZoneBg"),qt(this,"playedCards",[]),qt(this,"totalCount"),qt(this,"handFan"),qt(this,"btnSubmit"),qt(this,"btnSort"),qt(this,"btnDiscard"),qt(this,"shopView"),qt(this,"requestPending",!1),qt(this,"gaugeY",0),qt(this,"gaugeOverrideScore",null),qt(this,"playedScale",t.PLAYED_SCALE),qt(this,"petScale",1),qt(this,"floatLabels",[]),qt(this,"floatIdx",0),qt(this,"fxToken",0);
+ const i=t.getMinHeight();
+ this.bg.height<i&&(this.y=Math.max(0,zA.safeHeight-i),this.bg.height=zA.safeHeight-this.y),this.gameLayer=new Ue,this.addChild(this.gameLayer),this.lblChapter=new hL("",wD.DEFAULT_COLOR,wD.DEFAULT_OUTLINE_FONT_OPTION_24),this.lblChapter.x=25,this.lblChapter.y=t.TOP_Y,this.gameLayer.addChild(this.lblChapter),this.lblGold=new hL("",16767332,wD.DEFAULT_OUTLINE_FONT_OPTION_24),this.lblGold.textColor=16767332,this.lblGold.y=t.TOP_Y,this.gameLayer.addChild(this.lblGold),this.btnSkip=new oG(DG.getText("","스킵")),this.btnSkip.width=110,this.btnSkip.onClick=this.onSkipClick.bind(this),this.gameLayer.addChild(this.btnSkip),this.bossBanner=new Bf,this.bossBanner.visible=!1,this.gameLayer.addChild(this.bossBanner),this.lblBoss=new hL("",16757918,wD.DEFAULT_OUTLINE_FONT_OPTION_18),this.lblBoss.textColor=16757918,this.lblBoss.visible=!1,this.gameLayer.addChild(this.lblBoss),this.lblCounts=new hL("",wD.DEFAULT_COLOR,wD.DEFAULT_FONT_OPTION_15),this.lblCounts.x=25,this.gameLayer.addChild(this.lblCounts),this.lblTarget=new hL("",wD.DEFAULT_COLOR,wD.DEFAULT_FONT_OPTION_15),this.gameLayer.addChild(this.lblTarget),this.gaugeBg=new Bf,this.gameLayer.addChild(this.gaugeBg),this.gaugeFill=new Bf,this.gameLayer.addChild(this.gaugeFill),this.lblGauge=new hL("",wD.DEFAULT_COLOR,wD.DEFAULT_FONT_OPTION_15),this.gameLayer.addChild(this.lblGauge);
+ for(let t=0;
+ t<6;
Succubus2 7 hunks, 95 statements
- const F2=class t extends fZ{
+ const V2=class extends vZ{
- super(),Kt(this,"charmed",[]),Kt(this,"charmFxPoint",new gi(0,0))}
- setData(t,i=1,s=1,e=1){
- super.setData(t,i,s,e),this.releaseAllCharms()}
- onDie(){
- var t;
- null==(t=super.onDie)||t.call(this),this.releaseAllCharms()}
+ super()}
- super.initializeData(),this.className=rx.Succubus2,this.sheetName="Game1",this.unitType=ix.RANGE,this.weaponClass=Aj.SuccubusWeapon,this.radius=7,this.hitHeight=36,this.idleFrames=new ZF(0,34),this.moveFrames=new ZF(35,69),this.attackFrames=new ZF(70,99),this.skillFrames=new ZF(100,147),this.dieFrames=new ZF(148,159),this.objAtk={
- 78:1}
+ super.initializeData(),this.className=ax.Succubus2,this.sheetName="Game1",this.textureName="Succubus1",this.radius=7,this.hitHeight=24,this.unitType=ex.RANGE,this.weaponClass=kj.SuccubusBlade1,this.idleFrames=new nH(0,27),this.moveFrames=new nH(28,46),this.attackFrames=new nH(47,76),this.skillFrames=new nH(77,115),this.dieFrames=new nH(116,131),this.objAtk={
+ 56:1}
- 136:1}
- ,this.isAir=!0,this.airHeight=60,this.firePoint.set(20,-this.airHeight),this.startSound=JL.SFX_BATTLE_UNDEAD_GO,this.attackSound=JL.SFX_BATTLE_SWORD_ATTACK1,this.dieSound=JL.SFX_BATTLE_UNDEAD_DIE,this.hasSkill=!0,this.maxMana=500,this.normalSize=.8,this.evolSize=.85}
- execute(){
- super.execute(),this.updateCharms(),this.updateBodyTilt()}
- updateBodyTilt(){
- if(!this.sp||!this.isAlive)return;
- if(this.numHitted>0||this.numKnockBack>0||this.numBlow>0)return;
- let i=0;
- if(this.target&&this.target.isAlive){
- const s=this.x+this.firePoint.x*this.direction,e=this.y+this.firePoint.y,n=this.target.getHitCenter(),h=this.aimPitch(s,e,n.x,n.y);
- i=Math.sin(h)*t.MAX_TILT*this.direction}
- this.sp.rotation+=(i-this.sp.rotation)*t.TILT_LERP}
- aimPitch(i,s,e,n){
- const h=Math.max(1,(e-i)*this.direction);
- let r=Math.atan2(n-s,h);
- const o=t.MAX_FIRE_PITCH;
- return r>o?r=o:r<-o&&(r=-o),r}
- attackMain(){
- if(!this.target||!this.target.isAlive){
- const t=this.getAttackableEnemyList(1);
- if(0===t.length)return;
- this.target=t[0]}
- const i=this.target.getHitCenter();
- Math.abs(i.x-this.x)>this.radius&&this.lookAt(i.x-this.x);
- const s=this.x+this.firePoint.x*this.direction,e=this.y+this.firePoint.y,n=this.aimPitch(s,e,i.x,i.y),h=Math.atan2(Math.sin(n),Math.cos(n)*this.direction),r=this.evolStage>=1?t.SCYTHE_FAN_E:t.SCYTHE_FAN;
- for(const t of r){
- const i=h+t.a;
- this.spawnScythe(s,e,Math.cos(i),Math.sin(i),t.d,t.sc)}
- }
- spawnScythe(t,i,s,e,n,h){
- const r=$Q.getInstance().getWeapon(Aj.SuccubusWeapon);
- r.owner=this,r.target=null,r.x=t,r.y=i,r.vx=s*r.speed,r.vy=e*r.speed,r.generation=0,r.flyCnt=0,r.removed=!1,r.visible=!0,r.rotation=Math.atan2(r.vy,r.vx),r.setData(n),r.scale.set(h);
- const o=this.battleController||loi.getInstance();
- r.setBattleController(o),MB.getInstance().addChild(r),o.addWeapon(r)}
+ 101:1}
+ ,this.isAir=!0,this.airHeight=40,this.firePoint.set(8,-10-this.airHeight),this.startSound=iG.SFX_BATTLE_ELF_FEMALE_GO,this.dieSound=iG.SFX_BATTLE_FEMALE_DIE2,this.hasSkill=!0,this.normalSize=.85,this.evolSize=.95}
- const i=this.getEnemiesWithin(t.CHARM_RANGE);
- let s=this.evolStage>=1?t.CHARM_VALUE_E:t.CHARM_VALUE;
- for(const t of i){
- if(!this.canCharm(t))continue;
- const i=this.charmCost(t);
- if(!(i>s)&&(this.applyCharm(t),s-=i,s<=0))break}
+ if(!this.target)return;
+ const t=this.allyList;
+ for(let i of t)null!=i&&i.isAlive&&"M"==i.sex&&i.showLoveShield(120);
+ for(let i=0;
+ i<20;
+ i++){
+ const t=Ij.getEffect(hH.SuccubusLove);
+ t.numDelay=110,t.owner=this,t.ground=this.ground+20-30*this.random.next(),t.dir=this.direction,t.start(200),dB.getInstance().addChild(t),t.x=this.x+20*this.direction-40*this.random.next(),t.y=this.y-50+20*this.random.next()}
- charmCost(t){
- return Math.max(1,t.grade)}
- canCharm(t){
- return!(!t.isAlive||t.removed||t.isUntagetable||t.bossType>0||this.isCharmed(t))}
- isCharmed(t){
- for(const i of this.charmed)if(i.unit===t)return!0;
- return!1}
- applyCharm(i){
- this.charmed.push({
- unit:i,savedEnemyList:i.enemyList,savedAllyList:i.allyList,savedDefaultTarget:i.defaultTarget,timer:t.CHARM_DUR}
- ),i.enemyList=i.allyList,i.allyList=this.allyList,i.defaultTarget=null,i.target&&i.target.removeBlockedEnemy(i),i.target=null,i.addAttackSpeedBuff($K.Succubus2_CHARM_ATKSPD,t.CHARM_ATKSPD,t.CHARM_DUR),i.addMoveSpeedBuff($K.Succubus2_CHARM_MOVSPD,t.CHARM_MOVSPD,t.CHARM_DUR),this.charmFxPoint.set(0,i.getBuffPosY()),i.showEffect(tH.FallInLoveEffect,t.CHARM_DUR,this.charmFxPoint)}
- updateCharms(){
- for(let t=this.charmed.length-1;
- t>=0;
- t--){
- const i=this.charmed[t];
- i.unit.isAlive&&!i.unit.removed?--i.timer>0||(this.restoreCharm(i),this.charmed.splice(t,1)):this.charmed.splice(t,1)}
- }
- restoreCharm(t){
- t.unit.enemyList=t.savedEnemyList,t.unit.allyList=t.savedAllyList,t.unit.defaultTarget=t.savedDefaultTarget,t.unit.target&&t.unit.target.removeBlockedEnemy(t.unit),t.unit.target=null,t.unit.removeAttackSpeedBuff($K.Succubus2_CHARM_ATKSPD),t.unit.removeMoveSpeedBuff($K.Succubus2_CHARM_MOVSPD)}
- releaseAllCharms(){
- for(const t of this.charmed)t.unit.isAlive&&!t.unit.removed&&this.restoreCharm(t);
- this.charmed.length=0}
- Vt(F2,"Succubus2"),Kt(F2,"SCYTHE_FAN",[{
- a:-.13,d:.55,sc:2}
- ,{
- a:.13,d:.55,sc:2}
- ,{
- a:-.4,d:.35,sc:2}
- ,{
- a:.4,d:.35,sc:2}
- ]),Kt(F2,"SCYTHE_FAN_E",[{
- a:-.13,d:.55,sc:2}
- ,{
- a:.13,d:.55,sc:2}
- ,{
- a:-.4,d:.35,sc:2}
- ,{
- a:.4,d:.35,sc:2}
- ,{
- a:-.64,d:.25,sc:2}
- ,{
- a:.64,d:.25,sc:2}
- ]),Kt(F2,"MAX_TILT",.45),Kt(F2,"TILT_LERP",.2),Kt(F2,"MAX_FIRE_PITCH",1.22),Kt(F2,"CHARM_RANGE",220),Kt(F2,"CHARM_VALUE",8),Kt(F2,"CHARM_VALUE_E",10),Kt(F2,"CHARM_DUR",300),Kt(F2,"CHARM_ATKSPD",.3),Kt(F2,"CHARM_MOVSPD",.3);
+ zt(V2,"Succubus2");
ConquestPopup 1 hunks, 80 statements
- super(),Kt(this,"bg"),Kt(this,"lblRank"),Kt(this,"lblSuit"),Kt(this,"lblCenter"),Kt(this,"_card",null),Kt(this,"_selected",!1),Kt(this,"_baseY",0),Kt(this,"onTap",null),Kt(this,"handIndex",-1),this.bg=new Lf,this.drawBg(!1),this.addChild(this.bg),this.lblRank=new iL("",fD.DEFAULT_COLOR,fD.DEFAULT_OUTLINE_FONT_OPTION_24),this.lblRank.x=10,this.lblRank.y=6,this.addChild(this.lblRank),this.lblSuit=new iL("",fD.DEFAULT_COLOR,fD.DEFAULT_OUTLINE_FONT_OPTION_18),this.lblSuit.x=12,this.lblSuit.y=40,this.addChild(this.lblSuit),this.lblCenter=new iL("",fD.DEFAULT_COLOR,fD.DEFAULT_OUTLINE_FONT_OPTION_32),this.addChild(this.lblCenter),this.eventMode="static",this.cursor="pointer",this.on("pointertap",()=>{
+ super(),qt(this,"lblTitle"),qt(this,"lblScore"),qt(this,"lblDesc"),qt(this,"btnContinue"),qt(this,"btnFinish"),qt(this,"onChoice",null),this.bg.visible=!1,this.btnClose.visible=!1,this.width=640,this.lblTitle=new hL(DG.getText("","🏰 정복 완료!"),16767332,wD.DEFAULT_OUTLINE_FONT_OPTION_32),this.lblTitle.textColor=16767332,this.contentContainer.addChild(this.lblTitle),this.lblScore=new hL("",wD.DEFAULT_COLOR,wD.DEFAULT_OUTLINE_FONT_OPTION_24),this.contentContainer.addChild(this.lblScore),this.lblDesc=new hL(DG.getText("","랭킹 점수가 확정되었습니다.\n계속 싸우면 무한전투 — 개인 기록에만 남습니다."),wD.DEFAULT_COLOR,wD.DEFAULT_FONT_OPTION_16),this.contentContainer.addChild(this.lblDesc),this.btnContinue=new oG(DG.getText("","계속 싸운다")),this.btnContinue.onClick=()=>this.pick(!0),this.contentContainer.addChild(this.btnContinue),this.btnFinish=new oG(DG.getText("","종료")),this.btnFinish.onClick=()=>this.pick(!1),this.contentContainer.addChild(this.btnFinish)}
+ static getInstance(){
+ return this._instance||(this._instance=new t),this._instance}
+ setData(t){
+ let i=10;
+ this.lblTitle.x=.5*(640-this.lblTitle.width),this.lblTitle.y=i,i+=64,this.lblScore.text=`${
+ DG.getText("","정복 점수")}
+  ${
+ ZD.displayLargeNumberAsAlphabet(t)}
+ `,this.lblScore.x=.5*(640-this.lblScore.width),this.lblScore.y=i,i+=52,this.lblDesc.x=.5*(640-this.lblDesc.width),this.lblDesc.y=i,i+=this.lblDesc.height+30,this.btnContinue.width=220,this.btnFinish.width=220,this.btnContinue.x=90,this.btnFinish.x=330,this.btnContinue.y=i,this.btnFinish.y=i,i+=this.btnContinue.height+30,this.height=i}
+ pick(t){
+ const i=this.onChoice;
+ this.hide(),i&&i(t)}
+ onBackButton(){
+ return!0}
+ }
+ ;
+ zt(mpi,"ConquestPopup"),qt(mpi,"_instance");
+ let wpi=mpi;
+ const vpi=[{
+ id:1,rarity:0,effect:"suitBuffAdd",value:2,suit:0,name:"문양 신봉자·불"}
+ ,{
+ id:2,rarity:0,effect:"suitBuffAdd",value:2,suit:1,name:"문양 신봉자·물"}
+ ,{
+ id:3,rarity:0,effect:"suitBuffAdd",value:2,suit:2,name:"문양 신봉자·숲"}
+ ,{
+ id:4,rarity:0,effect:"suitBuffAdd",value:2,suit:3,name:"문양 신봉자·빛"}
+ ,{
+ id:5,rarity:0,effect:"fewCardsBuffAdd",value:8,name:"저격수"}
+ ,{
+ id:6,rarity:0,effect:"fiveCardsPowerAdd",value:100,name:"물량공세"}
+ ,{
+ id:7,rarity:0,effect:"pairFamilyBuffAdd",value:6,name:"페어 장인"}
+ ,{
+ id:8,rarity:0,effect:"straightFamilyBuffAdd",value:8,name:"직진"}
+ ,{
+ id:9,rarity:0,effect:"flushFamilyBuffAdd",value:8,name:"같은 문양"}
+ ,{
+ id:10,rarity:0,effect:"discardLeftBuffAdd",value:3,name:"알뜰함"}
+ ,{
+ id:11,rarity:0,effect:"numberCardPowerAdd",value:15,name:"고물상"}
+ ,{
+ id:12,rarity:0,effect:"faceCardBuffAdd",value:2,name:"귀족"}
+ ,{
+ id:13,rarity:1,effect:"buffMult",value:1.5,name:"대장군"}
+ ,{
+ id:14,rarity:1,effect:"lastSubmitBuffMult",value:3,name:"결의"}
+ ,{
+ id:15,rarity:1,effect:"firstSubmitBuffMult",value:2,name:"선봉장"}
+ ,{
+ id:16,rarity:1,effect:"acePerBuffMult",value:1.5,name:"에이스 수집가"}
+ ,{
+ id:17,rarity:1,effect:"tripleFamilyBuffMult",value:2,name:"삼형제"}
+ ,{
+ id:18,rarity:1,effect:"highCardBuffMult",value:4,name:"모험가"}
+ ,{
+ id:19,rarity:2,effect:"buffMult",value:3,name:"전설의 용사"}
+ ,{
+ id:20,rarity:2,effect:"permanentBuffStack",value:1,name:"노장"}
+ ],_pi=[{
+ id:1,effect:"gold8",value:8,name:"군자금 태그"}
+ ,{
+ id:2,effect:"freePack",value:1,name:"보급 태그"}
+ ,{
+ id:3,effect:"freeReroll",value:1,name:"재정비 태그"}
+ ,{
+ id:4,effect:"rarePetGuarantee",value:1,name:"희귀 펫 태그"}
+ ,{
+ id:5,effect:"randomRelic",value:1,name:"유물 태그"}
+ ,{
+ id:6,effect:"bossGoldDouble",value:2,name:"투자 태그"}
+ ],bpi={
+ power:"⚔",buff:"🔥",wild:"✦",gold:"◉",glass:"◇"}
+ ,ypi={
+ human:14263601,orc:12731695,elf:5012794,undead:8019102}
+ ,Mpi=class t extends Ue{
+ constructor(){
+ super(),qt(this,"bg"),qt(this,"lblRank"),qt(this,"lblSuit"),qt(this,"lblCenter"),qt(this,"lblEnhance"),qt(this,"sealDot"),qt(this,"dimOverlay"),qt(this,"_card",null),qt(this,"_selected",!1),qt(this,"_baseY",0),qt(this,"onTap",null),qt(this,"handIndex",-1),this.bg=new Bf,this.drawBg(!1),this.addChild(this.bg),this.lblRank=new hL("",wD.DEFAULT_COLOR,wD.DEFAULT_OUTLINE_FONT_OPTION_24),this.lblRank.x=10,this.lblRank.y=6,this.addChild(this.lblRank),this.lblSuit=new hL("",wD.DEFAULT_COLOR,wD.DEFAULT_OUTLINE_FONT_OPTION_18),this.lblSuit.x=12,this.lblSuit.y=40,this.addChild(this.lblSuit),this.lblCenter=new hL("",wD.DEFAULT_COLOR,wD.DEFAULT_OUTLINE_FONT_OPTION_32),this.addChild(this.lblCenter),this.lblEnhance=new hL("",wD.DEFAULT_COLOR,wD.DEFAULT_FONT_OPTION_16),this.lblEnhance.visible=!1,this.addChild(this.lblEnhance),this.sealDot=new Bf,this.sealDot.visible=!1,this.addChild(this.sealDot),this.dimOverlay=new Bf,this.dimOverlay.roundRect(0,0,t.CARD_WIDTH,t.CARD_HEIGHT,10).fill({
+ color:0,alpha:.55}
+ ),this.dimOverlay.visible=!1,this.addChild(this.dimOverlay),this.eventMode="static",this.cursor="pointer",this.on("pointertap",()=>{
MerchantGoldEffects 1 hunks, 73 statements
+ const dU=class{
+ static getManagerKindNums(){
+ const t=_x.getInstance();
+ if(this._kindNumsBookSize===t.bookList.length)return this._kindNums;
+ const i=t.bookList.find(t=>t.className===this.MERCHANT_CLASS_NAME);
+ return i?(this._kindNumsBookSize=t.bookList.length,this._kindNums=i.base?t.bookList.filter(t=>t.base===i.base).map(t=>t.kindNum):[i.kindNum],this._kindNums):[]}
+ static getTopSlots(){
+ const t=zR.getInstance().version;
+ return this._cachedVer!==t&&(this._cachedVer=t,this._cachedSlots=this.collectSlots().sort((t,i)=>i.point-t.point).slice(0,this.MAX_SLOTS)),this._cachedSlots}
+ static getPoints(){
+ let t=0;
+ for(const i of this.getTopSlots())t+=i.point;
+ return t}
+ static getManagerCount(){
+ return this.getTopSlots().length}
+ static getDisplayKindNum(){
+ var t;
+ const i=_x.getInstance();
+ let s=0,e=-1;
+ for(const n of this.getManagerKindNums()){
+ const h=(null==(t=i.getBookVO(n))?void 0:t.grade)??-1;
+ h>e&&(e=h,s=n)}
+ return s}
+ static getContributorsDetail(){
+ return this.getTopSlots().map(t=>({
+ kindNum:t.kindNum,trans:t.trans}
+ ))}
+ static getGoldMultiplier(){
+ return 1+this.getPoints()*this.GOLD_PCT_PER_POINT/100}
+ static getBoxMax(){
+ return this.calcBoxMax(this.getPoints())}
+ static calcBoxMax(t){
+ return Math.min(this.BASE_BOX_MAX+Math.floor(t/this.POINTS_PER_BOX),this.BOX_MAX_CAP)}
+ static calcGoldMultiplier(t){
+ return 1+t*this.GOLD_PCT_PER_POINT/100}
+ static collectSlots(){
+ const t=this.getManagerKindNums();
+ if(0===t.length)return[];
+ if(OL.maxWave<this.UNLOCK_WAVE)return[];
+ const i=_x.getInstance(),s=[],e=zt((t,i)=>{
+ const e=this.pointOf(t,i);
+ e>0&&s.push({
+ kindNum:t,trans:i,point:e}
+ )}
+ ,"push");
+ for(const n of i.list)t.includes(n.kindNum)&&e(n.kindNum,n.trans??0);
+ for(const n of i.ownedUnitList)if(t.includes(n.kindNum)){
+ for(let t=0;
+ t<(n.count??0);
+ t++)e(n.kindNum,0);
+ for(let t=1;
+ t<=3;
+ t++){
+ const i=n.trans[t-1]??0;
+ for(let s=0;
+ s<i;
+ s++)e(n.kindNum,t)}
+ }
+ return s}
+ static pointOf(t,i){
+ var s,e;
+ const n=_x.getInstance().getBookVO(t);
+ if(!n)return 0;
+ const h=xx.getInstance();
+ if(5===n.grade)return(null==(s=h.getByKindNum(this.SKILL_KIND_5STAR))?void 0:s.value)??0;
+ if(6===n.grade){
+ const t=Math.max(0,Math.min(3,i));
+ return(null==(e=h.getByKindNum(this.SKILL_KIND_6STAR_BASE+t))?void 0:e.value)??0}
+ return 0}
+ }
+ ;
+ zt(dU,"MerchantGoldEffects"),qt(dU,"MERCHANT_CLASS_NAME",ax.Aladin1),qt(dU,"_kindNums",[]),qt(dU,"_kindNumsBookSize",-1),qt(dU,"SKILL_KIND_5STAR",81),qt(dU,"SKILL_KIND_6STAR_BASE",82),qt(dU,"MAX_SLOTS",5),qt(dU,"BASE_BOX_MAX",5),qt(dU,"POINTS_PER_BOX",20),qt(dU,"BOX_MAX_CAP",10),qt(dU,"GOLD_PCT_PER_POINT",10),qt(dU,"MAX_POINTS",100),qt(dU,"UNLOCK_WAVE",100),qt(dU,"_cachedSlots",[]),qt(dU,"_cachedVer",-1);
+ let fU=dU;
CastleAutoController 1 hunks, 73 statements
+ const xhi=class t{
+ constructor(){
+ qt(this,"timer",null),qt(this,"_enabled",!1)}
+ static getInstance(){
+ return this.instance||(this.instance=new t),this.instance}
+ get enabled(){
+ return this._enabled}
+ async loadSetting(){
+ const i=await VA.getCastleAutoEnabled();
+ OL.maxWave<t.UNLOCK_WAVE?this._enabled=!1:(this._enabled=!0===i,this._enabled&&this.startTimer())}
+ setEnabled(t){
+ this._enabled!==t&&(this._enabled=t,VA.setCastleAutoEnabled(t),t?(this.startTimer(),this.tick()):this.stopTimer())}
+ startTimer(){
+ null==this.timer&&(this.timer=setInterval(()=>this.tick(),t.TICK_INTERVAL_MS))}
+ stopTimer(){
+ null!=this.timer&&(clearInterval(this.timer),this.timer=null)}
+ goldRows(){
+ return vR.getInstance().bookList.filter(t=>1==t.type)}
+ isAllMaxed(t){
+ if(0===t.length)return!0;
+ const i=_5.getInstance().getMaxLevel(5),s=vR.getInstance().castleVO.level;
+ for(const e of t)if(1===e.kindNum){
+ if(s<i)return!1}
+ else if(e.level<e.maxLv)return!1;
+ return!0}
+ tick(){
+ if(!this._enabled)return;
+ if(pL.pausedAt>0)return;
+ if(!Poi.getInstance().getPlayer())return;
+ const i=this.goldRows();
+ if(this.isAllMaxed(i))return;
+ const s=OL.gold*(1-t.SPEND_RATIO_PER_TICK);
+ let e=!1;
+ for(let t=0;
+ t<20&&this.buyNext(i,s);
+ t++)e=!0;
+ e&&(tH.getInstance().updateGold(),Xhi.getInstance().setData(),Ohi.markDirtyAndSchedule())}
+ buyNext(t,i){
+ const s=OL.gold-i;
+ if(s<=0)return!1;
+ for(const e of t)if(1===e.kindNum){
+ if(this.buyCastle(e,s))return!0}
+ else if(this.buyUpgrade(e,s))return!0;
+ return!1}
+ buyCastle(t,i){
+ const s=_5.getInstance(),e=vR.getInstance().castleVO,n=s.getMaxLevel(5);
+ if(e.level>=n)return!1;
+ if(i<s.getTotalGold(e.level,e.level+1))return!1;
+ let h=e.level+1,r=n;
+ for(;
+ h<r;
+ ){
+ const t=h+Math.ceil((r-h)/2);
+ s.getTotalGold(e.level,t)<=i?h=t:r=t-1}
+ const o=s.getTotalGold(e.level,h);
+ return OL.gold-=o,t.level=h,e.level=h,Poi.getInstance().udpateHero(e),!0}
+ buyUpgrade(t,i){
+ if(t.level>=t.maxLv)return!1;
+ if(i<t.getTotalCost(t.level,t.level+1))return!1;
+ let s=t.level+1,e=t.maxLv;
+ for(;
+ s<e;
+ ){
+ const n=s+Math.ceil((e-s)/2);
+ t.getTotalCost(t.level,n)<=i?s=n:e=n-1}
+ const n=t.getTotalCost(t.level,s);
+ OL.gold-=n,t.level=s;
+ const h=Poi.getInstance().getPlayer();
+ return h&&(2==t.kindNum?(h.setPlayerAtkRange(t.value),uU.getInstance().setRange()):3==t.kindNum?h.setPlayerAtkDuration(t.value):4==t.kindNum?h.setPlayerNumShot(t.value):5==t.kindNum&&h.setPlayerNumBounce(t.value)),!0}
+ }
+ ;
+ zt(xhi,"CastleAutoController"),qt(xhi,"instance"),qt(xhi,"TICK_INTERVAL_MS",3e3),qt(xhi,"SPEND_RATIO_PER_TICK",.5),qt(xhi,"UNLOCK_WAVE",100);
+ let Rhi=xhi;
TimeShiftManager 1 hunks, 72 statements
+ const ZZt=class t{
+ static get isUnlocked(){
+ return OL.maxWave>=t.UNLOCK_MAX_WAVE}
+ static now(){
+ return sx.time>0?sx.time:Date.now()}
+ static chargeMultiplier(){
+ return 1+xx.getInstance().getTotal(kx.CallOfDawn)/100}
+ static getGuideStatus(){
+ const t=this.chargeMultiplier();
+ return{
+ maxStack:this.maxStack,secondsPerStack:this.intervalSec/t,buffPercent:Math.round(100*(t-1))}
+ }
+ static elapsedSec(){
+ return this.loaded?.001*(this.now()-this.lastUseTime)*this.chargeMultiplier():0}
+ static get stack(){
+ return Math.max(0,Math.min(Math.floor(this.elapsedSec()/this.intervalSec),this.maxStack))}
+ static get hasStack(){
+ return this.stack>0}
+ static get ratio(){
+ return this.loaded?this.stack>=this.maxStack?1:this.elapsedSec()%this.intervalSec/this.intervalSec:0}
+ static get gaugeText(){
+ const t=this.stack;
+ return this.maxStack>1&&t>=1?`${
+ t}
+ /${
+ this.maxStack}
+ `:`${
+ Math.floor(100*this.ratio)}
+ %`}
+ static get secondsToNextStack(){
+ if(!this.loaded||this.stack>=this.maxStack)return 0;
+ const t=this.intervalSec-this.elapsedSec()%this.intervalSec;
+ return Math.max(0,Math.ceil(t/this.chargeMultiplier()))}
+ static isNightWave(t){
+ return(t-1)%10>=5}
+ static nightStartOf(t){
+ return t-(t-1)%10+5}
+ static isLastDayWave(t){
+ return(t-1)%10==4}
+ static canAutoTrigger(t){
+ return this.isUnlocked&&this._autoEnabled&&this.hasStack&&this.isNightWave(t)&&!this.isNightWave(t+1)}
+ static trigger(t){
+ return this.consume(),this.nightStartOf(t+1)}
+ static consume(){
+ const t=this.stack;
+ if(t<=0)return;
+ const i=this.intervalSec/this.chargeMultiplier();
+ t>=this.maxStack?this.lastUseTime=this.now()-(t-1)*i*1e3:this.lastUseTime+=1e3*i,this.reportUse()}
+ static async reportUse(){
+ var t;
+ try{
+ const i=await pD.getInstance().timeShift.useTimeShift();
+ (null==(t=null==i?void 0:i.body)?void 0:t.lastUseTime)&&this.applyServerInfo(i.body)}
+ catch(Aet){
+ }
+ }
+ static applyServerInfo(t){
+ const i=new Date(t.lastUseTime).getTime();
+ Number.isNaN(i)||(this.lastUseTime=i,this.loaded=!0),t.intervalSec&&t.intervalSec>0&&(this.intervalSec=t.intervalSec),t.maxStack&&t.maxStack>0&&(this.maxStack=t.maxStack)}
+ static load(){
+ return this.loadPromise||(this.loadPromise=Promise.all([VA.getTimeShiftAutoEnabled(),pD.getInstance().timeShift.getTimeShiftInfo().catch(t=>null)]).then(([t,i])=>{
+ var s;
+ this._autoEnabled=!0===t,(null==(s=null==i?void 0:i.body)?void 0:s.lastUseTime)&&this.applyServerInfo(i.body)}
+ )),this.loadPromise}
+ static get autoEnabled(){
+ return this._autoEnabled}
+ static setAutoEnabled(t){
+ this._autoEnabled!==t&&(this._autoEnabled=t,VA.setTimeShiftAutoEnabled(t))}
+ }
+ ;
+ zt(ZZt,"TimeShiftManager"),qt(ZZt,"intervalSec",300),qt(ZZt,"maxStack",1),qt(ZZt,"UNLOCK_MAX_WAVE",200),qt(ZZt,"lastUseTime",0),qt(ZZt,"loaded",!1),qt(ZZt,"loadPromise",null),qt(ZZt,"_autoEnabled",!1);
+ let t0t=ZZt;
PackPickPopup 8 hunks, 66 statements
+ const i=new Epi;
+ i.handIndex=t,i.onTap=t=>this.select(t.handIndex),i.visible=!1,this.cardChoices.push(i),this.contentContainer.addChild(i);
- i.slotIndex=t,i.onTap=this.onChoiceTap.bind(this),this.choiceCards.push(i),this.contentContainer.addChild(i)}
- this.lblReplaceGuide=new iL(xG.getText("","슬롯이 가득! 교체할 동료를 선택하세요"),16747883,fD.DEFAULT_FONT_OPTION_16),this.lblReplaceGuide.textColor=16747883,this.contentContainer.addChild(this.lblReplaceGuide);
- for(let t=0;
- t<5;
- t++){
- const i=new jfi(!0);
- i.slotIndex=t,i.onTap=this.onOwnedTap.bind(this),this.ownedCards.push(i),this.contentContainer.addChild(i)}
+ s.slotIndex=t,s.onTap=t=>this.select(t.slotIndex),s.visible=!1,this.petChoices.push(s),this.contentContainer.addChild(s);
+ const e=new oG("");
+ e.width=560;
+ const n=t;
+ e.onClick=()=>this.select(n),e.visible=!1,this.contentContainer.addChild(e);
+ const h=new hL("",wD.DEFAULT_COLOR,wD.DEFAULT_FONT_OPTION_15);
+ h.visible=!1,this.contentContainer.addChild(h),this.textChoices.push({
+ bg:e,desc:h}
+ )}
- setData(t,i){
- this.selectedChoice=-1,this.selectedReplace=-1,this.needReplace=i.length>=5;
- for(let s=0;
- s<this.choiceCards.length;
- s++){
- const i=this.choiceCards[s];
- s<t.length?(i.visible=!0,i.setJoker(t[s])):i.visible=!1,i.selected=!1}
- this.lblReplaceGuide.visible=this.needReplace;
- for(let s=0;
- s<this.ownedCards.length;
- s++){
- const t=this.ownedCards[s];
- t.visible=this.needReplace&&s<i.length,t.visible&&t.setJoker(i[s]),t.selected=!1}
- this.updateLayout()}
- updateLayout(){
- const t=this.width;
+ setData(t){
+ var i;
+ this.selected=-1;
+ const s=640;
- this.lblHeader.x=.5*(t-this.lblHeader.width),this.lblHeader.y=i,i+=56;
- const s=jfi.FULL_WIDTH,e=.5*(t-(3*s+40));
+ this.lblHeader.text=DG.getText("",{
+ soldier:"덱에 넣을 병사를 선택하세요",relic:"유물을 선택하세요",consumable:"천사/악마 카드를 선택하세요",pet:"함께할 펫을 선택하세요"}
+ [t.packKind]),this.lblHeader.x=.5*(s-this.lblHeader.width),this.lblHeader.y=e,e+=56;
+ for(const n of this.cardChoices)n.visible=!1;
+ for(const n of this.petChoices)n.visible=!1;
+ for(const n of this.textChoices)n.bg.visible=!1,n.desc.visible=!1;
+ if("soldier"===t.packKind&&t.cardChoices){
+ const i=Epi.CARD_WIDTH,n=24,h=.5*(s-i*t.cardChoices.length-n*(t.cardChoices.length-1));
- n<this.choiceCards.length;
- n++)this.choiceCards[n].x=e+n*(s+20),this.choiceCards[n].y=i;
- if(i+=jfi.FULL_HEIGHT+20,this.needReplace){
- this.lblReplaceGuide.x=.5*(t-this.lblReplaceGuide.width),this.lblReplaceGuide.y=i,i+=34;
- const s=jfi.COMPACT_WIDTH,e=6,n=.5*(t-(5*s+4*e));
+ s<t.cardChoices.length;
+ s++){
+ const r=this.cardChoices[s];
+ r.visible=!0,r.setCard(t.cardChoices[s]),r.selected=!1,r.setBaseY(e),r.x=h+s*(i+n)}
+ e+=Epi.CARD_HEIGHT+24}
+ else if("pet"===t.packKind&&t.refChoices){
+ const i=Hpi.FULL_WIDTH,n=20,h=.5*(s-i*t.refChoices.length-n*(t.refChoices.length-1));
- t<this.ownedCards.length;
- t++)this.ownedCards[t].x=n+t*(s+e),this.ownedCards[t].y=i;
- i+=jfi.COMPACT_HEIGHT+20}
- this.btnConfirm.width=200,this.btnSkip.width=200,this.btnConfirm.x=.5*t-200-10,this.btnSkip.x=.5*t+10,this.btnConfirm.y=i,this.btnSkip.y=i,i+=this.btnConfirm.height+30,this.height=i}
- onChoiceTap(t){
- this.selectedChoice=t.slotIndex;
- for(const i of this.choiceCards)i.selected=i===t}
- onOwnedTap(t){
- this.selectedReplace=t.slotIndex;
- for(const i of this.ownedCards)i.selected=i===t}
+ s<t.refChoices.length;
+ s++){
+ const r=vpi.find(i=>i.id===t.refChoices[s]),o=this.petChoices[s];
+ r&&(o.visible=!0,o.setJoker(r),o.selected=!1,o.x=h+s*(i+n),o.y=e)}
+ e+=Hpi.FULL_HEIGHT+24}
+ else if(t.refChoices){
+ for(let n=0;
+ n<t.refChoices.length;
+ n++){
+ const h=t.refChoices[n],r=this.textChoices[n],o="relic"===t.packKind?(null==(i=HZt[h])?void 0:i.name)??"유물":fpi(h).name,a={
+ kind:"relic"===t.packKind?"relic":"consumable",refId:h}
+ ;
+ r.bg.text=o,r.bg.visible=!0,r.bg.x=.5*(s-r.bg.width),r.bg.y=e,e+=r.bg.height+4,r.desc.text=Ipi(a),r.desc.visible=!0,r.desc.x=.5*(s-r.desc.width),r.desc.y=e,e+=34}
+ e+=12}
+ this.btnConfirm.width=200,this.btnSkip.width=200,this.btnConfirm.x=110,this.btnSkip.x=330,this.btnConfirm.y=e,this.btnSkip.y=e,e+=this.btnConfirm.height+30,this.height=e}
+ select(t){
+ this.selected=t;
+ for(const i of this.cardChoices)i.selected=i.handIndex===t&&i.visible;
+ for(const i of this.petChoices)i.selected=i.slotIndex===t&&i.visible}
- if(this.selectedChoice<0)return void LF.getInstance().showMessage(xG.getText("","동료를 선택하세요"));
- if(this.needReplace&&this.selectedReplace<0)return void LF.getInstance().showMessage(xG.getText("","교체할 동료를 선택하세요"));
- const t=this.onPick;
- this.hide(),t&&t(this.selectedChoice,this.needReplace?this.selectedReplace:void 0)}
+ if(this.selected<0)return void WF.getInstance().showMessage(DG.getText("","하나를 선택하세요"));
+ const t=this.onPick,i=this.selected;
+ this.hide(),t&&t(i)}
- Vt(zfi,"JokerPickPopup"),Kt(zfi,"_instance");
+ zt(Ypi,"PackPickPopup"),qt(Ypi,"_instance");
PreferencesWeb 1 hunks, 57 statements
+ constructor(){
+ super(...arguments),this.group="CapacitorStorage"}
+ async configure({
+ group:t}
+ ){
+ "string"==typeof t&&(this.group=t)}
+ async get(t){
+ return{
+ value:this.impl.getItem(this.applyPrefix(t.key))}
+ }
+ async set(t){
+ this.impl.setItem(this.applyPrefix(t.key),t.value)}
+ async remove(t){
+ this.impl.removeItem(this.applyPrefix(t.key))}
+ async keys(){
+ return{
+ keys:this.rawKeys().map(t=>t.substring(this.prefix.length))}
+ }
+ async clear(){
+ for(const t of this.rawKeys())this.impl.removeItem(t)}
+ async migrate(){
+ var t;
+ const i=[],s=[],e=Object.keys(this.impl).filter(t=>0===t.indexOf("_cap_"));
+ for(const n of e){
+ const e=n.substring(5),h=null!==(t=this.impl.getItem(n))&&void 0!==t?t:"",{
+ value:r}
+ =await this.get({
+ key:e}
+ );
+ "string"==typeof r?s.push(e):(await this.set({
+ key:e,value:h}
+ ),i.push(e))}
+ return{
+ migrated:i,existing:s}
+ }
+ async removeOld(){
+ const t=Object.keys(this.impl).filter(t=>0===t.indexOf("_cap_"));
+ for(const i of t)this.impl.removeItem(i)}
+ get impl(){
+ return window.localStorage}
+ get prefix(){
+ return"NativeStorage"===this.group?"":`${
+ this.group}
+ .`}
+ rawKeys(){
+ return Object.keys(this.impl).filter(t=>0===t.indexOf(this.prefix))}
+ applyPrefix(t){
+ return this.prefix+t}
+ }
+ ;
+ zt($mi,"PreferencesWeb");
+ let jmi=$mi;
+ const Vmi=Object.freeze(Object.defineProperty({
+ __proto__:null,PreferencesWeb:jmi}
+ ,Symbol.toStringTag,{
+ value:"Module"}
+ )),Kmi=class extends njt{
TimeShiftGaugeIcon 1 hunks, 35 statements
- super(),Kt(this,"icon",new IB("UI_Ekkorr","BTN_WAVE")),Kt(this,"bar",new eL),Kt(this,"barBg",new eL),Kt(this,"lblNumCall",new iL("0",16777215,fD.DEFAULT_OUTLINE_FONT_OPTION_17)),Kt(this,"lblBuff",new iL("",65280,fD.DEFAULT_OUTLINE_FONT_OPTION_16)),Kt(this,"autoChip",new PF),Kt(this,"onAutoChipVisibilityChanged",null),Kt(this,"doubleWaveGroup",new Ge),Kt(this,"doubleWaveIcon",null),Kt(this,"lblDoubleWaveJump",new iL("",16768324,fD.DEFAULT_OUTLINE_FONT_OPTION_20)),Kt(this,"doubleWaveTimer",0),Kt(this,"doubleWaveStartY",0),Kt(this,"maxCall",1),Kt(this,"energy",0),Kt(this,"maxEnergy",100),Kt(this,"lastCallTime",tx.time),Kt(this,"cnt",0),Kt(this,"pendingCalls",0),Kt(this,"debounceTimer",null),Kt(this,"DEBOUNCE_DELAY",3e3),this.bar.setIndex(2),this.barBg.setIndex(6),this.addChild(this.barBg),this.addChild(this.icon),this.addChild(this.bar),this.addChild(this.lblNumCall),this.bar.width=40,this.barBg.width=44,this.barBg.height=12,this.bar.height=this.barBg.height-4,this.bar.x=this.icon.width+2,this.bar.y=26,this.barBg.x=this.bar.x-2,this.barBg.y=24,this.lblNumCall.x=this.bar.x,this.lblNumCall.y=1,this.lblBuff.textColor=16750848,this.lblBuff.x=0,this.lblBuff.y=this.icon.height-16,this.lblBuff.visible=!1,this.addChild(this.lblBuff),this.doubleWaveIcon=new He(QA.getTexture("UI_Ekkorr","Hero83")),this.doubleWaveIcon.anchor.set(0,.5),this.doubleWaveIcon.scale.set(.5),this.doubleWaveIcon.x=0,this.doubleWaveIcon.y=0,this.doubleWaveGroup.addChild(this.doubleWaveIcon),this.lblDoubleWaveJump.x=this.doubleWaveIcon.width+6,this.lblDoubleWaveJump.y=.5*-this.lblDoubleWaveJump.height,this.doubleWaveGroup.addChild(this.lblDoubleWaveJump),this.doubleWaveStartY=-20,this.doubleWaveGroup.x=5,this.doubleWaveGroup.y=this.doubleWaveStartY,this.doubleWaveGroup.visible=!1,this.addChild(this.doubleWaveGroup),this.autoChip.x=.5*(this.icon.width-this.autoChip.pillWidth),this.autoChip.y=this.icon.height+6,this.autoChip.visible=!1,this.autoChip.onTap=()=>{
- BF.getInstance().toggleWaveFromUI()}
- ,this.addChild(this.autoChip),this.initialize();
+ super(),qt(this,"icon"),qt(this,"bar",new oL),qt(this,"barBg",new oL),qt(this,"lblStack"),qt(this,"lastRatio",-1),qt(this,"frameCnt",0),qt(this,"lastTint",-1);
+ const i=wD.DEFAULT_OUTLINE_FONT_OPTION_16;
+ i.fontSize=11,i.lineHeight=14,this.lblStack=new hL("",16777215,i),this.lblStack.eventMode="none",this.bar.setIndex(2),this.barBg.setIndex(6),this.bar.eventMode="none",this.barBg.eventMode="none",this.icon=new $e(tS.getTexture("UI_Ekkorr","callOfDawn"));
+ const s=Math.min(1,t.ICON_H/this.icon.texture.height);
+ this.icon.scale.set(s),this.icon.x=.5*(t.BAR_W-this.icon.width),this.icon.y=.5*(t.ICON_H-this.icon.height),this.icon.eventMode="none",this.barBg.width=t.BAR_W,this.barBg.height=t.BAR_H,this.bar.height=this.barBg.height-4,this.barBg.x=0,this.barBg.y=t.ICON_H+3,this.bar.x=this.barBg.x+2,this.bar.y=this.barBg.y+2,this.bar.width=0,this.addChild(this.barBg,this.icon,this.bar,this.lblStack),this.eventMode="static",this.cursor="pointer",this.hitArea=new Pi(-4,-4,t.BAR_W+8,t.ICON_H+3+t.BAR_H+8),this.on("pointertap",this.onTap,this),this.visible=t0t.isUnlocked,t0t.load(),BM.getInstance().add(this.onFrame,this)}
+ onTap(){
+ if(!t0t.isUnlocked)return void WF.getInstance().showMessage(DG.getValueReplace("GAME_633","##",t0t.UNLOCK_MAX_WAVE,"최고 WAVE 200 이상에서 환생 후 이용가능합니다."));
+ if(OL.isSoulResting)return void WF.getInstance().showMessage(DG.getText("GAME_866","영혼의 휴식중에는 사용할 수 없습니다."));
+ if(!t0t.hasStack)return;
+ const t=Poi.getInstance().timeShiftToNightNow();
+ "blocked"!==t&&("ok"===t?(t0t.consume(),WF.getInstance().showMessage(DG.getText("GAME_1570","황혼의 부름으로 밤이 되었습니다."))):"lastDay"===t?WF.getInstance().showMessage(DG.getText("GAME_1572","곧 밤이 됩니다.")):WF.getInstance().showMessage(DG.getText("GAME_1571","밤에는 황혼의 부름을 사용할 수 없습니다.")))}
+ onFrame(){
+ if(!this.visible){
+ if(!t0t.isUnlocked)return;
+ this.visible=!0}
+ if(++this.frameCnt%6!=0)return;
+ const i=t0t.ratio;
+ i!==this.lastRatio&&(this.lastRatio=i,this.bar.width=i*(t.BAR_W-4));
+ const s=t0t.gaugeText;
+ this.lblStack.text!==s&&(this.lblStack.text=s,this.lblStack.x=this.barBg.x+.5*(this.barBg.width-this.lblStack.width),this.lblStack.y=this.barBg.y+.5*(this.barBg.height-this.lblStack.height)+t.STACK_LABEL_Y_ADJUST);
+ const e=t0t.isUnlocked,n=t0t.hasStack,h=e?n?t.TINT_ACTIVE:t.TINT_CHARGING:t.TINT_LOCKED;
+ if(h!==this.lastTint){
+ this.lastTint=h,this.icon.tint=h;
+ const i=e?t.TINT_ACTIVE:t.TINT_LOCKED;
+ this.bar.tint=i,this.barBg.tint=i,this.lblStack.alpha=e?1:t.ALPHA_LOCKED}
+ }
+ }
+ ;
+ zt(i0t,"TimeShiftGaugeIcon"),qt(i0t,"BAR_W",48),qt(i0t,"BAR_H",15),qt(i0t,"ICON_H",40),qt(i0t,"TINT_ACTIVE",16777215),qt(i0t,"TINT_CHARGING",9211020),qt(i0t,"TINT_LOCKED",4868682),qt(i0t,"ALPHA_LOCKED",.5),qt(i0t,"STACK_LABEL_Y_ADJUST",-1);
+ let s0t=i0t;
+ const e0t=class t extends Ue{
+ constructor(){
+ super(),qt(this,"icon",new RB("UI_Ekkorr","BTN_WAVE")),qt(this,"bar",new oL),qt(this,"barBg",new oL),qt(this,"lblNumCall"),qt(this,"doubleWaveGroup",new Ue),qt(this,"doubleWaveIcon",null),qt(this,"lblDoubleWaveJump",new hL("",16768324,wD.DEFAULT_OUTLINE_FONT_OPTION_20)),qt(this,"doubleWaveTimer",0),qt(this,"doubleWaveStartY",0),qt(this,"maxCall",1),qt(this,"energy",0),qt(this,"maxEnergy",100),qt(this,"lastCallTime",sx.time),qt(this,"cnt",0),qt(this,"pendingCalls",0),qt(this,"debounceTimer",null),qt(this,"DEBOUNCE_DELAY",3e3);
+ const i=wD.DEFAULT_OUTLINE_FONT_OPTION_16;
+ i.fontSize=12,i.lineHeight=t.BAR_H,this.lblNumCall=new hL("0",16777215,i),this.bar.setIndex(2),this.barBg.setIndex(6),this.addChild(this.barBg),this.addChild(this.icon),this.addChild(this.bar),this.addChild(this.lblNumCall),this.barBg.width=t.BAR_W,this.barBg.height=t.BAR_H,this.bar.height=this.barBg.height-4,this.icon.x=.5*(t.BAR_W-this.icon.width),this.barBg.x=0,this.barBg.y=this.icon.height+3,this.bar.x=this.barBg.x+2,this.bar.y=this.barBg.y+2,this.bar.width=0,this.doubleWaveIcon=new $e(tS.getTexture("UI_Ekkorr","Hero83")),this.doubleWaveIcon.anchor.set(0,.5),this.doubleWaveIcon.scale.set(.5),this.doubleWaveIcon.x=0,this.doubleWaveIcon.y=0,this.doubleWaveGroup.addChild(this.doubleWaveIcon),this.lblDoubleWaveJump.x=this.doubleWaveIcon.width+6,this.lblDoubleWaveJump.y=.5*-this.lblDoubleWaveJump.height,this.doubleWaveGroup.addChild(this.lblDoubleWaveJump),this.doubleWaveStartY=-20,this.doubleWaveGroup.x=5,this.doubleWaveGroup.y=this.doubleWaveStartY,this.doubleWaveGroup.visible=!1,this.addChild(this.doubleWaveGroup),this.initialize();
URLManager 4 hunks, 33 statements
+ static get TIME_SHIFT(){
+ return{
+ GET_INFO:`${
+ t.baseURL}
+ /time-shift/getTimeShiftInfo`,USE:`${
+ t.baseURL}
+ /time-shift/useTimeShift`}
+ }
- /guildRaid/open`,GIVE_UP:`${
+ /guildRaid/open`,GET_OPEN_RULE:`${
+ t.baseURL}
+ /guildRaid/getOpenRule`,SET_OPEN_RULE:`${
+ t.baseURL}
+ /guildRaid/setOpenRule`,GIVE_UP:`${
- /cardEvent/discard`,PICK_JOKER:`${
- t.baseURL}
- /cardEvent/pickJoker`,STATE:`${
+ /cardEvent/discard`,STATE:`${
- /cardEvent/getRanking`}
+ /cardEvent/getRanking`,LEAVE_SHOP:`${
+ t.baseURL}
+ /cardEvent/leaveShop`,SHOP_BUY:`${
+ t.baseURL}
+ /cardEvent/shopBuy`,SHOP_SELL:`${
+ t.baseURL}
+ /cardEvent/shopSell`,SHOP_REROLL:`${
+ t.baseURL}
+ /cardEvent/shopReroll`,PICK_FROM_PACK:`${
+ t.baseURL}
+ /cardEvent/pickFromPack`,USE_CONSUMABLE:`${
+ t.baseURL}
+ /cardEvent/useConsumable`,SKIP_STAGE:`${
+ t.baseURL}
+ /cardEvent/skipStage`,CONQUEST_CHOICE:`${
+ t.baseURL}
+ /cardEvent/conquestChoice`}
WaveCallInfo 10 hunks, 32 statements
- if(this.autoChip.visible)return this.autoChip.y+this.autoChip.pillHeight;
- let t=Math.max(this.icon.height,this.barBg.y+this.barBg.height);
- return this.lblBuff.visible&&(t=Math.max(t,this.lblBuff.y+this.lblBuff.height)),t}
+ return this.barBg.y+this.barBg.height}
- return t&&this.autoChip.pop(),t}
+ return t&&this.popIcon(),t}
+ popIcon(){
+ WO.fromTo(this.icon.scale,{
+ x:.8,y:.8}
+ ,{
+ x:1,y:1,duration:.22,ease:"back.out(2.5)"}
+ )}
- this.autoChip.setOn(BF.getInstance().waveEnabled)}
+ }
+ getGuideStatus(){
+ const{
+ waveCallBuff:t,numCall:i}
+ =this.getChargeState();
+ return{
+ numCall:i,maxCall:this.maxCall,waveCallBuff:t,secondsPerCall:this.maxEnergy/t}
+ }
- setNumCall(t){
- this.lblNumCall.text=t.toString()}
- var t;
- const i=BF.isUnlocked;
- this.autoChip.visible!==i&&(this.autoChip.visible=i,null==(t=this.onAutoChipVisibilityChanged)||t.call(this,i));
- waveCallBuff:s,elapsedSec:e,numCall:n}
- =this.getChargeState(),h=Math.round(100*(s-1));
- h>0?(this.lblBuff.text=`${
+ elapsedSec:i,numCall:s}
+ =this.getChargeState();
+ s>=this.maxCall?this.energy=this.maxEnergy:this.energy=i%this.maxEnergy,this.energy<0&&(this.energy=0),this.bar.width=this.energy*(t.BAR_W-4)/this.maxEnergy;
+ const e=`${
- %`,this.lblBuff.x=.5*(this.icon.width-this.lblBuff.width),this.lblBuff.visible=!0):this.lblBuff.visible=!1,n>=this.maxCall?this.energy=this.maxEnergy:this.energy=e%this.maxEnergy,this.energy<0&&(this.energy=0),this.bar.width=40*this.energy/this.maxEnergy,this.lblNumCall.text=n.toString()+" / "+this.maxCall.toString()}
+ /${
+ this.maxCall}
+ `;
+ this.lblNumCall.text!==e&&(this.lblNumCall.text=e,this.lblNumCall.x=this.barBg.x+.5*(this.barBg.width-this.lblNumCall.width),this.lblNumCall.y=this.barBg.y+.5*(this.barBg.height-this.lblNumCall.height))}
- Vt(FZt,"WaveCallInfo"),Kt(FZt,"instance");
+ zt(e0t,"WaveCallInfo"),qt(e0t,"instance"),qt(e0t,"BAR_W",48),qt(e0t,"BAR_H",15);
AttendanceAutoTrigger 6 hunks, 32 statements
- if(await WL(),Qoi(),await $A.getAccountId())return void rai();
+ await KL(),Mai();
+ const i=await VA.resolveAccountCredsWithRetry();
+ if(i.accountId||i.readFailed)return void Oai();
- let t=await $A.getAccountId();
+ const t=await VA.resolveAccountCredsWithRetry();
+ let i=t.accountId;
+ if(t.readFailed){
+ nN.getInstance().hide();
+ const{
+ CommonConfirmPopup:t}
+ =await Qt(async()=>{
+ const{
+ CommonConfirmPopup:t}
+ =await Promise.resolve().then(()=>z$t);
+ return{
+ CommonConfirmPopup:t}
+ }
+ ,void 0);
+ return void t.getInstance().show(DG.getText("","저장된 계정 정보를 읽지 못했습니다.\n[확인] 다시 시도 / [취소] 새로 시작"),()=>{
+ window.location.reload()}
+ ,()=>{
+ n()}
+ )}
+ await n()}
+ async function n(){
- }
+ zt(n,"continueCreateAccount")}
- ),FF.getInstance().init(),Eai(9.9),Sai(),Eai(10),NVt.getMailList(),Eai(10.1),yVt.getInstance().getStatus().then(()=>{
+ ),Rhi.getInstance().loadSetting(),KF.getInstance().init(),zai(9.9),Yai(),zai(10),BVt.getMailList(),zai(10.1),TVt.getInstance().getStatus().then(()=>{
+ )),eci=sjt("Preferences",{
+ web:zt(()=>Qt(()=>Promise.resolve().then(()=>Vmi),void 0).then(t=>new t.PreferencesWeb),"web")}
+ ),nci=Object.freeze(Object.defineProperty({
+ __proto__:null,Preferences:eci}
+ ,Symbol.toStringTag,{
+ value:"Module"}
CardEventResultPopup 1 hunks, 32 statements
+ const dpi=[{
+ id:1,kind:"angel",effect:"enhance",enhance:"power",name:"축복·힘"}
+ ,{
+ id:2,kind:"angel",effect:"enhance",enhance:"buff",name:"축복·용맹"}
+ ,{
+ id:3,kind:"angel",effect:"enhance",enhance:"wild",name:"축복·만능"}
+ ,{
+ id:4,kind:"angel",effect:"enhance",enhance:"gold",name:"축복·재화"}
+ ,{
+ id:5,kind:"angel",effect:"enhance",enhance:"glass",name:"축복·유리"}
+ ,{
+ id:6,kind:"angel",effect:"sealRandom",name:"천사의 인장"}
+ ,{
+ id:7,kind:"devil",effect:"convertSuit",name:"계약·변신"}
+ ,{
+ id:8,kind:"devil",effect:"rankUp",name:"계약·승급"}
+ ,{
+ id:9,kind:"devil",effect:"destroy",name:"계약·소멸"}
+ ,{
+ id:10,kind:"devil",effect:"clone",name:"계약·복제"}
+ ,{
+ id:11,kind:"devil",effect:"goldGamble",name:"계약·도박"}
+ ,{
+ id:12,kind:"devil",effect:"recruitHero",name:"계약·징집"}
+ ];
+ function fpi(t){
+ const i=dpi.find(i=>i.id===t);
+ if(!i)throw new Error(`알 수 없는 소모품: ${
+ t}
+ `);
+ return i}
+ zt(fpi,"getConsumableDef");
CardEventService 3 hunks, 31 statements
- async pickJoker(t,i,s=!1){
- return this.post(XR.CARD_EVENT.PICK_JOKER,null==i?{
+ async leaveShop(t=!1){
+ return this.post(QR.CARD_EVENT.LEAVE_SHOP,{
+ }
+ ,t)}
+ async shopBuy(t,i=!1){
+ return this.post(QR.CARD_EVENT.SHOP_BUY,{
+ slot:t}
+ ,i)}
+ async shopSell(t,i,s=!1){
+ return this.post(QR.CARD_EVENT.SHOP_SELL,{
+ kind:t,index:i}
+ ,s)}
+ async shopReroll(t=!1){
+ return this.post(QR.CARD_EVENT.SHOP_REROLL,{
+ }
+ ,t)}
+ async pickFromPack(t,i=!1){
+ return this.post(QR.CARD_EVENT.PICK_FROM_PACK,{
+ ,i)}
+ async useConsumable(t,i,s,e=!1){
+ return this.post(QR.CARD_EVENT.USE_CONSUMABLE,null==s?{
+ slotIndex:t,targetCardIds:i}
- choice:t,replaceSlot:i}
+ slotIndex:t,targetCardIds:i,targetSuit:s}
+ ,e)}
+ async skipStage(t=!1){
+ return this.post(QR.CARD_EVENT.SKIP_STAGE,{
+ }
+ ,t)}
+ async conquestChoice(t,i=!1){
+ return this.post(QR.CARD_EVENT.CONQUEST_CHOICE,{
+ continueEndless:t}
CapacitorBridge 6 hunks, 30 statements
- var t;
+ var t,i,s;
+ let e=!1;
- o=this.isSubscriptionProduct(s)?await e.getInstance().subscription.confirmApple(i,r.receipt,1):await e.getInstance().shop.confirmApplePayment(i,r.transactionId,r.receipt,s,1),(null==o?void 0:o.success)&&(await Bjt.finishTransaction(r.transactionId),"COMPLETED"===(null==(t=null==o?void 0:o.body)?void 0:t.status)&&h.getInstance().trackPurchase(i,r.transactionId))}
+ l=this.isSubscriptionProduct(h)?await r.getInstance().subscription.confirmApple(n,c.receipt,1):await r.getInstance().shop.confirmApplePayment(n,c.transactionId,c.receipt,h,1),(null==l?void 0:l.success)&&(await $jt.finishTransaction(c.transactionId),"COMPLETED"===(null==(t=null==l?void 0:l.body)?void 0:t.status)&&((null==(s=null==(i=null==l?void 0:l.body)?void 0:i.rewardTypes)?void 0:s.length)??0)>0&&(e=!0,a.getInstance().trackPurchase(n,c.transactionId)))}
+ if(e){
+ const{
+ MailManager:t}
+ =await Qt(async()=>{
+ const{
+ MailManager:t}
+ =await Promise.resolve().then(()=>UVt);
+ return{
+ MailManager:t}
+ }
+ ,void 0);
+ t.getMailList()}
- var t;
+ var t,i,s;
+ let e=!1;
- o=this.isSubscriptionProduct(s)?await e.getInstance().subscription.confirmGoogle(i,s,r.purchaseToken,1):await e.getInstance().shop.confirmGooglePayment(i,r.purchaseToken,s,1),(null==o?void 0:o.success)&&"COMPLETED"===(null==(t=null==o?void 0:o.body)?void 0:t.status)&&h.getInstance().trackPurchase(i,r.orderId)}
+ l=this.isSubscriptionProduct(h)?await r.getInstance().subscription.confirmGoogle(n,h,c.purchaseToken,1):await r.getInstance().shop.confirmGooglePayment(n,c.purchaseToken,h,1),(null==l?void 0:l.success)&&"COMPLETED"===(null==(t=null==l?void 0:l.body)?void 0:t.status)&&((null==(s=null==(i=null==l?void 0:l.body)?void 0:i.rewardTypes)?void 0:s.length)??0)>0&&(e=!0,a.getInstance().trackPurchase(n,c.orderId))}
+ if(e){
+ const{
+ MailManager:t}
+ =await Qt(async()=>{
+ const{
+ MailManager:t}
+ =await Promise.resolve().then(()=>UVt);
+ return{
+ MailManager:t}
+ }
+ ,void 0);
+ t.getMailList()}
BladeMaster1 17 hunks, 29 statements
- super(),Kt(this,"killStack",0),Kt(this,"teleportCD",0),Kt(this,"blinkEvadeTimer",0),Kt(this,"mode",0),Kt(this,"rangeComboIdx",0),Kt(this,"rangeCycleAngle",0),Kt(this,"rangeCycleSign",1),Kt(this,"rangeKillStack",0),Kt(this,"rangeTripleArmed",!1),Kt(this,"combatActiveTimer",0),Kt(this,"surviveUsed",!1),Kt(this,"surviveTimer",0),Kt(this,"reapTargets",[]),Kt(this,"reapIdx",0),Kt(this,"reapStepTimer",0),Kt(this,"reapActive",!1),Kt(this,"reapOriginX",0),Kt(this,"reapOriginY",0)}
+ super(),qt(this,"killStack",0),qt(this,"teleportCD",0),qt(this,"mode",0),qt(this,"rangeComboIdx",0),qt(this,"rangeCycleAngle",0),qt(this,"rangeCycleSign",1),qt(this,"rangeKillStack",0),qt(this,"rangeTripleArmed",!1),qt(this,"combatActiveTimer",0),qt(this,"surviveUsed",!1),qt(this,"surviveTimer",0),qt(this,"buffPoint",new wi(0,-1)),qt(this,"walkTimer",0),qt(this,"hasEngagedOnce",!1),qt(this,"reapTargets",[]),qt(this,"reapIdx",0),qt(this,"reapStepTimer",0),qt(this,"reapActive",!1),qt(this,"reapOriginX",0),qt(this,"reapOriginY",0)}
- super.initializeData(),this.className=rx.BladeMaster1,this.sheetName="Game1",this.unitType=ix.MELEE,this.radius=7,this.hitHeight=36,this.idleFrames=new ZF(0,31),this.moveFrames=new ZF(32,67),this.attackFrames=new ZF(68,143),this.skillFrames=new ZF(144,238),this.dieFrames=new ZF(239,254),this.objAtk={
+ super.initializeData(),this.className=ax.BladeMaster1,this.sheetName="Game1",this.unitType=ex.MELEE,this.radius=7,this.hitHeight=36,this.uiTopOffset=6,this.idleFrames=new nH(0,31),this.moveFrames=new nH(32,67),this.attackFrames=new nH(68,143),this.skillFrames=new nH(144,238),this.dieFrames=new nH(239,254),this.objAtk={
- ,this.startSound=JL.SFX_BATTLE_MALE_GO,this.attackSound=JL.SFX_BATTLE_SWORD_ATTACK2,this.dieSound=JL.SFX_BATTLE_ORC_DIE,this.hasSkill=!0,this.maxMana=600,this.firePoint.set(8,-17.4),this.normalSize=.9,this.evolSize=.95,this.canTargetAir=!0,this.lifeSteal=t.LIFESTEAL_PCT,this.evadeChance=t.EVADE_BASE,this.applyMeleeModeBuffs()}
+ ,this.startSound=iG.SFX_BATTLE_MALE_GO,this.attackSound=iG.SFX_BATTLE_SWORD_ATTACK2,this.dieSound=iG.SFX_BATTLE_ORC_DIE,this.hasSkill=!0,this.maxMana=600,this.firePoint.set(8,-17.4),this.normalSize=.95,this.evolSize=1,this.canTargetAir=!0,this.lifeSteal=t.LIFESTEAL_PCT,this.evadeChance=t.EVADE_BASE,this.applyMeleeModeBuffs()}
- super.setData(i,s,e,n),this.killStack=0,this.mode=0,this.rangeComboIdx=0,this.rangeCycleAngle=0,this.rangeCycleSign=1,this.rangeKillStack=0,this.rangeTripleArmed=!1,this.reapTargets.length=0,this.reapIdx=0,this.reapStepTimer=0,this.reapActive=!1,this.reapOriginX=0,this.reapOriginY=0,this.teleportCD=0,this.blinkEvadeTimer=0,this.evadeChance=t.EVADE_BASE,this.combatActiveTimer=0,this.surviveUsed=!1,this.surviveTimer=0,this.unitType=ix.MELEE,this.atkRange=t.MELEE_ATK_RANGE,this.atkRange2=t.MELEE_ATK_RANGE*t.MELEE_ATK_RANGE,this.applyMeleeModeBuffs()}
+ super.setData(i,s,e,n),this.killStack=0,this.mode=0,this.rangeComboIdx=0,this.rangeCycleAngle=0,this.rangeCycleSign=1,this.rangeKillStack=0,this.rangeTripleArmed=!1,this.reapTargets.length=0,this.reapIdx=0,this.reapStepTimer=0,this.reapActive=!1,this.reapOriginX=0,this.reapOriginY=0,this.teleportCD=0,this.walkTimer=0,this.hasEngagedOnce=!1,this.evadeChance=t.EVADE_BASE,this.combatActiveTimer=0,this.surviveUsed=!1,this.surviveTimer=0,this.unitType=ex.MELEE,this.atkRange=t.MELEE_ATK_RANGE,this.atkRange2=t.MELEE_ATK_RANGE*t.MELEE_ATK_RANGE,this.applyMeleeModeBuffs()}
- if(super.execute(),this.isAlive)if(this.teleportCD>0&&this.teleportCD--,this.combatActiveTimer>0&&this.combatActiveTimer--,this.blinkEvadeTimer>0&&this.blinkEvadeTimer--,this.surviveTimer>0&&this.surviveTimer--,!this.surviveUsed&&this.health<=this.maxHp*t.SURVIVE_HP_FRAC&&(this.surviveUsed=!0,this.surviveTimer=t.SURVIVE_FRAMES),this.evadeChance=this.surviveTimer>0?t.SURVIVE_EVADE:this.blinkEvadeTimer>0?t.EVADE_AFTER_BLINK:t.EVADE_BASE,this.reapActive)this.advanceReap();
+ if(super.execute(),this.isAlive)if(this.teleportCD>0&&this.teleportCD--,this.combatActiveTimer>0&&this.combatActiveTimer--,this.surviveTimer>0&&this.surviveTimer--,!this.surviveUsed&&this.health<=this.maxHp*t.SURVIVE_HP_FRAC&&(this.surviveUsed=!0,this.surviveTimer=t.SURVIVE_FRAMES),this.evadeChance=this.surviveTimer>0?t.SURVIVE_EVADE:t.EVADE_BASE,this.reapActive)this.advanceReap();
- else if(0===this.mode&&this.teleportCD<=0&&this.attackCoolDown<=0){
+ else{
+ if(0===this.mode&&this.state===nx.MOVE&&this.hasEngagedOnce){
+ if(this.walkTimer++,this.walkTimer>=t.WALK_TELEPORT_FRAMES){
+ const t=this.pickTeleportTarget();
+ if(t)return void this.blinkToTarget(t)}
+ }
+ else this.walkTimer=0;
+ if(0===this.mode&&this.teleportCD<=0&&this.attackCoolDown<=0){
+ }
- n.setupAfterImage(this.sp.texture,this.sp.anchor.x,this.sp.anchor.y,this.x,this.y,this.sp.scale.x*this.currentSize,this.sp.scale.y*this.currentSize,this.sp.rotation,t,i,s,e),aB.getInstance().addChild(n),n.start(t)}
+ n.setupAfterImage(this.sp.texture,this.sp.anchor.x,this.sp.anchor.y,this.x,this.y,this.sp.scale.x*Math.abs(this.currentSize)*this.direction,this.sp.scale.y*Math.abs(this.currentSize),this.sp.rotation,t,i,s,e),dB.getInstance().addChild(n),n.start(t)}
- if(!this.target||!this.target.isAlive)return;
+ if(!this.target||!this.target.isAlive)return this.spawnAfterImage(t.AFTER_ATTACK_LIFE,t.AFTER_ATTACK_ALPHA),this.spawnAfterImage(t.AFTER_ATTACK_LIFE,.4,this.x+26*this.direction,this.y-4),this.grantKillRush(),this.teleportCD=0,void this.tryTeleportToNextTarget();
- this.spawnAfterImage(t.AFTER_ATTACK_LIFE,t.AFTER_ATTACK_ALPHA),this.spawnAfterImage(t.AFTER_ATTACK_LIFE,.4,this.x+26*this.direction,this.y-4),this.spawnAfterImage(t.AFTER_ATTACK_LIFE,.26,this.x+46*this.direction,this.y-8),r>0&&(this.combatActiveTimer=t.RE_ENGAGE_COMBAT_FRAMES),h&&!h.isAlive&&(this.teleportCD=0,this.tryTeleportToNextTarget())}
+ this.spawnAfterImage(t.AFTER_ATTACK_LIFE,t.AFTER_ATTACK_ALPHA),this.spawnAfterImage(t.AFTER_ATTACK_LIFE,.4,this.x+26*this.direction,this.y-4),this.spawnAfterImage(t.AFTER_ATTACK_LIFE,.26,this.x+46*this.direction,this.y-8),r>0&&(this.combatActiveTimer=t.RE_ENGAGE_COMBAT_FRAMES,this.hasEngagedOnce=!0),h&&!h.isAlive&&(this.grantKillRush(),this.teleportCD=0,this.tryTeleportToNextTarget())}
+ grantKillRush(){
+ this.addMoveSpeedBuff(qK.BladeMaster1_BLINK_MOVESPD,t.KILL_RUSH_MOVESPD,t.KILL_RUSH_FRAMES,!0),this.addAttackSpeedBuff(qK.BladeMaster1_RUSH_ATKSPD,t.KILL_RUSH_ATKSPD,t.KILL_RUSH_FRAMES,!0),this.showEffect(hH.Accelerate,t.KILL_RUSH_FRAMES,this.buffPoint,!0,!1)}
- if(this.reapIdx>=this.reapTargets.length)return this.reapActive=!1,this.reapTargets=[],void this.retargetNearestLiving();
+ if(this.reapIdx>=this.reapTargets.length){
+ this.reapActive=!1,this.reapTargets=[],this.retargetNearestLiving(),this.combatActiveTimer=t.RE_ENGAGE_COMBAT_FRAMES;
+ const i=this.evolStage>=1?t.SPLASH_RADIUS_E:t.SPLASH_RADIUS;
+ return this.target&&this.target.isAlive&&0===this.getEnemiesWithin(i).length&&(this.teleportCD=0,this.blinkToTarget(this.target)),void(this.attackCoolDown=0)}
- this.x=i.x+h*t.REAP_BEHIND_OFF,this.y=i.y+r*t.REAP_BEHIND_OFF,this.tx=this.x,this.ty=this.y,this.spawnAfterImage(t.AFTER_TELEPORT_LIFE,.6),this.lookAt(i.x-this.x),this.doMeleeAttack(i,t.REAP_DMG)}
+ this.x=i.x+h*t.REAP_BEHIND_OFF,this.y=i.y+r*t.REAP_BEHIND_OFF,this.tx=this.x,this.ty=this.y,this.lookAt(i.x-this.x),this.spawnAfterImage(t.AFTER_TELEPORT_LIFE,.6),this.doMeleeAttack(i,t.REAP_DMG)}
- i&&(this.blinkToTarget(i),this.addMoveSpeedBuff($K.BladeMaster1_BLINK_MOVESPD,t.BLINK_MOVESPD_BONUS,t.BLINK_MOVESPD_FRAMES,!0))}
+ t&&this.blinkToTarget(t)}
- this.spawnAfterImage(t.AFTER_TELEPORT_LIFE,.5),this.x=o,this.y=a,this.tx=o,this.ty=a,this.spawnAfterImage(t.AFTER_TELEPORT_LIFE,.7),this.lookAt(i.x-this.x),this.target=i,this.teleportCD=this.atkDuration*t.TELEPORT_CD_FACTOR,this.evadeChance=t.EVADE_AFTER_BLINK,this.blinkEvadeTimer=t.BLINK_EVADE_FRAMES}
+ this.spawnAfterImage(t.AFTER_TELEPORT_LIFE,.5),this.x=o,this.y=a,this.tx=o,this.ty=a,this.lookAt(i.x-this.x),this.spawnAfterImage(t.AFTER_TELEPORT_LIFE,.7),this.target=i,this.teleportCD=t.TELEPORT_CD_FRAMES,this.walkTimer=0}
- this.startReap(),this.addMoveSpeedBuff($K.BladeMaster1_RUSH_MOVESPD,t.RUSH_MOVESPD_BONUS,t.RUSH_DURATION,!0),this.addAttackSpeedBuff($K.BladeMaster1_RUSH_ATKSPD,t.RUSH_ATKSPD_BONUS,t.RUSH_DURATION,!0),this.combatActiveTimer=t.RE_ENGAGE_COMBAT_FRAMES,this.teleportCD=0,this.reapActive||this.retargetNearestLiving()}
+ this.startReap(),this.combatActiveTimer=t.RE_ENGAGE_COMBAT_FRAMES,this.teleportCD=0,this.reapActive||this.retargetNearestLiving()}
- this.applySwitchBurst(),this.spawnAfterImage(t.AFTER_SWITCH_LIFE,t.AFTER_SWITCH_ALPHA),0===this.mode?(this.mode=1,this.unitType=ix.RANGE,this.rangeComboIdx=0,this.rangeKillStack=0,this.rangeTripleArmed=!1,this.atkRange=t.RANGE_ATK_RANGE,this.atkRange2=t.RANGE_ATK_RANGE*t.RANGE_ATK_RANGE,this.addAttackSpeedBuff($K.BladeMaster1_RANGE_ATKSPD,t.RANGE_ATKSPD_BUFF,t.RANGE_ATKSPD_DUR,!0),this.addMoveSpeedBuff($K.BladeMaster1_MELEE_MOVESPD,0,1,!0),this.addAttackDamageBuff($K.BladeMaster1_MELEE_ATKDMG,0,1)):(this.mode=0,this.unitType=ix.MELEE,this.atkRange=this.orgAtkRange,this.atkRange2=this.orgAtkRange*this.orgAtkRange,this.addAttackSpeedBuff($K.BladeMaster1_RANGE_ATKSPD,0,1,!0),this.addMoveSpeedBuff($K.BladeMaster1_MELEE_MOVESPD,t.MELEE_MOVESPD_BUFF,t.MODE_BUFF_DUR,!0),this.addAttackDamageBuff($K.BladeMaster1_MELEE_ATKDMG,t.MELEE_ATKDMG_BUFF,t.MODE_BUFF_DUR))}
+ this.spawnAfterImage(t.AFTER_SWITCH_LIFE,t.AFTER_SWITCH_ALPHA),0===this.mode?(this.mode=1,this.unitType=ex.RANGE,this.rangeComboIdx=0,this.rangeKillStack=0,this.rangeTripleArmed=!1,this.atkRange=t.RANGE_ATK_RANGE,this.atkRange2=t.RANGE_ATK_RANGE*t.RANGE_ATK_RANGE,this.addAttackSpeedBuff(qK.BladeMaster1_RANGE_ATKSPD,t.RANGE_ATKSPD_BUFF,t.RANGE_ATKSPD_DUR,!0),this.addMoveSpeedBuff(qK.BladeMaster1_MELEE_MOVESPD,0,1,!0),this.addAttackDamageBuff(qK.BladeMaster1_MELEE_ATKDMG,0,1)):(this.mode=0,this.unitType=ex.MELEE,this.atkRange=this.orgAtkRange,this.atkRange2=this.orgAtkRange*this.orgAtkRange,this.addAttackSpeedBuff(qK.BladeMaster1_RANGE_ATKSPD,0,1,!0),this.addMoveSpeedBuff(qK.BladeMaster1_MELEE_MOVESPD,t.MELEE_MOVESPD_BUFF,t.MODE_BUFF_DUR,!0),this.addAttackDamageBuff(qK.BladeMaster1_MELEE_ATKDMG,t.MELEE_ATKDMG_BUFF,t.MODE_BUFF_DUR))}
- Vt(L2,"BladeMaster1"),Kt(L2,"SPLASH_RADIUS",115),Kt(L2,"SPLASH_RADIUS_E",140),Kt(L2,"DMG_HIT",.9),Kt(L2,"MELEE_ATK_RANGE",70),Kt(L2,"MELEE_KILL_MANA",20),Kt(L2,"SNAP_DIRS",[0,Math.PI/6,Math.PI/3,Math.PI/2,2*Math.PI/3,5*Math.PI/6,7*Math.PI/6,4*Math.PI/3,5*Math.PI/3,11*Math.PI/6]),Kt(L2,"RANGE_WAVE_OFFSETS",[-Math.PI/9,Math.PI/9,0]),Kt(L2,"RANGE_WAVE_DMG",.7),Kt(L2,"RANGE_WAVE_DMG_E",1),Kt(L2,"RANGE_ATK_RANGE",350),Kt(L2,"RANGE_ATKSPD_BUFF",.5),Kt(L2,"RANGE_ATKSPD_DUR",9999),Kt(L2,"SKILL_RANGE",130),Kt(L2,"SKILL_RANGE_E",160),Kt(L2,"SKILL_DMG",.8),Kt(L2,"SKILL_MAX",10),Kt(L2,"SKILL_MAX_ROUNDS",2),Kt(L2,"SKILL_REPEAT_FALLOFF",.5),Kt(L2,"SKILL_MAX_E",14),Kt(L2,"SPINBLADE_DMG",.5),Kt(L2,"SPINBLADE_DMG_E",.6),Kt(L2,"SPINBLADE_ANGLES_MELEE",[0,2*Math.PI/3,4*Math.PI/3]),Kt(L2,"SPINBLADE_ANGLES_MELEE_E",[0,2*Math.PI/5,4*Math.PI/5,6*Math.PI/5,8*Math.PI/5]),Kt(L2,"SPINBLADE_ANGLES_RANGE",[0,Math.PI/3,2*Math.PI/3,Math.PI,4*Math.PI/3,5*Math.PI/3]),Kt(L2,"KILL_STACK_MAX",8),Kt(L2,"KILL_ATKSPD_PER",.06),Kt(L2,"KILL_ATKDMG_PER",.05),Kt(L2,"KILL_BUFF_DUR",600),Kt(L2,"MELEE_MOVESPD_BUFF",0),Kt(L2,"MELEE_ATKDMG_BUFF",.15),Kt(L2,"MODE_BUFF_DUR",9999),Kt(L2,"RUSH_DURATION",300),Kt(L2,"RUSH_MOVESPD_BONUS",.8),Kt(L2,"RUSH_ATKSPD_BONUS",.4),Kt(L2,"RANGE_KILL_STACK_MAX",6),Kt(L2,"SWITCH_BURST_RADIUS",100),Kt(L2,"SWITCH_BURST_DMG",1),Kt(L2,"SWITCH_HEAL",30),Kt(L2,"AFTER_ATTACK_LIFE",15),Kt(L2,"AFTER_KILL_LIFE",12),Kt(L2,"AFTER_SWITCH_LIFE",30),Kt(L2,"AFTER_TELEPORT_LIFE",20),Kt(L2,"AFTER_ATTACK_ALPHA",.55),Kt(L2,"AFTER_KILL_ALPHA",.7),Kt(L2,"KILL_AFTERIMAGE_MAX_DIST",150),Kt(L2,"AFTER_SWITCH_ALPHA",.8),Kt(L2,"TELEPORT_MAX_DIST",280),Kt(L2,"TELEPORT_CD_FACTOR",1.5),Kt(L2,"RE_ENGAGE_COMBAT_FRAMES",90),Kt(L2,"BLINK_LAND_GAP",30),Kt(L2,"LIFESTEAL_PCT",.1),Kt(L2,"EVADE_BASE",.05),Kt(L2,"EVADE_AFTER_BLINK",.5),Kt(L2,"BLINK_EVADE_FRAMES",60),Kt(L2,"BLINK_MOVESPD_BONUS",.4),Kt(L2,"BLINK_MOVESPD_FRAMES",120),Kt(L2,"SURVIVE_HP_FRAC",.3),Kt(L2,"SURVIVE_EVADE",.9),Kt(L2,"SURVIVE_FRAMES",180),Kt(L2,"REAP_MAX_TARGETS",5),Kt(L2,"REAP_RANGE",500),Kt(L2,"REAP_STEP_FRAMES",6),Kt(L2,"REAP_DMG",.8),Kt(L2,"REAP_BEHIND_OFF",30),Kt(L2,"MAX_HITS",3),Kt(L2,"SWING_DMG",[1,.8,.6]);
+ zt(H2,"BladeMaster1"),qt(H2,"SPLASH_RADIUS",115),qt(H2,"SPLASH_RADIUS_E",140),qt(H2,"DMG_HIT",.9),qt(H2,"MELEE_ATK_RANGE",70),qt(H2,"MELEE_KILL_MANA",20),qt(H2,"SNAP_DIRS",[0,Math.PI/6,Math.PI/3,Math.PI/2,2*Math.PI/3,5*Math.PI/6,7*Math.PI/6,4*Math.PI/3,5*Math.PI/3,11*Math.PI/6]),qt(H2,"RANGE_WAVE_OFFSETS",[-Math.PI/9,Math.PI/9,0]),qt(H2,"RANGE_WAVE_DMG",.7),qt(H2,"RANGE_WAVE_DMG_E",1),qt(H2,"RANGE_ATK_RANGE",350),qt(H2,"RANGE_ATKSPD_BUFF",.5),qt(H2,"RANGE_ATKSPD_DUR",9999),qt(H2,"SKILL_RANGE",130),qt(H2,"SKILL_RANGE_E",160),qt(H2,"SKILL_DMG",.8),qt(H2,"SKILL_MAX",10),qt(H2,"SKILL_MAX_ROUNDS",2),qt(H2,"SKILL_REPEAT_FALLOFF",.5),qt(H2,"SKILL_MAX_E",14),qt(H2,"SPINBLADE_DMG",.5),qt(H2,"SPINBLADE_DMG_E",.6),qt(H2,"SPINBLADE_ANGLES_MELEE",[0,2*Math.PI/3,4*Math.PI/3]),qt(H2,"SPINBLADE_ANGLES_MELEE_E",[0,2*Math.PI/5,4*Math.PI/5,6*Math.PI/5,8*Math.PI/5]),qt(H2,"SPINBLADE_ANGLES_RANGE",[0,Math.PI/3,2*Math.PI/3,Math.PI,4*Math.PI/3,5*Math.PI/3]),qt(H2,"KILL_STACK_MAX",8),qt(H2,"KILL_ATKSPD_PER",.06),qt(H2,"KILL_ATKDMG_PER",.05),qt(H2,"KILL_BUFF_DUR",600),qt(H2,"MELEE_MOVESPD_BUFF",0),qt(H2,"MELEE_ATKDMG_BUFF",.15),qt(H2,"MODE_BUFF_DUR",9999),qt(H2,"RANGE_KILL_STACK_MAX",6),qt(H2,"SWITCH_BURST_RADIUS",100),qt(H2,"SWITCH_BURST_DMG",1),qt(H2,"SWITCH_HEAL",30),qt(H2,"AFTER_ATTACK_LIFE",15),qt(H2,"AFTER_KILL_LIFE",12),qt(H2,"AFTER_SWITCH_LIFE",30),qt(H2,"AFTER_TELEPORT_LIFE",20),qt(H2,"AFTER_ATTACK_ALPHA",.55),qt(H2,"AFTER_KILL_ALPHA",.7),qt(H2,"KILL_AFTERIMAGE_MAX_DIST",150),qt(H2,"AFTER_SWITCH_ALPHA",.8),qt(H2,"TELEPORT_MAX_DIST",280),qt(H2,"TELEPORT_CD_FRAMES",30),qt(H2,"WALK_TELEPORT_FRAMES",48),qt(H2,"RE_ENGAGE_COMBAT_FRAMES",90),qt(H2,"BLINK_LAND_GAP",30),qt(H2,"LIFESTEAL_PCT",.1),qt(H2,"EVADE_BASE",.05),qt(H2,"KILL_RUSH_MOVESPD",.4),qt(H2,"KILL_RUSH_ATKSPD",.3),qt(H2,"KILL_RUSH_FRAMES",120),qt(H2,"SURVIVE_HP_FRAC",.3),qt(H2,"SURVIVE_EVADE",.9),qt(H2,"SURVIVE_FRAMES",180),qt(H2,"REAP_MAX_TARGETS",5),qt(H2,"REAP_RANGE",500),qt(H2,"REAP_STEP_FRAMES",6),qt(H2,"REAP_DMG",.8),qt(H2,"REAP_BEHIND_OFF",30),qt(H2,"MAX_HITS",3),qt(H2,"SWING_DMG",[.8,.6,.4]);
ResourceInfo 6 hunks, 28 statements
- var zF=(t=>(t[t.NORMAL=0]="NORMAL",t[t.DUNGEON=1]="DUNGEON",t[t.TOWER=2]="TOWER",t[t.GUILD=3]="GUILD",t[t.TREASURE_DETAIL=4]="TREASURE_DETAIL",t))(zF||{
+ var QF=(t=>(t[t.NORMAL=0]="NORMAL",t[t.DUNGEON=1]="DUNGEON",t[t.TOWER=2]="TOWER",t[t.GUILD=3]="GUILD",t[t.TREASURE_DETAIL=4]="TREASURE_DETAIL",t[t.CARD_EVENT=5]="CARD_EVENT",t))(QF||{
- super(),Kt(this,"bg",new eL),Kt(this,"lblGold",new qB("UI_GOLD","0",fD.COLOR_ORANGE,fD.DEFAULT_FONT_OPTION_18)),Kt(this,"lblGem",new qB("UI_GEM_ICON","0",fD.COLOR_DEEP_SKYBLUE,fD.DEFAULT_FONT_OPTION_18)),Kt(this,"lblMedal",new qB("UI_STAR_ICON","0",fD.COLOR_WHITE,fD.DEFAULT_FONT_OPTION_18)),Kt(this,"lblSpeed",new qB("UI_SPEED_ICON0","+0%",fD.COLOR_WHITE,fD.DEFAULT_FONT_OPTION_18)),Kt(this,"lblHonor",new qB("PVP_COIN_ON","0",fD.COLOR_PURPLE_PINK,fD.DEFAULT_FONT_OPTION_18)),Kt(this,"lblGuildCoin",new qB("GUILD_COIN","0",fD.COLOR_BRIGHT_GREEN,fD.DEFAULT_FONT_OPTION_18)),Kt(this,"lblRaidCoin",new qB("RaidCoin_on","0",fD.COLOR_ORANGE,fD.DEFAULT_FONT_OPTION_18)),Kt(this,"lblCores",[]),Kt(this,"mode",0),Kt(this,"runInfo",new KF),Kt(this,"CORE_START_X",260),Kt(this,"CORE_GAP",100),Kt(this,"goldCountTween",null),Kt(this,"gemPoint",new gi),Kt(this,"gemPointInitialized",!1),Kt(this,"medalPoint",new gi),Kt(this,"medalPointInitialized",!1),Kt(this,"goldPoint",new gi),Kt(this,"goldPointInitialized",!1),Kt(this,"guildCoinPoint",new gi),Kt(this,"guildCoinPointInitialized",!1),this.bg.width=640,this.bg.height=40,this.addChild(this.bg),this.bg.alpha=.5,this.bg.setIndex(7),this.lblGem.x=260,this.lblGem.y=.5*(this.bg.height-this.lblGem.height),this.addChild(this.lblGem),this.lblMedal.x=390,this.lblMedal.y=.5*(this.bg.height-this.lblMedal.height),this.addChild(this.lblMedal),this.lblHonor.x=390,this.lblHonor.y=.5*(this.bg.height-this.lblHonor.height),this.lblHonor.visible=!1,this.addChild(this.lblHonor),this.lblGuildCoin.x=510,this.lblGuildCoin.y=.5*(this.bg.height-this.lblGuildCoin.height),this.lblGuildCoin.visible=!1,this.addChild(this.lblGuildCoin),this.lblRaidCoin.x=545,this.lblRaidCoin.y=.5*(this.bg.height-this.lblRaidCoin.height),this.lblRaidCoin.visible=!1,this.addChild(this.lblRaidCoin),this.lblSpeed.x=5,this.lblSpeed.y=.5*(this.bg.height-this.lblSpeed.height),this.lblSpeed.hitArea=new Ri(0,-this.lblSpeed.y,105,this.bg.height),this.lblSpeed.eventMode="static",this.lblSpeed.cursor="pointer",this.lblSpeed.on("pointertap",()=>{
+ super(),qt(this,"bg",new oL),qt(this,"lblGold",new ZB("UI_GOLD","0",wD.COLOR_ORANGE,wD.DEFAULT_FONT_OPTION_18)),qt(this,"lblGem",new ZB("UI_GEM_ICON","0",wD.COLOR_DEEP_SKYBLUE,wD.DEFAULT_FONT_OPTION_18)),qt(this,"lblMedal",new ZB("UI_STAR_ICON","0",wD.COLOR_WHITE,wD.DEFAULT_FONT_OPTION_18)),qt(this,"lblSpeed",new ZB("UI_SPEED_ICON0","+0%",wD.COLOR_WHITE,wD.DEFAULT_FONT_OPTION_18)),qt(this,"lblHonor",new ZB("PVP_COIN_ON","0",wD.COLOR_PURPLE_PINK,wD.DEFAULT_FONT_OPTION_18)),qt(this,"lblWave",new ZB("UI_STAR_ICON","0",wD.COLOR_WHITE,wD.DEFAULT_FONT_OPTION_18)),qt(this,"waveTicker",null),qt(this,"waveTickCount",0),qt(this,"lblGuildCoin",new ZB("GUILD_COIN","0",wD.COLOR_BRIGHT_GREEN,wD.DEFAULT_FONT_OPTION_18)),qt(this,"lblRaidCoin",new ZB("RaidCoin_on","0",wD.COLOR_ORANGE,wD.DEFAULT_FONT_OPTION_18)),qt(this,"lblCores",[]),qt(this,"mode",0),qt(this,"runInfo",new JF),qt(this,"CORE_START_X",260),qt(this,"CORE_GAP",100),qt(this,"goldCountTween",null),qt(this,"gemPoint",new wi),qt(this,"gemPointInitialized",!1),qt(this,"medalPoint",new wi),qt(this,"medalPointInitialized",!1),qt(this,"goldPoint",new wi),qt(this,"goldPointInitialized",!1),qt(this,"guildCoinPoint",new wi),qt(this,"guildCoinPointInitialized",!1),this.bg.width=640,this.bg.height=40,this.addChild(this.bg),this.bg.alpha=.5,this.bg.setIndex(7),this.lblGem.x=260,this.lblGem.y=.5*(this.bg.height-this.lblGem.height),this.addChild(this.lblGem),this.lblMedal.x=390,this.lblMedal.y=.5*(this.bg.height-this.lblMedal.height),this.addChild(this.lblMedal),this.lblHonor.x=390,this.lblHonor.y=.5*(this.bg.height-this.lblHonor.height),this.lblHonor.visible=!1,this.addChild(this.lblHonor),this.lblGuildCoin.x=510,this.lblGuildCoin.y=.5*(this.bg.height-this.lblGuildCoin.height),this.lblGuildCoin.visible=!1,this.addChild(this.lblGuildCoin),this.lblRaidCoin.x=545,this.lblRaidCoin.y=.5*(this.bg.height-this.lblRaidCoin.height),this.lblRaidCoin.visible=!1,this.addChild(this.lblRaidCoin),this.lblSpeed.x=5,this.lblSpeed.y=.5*(this.bg.height-this.lblSpeed.height),this.lblSpeed.hitArea=new Pi(0,-this.lblSpeed.y,105,this.bg.height),this.lblSpeed.eventMode="static",this.lblSpeed.cursor="pointer",this.lblSpeed.on("pointertap",()=>{
- switch(this.lblRaidCoin.visible=!1,this.runInfo.setAllowedByMode(0===t),t){
+ switch(this.lblRaidCoin.visible=!1,this.lblWave.visible=!1,this.stopWaveTicker(),this.runInfo.setAllowedByMode(0===t),t){
+ case 5:this.lblSpeed.visible=!1,this.lblMedal.visible=!1,this.lblHonor.visible=!1,this.lblGuildCoin.visible=!1,this.lblGold.visible=!1,this.lblGem.visible=!0,this.lblGem.x=400,this.lblWave.visible=!0,this.lblWave.x=25,this.startWaveTicker();
+ break;
+ startWaveTicker(){
+ this.waveTicker||(this.waveTickCount=0,this.updateWaveLabel(),this.waveTicker=()=>{
+ ++this.waveTickCount%30==0&&this.updateWaveLabel()}
+ ,fn.shared.add(this.waveTicker))}
+ stopWaveTicker(){
+ this.waveTicker&&(fn.shared.remove(this.waveTicker),this.waveTicker=null)}
+ updateWaveLabel(){
+ var i;
+ this.lblWave.text=`${
+ OL.wave.toLocaleString()}
+ ${
+ DG.getText("","층")}
+ `;
+ let s=!1;
+ try{
+ s=(null==(i=t.castleDestroyedProvider)?void 0:i.call(t))??!1}
+ catch{
+ s=!1}
+ if(s){
+ const t=Math.floor(this.waveTickCount/30)%2==0;
+ this.lblWave.textColor=t?wD.COLOR_RED:wD.COLOR_WHITE}
+ else this.lblWave.textColor=wD.COLOR_WHITE}
- Vt(YF,"ResourceInfo"),Kt(YF,"instance");
+ zt(ZF,"ResourceInfo"),qt(ZF,"instance"),qt(ZF,"castleDestroyedProvider",null);
Mo 21 hunks, 26 statements
- let Jst,Qst=[],Zst=[];
+ let set,eet=[],net=[];
- Jst=i,Zst.push(t),function(t){
+ set=i,net.push(t),function(t){
- if(!Jst||!t)return;
+ if(!set||!t)return;
- const i=Jst.endsWith("/")?`${
- Jst}
+ const i=set.endsWith("/")?`${
+ set}
- Jst}
+ set}
- let set=iet;
+ let oet=ret;
- function cet(t){
+ function get(t){
- var det,fet,pet,get,met,wet,vet,_et;
- Vt(cet,"bo"),Vt(uet,"wo"),(vet=det||(det={
+ var wet,vet,_et,bet,yet,Met,Eet,Aet;
+ zt(get,"bo"),zt(met,"wo"),(Eet=wet||(wet={
- (get||(get={
+ (bet||(bet={
- super(),this.keysExchanged=!1,this.step=get.KEY_HANDSHAKE_NONE,this.debug=!1,this.context=s,this.communicationLayer=t,(null==e?void 0:e.privateKey)&&i&&(Xst.KeyExchange(`[KeyExchange: constructor()] otherPubKey=${
+ super(),this.keysExchanged=!1,this.step=bet.KEY_HANDSHAKE_NONE,this.debug=!1,this.context=s,this.communicationLayer=t,(null==e?void 0:e.privateKey)&&i&&(iet.KeyExchange(`[KeyExchange: constructor()] otherPubKey=${
-  set keysExchanged to true!`,e),this.keysExchanged=!0),this.myECIES=new set(Object.assign(Object.assign({
+  set keysExchanged to true!`,e),this.keysExchanged=!0),this.myECIES=new oet(Object.assign(Object.assign({
- `),this.emit(fet.KEY_INFO,s.type),s.type===get.KEY_HANDSHAKE_SYN?(this.checkStep([get.KEY_HANDSHAKE_NONE,get.KEY_HANDSHAKE_ACK]),Xst.KeyExchange("[KeyExchange: onKeyExchangeMessage()] KEY_HANDSHAKE_SYN",s),s.pubkey&&this.setOtherPublicKey(s.pubkey),this.communicationLayer.sendMessage({
- type:get.KEY_HANDSHAKE_SYNACK,pubkey:this.myPublicKey}
+ `),this.emit(vet.KEY_INFO,s.type),s.type===bet.KEY_HANDSHAKE_SYN?(this.checkStep([bet.KEY_HANDSHAKE_NONE,bet.KEY_HANDSHAKE_ACK]),iet.KeyExchange("[KeyExchange: onKeyExchangeMessage()] KEY_HANDSHAKE_SYN",s),s.pubkey&&this.setOtherPublicKey(s.pubkey),this.communicationLayer.sendMessage({
+ type:bet.KEY_HANDSHAKE_SYNACK,pubkey:this.myPublicKey}
- ),this.setStep(get.KEY_HANDSHAKE_ACK)):s.type===get.KEY_HANDSHAKE_SYNACK?(this.checkStep([get.KEY_HANDSHAKE_SYNACK,get.KEY_HANDSHAKE_ACK,get.KEY_HANDSHAKE_NONE]),Xst.KeyExchange("[KeyExchange: onKeyExchangeMessage()] KEY_HANDSHAKE_SYNACK"),s.pubkey&&this.setOtherPublicKey(s.pubkey),this.communicationLayer.sendMessage({
- type:get.KEY_HANDSHAKE_ACK}
+ ),this.setStep(bet.KEY_HANDSHAKE_ACK)):s.type===bet.KEY_HANDSHAKE_SYNACK?(this.checkStep([bet.KEY_HANDSHAKE_SYNACK,bet.KEY_HANDSHAKE_ACK,bet.KEY_HANDSHAKE_NONE]),iet.KeyExchange("[KeyExchange: onKeyExchangeMessage()] KEY_HANDSHAKE_SYNACK"),s.pubkey&&this.setOtherPublicKey(s.pubkey),this.communicationLayer.sendMessage({
+ type:bet.KEY_HANDSHAKE_ACK}
- ),this.keysExchanged=!0,this.setStep(get.KEY_HANDSHAKE_ACK),this.emit(fet.KEYS_EXCHANGED)):s.type===get.KEY_HANDSHAKE_ACK&&(Xst.KeyExchange("[KeyExchange: onKeyExchangeMessage()] KEY_HANDSHAKE_ACK set keysExchanged to true!"),this.checkStep([get.KEY_HANDSHAKE_ACK,get.KEY_HANDSHAKE_NONE]),this.keysExchanged=!0,this.setStep(get.KEY_HANDSHAKE_ACK),this.emit(fet.KEYS_EXCHANGED))}
+ ),this.keysExchanged=!0,this.setStep(bet.KEY_HANDSHAKE_ACK),this.emit(vet.KEYS_EXCHANGED)):s.type===bet.KEY_HANDSHAKE_ACK&&(iet.KeyExchange("[KeyExchange: onKeyExchangeMessage()] KEY_HANDSHAKE_ACK set keysExchanged to true!"),this.checkStep([bet.KEY_HANDSHAKE_ACK,bet.KEY_HANDSHAKE_NONE]),this.keysExchanged=!0,this.setStep(bet.KEY_HANDSHAKE_ACK),this.emit(vet.KEYS_EXCHANGED))}
- this.clean(),this.myECIES=new set(t)}
+ this.clean(),this.myECIES=new oet(t)}
-  reset handshake state`),this.setStep(get.KEY_HANDSHAKE_NONE),this.emit(fet.KEY_INFO,this.step),this.keysExchanged=!1}
+  reset handshake state`),this.setStep(bet.KEY_HANDSHAKE_NONE),this.emit(vet.KEY_INFO,this.step),this.keysExchanged=!1}
- `),t?!(this.keysExchanged||this.step!==get.KEY_HANDSHAKE_NONE&&this.step!==get.KEY_HANDSHAKE_SYNACK)||i?(Xst.KeyExchange(`[KeyExchange: start()] context=${
+ `),t?!(this.keysExchanged||this.step!==bet.KEY_HANDSHAKE_NONE&&this.step!==bet.KEY_HANDSHAKE_SYNACK)||i?(iet.KeyExchange(`[KeyExchange: start()] context=${
- `,this.step),this.clean(),this.setStep(get.KEY_HANDSHAKE_SYNACK),this.communicationLayer.sendMessage({
- type:get.KEY_HANDSHAKE_SYN,pubkey:this.myPublicKey,v:2}
+ `,this.step),this.clean(),this.setStep(bet.KEY_HANDSHAKE_SYNACK),this.communicationLayer.sendMessage({
+ type:bet.KEY_HANDSHAKE_SYN,pubkey:this.myPublicKey,v:2}
- type:get.KEY_HANDSHAKE_SYNACK,pubkey:this.myPublicKey,v:2}
+ type:bet.KEY_HANDSHAKE_SYNACK,pubkey:this.myPublicKey,v:2}
- type:get.KEY_HANDSHAKE_START}
+ type:bet.KEY_HANDSHAKE_START}
- this.otherPublicKey=i,this.myECIES=new set({
+ this.otherPublicKey=i,this.myECIES=new oet({
ScoreCountUpLabel 1 hunks, 26 statements
+ countFromTo(t,i,s=260,e=0){
+ this.stop();
+ const n=performance.now(),h=zt(()=>{
+ const h=Math.min(1,(performance.now()-n)/s),r=t+(i-t)*h,o=e>0?(Math.round(r*10**e)/10**e).toLocaleString():Math.floor(r).toLocaleString();
+ this.lbl.text=`${
+ this.prefix}
+ ${
+ o}
+ ${
+ this.suffix}
+ `,this.scale.set(1+.3*Math.sin(h*Math.PI)),this.centerLabel(),h>=1&&(this.stop(),this.scale.set(1),this.centerLabel())}
+ ,"fn");
+ this.tickerFn=h,fn.shared.add(h),h()}
+ setBounce(t){
+ this.stop(),this.lbl.text=`${
+ this.prefix}
+ ${
+ t}
+ ${
+ this.suffix}
+ `;
+ const i=performance.now(),s=zt(()=>{
+ const t=Math.min(1,(performance.now()-i)/160);
+ this.scale.set(1+.35*(1-t)),this.centerLabel(),t>=1&&(this.stop(),this.scale.set(1))}
+ ,"fn");
+ this.tickerFn=s,fn.shared.add(s),s()}
GuildRaidSubMenu 4 hunks, 20 statements
- super(),Kt(this,"btnEmblem"),Kt(this,"btnShop"),Kt(this,"btnRecord"),Kt(this,"btnGuide"),this.btnShop=new eG("상점"),this.btnShop.color=eG.BROWN,this.btnShop.width=90,this.btnShop.height=44,this.btnShop.x=this.bg.width-this.btnShop.width-10,this.btnShop.y=.5*(this.bg.height-this.btnShop.height),this.btnShop.onClick=()=>{
+ super(),qt(this,"btnEmblem"),qt(this,"btnShop"),qt(this,"btnRecord"),qt(this,"btnSettings"),qt(this,"btnGuide"),this.btnShop=new oG("상점"),this.btnShop.color=oG.BROWN,this.btnShop.width=90,this.btnShop.height=44,this.btnShop.x=this.bg.width-this.btnShop.width-10,this.btnShop.y=.5*(this.bg.height-this.btnShop.height),this.btnShop.onClick=()=>{
- ,this.addChild(this.btnRecord),this.btnGuide=new IB("UI_Ekkorr","UI_Alarm"),this.btnGuide.on("pointertap",()=>{
+ ,this.addChild(this.btnRecord),this.btnSettings=new oG("설정"),this.btnSettings.color=oG.BROWN,this.btnSettings.width=90,this.btnSettings.height=44,this.btnSettings.x=this.btnRecord.x-this.btnSettings.width-5,this.btnSettings.y=this.btnShop.y,this.btnSettings.visible=!1,this.btnSettings.onClick=()=>{
+ Qt(async()=>{
+ const{
+ GuildRaidOpenSettingsPopup:t}
+ =await Promise.resolve().then(()=>Hgi);
+ return{
+ GuildRaidOpenSettingsPopup:t}
+ }
+ ,void 0).then(({
+ GuildRaidOpenSettingsPopup:t}
+ )=>{
+ t.getInstance().openSettings()}
+ )}
+ ,this.addChild(this.btnSettings),this.btnGuide=new RB("UI_Ekkorr","UI_Alarm"),this.btnGuide.on("pointertap",()=>{
+ refreshRoleVisibility(){
+ var t;
+ const i=null==(t=RD.myMembershipVO)?void 0:t.role,s=i?WD[i]??0:0;
+ this.btnSettings.visible=s>=4}
- this.setTitle(xG.getText("GAME_630","길드레이드")),this.btnShop.text=xG.getText("COMMON_356","상점"),this.btnEmblem.text=xG.getText("GAME_1260","휘장"),this.btnRecord.text=xG.getText("COMMON_39","기록"),this.btnGuide.x=this.lblTitle.x+this.lblTitle.width+8,this.btnGuide.y=.5*(this.bg.height-this.btnGuide.height)+t.GUIDE_NUDGE_Y}
+ this.setTitle(DG.getText("GAME_630","길드레이드")),this.btnShop.text=DG.getText("COMMON_356","상점"),this.btnEmblem.text=DG.getText("GAME_1260","휘장"),this.btnRecord.text=DG.getText("COMMON_39","기록"),this.btnSettings.text=DG.getText("COMMON_49","설정"),this.refreshRoleVisibility(),this.btnGuide.x=this.lblTitle.x+this.lblTitle.width+8,this.btnGuide.y=.5*(this.bg.height-this.btnGuide.height)+t.GUIDE_NUDGE_Y}
AdMobManager 2 hunks, 19 statements
+ const s=RL.getInstance();
+ let e=!1;
+ if(YA.isAppBundleVersionGreaterThan("1.11.76")){
+ const t=s.getClientData("ADMOB_PREMIUMADS_YN");
+ e=!t||"N"!=t}
+ let n=i;
+ e&&(n=2===i?9:i);
- const e=IL.getInstance();
- let n=!1;
- if(zA.isAppBundleVersionGreaterThan("1.11.76")){
- const t=e.getClientData("ADMOB_PREMIUMADS_YN");
- n=!t||"N"!=t}
- if((t.isTestMode()||e.isAdWhiteUser())&&(n=!1),n){
- const i=await this.getAdUnitId(9);
- try{
- this.isLoaded(i)||await this.waitLoadWithTimeout(i,t.PREMIUM_LOAD_TIMEOUT_MS),this.isLoaded(i)&&(s=i)}
- catch(h){
- }
- }
RightBottomMenus 5 hunks, 18 statements
- super(),Kt(this,"btnDungeon",new IB("UI_Ekkorr","HeroGrade6")),Kt(this,"btnIdle",new IB("UI_Ekkorr","HeroGrade4")),Kt(this,"btnMap3",new IB("UI_Ekkorr","HeroGrade2")),Kt(this,"btnMap4",new IB("UI_Ekkorr","HeroGrade16")),Kt(this,"btnRaidBosses",[]),Kt(this,"btnBuff",new IB("UI_Ekkorr","HeroGrade10")),Kt(this,"btnMine",new IB("UI_Ekkorr","HeroGrade12")),Kt(this,"btnCardEvent",new IB("UI_Ekkorr","HeroGrade14")),Kt(this,"healthOrb",UZt.getInstance()),Kt(this,"waveCallInfo",HZt.getInstance()),this.healthOrb.x=640-.5*this.healthOrb.width-3,this.healthOrb.y=13,this.addChild(this.healthOrb),this.waveCallInfo.x=10,this.waveCallInfo.y=t.WAVE_CALL_BASE_Y,this.addChild(this.waveCallInfo),this.waveCallInfo.eventMode="static",this.waveCallInfo.on("pointerup",this.getNextWave,this),this.waveCallInfo.start(),Mzt.getInstance().x=0,Mzt.getInstance().y=-13,this.addChild(Mzt.getInstance()),Mzt.getInstance().onVisibilityChanged=()=>this.layoutWaveCall(),this.waveCallInfo.onAutoChipVisibilityChanged=()=>this.layoutWaveCall(),this.btnDungeon.x=500,this.btnDungeon.y=0;
+ super(),qt(this,"btnDungeon",new RB("UI_Ekkorr","HeroGrade6")),qt(this,"btnIdle",new RB("UI_Ekkorr","HeroGrade4")),qt(this,"btnMap3",new RB("UI_Ekkorr","HeroGrade2")),qt(this,"btnMap4",new RB("UI_Ekkorr","HeroGrade16")),qt(this,"btnRaidBosses",[]),qt(this,"btnBuff",new RB("UI_Ekkorr","HeroGrade10")),qt(this,"btnMine",new RB("UI_Ekkorr","HeroGrade12")),qt(this,"btnCardEvent",new RB("UI_Ekkorr","HeroGrade14")),qt(this,"healthOrb",QZt.getInstance()),qt(this,"waveCallInfo",n0t.getInstance()),qt(this,"timeShiftGauge",new s0t),qt(this,"btnWaveSetting",new RB("UI_Ekkorr","smallSetting")),this.healthOrb.x=640-.5*this.healthOrb.width-3,this.healthOrb.y=13,this.addChild(this.healthOrb),this.waveCallInfo.x=10,this.waveCallInfo.y=t.WAVE_CALL_BASE_Y,this.addChild(this.waveCallInfo),this.waveCallInfo.eventMode="static",this.waveCallInfo.on("pointerup",this.getNextWave,this),this.waveCallInfo.start(),this.timeShiftGauge.x=this.waveCallInfo.x+62,this.timeShiftGauge.y=this.waveCallInfo.y,this.addChild(this.timeShiftGauge),this.btnWaveSetting.x=this.timeShiftGauge.x+48+12,this.btnWaveSetting.y=this.waveCallInfo.y+.5*(40-this.btnWaveSetting.height),this.addChild(this.btnWaveSetting),this.btnWaveSetting.on("pointerup",this.onWaveSetting,this),Izt.getInstance().x=0,Izt.getInstance().y=-13,this.addChild(Izt.getInstance()),Izt.getInstance().onVisibilityChanged=()=>this.layoutWaveCall(),this.btnDungeon.x=500,this.btnDungeon.y=0;
- const e=xL.getInstance().development;
+ const e=DL.getInstance().development&&!1;
- this.btnBuff.visible=e,this.btnMine.visible=e,this.btnCardEvent.visible=e&&PZt.EVENT_OPEN}
+ this.btnBuff.visible=e,this.btnMine.visible=e,this.btnCardEvent.visible=e}
- i.visible?this.waveCallInfo.y=i.y-t.WAVE_CALL_GUIDE_GAP-this.waveCallInfo.contentBottom:this.waveCallInfo.y=t.WAVE_CALL_BASE_Y}
+ i.visible?this.waveCallInfo.y=i.y-t.WAVE_CALL_GUIDE_GAP-this.waveCallInfo.contentBottom:this.waveCallInfo.y=t.WAVE_CALL_BASE_Y,this.timeShiftGauge.y=this.waveCallInfo.y,this.btnWaveSetting.y=this.waveCallInfo.y+.5*(40-this.btnWaveSetting.height)}
+ onWaveSetting(){
+ JL(),Qt(async()=>{
+ const{
+ WaveCallGuidePopup:t}
+ =await Promise.resolve().then(()=>opi);
+ return{
+ WaveCallGuidePopup:t}
+ }
+ ,void 0).then(({
+ WaveCallGuidePopup:t}
+ )=>{
+ t.getInstance().showGuide()}
+ )}
- Vt(M5t,"RightBottomMenus"),Kt(M5t,"instance"),Kt(M5t,"RAID_BOSS_KIND_NUMS",[1e5,100001,100002,100003,100004]),Kt(M5t,"RAID_BOSS_ICONS",["HeroGrade2","HeroGrade4","HeroGrade6","HeroGrade8","HeroGrade10"]),Kt(M5t,"WAVE_CALL_BASE_Y",-19),Kt(M5t,"WAVE_CALL_GUIDE_GAP",8);
+ zt(U5t,"RightBottomMenus"),qt(U5t,"MENUS_HIDDEN",!0),qt(U5t,"instance"),qt(U5t,"RAID_BOSS_KIND_NUMS",[1e5,100001,100002,100003,100004]),qt(U5t,"RAID_BOSS_ICONS",["HeroGrade2","HeroGrade4","HeroGrade6","HeroGrade8","HeroGrade10"]),qt(U5t,"WAVE_CALL_BASE_Y",-15),qt(U5t,"WAVE_CALL_GUIDE_GAP",4);
QuestSubMenu 7 hunks, 18 statements
- super(),Kt(this,"btnGold",new JB("UI_GemGold","100")),Kt(this,"btnBox",new Fhi("UI-GOLD-BOX","UI_GOLD","0","0/5","(00:00)",145,46)),Kt(this,"btnGuide"),Kt(this,"autoToggle",new PF),Kt(this,"boxRequesting",!1),Kt(this,"requesting",!1),Kt(this,"boxTickerStarted",!1),Kt(this,"boxTickerFrame",0),Kt(this,"lastShownCount",-1),Kt(this,"lastShownTime",""),this.lblTitle.textSize=17,this.setTitle(xG.getText("GAME_1","퀘스트")),this.closeBtn.visible=!1,this.btnBox.x=this.bg.width-this.btnBox.width-6,this.btnBox.y=.5*(this.bg.height-this.btnBox.height)-2,this.addChild(this.btnBox),this.btnGold.color=JB.BROWN,this.btnGold.width=155,this.btnGold.height=46,this.btnGold.x=this.btnBox.x-this.btnGold.width-6,this.btnGold.y=.5*(this.bg.height-this.btnGold.height)-2,this.addChild(this.btnGold),this.btnGold.onClick=this.onGoldClick.bind(this),this.btnBox.onClick=this.onGoldBoxClick.bind(this),this.btnGuide=new IB("UI_Ekkorr","UI_Alarm"),this.btnGuide.x=this.lblTitle.x+this.lblTitle.width+3,this.btnGuide.y=this.lblTitle.y+.5*(this.lblTitle.height-this.btnGuide.height)+2,this.addChild(this.btnGuide),this.btnGuide.on("pointertap",()=>{
+ super(),qt(this,"btnGold",new iU("UI_GemGold","100")),qt(this,"btnBox",new lri("UI-GOLD-BOX","UI_GOLD","0","0/5","(00:00)",145,46)),qt(this,"btnGuide"),qt(this,"autoToggle",new FF),qt(this,"boxRequesting",!1),qt(this,"requesting",!1),qt(this,"boxMaxSyncing",!1),qt(this,"boxTickerStarted",!1),qt(this,"boxTickerFrame",0),qt(this,"lastShownCount",-1),qt(this,"lastShownTime",""),this.lblTitle.textSize=17,this.setTitle(DG.getText("GAME_1","퀘스트")),this.closeBtn.visible=!1,this.btnBox.x=this.bg.width-this.btnBox.width-6,this.btnBox.y=.5*(this.bg.height-this.btnBox.height)-2,this.addChild(this.btnBox),this.btnGold.color=iU.BROWN,this.btnGold.width=155,this.btnGold.height=46,this.btnGold.x=this.btnBox.x-this.btnGold.width-6,this.btnGold.y=.5*(this.bg.height-this.btnGold.height)-2,this.addChild(this.btnGold),this.btnGold.onClick=this.onGoldClick.bind(this),this.btnBox.onClick=this.onGoldBoxClick.bind(this),this.btnGuide=new RB("UI_Ekkorr","UI_Alarm"),this.btnGuide.x=this.lblTitle.x+this.lblTitle.width+3,this.btnGuide.y=this.lblTitle.y+.5*(this.lblTitle.height-this.btnGuide.height)+2,this.addChild(this.btnGuide),this.btnGuide.on("pointertap",()=>{
- const i=lL.getInstance().goldPerSec*t.rewardSec;
+ const i=pL.getInstance().goldPerSec*t.rewardSec*fU.getGoldMultiplier();
- const t=60*lL.getInstance().goldPerSec*10,i=qD.displayLargeNumberAsAlphabet(t),s=xG.getValueReplace("GAME_619","##",i,`보석 100개를 이용해서,\n골드 ${
+ const t=60*pL.getInstance().goldPerSec*10*fU.getGoldMultiplier(),i=ZD.displayLargeNumberAsAlphabet(t),s=DG.getValueReplace("GAME_619","##",i,`보석 100개를 이용해서,\n골드 ${
- const t=60*lL.getInstance().goldPerSec*10,i=await lD.getInstance().user.buyGold();
+ const t=60*pL.getInstance().goldPerSec*10*fU.getGoldMultiplier(),i=await pD.getInstance().user.buyGold();
- this.btnGold.visible=i,this.btnBox.visible=i,this.refreshGold(),this.refreshBoxButton(),this.startBoxTicker()}
+ this.btnGold.visible=i,this.btnBox.visible=i,this.refreshGold(),this.refreshBoxButton(),this.startBoxTicker(),this.syncGoldBoxMaxIfStale()}
+ async syncGoldBoxMaxIfStale(){
+ if(this.boxMaxSyncing)return;
+ const t=XR.getInstance();
+ if(fU.getBoxMax()===t.max)return;
+ this.boxMaxSyncing=!0;
+ const i=await pD.getInstance().user.getGoldBoxInfo();
+ if(this.boxMaxSyncing=!1,!i||!1===i.success)return;
+ const s=i.body;
+ t.setData({
+ count:s.count,max:s.max,nextInSec:s.nextInSec,rewardSec:s.rewardSec}
+ ),this.refreshBoxButton()}
- const t=lL.getInstance().goldPerSec,i=60*t*10;
+ const t=pL.getInstance().goldPerSec,i=fU.getGoldMultiplier(),s=60*t*10*i;
- const s=t*YR.getInstance().rewardSec;
+ const e=t*XR.getInstance().rewardSec*i;
AutoTogglePill 8 hunks, 17 statements
- constructor(i="AUTO"){
- super(),Kt(this,"inner",new Ge),Kt(this,"bg",new Lf),Kt(this,"lbl"),Kt(this,"pillW",0),Kt(this,"isOn",!1),Kt(this,"onTap",null);
+ constructor(i="AUTO",s=!0){
+ super(),qt(this,"inner",new Ue),qt(this,"bg",new Bf),qt(this,"lbl"),qt(this,"pillW",0),qt(this,"isOn",!1),qt(this,"showDot",!0),qt(this,"offBgOverride",null),qt(this,"offBgAlphaOverride",null),qt(this,"offTextOverride",null),qt(this,"onTap",null),this.showDot=s;
- ...fD.DEFAULT_FONT_OPTION_15,fontSize:t.FONT_SIZE,lineHeight:t.PILL_H}
+ ...wD.DEFAULT_FONT_OPTION_15,fontSize:t.FONT_SIZE,lineHeight:t.PILL_H}
- this.lbl=new iL(i,t.OFF_TEXT,s),this.lbl.eventMode="none",this.bg.eventMode="none",this.inner.addChild(this.bg,this.lbl),this.addChild(this.inner);
- const e=t.PILL_H;
- this.pillW=t.PAD_X+t.DOT_D+t.DOT_GAP+this.lbl.width+t.PAD_X,this.inner.pivot.set(.5*this.pillW,.5*e),this.inner.position.set(.5*this.pillW,.5*e);
+ this.lbl=new hL(i,t.OFF_TEXT,e),this.lbl.eventMode="none",this.bg.eventMode="none",this.inner.addChild(this.bg,this.lbl),this.addChild(this.inner),this.eventMode="static",this.cursor="pointer",this.on("pointertap",this.onPointerTap,this),this.on("pointerdown",t.stopEvent),this.on("pointerup",t.stopEvent),this.relayout()}
+ relayout(){
+ const i=t.PILL_H,s=this.showDot?t.DOT_D+t.DOT_GAP:0;
+ this.pillW=t.PAD_X+s+this.lbl.width+t.PAD_X,this.inner.pivot.set(.5*this.pillW,.5*i),this.inner.position.set(.5*this.pillW,.5*i);
- this.hitArea=new Ri(-n,-n,this.pillW+2*n,e+2*n),this.eventMode="static",this.cursor="pointer",this.on("pointertap",this.onPointerTap,this),this.on("pointerdown",t.stopEvent),this.on("pointerup",t.stopEvent),this.draw()}
+ this.hitArea=new Pi(-e,-e,this.pillW+2*e,i+2*e),this.draw()}
+ setBoldFont(i){
+ const s=this.lbl.getStyle();
+ s.fontWeight="900",null!=i&&(s.fontSize=i),s.lineHeight=t.PILL_H,this.lbl.setStyle(s),this.relayout()}
+ setOffColors(t,i,s=.85){
+ this.offBgOverride=t,this.offTextOverride=i,this.offBgAlphaOverride=s,this.draw()}
- const i=this.isOn,s=t.PAD_X,e=t.PILL_H,n=t.DOT_D;
+ const i=this.isOn,s=t.PAD_X,e=t.PILL_H,n=t.DOT_D,h=this.offBgOverride??t.OFF_BG,r=this.offBgAlphaOverride??t.OFF_BG_ALPHA,o=this.offTextOverride??t.OFF_TEXT;
- color:i?t.ON_BG:t.OFF_BG,alpha:i?t.ON_BG_ALPHA:t.OFF_BG_ALPHA}
- ).circle(s+.5*n,.5*e,.5*n).fill({
+ color:i?t.ON_BG:h,alpha:i?t.ON_BG_ALPHA:r}
+ ),this.showDot&&this.bg.circle(s+.5*n,.5*e,.5*n).fill({
- ),this.lbl.textColor=i?t.ON_TEXT:t.OFF_TEXT,this.lbl.x=s+n+t.DOT_GAP,this.lbl.y=.5*(e-this.lbl.height)}
+ ),this.lbl.textColor=i?t.ON_TEXT:o,this.lbl.x=this.showDot?s+n+t.DOT_GAP:s,this.lbl.y=.5*(e-this.lbl.height)}
BattleController 7 hunks, 17 statements
+ getHuntableGoldGoblin(){
+ for(const t of this.goldGoblinList)if(t.isHuntable)return t;
+ return null}
+ isCastleDestroyed(){
+ var t;
+ return!(null==(t=this.player)?void 0:t.isAlive)||this.isGameOverFlag}
- let i=t+1;
+ let i=t+1,s=!1;
+ t0t.canAutoTrigger(t)&&(s=!0,i=t0t.trigger(t),WF.getInstance().showMessage(DG.getText("GAME_1570","황혼의 부름으로 밤이 되었습니다.")));
- return s>0&&Math.random()<s/100&&(this.skippedWave=i,i++,Wri.getInstance().show(t,i)),this.isFirstWave=!1,TL.wave=i,Gri.getInstance().updateDay(TL.wave),this.skippedWave>0&&Gri.getInstance().showWaveSkipBonus(),Dni.getInstance().isRunning&&Dni.getInstance().tutorialIndex===Dni.TUTORIAL_INDEX_WAVE0&&0==Dni.getInstance().savedIndex&&(i=1,TL.wave=i,Gri.getInstance().updateDay(TL.wave),Dni.getInstance().endTutorialWave0()),i}
+ return e>0&&!s&&Math.random()<e/100&&(this.skippedWave=i,i++,doi.getInstance().show(t,i)),this.isFirstWave=!1,OL.wave=i,ooi.getInstance().updateDay(OL.wave),this.skippedWave>0&&ooi.getInstance().showWaveSkipBonus(),Zni.getInstance().isRunning&&Zni.getInstance().tutorialIndex===Zni.TUTORIAL_INDEX_WAVE0&&0==Zni.getInstance().savedIndex&&(i=1,OL.wave=i,ooi.getInstance().updateDay(OL.wave),Zni.getInstance().endTutorialWave0()),i}
+ timeShiftToNightNow(){
+ const t=this.activeWaveNumbers.length>0?Math.max(...this.activeWaveNumbers):OL.wave;
+ if(t0t.isNightWave(t))return"night";
+ if(t0t.isLastDayWave(t))return"lastDay";
+ const i=t0t.nightStartOf(t);
+ return yU.getInstance().getScenarioForWave(this.currentScenarioId,i)?(OL.wave=i,this.currentWave=i,ooi.getInstance().updateDay(OL.wave),this.startNewWave(),"ok"):"blocked"}
- this.skippedWave>0&&!this.shownDialogueWaves.has(this.skippedWave)&&(t.push(...eVt.getInstance().getByWave(this.skippedWave)),this.shownDialogueWaves.add(this.skippedWave)),this.shownDialogueWaves.has(TL.wave)||(t.push(...eVt.getInstance().getByWave(TL.wave)),this.shownDialogueWaves.add(TL.wave)),t.length>0&&Nni.getInstance().showDialogues(t)}
+ this.skippedWave>0&&!this.shownDialogueWaves.has(this.skippedWave)&&(t.push(...aVt.getInstance().getByWave(this.skippedWave)),this.shownDialogueWaves.add(this.skippedWave)),this.shownDialogueWaves.has(OL.wave)||(t.push(...aVt.getInstance().getByWave(OL.wave)),this.shownDialogueWaves.add(OL.wave)),t.length>0&&Jni.getInstance().showDialogues(t)}
- const i=Math.max(50,lL.getInstance().goldPerSec);
+ const i=Math.max(50,pL.getInstance().goldPerSec)*fU.getGoldMultiplier();
TreasureTransSubView 1 hunks, 16 statements
- this.refresh()}
+ this.refresh(),this.getHeroInfo()}
+ async getHeroInfo(){
+ const t=await pD.getInstance().hero.getHeroInfo();
+ if(t.success){
+ const{
+ UnitDataManager:i}
+ =await Qt(async()=>{
+ const{
+ UnitDataManager:t}
+ =await Promise.resolve().then(()=>Ix);
+ return{
+ UnitDataManager:t}
+ }
+ ,void 0);
+ i.getInstance().setData(t.body.hero)}
+ }
CastleDetailPopup 4 hunks, 15 statements
- super(),Kt(this,"lblHp",new qB("UI_HEART","0",16711680,fD.DEFAULT_OUTLINE_FONT_OPTION_16)),Kt(this,"btnEnhance",new DU("UI_STAR_ICON","1000","강화",.8,160,70)),Kt(this,"btnReset",new DU("UI_GEM","100","강화초기화",.8,160,70)),Kt(this,"enhanceRapidClickCount",0),Kt(this,"lastEnhanceRapidClickTime",0),Kt(this,"btn10Enhance",new DU("UI_STAR_ICON","10000","+10",.8,160,70)),Kt(this,"btn100Enhance",new DU("UI_STAR_ICON","100000","+100",.8,160,70)),Kt(this,"lblDesc",new iL("훈장으로 강화를 하면, ",16777215,fD.DEFAULT_OUTLINE_FONT_OPTION_16)),Kt(this,"lblName",new iL("발키온 성",16777215,fD.DEFAULT_OUTLINE_FONT_OPTION_16)),Kt(this,"lblCastleBonus",new iL("",4495871,fD.WHITE_OUTLINE_FONT_OPTION_16)),Kt(this,"multiEnhanceContainer",new Ge),Kt(this,"enhanceTimer",null),Kt(this,"enhanceStartValue",-1),Kt(this,"enhanceStartMedal",-1),Kt(this,"vo"),Kt(this,"castleIcon",new Yni),Kt(this,"lblMedal",new qB("UI_STAR_ICON","0",16777215,fD.DEFAULT_OUTLINE_FONT_OPTION_16)),this.title=xG.getText("GAME_86","성 정보"),this.castleIcon.x=25,this.castleIcon.y=65,this.contentContainer.addChild(this.castleIcon),this.contentContainer.addChild(this.lblMedal),this.lblName.text=xG.getText("GAME_530","발키온 성"),this.lblName.x=this.castleIcon.x+this.castleIcon.width+25,this.lblName.y=this.castleIcon.y+10,this.contentContainer.addChild(this.lblName),this.lblCastleBonus.visible=!1,this.contentContainer.addChild(this.lblCastleBonus),this.lblHp.x=this.lblName.x,this.lblHp.y=this.lblName.y+this.lblName.height+10,this.contentContainer.addChild(this.lblHp),this.btnEnhance.text=xG.getText("GAME_66","강화"),this.btnEnhance.showIconLabel=!0,this.btnEnhance.showTextLabel=!0,this.btnEnhance.color=DU.LIGHT_GREEN,this.btnEnhance.onClick=()=>this.onEnhanceClick(1),this.btn10Enhance.labelOrder=DU.TEXT_FIRST,this.btn10Enhance.textLabel.textSize=15,this.btn10Enhance.textAlign="left",this.btn10Enhance.iconScale=.7,this.btn10Enhance.color=DU.LIGHT_GREEN,this.btn10Enhance.showIconLabel=!0,this.btn10Enhance.showTextLabel=!0,this.btn10Enhance.onClick=()=>{
+ super(),qt(this,"lblHp",new ZB("UI_HEART","0",16711680,wD.DEFAULT_OUTLINE_FONT_OPTION_16)),qt(this,"btnEnhance",new HU("UI_STAR_ICON","1000","강화",.8,160,70)),qt(this,"btnReset",new HU("UI_GEM","100","강화초기화",.8,160,70)),qt(this,"enhanceRapidClickCount",0),qt(this,"lastEnhanceRapidClickTime",0),qt(this,"btn10Enhance",new HU("UI_STAR_ICON","10000","+10",.8,160,70)),qt(this,"btn100Enhance",new HU("UI_STAR_ICON","100000","+100",.8,160,70)),qt(this,"lblDesc",new hL("훈장으로 강화를 하면, ",16777215,wD.DEFAULT_OUTLINE_FONT_OPTION_16)),qt(this,"lblName",new hL("발키온 성",16777215,wD.DEFAULT_OUTLINE_FONT_OPTION_16)),qt(this,"lblCastleBonus",new hL("",4495871,wD.WHITE_OUTLINE_FONT_OPTION_16)),qt(this,"multiEnhanceContainer",new Ue),qt(this,"enhanceTimer",null),qt(this,"enhanceStartValue",-1),qt(this,"enhanceStartMedal",-1),qt(this,"syncInFlight",!1),qt(this,"syncQueued",!1),qt(this,"vo"),qt(this,"castleIcon",new dhi),qt(this,"lblMedal",new ZB("UI_STAR_ICON","0",16777215,wD.DEFAULT_OUTLINE_FONT_OPTION_16)),this.title=DG.getText("GAME_86","성 정보"),this.castleIcon.x=25,this.castleIcon.y=65,this.contentContainer.addChild(this.castleIcon),this.contentContainer.addChild(this.lblMedal),this.lblName.text=DG.getText("GAME_530","발키온 성"),this.lblName.x=this.castleIcon.x+this.castleIcon.width+25,this.lblName.y=this.castleIcon.y+10,this.contentContainer.addChild(this.lblName),this.lblCastleBonus.visible=!1,this.contentContainer.addChild(this.lblCastleBonus),this.lblHp.x=this.lblName.x,this.lblHp.y=this.lblName.y+this.lblName.height+10,this.contentContainer.addChild(this.lblHp),this.btnEnhance.text=DG.getText("GAME_66","강화"),this.btnEnhance.showIconLabel=!0,this.btnEnhance.showTextLabel=!0,this.btnEnhance.color=HU.LIGHT_GREEN,this.btnEnhance.onClick=()=>this.onEnhanceClick(1),this.btn10Enhance.labelOrder=HU.TEXT_FIRST,this.btn10Enhance.textLabel.textSize=15,this.btn10Enhance.textAlign="left",this.btn10Enhance.iconScale=.7,this.btn10Enhance.color=HU.LIGHT_GREEN,this.btn10Enhance.showIconLabel=!0,this.btn10Enhance.showTextLabel=!0,this.btn10Enhance.onClick=()=>{
- this.title=xG.getText("GAME_86","성 정보"),this.lblName.text=xG.getText("GAME_530","발키온 성"),this.btnEnhance.text=xG.getText("GAME_66","강화"),this.btnReset.text=xG.getText("COMMON_368","초기화"),this.resetEnhance(),this.multiEnhanceContainer.visible=!1,t||(t=mR.getInstance().castleVO),this.vo=t,this.updateCastleInfo(),this.updateLayout(),super.show(),Bzt.getInstance().registerPopupButtonGetter(t=>"btnEnhance"===t&&this.btnEnhance.visible?{
+ this.title=DG.getText("GAME_86","성 정보"),this.lblName.text=DG.getText("GAME_530","발키온 성"),this.btnEnhance.text=DG.getText("GAME_66","강화"),this.btnReset.text=DG.getText("COMMON_368","초기화"),this.enhanceTimer||this.syncInFlight||this.resetEnhance(),this.multiEnhanceContainer.visible=!1,t||(t=vR.getInstance().castleVO),this.vo=t,this.updateCastleInfo(),this.updateLayout(),super.show(),jzt.getInstance().registerPopupButtonGetter(t=>"btnEnhance"===t&&this.btnEnhance.visible?{
+ if(this.syncInFlight)return void(this.syncQueued=!0);
+ if(-1===this.enhanceStartValue)return void this.resetEnhance();
- const t=this.vo.enhance;
- if(t>wx.CASTLE_MAX_ENHANCE)return this.vo.enhance=this.enhanceStartValue,TL.medal=this.enhanceStartMedal,loi.getInstance().udpateHero(this.vo),qF.getInstance().updateMedal(),this.updateCastleInfo(),this.resetEnhance(),void LF.getInstance().showMessage(xG.getText("GAME_139","최대 강화레벨입니다."));
- const i=await lD.getInstance().castle.enhanceUp(t);
- if(0==i.success)return this.vo.enhance=this.enhanceStartValue,TL.medal=this.enhanceStartMedal,loi.getInstance().udpateHero(this.vo),qF.getInstance().updateMedal(),this.updateCastleInfo(),this.resetEnhance(),void LF.getInstance().showMessage(xG.getText("COMMON_77","네트워크 오류가 발생하였습니다."));
- TL.setUserInfo(i.body),mR.getInstance().setData(i.body.castle),qF.getInstance().updateAll(),this.vo=mR.getInstance().castleVO,this.updateCastleInfo(),Thi.getInstance().setData(),this.resetEnhance()}
+ const t=this.enhanceStartValue,i=this.enhanceStartMedal,s=this.vo.enhance;
+ if(s>_x.CASTLE_MAX_ENHANCE)return this.vo.enhance=Math.max(0,t),OL.medal=Math.max(0,i),Poi.getInstance().udpateHero(this.vo),tH.getInstance().updateMedal(),this.updateCastleInfo(),this.resetEnhance(),void WF.getInstance().showMessage(DG.getText("GAME_139","최대 강화레벨입니다."));
+ let e;
+ this.syncInFlight=!0;
+ try{
+ e=await pD.getInstance().castle.enhanceUp(s)}
+ catch(Aet){
+ e={
+ success:!1}
+ }
+ this.syncInFlight=!1,e&&0!=e.success?(OL.setUserInfo(e.body),vR.getInstance().setData(e.body.castle),tH.getInstance().updateAll(),this.vo=vR.getInstance().castleVO,this.updateCastleInfo(),Xhi.getInstance().setData(),this.resetEnhance()):(this.vo.enhance=Math.max(0,t),OL.medal=Math.max(0,i),Poi.getInstance().udpateHero(this.vo),tH.getInstance().updateMedal(),this.updateCastleInfo(),this.resetEnhance(),WF.getInstance().showMessage(DG.getText("COMMON_77","네트워크 오류가 발생하였습니다."))),this.syncQueued&&(this.syncQueued=!1,this.syncEnhanceToServer())}
JokerCardRenderer 14 hunks, 14 statements
- case"suitMoraleAdd":return`출격한 ${
+ case"suitBuffAdd":return`출격한 ${
- case"fewCardsMoraleAdd":return`3장 이하 출격 시 사기 +${
+ case"fewCardsBuffAdd":return`3장 이하 출격 시 사기 +${
- case"pairFamilyMoraleAdd":return`페어 계열 사기 +${
+ case"pairFamilyBuffAdd":return`페어 계열 사기 +${
- case"straightFamilyMoraleAdd":return`스트레이트 계열 사기 +${
+ case"straightFamilyBuffAdd":return`스트레이트 계열 사기 +${
- case"flushFamilyMoraleAdd":return`같은 문양 계열 사기 +${
+ case"flushFamilyBuffAdd":return`같은 문양 계열 사기 +${
- case"discardLeftMoraleAdd":return`남은 버리기 1회당 사기 +${
+ case"discardLeftBuffAdd":return`남은 버리기 1회당 사기 +${
- case"faceCardMoraleAdd":return`그림 카드 1장당 사기 +${
+ case"faceCardBuffAdd":return`그림 카드 1장당 사기 +${
- case"moraleMult":return`사기 ×${
+ case"buffMult":return`사기 ×${
- case"lastSubmitMoraleMult":return`마지막 출격 사기 ×${
+ case"lastSubmitBuffMult":return`마지막 출격 사기 ×${
- case"firstSubmitMoraleMult":return`첫 출격 사기 ×${
+ case"firstSubmitBuffMult":return`첫 출격 사기 ×${
- case"acePerMoraleMult":return`A 1장당 사기 ×${
+ case"acePerBuffMult":return`A 1장당 사기 ×${
- case"tripleFamilyMoraleMult":return`트리플 계열 사기 ×${
+ case"tripleFamilyBuffMult":return`트리플 계열 사기 ×${
- case"highCardMoraleMult":return`하이카드 사기 ×${
+ case"highCardBuffMult":return`하이카드 사기 ×${
- case"permanentMoraleStack":return`출격마다 사기 +${
+ case"permanentBuffStack":return`출격마다 사기 +${
TimeShiftService 1 hunks, 13 statements
+ async getTimeShiftInfo(t=!1){
+ return this.post(QR.TIME_SHIFT.GET_INFO,{
+ }
+ ,t)}
+ async useTimeShift(t=!1){
+ return this.post(QR.TIME_SHIFT.USE,{
+ }
+ ,t)}
+ }
+ ;
+ zt(hD,"TimeShiftService");
+ let rD=hD;
+ const oD=class extends bN{
TopMenu 6 hunks, 13 statements
- super(),Kt(this,"bg",new eL),Kt(this,"lblDay",new iL("Wave 1",65433,fD.DEFAULT_OUTLINE_FONT_OPTION_20)),Kt(this,"waveBar",new Dri),Kt(this,"lblWaveSkip",null),Kt(this,"btnRevive",new IB("UI_Ekkorr","UI_REVIVE_ICON")),Kt(this,"lblMedalEvent",new iL("+00%\n3/3",65433,fD.DEFAULT_OUTLINE_FONT_OPTION_16)),Kt(this,"btnMedalEvent",new IB("UI_Ekkorr","UI_Question",1)),Kt(this,"lblSpeed",new qB("UI_SPEED_ICON2")),Kt(this,"heartInfo",Qni.getInstance()),Kt(this,"profile",OU.getInstance()),Kt(this,"btnHeroPresent",new IB("UI_Ekkorr","Hero55",.9)),Kt(this,"btnStampCalendar",new IB("UI_Ekkorr","stamp30",.54)),Kt(this,"heroPresentBaseH",0),Kt(this,"stampBaseH",0),Kt(this,"count",0),Kt(this,"speedActive",!1),Kt(this,"userSpeedMode",null),Kt(this,"_height",40),this.bg.setIndex(6),this.bg.width=640,this.bg.height=40,this.bg.alpha=.1,this.lblDay.textColor=43622,this.lblDay.x=.5*(this.bg.width-this.lblDay.width),this.lblDay.y=.5*(this.bg.height-this.lblDay.height),this.addChild(this.lblDay),this.lblDay.text="Wave 1",this.waveBar.x=.5*(640-this.waveBar.width),this.waveBar.y=35,this.addChild(this.waveBar),this.waveBar.x=.5*(640-this.waveBar.width),this.waveBar.y=35,this.addChild(this.waveBar),this.profile.x=4,this.profile.y=4,this.addChild(this.profile),this.btnRevive.x=1,this.btnRevive.y=this.profile.y+this.profile.height-10,this.addChild(this.btnRevive),this.btnRevive.on("pointerdown",()=>{
+ super(),qt(this,"bg",new oL),qt(this,"lblDay",new hL("Wave 1",65433,wD.DEFAULT_OUTLINE_FONT_OPTION_20)),qt(this,"waveBar",new hoi),qt(this,"lblWaveSkip",null),qt(this,"btnRevive",new RB("UI_Ekkorr","UI_REVIVE_ICON")),qt(this,"lblMedalEvent",new hL("+00%\n3/3",65433,wD.DEFAULT_OUTLINE_FONT_OPTION_16)),qt(this,"btnMedalEvent",new RB("UI_Ekkorr","UI_Question",1)),qt(this,"lblSpeed",new ZB("UI_SPEED_ICON2")),qt(this,"heartInfo",mhi.getInstance()),qt(this,"profile",DU.getInstance()),qt(this,"btnHeroPresent",new RB("UI_Ekkorr","Hero55",.9)),qt(this,"btnStampCalendar",new RB("UI_Ekkorr","stamp30",.54)),qt(this,"heroPresentBaseH",0),qt(this,"stampBaseH",0),qt(this,"count",0),qt(this,"stampUtcDay",-1),qt(this,"speedActive",!1),qt(this,"userSpeedMode",null),qt(this,"_height",40),this.bg.setIndex(6),this.bg.width=640,this.bg.height=40,this.bg.alpha=.1,this.lblDay.textColor=43622,this.lblDay.x=.5*(this.bg.width-this.lblDay.width),this.lblDay.y=.5*(this.bg.height-this.lblDay.height),this.addChild(this.lblDay),this.lblDay.text="Wave 1",this.waveBar.x=.5*(640-this.waveBar.width),this.waveBar.y=35,this.addChild(this.waveBar),this.waveBar.x=.5*(640-this.waveBar.width),this.waveBar.y=35,this.addChild(this.waveBar),this.profile.x=4,this.profile.y=4,this.addChild(this.profile),this.btnRevive.x=1,this.btnRevive.y=this.profile.y+this.profile.height-10,this.addChild(this.btnRevive),this.btnRevive.on("pointerdown",()=>{
- ),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 Ri(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.btnStampCalendar.visible=!1,this.btnStampCalendar.onClick=this.onStampCalendarClick.bind(this),this.stampBaseH=this.btnStampCalendar.height,this.addChild(this.btnStampCalendar),this.heartInfo.x=this.btnRevive.x+this.btnRevive.width+5,this.heartInfo.y=5,this.addChild(this.heartInfo),this.addChild(OU.getInstance()),this.addChild(lVt.getInstance()),this._height=Math.max(this.bg.height,this.waveBar.y+this.waveBar.height),this.profile.on("pointerdown",this.onProfileClick,this),Bzt.getInstance().registerReviveButtonGetter(t=>"btnRevive"===t&&this.btnRevive.visible?{
+ ),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=this.btnRevive.x+this.btnRevive.width+9,this.lblSpeed.y=30,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.btnRevive.y+86+8,this.btnHeroPresent.onClick=this.onHeroPresentClick.bind(this),this.addChild(this.btnHeroPresent),this.btnStampCalendar.visible=!1,this.btnStampCalendar.onClick=this.onStampCalendarClick.bind(this),this.stampBaseH=this.btnStampCalendar.height,this.addChild(this.btnStampCalendar),this.heartInfo.x=this.btnRevive.x+this.btnRevive.width+9,this.heartInfo.y=5,this.addChild(this.heartInfo),this.addChild(DU.getInstance()),this.addChild(gVt.getInstance()),this._height=Math.max(this.bg.height,this.waveBar.y+this.waveBar.height),this.profile.on("pointerdown",this.onProfileClick,this),jzt.getInstance().registerReviveButtonGetter(t=>"btnRevive"===t&&this.btnRevive.visible?{
- 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.lblSpeed.x=this.heartInfo.x,this.lblSpeed.y=this.heartInfo.y+25;
- this.btnHeroPresent.x=7,this.btnHeroPresent.y=this.lblSpeed.y+this.lblSpeed.height+8,this.btnStampCalendar.x=-4,this.btnStampCalendar.y=(this.btnHeroPresent.visible?this.btnHeroPresent.y+t+6:this.btnHeroPresent.y)-15;
+ this.btnHeroPresent.x=7,this.lblMedalEvent.visible?this.btnHeroPresent.y=this.lblMedalEvent.y+this.lblMedalEvent.height+8:this.btnHeroPresent.y=this.btnRevive.y+86+8,this.btnStampCalendar.x=-4,this.btnStampCalendar.y=(this.btnHeroPresent.visible?this.btnHeroPresent.y+t+6:this.btnHeroPresent.y)-10;
- s.x=3,this.btnStampCalendar.visible?s.y=this.btnStampCalendar.y+i-3:this.btnHeroPresent.visible?s.y=this.btnHeroPresent.y+t-3:s.y=this.lblSpeed.y+this.lblSpeed.height+10}
+ s.x=3,this.btnStampCalendar.visible?s.y=this.btnStampCalendar.y+i-3:this.btnHeroPresent.visible?s.y=this.btnHeroPresent.y+t-3:s.y=this.btnHeroPresent.y}
- const t=kri.getInstance(),i=t.status.schedule.length>0&&!t.isCompleted();
+ const t=toi.getInstance();
+ if(sx.time>0){
+ const i=Math.floor(sx.time/864e5);
+ if(this.stampUtcDay!==i){
+ const s=-1===this.stampUtcDay;
+ this.stampUtcDay=i,!s&&t.status.schedule.length>0&&!t.isCompleted()&&t.init()}
+ }
+ const i=t.status.schedule.length>0&&!t.isCompleted();
PlayingCardRenderer 5 hunks, 12 statements
- this._card=i;
+ if(this._card=i,i.rank<2)return this.lblRank.text="",this.lblSuit.text="",this.lblCenter.text="?",this.lblCenter.textColor=9075814,this.lblCenter.alpha=.9,this.lblCenter.x=.5*(t.CARD_WIDTH-this.lblCenter.width),this.lblCenter.y=.5*(t.CARD_HEIGHT-this.lblCenter.height),this.lblEnhance.visible=!1,this.sealDot.visible=!1,void this.drawBg(this._selected,!0);
- this.lblRank.text=t.rankLabel(i.rank),this.lblRank.textColor=s,this.lblSuit.text=e,this.lblSuit.textColor=s,this.lblCenter.text=e,this.lblCenter.textColor=s,this.lblCenter.alpha=.75,this.lblCenter.x=.5*(t.CARD_WIDTH-this.lblCenter.width),this.lblCenter.y=.5*(t.CARD_HEIGHT-this.lblCenter.height)+14}
+ this.lblRank.text=t.rankLabel(i.rank),this.lblRank.textColor=s,this.lblSuit.text=e,this.lblSuit.textColor=s,this.lblCenter.text=e,this.lblCenter.textColor=s,this.lblCenter.alpha=.75,this.lblCenter.x=.5*(t.CARD_WIDTH-this.lblCenter.width),this.lblCenter.y=.5*(t.CARD_HEIGHT-this.lblCenter.height)+14,i.enhance?(this.lblEnhance.text=bpi[i.enhance]??"",this.lblEnhance.x=t.CARD_WIDTH-this.lblEnhance.width-8,this.lblEnhance.y=6,this.lblEnhance.visible=!0):this.lblEnhance.visible=!1,i.seal?(this.sealDot.clear(),this.sealDot.circle(16,t.CARD_HEIGHT-16,9).fill({
+ color:ypi[i.seal]??16777215}
+ ).stroke({
+ color:3813154,width:2}
+ ),this.sealDot.visible=!0):this.sealDot.visible=!1,this.drawBg(this._selected,!1)}
+ setDimmed(t){
+ this.dimOverlay.visible=t}
- this._selected!==t&&(this._selected=t,this.applySelectedY(),this.drawBg(t))}
- drawBg(i){
+ this._selected!==t&&(this._selected=t,this.applySelectedY(),this.drawBg(t,null!==this._card&&this._card.rank<2))}
+ drawBg(i,s=!1){
- color:16644332}
+ color:s?2901096:16644332}
- color:i?16762940:10127986,width:i?6:3}
+ color:i?16762940:s?8032952:10127986,width:i?6:3}
GuildWarBattleController 2 hunks, 11 statements
- const _=new Hg({
- text:this.damageMeterRaised?"▼":"▲",style:{
- fontFamily:"Arial",fontSize:12,fontWeight:"700",fill:16777215}
- }
- );
- _.anchor.set(.5,.5),_.x=14,_.y=10,w.addChild(_),w.on("pointertap",()=>this.toggleDamageMeterPosition()),this.damageMeter.addChild(w),this.meterToggleBtnArrow=_,this.damageMeter.x=0,this.damageMeter.y=u,j5t.getInstance().addChild(this.damageMeter),this.updateDamageMeter()}
+ const _=new Bf;
+ _.x=14,_.y=10,w.addChild(_),this.drawMeterToggleArrow(_,this.damageMeterRaised),w.on("pointertap",()=>this.toggleDamageMeterPosition()),this.damageMeter.addChild(w),this.meterToggleBtnArrow=_,this.damageMeter.x=0,this.damageMeter.y=u,o3t.getInstance().addChild(this.damageMeter),this.updateDamageMeter()}
- this.damageMeterRaised=!this.damageMeterRaised,this.damageMeter&&(this.damageMeter.y=this.resolvePanelY()),this.meterToggleBtnArrow&&(this.meterToggleBtnArrow.text=this.damageMeterRaised?"▼":"▲")}
+ this.damageMeterRaised=!this.damageMeterRaised,this.damageMeter&&(this.damageMeter.y=this.resolvePanelY()),this.meterToggleBtnArrow&&this.drawMeterToggleArrow(this.meterToggleBtnArrow,this.damageMeterRaised)}
+ drawMeterToggleArrow(t,i){
+ t.clear(),i?t.poly([-5,-3,5,-3,0,4]):t.poly([-5,3,5,3,0,-4]),t.fill({
+ color:16777215}
+ )}
GoldGoblin 6 hunks, 10 statements
- super(),Kt(this,"lives",t.MAX_LIVES),Kt(this,"wanderTimer",0),Kt(this,"wanderInterval",120),Kt(this,"fleeDelay",0),Kt(this,"lifetime",t.LIFETIME),Kt(this,"onGoldDropMulti",null),this.eventMode="dynamic",this.on("pointerdown",this.onClicked,this)}
+ super(),qt(this,"lives",t.MAX_LIVES),qt(this,"wanderTimer",0),qt(this,"wanderInterval",120),qt(this,"fleeDelay",0),qt(this,"lifetime",t.LIFETIME),qt(this,"ageFrames",0),qt(this,"onGoldDropMulti",null),this.eventMode="dynamic",this.on("pointerdown",this.onClicked,this)}
+ this.isAlive&&this.ageFrames++;
- this.lives=t.MAX_LIVES,this.wanderTimer=0,this.wanderInterval=120+this.random.nextInt(180),this.hasDroppedGold=!1,this.isAlive=!0,this.lifetime=t.LIFETIME,this.setSpeed(t.NORMAL_SPEED),this.eventMode="dynamic",this.off("pointerdown",this.onClicked,this),this.on("pointerdown",this.onClicked,this)}
+ this.lives=t.MAX_LIVES,this.wanderTimer=0,this.wanderInterval=120+this.random.nextInt(180),this.hasDroppedGold=!1,this.isAlive=!0,this.lifetime=t.LIFETIME,this.ageFrames=0,this.setSpeed(t.NORMAL_SPEED),this.eventMode="dynamic",this.off("pointerdown",this.onClicked,this),this.on("pointerdown",this.onClicked,this)}
+ get isHuntable(){
+ return this.isAlive&&this.state!==nx.DIE&&"none"!==this.eventMode&&this.ageFrames>=t.HUNTABLE_DELAY_FRAMES}
+ hitByHero(){
+ this.isAlive&&this.state!==nx.DIE&&"none"!==this.eventMode&&this.applyHit()}
- if(!this.isAlive||this.state===sx.DIE)return;
+ this.isAlive&&this.state!==nx.DIE&&this.applyHit()}
+ applyHit(){
- Vt(a1,"GoldGoblin"),Kt(a1,"MAX_LIVES",10),Kt(a1,"COINS_PER_CLICK",5),Kt(a1,"DEATH_COINS",30),Kt(a1,"NORMAL_SPEED",1.5),Kt(a1,"FLEE_SPEED",5),Kt(a1,"LIFETIME",1800);
+ zt(f1,"GoldGoblin"),qt(f1,"MAX_LIVES",10),qt(f1,"COINS_PER_CLICK",5),qt(f1,"DEATH_COINS",30),qt(f1,"NORMAL_SPEED",1.5),qt(f1,"FLEE_SPEED",5),qt(f1,"LIFETIME",1800),qt(f1,"HUNTABLE_DELAY_FRAMES",300);
CitadelItemRenderer 6 hunks, 10 statements
- const whi=class extends Yk{
+ const Hhi=class t extends XO{
- ),this.bg.x=5,this.bg.width=630,this.bg.height=80,this.addChild(this.bg),this.icon.x=25,this.icon.y=.5*(this.bg.height-this.icon.height),this.addChild(this.icon),this.lblName.x=135,this.lblName.y=14,this.addChild(this.lblName),this.lblDesc.x=135,this.lblDesc.y=this.lblName.y+this.lblName.height+6,this.addChild(this.lblDesc),this.addChild(this.lblManagerStatus),this.btnSecretary.visible=!1,this.addChild(this.btnSecretary),this.iconEvent.x=60,this.iconEvent.y=4,this.iconEvent.visible=!1,this.addChild(this.iconEvent),this.autoPill.x=12,this.autoPill.y=6,this.autoPill.visible=!1,this.autoPill.onTap=()=>{
+ ),this.bg.x=5,this.bg.width=630,this.bg.height=t.ROW_H,this.addChild(this.bg),this.icon.x=25,this.icon.y=.5*(this.bg.height-this.icon.height),this.addChild(this.icon),this.lblName.x=t.TEXT_X,this.lblName.y=14,this.addChild(this.lblName),this.lblDesc.x=t.TEXT_X,this.lblDesc.y=this.lblName.y+this.lblName.height+t.TEXT_GAP,this.lblDesc.wordWrap=!0,this.lblDesc.wordWrapWidth=this.bg.width-t.TEXT_X-t.RIGHT_SLOT_W,this.addChild(this.lblDesc),this.addChild(this.lblManagerStatus),this.btnSecretary.visible=!1,this.addChild(this.btnSecretary),this.iconEvent.x=60,this.iconEvent.y=4,this.iconEvent.visible=!1,this.addChild(this.iconEvent),this.autoPill.x=12,this.autoPill.y=6,this.autoPill.visible=!1,this.autoPill.onTap=()=>{
- if(n&&(this.icon.texture=n),this.icon.scale.set(s?.50575:1),s){
+ h&&(this.icon.texture=h);
+ const r=e?.50575:"vault"===s.popupType?.92:1;
+ if(this.icon.scale.set(r),1!==r){
- const h=this.lblName.height+this.lblDesc.height+6;
- if(this.lblName.y=.5*(this.bg.height-h),this.lblDesc.y=this.lblName.y+this.lblName.height+6,s)this.lblManagerStatus.visible=!1,this.btnSecretary.visible=!0,this.btnSecretary.text=xG.getText("GAME_925","모집중"),this.btnSecretary.activated=!1;
+ const o=this.lblName.height+this.lblDesc.height+t.TEXT_GAP;
+ if(this.lblName.y=.5*(this.bg.height-o),this.lblDesc.y=this.lblName.y+this.lblName.height+t.TEXT_GAP,e)this.lblManagerStatus.visible=!1,this.btnSecretary.visible=!0,this.btnSecretary.text=DG.getText("GAME_925","모집중"),this.btnSecretary.activated=!1;
- const s=this.lblName.height+this.lblDesc.height+6;
- this.lblName.y=.5*(this.bg.height-s),this.lblDesc.y=this.lblName.y+this.lblName.height+6,this.layoutRightSlot()}
+ const e=this.lblName.height+this.lblDesc.height+t.TEXT_GAP;
+ this.lblName.y=.5*(this.bg.height-e),this.lblDesc.y=this.lblName.y+this.lblName.height+t.TEXT_GAP,this.layoutRightSlot()}
- Vt(whi,"CitadelItemRenderer");
+ zt(Hhi,"CitadelItemRenderer"),qt(Hhi,"TEXT_X",135),qt(Hhi,"RIGHT_SLOT_W",140),qt(Hhi,"ROW_H",80),qt(Hhi,"TEXT_GAP",6);
UnitVO 2 hunks, 9 statements
+ get tribePactLevel(){
+ if(this.isCastle)return 0;
+ const t=zR.getInstance();
+ switch(this.tribe){
+ case rx.HUMAN:case rx.ELF:return t.getGameplayTotal(RR.PactOfLife);
+ case rx.ORC:case rx.UNDEAD:return t.getGameplayTotal(RR.PackOfWild);
+ default:return 0}
+ }
- return this.level+this.enhance+TL.getKnightLevel(this.tribe)+i+this.extraLevel-1}
+ return this.level+this.enhance+OL.getKnightLevel(this.tribe)+i+this.tribePactLevel+this.extraLevel-1}
GuildMainSubMenu 3 hunks, 9 statements
- ,this.addChild(this.btnRefresh),this.btnPrevPage=new iL("◀",16777215,fD.DEFAULT_OUTLINE_FONT_OPTION_24),this.btnPrevPage.eventMode="static",this.btnPrevPage.on("pointertap",()=>{
+ ,this.addChild(this.btnRefresh),this.btnPrevPage=t.createArrow(!1),this.btnPrevPage.eventMode="static",this.btnPrevPage.cursor="pointer",this.btnPrevPage.on("pointertap",()=>{
- ),this.addChild(this.btnPrevPage),this.lblPage=new iL("1/1",16777215,fD.DEFAULT_OUTLINE_FONT_OPTION_18),this.addChild(this.lblPage),this.btnNextPage=new iL("▶",16777215,fD.DEFAULT_OUTLINE_FONT_OPTION_24),this.btnNextPage.eventMode="static",this.btnNextPage.on("pointertap",()=>{
+ ),this.addChild(this.btnPrevPage),this.lblPage=new hL("1/1",16777215,wD.DEFAULT_OUTLINE_FONT_OPTION_18),this.addChild(this.lblPage),this.btnNextPage=t.createArrow(!0),this.btnNextPage.eventMode="static",this.btnNextPage.cursor="pointer",this.btnNextPage.on("pointertap",()=>{
+ static createArrow(t){
+ const i=new Bf;
+ return i.rect(0,0,24,24).fill({
+ color:16777215,alpha:0}
+ ),t?i.poly([7.68,4.32,.74*24,12,7.68,19.68]):i.poly([16.32,4.32,6.24,12,16.32,19.68]),i.fill({
+ color:16777215}
+ ),i.hitArea=new Pi(0,0,24,24),i}
CastleSubMenu 3 hunks, 9 statements
+ ,{
+ kindNum:4,nameKey:"GAME_1580",defaultName:"금고",descKey:"GAME_1581",defaultDesc:"골드 상자를 늘리고 획득 골드를 올려줍니다.",icon:"Citadel4",popupType:"vault"}
- super(),Kt(this,"lblMaxCapacity",new qB("menu_icon_02_on","0/10",16711680,fD.DEFAULT_OUTLINE_FONT_OPTION_18)),Kt(this,"btnUpgrade",new g$t("신전",120)),Kt(this,"btnCitadel",new g$t("성채",120)),Kt(this,"redDot",new He(QA.getTexture("UI_Ekkorr","Icon_RedDot_Red"))),this.btnUpgrade.width=120,this.btnUpgrade.height=45,this.btnUpgrade.x=640-this.btnUpgrade.width-5,this.btnUpgrade.y=.5*(this.bg.height-this.btnUpgrade.height),this.addChild(this.btnUpgrade),this.btnCitadel.width=120,this.btnCitadel.height=45,this.btnCitadel.x=this.btnUpgrade.x-this.btnCitadel.width-5,this.btnCitadel.y=.5*(this.bg.height-this.btnCitadel.height),this.addChild(this.btnCitadel),this.redDot.scale.set(1.2),this.redDot.anchor.set(.5),this.redDot.x=this.btnUpgrade.width-15,this.redDot.y=5,this.redDot.visible=!1,this.btnUpgrade.addChild(this.redDot),this.btnUpgrade.on("pointertap",this.onUpgrade,this),this.btnCitadel.on("pointertap",this.onCitadel,this),this.updateLanguage()}
+ super(),qt(this,"lblMaxCapacity",new ZB("menu_icon_02_on","0/10",16711680,wD.DEFAULT_OUTLINE_FONT_OPTION_18)),qt(this,"btnUpgrade",new b$t("신전",120)),qt(this,"btnCitadel",new b$t("성채",120)),qt(this,"redDot",new $e(tS.getTexture("UI_Ekkorr","Icon_RedDot_Red"))),qt(this,"autoToggle",new FF),this.btnUpgrade.width=120,this.btnUpgrade.height=45,this.btnUpgrade.x=640-this.btnUpgrade.width-5,this.btnUpgrade.y=.5*(this.bg.height-this.btnUpgrade.height),this.addChild(this.btnUpgrade),this.btnCitadel.width=120,this.btnCitadel.height=45,this.btnCitadel.x=this.btnUpgrade.x-this.btnCitadel.width-5,this.btnCitadel.y=.5*(this.bg.height-this.btnCitadel.height),this.addChild(this.btnCitadel),this.redDot.scale.set(1.2),this.redDot.anchor.set(.5),this.redDot.x=this.btnUpgrade.width-15,this.redDot.y=5,this.redDot.visible=!1,this.btnUpgrade.addChild(this.redDot),this.btnUpgrade.on("pointertap",this.onUpgrade,this),this.btnCitadel.on("pointertap",this.onCitadel,this),this.updateLanguage(),this.autoToggle.onTap=this.onToggleAuto.bind(this),this.autoToggle.x=10,this.autoToggle.y=this.lblTitle.y+this.lblTitle.height-1,this.addChild(this.autoToggle),Rhi.getInstance().loadSetting().then(()=>this.refreshAutoToggle())}
+ onToggleAuto(){
+ if(OL.maxWave<Rhi.UNLOCK_WAVE)return void WF.getInstance().showMessage(DG.getValueReplace("GAME_633","##",Rhi.UNLOCK_WAVE,"최고 WAVE 100 이상에서 환생 후 이용가능합니다."));
+ const t=Rhi.getInstance();
+ t.setEnabled(!t.enabled),this.refreshAutoToggle()}
+ refreshAutoToggle(){
+ this.autoToggle.setOn(Rhi.getInstance().enabled)}
StampCalendarPopup 7 hunks, 9 statements
- super(),Kt(this,"lblMsg"),Kt(this,"lblProgress"),Kt(this,"panel"),Kt(this,"cells",[]),Kt(this,"nextBanner"),Kt(this,"btnClaim"),Kt(this,"preferredY",0),Kt(this,"requestPending",!1),this.width=580,this.title=xG.getText("GAME_1533","30일 선물");
+ super(),qt(this,"lblMsg"),qt(this,"lblProgress"),qt(this,"panel"),qt(this,"cells",[]),qt(this,"nextBanner"),qt(this,"btnClaim"),qt(this,"placed",!1),qt(this,"requestPending",!1),this.width=580,this.title=DG.getText("GAME_1533","30일 선물");
- this.nextBanner=new tgi,this.nextBanner.onTap=t=>this.showRewardToast(t),this.contentContainer.addChild(this.nextBanner),this.btnClaim=new YKt(""),this.btnClaim.autoResize=!1,this.btnClaim.width=300,this.btnClaim.height=60,this.btnClaim.onClick=()=>{
+ this.nextBanner=new pmi(4*lmi.WIDTH+3*t.GAP_X),this.nextBanner.onTap=t=>this.showRewardToast(t),this.contentContainer.addChild(this.nextBanner),this.btnClaim=new tzt(""),this.btnClaim.autoResize=!1,this.btnClaim.width=300,this.btnClaim.height=60,this.btnClaim.onClick=()=>{
- const r=h*i+(h-1)*e,o=this.panel.x+.5*(t.PANEL_WIDTH-r),a=this.panel.y+t.PAD_TOP;
+ const r=h*i+(h-1)*e,o=this.panel.x+.5*(t.PANEL_WIDTH-r),a=this.panel.y+t.PAD_TOP,c=Math.ceil(30/h);
- this.nextBanner.x=o,this.nextBanner.y=a+6*(s+n),this.panel.height=this.nextBanner.y+(this.nextBanner.visible?this.nextBanner.height:0)+t.PAD_BOTTOM-this.panel.y,this.btnClaim.x=.5*(this.width-this.btnClaim.width),this.btnClaim.y=this.panel.y+this.panel.height+14,this.height=this.btnClaim.y+this.btnClaim.height+26,this.applyVerticalPlacement()}
+ this.nextBanner.x=o,this.nextBanner.y=a+c*(s+n),this.panel.height=this.nextBanner.y+(this.nextBanner.visible?this.nextBanner.height:0)+t.PAD_BOTTOM-this.panel.y,this.btnClaim.x=.5*(this.width-this.btnClaim.width),this.btnClaim.y=this.panel.y+this.panel.height+14,this.height=this.btnClaim.y+this.btnClaim.height+26,this.applyVerticalPlacement()}
- this.preferredY=t,this.applyVerticalPlacement()}
+ this.placed=!0,this.applyVerticalPlacement()}
- if(0===this.preferredY)return;
- const t=.5*this.height,i=t+10,s=VA.bottomAnchorY-t-10;
- this.y=s<i?i:Math.max(i,Math.min(this.preferredY,s))}
+ if(!this.placed)return;
+ const t=zA.bottomAnchorY,i=Math.max(10,.35*(t-this.height));
+ this.y=i+.5*this.height}
- Vt(Jpi,"StampCalendarPopup"),Kt(Jpi,"instance"),Kt(Jpi,"PANEL_X",25),Kt(Jpi,"PANEL_WIDTH",530),Kt(Jpi,"PAD_X",24),Kt(Jpi,"PAD_TOP",10),Kt(Jpi,"PAD_BOTTOM",12),Kt(Jpi,"GAP_X",8),Kt(Jpi,"GAP_Y",7),Kt(Jpi,"COLUMNS",5);
+ zt(umi,"StampCalendarPopup"),qt(umi,"instance"),qt(umi,"PANEL_X",25),qt(umi,"PANEL_WIDTH",530),qt(umi,"PAD_X",24),qt(umi,"PAD_TOP",10),qt(umi,"PAD_BOTTOM",12),qt(umi,"GAP_X",8),qt(umi,"GAP_Y",7),qt(umi,"COLUMNS",4);
GuildRaidService 1 hunks, 8 statements
+ async getOpenRule(t=!1){
+ return this.post(QR.GUILD_RAID.GET_OPEN_RULE,{
+ }
+ ,t)}
+ async setOpenRule(t,i,s=!0){
+ return this.post(QR.GUILD_RAID.SET_OPEN_RULE,{
+ enabled:t,slots:i}
+ ,s)}
DoomBringer 7 hunks, 8 statements
- const qU=class extends YU{
+ const iF=class t extends tF{
- super(...arguments),Kt(this,"swordMain"),Kt(this,"swordEnd"),Kt(this,"crackedEarth"),Kt(this,"lineEffect"),Kt(this,"bottomEffect1"),Kt(this,"bottomEffect2"),Kt(this,"wave"),Kt(this,"lineEffectTextures"),Kt(this,"lineEffectTotal",5),Kt(this,"waveStepScale",0),Kt(this,"waveStepAlpha",0),Kt(this,"waveDelay",0),Kt(this,"waveActive",!1),Kt(this,"shakeBaseX",0),Kt(this,"shakeBaseY",0),Kt(this,"hasDamaged",!1),Kt(this,"lineFrame",0)}
+ super(...arguments),qt(this,"swordMain"),qt(this,"swordEnd"),qt(this,"crackedEarth"),qt(this,"lineEffect"),qt(this,"bottomEffect1"),qt(this,"bottomEffect2"),qt(this,"wave"),qt(this,"lineEffectTextures"),qt(this,"lineEffectTotal",5),qt(this,"waveStepScale",0),qt(this,"waveStepAlpha",0),qt(this,"waveDelay",0),qt(this,"waveActive",!1),qt(this,"shakeHeld",!1),qt(this,"hasDamaged",!1),qt(this,"lineFrame",0)}
+ if(!this.shakeHeld&&(this.shakeHeld=!0,0===t.shakeRefCount++)){
- this.shakeBaseX=t.x,this.shakeBaseY=t.y,loi.zoomEnabled=!1,this.waveStepScale=.24,this.waveStepAlpha=-.05,this.wave.scale.set(.2),this.wave.alpha=1,this.waveDelay=14,this.waveActive=!0,this.lineFrame=0,this.hasDamaged=!1}
+ t.shakeBaseX=i.x,t.shakeBaseY=i.y,Poi.zoomEnabled=!1}
+ this.waveStepScale=.24,this.waveStepAlpha=-.05,this.wave.scale.set(.2),this.wave.alpha=1,this.waveDelay=14,this.waveActive=!0,this.lineFrame=0,this.hasDamaged=!1}
- zB.getInstance().x=this.shakeBaseX,zB.getInstance().y=this.shakeBaseY,loi.zoomEnabled=!0,super.remove()}
+ this.shakeHeld&&(this.shakeHeld=!1,--t.shakeRefCount<=0&&(t.shakeRefCount=0,JB.getInstance().x=t.shakeBaseX,JB.getInstance().y=t.shakeBaseY,Poi.zoomEnabled=!0)),super.remove()}
- const i=zB.getInstance(),s=this.shakeBaseX,e=this.shakeBaseY;
+ const s=JB.getInstance(),e=t.shakeBaseX,n=t.shakeBaseY;
- Vt(qU,"DoomBringer");
+ zt(iF,"DoomBringer"),qt(iF,"shakeRefCount",0),qt(iF,"shakeBaseX",0),qt(iF,"shakeBaseY",0);
GuildRaidRecordSubView 7 hunks, 8 statements
- i.getMonth()+1}
+ i.getUTCMonth()+1}
- i.getDate()}
+ i.getUTCDate()}
- i.getMonth()+1}
+ i.getUTCMonth()+1}
- i.getDate()}
+ i.getUTCDate()}
- "],[i.getMonth()+1,i.getDate(),Gti(i.getDay())],`${
- i.getMonth()+1}
+ "],[i.getUTCMonth()+1,i.getUTCDate(),tii(i.getUTCDay())],`${
+ i.getUTCMonth()+1}
- i.getDate()}
+ i.getUTCDate()}
- Gti(i.getDay())}
+ tii(i.getUTCDay())}
GuildWarBattlePopupV3 7 hunks, 7 statements
- ...fD.DEFAULT_OUTLINE_FONT_OPTION_16,fontSize:13}
+ ...wD.DEFAULT_OUTLINE_FONT_OPTION_16,fontSize:13}
- ...fD.DEFAULT_OUTLINE_FONT_OPTION_16,fontSize:13}
+ ...wD.DEFAULT_OUTLINE_FONT_OPTION_16,fontSize:13}
- ...fD.DEFAULT_OUTLINE_FONT_OPTION_16,fontSize:13}
+ ...wD.DEFAULT_OUTLINE_FONT_OPTION_16,fontSize:13}
- ...fD.DEFAULT_OUTLINE_FONT_OPTION_16,fontSize:9}
+ ...wD.DEFAULT_OUTLINE_FONT_OPTION_16,fontSize:9}
- ...fD.DEFAULT_OUTLINE_FONT_OPTION_16,fontSize:11}
+ ...wD.DEFAULT_OUTLINE_FONT_OPTION_16,fontSize:11}
- ...fD.DEFAULT_OUTLINE_FONT_OPTION_16,fontSize:9}
+ ...wD.DEFAULT_OUTLINE_FONT_OPTION_16,fontSize:9}
- ...fD.DEFAULT_OUTLINE_FONT_OPTION_16,fontSize:i}
+ ...wD.DEFAULT_OUTLINE_FONT_OPTION_16,fontSize:i}
BaseUnit 6 hunks, 6 statements
- ),Kt(this,"startSound",""),Kt(this,"attackSound",""),Kt(this,"skillSound",""),Kt(this,"dieSound",""),Kt(this,"weaponClass",Aj.NormalArrow),Kt(this,"initDelay",0),Kt(this,"firePoint",new gi(10,-20)),Kt(this,"_tmpPoint",new gi(0,0)),Kt(this,"container",new Ge),Kt(this,"hasTextEffect",!0),Kt(this,"baseMaxHp",100),Kt(this,"baseAtkDmg",7),Kt(this,"baseDef",1),Kt(this,"baseMoveSpd",1),Kt(this,"baseAtkDuration",30),Kt(this,"baseAtkRange",15),Kt(this,"baseDetectRange",500),Kt(this,"patrolPoint",new gi(0,0)),Kt(this,"patrolRadius",0),Kt(this,"isPatrolMode",!1),Kt(this,"idleLookTimer",0),Kt(this,"idleLookInterval",0),Kt(this,"numBlock",2),Kt(this,"isCastle",!1),Kt(this,"flowField",null),Kt(this,"losBlockedFrames",0),Kt(this,"forceFlowFrames",0),Kt(this,"windowStuckStreak",0),Kt(this,"stuckFrames",0),Kt(this,"lastStuckX",0),Kt(this,"lastStuckY",0),Kt(this,"lastDistToTarget2",1/0),Kt(this,"windowDistOrigin2",1/0),Kt(this,"windowFrames",0),Kt(this,"pathCooldown",0),Kt(this,"pathWaypoints",null),Kt(this,"pathIndex",0),Kt(this,"pathTargetX",0),Kt(this,"pathTargetY",0),Kt(this,"blockedEnemies",new Set),Kt(this,"surroundedFrames",0),Kt(this,"cachedTargetDistance",0),Kt(this,"cacheFrame",0),Kt(this,"cachedTarget",null),Kt(this,"stateChangeTimer",0),Kt(this,"minStateFrames",4),Kt(this,"hysteresisMargin",5),Kt(this,"aggressiveRetarget",!1),Kt(this,"retargetCheckTimer",0),Kt(this,"rallyMoveTimer",0),Kt(this,"farFromCastleFrames",0),Kt(this,"needsReposition",!1),Kt(this,"repositionX",0),Kt(this,"repositionY",0),Kt(this,"repositionPatrolRadius",0),Kt(this,"repositionTimeout",0),Kt(this,"maxRepositionWaitFrames",600),Kt(this,"commandPhase","none"),Kt(this,"commandX",0),Kt(this,"commandY",0),Kt(this,"commandWaitTimer",0),Kt(this,"commandSpeedMult",1),Kt(this,"commandWaitFrames",60),Kt(this,"commandFlowField",null),Kt(this,"commandFrames",0),Kt(this,"commandStuckFrames",0),Kt(this,"showTombstone",!1),Kt(this,"imgTombStone",null),Kt(this,"txtReviveTimer",null),Kt(this,"xDeath",0),Kt(this,"yDeath",0),Kt(this,"healthBar",new JQ),Kt(this,"healthBarVisible",!0),Kt(this,"kindNum",0),Kt(this,"grade",1),Kt(this,"id",99999),Kt(this,"dotDamager",new iZ),Kt(this,"dotHeal",new hZ),Kt(this,"activeDamageBuff",new oZ),Kt(this,"activeDefenseBuff",new oZ),Kt(this,"activeMaxHealthBuff",new oZ),Kt(this,"activeAttackSpeedBuff",new oZ),Kt(this,"activeMoveSpeedBuff",new oZ),Kt(this,"activeCritMultiplierBuff",new oZ),Kt(this,"activeCritChanceBuff",new oZ),Kt(this,"activeRangeEavdeBuff",new oZ),Kt(this,"orgMaxHp",100),Kt(this,"orgAtkDmg",7),Kt(this,"orgDef",1),Kt(this,"orgPhyDef",1),Kt(this,"orgMagDef",1),Kt(this,"orgMoveSpd",1),Kt(this,"orgAtkSpd",1),Kt(this,"orgCritDmg",1.5),Kt(this,"orgCritChance",.1),Kt(this,"orgAtkRange",15),Kt(this,"orgAtkDuration",30),Kt(this,"orgRangeEvadeChange",0),Kt(this,"raidIncomingDamageMult",1),Kt(this,"raidPassiveIncomingMult",1),Kt(this,"ground",0),Kt(this,"reviveAirProgress",1),Kt(this,"shadow"),Kt(this,"shadowSize",1),Kt(this,"hasSkill",!1),Kt(this,"maxMana",500),Kt(this,"mana",0),Kt(this,"_hpDroppedBelow60",!1),Kt(this,"_hpDroppedBelow40",!1),Kt(this,"_hpDroppedBelow20",!1),Kt(this,"effectList",[]),Kt(this,"battleController",null),Kt(this,"isSummoned",!1),Kt(this,"summonDuration",0),Kt(this,"summonTimer",0),Kt(this,"summoner",null),Kt(this,"summonerGeneration",0),Kt(this,"summonLeashRange",0),Kt(this,"generation",0),Kt(this,"weight",1),Kt(this,"bossType",0),Kt(this,"normalSize",1.05),Kt(this,"evolSize",1.1),Kt(this,"gameStarted",!1),Kt(this,"level",1),Kt(this,"gold",0),Kt(this,"enhance",0),Kt(this,"isEnemySide",!1),Kt(this,"hasDroppedGold",!1),Kt(this,"goldDropFrame",2),Kt(this,"onGoldDrop",null),Kt(this,"sex",hx.MALE),Kt(this,"name",""),Kt(this,"base",0),Kt(this,"lastPercentHp",1),Kt(this,"lastPercentAtkDmg",1),Kt(this,"lastPercentDef",1),Kt(this,"incFrame",1),Kt(this,"dieIncFrame",.3),Kt(this,"loop",!0),Kt(this,"startFrame",0),Kt(this,"endFrame",0),Kt(this,"attackCoolDown",0),Kt(this,"recoveryCoolDown",0),Kt(this,"recoveryInterval",300),Kt(this,"stateHandlers",{
+ ),qt(this,"startSound",""),qt(this,"attackSound",""),qt(this,"skillSound",""),qt(this,"dieSound",""),qt(this,"weaponClass",kj.NormalArrow),qt(this,"initDelay",0),qt(this,"firePoint",new wi(10,-20)),qt(this,"_tmpPoint",new wi(0,0)),qt(this,"container",new Ue),qt(this,"hasTextEffect",!0),qt(this,"baseMaxHp",100),qt(this,"baseAtkDmg",7),qt(this,"baseDef",1),qt(this,"baseMoveSpd",1),qt(this,"baseAtkDuration",30),qt(this,"baseAtkRange",15),qt(this,"baseDetectRange",500),qt(this,"patrolPoint",new wi(0,0)),qt(this,"patrolRadius",0),qt(this,"isPatrolMode",!1),qt(this,"idleLookTimer",0),qt(this,"idleLookInterval",0),qt(this,"numBlock",2),qt(this,"isCastle",!1),qt(this,"flowField",null),qt(this,"losBlockedFrames",0),qt(this,"forceFlowFrames",0),qt(this,"windowStuckStreak",0),qt(this,"stuckFrames",0),qt(this,"lastStuckX",0),qt(this,"lastStuckY",0),qt(this,"lastDistToTarget2",1/0),qt(this,"windowDistOrigin2",1/0),qt(this,"windowFrames",0),qt(this,"pathCooldown",0),qt(this,"pathWaypoints",null),qt(this,"pathIndex",0),qt(this,"pathTargetX",0),qt(this,"pathTargetY",0),qt(this,"blockedEnemies",new Set),qt(this,"surroundedFrames",0),qt(this,"cachedTargetDistance",0),qt(this,"cacheFrame",0),qt(this,"cachedTarget",null),qt(this,"stateChangeTimer",0),qt(this,"minStateFrames",4),qt(this,"hysteresisMargin",5),qt(this,"aggressiveRetarget",!1),qt(this,"retargetCheckTimer",0),qt(this,"rallyMoveTimer",0),qt(this,"farFromCastleFrames",0),qt(this,"needsReposition",!1),qt(this,"repositionX",0),qt(this,"repositionY",0),qt(this,"repositionPatrolRadius",0),qt(this,"repositionTimeout",0),qt(this,"maxRepositionWaitFrames",600),qt(this,"commandPhase","none"),qt(this,"commandX",0),qt(this,"commandY",0),qt(this,"commandWaitTimer",0),qt(this,"commandSpeedMult",1),qt(this,"commandWaitFrames",60),qt(this,"commandFlowField",null),qt(this,"commandFrames",0),qt(this,"commandStuckFrames",0),qt(this,"showTombstone",!1),qt(this,"imgTombStone",null),qt(this,"txtReviveTimer",null),qt(this,"xDeath",0),qt(this,"yDeath",0),qt(this,"healthBar",new sZ),qt(this,"healthBarVisible",!0),qt(this,"kindNum",0),qt(this,"grade",1),qt(this,"id",99999),qt(this,"dotDamager",new rZ),qt(this,"dotHeal",new lZ),qt(this,"activeDamageBuff",new dZ),qt(this,"activeDefenseBuff",new dZ),qt(this,"activeMaxHealthBuff",new dZ),qt(this,"activeAttackSpeedBuff",new dZ),qt(this,"activeMoveSpeedBuff",new dZ),qt(this,"activeCritMultiplierBuff",new dZ),qt(this,"activeCritChanceBuff",new dZ),qt(this,"activeRangeEavdeBuff",new dZ),qt(this,"orgMaxHp",100),qt(this,"orgAtkDmg",7),qt(this,"orgDef",1),qt(this,"orgPhyDef",1),qt(this,"orgMagDef",1),qt(this,"orgMoveSpd",1),qt(this,"orgAtkSpd",1),qt(this,"orgCritDmg",1.5),qt(this,"orgCritChance",.1),qt(this,"orgAtkRange",15),qt(this,"orgAtkDuration",30),qt(this,"orgRangeEvadeChange",0),qt(this,"raidIncomingDamageMult",1),qt(this,"raidPassiveIncomingMult",1),qt(this,"ground",0),qt(this,"reviveAirProgress",1),qt(this,"shadow"),qt(this,"shadowSize",1),qt(this,"hasSkill",!1),qt(this,"maxMana",500),qt(this,"mana",0),qt(this,"_hpDroppedBelow60",!1),qt(this,"_hpDroppedBelow40",!1),qt(this,"_hpDroppedBelow20",!1),qt(this,"effectList",[]),qt(this,"battleController",null),qt(this,"isSummoned",!1),qt(this,"summonDuration",0),qt(this,"summonTimer",0),qt(this,"summoner",null),qt(this,"summonerGeneration",0),qt(this,"summonLeashRange",0),qt(this,"generation",0),qt(this,"weight",1),qt(this,"bossType",0),qt(this,"normalSize",1.05),qt(this,"evolSize",1.1),qt(this,"gameStarted",!1),qt(this,"uiTopOffset",0),qt(this,"level",1),qt(this,"gold",0),qt(this,"enhance",0),qt(this,"isEnemySide",!1),qt(this,"hasDroppedGold",!1),qt(this,"goldDropFrame",2),qt(this,"onGoldDrop",null),qt(this,"sex",ox.MALE),qt(this,"name",""),qt(this,"base",0),qt(this,"lastPercentHp",1),qt(this,"lastPercentAtkDmg",1),qt(this,"lastPercentDef",1),qt(this,"incFrame",1),qt(this,"dieIncFrame",.3),qt(this,"loop",!0),qt(this,"startFrame",0),qt(this,"endFrame",0),qt(this,"attackCoolDown",0),qt(this,"recoveryCoolDown",0),qt(this,"recoveryInterval",300),qt(this,"stateHandlers",{
- this.healthBar.x=0,this.healthBar.y=-this.hitHeight-15}
+ this.healthBar.x=0,this.healthBar.y=-this.hitHeight-15-this.uiTopOffset}
- 0===this._baseSize&&(this._baseSize=this.currentSize,this._baseHitHeight=this.hitHeight,this._baseHitWidth=this.hitWidth,this._baseRadius=this.radius),this.sizeScale=t,this.currentSize=this._baseSize*t,this.hitHeight=this._baseHitHeight*t,this.hitWidth=this._baseHitWidth*t,this.radius=this._baseRadius*t,this.container&&(this.container.scale.y=Math.abs(this.currentSize),this.direction>0?this.container.scale.x=Math.abs(this.currentSize):this.container.scale.x=-Math.abs(this.currentSize)),this.setHealthBarPosition(),this.evolStar&&this.evolStar.visible&&(this.evolStar.y=-this.hitHeight-14),this.shadow&&this.shadow.scale.set(.7*this.shadowSize*t)}
+ 0===this._baseSize&&(this._baseSize=this.currentSize,this._baseHitHeight=this.hitHeight,this._baseHitWidth=this.hitWidth,this._baseRadius=this.radius),this.sizeScale=t,this.currentSize=this._baseSize*t,this.hitHeight=this._baseHitHeight*t,this.hitWidth=this._baseHitWidth*t,this.radius=this._baseRadius*t,this.container&&(this.container.scale.y=Math.abs(this.currentSize),this.direction>0?this.container.scale.x=Math.abs(this.currentSize):this.container.scale.x=-Math.abs(this.currentSize)),this.setHealthBarPosition(),this.evolStar&&this.evolStar.visible&&(this.evolStar.y=-this.hitHeight-14-this.uiTopOffset),this.shadow&&this.shadow.scale.set(.7*this.shadowSize*t)}
- this.hideHealthBarTimer--,this.hideHealthBarTimer<=0&&(this.healthBar.visible=!1,this.evolStar&&this.evolStage>=1&&(this.evolStar.x=0,this.evolStar.y=-this.hitHeight-14),tB.getInstance().remove(this.hideHealthBar,this))}
+ this.hideHealthBarTimer--,this.hideHealthBarTimer<=0&&(this.healthBar.visible=!1,this.evolStar&&this.evolStage>=1&&(this.evolStar.x=0,this.evolStar.y=-this.hitHeight-14-this.uiTopOffset),nB.getInstance().remove(this.hideHealthBar,this))}
- this.evolStar||(this.evolStar=new He(QA.getTexture("Game","EvolStar")),this.evolStar.anchor.set(.5),this.evolStar.scale.set(.35),this.addChild(this.evolStar)),this.evolStar.y=-this.hitHeight-14,this.evolStar.visible=!0}
+ this.evolStar||(this.evolStar=new $e(tS.getTexture("Game","EvolStar")),this.evolStar.anchor.set(.5),this.evolStar.scale.set(.35),this.addChild(this.evolStar)),this.evolStar.y=-this.hitHeight-14-this.uiTopOffset,this.evolStar.visible=!0}
- return(-(this._baseHitHeight||this.hitHeight/this.sizeScale)-15-4)/this.sizeScale}
+ return(-(this._baseHitHeight||this.hitHeight/this.sizeScale)-15-4-this.uiTopOffset)/this.sizeScale}
TournamentRewardItemRenderer 1 hunks, 6 statements
- case 2:return 3==i?xG.getText("서브 매치 1","서브 매치 1"):xG.getText("GWT_4","8강");
- case 3:return 5==i?xG.getText("서브 매치 2","서브 매치 2"):xG.getText("GWT_5","4강");
+ case 2:return 3==i?`${
+ DG.getText("GWT_20","서브 매치")}
+  1`:DG.getText("GWT_4","8강");
+ case 3:return 5==i?`${
+ DG.getText("GWT_20","서브 매치")}
+  2`:DG.getText("GWT_5","4강");
QuestAutoController 4 hunks, 6 statements
+ const s=OL.gold*(1-t.SPEND_RATIO_PER_TICK);
- const i=this.pickNextAction();
+ const t=this.pickNextAction(s);
- pickNextAction(){
- const i=lL.getInstance(),s=TL.gold;
+ pickNextAction(i){
+ const s=pL.getInstance(),e=OL.gold-i;
+ if(e<=0)return null;
- Vt(Ghi,"QuestAutoController"),Kt(Ghi,"instance"),Kt(Ghi,"TICK_INTERVAL_MS",3e3),Kt(Ghi,"OPEN_BUDGET_MULT",1.5),Kt(Ghi,"UNLOCK_WAVE",100);
+ zt(ori,"QuestAutoController"),qt(ori,"instance"),qt(ori,"TICK_INTERVAL_MS",3e3),qt(ori,"OPEN_BUDGET_MULT",1.5),qt(ori,"SPEND_RATIO_PER_TICK",.5),qt(ori,"UNLOCK_WAVE",100);
StampNextRewardBanner 4 hunks, 6 statements
- constructor(){
- super(),Kt(this,"bg"),Kt(this,"reward"),Kt(this,"lblDay"),Kt(this,"lblReward"),Kt(this,"redDot"),Kt(this,"onTap",null),Kt(this,"data",null);
- const i=t.WIDTH,s=t.HEIGHT;
+ constructor(i=482){
+ super(),qt(this,"w"),qt(this,"bg"),qt(this,"reward"),qt(this,"lblDay"),qt(this,"lblReward"),qt(this,"redDot"),qt(this,"onTap",null),qt(this,"data",null),this.w=i;
+ const s=this.w,e=t.HEIGHT;
- return t.WIDTH}
+ return this.w}
- const e=t.WIDTH,n=t.HEIGHT,h="claimable"===i.state;
+ const e=this.w,n=t.HEIGHT,h="claimable"===i.state;
- Vt(Zpi,"StampNextRewardBanner"),Kt(Zpi,"WIDTH",482),Kt(Zpi,"HEIGHT",62),Kt(Zpi,"MILESTONE_TINT",16771512),Kt(Zpi,"CLAIMABLE_TINT",16774095);
+ zt(fmi,"StampNextRewardBanner"),qt(fmi,"HEIGHT",62),qt(fmi,"MILESTONE_TINT",16771512),qt(fmi,"CLAIMABLE_TINT",16774095);
GpuGraphicsContext 3 hunks, 5 statements
- ...Kc,extension:{
- ...Kc.extension,name:"ellipse"}
+ ...qc,extension:{
+ ...qc.extension,name:"ellipse"}
- ...Kc,extension:{
- ...Kc.extension,name:"roundedRectangle"}
+ ...qc,extension:{
+ ...qc.extension,name:"roundedRectangle"}
- ..."radial"===i.type?b.defaultRadialOptions:b.defaultLinearOptions,...$i(i)}
+ ..."radial"===i.type?b.defaultRadialOptions:b.defaultLinearOptions,...Vi(i)}
BatchableSprite 5 hunks, 5 statements
- ...k.defaultTextStyle,...t}
+ ...O.defaultTextStyle,...t}
- ...k.defaultDropShadow,...t}
+ ...O.defaultDropShadow,...t}
- ...k.defaultDropShadow}
+ ...O.defaultDropShadow}
- ...ku.defaultFillStyle,...t}
+ ...Ru.defaultFillStyle,...t}
- ...ku.defaultStrokeStyle,...t}
+ ...Ru.defaultStrokeStyle,...t}
RunInfo 2 hunks, 5 statements
- let WF=HF;
- const $F=class t extends fG{
+ let qF=zF,YF=(zt(Y=class extends wG{
- ;
- Vt($F,"RunInfoPopup"),Kt($F,"_instance"),Kt($F,"REFRESH_FRAMES",30);
- let jF=$F;
+ ,"RunInfoPopup"),qt(Y,"_instance"),qt(Y,"REFRESH_FRAMES",30),Y);
PaybackEventUserVO 1 hunks, 5 statements
+ const UVt=Object.freeze(Object.defineProperty({
+ __proto__:null,MailManager:BVt}
+ ,Symbol.toStringTag,{
+ value:"Module"}
+ ));
ViewUtil 2 hunks, 5 statements
- let Qzt=Jzt;
- const Zzt=class t extends KKt{
+ let nqt=eqt,hqt=(zt(Pt=class extends QKt{
- ;
- Vt(Zzt,"ShopView"),Kt(Zzt,"instance");
- let tYt=Zzt;
+ ,"ShopView"),qt(Pt,"instance"),Pt);
GuildRaidPopup 1 hunks, 5 statements
- const hii="ef2.guildRaid.attackSquads.",rii=class t extends nYt{
+ const Mii=Object.freeze(Object.defineProperty({
+ __proto__:null,GuildRaidSubView:yii}
+ ,Symbol.toStringTag,{
+ value:"Module"}
+ )),Eii="ef2.guildRaid.attackSquads.",Aii=class t extends cqt{
CastleItemRenderer 5 hunks, 5 statements
- this.lblName.x=135,this.lblName.y=.5*(this.bg.height-t),this.mainContainer.addChild(this.lblName),this.lblCastleBonus.visible=!1,this.mainContainer.addChild(this.lblCastleBonus),this.lblDesc.x=135,this.lblDesc.y=this.lblName.y+this.lblName.height+5,this.mainContainer.addChild(this.lblDesc),this.lblLevel.x=30,this.lblLevel.y=this.bg.height-27,this.lblLevel.textColor=16777215,this.mainContainer.addChild(this.lblLevel),this.lblEnhance.x=this.icon.x+this.icon.width-40,this.lblEnhance.y=5,this.lblEnhance.textColor=16750848,this.mainContainer.addChild(this.lblEnhance),this.lblHp.x=this.lblName.x,this.lblHp.y=this.lblName.y+this.lblName.height+8,this.heroContainer.addChild(this.lblHp),this.btnBuy.labelOrder=DU.TEXT_FIRST,this.btnBuy.textLabel.textSize=15,this.btnBuy.textAlign="left",this.btnBuy.iconScale=.7,this.btnBuy.color=DU.BROWN,this.btnBuy.height=60,this.btnBuy.width=110,this.btnBuy.x=this.bg.width-this.btnBuy.width-6,this.btnBuy.y=.5*(this.bg.height-this.btnBuy.height)-2,this.mainContainer.addChild(this.btnBuy),this.btnBuy.on("pointertap",()=>this.onBuy(1),this),this.btnEnhanceShortcut.iconScale=.8,this.btnEnhanceShortcut.color=DU.BROWN,this.btnEnhanceShortcut.height=60,this.btnEnhanceShortcut.width=115,this.btnEnhanceShortcut.x=this.btnBuy.x-this.btnEnhanceShortcut.width-5,this.btnEnhanceShortcut.y=.5*(this.bg.height-this.btnEnhanceShortcut.height)-2,this.btnEnhanceShortcut.visible=!1,this.btnEnhanceShortcut.on("pointertap",()=>{
+ this.lblName.x=135,this.lblName.y=.5*(this.bg.height-t),this.mainContainer.addChild(this.lblName),this.lblCastleBonus.visible=!1,this.mainContainer.addChild(this.lblCastleBonus),this.lblDesc.x=135,this.lblDesc.y=this.lblName.y+this.lblName.height+5,this.mainContainer.addChild(this.lblDesc),this.lblLevel.x=30,this.lblLevel.y=this.bg.height-27,this.lblLevel.textColor=16777215,this.mainContainer.addChild(this.lblLevel),this.lblEnhance.x=this.icon.x+this.icon.width-40,this.lblEnhance.y=5,this.lblEnhance.textColor=16750848,this.mainContainer.addChild(this.lblEnhance),this.lblHp.x=this.lblName.x,this.lblHp.y=this.lblName.y+this.lblName.height+8,this.heroContainer.addChild(this.lblHp),this.btnBuy.labelOrder=HU.TEXT_FIRST,this.btnBuy.textLabel.textSize=15,this.btnBuy.textAlign="left",this.btnBuy.iconScale=.7,this.btnBuy.color=HU.BROWN,this.btnBuy.height=60,this.btnBuy.width=110,this.btnBuy.x=this.bg.width-this.btnBuy.width-6,this.btnBuy.y=.5*(this.bg.height-this.btnBuy.height)-2,this.mainContainer.addChild(this.btnBuy),this.btnBuy.on("pointertap",()=>this.onBuy(1),this),this.btnEnhanceShortcut.textLabel.textSize=16,this.btnEnhanceShortcut.iconScale=.8,this.btnEnhanceShortcut.color=HU.BROWN,this.btnEnhanceShortcut.height=60,this.btnEnhanceShortcut.width=115,this.btnEnhanceShortcut.x=this.bg.width-this.btnEnhanceShortcut.width-6,this.btnEnhanceShortcut.y=.5*(this.bg.height-this.btnEnhanceShortcut.height)-2,this.btnEnhanceShortcut.visible=!1,this.btnEnhanceShortcut.on("pointertap",()=>{
- const i=this.btnEnhanceShortcut.visible?this.btnEnhanceShortcut.x:this.btnBuy.x;
+ const i=Math.min(this.btnBuy.x,this.btnEnhanceShortcut.x);
- `,this.lblLevel.x=this.icon.x+.5*(this.icon.width-this.lblLevel.width)-15,this.heroContainer.visible=!1,this.btnEnhanceShortcut.visible=1==i.kindNum&&!this.multiLevelContainer.visible,this.btnEnhanceShortcut.visible&&(this.btnEnhanceShortcut.text=xG.getText("GAME_66","강화")),1==i.kindNum){
+ `,this.lblLevel.x=this.icon.x+.5*(this.icon.width-this.lblLevel.width)-15,this.heroContainer.visible=!1,this.btnEnhanceShortcut.visible=1==i.kindNum,this.btnEnhanceShortcut.visible&&(this.btnEnhanceShortcut.text=DG.getText("GAME_66","강화")),1==i.kindNum?(this.btnBuy.x=this.btnEnhanceShortcut.x-this.btnBuy.width-5,this.btnBuy.visible=!this.multiLevelContainer.visible):(this.btnBuy.x=this.bg.width-this.btnBuy.width-6,this.btnBuy.visible=!0),1==i.kindNum){
- 1!==t.kindNum&&t.level>=t.maxLv||(this.isMultiLevel=!0,this.multiLevelContainer.visible=!0,this.btnEnhanceShortcut.visible=!1,this.btn10.visible=!0,this.btn100.visible=1===t.kindNum,this.startButtonUpdateInterval())}
+ 1!==t.kindNum&&t.level>=t.maxLv||(this.isMultiLevel=!0,this.multiLevelContainer.visible=!0,1===t.kindNum&&(this.btnBuy.visible=!1),this.btn10.visible=!0,this.btn100.visible=1===t.kindNum,this.startButtonUpdateInterval())}
- this.btnEnhanceShortcut.visible=1===(null==t?void 0:t.kindNum)}
+ this.btnEnhanceShortcut.visible=1===(null==t?void 0:t.kindNum),this.btnBuy.visible=!0}
Bo 4 hunks, 4 statements
- type:get.KEY_HANDSHAKE_ACK}
+ type:bet.KEY_HANDSHAKE_ACK}
- if(!S&&(null==M?void 0:M.type)===get.KEY_HANDSHAKE_START){
+ if(!S&&(null==M?void 0:M.type)===bet.KEY_HANDSHAKE_START){
- type:get.KEY_HANDSHAKE_START}
+ type:bet.KEY_HANDSHAKE_START}
- ),cet(s.method)&&x3.analytics.track(i.error?4001===i.error.code?"sdk_action_rejected":"sdk_action_failed":"sdk_action_succeeded",{
+ ),get(s.method)&&L3.analytics.track(i.error?4001===i.error.code?"sdk_action_rejected":"sdk_action_failed":"sdk_action_succeeded",{
SubMenuButton 3 hunks, 4 statements
- super(t),Kt(this,"index",-1),Kt(this,"bg2"),Kt(this,"indicator"),Kt(this,"minWidth",120),Kt(this,"_selected",!0),Kt(this,"lockIcon",null),Kt(this,"_locked",!1),Kt(this,"padding",50),Kt(this,"_autoResize",!0),Kt(this,"_allowMultiline",!1),this.minWidth=i,this.padding=s,this.container.removeChild(this.bg),this.lbl.textSize=18,this._activatedTextColor=iL.LIGHT_BROWN,this.updateTextColor(),this.bg2=new TM({
+ super(t),qt(this,"index",-1),qt(this,"bg2"),qt(this,"indicator"),qt(this,"minWidth",120),qt(this,"_selected",!0),qt(this,"lockIcon",null),qt(this,"_locked",!1),qt(this,"_lockIconScale",1),qt(this,"padding",50),qt(this,"_autoResize",!0),qt(this,"_allowMultiline",!1),this.minWidth=i,this.padding=s,this.container.removeChild(this.bg),this.lbl.textSize=18,this._activatedTextColor=hL.LIGHT_BROWN,this.updateTextColor(),this.bg2=new IM({
+ set lockIconScale(t){
+ this._lockIconScale=t,this.lockIcon&&this.layoutLockIcon()}
- this.lockIcon&&(this.lockIcon.x=this.bg2.x+this.bg2.width-this.lockIcon.width-8,this.lockIcon.y=this.bg2.y+6)}
+ this.lockIcon&&(this.lockIcon.scale.set(this._lockIconScale),this.lockIcon.x=this.bg2.x+this.bg2.width-this.lockIcon.width-8,this.lockIcon.y=this.bg2.y+6)}
Archery2GameScene 4 hunks, 4 statements
- ...fD.DEFAULT_OUTLINE_FONT_OPTION_16,fill:16777215}
+ ...wD.DEFAULT_OUTLINE_FONT_OPTION_16,fill:16777215}
- ...fD.DEFAULT_OUTLINE_FONT_OPTION_20,fill:16766720}
+ ...wD.DEFAULT_OUTLINE_FONT_OPTION_20,fill:16766720}
- ...fD.DEFAULT_OUTLINE_FONT_OPTION_16,fill:16737792}
+ ...wD.DEFAULT_OUTLINE_FONT_OPTION_16,fill:16737792}
- ...fD.DEFAULT_OUTLINE_FONT_OPTION_20,fill:16777215}
+ ...wD.DEFAULT_OUTLINE_FONT_OPTION_20,fill:16777215}
PassthroughFilter 3 hunks, 3 statements
- \n",hf="struct GlobalFilterUniforms {
+ \n",of="struct GlobalFilterUniforms {
- source:hf,entryPoint:"mainVertex"}
+ source:of,entryPoint:"mainVertex"}
- source:hf,entryPoint:"mainFragment"}
+ source:of,entryPoint:"mainFragment"}
AladinCoin1 3 hunks, 3 statements
- super(...arguments),Kt(this,"orbitCenterX",0),Kt(this,"orbitCenterY",0),Kt(this,"orbitAngle",0),Kt(this,"orbitRadius",0),Kt(this,"orbitSpeed",.12),Kt(this,"orbitOwner",null),Kt(this,"orbitPhase",0),Kt(this,"orbitTimer",0),Kt(this,"orbitDir",1),Kt(this,"inStorm",!1),Kt(this,"oneShot",!1),Kt(this,"straight",!1),Kt(this,"tgtX",0),Kt(this,"tgtY",0),Kt(this,"launchDelay",0),Kt(this,"hitCooldowns",new Map),Kt(this,"flyStartX",0),Kt(this,"flyStartY",0),Kt(this,"flyTargetX",0),Kt(this,"flyTargetY",0),Kt(this,"burstVx",0),Kt(this,"burstVy",0),Kt(this,"burstTimer",0),Kt(this,"lifeTimer",0),Kt(this,"lifeDuration",1200),Kt(this,"flying",!1),Kt(this,"coinGravity",.18),Kt(this,"landY",0)}
+ super(...arguments),qt(this,"orbitCenterX",0),qt(this,"orbitCenterY",0),qt(this,"orbitAngle",0),qt(this,"orbitRadius",0),qt(this,"orbitSpeed",.12),qt(this,"orbitOwner",null),qt(this,"orbitPhase",0),qt(this,"orbitTimer",0),qt(this,"orbitDir",1),qt(this,"inStorm",!1),qt(this,"oneShot",!1),qt(this,"goblinTarget",null),qt(this,"straight",!1),qt(this,"tgtX",0),qt(this,"tgtY",0),qt(this,"launchDelay",0),qt(this,"hitCooldowns",new Map),qt(this,"flyStartX",0),qt(this,"flyStartY",0),qt(this,"flyTargetX",0),qt(this,"flyTargetY",0),qt(this,"burstVx",0),qt(this,"burstVy",0),qt(this,"burstTimer",0),qt(this,"lifeTimer",0),qt(this,"lifeDuration",1200),qt(this,"flying",!1),qt(this,"coinGravity",.18),qt(this,"landY",0)}
- this.g=0,this.speed=0,this.flyEnd=1,this.incFrame=0,this.vx=0,this.vy=0,this.flying=!1,this.orbitRadius=0,this.orbitPhase=0,this.orbitTimer=0,this.hitCooldowns?this.hitCooldowns.clear():this.hitCooldowns=new Map,this.orbitOwner=null,this.burstTimer=0,this.lifeTimer=0,this.inStorm=!1,this.oneShot=!1,this.straight=!1,this.tgtX=0,this.tgtY=0,this.rotation=0,this.launchDelay=0}
+ this.g=0,this.speed=0,this.flyEnd=1,this.incFrame=0,this.vx=0,this.vy=0,this.flying=!1,this.orbitRadius=0,this.orbitPhase=0,this.orbitTimer=0,this.hitCooldowns?this.hitCooldowns.clear():this.hitCooldowns=new Map,this.orbitOwner=null,this.burstTimer=0,this.lifeTimer=0,this.inStorm=!1,this.oneShot=!1,this.goblinTarget=null,this.straight=!1,this.tgtX=0,this.tgtY=0,this.rotation=0,this.launchDelay=0}
+ if(this.goblinTarget)return this.goblinTarget.hitByHero(),void(this.goblinTarget=null);
Druid1 3 hunks, 3 statements
- super.initializeData(),this.sheetName="Game1",this.className=rx.Druid1,this.radius=7,this.hitHeight=27,this.unitType=ix.RANGE,this.weaponClass=Aj.DruidTangle1,this.idleFrames=new ZF(0,31),this.moveFrames=new ZF(32,72),this.attackFrames=new ZF(73,131),this.skillFrames=new ZF(132,191),this.dieFrames=new ZF(192,207),this.objAtk={
+ super.initializeData(),this.sheetName="Game1",this.className=ax.Druid1,this.radius=7,this.hitHeight=27,this.uiTopOffset=15,this.unitType=ex.RANGE,this.weaponClass=kj.DruidTangle1,this.idleFrames=new nH(0,31),this.moveFrames=new nH(32,72),this.attackFrames=new nH(73,131),this.skillFrames=new nH(132,191),this.dieFrames=new nH(192,207),this.objAtk={
- ,this.firePoint.set(38.2,14.3),this.hasSkill=!0,this.normalSize=.75,this.evolSize=.76,this.startSound=JL.SFX_BATTLE_ELF_FEMALE_GO,this.attackSound=JL.SFX_BATTLE_STAFF_ATTACK2,this.dieSound=JL.SFX_BATTLE_ELF_FEMALE_DIE}
+ ,this.firePoint.set(38.2,14.3),this.hasSkill=!0,this.normalSize=.85,this.evolSize=.92,this.startSound=iG.SFX_BATTLE_ELF_FEMALE_GO,this.attackSound=iG.SFX_BATTLE_STAFF_ATTACK2,this.dieSound=iG.SFX_BATTLE_ELF_FEMALE_DIE}
- Vt(m2,"Druid1"),Kt(m2,"VINE_BIND_FRAMES",120),Kt(m2,"VINE_TOTAL_LIFE",240),Kt(m2,"VINE_DOT_FRAMES",120),Kt(m2,"VINE_DMG_INTERVAL",30),Kt(m2,"VINE_DMG_ON_HIT",.6),Kt(m2,"VINE_DMG_PCT",.1),Kt(m2,"MAX_ACTIVE_VINES",15),Kt(m2,"TRAIL_HIT_RADIUS",28),Kt(m2,"TRAIL_CHECK_STRIDE",2),Kt(m2,"VINE_BIND_SCALE",.7),Kt(m2,"VINE_POST_SCALE",.5),Kt(m2,"VINE_GROW_FRAMES",10),Kt(m2,"DRILL_SPAWN_FWD",6),Kt(m2,"DRILL_SPAWN_UP",16),Kt(m2,"TENDRIL_SPEED",7),Kt(m2,"TENDRIL_WAVE_FREQ",.3),Kt(m2,"TENDRIL_WAVE_AMP",.05),Kt(m2,"TENDRIL_HIT_RADIUS",24),Kt(m2,"TENDRIL_TRAIL_INTV",4),Kt(m2,"TENDRIL_TRAIL_LIFE",240),Kt(m2,"TENDRIL_TRAIL_SCALE",.85),Kt(m2,"TENDRIL_MAX_TARGETS",5),Kt(m2,"EAGLE_COUNT",2),Kt(m2,"EAGLE_SCALE",.85),Kt(m2,"EAGLE_HOME_X",58),Kt(m2,"EAGLE_HOME_Y",-88),Kt(m2,"EAGLE_FOLLOW_LERP",.09),Kt(m2,"EAGLE_DRIFT_X",16),Kt(m2,"EAGLE_DRIFT_Y",10),Kt(m2,"EAGLE_BOB_SPEED",.05),Kt(m2,"EAGLE_ANIM_SPEED",.45),Kt(m2,"EAGLE_RANGE_LO",130),Kt(m2,"EAGLE_RANGE_HI",220),Kt(m2,"EAGLE_COOLDOWN_LO",50),Kt(m2,"EAGLE_COOLDOWN_HI",44),Kt(m2,"EAGLE_APPROACH_LO",21),Kt(m2,"EAGLE_APPROACH_HI",13),Kt(m2,"EAGLE_HOP_LO",16),Kt(m2,"EAGLE_HOP_HI",13),Kt(m2,"EAGLE_REST_LO",14),Kt(m2,"EAGLE_REST_HI",15),Kt(m2,"EAGLE_CHAINRANGE_LO",150),Kt(m2,"EAGLE_CHAINRANGE_HI",280),Kt(m2,"EAGLE_CHAIN_COUNT",2),Kt(m2,"EAGLE_APPROACH_ARC",-12),Kt(m2,"EAGLE_RETURN_FRAMES",23),Kt(m2,"EAGLE_RETURN_ARC",-18),Kt(m2,"EAGLE_HIT_OFFSET",18),Kt(m2,"EAGLE_PECK_DIST",42),Kt(m2,"EAGLE_PECK_WINDBACK",16),Kt(m2,"EAGLE_PECK_WINDUP",5),Kt(m2,"EAGLE_PECK_LUNGE",2),Kt(m2,"EAGLE_PECK_HITSTOP",8),Kt(m2,"EAGLE_PECK_RECOVER",9),Kt(m2,"EAGLE_EMP_WINDUP",2),Kt(m2,"EAGLE_EMP_LUNGE",2),Kt(m2,"EAGLE_EMP_HITSTOP",3),Kt(m2,"EAGLE_EMP_RECOVER",3),Kt(m2,"EAGLE_HIT_SCALE",1.6),Kt(m2,"EAGLE_PUNCH_AMP",.45),Kt(m2,"EAGLE_DMG_LO",.4),Kt(m2,"EAGLE_DMG_HI",1.1),Kt(m2,"EAGLE_FIXED_POWER",0),Kt(m2,"EAGLE_FIXED_POWER_E",1),Kt(m2,"EAGLE_STUN_FRAMES",30),Kt(m2,"EAGLE_HI_TINT",5635993),Kt(m2,"EAGLE_HI_SCALE",1.2);
+ zt(y2,"Druid1"),qt(y2,"VINE_BIND_FRAMES",120),qt(y2,"VINE_TOTAL_LIFE",240),qt(y2,"VINE_DOT_FRAMES",120),qt(y2,"VINE_DMG_INTERVAL",30),qt(y2,"VINE_DMG_ON_HIT",.72),qt(y2,"VINE_DMG_PCT",.12),qt(y2,"MAX_ACTIVE_VINES",15),qt(y2,"TRAIL_HIT_RADIUS",28),qt(y2,"TRAIL_CHECK_STRIDE",2),qt(y2,"VINE_BIND_SCALE",.7),qt(y2,"VINE_POST_SCALE",.5),qt(y2,"VINE_GROW_FRAMES",10),qt(y2,"DRILL_SPAWN_FWD",6),qt(y2,"DRILL_SPAWN_UP",16),qt(y2,"TENDRIL_SPEED",7),qt(y2,"TENDRIL_WAVE_FREQ",.3),qt(y2,"TENDRIL_WAVE_AMP",.05),qt(y2,"TENDRIL_HIT_RADIUS",24),qt(y2,"TENDRIL_TRAIL_INTV",4),qt(y2,"TENDRIL_TRAIL_LIFE",240),qt(y2,"TENDRIL_TRAIL_SCALE",.85),qt(y2,"TENDRIL_MAX_TARGETS",5),qt(y2,"EAGLE_COUNT",2),qt(y2,"EAGLE_SCALE",.85),qt(y2,"EAGLE_HOME_X",58),qt(y2,"EAGLE_HOME_Y",-88),qt(y2,"EAGLE_FOLLOW_LERP",.09),qt(y2,"EAGLE_DRIFT_X",16),qt(y2,"EAGLE_DRIFT_Y",10),qt(y2,"EAGLE_BOB_SPEED",.05),qt(y2,"EAGLE_ANIM_SPEED",.45),qt(y2,"EAGLE_RANGE_LO",130),qt(y2,"EAGLE_RANGE_HI",220),qt(y2,"EAGLE_COOLDOWN_LO",50),qt(y2,"EAGLE_COOLDOWN_HI",44),qt(y2,"EAGLE_APPROACH_LO",21),qt(y2,"EAGLE_APPROACH_HI",13),qt(y2,"EAGLE_HOP_LO",16),qt(y2,"EAGLE_HOP_HI",13),qt(y2,"EAGLE_REST_LO",14),qt(y2,"EAGLE_REST_HI",15),qt(y2,"EAGLE_CHAINRANGE_LO",150),qt(y2,"EAGLE_CHAINRANGE_HI",280),qt(y2,"EAGLE_CHAIN_COUNT",2),qt(y2,"EAGLE_APPROACH_ARC",-12),qt(y2,"EAGLE_RETURN_FRAMES",23),qt(y2,"EAGLE_RETURN_ARC",-18),qt(y2,"EAGLE_HIT_OFFSET",18),qt(y2,"EAGLE_PECK_DIST",42),qt(y2,"EAGLE_PECK_WINDBACK",16),qt(y2,"EAGLE_PECK_WINDUP",5),qt(y2,"EAGLE_PECK_LUNGE",2),qt(y2,"EAGLE_PECK_HITSTOP",8),qt(y2,"EAGLE_PECK_RECOVER",9),qt(y2,"EAGLE_EMP_WINDUP",2),qt(y2,"EAGLE_EMP_LUNGE",2),qt(y2,"EAGLE_EMP_HITSTOP",3),qt(y2,"EAGLE_EMP_RECOVER",3),qt(y2,"EAGLE_HIT_SCALE",1.6),qt(y2,"EAGLE_PUNCH_AMP",.45),qt(y2,"EAGLE_DMG_LO",.48),qt(y2,"EAGLE_DMG_HI",1.32),qt(y2,"EAGLE_FIXED_POWER",0),qt(y2,"EAGLE_FIXED_POWER_E",1),qt(y2,"EAGLE_STUN_FRAMES",30),qt(y2,"EAGLE_HI_TINT",5635993),qt(y2,"EAGLE_HI_SCALE",1.2);
SHA256 3 hunks, 3 statements
- ...cpt,...upt,...fpt,...gpt,...vpt,...Ipt,...xpt,...Ppt,...Upt}
+ ...ppt,...mpt,...vpt,...bpt,...Ept,...Npt,...Lpt,...Upt,...jpt}
- ...Mgt,...Agt}
+ ...Cgt,...kgt}
- utf8:imt,"utf-8":imt,hex:qgt.base16,latin1:smt,ascii:smt,binary:smt,...qgt}
+ utf8:rmt,"utf-8":rmt,hex:tmt.base16,latin1:omt,ascii:omt,binary:omt,...tmt}
SuiProvider 3 hunks, 3 statements
- namespace:KAt.NameSpaceKeyAptos,addresses:s,methods:[...YAt.AptosMethods],extra:h}
+ namespace:JAt.NameSpaceKeyAptos,addresses:s,methods:[...ZAt.AptosMethods],extra:h}
- namespace:iSt.NameSpaceKeyTON,addresses:o,methods:[...nSt.TONMethods],extra:a,data:{
+ namespace:rSt.NameSpaceKeyTON,addresses:o,methods:[...cSt.TONMethods],extra:a,data:{
- namespace:aSt.NameSpaceKeySui,addresses:i,methods:[...uSt.SuiMethods],extra:s}
+ namespace:fSt.NameSpaceKeySui,addresses:i,methods:[...mSt.SuiMethods],extra:s}
WalletPopup 3 hunks, 3 statements
- ...fD.ERROR_POPUP_LABEL_OPTION,fontSize:24,fontWeight:"bold"}
+ ...wD.ERROR_POPUP_LABEL_OPTION,fontSize:24,fontWeight:"bold"}
- ...fD.ERROR_POPUP_LABEL_OPTION,fontSize:16}
+ ...wD.ERROR_POPUP_LABEL_OPTION,fontSize:16}
- ...fD.ERROR_POPUP_LABEL_OPTION,fontSize:16}
+ ...wD.ERROR_POPUP_LABEL_OPTION,fontSize:16}
StampDayCell 3 hunks, 3 statements
- ),this.bg.tint=16777215,this.bg.eventMode="none",this.addChild(this.bg),this.lblDay=new iL("",16777215,fD.DEFAULT_FONT_OPTION_16),this.lblDay.textColor=t.COLOR_DAY,this.lblDay.textSize=12,this.lblDay.x=8,this.lblDay.y=4,this.lblDay.eventMode="none",this.addChild(this.lblDay),this.reward=new I5,this.reward.scale=.5,this.reward.hideAmount(),this.reward.eventMode="none",this.addChild(this.reward),this.lblAmount=new iL("",16777215,fD.DEFAULT_OUTLINE_FONT_OPTION_18),this.lblAmount.textColor=t.COLOR_AMOUNT,this.lblAmount.textSize=13,this.lblAmount.eventMode="none",this.addChild(this.lblAmount),this.redDot=new He(QA.getTexture("UI_Ekkorr","Icon_RedDot_Red")),this.redDot.visible=!1,this.redDot.eventMode="none",this.addChild(this.redDot),this.stamp=new Ypi(24),this.stamp.x=.5*i,this.stamp.y=.5*s,this.stamp.visible=!1,this.addChild(this.stamp),this.eventMode="static",this.cursor="pointer",this.hitArea=new Ri(0,0,i,s),this.on("pointerup",()=>{
+ ),this.bg.tint=16777215,this.bg.eventMode="none",this.addChild(this.bg),this.lblDay=new hL("",16777215,wD.DEFAULT_FONT_OPTION_16),this.lblDay.textColor=t.COLOR_DAY,this.lblDay.textSize=12,this.lblDay.x=8,this.lblDay.y=4,this.lblDay.eventMode="none",this.addChild(this.lblDay),this.reward=new N5,this.reward.scale=t.ICON_SCALE,this.reward.hideAmount(),this.reward.eventMode="none",this.addChild(this.reward),this.lblAmount=new hL("",16777215,wD.DEFAULT_OUTLINE_FONT_OPTION_18),this.lblAmount.textColor=t.COLOR_AMOUNT,this.lblAmount.textSize=13,this.lblAmount.eventMode="none",this.addChild(this.lblAmount),this.redDot=new $e(tS.getTexture("UI_Ekkorr","Icon_RedDot_Red")),this.redDot.visible=!1,this.redDot.eventMode="none",this.addChild(this.redDot),this.stamp=new ami(24),this.stamp.x=.5*i,this.stamp.y=.5*s,this.stamp.visible=!1,this.addChild(this.stamp),this.eventMode="static",this.cursor="pointer",this.hitArea=new Pi(0,0,i,s),this.on("pointerup",()=>{
- this.bg.tint=n?t.CLAIMED_TINT:h?t.CLAIMABLE_TINT:r?t.MILESTONE_TINT:16777215,this.lblDay.text=String(i.day),this.lblDay.textColor=h||r?t.COLOR_GOLD:t.COLOR_DAY,t.applyReward(this.reward,i.rewardType,i.num),this.reward.hideAmount(),this.reward.x=.5*(s-.5*this.reward.width),this.reward.y=12,this.lblAmount.text="gem"===i.rewardType?String(i.num):`x${
+ this.bg.tint=n?t.CLAIMED_TINT:h?t.CLAIMABLE_TINT:r?t.MILESTONE_TINT:16777215,this.lblDay.text=String(i.day),this.lblDay.textColor=h||r?t.COLOR_GOLD:t.COLOR_DAY,t.applyReward(this.reward,i.rewardType,i.num),this.reward.hideAmount(),this.reward.x=.5*(s-this.reward.width*t.ICON_SCALE),this.reward.y=10,this.lblAmount.text="gem"===i.rewardType?String(i.num):`x${
- Vt(qpi,"StampDayCell"),Kt(qpi,"WIDTH",90),Kt(qpi,"HEIGHT",72),Kt(qpi,"COLOR_DAY",10325880),Kt(qpi,"COLOR_GOLD",16767354),Kt(qpi,"COLOR_AMOUNT",16777215),Kt(qpi,"CLAIMED_TINT",9211020),Kt(qpi,"MILESTONE_TINT",16771512),Kt(qpi,"CLAIMABLE_TINT",16774095),Kt(qpi,"BG_COLOR",6904901),Kt(qpi,"BG_RADIUS",10);
+ zt(cmi,"StampDayCell"),qt(cmi,"WIDTH",114),qt(cmi,"HEIGHT",72),qt(cmi,"ICON_SCALE",.6),qt(cmi,"COLOR_DAY",10325880),qt(cmi,"COLOR_GOLD",16767354),qt(cmi,"COLOR_AMOUNT",16777215),qt(cmi,"CLAIMED_TINT",9211020),qt(cmi,"MILESTONE_TINT",16771512),qt(cmi,"CLAIMABLE_TINT",16774095),qt(cmi,"BG_COLOR",6904901),qt(cmi,"BG_RADIUS",10);
TilingSpriteShader 1 hunks, 2 statements
- ...tp,vertex:{
- ...tp.vertex,header:tp.vertex.header.replace("group(1)","group(2)")}
+ ...sp,vertex:{
+ ...sp.vertex,header:sp.vertex.header.replace("group(1)","group(2)")}
CanvasRenderer 1 hunks, 2 statements
- const Lv=[...Av,aw,lw,Dv,Nv],Gv=[Rw,Um,Ow,gw,Km,iw,Ym,dw],Bv=[Rm,Cw],Uv=[],Fv=[],Hv=[];
- ti.handleByNamedList(Jt.CanvasSystem,Uv),ti.handleByNamedList(Jt.CanvasPipes,Fv),ti.handleByNamedList(Jt.CanvasPipesAdaptor,Hv),ti.add(...Lv,...Gv,...Bv);
+ const Bv=[...Tv,lw,dw,Gv,Dv],Uv=[Pw,Hm,xw,ww,qm,ew,Xm,pw],Fv=[Pm,kw],Hv=[],Wv=[],$v=[];
+ si.handleByNamedList(Zt.CanvasSystem,Hv),si.handleByNamedList(Zt.CanvasPipes,Wv),si.handleByNamedList(Zt.CanvasPipesAdaptor,$v),si.add(...Bv,...Uv,...Fv);
WebGLRenderer 1 hunks, 2 statements
- const jb=[...Av,L_,d_,Jv,v_,qv,Ub,F_,c_,fb,ab,m_,mb,E_,p_],Vb=[...Sv],Kb=[Pm,$b,Hb],zb=[],Yb=[],qb=[];
- ti.handleByNamedList(Jt.WebGLSystem,zb),ti.handleByNamedList(Jt.WebGLPipes,Yb),ti.handleByNamedList(Jt.WebGLPipesAdaptor,qb),ti.add(...jb,...Vb,...Kb);
+ const Kb=[...Tv,B_,p_,Zv,b_,Jv,Hb,W_,u_,gb,lb,v_,vb,S_,m_],zb=[...Cv],qb=[Lm,Vb,$b],Yb=[],Xb=[],Jb=[];
+ si.handleByNamedList(Zt.WebGLSystem,Yb),si.handleByNamedList(Zt.WebGLPipes,Xb),si.handleByNamedList(Zt.WebGLPipesAdaptor,Jb),si.add(...Kb,...zb,...qb);
WebGPURenderer 1 hunks, 2 statements
- const rM=[...Av,My,dy,ly,py,ny,iM,Ly,By,Hy,ky,ay,my,ty],oM=[...Sv,Sy],aM=[Gm,hM,eM],cM=[],lM=[],uM=[];
- ti.handleByNamedList(Jt.WebGPUSystem,cM),ti.handleByNamedList(Jt.WebGPUPipes,lM),ti.handleByNamedList(Jt.WebGPUPipesAdaptor,uM),ti.add(...rM,...oM,...aM);
+ const aM=[...Tv,Ay,py,dy,my,ry,eM,By,Fy,$y,Ry,ly,vy,sy],cM=[...Cv,Cy],lM=[Um,oM,hM],uM=[],dM=[],fM=[];
+ si.handleByNamedList(Zt.WebGPUSystem,uM),si.handleByNamedList(Zt.WebGPUPipes,dM),si.handleByNamedList(Zt.WebGPUPipesAdaptor,fM),si.add(...aM,...cM,...lM);
AladinGenieBoomerang 2 hunks, 2 statements
- const s=this.damagePercent*t.TICK_INTERVAL/t.DAMAGE_FPS;
+ const s=this.damagePercent*t.DMG_MULT*t.TICK_INTERVAL/t.DAMAGE_FPS;
- Vt(AQ,"AladinGenieBoomerang"),Kt(AQ,"RADIUS",68),Kt(AQ,"TINT",16777215),Kt(AQ,"BASE_SCALE",1.05),Kt(AQ,"EVOL_SCALE",1.2),Kt(AQ,"LIFE_FRAMES",180),Kt(AQ,"SPIN_UP_FRAMES",66),Kt(AQ,"TICK_INTERVAL",22),Kt(AQ,"DAMAGE_FPS",60),Kt(AQ,"KNOCK_INIT",20),Kt(AQ,"KNOCK_FRICTION",.78),Kt(AQ,"KNOCK_MIN",.5),Kt(AQ,"MAX_TARGETS_PER_TICK",8);
+ zt(kQ,"AladinGenieBoomerang"),qt(kQ,"RADIUS",68),qt(kQ,"TINT",16777215),qt(kQ,"BASE_SCALE",1.05),qt(kQ,"EVOL_SCALE",1.2),qt(kQ,"LIFE_FRAMES",180),qt(kQ,"SPIN_UP_FRAMES",66),qt(kQ,"TICK_INTERVAL",22),qt(kQ,"DAMAGE_FPS",60),qt(kQ,"DMG_MULT",1.2),qt(kQ,"KNOCK_INIT",20),qt(kQ,"KNOCK_FRICTION",.78),qt(kQ,"KNOCK_MIN",.5),qt(kQ,"MAX_TARGETS_PER_TICK",8);
Ko 2 hunks, 2 statements
- type:get.KEY_HANDSHAKE_CHECK,pubkey:t.getKeyInfo().ecies.otherPubKey}
+ type:bet.KEY_HANDSHAKE_CHECK,pubkey:t.getKeyInfo().ecies.otherPubKey}
- ),t.remote.state.isOriginator&&i.method&&cet(i.method)&&x3.analytics.track("sdk_action_requested",{
+ ),t.remote.state.isOriginator&&i.method&&get(i.method)&&L3.analytics.track("sdk_action_requested",{
Th 2 hunks, 2 statements
- if(cet(t))if(s||i&&"object"==typeof i&&null!==i&&"error"in i){
+ if(get(t))if(s||i&&"object"==typeof i&&null!==i&&"error"in i){
- )),cet(h)&&x3.analytics.track("sdk_action_requested",{
+ )),get(h)&&L3.analytics.track("sdk_action_requested",{
GuildRaidBookVO 2 hunks, 2 statements
- ...Nt.DEFAULT_OPTIONS,...t}
+ ...Dt.DEFAULT_OPTIONS,...t}
- ...Pt.DEFAULT_OPTIONS,...i}
+ ...Lt.DEFAULT_OPTIONS,...i}
BuffStatusPopup 2 hunks, 2 statements
- monstergold:"몬스터 골드 증가",wavecleargold:"웨이브 클리어 골드 증가",startwave:"환생 시작 층 증가",elfsecret:"엘프의 비술 확률",godbless:"신의 축복 확률",medal:"환생 훈장 증가",offlinespeed:"오프라인 속도 증가",offlinemax:"오프라인 최고층 상한 증가",gamespeed:"게임 속도 증가",retreat:"퇴각 기능",humansecret:"인간의 비술",undeadsecret:"언데드의 비술",orcsecret:"오크의 비술",questgoldgain:"퀘스트 골드 획득 증가",questopengold:"퀘스트 오픈 골드 감소",questupgradegold:"퀘스트 업그레이드 골드 감소",questcompletetime:"퀘스트 완료 시간 단축",unitupgradegold:"병사 업그레이드 골드 감소"}
+ monstergold:"몬스터 골드 증가",wavecleargold:"웨이브 클리어 골드 증가",startwave:"환생 시작 층 증가",elfsecret:"엘프의 비술 확률",godbless:"신의 축복 확률",medal:"환생 훈장 증가",offlinespeed:"오프라인 속도 증가",offlinemax:"오프라인 최고층 상한 증가",gamespeed:"게임 속도 증가",retreat:"퇴각 기능",humansecret:"인간의 비술",undeadsecret:"언데드의 비술",orcsecret:"오크의 비술",questgoldgain:"퀘스트 골드 획득 증가",questopengold:"퀘스트 오픈 골드 감소",questupgradegold:"퀘스트 업그레이드 골드 감소",questcompletetime:"퀘스트 완료 시간 단축",unitupgradegold:"병사 업그레이드 골드 감소",pactoflife:"생명의 맹약 (인간·엘프 레벨)",packofwild:"야성의 맹약 (오크·언데드 레벨)"}
- if(n)if(t=[...Ox.getInstance().getContributors(o)],o===Cx.GodBless){
+ if(n)if(t=[...xx.getInstance().getContributors(o)],o===kx.GodBless){
GuildBarrackRowItemRenderer 2 hunks, 2 statements
- ...fD.DEFAULT_OUTLINE_FONT_OPTION_16,fontSize:14}
+ ...wD.DEFAULT_OUTLINE_FONT_OPTION_16,fontSize:14}
- ...fD.DEFAULT_OUTLINE_FONT_OPTION_16,fontSize:13}
+ ...wD.DEFAULT_OUTLINE_FONT_OPTION_16,fontSize:13}
GuildWarBattleReadyPopup 2 hunks, 2 statements
- ...fD.DEFAULT_OUTLINE_FONT_OPTION_16,fontSize:13}
+ ...wD.DEFAULT_OUTLINE_FONT_OPTION_16,fontSize:13}
- ...fD.DEFAULT_OUTLINE_FONT_OPTION_16,fontSize:i}
+ ...wD.DEFAULT_OUTLINE_FONT_OPTION_16,fontSize:i}
GuildWarSquadsPopup 2 hunks, 2 statements
- ...fD.DEFAULT_OUTLINE_FONT_OPTION_16,fontSize:14}
+ ...wD.DEFAULT_OUTLINE_FONT_OPTION_16,fontSize:14}
- ...fD.DEFAULT_OUTLINE_FONT_OPTION_16,fontSize:i}
+ ...wD.DEFAULT_OUTLINE_FONT_OPTION_16,fontSize:i}
GuildWarTierAssignPopup 2 hunks, 2 statements
- const i=[...ID.memberList??[]].sort((t,i)=>i.roleLevel!==t.roleLevel?i.roleLevel-t.roleLevel:(i.wave??0)-(t.wave??0));
+ const i=[...RD.memberList??[]].sort((t,i)=>i.roleLevel!==t.roleLevel?i.roleLevel-t.roleLevel:(i.wave??0)-(t.wave??0));
- ...fD.DEFAULT_OUTLINE_FONT_OPTION_16,fontSize:i}
+ ...wD.DEFAULT_OUTLINE_FONT_OPTION_16,fontSize:i}
ObservablePoint 1 hunks, 1 statements
- var t,i,s,e,n,h,r,o,a,c,l,u,d,f,p,g,m,w,v,_,b,y,M,E,A,S,T,C,I,O,k,x,R,N,P,D,L,G,B,U,F,H,W,$,j,V,K,z,Y,q,X,J,Q,Z,tt,it,st,et,nt,ht,rt,ot,at,ct,lt,ut,dt,ft,pt,gt,mt,wt,vt,_t,bt,yt,Mt,Et,At,St,Tt,Ct,It,Ot,kt,xt,Rt,Nt,Pt,Dt,Lt,Gt,Bt,Ut,Ft,Ht,Wt,$t,jt=Object.defineProperty,Vt=(t,i)=>jt(t,"name",{
+ var t,i,s,e,n,h,r,o,a,c,l,u,d,f,p,g,m,w,v,_,b,y,M,E,A,S,T,C,I,k,O,x,R,N,P,D,L,G,B,U,F,H,W,$,j,V,K,z,q,Y,X,J,Q,Z,tt,it,st,et,nt,ht,rt,ot,at,ct,lt,ut,dt,ft,pt,gt,mt,wt,vt,_t,bt,yt,Mt,Et,At,St,Tt,Ct,It,kt,Ot,xt,Rt,Nt,Pt,Dt,Lt,Gt,Bt,Ut,Ft,Ht,Wt,$t,jt,Vt,Kt=Object.defineProperty,zt=(t,i)=>Kt(t,"name",{
CacheClass 1 hunks, 1 statements
- ...qi.defaultOptions,autoLoad:!0,autoPlay:!0,updateFPS:0,crossorigin:!0,loop:!1,muted:!0,playsinline:!0,preload:!1}
+ ...Ji.defaultOptions,autoLoad:!0,autoPlay:!0,updateFPS:0,crossorigin:!0,loop:!1,muted:!0,playsinline:!0,preload:!1}
ApplicationInitHook 1 hunks, 1 statements
- const i=[...Yr,...this.config.runners??[]];
+ const i=[...Xr,...this.config.runners??[]];
Circle 1 hunks, 1 statements
- ,test:Vt(()=>Promise.resolve(!0),"test"),add:Vt(async t=>[...t,...To],"add"),remove:Vt(async t=>t.filter(t=>!To.includes(t)),"remove")}
+ ,test:zt(()=>Promise.resolve(!0),"test"),add:zt(async t=>[...t,...Io],"add"),remove:zt(async t=>t.filter(t=>!Io.includes(t)),"remove")}
DefaultShader 1 hunks, 1 statements
- name:i,...ac({
+ name:i,...lc({
AssetsClass 1 hunks, 1 statements
- ...pn.defaultOptions,resolution:(null==(e=i.data)?void 0:e.resolution)||xu(t),alphaMode:(null==(n=i.data)?void 0:n.alphaMode)||await dn(),...i.data}
+ ...mn.defaultOptions,resolution:(null==(e=i.data)?void 0:e.resolution)||Nu(t),alphaMode:(null==(n=i.data)?void 0:n.alphaMode)||await pn(),...i.data}
WorkerInstance 1 hunks, 1 statements
- return wd=[...md,...t],wd}
+ return _d=[...vd,...t],_d}
DOMPipe 1 hunks, 1 statements
- return xd=Nd(i),[...xd,...t]}
+ return Nd=Dd(i),[...Nd,...t]}
FilterPipe 1 hunks, 1 statements
- let of=rf;
+ let cf=af;
FilterSystem 1 hunks, 1 statements
- return this._passthroughFilter??(this._passthroughFilter=new of),this._passthroughFilter}
+ return this._passthroughFilter??(this._passthroughFilter=new cf),this._passthroughFilter}
HTMLTextStyle 1 hunks, 1 statements
- ...Ag.defaultDropShadow,...t}
+ ...Tg.defaultDropShadow,...t}
GlUboSystem 1 hunks, 1 statements
- ...x_,"mat2x2<f32>":"\n        data[offset] = v[0];
+ ...N_,"mat2x2<f32>":"\n        data[offset] = v[0];
FrameLoopManager 1 hunks, 1 statements
- __proto__:null,AbstractBitmapFont:$g,AbstractRenderer:Qr,AbstractText:Mp,AbstractTextSystem:Lg,AccessibilitySystem:uh,AlphaMask:ze,AlphaMaskPipe:Km,AnimatedSprite:Wf,Application:po,ApplicationInitHook:ho,Assets:rd,AssetsClass:hd,BLEND_TO_NPM:va,BREAKING_SPACES:Wp,BREAKING_SPACES_SET:$p,BREAK_AFTER_CHARS:Kp,BREAK_AFTER_CHARS_SET:zp,BUFFER_TYPE:Vv,BackgroundLoader:Mo,BackgroundSystem:jw,Batch:Oa,BatchGeometry:za,BatchTextureArray:Ca,BatchableGraphics:Vc,BatchableHTMLText:gm,BatchableMesh:Ff,BatchableSprite:Ig,BatchableText:kg,Batcher:La,BatcherPipe:Um,BigPool:Vs,BindGroup:Qh,BindGroupSystem:ty,BitmapFont:IM,BitmapFontManager:Zg,BlendModePipe:Rw,Bounds:hs,BrowserAdapter:Qe,Buffer:Ba,BufferImageSource:Ji,BufferResource:W_,BufferUsage:Ga,CLEAR:Vr,COLLAPSIBLE_SPACES:jp,COLLAPSIBLE_SPACES_SET:Vp,Cache:wn,CanvasBatchAdaptor:Rm,CanvasColorMaskPipe:Ym,CanvasContextSystem:aw,CanvasGraphicsAdaptor:Cw,CanvasGraphicsContextSystem:Cf,CanvasGraphicsPipe:Of,CanvasLimitsSystem:lw,CanvasNineSliceSpritePipe:vM,CanvasObserver:Wn,CanvasPool:Tp,CanvasPoolClass:Sp,CanvasRenderTargetAdaptor:xv,CanvasRenderTargetSystem:Nv,CanvasRenderer:$v,CanvasRendererTextSystem:Bg,CanvasSource:en,CanvasStencilMaskPipe:iw,CanvasTextGenerator:Mg,CanvasTextMetrics:pg,CanvasTextPipe:Rg,CanvasTextSystem:Fg,CanvasTextureSystem:Dv,CanvasTilingSpritePipe:Zf,Circle:ea,Color:Gs,ColorMask:qe,ColorMaskPipe:Xm,ColorMatrixFilter:ef,CompressedSource:dd,Container:Ge,CustomRenderPipe:dw,DEG_TO_RAD:fi,DOMAdapter:tn,DOMPipe:Dd,DefaultBatcher:Gc,DefaultShader:Pc,DynamicBitmapFont:Vg,Ellipse:ha,EventBoundary:zd,EventEmitter:ci,EventSystem:Xd,EventsTicker:Gd,ExtensionType:Jt,ExtractSystem:zw,FederatedContainer:Jd,FederatedEvent:jn,FederatedMouseEvent:Ud,FederatedPointerEvent:Hd,FederatedWheelEvent:$d,FillGradient:al,FillPattern:pu,Filter:rr,FilterEffect:Js,FilterPipe:cf,FilterSystem:mf,FontStylePromiseCache:Mm,GCManagedHash:Uc,GCSystem:nv,GL_FORMATS:t_,GL_TARGETS:i_,GL_TYPES:s_,GPUTextureGpuData:Zy,GenerateTextureSystem:tv,Geometry:$a,GlBackBufferSystem:d_,GlBatchAdaptor:Pm,GlBuffer:zv,GlBufferSystem:qv,GlColorMaskSystem:p_,GlContextSystem:Jv,GlEncoderSystem:m_,GlGeometryGpuData:o_,GlGeometrySystem:c_,GlGraphicsAdaptor:Hb,GlLimitsSystem:v_,GlMeshAdaptor:$b,GlProgram:kh,GlProgramData:V_,GlRenderTarget:b_,GlRenderTargetAdaptor:B_,GlRenderTargetSystem:F_,GlShaderSystem:ab,GlStateSystem:mb,GlStencilSystem:E_,GlTexture:vb,GlTextureSystem:Ub,GlUboSystem:L_,GlUniformGroupSystem:fb,GlobalResourceRegistry:Hs,GlobalUniformSystem:rv,GpuBatchAdaptor:Gm,GpuBlendModesToPixi:Uy,GpuBufferData:sy,GpuBufferSystem:ny,GpuColorMaskSystem:ay,GpuDeviceSystem:ly,GpuEncoderSystem:dy,GpuGraphicsAdaptor:eM,GpuGraphicsContext:El,GpuLimitsSystem:py,GpuMeshAdapter:hM,GpuMipmapGenerator:Jy,GpuProgram:Vh,GpuRenderTarget:Ry,GpuRenderTargetAdaptor:Py,GpuRenderTargetSystem:Ly,GpuShaderSystem:By,GpuStateSystem:Hy,GpuStencilModesToPixi:y_,GpuStencilSystem:my,GpuTextureSystem:iM,GpuUboSystem:My,GpuUniformBatchPipe:Sy,Graphics:Lf,GraphicsContext:ku,GraphicsContextRenderData:Sl,GraphicsContextSystem:Cl,GraphicsGpuData:Rf,GraphicsPath:Xl,GraphicsPipe:Pf,HTMLText:km,HTMLTextPipe:wm,HTMLTextRenderData:dm,HTMLTextStyle:om,HTMLTextSystem:Im,HelloSystem:fv,ImageSource:hn,InstructionSet:Se,Loader:Do,LoaderParserPriority:Mn,MaskEffectManager:te,MaskEffectManagerClass:Zs,MaskFilter:yf,Matrix:vi,MeshGeometry:Bf,NEWLINES:Fp,NEWLINES_SET:Hp,NEWLINE_MATCH_REGEX:qp,NEWLINE_SPLIT_REGEX:Yp,NOOP:Fi,NineSliceGeometry:bM,NineSliceSprite:TM,NineSliceSpriteGpuData:MM,NineSliceSpritePipe:AM,ObservablePoint:ni,PI_2:ui,PassthroughFilter:of,PipelineSystem:ky,PlaneGeometry:mM,Point:gi,Polygon:aa,Pool:Ws,PoolGroupClass:js,QuadGeometry:lp,RAD_TO_DEG:di,Rectangle:Ri,RenderGroup:xe,RenderGroupPipe:gw,RenderGroupSystem:Ww,RenderTarget:_v,RenderTargetSystem:Ov,RenderTexture:qw,RenderableGCSystem:gv,RendererInitHook:oo,RendererType:Zh,ResizePlugin:co,Resolver:Nn,RoundedRectangle:ua,STENCIL_MODES:_a,SVGParser:lu,SchedulerSystem:cv,Shader:ir,ShaderStage:Uh,ShapePath:Yl,SharedRenderPipes:Sv,SharedSystems:Av,Sprite:He,SpritePipe:Ow,Spritesheet:Gn,State:nr,StencilMask:Je,StencilMaskPipe:ew,SystemRunner:zr,Text:Hg,TextStyle:Ag,Texture:is,TextureGCSystem:wv,TextureMatrix:ts,TexturePool:Oe,TexturePoolClass:Ie,TextureSource:qi,TextureStyle:zi,Ticker:un,TickerListener:an,TickerPlugin:uo,TilingSprite:bp,TilingSpriteGpuData:mp,TilingSpritePipe:vp,TilingSpriteShader:ap,Transform:Vf,UNIFORM_TO_ARRAY_SETTERS:lb,UNIFORM_TO_SINGLE_SETTERS:cb,UNIFORM_TYPES_MAP:zh,UNIFORM_TYPES_VALUES:Kh,UPDATE_BLEND:2,UPDATE_COLOR:1,UPDATE_PRIORITY:rn,UPDATE_VISIBLE:4,UboBatch:ry,UboSystem:S_,UniformGroup:Xh,VERSION:eo,VideoSource:pn,ViewContainer:Ue,ViewSystem:Ev,ViewableBuffer:ma,WGSL_ALIGN_SIZE_DATA:wy,WGSL_TO_STD40_SIZE:T_,WebGLRenderer:Jb,WebGPURenderer:fM,WorkerManager:$u,accessibilityTarget:dh,addBits:Ya,addMaskBounds:$e,addMaskLocalBounds:je,addProgramDefines:bh,appendSVGPath:cu,applyMatrix:dp,applyStyleParams:Nb,assignWithIgnore:Re,autoDetectRenderer:so,bgr2rgb:fe,bitmapFontCachePlugin:_o,bitmapFontTextParser:go,bitmapFontXMLParser:mo,bitmapFontXMLStringParser:wo,blockDataMap:$y,boundsPool:ne,browserExt:ii,buildAdaptiveBezier:Ol,buildAdaptiveQuadratic:Rl,buildArc:Dl,buildArcTo:Ll,buildArcToSvg:$l,buildCircle:Kc,buildContextBatches:vl,buildEllipse:zc,buildLine:Zc,buildPixelLine:tl,buildPolygon:el,buildRectangle:nl,buildRoundedRectangle:Yc,buildSimpleUvs:Hc,buildTriangle:hl,buildUvs:Fc,cacheAsTextureMixin:Ks,cacheTextureArray:Eo,calculatePathArea:au,calculateProjection:Tv,canUseNewCanvasBlendModes:zf,canvasUtils:Yf,checkChildrenDidChange:we,checkDataUrl:Lo,checkExtension:Go,checkForNestedPattern:ru,checkMaxIfStatementsInShader:Ea,childrenHelperMixin:Ys,cleanArray:sv,cleanHash:iv,clearList:Nw,closePointEps:qc,collapseNewlines:ig,collapseSpaces:tg,collectRenderablesMixin:qs,color32BitToUniform:kf,colorBit:bc,colorBitGl:yc,colorMatrixFilterFrag:Zd,colorMatrixFilterWgsl:tf,compareModeToGlCompare:Rb,compileHighShader:oc,compileHighShaderGl:ac,compileHighShaderGlProgram:_c,compileHighShaderGpuProgram:vc,compileHooks:Xa,compileInputs:Qa,compileOutputs:sc,compileShader:K_,convertToList:gn,copySearchParams:Dn,createGlUploadCubeTextureResource:Eb,createGpuUploadCubeTextureResource:zy,createIdFromString:gh,createStringVariations:kn,createTexture:Ru,createUboElementsSTD40:C_,createUboElementsWGSL:vy,createUboSyncFunction:O_,createUboSyncFunctionSTD40:P_,createUboSyncFunctionWGSL:by,crossOrigin:Ju,cullingMixin:Bs,curveEps:1e-4,defaultFilterVert:Qd,defaultValue:Y_,definedProps:$i,deprecation:Ui,detectAvif:So,detectCompressed:Rd,detectDefaults:Co,detectMp4:ko,detectOgv:xo,detectVideoAlphaMode:dn,detectWebm:Ro,detectWebp:No,determineCrossOrigin:Zu,earcut:jr,effectsMixin:ie,ensureAttributes:Qv,ensureIsBuffer:Ua,ensurePrecision:yh,ensureTextOptions:Ep,executeInstructions:fw,extensions:ti,extractAttributesFromGlProgram:tb,extractAttributesFromGpuProgram:Gh,extractFontFamilies:_m,extractStructAndGroups:Bh,extractSubpaths:ou,extractSvgUrlId:su,fastCopy:wa,findMixin:se,fontStringFromTextStyle:mg,fragmentGPUTemplate:fc,fragmentGlTemplate:gc,generateArraySyncSTD40:N_,generateArraySyncWGSL:_y,generateGpuLayoutGroups:Fh,generateLayoutHash:Hh,generateProgram:hb,generateShaderSyncCode:$_,generateTextureBatchBit:Sc,generateTextureBatchBitGl:Ic,generateTextureMatrix:pl,generateUniformsSync:ub,getAdjustedBlendModeBlend:ba,getAttributeInfoFromFormat:Rh,getBatchSamplersUniformGroup:Rc,getBitmapTextLayout:Kg,getCanvasBoundingBox:Rp,getCanvasFillStyle:vg,getCanvasTexture:yv,getCharacterGroups:ng,getDefaultUniformValue:Yh,getFastGlobalBoundsMixin:re,getFontCss:Em,getFontFamilyName:jo,getGeometryBounds:Fa,getGlTypeFromFormat:n_,getGlobalBounds:oe,getGlobalMixin:pe,getGlobalRenderableBounds:uf,getLocalBounds:ge,getMaxFragmentPrecision:_h,getMaxMiterRatio:Tu,getMaxTexturesPerBatch:Sa,getOrientationOfPoints:Xc,getPo2TextureFromSource:Pg,getResolutionOfUrl:xu,getSVGUrl:Am,getSupportedCompressedTextureFormats:gd,getSupportedGPUCompressedTextureFormats:pd,getSupportedGlCompressedTextureFormats:fd,getSupportedTextureFormats:vd,getTemporaryCanvasFromImage:Sm,getTestContext:vh,getTextureBatchBindGroup:fa,getUboData:ib,getUniformData:sb,getUrlExtension:Pn,glUploadBufferImageResource:_b,glUploadCompressedTextureResource:yb,glUploadImageResource:Ab,glUploadVideoResource:Ib,globalUniformsBit:mc,globalUniformsBitGl:wc,gpuUploadBufferImageResource:Wy,gpuUploadCompressedTextureResource:Vy,gpuUploadImageResource:Yy,gpuUploadVideoResource:qy,groupD8:Oi,hasTagMarkup:Gp,hasTagStyles:Lp,injectBits:ec,insertVersion:Mh,isBreakAfterChar:Zp,isBreakingSpace:Jp,isCollapsibleSpace:Qp,isMobile:ch,isNewline:Xp,isPow2:Wi,isRenderingToScreen:Cv,isSafari:vm,isSingleItem:xn,isWebGLSupported:Zr,isWebGPUSupported:to,ktxTranscoderUrls:Md,loadBitmapFont:bo,loadEnvironmentExtensions:ar,loadFontAsBase64:bm,loadFontCSS:ym,loadImageBitmap:Ku,loadJson:Bo,loadKTX2:Id,loadKTX2onWorker:Cd,loadSVGImage:Tm,loadSvg:Nu,loadTextures:zu,loadTxt:Uo,loadVideoTextures:id,loadWebFont:zo,localUniformBit:tp,localUniformBitGl:sp,localUniformBitGroup2:ip,logProgramError:nb,mapCanvasBlendModesToPixi:hw,mapFormatToGlFormat:Pb,mapFormatToGlInternalFormat:Db,mapFormatToGlType:Lb,mapGlToVertexFormat:Z_,mapType:Q_,mapViewDimensionToGlTarget:Gb,mapWebGLBlendModesToPixi:pb,maskFrag:wf,maskVert:vf,maskWgsl:_f,matrixPool:ee,measureHtmlText:fm,measureMixin:_e,measureTaggedText:rg,mipmapScaleModeToGlFilter:kb,multiplyColors:de,multiplyHexColors:le,nextPow2:Hi,nonCompressedFormats:md,normalizeExtensionPriority:Zt,onRenderMixin:be,parseSVGDefinitions:Zl,parseSVGFloatAttribute:Ql,parseSVGPath:ia,parseSVGStyle:nu,parseTaggedText:Up,passthroughFrag:nf,passthroughWgsl:hf,path:In,preloadVideo:Qu,removeItems:zs,removeStructAndGroupDuplicates:Wh,resolveCharacters:Xg,resolveCompressedTextureUrl:kd,resolveJsonUrl:ed,resolveTextureUrl:sd,resourceToTexture:bn,roundPixelsBit:Oc,roundPixelsBitGl:kc,roundedShapeArc:jl,roundedShapeQuadraticCurve:Vl,sayHello:uv,scaleModeToGlFilter:Ob,setPositions:up,setProgramName:Sh,setUvs:fp,shapeBuilders:gl,sortMixin:ye,spritesheetAsset:Fn,squaredDistanceToLineSegment:ra,stripVersion:Th,styleAttributes:eu,testImageFormat:Ao,testVideoFormat:Oo,textStyleToCSS:tm,textureBit:Fm,textureBitGl:Hm,textureFrom:yn,tilingBit:ep,tilingBitGl:np,toFillStyle:Au,toLocalGlobalMixin:Ee,toStrokeStyle:Su,tokenize:eg,tokenizeTaggedRuns:ag,transformVertices:Wc,triangulateWithHoles:il,trimRight:sg,uboSyncFunctionsSTD40:x_,uboSyncFunctionsWGSL:R_,uid:Pi,uniformParsers:I_,unsafeEvalSupported:lr,updateQuadBounds:ss,updateRenderGroupTransform:Lw,updateRenderGroupTransforms:Dw,updateTextBounds:Tg,updateTransformAndChildren:Gw,updateTransformBackwards:ce,v8_0_0:Li,v8_3_4:Gi,validFormats:Od,validateRenderables:Uw,vertexGPUTemplate:dc,vertexGlTemplate:pc,warn:Fs,webworkerExt:si,wordWrap:ug,wordWrapTaggedLines:og,wrapModeToGlAddress:xb}
+ __proto__:null,AbstractBitmapFont:Vg,AbstractRenderer:to,AbstractText:Ap,AbstractTextSystem:Bg,AccessibilitySystem:fh,AlphaMask:Ye,AlphaMaskPipe:qm,AnimatedSprite:jf,Application:mo,ApplicationInitHook:oo,Assets:ad,AssetsClass:od,BLEND_TO_NPM:ba,BREAKING_SPACES:jp,BREAKING_SPACES_SET:Vp,BREAK_AFTER_CHARS:qp,BREAK_AFTER_CHARS_SET:Yp,BUFFER_TYPE:zv,BackgroundLoader:Ao,BackgroundSystem:Kw,Batch:xa,BatchGeometry:Ya,BatchTextureArray:ka,BatchableGraphics:zc,BatchableHTMLText:wm,BatchableMesh:Wf,BatchableSprite:Og,BatchableText:Rg,Batcher:Ba,BatcherPipe:Hm,BigPool:zs,BindGroup:tr,BindGroupSystem:sy,BitmapFont:OM,BitmapFontManager:im,BlendModePipe:Pw,Bounds:os,BrowserAdapter:tn,Buffer:Fa,BufferImageSource:Zi,BufferResource:j_,BufferUsage:Ua,CLEAR:zr,COLLAPSIBLE_SPACES:Kp,COLLAPSIBLE_SPACES_SET:zp,Cache:_n,CanvasBatchAdaptor:Pm,CanvasColorMaskPipe:Xm,CanvasContextSystem:lw,CanvasGraphicsAdaptor:kw,CanvasGraphicsContextSystem:kf,CanvasGraphicsPipe:xf,CanvasLimitsSystem:dw,CanvasNineSliceSpritePipe:bM,CanvasObserver:jn,CanvasPool:Ip,CanvasPoolClass:Cp,CanvasRenderTargetAdaptor:Nv,CanvasRenderTargetSystem:Dv,CanvasRenderer:Vv,CanvasRendererTextSystem:Fg,CanvasSource:hn,CanvasStencilMaskPipe:ew,CanvasTextGenerator:Ag,CanvasTextMetrics:mg,CanvasTextPipe:Pg,CanvasTextSystem:Wg,CanvasTextureSystem:Gv,CanvasTilingSpritePipe:ip,Circle:ha,Color:Us,ColorMask:Je,ColorMaskPipe:Qm,ColorMatrixFilter:hf,CompressedSource:pd,Container:Ue,CustomRenderPipe:pw,DEG_TO_RAD:gi,DOMAdapter:en,DOMPipe:Gd,DefaultBatcher:Uc,DefaultShader:Lc,DynamicBitmapFont:zg,Ellipse:oa,EventBoundary:Yd,EventEmitter:ui,EventSystem:Qd,EventsTicker:Ud,ExtensionType:Zt,ExtractSystem:Yw,FederatedContainer:Zd,FederatedEvent:Kn,FederatedMouseEvent:Hd,FederatedPointerEvent:$d,FederatedWheelEvent:Vd,FillGradient:ll,FillPattern:mu,Filter:ar,FilterEffect:Zs,FilterPipe:uf,FilterSystem:vf,FontStylePromiseCache:Am,GCManagedHash:Hc,GCSystem:rv,GL_FORMATS:s_,GL_TARGETS:e_,GL_TYPES:n_,GPUTextureGpuData:iM,GenerateTextureSystem:sv,Geometry:Va,GlBackBufferSystem:p_,GlBatchAdaptor:Lm,GlBuffer:Yv,GlBufferSystem:Jv,GlColorMaskSystem:m_,GlContextSystem:Zv,GlEncoderSystem:v_,GlGeometryGpuData:c_,GlGeometrySystem:u_,GlGraphicsAdaptor:$b,GlLimitsSystem:b_,GlMeshAdaptor:Vb,GlProgram:Rh,GlProgramData:z_,GlRenderTarget:M_,GlRenderTargetAdaptor:F_,GlRenderTargetSystem:W_,GlShaderSystem:lb,GlStateSystem:vb,GlStencilSystem:S_,GlTexture:bb,GlTextureSystem:Hb,GlUboSystem:B_,GlUniformGroupSystem:gb,GlobalResourceRegistry:$s,GlobalUniformSystem:av,GpuBatchAdaptor:Um,GpuBlendModesToPixi:Hy,GpuBufferData:ny,GpuBufferSystem:ry,GpuColorMaskSystem:ly,GpuDeviceSystem:dy,GpuEncoderSystem:py,GpuGraphicsAdaptor:hM,GpuGraphicsContext:Sl,GpuLimitsSystem:my,GpuMeshAdapter:oM,GpuMipmapGenerator:Zy,GpuProgram:zh,GpuRenderTarget:Py,GpuRenderTargetAdaptor:Ly,GpuRenderTargetSystem:By,GpuShaderSystem:Fy,GpuStateSystem:$y,GpuStencilModesToPixi:E_,GpuStencilSystem:vy,GpuTextureSystem:eM,GpuUboSystem:Ay,GpuUniformBatchPipe:Cy,Graphics:Bf,GraphicsContext:Ru,GraphicsContextRenderData:Cl,GraphicsContextSystem:kl,GraphicsGpuData:Pf,GraphicsPath:Ql,GraphicsPipe:Lf,HTMLText:Rm,HTMLTextPipe:_m,HTMLTextRenderData:pm,HTMLTextStyle:cm,HTMLTextSystem:Om,HelloSystem:gv,ImageSource:on,InstructionSet:Ce,Loader:Go,LoaderParserPriority:An,MaskEffectManager:se,MaskEffectManagerClass:ie,MaskFilter:Ef,Matrix:bi,MeshGeometry:Ff,NEWLINES:Wp,NEWLINES_SET:$p,NEWLINE_MATCH_REGEX:Jp,NEWLINE_SPLIT_REGEX:Xp,NOOP:Wi,NineSliceGeometry:MM,NineSliceSprite:IM,NineSliceSpriteGpuData:AM,NineSliceSpritePipe:TM,ObservablePoint:ri,PI_2:fi,PassthroughFilter:cf,PipelineSystem:Ry,PlaneGeometry:vM,Point:wi,Polygon:la,Pool:js,PoolGroupClass:Ks,QuadGeometry:dp,RAD_TO_DEG:pi,Rectangle:Pi,RenderGroup:Ne,RenderGroupPipe:ww,RenderGroupSystem:jw,RenderTarget:yv,RenderTargetSystem:xv,RenderTexture:Jw,RenderableGCSystem:wv,RendererInitHook:co,RendererType:ir,ResizePlugin:uo,Resolver:Dn,RoundedRectangle:fa,STENCIL_MODES:ya,SVGParser:du,SchedulerSystem:uv,Shader:er,ShaderStage:Hh,ShapePath:Xl,SharedRenderPipes:Cv,SharedSystems:Tv,Sprite:$e,SpritePipe:xw,Spritesheet:Un,State:rr,StencilMask:Ze,StencilMaskPipe:hw,SystemRunner:Yr,Text:$g,TextStyle:Tg,Texture:es,TextureGCSystem:_v,TextureMatrix:ss,TexturePool:xe,TexturePoolClass:Oe,TextureSource:Ji,TextureStyle:Yi,Ticker:fn,TickerListener:ln,TickerPlugin:po,TilingSprite:Mp,TilingSpriteGpuData:vp,TilingSpritePipe:bp,TilingSpriteShader:lp,Transform:zf,UNIFORM_TO_ARRAY_SETTERS:db,UNIFORM_TO_SINGLE_SETTERS:ub,UNIFORM_TYPES_MAP:Yh,UNIFORM_TYPES_VALUES:qh,UPDATE_BLEND:2,UPDATE_COLOR:1,UPDATE_PRIORITY:an,UPDATE_VISIBLE:4,UboBatch:ay,UboSystem:C_,UniformGroup:Qh,VERSION:ho,VideoSource:mn,ViewContainer:He,ViewSystem:Sv,ViewableBuffer:va,WGSL_ALIGN_SIZE_DATA:_y,WGSL_TO_STD40_SIZE:I_,WebGLRenderer:Zb,WebGPURenderer:gM,WorkerManager:Vu,accessibilityTarget:ph,addBits:Xa,addMaskBounds:Ve,addMaskLocalBounds:Ke,addProgramDefines:Mh,appendSVGPath:uu,applyMatrix:pp,applyStyleParams:Db,assignWithIgnore:Pe,autoDetectRenderer:no,bgr2rgb:ge,bitmapFontCachePlugin:yo,bitmapFontTextParser:wo,bitmapFontXMLParser:vo,bitmapFontXMLStringParser:_o,blockDataMap:Vy,boundsPool:re,browserExt:ei,buildAdaptiveBezier:xl,buildAdaptiveQuadratic:Pl,buildArc:Gl,buildArcTo:Bl,buildArcToSvg:Vl,buildCircle:qc,buildContextBatches:bl,buildEllipse:Yc,buildLine:il,buildPixelLine:sl,buildPolygon:hl,buildRectangle:rl,buildRoundedRectangle:Xc,buildSimpleUvs:$c,buildTriangle:ol,buildUvs:Wc,cacheAsTextureMixin:qs,cacheTextureArray:So,calculatePathArea:lu,calculateProjection:Iv,canUseNewCanvasBlendModes:Yf,canvasUtils:Xf,checkChildrenDidChange:_e,checkDataUrl:Bo,checkExtension:Uo,checkForNestedPattern:au,checkMaxIfStatementsInShader:Sa,childrenHelperMixin:Xs,cleanArray:nv,cleanHash:ev,clearList:Dw,closePointEps:Jc,collapseNewlines:eg,collapseSpaces:sg,collectRenderablesMixin:Js,color32BitToUniform:Rf,colorBit:Mc,colorBitGl:Ec,colorMatrixFilterFrag:sf,colorMatrixFilterWgsl:ef,compareModeToGlCompare:Pb,compileHighShader:cc,compileHighShaderGl:lc,compileHighShaderGlProgram:yc,compileHighShaderGpuProgram:bc,compileHooks:Qa,compileInputs:tc,compileOutputs:nc,compileShader:q_,convertToList:wn,copySearchParams:Gn,createGlUploadCubeTextureResource:Sb,createGpuUploadCubeTextureResource:Yy,createIdFromString:wh,createStringVariations:Rn,createTexture:Pu,createUboElementsSTD40:k_,createUboElementsWGSL:by,createUboSyncFunction:x_,createUboSyncFunctionSTD40:L_,createUboSyncFunctionWGSL:My,crossOrigin:Zu,cullingMixin:Fs,curveEps:1e-4,defaultFilterVert:tf,defaultValue:X_,definedProps:Vi,deprecation:Hi,detectAvif:Co,detectCompressed:Pd,detectDefaults:ko,detectMp4:Ro,detectOgv:No,detectVideoAlphaMode:pn,detectWebm:Po,detectWebp:Do,determineCrossOrigin:id,earcut:Kr,effectsMixin:ee,ensureAttributes:t_,ensureIsBuffer:Ha,ensurePrecision:Eh,ensureTextOptions:Sp,executeInstructions:gw,extensions:si,extractAttributesFromGlProgram:sb,extractAttributesFromGpuProgram:Uh,extractFontFamilies:ym,extractStructAndGroups:Fh,extractSubpaths:cu,extractSvgUrlId:nu,fastCopy:_a,findMixin:ne,fontStringFromTextStyle:vg,fragmentGPUTemplate:gc,fragmentGlTemplate:wc,generateArraySyncSTD40:D_,generateArraySyncWGSL:yy,generateGpuLayoutGroups:Wh,generateLayoutHash:$h,generateProgram:ob,generateShaderSyncCode:V_,generateTextureBatchBit:Cc,generateTextureBatchBitGl:Oc,generateTextureMatrix:ml,generateUniformsSync:fb,getAdjustedBlendModeBlend:Ma,getAttributeInfoFromFormat:Ph,getBatchSamplersUniformGroup:Pc,getBitmapTextLayout:qg,getCanvasBoundingBox:Pp,getCanvasFillStyle:bg,getCanvasTexture:Ev,getCharacterGroups:rg,getDefaultUniformValue:Xh,getFastGlobalBoundsMixin:ae,getFontCss:Sm,getFontFamilyName:Ko,getGeometryBounds:Wa,getGlTypeFromFormat:r_,getGlobalBounds:ce,getGlobalMixin:me,getGlobalRenderableBounds:ff,getLocalBounds:we,getMaxFragmentPrecision:yh,getMaxMiterRatio:Iu,getMaxTexturesPerBatch:Ca,getOrientationOfPoints:Qc,getPo2TextureFromSource:Lg,getResolutionOfUrl:Nu,getSVGUrl:Tm,getSupportedCompressedTextureFormats:wd,getSupportedGPUCompressedTextureFormats:md,getSupportedGlCompressedTextureFormats:gd,getSupportedTextureFormats:bd,getTemporaryCanvasFromImage:Cm,getTestContext:bh,getTextureBatchBindGroup:ga,getUboData:eb,getUniformData:nb,getUrlExtension:Ln,glUploadBufferImageResource:yb,glUploadCompressedTextureResource:Eb,glUploadImageResource:Tb,glUploadVideoResource:Ob,globalUniformsBit:vc,globalUniformsBitGl:_c,gpuUploadBufferImageResource:jy,gpuUploadCompressedTextureResource:zy,gpuUploadImageResource:Xy,gpuUploadVideoResource:Jy,groupD8:xi,hasTagMarkup:Up,hasTagStyles:Bp,injectBits:hc,insertVersion:Ah,isBreakAfterChar:ig,isBreakingSpace:Zp,isCollapsibleSpace:tg,isMobile:uh,isNewline:Qp,isPow2:ji,isRenderingToScreen:kv,isSafari:bm,isSingleItem:Nn,isWebGLSupported:io,isWebGPUSupported:so,ktxTranscoderUrls:Ad,loadBitmapFont:Mo,loadEnvironmentExtensions:lr,loadFontAsBase64:Mm,loadFontCSS:Em,loadImageBitmap:qu,loadJson:Fo,loadKTX2:Od,loadKTX2onWorker:kd,loadSVGImage:Im,loadSvg:Du,loadTextures:Yu,loadTxt:Ho,loadVideoTextures:ed,loadWebFont:Yo,localUniformBit:sp,localUniformBitGl:np,localUniformBitGroup2:ep,logProgramError:rb,mapCanvasBlendModesToPixi:ow,mapFormatToGlFormat:Lb,mapFormatToGlInternalFormat:Gb,mapFormatToGlType:Bb,mapGlToVertexFormat:ib,mapType:tb,mapViewDimensionToGlTarget:Ub,mapWebGLBlendModesToPixi:mb,maskFrag:_f,maskVert:bf,maskWgsl:yf,matrixPool:he,measureHtmlText:gm,measureMixin:ye,measureTaggedText:ag,mipmapScaleModeToGlFilter:Rb,multiplyColors:pe,multiplyHexColors:de,nextPow2:$i,nonCompressedFormats:vd,normalizeExtensionPriority:ii,onRenderMixin:Me,parseSVGDefinitions:iu,parseSVGFloatAttribute:tu,parseSVGPath:ea,parseSVGStyle:ru,parseTaggedText:Hp,passthroughFrag:rf,passthroughWgsl:of,path:On,preloadVideo:td,removeItems:Ys,removeStructAndGroupDuplicates:jh,resolveCharacters:Qg,resolveCompressedTextureUrl:Rd,resolveJsonUrl:hd,resolveTextureUrl:nd,resourceToTexture:Mn,roundPixelsBit:xc,roundPixelsBitGl:Rc,roundedShapeArc:Kl,roundedShapeQuadraticCurve:zl,sayHello:fv,scaleModeToGlFilter:xb,setPositions:fp,setProgramName:Ch,setUvs:gp,shapeBuilders:wl,sortMixin:Ee,spritesheetAsset:Wn,squaredDistanceToLineSegment:aa,stripVersion:Ih,styleAttributes:hu,testImageFormat:To,testVideoFormat:xo,textStyleToCSS:sm,textureBit:Wm,textureBitGl:$m,textureFrom:En,tilingBit:hp,tilingBitGl:rp,toFillStyle:Tu,toLocalGlobalMixin:Se,toStrokeStyle:Cu,tokenize:hg,tokenizeTaggedRuns:lg,transformVertices:jc,triangulateWithHoles:el,trimRight:ng,uboSyncFunctionsSTD40:N_,uboSyncFunctionsWGSL:P_,uid:Li,uniformParsers:O_,unsafeEvalSupported:dr,updateQuadBounds:ns,updateRenderGroupTransform:Bw,updateRenderGroupTransforms:Gw,updateTextBounds:Ig,updateTransformAndChildren:Uw,updateTransformBackwards:ue,v8_0_0:Bi,v8_3_4:Ui,validFormats:xd,validateRenderables:Hw,vertexGPUTemplate:pc,vertexGlTemplate:mc,warn:Ws,webworkerExt:ni,wordWrap:fg,wordWrapTaggedLines:cg,wrapModeToGlAddress:Nb}
VersionManager 1 hunks, 1 statements
- Vt(KA,"VersionManager"),Kt(KA,"gameId","ef2"),Kt(KA,"appVersion","1.13.46");
+ zt(qA,"VersionManager"),qt(qA,"gameId","ef2"),qt(qA,"appVersion","1.13.66");
HeroUniqueSkillDataManager 1 hunks, 1 statements
- var Cx=(t=>(t.MonsterGold="monstergold",t.WaveClearGold="wavecleargold",t.StartWave="startwave",t.ElfSecret="elfsecret",t.GodBless="godbless",t.MedalBuff="medal",t.OfflineSpeed="offlinespeed",t.OfflineMax="offlinemax",t.GameSpeed="gamespeed",t.WaveCall="wavecall",t.DoubleWave="doublewave",t.MaxLv="maxlv",t.PlusLv="pluslv",t.CastleLevelUp="castlelevelup",t.QuestGold="questgoldgain",t.Core="core",t.Retreat="retreat",t.HumanSecret="humansecret",t.UndeadSecret="undeadsecret",t.OrcSecret="orcsecret",t))(Cx||{
+ var kx=(t=>(t.MonsterGold="monstergold",t.WaveClearGold="wavecleargold",t.StartWave="startwave",t.ElfSecret="elfsecret",t.GodBless="godbless",t.MedalBuff="medal",t.OfflineSpeed="offlinespeed",t.OfflineMax="offlinemax",t.GameSpeed="gamespeed",t.WaveCall="wavecall",t.DoubleWave="doublewave",t.CallOfDawn="callofdawn",t.MaxLv="maxlv",t.PlusLv="pluslv",t.PactOfLife="pactoflife",t.PackOfWild="packofwild",t.CastleLevelUp="castlelevelup",t.QuestGold="questgoldgain",t.Core="core",t.Retreat="retreat",t.HumanSecret="humansecret",t.HumanSecretGoldUp="humansecretgoldup",t.UndeadSecret="undeadsecret",t.OrcSecret="orcsecret",t))(kx||{
TreasureBuffAccessor 1 hunks, 1 statements
- ),kR=(t=>(t.MonsterGold="monstergold",t.WaveClearGold="wavecleargold",t.QuestGoldGain="questgoldgain",t.QuestOpenGold="questopengold",t.QuestUpgradeGold="questupgradegold",t.UnitUpgradeGold="unitupgradegold",t.QuestCompleteTime="questcompletetime",t.GameSpeed="gamespeed",t.OfflineSpeed="offlinespeed",t.OfflineMax="offlinemax",t.ElfSecret="elfsecret",t.GodBless="godbless",t.Retreat="retreat",t.HumanSecret="humansecret",t.UndeadSecret="undeadsecret",t.OrcSecret="orcsecret",t.WaveCall="wavecall",t.DoubleWave="doublewave",t.MaxLv="maxlv",t.PlusLv="pluslv",t.CastleLevelUp="castlelevelup",t.Medal="medal",t.Core="core",t.StartWave="startwave",t.QuestMaxLv="questmaxlv",t))(kR||{
+ ),RR=(t=>(t.MonsterGold="monstergold",t.WaveClearGold="wavecleargold",t.QuestGoldGain="questgoldgain",t.QuestOpenGold="questopengold",t.QuestUpgradeGold="questupgradegold",t.UnitUpgradeGold="unitupgradegold",t.QuestCompleteTime="questcompletetime",t.GameSpeed="gamespeed",t.OfflineSpeed="offlinespeed",t.OfflineMax="offlinemax",t.ElfSecret="elfsecret",t.GodBless="godbless",t.Retreat="retreat",t.HumanSecret="humansecret",t.UndeadSecret="undeadsecret",t.OrcSecret="orcsecret",t.WaveCall="wavecall",t.DoubleWave="doublewave",t.MaxLv="maxlv",t.PlusLv="pluslv",t.PactOfLife="pactoflife",t.PackOfWild="packofwild",t.CastleLevelUp="castlelevelup",t.Medal="medal",t.Core="core",t.StartWave="startwave",t.QuestMaxLv="questmaxlv",t))(RR||{
DataManager 1 hunks, 1 statements
- Kt(this,"system"),Kt(this,"account"),Kt(this,"user"),Kt(this,"mail"),Kt(this,"book"),Kt(this,"castle"),Kt(this,"hero"),Kt(this,"quest"),Kt(this,"waveCall"),Kt(this,"referral"),Kt(this,"dailyRanking"),Kt(this,"payback"),Kt(this,"pvp"),Kt(this,"dungeon"),Kt(this,"treasure"),Kt(this,"achievement"),Kt(this,"shop"),Kt(this,"ads"),Kt(this,"notice"),Kt(this,"notice2"),Kt(this,"attendance"),Kt(this,"stampCalendar"),Kt(this,"pass"),Kt(this,"tower"),Kt(this,"missionGuide"),Kt(this,"promotion"),Kt(this,"guild"),Kt(this,"guildWar"),Kt(this,"guildRaid"),Kt(this,"rune"),Kt(this,"guildDefense"),Kt(this,"guildBarracks"),Kt(this,"battle"),Kt(this,"pet"),Kt(this,"petShop"),Kt(this,"spirit"),Kt(this,"heroPresent"),Kt(this,"vip"),Kt(this,"miniGame"),Kt(this,"assistant"),Kt(this,"subscription"),Kt(this,"soulRest"),Kt(this,"translate"),Kt(this,"dailyQuest"),Kt(this,"lineNext"),Kt(this,"mine"),Kt(this,"cardEvent"),this.system=new LP,this.account=new bN,this.user=new WP,this.mail=new pP,this.book=new WN,this.castle=new jN,this.hero=new dP,this.quest=new kP,this.waveCall=new sD,this.dailyRanking=new KN,this.referral=new RP,this.payback=new AP,this.pvp=new IP,this.dungeon=new YN,this.treasure=new FP,this.achievement=new MN,this.shop=new PP,this.ads=new AN,this.notice=new vP,this.notice2=new bP,this.attendance=new LN,this.stampCalendar=new BN,this.pass=new MP,this.tower=new BP,this.missionGuide=new mP,this.promotion=new TP,this.guild=new XN,this.guildWar=new sP,this.guildRaid=new nP,this.rune=new rP,this.guildDefense=new aP,this.guildBarracks=new lP,this.battle=new FN,this.pet=new KP,this.petShop=new YP,this.spirit=new QP,this.heroPresent=new jP,this.vip=new tD,this.miniGame=new XP,this.assistant=new TN,this.subscription=new PN,this.soulRest=new IN,this.translate=new kN,this.dailyQuest=new RN,this.lineNext=new nD,this.mine=new rD,this.cardEvent=new aD}
+ qt(this,"system"),qt(this,"account"),qt(this,"user"),qt(this,"mail"),qt(this,"book"),qt(this,"castle"),qt(this,"hero"),qt(this,"quest"),qt(this,"waveCall"),qt(this,"timeShift"),qt(this,"referral"),qt(this,"dailyRanking"),qt(this,"payback"),qt(this,"pvp"),qt(this,"dungeon"),qt(this,"treasure"),qt(this,"achievement"),qt(this,"shop"),qt(this,"ads"),qt(this,"notice"),qt(this,"notice2"),qt(this,"attendance"),qt(this,"stampCalendar"),qt(this,"pass"),qt(this,"tower"),qt(this,"missionGuide"),qt(this,"promotion"),qt(this,"guild"),qt(this,"guildWar"),qt(this,"guildRaid"),qt(this,"rune"),qt(this,"guildDefense"),qt(this,"guildBarracks"),qt(this,"battle"),qt(this,"pet"),qt(this,"petShop"),qt(this,"spirit"),qt(this,"heroPresent"),qt(this,"vip"),qt(this,"miniGame"),qt(this,"assistant"),qt(this,"subscription"),qt(this,"soulRest"),qt(this,"translate"),qt(this,"dailyQuest"),qt(this,"lineNext"),qt(this,"mine"),qt(this,"cardEvent"),this.system=new BP,this.account=new MN,this.user=new jP,this.mail=new mP,this.book=new jN,this.castle=new KN,this.hero=new pP,this.quest=new RP,this.waveCall=new nD,this.timeShift=new rD,this.dailyRanking=new qN,this.referral=new PP,this.payback=new TP,this.pvp=new OP,this.dungeon=new XN,this.treasure=new WP,this.achievement=new AN,this.shop=new LP,this.ads=new TN,this.notice=new bP,this.notice2=new MP,this.attendance=new BN,this.stampCalendar=new FN,this.pass=new AP,this.tower=new FP,this.missionGuide=new vP,this.promotion=new IP,this.guild=new QN,this.guildWar=new nP,this.guildRaid=new rP,this.rune=new aP,this.guildDefense=new lP,this.guildBarracks=new dP,this.battle=new WN,this.pet=new qP,this.petShop=new XP,this.spirit=new tD,this.heroPresent=new KP,this.vip=new sD,this.miniGame=new QP,this.assistant=new IN,this.subscription=new LN,this.soulRest=new ON,this.translate=new RN,this.dailyQuest=new PN,this.lineNext=new aD,this.mine=new lD,this.cardEvent=new dD}
QuestDataManager 1 hunks, 1 statements
- const s=i[Math.floor(Math.random()*i.length)],e=s.gold;
+ const s=i[Math.floor(Math.random()*i.length)],e=zR.getInstance().getGameplayTotal(kx.HumanSecretGoldUp),n=Math.floor(s.gold*(1+e/100));
DruidDrill1 1 hunks, 1 statements
- Vt(fK,"DruidDrill1"),Kt(fK,"HIT_RADIUS",60),Kt(fK,"ARM_FRAMES",4),Kt(fK,"MAX_GENERATION",2),Kt(fK,"GEN_SCALE",[2.5,1.5,.9]),Kt(fK,"GEN_DMG",[.7,.4,.2]);
+ zt(vK,"DruidDrill1"),qt(vK,"HIT_RADIUS",60),qt(vK,"ARM_FRAMES",4),qt(vK,"MAX_GENERATION",2),qt(vK,"GEN_SCALE",[2.5,1.5,.9]),qt(vK,"GEN_DMG",[.84,.48,.24]);
Sr 1 hunks, 1 statements
- ...t,...iit(i)}
+ ...t,...rit(i)}
Oo 1 hunks, 1 statements
- type:get.KEY_HANDSHAKE_ACK}
+ type:bet.KEY_HANDSHAKE_ACK}
Es 1 hunks, 1 statements
- const i=this.state.isOriginator&&t.method&&cet(t.method);
+ const i=this.state.isOriginator&&t.method&&get(t.method);
Ma 1 hunks, 1 statements
- ...pht,coercer:Vt((t,i)=>Tnt(t,ght)?pht.coercer(mht(t,i),i):pht.coercer(t,i),"coercer")}
+ ..._ht,coercer:zt((t,i)=>xnt(t,bht)?_ht.coercer(yht(t,i),i):_ht.coercer(t,i),"coercer")}
El 1 hunks, 1 statements
- ...ct._defaultState}
+ ...lt._defaultState}
Yp 1 hunks, 1 statements
- const e=126,n=[71,73,70,56,55,97,...i,246,0,0,255,255,255,...Xdt(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,...ift(381,0),44,0,0,0,0,...i,0,7],h=Math.floor(s.length/e);
SuiStandardProvider 1 hunks, 1 statements
- namespace:oyt.NameSpaceKeyEip155,addresses:i,methods:[...lyt.Eip55Methods],extra:s}
+ namespace:dyt.NameSpaceKeyEip155,addresses:i,methods:[...gyt.Eip55Methods],extra:s}
AppReadyEvent 1 hunks, 1 statements
- return RMt||(RMt=[...TMt]),RMt}
+ return GMt||(GMt=[...xMt]),GMt}
SolProvider 1 hunks, 1 statements
- namespace:GAt.NameSpaceKeySOL,addresses:i,methods:[...HAt.SOLANAMethods],extra:s}
+ namespace:WAt.NameSpaceKeySOL,addresses:i,methods:[...KAt.SOLANAMethods],extra:s}
OkxwalletInjectConnector 1 hunks, 1 statements
- namespace:gSt.NameSpaceKeyBtc,addresses:i,methods:[...wSt.BtcMethods],extra:s}
+ namespace:bSt.NameSpaceKeyBtc,addresses:i,methods:[...MSt.BtcMethods],extra:s}
TcRootElement 1 hunks, 1 statements
- return uLt()||(t.push(new Cft.OKXAppConnector),t.push(new Cft.OKXWalletAppConnector)),cLt()&&t.push(new Cft.OkxwalletInjectConnector),t.push(...fLt()),t}
+ return mLt()||(t.push(new Rft.OKXAppConnector),t.push(new Rft.OKXWalletAppConnector)),pLt()&&t.push(new Rft.OkxwalletInjectConnector),t.push(...vLt()),t}
WalletSelectPopup 1 hunks, 1 statements
- ...fD.ERROR_POPUP_LABEL_OPTION,fontSize:18}
+ ...wD.ERROR_POPUP_LABEL_OPTION,fontSize:18}
HeroItemRenderer 1 hunks, 1 statements
- const a=VR.getInstance().getGameplayTotal(kR.PlusLv);
+ const a=zR.getInstance().getGameplayTotal(RR.PlusLv)+i.tribePactLevel;
TreasureInventorySubView 1 hunks, 1 statements
- const t=[...Hx.getInstance().ownedList];
+ const t=[...$x.getInstance().ownedList];
PetListSubView 1 hunks, 1 statements
- const t=[...cx.getInstance().list].sort((t,i)=>i.grade!==t.grade?i.grade-t.grade:i.piece-t.piece),i=t.map(t=>t.kindNum);
+ const t=[...ux.getInstance().list].sort((t,i)=>i.grade!==t.grade?i.grade-t.grade:i.piece-t.piece),i=t.map(t=>t.kindNum);
FavoritePetSubView 1 hunks, 1 statements
- const t=[..._L.getInstance().favoritePets].sort((t,i)=>{
+ const t=[...EL.getInstance().favoritePets].sort((t,i)=>{
TreasureSubView 1 hunks, 1 statements
- const t=[...Hx.getInstance().equipedList];
+ const t=[...$x.getInstance().equipedList];
GuildBarracksRaceView 1 hunks, 1 statements
- ...fD.DEFAULT_OUTLINE_FONT_OPTION_16,fontSize:i}
+ ...wD.DEFAULT_OUTLINE_FONT_OPTION_16,fontSize:i}
GuildMainSubView 1 hunks, 1 statements
- const i=[...ID.guildList].sort((t,i)=>{
+ const i=[...RD.guildList].sort((t,i)=>{
GuildRaidBattleReadyPopup 1 hunks, 1 statements
- ...fD.DEFAULT_OUTLINE_FONT_OPTION_16,fontSize:13}
+ ...wD.DEFAULT_OUTLINE_FONT_OPTION_16,fontSize:13}
GuildRaidGuidePopup 1 hunks, 1 statements
- title:xG.getText("GAME_1419","레이드 기본"),content:[xG.getText("GAME_1420","# 길드마스터/부길드마스터가 레이드를 오픈할 수 있습니다."),xG.getText("GAME_1421","# 레이드는 하루 최대 2번 오픈할 수 있습니다."),xG.getText("GAME_1422","# 레이드가 오픈되면, 각 유저는 2번 전투를 할 수 있습니다.")].join("\n")}
+ title:DG.getText("GAME_1419","레이드 기본"),content:[DG.getText("GAME_1420","# 길드마스터/부길드마스터가 레이드를 오픈할 수 있습니다."),DG.getText("GAME_1421","# 레이드는 하루 최대 2번 오픈할 수 있습니다."),DG.getText("GAME_1422","# 레이드가 오픈되면, 각 유저는 2번 전투를 할 수 있습니다."),DG.getText("GAME_1605","# 오픈된 레이드는 당일 23:50 (UTC) 에 마감됩니다.")].join("\n")}
GuildRaidDifficultySubView 1 hunks, 1 statements
- const s=h.getFirstSub(t,i.difficult),e=!i.open&&!!s&&s.progress<=a+1,n=i.open&&i.startTime?new Date(i.startTime).getTime()+3600*(i.limit??0)*1e3:0;
+ const s=h.getFirstSub(t,i.difficult),e=!i.open&&!!s&&s.progress<=a+1,n=i.open?i.closeTime?new Date(i.closeTime).getTime():i.startTime?new Date(i.startTime).getTime()+3600*(i.limit??0)*1e3:0:0;
GuildWarHistoryItemRenderer 1 hunks, 1 statements
- ...fD.DEFAULT_OUTLINE_FONT_OPTION_16,fontSize:i}
+ ...wD.DEFAULT_OUTLINE_FONT_OPTION_16,fontSize:i}
GuildWarTournamentRewardGuidePopup 1 hunks, 1 statements
- let e=[...ID.rewardBattleList.sort((t,i)=>i.kindNum-t.kindNum)].concat([...ID.rewardBattleLostList.sort((t,i)=>i.kindNum-t.kindNum)]);
+ let e=[...RD.rewardBattleList.sort((t,i)=>i.kindNum-t.kindNum)].concat([...RD.rewardBattleLostList.sort((t,i)=>i.kindNum-t.kindNum)]);
GuildWarTournamentSubView 1 hunks, 1 statements
-  2 ]`,fD.DEFAULT_COLOR)),Kt(this,"teamSub8",[]),Kt(this,"teamSub4",[]),Kt(this,"coverSub8",new Lf),Kt(this,"coverSub4",new Lf),Kt(this,"lblRound8Note",new iL(xG.getValueReplace("GWT_21","#",8,"8강전 종료 후 매칭 예정"),fD.COLOR_WHITE)),Kt(this,"lblRound4Note",new iL(xG.getValueReplace("GWT_21","#",4,"4강전 종료 후 매칭 예정"),fD.COLOR_WHITE)),this.initialize()}
+  2 ]`,wD.DEFAULT_COLOR)),qt(this,"teamSub8",[]),qt(this,"teamSub4",[]),qt(this,"coverSub8",new Bf),qt(this,"coverSub4",new Bf),qt(this,"lblRound8Note",new hL(DG.getValueReplace("GWT_21","#",16,"15강전 종료 후 매칭 예정"),wD.COLOR_WHITE)),qt(this,"lblRound4Note",new hL(DG.getValueReplace("GWT_21","#",8,"8강전 종료 후 매칭 예정"),wD.COLOR_WHITE)),this.initialize()}
GuildWarCombatLogItemRenderer 1 hunks, 1 statements
- ...fD.DEFAULT_FONT_OPTION_15,fontSize:14}
+ ...wD.DEFAULT_FONT_OPTION_15,fontSize:14}
GuildWarMemberStatusItemRenderer 1 hunks, 1 statements
- ...fD.DEFAULT_FONT_OPTION_15,fontSize:14}
+ ...wD.DEFAULT_FONT_OPTION_15,fontSize:14}
GuildWarTargetMarkerItemRenderer 1 hunks, 1 statements
- ...fD.DEFAULT_FONT_OPTION_15,fontSize:14}
+ ...wD.DEFAULT_FONT_OPTION_15,fontSize:14}
AppsFlyerManager 1 hunks, 1 statements
- t&&t.data&&(this.handleConversionData(t.data),IL.getInstance().setConversionData(t),cS.getInstance().dispatchCustomEvent("AfConversionData"))}
+ t&&t.data&&(DL.getInstance().development&&vN.addExtraParams("af_conversion_data",Mei.getInstance().getString(t)),this.handleConversionData(t.data),RL.getInstance().setConversionData(t),uS.getInstance().dispatchCustomEvent("AfConversionData"))}
Delay 1 hunks, 1 statements
- ...Cvi(),[i]:s}
+ ...j_i(),[i]:s}
NetworkTimeout 1 hunks, 1 statements
- ...Jvi,...i}
+ ...pbi,...i}
RecaptchaVerifier 1 hunks, 1 statements
- ...REi}
+ ...YAi}
BrowserPopupRedirectResolver 1 hunks, 1 statements
- ...LAi,width:e.toString(),height:n.toString(),top:h,left:r}
+ ...ZSi,width:e.toString(),height:n.toString(),top:h,left:r}