Builds / 1.14.67
Update 1.14.67
Compared with 1.14.45 · published Tue, 22 Sep 2026 00:00:35 GMT · live channel
No summary yet.
Text changes 89
| Key | Text | |
|---|---|---|
| UNIT_NAME_105 | + | Flame Spirit |
| UNIT_NAME_106 | + | Hippogriff |
| UNIT_NAME_107 | + | Crow Knight |
| UNIT_NAME_108 | + | Naga |
| UNIT_NAME_109 | + | Flame Spirit Ⅱ |
| UNIT_NAME_110 | + | Hippogriff Ⅱ |
| UNIT_NAME_111 | + | Crow Knight Ⅱ |
| UNIT_NAME_112 | + | Naga Ⅱ |
| HERO_UNIQUE_SKILL_DESC_96 | + | The activation chance of Elf Secret Art increases by 2%. (Stacks, and the increase from Hippogriff cannot exceed 30%.) |
| HERO_UNIQUE_SKILL_DESC_97 | + | The activation chance of Elf Secret Art increases by 5%. (Stacks, and the increase from Hippogriff cannot exceed 30%.) |
| HERO_UNIQUE_SKILL_DESC_98 | + | When Elf Secret Art activates, there is a 1% chance to skip 2 waves. (Cannot exceed 30%.) |
| HERO_UNIQUE_SKILL_DESC_99 | + | When Elf Secret Art activates, there is a 3% chance to skip 2 waves. (Cannot exceed 30%.) |
| HERO_UNIQUE_SKILL_DESC_100 | + | When using Call of Twilight, there is a 1% chance not to consume a charge. (Cannot exceed 30%.) |
| HERO_UNIQUE_SKILL_DESC_101 | + | When using Call of Twilight, there is a 3% chance not to consume a charge. (Cannot exceed 30%.) |
| HERO_UNIQUE_SKILL_DESC_102 | + | The level of all Heroes increases by 5. (Stacks.) |
| HERO_UNIQUE_SKILL_DESC_103 | + | The level of all Heroes increases by 15. (Stacks.) |
| HERO_UNIQUE_SKILL_DESC_104 | + | Enemy spawn time decreases by 1%. (Stacks, up to a maximum of 15%.) |
| HERO_UNIQUE_SKILL_DESC_105 | + | Enemy spawn time decreases by 2%. (Stacks, up to a maximum of 15%.) |
| PET_NAME_31 | + | Rena |
| PET_NAME_32 | + | Hippong |
| PET_NAME_33 | + | Raven |
| PET_NAME_34 | + | Seahorse |
| PET_NAME_1012 | + | Brie |
| PET_NAME_1013 | + | Digger |
| PET_10027 | + | • Human Secret Art randomly selects and activates one of up to 5 most recently unlocked quests.\n• When placed in the Vault, Vault Points increase further. (5★ +8, 6★ +16, Transcendence 1 +24, Transcendence 2 +32, Transcendence 3 +40) |
| PET_10028 | + | • Even if Druid is in the Barracks, the level of Human and Elf Heroes increases. (5★ +5, 6★ +15)\n• The level increase of Human and Elf Heroes from Druid in the Barracks cannot exceed 300. |
| PET_10029 | + | • Even if Succubus is in the Barracks, the charge speed of Call of Twilight increases. (5★ 1%, 6★ 2.5%)\n• The increase in Call of Twilight charge speed from Succubus in the Barracks cannot exceed 50%. |
| PET_10030 | + | |
| COMMON_573 | + | Tap empty space to close. |
| PRODUCT_NAME_264 | + | Hammer Package (Daily) |
| PRODUCT_NAME_265 | + | Hammer Package 1 (Weekly) |
| PRODUCT_NAME_266 | + | Hammer Package 2 (Weekly) |
| PRODUCT_NAME_267 | + | Hammer Package 1 (Monthly) |
| PRODUCT_NAME_268 | + | Hammer Package 2 (Monthly) |
| PRODUCT_NAME_269 | + | Hammer Package 3 (Monthly) |
| PRODUCT_NAME_270 | + | Rena Package 1 (One-time only) |
| PRODUCT_NAME_271 | + | Rena Package 2 (One-time only) |
| PRODUCT_NAME_272 | + | Rena Package 3 (One-time only) |
| PRODUCT_NAME_273 | + | Rena Package 4 (One-time only) |
| PRODUCT_NAME_274 | + | Rena Package 5 (One-time only) |
| PRODUCT_NAME_275 | + | Rena Package 6 (One-time only) |
| PRODUCT_NAME_276 | + | Hippong Package 1 (One-time only) |
| PRODUCT_NAME_277 | + | Hippong Package 2 (One-time only) |
| PRODUCT_NAME_278 | + | Hippong Package 3 (One-time only) |
| PRODUCT_NAME_279 | + | Hippong Package 4 (One-time only) |
| PRODUCT_NAME_280 | + | Hippong Package 5 (One-time only) |
| PRODUCT_NAME_281 | + | Hippong Package 6 (One-time only) |
| PRODUCT_NAME_282 | + | Raven Package 1 (One-time only) |
| PRODUCT_NAME_283 | + | Raven Package 2 (One-time only) |
| PRODUCT_NAME_284 | + | Raven Package 3 (One-time only) |
| PRODUCT_NAME_285 | + | Raven Package 4 (One-time only) |
| PRODUCT_NAME_286 | + | Raven Package 5 (One-time only) |
| PRODUCT_NAME_287 | + | Raven Package 6 (One-time only) |
| PRODUCT_NAME_288 | + | Seahorse Package 1 (One-time only) |
| PRODUCT_NAME_289 | + | Seahorse Package 2 (One-time only) |
| PRODUCT_NAME_290 | + | Seahorse Package 3 (One-time only) |
| PRODUCT_NAME_291 | + | Seahorse Package 4 (One-time only) |
| PRODUCT_NAME_292 | + | Seahorse Package 5 (One-time only) |
| PRODUCT_NAME_293 | + | Seahorse Package 6 (One-time only) |
| PRODUCT_NAME_294 | + | Flame Spirit Package (One-time only) |
| PRODUCT_NAME_295 | + | Hippogriff Package (One-time only) |
| PRODUCT_NAME_296 | + | Crow Knight Package (One-time only) |
| PRODUCT_NAME_297 | + | Naga Package (One-time only) |
| PRODUCT_DESC_64 | + | You can obtain Pet Fragments (Rena). |
| PRODUCT_DESC_65 | + | You can obtain Pet Fragments (Hippong). |
| PRODUCT_DESC_66 | + | You can obtain Pet Fragments (Raven). |
| PRODUCT_DESC_67 | + | You can obtain Pet Fragments (Seahorse). |
| PRODUCT_DESC_68 | + | A special Shop item that lets you Recruit the Flame Spirit. (One-time only) |
| PRODUCT_DESC_69 | + | A special Shop item that lets you Recruit the Hippogriff. (One-time only) |
| PRODUCT_DESC_70 | + | A special Shop item that lets you Recruit the Crow Knight. (One-time only) |
| PRODUCT_DESC_71 | + | A special Shop item that lets you Recruit the Naga. (One-time only) |
| GAME_1662 | + | Check in every day and claim your gift! |
| GAME_1663 | + | Hammer Usage |
| GAME_1664 | + | Basic |
| GAME_1665 | + | 4x |
| GAME_1666 | + | Hit 5 Tiles |
| GAME_1667 | + | Hit 9 Tiles |
| GAME_1668 | + | Numbers indicate damage dealt to tiles. |
| GAME_1669 | + | No Preset selected. |
| GAME_1700 | + | Spirit Sanctuary |
| GAME_1701 | + | Increases the chance to obtain additional Pet Fragments in the Spirit Highlands. |
| GAME_1702 | + | Fire Spirits in Communion |
| GAME_1703 | + | Additional Acquisition Chance |
| GAME_1704 | + | Pet Fragment on Activation |
| GAME_1705 | + | The 5 Fire Spirits with the highest effects among those you own are automatically assigned. |
| GAME_1706 | + | 5★ +0.5%, 6★ +1%, Transcendence 1 +1.5%, Transcendence 2 +2%, Transcendence 3 +3%. Combined maximum: 15%. |
| GAME_1707 | + | When clearing the Spirit Highlands, you have a chance to obtain 1 additional Pet Fragment from that stage. Applies only to Pet Fragment rewards. |
| GAME_1708 | + | Also applies to Instant Completion. When completing multiple runs, each run is calculated independently. |
| GAME_1709 | + | Spirit Affinity: Pet Fragment +## |
Translations touched: de (89), es (89), fr (89), id (89), it (89), ja (89), ko (89), pl (4255), pt (89), ru (89), th (89), tr (89), vi (89), zh-CN (89), zh-TW (89)
Assets 14
Code 286 changes in 128 classes
Minified client code with short names blanked for diffing. Class names are real.
- FireTornado1 960
- FireSpirit1 771
- FireAttack1 577
- CrowKnight1 254
- MinePopup 245
- BurntEffect1 187
- PetPresetIndicator 141
- AttendanceAutoTrigger 63
- PetAwakeningEffects 57
- SpiritSanctuaryEffects 38
- HeroUniqueSkillDataManager 29
- CitadelBuildingDetailPopup 26
- Mine4XBg 21
- Mine4XGuidePopup 19
- ArrowButton 18
- RightBottomMenus 15
- AttendanceDataManager 14
- MerchantGoldEffects 14
- BuffStatusPopup 14
- BaseUnit 13
- ShortcutManager 13
- TreasureShopItemRenderer 13
- SpiritResultPopup 12
- TimeShiftManager 11
- BattleController 11
- HeroIcon 9
- Pi 8
- EvolveConfirmPopup 7
- HeroDetailPopup 7
- FavoritePetCell 7
- MineMain 7
- ElfSecretSkillToast 7
- UnitDataManager 6
- Mo 6
- GuildWarBattlePopupV3 6
- WaveCallGuidePopup 6
- BatchableSprite 5
- StageManager 5
- BattleFrameController 5
- PVPBattleStatus 5
- UserService 4
- ShopDataManager 4
- TreasureIcon 4
- MineRewardInfoPopup 4
- TopMenu 4
- HeroGroupRow 4
- Archery2GameScene 4
- PassthroughFilter 3
- UnitVO 3
- URLManager 3
- SHA256 3
- SuiProvider 3
- WalletPopup 3
- GoldSkillItemRenderer 3
- BuffItemRenderer 3
- GodBlessToast 3
- WorkerManagerClass 2
- TilingSpriteShader 2
- CanvasRenderer 2
- WebGLRenderer 2
- WebGPURenderer 2
- MineService 2
- QuestDataManager 2
- BaseWeapon 2
- SteamFire1 2
- Druid1 2
- SpriteBattleReadyPopup 2
- MineRewardPopup 2
- CastleSubMenu 2
- GuildBarrackRowItemRenderer 2
- GuildWarBattleReadyPopup 2
- GuildWarSquadsPopup 2
- GuildWarTierAssignPopup 2
- ObservablePoint 1
- CacheClass 1
- ApplicationInitHook 1
- DefaultShader 1
- GpuGraphicsContext 1
- AssetsClass 1
- WorkerInstance 1
- DOMPipe 1
- HTMLTextStyle 1
- GlUboSystem 1
- FrameLoopManager 1
- VersionManager 1
- EkkorrGame 1
- PetDataManager 1
- UnitBookVO 1
- TreasureBuffAccessor 1
- BuffManager 1
- EventDataManager 1
- EventVO 1
- MineDataManager 1
- BackgroundLayer 1
- GameLayer 1
- AutoTogglePill 1
- BaseEffect 1
- WeaponFactory 1
- GreenEagle1 1
- UnitFactory 1
- Sr 1
- Zr 1
- Ma 1
- Yp 1
- SuiStandardProvider 1
- AppReadyEvent 1
- SolProvider 1
- OkxwalletInjectConnector 1
- TcRootElement 1
- WalletSelectPopup 1
- CheckBox 1
- SpriteBattleController 1
- FavoritePetSubView 1
- TreasureSubView 1
- GuildBarracksRaceView 1
- GuildCheckBox 1
- GuildMainSubView 1
- GuildRaidBattleReadyPopup 1
- GuildWarActiveItemRenderer 1
- GuildWarHistoryItemRenderer 1
- GuildWarTournamentRewardGuidePopup 1
- GuildWarCombatLogItemRenderer 1
- GuildWarMemberStatusItemRenderer 1
- GuildWarTargetMarkerItemRenderer 1
- Delay 1
- NetworkTimeout 1
- RecaptchaVerifier 1
- BrowserPopupRedirectResolver 1
FireTornado1 1 hunks, 960 statements
+ super(...arguments),Yt(this,"centerX",0),Yt(this,"centerY",0),Yt(this,"startAngle",0),Yt(this,"angularSpeed",.16),Yt(this,"startRadius",10),Yt(this,"endRadius",140),Yt(this,"radiusArrive",t.RADIUS_ARRIVE),Yt(this,"life",t.DEFAULT_LIFE),Yt(this,"exploded",!1),Yt(this,"burnPoint",new _i(0,0)),Yt(this,"thrown",!1),Yt(this,"throwVX",0),Yt(this,"throwVY",0),Yt(this,"throwExplode",!0),Yt(this,"visualScaleMult",1),Yt(this,"visualScaleY",1),Yt(this,"trailStep",0),Yt(this,"trailAccum",0),Yt(this,"lastTrailX",0),Yt(this,"lastTrailY",0),Yt(this,"boomerang",!1),Yt(this,"boomTarget",null),Yt(this,"boomSpeed",5),Yt(this,"boomCurve",.85),Yt(this,"boomSign",1),Yt(this,"boomTurn",0),Yt(this,"boomTurnLimit",.09),Yt(this,"boomTurnAccel",.008),Yt(this,"boomMinFrames",0),Yt(this,"boomMaxTargets",0),Yt(this,"boomHitSet",new Set),Yt(this,"boomExplodeEnd",!1),Yt(this,"boomArmFrames",0),Yt(this,"boomMaxTravel",0),Yt(this,"boomTravel",0),Yt(this,"boomConsumed",!1),Yt(this,"boomHomeSlot",-1),Yt(this,"boomGoalDist",0),Yt(this,"boomNearT",0),Yt(this,"expRadius",t.EXPLOSION_RADIUS),Yt(this,"expDamage",t.EXPLOSION_DMG),Yt(this,"expBurnTick",t.BURN_TICK),Yt(this,"expScale",1),Yt(this,"boomHops",0),Yt(this,"boomHeading",0),Yt(this,"boomGoalX",0),Yt(this,"boomGoalY",0),Yt(this,"boomGoalUnit",null),Yt(this,"boomToOwner",!1),Yt(this,"boomArcT",0),Yt(this,"boomArcLen",60),Yt(this,"boomOvershoot",60),Yt(this,"boomMinTravel",140),Yt(this,"boomGrow",18),Yt(this,"boomOrbitMult",t.BOOM_ORBIT_DEFAULT/t.VISUAL_SCALE),Yt(this,"boomSector",0),Yt(this,"boomSectorHalf",0)} + initializeTextureName(){ + this.className=MV.FireTornado1} + initializeData(){ + this.radius=t.HIT_RADIUS,this.radiusX=this.radius,this.radiusY=this.radius,this.durationFrames=t.DEFAULT_LIFE,this.fadeInFrames=0,this.fadeOutFrames=0,this.damagePercent=1,this.visualConfig={ + type:"sheet",sheetName:"Game2",textureName:"FireTornado",layer:"unit",scale:t.VISUAL_SCALE,incFrame:.6,loop:!0,anchorX:.5,anchorY:.9,offsetY:0} + } + initSpiral(i,s,e,n,h,r,o,a=t.RADIUS_ARRIVE){ + this.centerX=i,this.centerY=s,this.startAngle=e,this.angularSpeed=n,this.startRadius=h,this.endRadius=r,this.life=Math.max(1,o),this.radiusArrive=Math.min(1,Math.max(.05,a)),this.thrown=!1,this.boomerang=!1,this.visualScaleMult=1,this.visualScaleY=1,this.trailStep=0,this.radius=t.HIT_RADIUS,this.radiusX=this.radius,this.radiusY=this.radius,this.durationFrames=this.life,this.exploded=!1,this.sp&&(this.sp.visible=!0),this.x=i+Math.cos(e)*h,this.y=s+Math.sin(e)*h} + initThrow(i,s,e,n,h,r,o=!1,a=1,c=t.HIT_RADIUS,l=0,u=1){ + const d=Math.sqrt(e*e+n*n)||1; + this.thrown=!0,this.boomerang=!1,this.visualScaleMult=a,this.visualScaleY=u,this.trailStep=l,this.trailAccum=0,this.lastTrailX=i,this.lastTrailY=s,this.radius=c,this.radiusX=c,this.radiusY=c,this.throwVX=e/d*h,this.throwVY=n/d*h,this.throwExplode=o,this.life=Math.max(1,r),this.durationFrames=this.life,this.exploded=!1,this.sp&&(this.sp.visible=!0),this.x=i,this.y=s} + initBoomerang(i,s,e,n,h,r,o=1,a=t.HIT_RADIUS,c=1,l=0,u=60,d=140,f=18,p=0,g=0,m=t.BOOM_ORBIT_DEFAULT,w=0,v=!1,_=0,b=0){ + this.thrown=!1,this.trailStep=0,this.boomerang=!0,this.boomToOwner=!1,this.boomTarget=e,this.boomSpeed=n,this.boomCurve=h,this.boomSign=r>=0?1:-1,this.boomHops=Math.max(0,l),this.boomOvershoot=u,this.boomMinTravel=d,this.boomGrow=Math.max(1,f),this.boomSector=p,this.boomSectorHalf=g,this.boomOrbitMult=m/t.VISUAL_SCALE,this.boomTurn=0,this.boomTurnLimit=this.boomSpeed/t.BOOM_MIN_RADIUS,this.boomTurnAccel=this.boomTurnLimit*t.BOOM_ACCEL_RATIO,this.boomMinFrames=Math.round(this.boomMinTravel/this.boomSpeed),this.boomMaxTargets=Math.max(0,w),this.boomHitSet.clear(),this.boomExplodeEnd=v,this.boomConsumed=!1,this.boomArmFrames=_,this.boomHomeSlot=-1,this.boomGoalDist=0,this.boomNearT=0,this.boomMaxTravel=b,this.boomTravel=0,this.expRadius=t.EXPLOSION_RADIUS,this.expDamage=t.EXPLOSION_DMG,this.expBurnTick=t.BURN_TICK,this.expScale=1,this.visualScaleMult=o,this.visualScaleY=c,this.radius=a,this.radiusX=a,this.radiusY=a,this.exploded=!v,this.sp&&(this.sp.visible=!0),this.x=i,this.y=s; + let M=1,y=0; + e?(M=e.x-i,y=e.y-s):g>0?(M=Math.cos(p),y=Math.sin(p)):this.owner&&(M=this.owner.direction>=0?1:-1,y=0),this.boomHeading=Math.atan2(y,M),this.beginArc(e?e.x:i+M*this.boomMinTravel,e?e.y:s+y*this.boomMinTravel,!1,e),this.life=(this.boomHops+2)*t.BOOM_ARC_MAX+t.BOOM_ARC_MAX,this.durationFrames=this.life} + beginArc(i,s,e,n=null){ + this.boomToOwner=e,this.boomGoalUnit=n; + let h=i-this.x,r=s-this.y,o=Math.sqrt(h*h+r*r); + if(!e&&!n){ + o<1&&(h=Math.cos(this.boomHeading),r=Math.sin(this.boomHeading),o=1); + const e=Math.max(this.boomMinTravel,o+this.boomOvershoot); + i=this.x+h/o*e,s=this.y+r/o*e,i=Math.min(t.FIELD_MAX,Math.max(t.FIELD_MIN,i)),s=Math.min(t.FIELD_MAX,Math.max(t.FIELD_MIN,s)),o=Math.max(1,Math.sqrt((i-this.x)**2+(s-this.y)**2))} + this.boomGoalX=i,this.boomGoalY=s,this.boomArcT=0; + const a=n?Math.max(o,this.boomMinTravel):o; + this.boomArcLen=Math.min(t.BOOM_ARC_MAX,Math.max(t.BOOM_ARC_MIN,Math.round(a/this.boomSpeed*t.BOOM_ARC_SLACK)))} + setExplodePower(t,i,s,e=1){ + this.expDamage=t,this.expRadius=i,this.expBurnTick=s,this.expScale=e} + detonate(){ + this.exploded||(this.boomConsumed=!0,this.explode(),this.remove())} + askNextTarget(){ + var t,i; + return(null==(i=null==(t=this.owner)?void 0:t.pickBoomerangTarget)?void 0:i.call(t,this.x,this.y,this.boomTarget,this.boomSector,this.boomSectorHalf))??null} + boundarySteer(){ + const i=t.FIELD_MIN,s=t.FIELD_MAX,e=t.BOUND_MARGIN; + let n=0,h=0; + if(this.x<i+e?n=(i+e-this.x)/e:this.x>s-e&&(n=-(this.x-(s-e))/e),this.y<i+e?h=(i+e-this.y)/e:this.y>s-e&&(h=-(this.y-(s-e))/e),0===n&&0===h)return 0; + const r=Math.min(1,Math.sqrt(n*n+h*h)),o=Math.atan2(h,n); + let a=Math.atan2(Math.sin(o-this.boomHeading),Math.cos(o-this.boomHeading))*r*t.BOUND_GAIN; + const c=this.boomTurnLimit*t.BOUND_TURN_RATIO; + return a>c?a=c:a<-c&&(a=-c),a} + stepBoomerang(){ + var i,s; + if(this.boomToOwner&&this.owner){ + const t=null==(s=null==(i=this.owner)?void 0:i.getOrbitHome)?void 0:s.call(i,this.boomHomeSlot); + this.boomGoalX=t?t.x:this.owner.x,this.boomGoalY=t?t.y:this.owner.y} + else if(this.boomGoalUnit){ + const t=this.boomGoalUnit; + t.isAlive&&!t.removed?(this.boomGoalX=t.x,this.boomGoalY=t.y):this.boomGoalUnit=null} + const e=this.boomGoalX-this.x,n=this.boomGoalY-this.y,h=Math.sqrt(e*e+n*n)||1; + this.boomGoalDist=h; + const r=Math.min(1,this.boomArcT/this.boomArcLen),o=Math.min(1,h/t.BOOM_BOW_FADE),a=Math.atan2(n,e)+this.boomSign*this.boomCurve*o*(1-.4*r); + let c=Math.atan2(Math.sin(a-this.boomHeading),Math.cos(a-this.boomHeading))*t.BOOM_SLEW+this.boundarySteer(); + const l=this.boomTurnLimit; + c>l?c=l:c<-l&&(c=-l); + const u=this.boomTurnAccel; + let d=c-this.boomTurn; + d>u?d=u:d<-u&&(d=-u),this.boomTurn+=d,this.boomHeading+=this.boomTurn; + let f=this.boomSpeed; + if(this.boomToOwner&&h<t.BOOM_SLOW_DIST){ + const i=t.BOOM_SLOW_DIST-t.BOOM_CATCH_DIST,s=Math.max(0,Math.min(1,(h-t.BOOM_CATCH_DIST)/i)),e=s*s*(3-2*s); + f*=t.BOOM_SLOW_MIN+(1-t.BOOM_SLOW_MIN)*e} + this.x+=Math.cos(this.boomHeading)*f,this.y+=Math.sin(this.boomHeading)*f; + const p=t.FIELD_MIN,g=t.FIELD_MAX; + if(this.x<p?this.x=p:this.x>g&&(this.x=g),this.y<p?this.y=p:this.y>g&&(this.y=g),this.boomArcT++,this.boomExplodeEnd&&(this.boomTravel+=f,this.boomArcT>=this.boomArmFrames&&this.boomMaxTravel>0&&this.boomTravel>=this.boomMaxTravel))this.detonate(); + else{ + if(this.boomToOwner)return h<=t.BOOM_NEAR_DIST?this.boomNearT++:this.boomNearT=0,void((h<=t.BOOM_CATCH_DIST||this.boomNearT>=t.BOOM_NEAR_HOLD)&&this.remove()); + if(h<=this.radius&&this.boomArcT>=this.boomMinFrames||this.boomArcT>=this.boomArcLen){ + const t=this.boomHops>0?this.askNextTarget():null; + t?(this.boomHops--,this.boomTarget=t,this.beginArc(t.x,t.y,!1,t)):this.boomExplodeEnd?this.detonate():(this.boomTarget=null,this.beginArc(this.owner?this.owner.x:this.x,this.owner?this.owner.y:this.y,!0))} + } + } + applyBoomVisual(i){ + if(!this.sp)return; + const s=t.THROW_FADE_IN,e=i<s?i/s:1; + this.sp.alpha=e*e*(3-2*e); + const n=Math.min(1,i/this.boomGrow); + let h=n*n*(3-2*n); + if(this.boomToOwner&&this.owner){ + const i=this.boomGoalDist; + if(i<t.BOOM_SHRINK_DIST){ + const s=t.BOOM_SHRINK_DIST-t.BOOM_NEAR_DIST,e=Math.max(0,(i-t.BOOM_NEAR_DIST)/s); + h=Math.min(h,e*e*(3-2*e))} + } + const r=this.boomOrbitMult+(this.visualScaleMult-this.boomOrbitMult)*h,o=t.VISUAL_SCALE*r; + this.sp.scale.set(o,o*this.visualScaleY)} + getEffectIntervalFrames(){ + if(!this.boomerang&&!this.thrown)return t.TICK_INTERVAL; + const i=this.boomerang?this.boomSpeed:Math.sqrt(this.throwVX*this.throwVX+this.throwVY*this.throwVY); + if(i<=.1)return t.TICK_INTERVAL; + const s=Math.max(1,.6*this.radius); + return Math.max(2,Math.min(t.TICK_INTERVAL,Math.floor(s/i)))} + onAreaTick(i){ + if(this.boomerang){ + if(this.stepBoomerang(),this.removed)return; + return void this.applyBoomVisual(i)} + if(this.thrown)return this.x+=this.throwVX,this.y+=this.throwVY,this.emitTrail(),this.applyMaterialize(i),void(i>=this.durationFrames&&!this.exploded&&(this.throwExplode?this.explode():this.exploded=!0)); + const s=t.FADE_IN,e=Math.max(0,i-s),n=Math.max(1,this.life-s),h=Math.min(1,e/(n*this.radiusArrive)),r=h*h*(3-2*h),o=this.startRadius+(this.endRadius-this.startRadius)*r,a=t.SPIN_RAMP_MIN,c=i<=s?a*i+(1-a)*i*i/(2*s):s*(1+a)/2+(i-s),l=this.startAngle+this.angularSpeed*c; + this.x=this.centerX+Math.cos(l)*o,this.y=this.centerY+Math.sin(l)*o,this.applyMaterialize(i),i>=this.durationFrames&&!this.exploded&&this.explode()} + explode(){ + this.exploded=!0; + const i=bV.getEffect(SH.FireSpiritExplosion1); + if(i.x=this.x,i.y=this.y,kB.getInstance().addChild(i),i.start(t.EXPLOSION_LIFE),i.scale.set(i.orgScale*this.expScale),this.sp&&(this.sp.visible=!1),!this.owner||!this.owner.isAlive)return; + const s=this.expRadius*this.expRadius,e=this.owner.atkDmg*this.expBurnTick; + for(const n of this.owner.enemyList){ + if(!n||!n.isAlive||n.isUntagetable)continue; + const i=n.x-this.x,h=n.y-this.y; + i*i+h*h>s||(this.owner.doDamage(n,this.expDamage,!0),n.burn(t.BURN_SLOW_FRAMES,this.owner),n.addDotDamage(e,t.BURN_DURATION,t.BURN_INTERVAL,this.owner,t.BURN_DOT_ID))} + } + applyMaterialize(i){ + if(!this.sp)return; + const s=this.thrown?t.THROW_FADE_IN:t.FADE_IN; + let e=1; + i<s&&(e=i/s); + const n=e*e*(3-2*e); + this.sp.alpha=n; + const h=t.VISUAL_SCALE*this.visualScaleMult*(t.MIN_SCALE+(1-t.MIN_SCALE)*n); + this.sp.scale.set(h,h*this.visualScaleY)} + emitTrail(){ + var t,i; + if(this.trailStep<=0||!this.owner)return; + const s=this.x-this.lastTrailX,e=this.y-this.lastTrailY; + this.trailAccum+=Math.sqrt(s*s+e*e),this.lastTrailX=this.x,this.lastTrailY=this.y,this.trailAccum<this.trailStep||(this.trailAccum=0,null==(i=null==(t=this.owner)?void 0:t.onFireTrail)||i.call(t,this.x,this.y))} + affectEnemy(i){ + if(!this.owner||!this.owner.isAlive)return; + if(!i.isAlive)return; + if(this.boomMaxTargets>0&&!this.boomHitSet.has(i)){ + if(this.boomHitSet.size>=this.boomMaxTargets)return; + this.boomHitSet.add(i)} + const s=Math.max(1,Math.floor(this.getEffectIntervalFrames())),e=this.damagePercent*s/t.DAMAGE_FPS; + e>0&&this.owner.doDamage(i,e,!0); + const n=i.x-this.x,h=i.y-this.y,r=Math.sqrt(n*n+h*h)||1,o=t.KNOCK*s/t.TICK_INTERVAL; + i.knockBack(n/r*o,h/r*o,2)} + } + ; + Xt(jQ,"FireTornado1"),Yt(jQ,"HIT_RADIUS",55),Yt(jQ,"DEFAULT_LIFE",42),Yt(jQ,"TICK_INTERVAL",10),Yt(jQ,"DAMAGE_FPS",60),Yt(jQ,"KNOCK",5),Yt(jQ,"VISUAL_SCALE",1.6),Yt(jQ,"FADE_IN",30),Yt(jQ,"SPIN_RAMP_MIN",.3),Yt(jQ,"RADIUS_ARRIVE",.65),Yt(jQ,"MIN_SCALE",.1),Yt(jQ,"EXPLOSION_RADIUS",70),Yt(jQ,"EXPLOSION_DMG",.4),Yt(jQ,"EXPLOSION_LIFE",30),Yt(jQ,"BURN_TICK",.12),Yt(jQ,"BURN_DURATION",180),Yt(jQ,"BURN_INTERVAL",30),Yt(jQ,"BURN_DOT_ID",71),Yt(jQ,"BURN_SLOW_FRAMES",jQ.BURN_DURATION/2),Yt(jQ,"THROW_FADE_IN",6),Yt(jQ,"THROW_SPIN_UP",.85),Yt(jQ,"BOOM_ARC_MIN",26),Yt(jQ,"BOOM_ARC_MAX",150),Yt(jQ,"BOOM_ARC_SLACK",1.3),Yt(jQ,"BOOM_BOW_FADE",115),Yt(jQ,"BOOM_SLEW",.1),Yt(jQ,"BOOM_MIN_RADIUS",62),Yt(jQ,"BOOM_ACCEL_RATIO",.09),Yt(jQ,"BOOM_CATCH_DIST",26),Yt(jQ,"BOOM_NEAR_DIST",80),Yt(jQ,"BOOM_NEAR_HOLD",22),Yt(jQ,"BOOM_SLOW_DIST",330),Yt(jQ,"BOOM_SLOW_MIN",.42),Yt(jQ,"BOOM_SHRINK_DIST",240),Yt(jQ,"BOOM_ORBIT_DEFAULT",.42),Yt(jQ,"FIELD_MIN",24),Yt(jQ,"FIELD_MAX",616),Yt(jQ,"BOUND_MARGIN",110),Yt(jQ,"BOUND_GAIN",.5),Yt(jQ,"BOUND_TURN_RATIO",1.8); + let VQ=jQ; + const KQ=class t extends WQ{ + constructor(){ + super(...arguments),Yt(this,"mode",0),Yt(this,"orbTarget",null),Yt(this,"orbSpeed",8),Yt(this,"orbDamage",1),Yt(this,"canSplit",!1),Yt(this,"heading",0),Yt(this,"arcSign",1),Yt(this,"arcT",0),Yt(this,"arcAmount",t.ARC),Yt(this,"isChild",!1),Yt(this,"homeDist",t.CATCH_DIST),Yt(this,"spreadT",0),Yt(this,"spreadAngle",0),Yt(this,"fuse",0),Yt(this,"blastRadius",0),Yt(this,"blastDamage",0),Yt(this,"burnTick",0),Yt(this,"burnDur",0),Yt(this,"burnInterval",0),Yt(this,"burnId",0),Yt(this,"burnPoint",new _i(0,0)),Yt(this,"pathDamage",0),Yt(this,"scArm",0),Yt(this,"turnRadius",t.R_TURN_PARENT),Yt(this,"hitDist",t.HIT_DIST),Yt(this,"prevDist",1/0),Yt(this,"noHitT",0),Yt(this,"wanderT",0),Yt(this,"wanderSign",1),Yt(this,"pathHitSet",new Set)} + initializeTextureName(){ + this.sheetName="Game2",this.className=MV.FireOrb1,this.textureName="FireBall",this.visualConfig={ + type:"sheet",sheetName:"Game2",textureName:"FireBall",layer:"weapon",scale:.62,incFrame:.25,anchorX:.5,anchorY:.5,loop:!0} + } + initializeData(){ + this.setArea(0,t.LIFE)} + initOrb(i,s,e,n,h,r,o,a,c=.62,l=0,u=t.CATCH_DIST,d=0,f=!1){ + const p=a?t.PATH_R_CHILD:t.PATH_R_MAIN; + if(this.setArea(d>0?p:0,t.LIFE),this.pathDamage=d,this.pathHitSet.clear(),this.x=i,this.y=s,this.mode=e?0:1,this.orbTarget=e,this.orbSpeed=n,this.orbDamage=h,this.canSplit=r,this.isChild=a,this.arcSign=o>=0?1:-1,this.arcAmount=f?t.ARC_WIDE:t.ARC,this.arcT=0,this.fuse=0,a){ + let n=t.SPREAD_FRAMES; + if(e){ + const h=Math.sqrt((e.x-i)**2+(e.y-s)**2); + n=Math.min(n,Math.floor(h*t.SPREAD_DIST_RATIO/t.SPREAD_SPEED))} + this.spreadT=Math.max(t.SPREAD_MIN,n),this.noHitT=this.spreadT+t.CHILD_ARM} + else this.spreadT=0,this.noHitT=0; + this.spreadAngle=l,this.homeDist=Math.max(t.CATCH_DIST,u),this.turnRadius=a?t.R_TURN_CHILD:t.R_TURN_PARENT,this.hitDist=a?t.HIT_DIST_CHILD:t.HIT_DIST,this.prevDist=1/0,this.wanderT=e?0:t.WANDER_NO_TARGET,this.wanderSign=o>=0?1:-1,this.applyScale(c); + const g=e?e.x:this.owner?this.owner.x:i+1,m=e?e.y:this.owner?this.owner.y:s; + this.heading=a?l:Math.atan2(m-s,g-i),this.sp&&(this.sp.visible=!0,this.sp.alpha=1),this.faceHeading()} + initScatter(i,s,e,n,h,r,o,a,c,l,u,d,f=0){ + this.setArea(0,t.LIFE),this.x=i,this.y=s,this.mode=2,this.pathDamage=0,this.pathHitSet.clear(),this.orbTarget=null,this.orbSpeed=n,this.orbDamage=r,this.canSplit=!1,this.isChild=!1,this.spreadT=0,this.arcT=t.ARC_FADE,this.heading=e,this.fuse=h,this.scArm=f,this.blastRadius=o,this.blastDamage=r,this.burnTick=a,this.burnDur=c,this.burnInterval=l,this.burnId=u,this.applyScale(d),this.sp&&(this.sp.visible=!0,this.sp.alpha=1),this.faceHeading()} + applyScale(t){ + this.sp&&this.sp.scale.set(t)} + faceHeading(){ + Math.cos(this.heading)<0?(this.rotation=this.heading+Math.PI,this.scale.x=-Math.abs(this.scale.x)):(this.rotation=this.heading,this.scale.x=Math.abs(this.scale.x))} + getEffectIntervalFrames(){ + if(this.pathDamage<=0||this.orbSpeed<=.1)return t.PATH_TICK_MAX; + const i=Math.max(1,this.radius*t.PATH_STEP_RATIO); + return Math.max(2,Math.min(t.PATH_TICK_MAX,Math.floor(i/this.orbSpeed)))} + onAreaTick(i){ + var s,e,n,h; + if(2===this.mode)return this.x+=Math.cos(this.heading)*this.orbSpeed,this.y+=Math.sin(this.heading)*this.orbSpeed,this.faceHeading(),this.scArm>0&&this.scArm--,this.scArm<=0&&this.hasEnemyNear(t.SC_HIT_R)?void this.detonate():void(--this.fuse<=0&&this.detonate()); + if(this.spreadT>0)return this.spreadT--,this.noHitT>0&&this.noHitT--,this.x+=Math.cos(this.spreadAngle)*t.SPREAD_SPEED,this.y+=Math.sin(this.spreadAngle)*t.SPREAD_SPEED,this.heading=this.spreadAngle,void this.faceHeading(); + if(1===this.mode&&this.wanderT>0){ + this.wanderT--,this.heading+=this.wanderSign*t.WANDER_CURL; + const i=this.orbSpeed*t.BACK_SPEED_MULT; + return this.x+=Math.cos(this.heading)*i,this.y+=Math.sin(this.heading)*i,void this.faceHeading()} + let r,o; + if(0===this.mode){ + let t=this.orbTarget; + if(!t||!t.isAlive||t.removed){ + const i=null==(e=null==(s=this.owner)?void 0:s.pickOrbNextTarget)?void 0:e.call(s,this.x,this.y,t); + if(!i)return void this.toBack(); + t=i,this.orbTarget=i,this.prevDist=1/0} + r=t.x,o=t.y} + else{ + if(!this.owner)return void this.remove(); + r=this.owner.x,o=this.owner.y} + const a=r-this.x,c=o-this.y,l=Math.sqrt(a*a+c*c)||1; + let u=Math.atan2(c,a); + if(this.arcT<t.ARC_FADE){ + const i=1-this.arcT/t.ARC_FADE; + u+=this.arcSign*this.arcAmount*i*i,this.arcT++} + let d=Math.atan2(Math.sin(u-this.heading),Math.cos(u-this.heading)),f=this.turnRadius,p=this.orbSpeed; + 1===this.mode&&(p*=t.BACK_SPEED_MULT,f=Math.max(t.R_BACK_NEAR,Math.min(t.R_BACK_FAR,l*t.R_BACK_RATIO))); + const g=p/Math.max(1,f); + d>g?d=g:d<-g&&(d=-g),this.heading+=d; + let m=this.orbSpeed; + if(this.isChild&&this.arcT<t.ACCEL_FRAMES){ + const i=this.arcT/t.ACCEL_FRAMES; + m=t.SPREAD_SPEED+(m-t.SPREAD_SPEED)*i,this.arcT++} + if(1===this.mode&&(m*=t.BACK_SPEED_MULT),this.x+=Math.cos(this.heading)*m,this.y+=Math.sin(this.heading)*m,this.faceHeading(),0===this.mode){ + if(this.noHitT>0)return this.noHitT--,void(this.prevDist=l); + const i=l>this.prevDist&&l<this.hitDist*t.HIT_PASS_RATIO; + this.prevDist=l,(l<=this.hitDist||i)&&this.hit()} + else l<=this.homeDist&&(null==(h=null==(n=this.owner)?void 0:n.onOrbReturned)||h.call(n,this.x,this.y),this.remove())} + hit(){ + var t,i; + const s=this.orbTarget; + this.owner&&this.owner.isAlive&&s&&s.isAlive&&this.owner.doDamage(s,this.orbDamage,!0); + const e=bV.getEffect(SH.FireSpiritExplosion1); + e.x=this.x,e.y=this.y,kB.getInstance().addChild(e),e.start(30),e.scale.set(e.orgScale*(this.isChild?.3:.42)),this.canSplit&&(null==(i=null==(t=this.owner)?void 0:t.spawnOrbSplit)?void 0:i.call(t,this.x,this.y,s,this.heading))?this.remove():this.toBack()} + hasEnemyNear(t){ + if(!this.owner)return!1; + const i=t*t; + for(const s of this.owner.enemyList){ + if(!s||!s.isAlive||s.isUntagetable)continue; + const t=s.x-this.x,e=s.y-this.y; + if(t*t+e*e<=i)return!0} + return!1} + detonate(){ + const i=bV.getEffect(SH.FireSpiritExplosion1); + if(i.x=this.x,i.y=this.y,kB.getInstance().addChild(i),i.start(40),i.scale.set(i.orgScale*t.BLAST_FX_SCALE),this.owner&&this.owner.isAlive){ + const i=this.blastRadius*this.blastRadius,s=this.owner.atkDmg*this.burnTick,e=[]; + for(const t of this.owner.enemyList){ + if(!t||!t.isAlive||t.isUntagetable)continue; + const s=t.x-this.x,n=t.y-this.y,h=s*s+n*n; + h>i||e.push({ + e:t,d:h} + )} + e.sort((t,i)=>t.d-i.d),e.length>t.BLAST_MAX_TARGETS&&(e.length=t.BLAST_MAX_TARGETS); + for(const{ + e:t} + of e)this.owner.doDamage(t,this.blastDamage,!0),t.addDotDamage(s,this.burnDur,this.burnInterval,this.owner,this.burnId),t.burn(Math.floor(this.burnDur/2),this.owner)} + this.remove()} + toBack(){ + 1!==this.mode&&(this.mode=1,this.orbTarget=null,this.arcT=t.ARC_FADE,this.wanderT=t.WANDER_AFTER_HIT)} + affectEnemy(i){ + this.pathDamage<=0||this.owner&&this.owner.isAlive&&i.isAlive&&i!==this.orbTarget&&(this.pathHitSet.has(i)||this.pathHitSet.size>=t.PATH_MAX||(this.pathHitSet.add(i),this.owner.doDamage(i,this.pathDamage,!0)))} + } + ; + Xt(KQ,"FireOrb1"),Yt(KQ,"HIT_DIST",22),Yt(KQ,"CATCH_DIST",26),Yt(KQ,"R_TURN_PARENT",73),Yt(KQ,"R_TURN_CHILD",37),Yt(KQ,"HIT_DIST_CHILD",40),Yt(KQ,"CHILD_ARM",5),Yt(KQ,"R_BACK_FAR",95),Yt(KQ,"R_BACK_NEAR",26),Yt(KQ,"R_BACK_RATIO",.55),Yt(KQ,"BACK_SPEED_MULT",.72),Yt(KQ,"WANDER_AFTER_HIT",16),Yt(KQ,"WANDER_NO_TARGET",30),Yt(KQ,"WANDER_CURL",.042),Yt(KQ,"HIT_PASS_RATIO",2.2),Yt(KQ,"ARC",.17),Yt(KQ,"ARC_WIDE",.65),Yt(KQ,"ARC_FADE",11),Yt(KQ,"LIFE",300),Yt(KQ,"PATH_R_MAIN",26),Yt(KQ,"PATH_R_CHILD",20),Yt(KQ,"PATH_MAX",4),Yt(KQ,"PATH_STEP_RATIO",.6),Yt(KQ,"PATH_TICK_MAX",10),Yt(KQ,"SC_HIT_R",30),Yt(KQ,"BLAST_MAX_TARGETS",3),Yt(KQ,"BLAST_FX_SCALE",.62),Yt(KQ,"SPREAD_FRAMES",7),Yt(KQ,"SPREAD_SPEED",19),Yt(KQ,"SPREAD_DIST_RATIO",.4),Yt(KQ,"SPREAD_MIN",2),Yt(KQ,"ACCEL_FRAMES",8); + let zQ=KQ; + const qQ=class extends EV{ + initializeTextureName(){ + this.sheetName="Game2",this.className=MV.MedusaArrow1,this.textureName="MedusaArrow"} + initializeData(){ + this.hitClassName="MagicalHitEffect",this.g=0,this.speed=7,this.flyEnd=24,this.incFrame=1} + generateSprite(){ + super.generateSprite(),this.sp&&(this.sp.anchor.set(.5,.5),this.sp.scale.x=-Math.abs(this.sp.scale.x))} + onHitMain(){ + var t,i; + null!=this.target&&(null==(i=null==(t=this.owner)?void 0:t.onSnakeStick)||i.call(t,this.target))} + } + ; + Xt(qQ,"MedusaArrow1"); + let XQ=qQ; + const YQ=class t extends EV{ + constructor(){ + super(...arguments),Yt(this,"groundTargetX",null),Yt(this,"groundTargetY",null),Yt(this,"groundLife",0),Yt(this,"makesPillar",!0)} + initializeTextureName(){ + this.sheetName="Game",this.className=MV.NagaIceArrow1,this.textureName="NormalArrow"} + initializeData(){ + this.hitClassName="",this.g=0,this.speed=10,this.flyEnd=2,this.incFrame=1} + setData(t=1){ + super.setData(t),this.groundTargetX=null,this.groundTargetY=null,this.groundLife=0,this.makesPillar=!0} + setupGroundShot(t,i,s){ + this.groundTargetX=t,this.groundTargetY=i,this.groundLife=0,this.delay=s,this.removed=!1,this.visible=!0} + execute(){ + null==this.groundTargetX||null==this.groundTargetY?super.execute():this.executeGroundShot(this.groundTargetX,this.groundTargetY)} + executeGroundShot(i,s){ + var e,n; + if(this.removed)return; + if(--this.delay>0)return void(this.visible=!1); + this.visible=!0,this.x+=this.vx,this.y+=this.vy,this.currentFrame+=this.incFrame,this.currentFrame>=this.flyEnd&&(this.currentFrame=0),this.sp&&this.textures&&this.textures.length>0&&(this.sp.texture=this.textures[Math.floor(this.currentFrame)]); + const h=i-this.x,r=s-this.y; + if(h*h+r*r<=this.vx*this.vx+this.vy*this.vy)return this.x=i,this.y=s,null==(n=null==(e=this.owner)?void 0:e.onGroundStrike)||n.call(e,i,s),void this.remove(); + (this.isOutOfField(100)||++this.groundLife>t.GROUND_MAX_LIFE)&&this.remove()} + onHitMain(){ + var t,i; + null!=this.target&&(null==(i=null==(t=this.owner)?void 0:t.onIceHit)||i.call(t,this.target,this.makesPillar))} + onHit(){ + var t,i; + null==this.target||this.target.isAlive||null==(i=null==(t=this.owner)?void 0:t.onIceHit)||i.call(t,this.target),super.onHit()} + remove(){ + this.groundTargetX=null,this.groundTargetY=null,this.groundLife=0,super.remove()} + } + ; + Xt(YQ,"NagaIceArrow1"),Yt(YQ,"GROUND_MAX_LIFE",120); + let JQ=YQ; + const QQ=class t extends EV{ + constructor(){ + super(...arguments),Yt(this,"healPercent",0),Yt(this,"lifeT",0),Yt(this,"launchT",0),Yt(this,"startDelay",0),Yt(this,"curSpeed",0),Yt(this,"aimTarget",null)} + initializeTextureName(){ + this.sheetName="Game2",this.className=MV.HippogriffMissile1,this.textureName="HippogriffMissile"} + initializeData(){ + this.hitClassName="",this.g=0,this.speed=t.MAX_SPEED,this.flyEnd=1,this.incFrame=0} + generateSprite(){ + super.generateSprite(),this.sp&&(this.sp.anchor.set(.5,.5),this.sp.scale.x=-Math.abs(this.sp.scale.x))} + setHeal(i){ + this.healPercent=i,this.sp&&(this.sp.tint=i>0?t.HEAL_TINT:16777215)} + launchHoming(i,s,e=0){ + this.lifeT=0,this.launchT=0,this.startDelay=e,this.curSpeed=t.LAUNCH_SPEED,this.aimTarget=s,this.rotation=i,this.vx=Math.cos(i)*this.curSpeed,this.vy=Math.sin(i)*this.curSpeed,this.resolvedHitClassName=this.hitClassName||this.getDefaultHitEffect(),this.removed=!1,this.visible=e<=0,this.alpha=1} + execute(){ + if(this.removed)return; + if(this.startDelay>0)return this.startDelay--,void(this.visible=this.startDelay<=0); + if(++this.lifeT>t.LIFETIME_MAX)return void this.remove(); + if(!this.aimTarget||this.aimTarget.isAlive&&!this.aimTarget.removed||(this.aimTarget=null),this.aimTarget){ + const i=this.aimTarget.getHitCenter(),s=i.x-this.x,e=i.y-this.y,n=Math.atan2(e,s); + let h; + if(this.launchT<t.LAUNCH_FRAMES)h=t.LAUNCH_TURN; + else{ + const i=Math.max(t.TURN_MIN_DIST,Math.hypot(s,e)),n=this.curSpeed/i*t.TURN_GAIN; + h=Math.min(t.MAX_TURN,Math.max(t.HOMING_TURN,n))} + this.rotation=t.turnToward(this.rotation,n,h)} + this.launchT++,this.curSpeed=Math.min(t.MAX_SPEED,this.curSpeed+t.ACCEL); + const i=this.x,s=this.y; + if(this.x+=Math.cos(this.rotation)*this.curSpeed,this.y+=Math.sin(this.rotation)*this.curSpeed,this.aimTarget&&this.owner){ + const e=this.aimTarget.getHitCenter(),n=t.HIT_RADIUS; + if(t.segDistSq(i,s,this.x,this.y,e.x,e.y)<=n*n)return this.healPercent>0?this.aimTarget.heal(this.healPercent,this.owner,!0):(this.owner.doDamage(this.aimTarget,this.damagePercent,!0),this.showHitEffect(this.resolvedHitClassName)),void this.remove()} + this.isOutOfField(50)&&this.remove()} + static segDistSq(t,i,s,e,n,h){ + const r=s-t,o=e-i,a=r*r+o*o; + let c=a>0?((n-t)*r+(h-i)*o)/a:0; + c<0?c=0:c>1&&(c=1); + const l=t+r*c-n,u=i+o*c-h; + return l*l+u*u} + static turnToward(t,i,s){ + let e=i-t; + for(; + e>Math.PI; + )e-=2*Math.PI; + for(; + e<-Math.PI; + )e+=2*Math.PI; + return e>s?e=s:e<-s&&(e=-s),t+e} + } + ; + Xt(QQ,"HippogriffMissile1"),Yt(QQ,"LAUNCH_SPEED",5),Yt(QQ,"LAUNCH_FRAMES",5),Yt(QQ,"LAUNCH_TURN",.08),Yt(QQ,"HOMING_TURN",.24),Yt(QQ,"TURN_GAIN",1.8),Yt(QQ,"MAX_TURN",.75),Yt(QQ,"TURN_MIN_DIST",24),Yt(QQ,"ACCEL",.9),Yt(QQ,"MAX_SPEED",15),Yt(QQ,"HIT_RADIUS",24),Yt(QQ,"LIFETIME_MAX",200),Yt(QQ,"HEAL_TINT",13631456); + let ZQ=QQ; + const tZ=class extends EV{ + initializeTextureName(){ + this.sheetName="Game2",this.className=MV.HippogriffSpear1,this.textureName="HippogriffSpear"} + initializeData(){ + this.hitClassName="",this.g=0,this.speed=12,this.flyEnd=1,this.incFrame=0,this.orientToPath=!0} + generateSprite(){ + super.generateSprite(),this.sp&&(this.sp.anchor.set(.5,.5),this.sp.scale.x=-Math.abs(this.sp.scale.x))} + } + ; + Xt(tZ,"HippogriffSpear1"); + let iZ=tZ; + const sZ=class extends EV{ + constructor(){ + super(...arguments),Yt(this,"missileSpeed",10),Yt(this,"turnRate",.18),Yt(this,"maxAngleY",.54),Yt(this,"maxLifeTime",90),Yt(this,"heading",0)} + initializeTextureName(){ + this.className=MV.SteamFire1,this.textureName=MV.PilotMissile1,this.scale.set(.8)} + initializeData(){ + this.hitClassName="FireExplode",this.g=0,this.speed=this.missileSpeed,this.flyEnd=0,this.incFrame=1,this.orientToPath=!1} + calculateTrajectory(){ + if(!this.target)return; + const t=this.target.getHitCenter().x-this.x; + this.heading=t>=0?0:Math.PI,this.vx=Math.cos(this.heading)*this.missileSpeed,this.vy=0,this.rotation=this.heading,this.t=0,this.T=this.maxLifeTime} + execute(){ + if(--this.delay>0)this.rotation=0; + else{ + if(this.t++,this.t%2==0&&this.showSmoke(),this.target&&!this.target.removed&&this.target.isAlive||this.retarget(80),this.t<=3); + else if(this.target&&!this.target.removed){ + const t=this.target.getHitCenter(),i=t.x-this.x,s=t.y-this.y; + let e=Math.atan2(s,i)-this.heading; + for(; + e>Math.PI; + )e-=2*Math.PI; + for(; + e<-Math.PI; + )e+=2*Math.PI; + const n=this.t>.6*this.T?3*this.turnRate:this.turnRate; + e>n&&(e=n),e<-n&&(e=-n),this.heading+=e} + if(this.vx=Math.cos(this.heading)*this.missileSpeed,this.vy=Math.sin(this.heading)*this.missileSpeed,this.x+=this.vx,this.y+=this.vy,this.rotation=this.heading,this.currentFrame+=this.incFrame,this.currentFrame>=this.flyEnd&&(this.currentFrame=0),this.sp&&this.textures.length>0&&(this.sp.texture=this.textures[Math.floor(this.currentFrame)]),this.checkEarlyCollision())this.onHit(); + else if(this.t>=this.T){ + if(this.target&&!this.target.removed){ + const t=this.target.getHitCenter(); + this.x=t.x,this.y=t.y} + this.onHit()} + } + } + retarget(t){ + if(!this.owner||!this.owner.enemyList)return; + let i=null,s=t*t; + for(const e of this.owner.enemyList){ + if(!e.isAlive||e.isUntagetable)continue; + const t=e.x-this.x,n=e.y-this.y,h=t*t+n*n; + h<s&&(i=e,s=h)} + i&&(this.target=i)} + onHitMain(){ + if(this.target&&this.target.isAlive){ + const t=this.owner&&this.owner.evolStage>=1,i=t?.4:.3,s=t?50:40; + this.random.chance(i)&&this.target.stun(s,this.owner??void 0)} + if(!this.owner||!this.owner.enemyList)return; + let t=0; + for(const i of this.owner.enemyList){ + if(!i.isAlive||i===this.target||i.isUntagetable)continue; + const s=this.x-i.x; + if(Math.abs(s)>35)continue; + const e=this.y-i.y; + if(!(Math.abs(e)>35)&&s*s+e*e<625&&(this.owner.doDamage(i,.4,!0),++t>=3))break} + this.showSmoke()} + showSmoke(){ + const t=bV.getEffect(SH.PilotMissileSmoke1); + t.x=this.x,t.y=this.y,t.setBattleController(this.battleController||hli.getInstance()),t.start(25),kB.getInstance().addChild(t)} + } + ; + Xt(sZ,"SteamFire1"); + let eZ=sZ; + const nZ=class extends EV{ + constructor(){ + super(...arguments),Yt(this,"hitSet",new Set)} + initializeTextureName(){ + this.sheetName="Game1",this.className=MV.SteamMissile1,this.textureName=MV.SteamMissile1,this.scale.x=.5,this.scale.y=.2} + initializeData(){ + this.hitClassName="PhysicalHitEffect",this.g=0,this.speed=11,this.flyEnd=2,this.incFrame=1} + play(){ + this.hitSet.clear(),super.play()} + onHit(){ + this.owner&&this.target?(this.target.isAlive&&!this.hitSet.has(this.target)&&(this.hitSet.add(this.target),this.owner.doDamage(this.target,this.damagePercent,!0)&&(this.onHitMain(),this.showHitEffect(this.resolvedHitClassName))),this.target=null):this.remove()} + checkEarlyCollision(){ + if(this.target&&!this.target.removed)return super.checkEarlyCollision(); + if(!this.owner)return!1; + for(const t of this.owner.enemyList){ + if(!t||!t.isAlive||this.hitSet.has(t))continue; + const i=t.getHitCenter(),s=Math.abs(i.x-this.x),e=Math.abs(i.y-this.y),n=.3*t.hitWidth,h=.3*t.hitHeight; + if(s<n&&e<h)return this.target=t,!0} + return!1} + remove(){ + this.hitSet.clear(),super.remove()} + } + ; + Xt(nZ,"SteamMissile1"); + let hZ=nZ; + const rZ=class t extends EV{ + constructor(){ + super(...arguments),Yt(this,"dirX",1),Yt(this,"dirY",0)} + initializeTextureName(){ + this.className=MV.SylphidShuriken1,this.textureName="SylphidShuriken1"} + initializeData(){ + this.sheetName="Game1",this.g=0,this.speed=t.FIXED_SPEED,this.minT=12,this.maxT=90,this.flyEnd=1,this.incFrame=1,this.weaponScale=1.4,this.orientToPath=!1,this.vr=.45,this.bounceRange=220} + calculateTrajectory(){ + if(!this.target)return; + const i=this.target.getHitCenter(); + this.offsetX=0,this.offsetY=.3*-this.target.hitHeight; + const s=i.x+this.offsetX-this.x,e=i.y+this.offsetY-this.y,n=Math.sqrt(s*s+e*e)||1; + this.dirX=s/n,this.dirY=e/n,this.T=Math.max(this.minT,Math.min(this.maxT,n/t.FIXED_SPEED)),this.vx=this.dirX*t.FIXED_SPEED,this.vy=this.dirY*t.FIXED_SPEED,this.t=0} + execute(){ + if(!this.removed)if(this.t++,this.x+=this.dirX*t.FIXED_SPEED,this.y+=this.dirY*t.FIXED_SPEED,this.rotation+=this.vr,this.sp&&this.textures.length>0&&(this.sp.texture=this.textures[0]),this.checkEarlyCollision())this.onHit(); + else if(this.t>=this.T){ + if(this.target&&!this.target.removed&&this.target.isAlive)return void this.onHit(); + this.t>=this.T+30&&this.remove()} + } + onHitMain(){ + if(!this.target)return; + const t=bV.getEffect(SH.ElfGlowing1); + t.x=this.target.x,t.y=this.target.y-.5*this.target.hitHeight,t.start(30),kB.getInstance().addChild(t); + const i=this.owner; + i&&i.isAlive&&"function"==typeof i.onShurikenHit&&i.onShurikenHit()} + } + ; + Xt(rZ,"SylphidShuriken1"),Yt(rZ,"FIXED_SPEED",8); + let oZ=rZ; + const aZ=class t extends EV{ + constructor(){ + super(...arguments),Yt(this,"lifeTimer",0),Yt(this,"hitTimer",0),Yt(this,"dirAngle",0),Yt(this,"launched",!1),Yt(this,"circleEffect",null)} + initializeTextureName(){ + this.className=MV.SylphidTornado1,this.textureName="ElfTornado1"} + initializeData(){ + this.sheetName="Game1",this.g=0,this.speed=t.SPEED,this.incFrame=.4,this.weaponScale=1.6,this.orientToPath=!1,this.vr=0} + generateSprite(){ + super.generateSprite(),this.flyEnd=Math.max(1,this.textures.length)} + play(){ + this.lifeTimer=0,this.hitTimer=0,this.launched=!1,this.rotation=0,this.visible=!0,this.removed=!1,this.parent&&this.parent.removeChild(this),IB.getInstance().addChild(this),this.circleEffect=bV.getEffect(SH.ElfMagicCircle1),this.circleEffect.x=this.x,this.circleEffect.y=this.y+10,this.circleEffect.scale.set(1.2),this.circleEffect.start(t.LIFETIME+10),IB.getInstance().addChild(this.circleEffect),(this.battleController||hli.getInstance()).addWeapon(this)} + execute(){ + if(!this.removed)if(this.lifeTimer++,this.hitTimer++,this.lifeTimer>=t.LIFETIME)this.explodeAndRemove(); + else{ + if(this.launched)this.dirAngle+=2*(Math.random()-.5)*t.TURN_RATE; + else if(this.launched=!0,this.target&&this.target.isAlive){ + const t=this.target.x-this.x,i=this.target.y-this.y; + this.dirAngle=Math.atan2(i,t)} + else this.dirAngle=Math.random()*Math.PI*2; + this.x+=Math.cos(this.dirAngle)*t.SPEED,this.y+=Math.sin(this.dirAngle)*t.SPEED,this.circleEffect&&!this.circleEffect.removed&&(this.circleEffect.x=this.x,this.circleEffect.y=this.y+10),this.currentFrame+=this.incFrame,this.currentFrame>=this.flyEnd&&(this.currentFrame=0),this.sp&&(this.sp.texture=this.textures[Math.floor(this.currentFrame)]),this.suckNearby(),this.hitTimer>=t.HIT_INTERVAL&&(this.hitTimer=0,this.damageAndBindNearby())} + } + suckNearby(){ + if(!this.owner)return; + const i=t.SUCK_RADIUS*t.SUCK_RADIUS; + for(const s of this.owner.enemyList){ + if(s.removed||!s.isAlive||s.isUntagetable||s.isImmovable||s.knockImmune)continue; + const e=s.x-this.x,n=s.y-this.y,h=e*e+n*n; + if(h>i||h<1)continue; + const r=Math.sqrt(h),o=t.SUCK_SPEED*(1-r/t.SUCK_RADIUS); + s.x-=e/r*o,s.y-=n/r*o,s.tx=s.x,s.ty=s.y} + } + damageAndBindNearby(){ + if(!this.owner||!this.owner.isAlive)return; + const i=t.HIT_RADIUS*t.HIT_RADIUS; + for(const s of this.owner.enemyList){ + if(!s.isAlive||s.isUntagetable)continue; + const e=s.x-this.x,n=s.y-this.y; + e*e+n*n<=i&&(this.owner.doDamage(s,t.DMG_PER_TICK,!0),this.bindEnemy(s))} + } + bindEnemy(i){ + i.binding(t.BIND_DURATION,!1,this.owner??void 0); + const s=i.effectList; + for(let n=0; + n<s.length; + n++)if(s[n].className===SH.ElfBindEffect1)return void s[n].setDuration(t.BIND_DURATION); + const e=bV.getEffect(SH.ElfBindEffect1); + e.x=0,e.y=-2,e.start(t.BIND_DURATION),e.owner=i,i.addChild(e),i.effectList.push(e)} + blowNearby(){ + if(!this.owner)return; + const i=t.BLOW_RADIUS*t.BLOW_RADIUS; + for(const s of this.owner.enemyList){ + if(!s.isAlive||s.isUntagetable)continue; + const e=s.x-this.x,n=s.y-this.y,h=e*e+n*n; + if(h>i||h<1)continue; + const r=Math.sqrt(h),o=e/r*t.BLOW_SPEED,a=n/r*t.BLOW_SPEED; + s.knockBack(o,a,t.BLOW_DURATION)} + } + explodeAndRemove(){ + if(this.removed)return; + this.blowNearby(); + const t=bV.getEffect(SH.ElfExplodeEffect1); + t.x=this.x,t.y=this.y,t.scale.set(2),t.start(60),kB.getInstance().addChild(t),this.circleEffect&&!this.circleEffect.removed&&this.circleEffect.remove(),this.circleEffect=null,super.remove()} + remove(){ + this.explodeAndRemove()} + } + ; + Xt(aZ,"SylphidTornado1"),Yt(aZ,"SPEED",1.2),Yt(aZ,"LIFETIME",300),Yt(aZ,"HIT_RADIUS",50),Yt(aZ,"HIT_INTERVAL",30),Yt(aZ,"DMG_PER_TICK",.6),Yt(aZ,"BIND_DURATION",30),Yt(aZ,"TURN_RATE",.08),Yt(aZ,"SUCK_RADIUS",70),Yt(aZ,"SUCK_SPEED",1.8),Yt(aZ,"BLOW_RADIUS",90),Yt(aZ,"BLOW_SPEED",12),Yt(aZ,"BLOW_DURATION",10); + let cZ=aZ; + const lZ=class t extends EV{ + constructor(){ + super(...arguments),Yt(this,"orbitCenterX",0),Yt(this,"orbitCenterY",0),Yt(this,"orbitAngle",0),Yt(this,"orbitRadius",0),Yt(this,"orbitSpeed",.12),Yt(this,"orbitOwner",null),Yt(this,"orbitPhase",0),Yt(this,"orbitTimer",0),Yt(this,"orbitDir",1),Yt(this,"inStorm",!1),Yt(this,"oneShot",!1),Yt(this,"goblinTarget",null),Yt(this,"straight",!1),Yt(this,"tgtX",0),Yt(this,"tgtY",0),Yt(this,"launchDelay",0),Yt(this,"hitCooldowns",new Map),Yt(this,"flyStartX",0),Yt(this,"flyStartY",0),Yt(this,"flyTargetX",0),Yt(this,"flyTargetY",0),Yt(this,"burstVx",0),Yt(this,"burstVy",0),Yt(this,"burstTimer",0),Yt(this,"lifeTimer",0),Yt(this,"lifeDuration",1200),Yt(this,"flying",!1),Yt(this,"coinGravity",.18),Yt(this,"landY",0)} + initializeTextureName(){ + this.sheetName="Game1",this.className=MV.AladinCoin1,this.textureName=MV.AladinCoin1,this.scale.set(.8)} + initializeData(){ + 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} + play(){ + this.visible=!0,this.removed=!1,this.resolvedHitClassName=this.hitClassName||"PhysicalHitEffect",(this.battleController||hli.getInstance()).addWeapon(this)} + launch(i,s,e=!1){ + const n=i-this.x,h=s-this.y; + if(e){ + this.straight=!0,this.tgtX=i,this.tgtY=s; + const e=Math.sqrt(n*n+h*h)||1; + return this.vx=n/e*t.STRAIGHT_SPEED,this.vy=h/e*t.STRAIGHT_SPEED,void(this.flying=!0)} + this.landY=s; + const r=Math.max(12,Math.floor(Math.abs(n)/4+Math.abs(h)/10)); + this.vx=n/r,this.vy=h/r-this.coinGravity*(r-1)*.6,this.flying=!0} + get isOrbiting(){ + return 0!==this.orbitPhase} + get isStormOrbiting(){ + return 4===this.orbitPhase} + absorbIntoStorm(t,i,s,e,n){ + if(0!==this.orbitPhase)return!1; + if(this.removed)return!1; + this.inStorm=!0,this.flying=!1,this.vx=0,this.vy=0,this.orbitCenterX=t,this.orbitCenterY=i; + const h=this.x-t,r=(this.y-i)/.6; + return this.orbitAngle=h*h+r*r>1?Math.atan2(r,h):0,this.orbitRadius=s,this.orbitSpeed=e,this.orbitDir=n,this.orbitPhase=4,this.orbitTimer=0,this.lifeTimer=0,!0} + releaseFromStorm(){ + if(4!==this.orbitPhase)return; + const t=16+6*this.random.next(); + this.burstVx=Math.cos(this.orbitAngle)*t,this.burstVy=Math.sin(this.orbitAngle)*t*.9; + const i=Math.sin(this.orbitAngle); + this.landY=this.orbitCenterY+115+110*Math.max(0,i),this.orbitPhase=3,this.burstTimer=0,this.inStorm=!1} + lift(){ + 0===this.orbitPhase&&(this.y-=4+4*Math.random())} + joinPath(t,i,s,e,n){ + this.flying=!1,this.vx=0,this.vy=0,this.orbitCenterX=t,this.orbitCenterY=i,this.orbitSpeed=e,this.orbitDir=n,this.orbitRadius=s,this.orbitOwner=null,this.orbitTimer=0,this.lifeTimer=0; + const h=this.x-t,r=this.y-i; + this.orbitAngle=Math.atan2(r/.6,h),this.flyStartX=this.x,this.flyStartY=this.y,this.flyTargetX=t+Math.cos(this.orbitAngle)*s,this.flyTargetY=i+Math.sin(this.orbitAngle)*s*.6,this.orbitPhase=1} + startLane(t,i,s,e,n){ + this.joinPath(t,i,s,e,n)} + startOrbit(t,i,s,e,n=null){ + this.joinPath(t,i,120,e,this.random.next()<.6?1:-1),this.orbitOwner=n} + startCapture(t,i,s,e,n,h,r=null){ + this.joinPath(t,i,120,h,n),this.orbitOwner=r} + execute(){ + if(!this.removed)if(this.launchDelay>0)this.launchDelay--; + else{ + if(1===this.orbitPhase){ + const i=this.orbitTimer/t.FLY_FRAMES,s=1-(1-i)*(1-i); + return this.x=this.flyStartX+(this.flyTargetX-this.flyStartX)*s,this.y=this.flyStartY+(this.flyTargetY-this.flyStartY)*s,void(++this.orbitTimer>=t.FLY_FRAMES&&(this.x=this.flyTargetX,this.y=this.flyTargetY,this.orbitTimer=0,this.orbitPhase=2))} + if(2!==this.orbitPhase){ + if(4===this.orbitPhase)return this.orbitAngle+=this.orbitSpeed*this.orbitDir,this.x=this.orbitCenterX+Math.cos(this.orbitAngle)*this.orbitRadius,void(this.y=this.orbitCenterY+Math.sin(this.orbitAngle)*this.orbitRadius*.6); + if(3===this.orbitPhase)return this.x+=this.burstVx,this.y+=this.burstVy,this.burstVx*=.95,this.burstVy=.95*this.burstVy+.8,this.checkOrbitHit(),this.burstVy>0&&this.y>=this.landY?(this.y=this.landY,this.orbitPhase=0,this.lifeTimer=0,void(this.flying=!1)):void(++this.burstTimer>=t.BURST_FRAMES&&(this.orbitPhase=0,this.lifeTimer=0,this.landY=this.y,this.flying=!1)); + if(this.flying&&this.straight){ + this.x+=this.vx,this.y+=this.vy,this.rotation+=.4; + const t=this.tgtX-this.x,i=this.tgtY-this.y; + if(t*this.vx+i*this.vy<=0||t*t+i*i<100){ + if(this.oneShot)return this.oneShotHit(),void this.remove(); + this.flying=!1} + return} + if(this.flying)return this.x+=this.vx,this.y+=this.vy,this.vy+=this.coinGravity,this.vy>0&&this.y>=this.landY&&(this.y=this.landY,this.vx=0,this.vy=0,this.flying=!1,this.oneShot)?(this.oneShotHit(),void this.remove()):void 0; + ++this.lifeTimer>=this.lifeDuration&&(this.owner&&"function"==typeof this.owner.onCoinExpired&&this.owner.onCoinExpired(),this.remove())} + else if(this.orbitAngle+=this.orbitSpeed*this.orbitDir,this.x=this.orbitCenterX+Math.cos(this.orbitAngle)*this.orbitRadius,this.y=this.orbitCenterY+Math.sin(this.orbitAngle)*this.orbitRadius*.6,this.checkOrbitHit(),++this.orbitTimer>=t.ORBIT_FRAMES)if(this.inStorm)this.orbitPhase=4,this.orbitTimer=0; + else{ + const t=12+6*this.random.next(),i=-Math.sin(this.orbitAngle)*this.orbitDir,s=Math.cos(this.orbitAngle)*this.orbitDir*.6,e=Math.sqrt(i*i+s*s); + this.burstVx=i/e*t,this.burstVy=s/e*t,this.landY=this.orbitCenterY+115,this.orbitPhase=3,this.burstTimer=0} + } + } + oneShotHit(){ + if(this.goblinTarget)return this.goblinTarget.hitByHero(),void(this.goblinTarget=null); + if(!this.owner)return; + const i=this.owner,s=this.damagePercent>0?this.damagePercent:.6,e=this.target; + if(e&&e.isAlive&&!e.isUntagetable)return void i.doDamage(e,s,!0); + const n=t.ONESHOT_RADIUS*t.ONESHOT_RADIUS; + for(const t of i.enemyList){ + if(!t.isAlive||t.isUntagetable)continue; + const e=t.x-this.x,h=t.y-this.y; + if(e*e+h*h<=n)return void i.doDamage(t,s,!0)} + } + checkOrbitHit(){ + if(!this.owner)return; + const i=this.owner,s=4===this.orbitPhase||3===this.orbitPhase,e=s?22:20,n=s?250:20,h=e*e,r=n*n,o="number"==typeof i.goldDmgMultiplier?i.goldDmgMultiplier:1,a=(this.damagePercent>0?this.damagePercent:.6)*o; + for(const[t,c]of this.hitCooldowns)c<=1?this.hitCooldowns.delete(t):this.hitCooldowns.set(t,c-1); + for(const c of i.enemyList){ + if(s&&t.burstHitCount>=t.BURST_TOTAL_HIT_CAP)break; + if(!c.isAlive||c.isUntagetable)continue; + if(this.hitCooldowns.has(c))continue; + const e=c.x-this.x,n=c.y-this.y; + e*e/h+n*n/r<=1&&(i.doDamage(c,a,!0),this.hitCooldowns.set(c,t.HIT_COOLDOWN),s&&t.burstHitCount++)} + } + } + ; + Xt(lZ,"AladinCoin1"),Yt(lZ,"ONESHOT_RADIUS",34),Yt(lZ,"STRAIGHT_SPEED",12),Yt(lZ,"HIT_COOLDOWN",30),Yt(lZ,"BURST_TOTAL_HIT_CAP",10),Yt(lZ,"burstHitCount",0),Yt(lZ,"FLY_FRAMES",40),Yt(lZ,"ORBIT_FRAMES",140),Yt(lZ,"BURST_FRAMES",60),Yt(lZ,"MAP_MIN_X",60),Yt(lZ,"MAP_MAX_X",580),Yt(lZ,"MAP_MIN_Y",60),Yt(lZ,"MAP_MAX_Y",580); + let uZ=lZ; + const dZ=class t extends EV{ + constructor(){ + super(...arguments),Yt(this,"pierceTimer",0),Yt(this,"hitCooldowns",new Map)} + initializeTextureName(){ + this.className=MV.BladeWave1,this.textureName="BladeWave10",this.sheetName="Game1"} + initializeData(){ + this.hitClassName="PhysicalHitEffect",this.g=0,this.speed=9,this.flyEnd=8,this.incFrame=1} + setData(i=1){ + super.setData(i),this.pierceTimer=0,this.hitCooldowns.clear(),this.sp&&this.sp.scale.set(t.SCALE)} + play(){ + this.visible=!0,this.removed=!1,this.isActive=!0,this.resolvedHitClassName=this.hitClassName||"PhysicalHitEffect",this.battleController&&this.battleController.addWeapon(this)} + calculateTrajectory(){ + } + execute(){ + if(this.removed)return; + if(this.pierceTimer++,this.pierceTimer>=t.LIFETIME)return void super.remove(); + this.x+=this.vx,this.y+=this.vy,this.currentFrame+=this.incFrame,this.currentFrame>=this.flyEnd&&(this.currentFrame=0); + const i=Math.floor(this.currentFrame); + this.sp&&i<this.textures.length&&(this.sp.texture=this.textures[i]),this.isOutOfField(260)?super.remove():this.checkPierceHit()} + checkPierceHit(){ + if(!this.owner)return; + const i=t.HIT_RADIUS*t.HIT_RADIUS; + for(const[t,s]of this.hitCooldowns)s<=1?this.hitCooldowns.delete(t):this.hitCooldowns.set(t,s-1); + for(const t of this.owner.enemyList){ + if(!t.isAlive||t.isUntagetable)continue; + if(this.hitCooldowns.has(t))continue; + const s=t.x-this.x,e=t.y-this.y; + if(s*s+e*e<=i){ + const i=this.owner.evolStage>=1; + this.owner.doDamage(t,this.damagePercent,!0),this.showHitEffect(this.resolvedHitClassName),i&&t.knockBack(this.vx>0?2:-2,-1,20),this.hitCooldowns.set(t,20)} + } + } + } + ; + Xt(dZ,"BladeWave1"),Yt(dZ,"SCALE",3),Yt(dZ,"HIT_RADIUS",35),Yt(dZ,"LIFETIME",100); + let fZ=dZ; + const pZ=class t extends EV{ + constructor(){ + super(...arguments),Yt(this,"pierceTimer",0),Yt(this,"hitCooldowns",new Map),Yt(this,"uniqueTargets",new Set)} + initializeTextureName(){ + this.className=MV.SpinBlade,this.textureName=MV.SpinBlade,this.sheetName="Game1"} + initializeData(){ + this.hitClassName="PhysicalHitEffect",this.g=0,this.speed=9,this.flyEnd=6,this.incFrame=1} + setData(i=1){ + super.setData(i),this.pierceTimer=0,this.hitCooldowns?this.hitCooldowns.clear():this.hitCooldowns=new Map,this.uniqueTargets?this.uniqueTargets.clear():this.uniqueTargets=new Set,this.sp&&this.sp.scale.set(t.SCALE)} + play(){ + this.visible=!0,this.removed=!1,this.isActive=!0,this.resolvedHitClassName=this.hitClassName||"PhysicalHitEffect",this.battleController&&this.battleController.addWeapon(this)} + calculateTrajectory(){ + } + execute(){ + if(this.removed)return; + if(this.pierceTimer++,this.pierceTimer>=t.LIFETIME)return void super.remove(); + this.x+=this.vx,this.y+=this.vy,this.rotation+=.3,this.currentFrame+=this.incFrame,this.currentFrame>=this.flyEnd&&(this.currentFrame=0); + const i=Math.floor(this.currentFrame); + this.sp&&i<this.textures.length&&(this.sp.texture=this.textures[i]),this.isOutOfField(260)?super.remove():this.checkPierceHit()} + checkPierceHit(){ + if(!this.owner)return; + const i=t.HIT_RADIUS*t.HIT_RADIUS; + for(const[t,s]of this.hitCooldowns)s<=1?this.hitCooldowns.delete(t):this.hitCooldowns.set(t,s-1); + for(const s of this.owner.enemyList){ + if(!s.isAlive||s.isUntagetable)continue; + if(this.hitCooldowns.has(s))continue; + const e=s.x-this.x,n=s.y-this.y; + if(e*e+n*n<=i){ + if(!this.uniqueTargets.has(s)){ + if(this.uniqueTargets.size>=t.MAX_TARGETS)continue; + this.uniqueTargets.add(s)} + this.owner.doDamage(s,this.damagePercent,!0),this.showHitEffect(this.resolvedHitClassName),s.knockBack(this.vx>0?3:-3,-2,25),this.hitCooldowns.set(s,20)} + } + } + } + ; + Xt(pZ,"SpinBlade"),Yt(pZ,"SCALE",2),Yt(pZ,"HIT_RADIUS",22),Yt(pZ,"LIFETIME",100),Yt(pZ,"MAX_TARGETS",8); + let gZ=pZ; + const mZ=class t extends EV{ + constructor(){ + super(...arguments),Yt(this,"flightTimer",0),Yt(this,"hasHit",!1),Yt(this,"acquired",!1),Yt(this,"hitTarget",null),Yt(this,"hitFrame",0)} + initializeTextureName(){ + this.className=MV.CrowKnightBullet1,this.textureName=MV.CrowKnightBullet1,this.sheetName="Game1",this.scale.set(.8)} + initializeData(){ + this.hitClassName="MagicalHitEffect",this.g=0,this.speed=16,this.flyEnd=1,this.incFrame=0,this.flightTimer=0} + setData(t=1){ + super.setData(t),this.flightTimer=0,this.hasHit=!1,this.visible=!0,this.removed=!1,this.scale.set(.8),this.acquired=!1,this.hitTarget=null,this.hitFrame=0} + play(){ + this.visible=!0,this.removed=!1,this.isActive=!0,this.resolvedHitClassName=this.hitClassName||"MagicalHitEffect",(this.battleController||hli.getInstance()).addWeapon(this)} + calculateTrajectory(){ + } + acquireTarget(){ + this.acquired=!0,this.hitTarget=null,this.hitFrame=0; + const i=this.owner; + if(!i)return; + const s=Math.sqrt(this.vx*this.vx+this.vy*this.vy); + if(s<.001)return; + const e=this.vx/s,n=this.vy/s,h=t.HIT_RADIUS,r=h*h,o=s*t.LIFETIME,a=this.x,c=this.y; + let l=1/0,u=null; + const d=i.enemyList; + for(let t=0; + t<d.length; + t++){ + const i=d[t]; + if(!i.isAlive||i.isUntagetable)continue; + const s=i.x-a,h=i.y-i.hitHeight/2-i.airHeight-c,f=s*e+h*n; + if(f<0||f>o)continue; + const p=s*s+h*h-f*f; + if(p>r)continue; + const g=f-Math.sqrt(r-p); + g<l&&(l=g,u=i)} + u&&(this.hitTarget=u,this.hitFrame=Math.max(1,Math.round(Math.max(0,l)/s)))} + execute(){ + if(this.removed||this.hasHit)return; + if(this.flightTimer++,this.flightTimer>=t.LIFETIME)return void super.remove(); + if(this.x+=this.vx,this.y+=this.vy,this.isOutOfField(260))return void super.remove(); + if(!this.owner)return; + this.acquired||this.acquireTarget(); + const i=this.hitTarget; + if(i&&!(this.flightTimer<this.hitFrame)){ + if(i.isAlive&&!i.isUntagetable){ + const s=t.IMPACT_R,e=i.x-this.x,n=i.y-i.hitHeight/2-i.airHeight-this.y; + if(e*e+n*n<=s*s)return this.hasHit=!0,this.vx=0,this.vy=0,this.visible=!1,this.owner.doDamage(i,this.damagePercent,!0),this.showHitEffect(this.resolvedHitClassName),this.owner.evolStage>=1&&i.stun(30),void this.remove()} + this.flightTimer>this.hitFrame+t.GRACE&&(this.hitTarget=null)} + } + } + ; + Xt(mZ,"CrowKnightBullet1"),Yt(mZ,"LIFETIME",60),Yt(mZ,"HIT_RADIUS",40),Yt(mZ,"IMPACT_R",56),Yt(mZ,"GRACE",3); + let wZ=mZ; + const vZ=class t extends EV{ + constructor(){ + super(...arguments),Yt(this,"explodeDmgBonus",0),Yt(this,"explodeRangeBonus",0),Yt(this,"isLordCrow",!1),Yt(this,"flightTimer",0),Yt(this,"hoverUntil",0),Yt(this,"isDiving",!1),Yt(this,"riseVx",0),Yt(this,"riseVy",0)} + initializeTextureName(){ + this.className=MV.CrowCompanion1,this.textureName=MV.CrowCompanion1,this.sheetName="Game1"} + initializeData(){ + this.hitClassName="MagicalHitEffect",this.g=0,this.speed=t.DIVE_SPEED,this.flyEnd=8,this.incFrame=1,this.weaponScale=1.3} + setData(i=1){ + super.setData(i),this.flightTimer=0,this.isDiving=!1,this.explodeDmgBonus=0,this.explodeRangeBonus=0,this.isLordCrow=!1; + const s=t.HOVER_FRAMES_MIN+Math.floor(Math.random()*(t.HOVER_FRAMES_MAX-t.HOVER_FRAMES_MIN+1)); + this.hoverUntil=t.RISE_FRAMES+s; + const e=-Math.PI/2+(Math.random()-.5)*(2*Math.PI/3); + this.riseVx=Math.cos(e)*t.RISE_SPEED,this.riseVy=Math.sin(e)*t.RISE_SPEED} + calculateTrajectory(){ + } + execute(){ + if(!this.removed)if(this.flightTimer++,this.currentFrame+=this.incFrame,this.currentFrame>=this.flyEnd&&(this.currentFrame=0),this.sp&&(this.sp.texture=this.textures[Math.floor(this.currentFrame)]),this.flightTimer>=t.MAX_FLIGHT)this.explode(); + else{ + if(this.flightTimer<=t.RISE_FRAMES?(this.vx=this.riseVx,this.vy=this.riseVy):this.flightTimer<=this.hoverUntil?(this.vx=0,this.vy=0):this.isDiving=!0,this.isDiving&&this.target&&!this.target.removed){ + const i=this.target.x-this.x,s=this.target.y-this.y,e=Math.sqrt(i*i+s*s); + if(e<t.DIVE_SPEED+2)return void this.explode(); + this.vx=i/e*t.DIVE_SPEED,this.vy=s/e*t.DIVE_SPEED} + this.x+=this.vx,this.y+=this.vy,0===this.vx&&0===this.vy||(this.rotation=Math.atan2(this.vy,this.vx))} + } + explode(){ + var i; + const s=this.owner,e=bV.getEffect(SH.CrowExplosion1); + if(e.scale.set(2.5),e.x=this.x,e.y=this.y,e.start(30),kB.getInstance().addChild(e),s){ + const e=t.EXPLODE_RANGE+this.explodeRangeBonus,n=e*e,h=t.EXPLODE_DMG+this.explodeDmgBonus; + let r=0; + for(const o of s.enemyList){ + if(r>=t.EXPLODE_MAX_TARGETS)break; + if(!o.isAlive||o.isUntagetable)continue; + const e=o.x-this.x,a=o.y-this.y; + if(e*e+a*a<=n){ + const t=o.isAlive; + s.doDamage(o,this.damagePercent*h,!0),r++,!t||o.isAlive||this.isLordCrow||null==(i=s.onCrowKill)||i.call(s)} + } + } + super.remove()} + remove(){ + this.explode()} + } + ; + Xt(vZ,"CrowCompanion1"),Yt(vZ,"EXPLODE_DMG",.5),Yt(vZ,"EXPLODE_RANGE",75),Yt(vZ,"EXPLODE_MAX_TARGETS",2),Yt(vZ,"RISE_SPEED",9),Yt(vZ,"RISE_FRAMES",14),Yt(vZ,"HOVER_FRAMES_MIN",24),Yt(vZ,"HOVER_FRAMES_MAX",36),Yt(vZ,"DIVE_SPEED",13),Yt(vZ,"MAX_FLIGHT",130); + let _Z=vZ; + const bZ=class t extends EV{ + constructor(){ + super(...arguments),Yt(this,"flightTimer",0),Yt(this,"currentAngle",0),Yt(this,"targetX",0),Yt(this,"targetY",0)} + initializeTextureName(){ + this.className=MV.CrowGuidedBall1,this.textureName=MV.DarkMageBall1} + initializeData(){ + this.hitClassName="MagicalHitEffect",this.g=0,this.speed=10,this.flyEnd=4,this.incFrame=1,this.weaponScale=1.6} + setData(t=1){ + super.setData(t),this.flightTimer=0,this.currentAngle=Math.atan2(this.vy,this.vx),this.visible=!0,this.removed=!1,this.sp&&this.sp.scale.set(1.6)} + calculateTrajectory(){ + } + execute(){ + if(this.removed)return; + if(this.flightTimer++,this.flightTimer>=t.LIFETIME)return void this.explode(); + if(this.flightTimer>t.DRIFT_FRAMES){ + let i=Math.atan2(this.targetY-this.y,this.targetX-this.x)-this.currentAngle; + for(; + i>Math.PI; + )i-=2*Math.PI; + for(; + i<-Math.PI; + )i+=2*Math.PI; + const s=Math.min(1,(this.flightTimer-t.DRIFT_FRAMES)/t.TURN_ACCEL_F),e=t.TURN_RATE_BASE+(t.TURN_RATE_MAX-t.TURN_RATE_BASE)*s,n=Math.max(-e,Math.min(e,i)); + this.currentAngle+=n} + this.vx=Math.cos(this.currentAngle)*this.speed,this.vy=Math.sin(this.currentAngle)*this.speed,this.rotation=this.currentAngle,this.x+=this.vx,this.y+=this.vy,this.currentFrame+=this.incFrame,this.currentFrame>=this.flyEnd&&(this.currentFrame=0); + const i=Math.floor(this.currentFrame); + if(this.sp&&i<this.textures.length&&(this.sp.texture=this.textures[i]),this.isOutOfField(260))return void this.explode(); + const s=this.targetX-this.x,e=this.targetY-this.y; + s*s+e*e<=t.ARRIVE_DIST*t.ARRIVE_DIST&&this.explode()} + explode(){ + const i=bV.getEffect(SH.AbyssSkillExplosion1); + if(i.scale.set(1.7),i.x=this.x,i.y=this.y,i.start(20),kB.getInstance().addChild(i),this.owner){ + const i=t.EXPLODE_RANGE*t.EXPLODE_RANGE,s=[]; + for(const t of this.owner.enemyList){ + if(!t.isAlive||t.isUntagetable)continue; + const e=t.x-this.x,n=t.y-this.y; + e*e+n*n<=i&&s.push(t)} + s.sort((t,i)=>(t.x-this.x)**2+(t.y-this.y)**2-((i.x-this.x)**2+(i.y-this.y)**2)); + const e=Math.min(t.EXPLODE_MAX,s.length); + for(let t=0; + t<e; + t++)this.owner.doDamage(s[t],this.damagePercent,!0)} + super.remove()} + remove(){ + this.explode()} + } + ; + Xt(bZ,"CrowGuidedBall1"),Yt(bZ,"LIFETIME",120),Yt(bZ,"EXPLODE_RANGE",95),Yt(bZ,"EXPLODE_MAX",3),Yt(bZ,"ARRIVE_DIST",12),Yt(bZ,"DRIFT_FRAMES",6),Yt(bZ,"TURN_RATE_BASE",.05),Yt(bZ,"TURN_RATE_MAX",.11),Yt(bZ,"TURN_ACCEL_F",30); + let MZ=bZ; + const yZ=class t extends EV{ + constructor(){ + super(...arguments),Yt(this,"flightTimer",0)} + initializeTextureName(){ + this.className=MV.CrowFeatherShot1,this.textureName=MV.CrowKnightBullet1,this.sheetName="Game1",this.scale.set(t.SCALE)} + initializeData(){ + this.hitClassName="MagicalHitEffect",this.g=0,this.speed=14,this.flyEnd=1,this.incFrame=0,this.flightTimer=0} + setData(i=1){ + super.setData(i),this.flightTimer=0,this.visible=!0,this.removed=!1,this.scale.set(t.SCALE)} + play(){ + this.visible=!0,this.removed=!1,this.isActive=!0,this.resolvedHitClassName=this.hitClassName||"MagicalHitEffect",(this.battleController||hli.getInstance()).addWeapon(this)} + calculateTrajectory(){ + } + execute(){ + if(this.removed)return; + if(this.flightTimer++,this.flightTimer>=t.LIFETIME)return void super.remove(); + if(this.x+=this.vx,this.y+=this.vy,this.isOutOfField(260))return void super.remove(); + if(!this.owner)return; + const i=t.HIT_RADIUS*t.HIT_RADIUS; + for(const t of this.owner.enemyList){ + if(!t.isAlive||t.isUntagetable)continue; + const s=t.x-this.x,e=t.y-this.y; + if(s*s+e*e<=i)return this.owner.doDamage(t,this.damagePercent,!0),this.showHitEffect(this.resolvedHitClassName),void super.remove()} + } + } + ; + Xt(yZ,"CrowFeatherShot1"),Yt(yZ,"LIFETIME",60),Yt(yZ,"HIT_RADIUS",14),Yt(yZ,"SCALE",.55); + let EZ=yZ; + var AZ=(t=>(t[t.NONE=0]="NONE",t[t.OrcHunter1_RANGEEVADE_BUFF=1]="OrcHunter1_RANGEEVADE_BUFF",t[t.OrcRapterRider1_MOVESPEED_DEBUFF=2]="OrcRapterRider1_MOVESPEED_DEBUFF",t[t.Succubus1_MOVESPEED_BUFF=3]="Succubus1_MOVESPEED_BUFF",t[t.Succubus1_ATTACKSPEED_BUFF=4]="Succubus1_ATTACKSPEED_BUFF",t[t.ScorpionPoisonBullet_MOVESPEED_DEBUFF=5]="ScorpionPoisonBullet_MOVESPEED_DEBUFF",t[t.ScorpionPoisonBullet_ATTACKSPEED_DEBUFF=6]="ScorpionPoisonBullet_ATTACKSPEED_DEBUFF",t[t.DrillSl1_PENETRATE_BUFF=11]="DrillSl1_PENETRATE_BUFF",t[t.DrillSl1_SKILL2_BUFF=12]="DrillSl1_SKILL2_BUFF",t[t.DrillSl1_SKILL3_BUFF=13]="DrillSl1_SKILL3_BUFF",t[t.DrillSl1_SKILL4_BUFF=14]="DrillSl1_SKILL4_BUFF",t[t.DrillSl1_ROSTER_BUFF=15]="DrillSl1_ROSTER_BUFF",t[t.BombSl1_SKILL2_BUFF=21]="BombSl1_SKILL2_BUFF",t[t.BombSl1_SKILL3_BUFF=22]="BombSl1_SKILL3_BUFF",t[t.BombSl1_SKILL4_BUFF=23]="BombSl1_SKILL4_BUFF",t[t.BombSl1_ROSTER_BUFF=24]="BombSl1_ROSTER_BUFF",t[t.NurSl1_SKILL2_BUFF=31]="NurSl1_SKILL2_BUFF",t[t.NurSl1_ROSTER_BUFF=32]="NurSl1_ROSTER_BUFF",t[t.MagmaSl1_SKILL2_BUFF=41]="MagmaSl1_SKILL2_BUFF",t[t.MagmaSl1_SKILL3_BUFF=42]="MagmaSl1_SKILL3_BUFF",t[t.MagmaSl1_ROSTER_BUFF=43]="MagmaSl1_ROSTER_BUFF",t[t.TreebarkSl1_SKILL2_BUFF=51]="TreebarkSl1_SKILL2_BUFF",t[t.TreebarkSl1_SKILL3_BUFF=52]="TreebarkSl1_SKILL3_BUFF",t[t.TreebarkSl1_ROSTER_BUFF=53]="TreebarkSl1_ROSTER_BUFF",t[t.IcespearSl1_SKILL2_BUFF=61]="IcespearSl1_SKILL2_BUFF",t[t.IcespearSl1_SKILL3_BUFF=62]="IcespearSl1_SKILL3_BUFF",t[t.IcespearSl1_SKILL4_BUFF=63]="IcespearSl1_SKILL4_BUFF",t[t.IcespearSl1_ROSTER_BUFF=64]="IcespearSl1_ROSTER_BUFF",t[t.VinewhipSl1_SKILL2_BUFF=71]="VinewhipSl1_SKILL2_BUFF",t[t.VinewhipSl1_SKILL3_BUFF=72]="VinewhipSl1_SKILL3_BUFF",t[t.VinewhipSl1_SKILL4_BUFF=73]="VinewhipSl1_SKILL4_BUFF",t[t.VinewhipSl1_ROSTER_BUFF=74]="VinewhipSl1_ROSTER_BUFF",t[t.FlamecannonSl1_SKILL2_BUFF=81]="FlamecannonSl1_SKILL2_BUFF",t[t.FlamecannonSl1_SKILL3_BUFF=82]="FlamecannonSl1_SKILL3_BUFF",t[t.FlamecannonSl1_SKILL4_BUFF=83]="FlamecannonSl1_SKILL4_BUFF",t[t.FlamecannonSl1_ROSTER_BUFF=84]="FlamecannonSl1_ROSTER_BUFF",t[t.IcebowSl1_SKILL2_BUFF=91]="IcebowSl1_SKILL2_BUFF",t[t.IcebowSl1_SKILL3_BUFF=92]="IcebowSl1_SKILL3_BUFF",t[t.IcebowSl1_SKILL4_BUFF=93]="IcebowSl1_SKILL4_BUFF",t[t.IcebowSl1_ROSTER_BUFF=94]="IcebowSl1_ROSTER_BUFF",t[t.FlowerSl1_SKILL2_BUFF=101]="FlowerSl1_SKILL2_BUFF",t[t.FlowerSl1_ROSTER_BUFF=102]="FlowerSl1_ROSTER_BUFF",t[t.HotpoolSl1_SKILL2_BUFF=111]="HotpoolSl1_SKILL2_BUFF",t[t.HotpoolSl1_ROSTER_BUFF=112]="HotpoolSl1_ROSTER_BUFF",t[t.HotpoolSl1_DAMAGE_BUFF=113]="HotpoolSl1_DAMAGE_BUFF",t[t.GlacierSl1_SKILL2_BUFF=114]="GlacierSl1_SKILL2_BUFF",t[t.GlacierSl1_SKILL3_BUFF=115]="GlacierSl1_SKILL3_BUFF",t[t.GlacierSl1_ROSTER_BUFF=116]="GlacierSl1_ROSTER_BUFF",t[t.GlacierSl1_SKILL4_BUFF=117]="GlacierSl1_SKILL4_BUFF",t[t.FladiatorSl1_SKILL2_BUFF=118]="FladiatorSl1_SKILL2_BUFF",t[t.FladiatorSl1_SKILL3_BUFF=119]="FladiatorSl1_SKILL3_BUFF",t[t.FladiatorSl1_SKILL4_BUFF=120]="FladiatorSl1_SKILL4_BUFF",t[t.FladiatorSl1_ROSTER_BUFF=121]="FladiatorSl1_ROSTER_BUFF",t[t.FladiatorSl1_CRTICAL_BUFF=122]="FladiatorSl1_CRTICAL_BUFF",t[t.ManaBloomSl1_SKILL2_BUFF=123]="ManaBloomSl1_SKILL2_BUFF",t[t.ManaBloomSl1_SKILL3_BUFF=124]="ManaBloomSl1_SKILL3_BUFF",t[t.ManaBloomSl1_SKILL4_BUFF=125]="ManaBloomSl1_SKILL4_BUFF",t[t.ManaBloomSl1_ROSTER_BUFF=126]="ManaBloomSl1_ROSTER_BUFF",t[t.ClearSl1_SKILL2_BUFF=127]="ClearSl1_SKILL2_BUFF",t[t.ClearSl1_ROSTER_BUFF=128]="ClearSl1_ROSTER_BUFF",t[t.SlimeRacing_DAMAGE_BUFF=129]="SlimeRacing_DAMAGE_BUFF",t[t.SlimeRacing_ATTACK_SPEED_BUFF=130]="SlimeRacing_ATTACK_SPEED_BUFF",t[t.SlimeRacing_MOVE_SPEED_BUFF=131]="SlimeRacing_MOVE_SPEED_BUFF",t[t.RACE_REVIVE_MOVE_SPEED_BUFF=132]="RACE_REVIVE_MOVE_SPEED_BUFF",t[t.RACE_CHEERUP_MOVE_SPEED_BUFF=133]="RACE_CHEERUP_MOVE_SPEED_BUFF",t[t.RACE_CHEERUP_ATTACK_SPEED_BUFF=134]="RACE_CHEERUP_ATTACK_SPEED_BUFF",t[t.EXCAVATION_ENCOUNTER_DEFENSE_BUFF=135]="EXCAVATION_ENCOUNTER_DEFENSE_BUFF",t[t.SteelbashSl1_SKILL2_BUFF=136]="SteelbashSl1_SKILL2_BUFF",t[t.SteelbashSl1_SKILL3_BUFF=137]="SteelbashSl1_SKILL3_BUFF",t[t.SteelbashSl1_ROSTER_BUFF=138]="SteelbashSl1_ROSTER_BUFF",t[t.FlamdancerSl1_SKILL2_BUFF=139]="FlamdancerSl1_SKILL2_BUFF",t[t.FlamdancerSl1_SKILL3_BUFF=140]="FlamdancerSl1_SKILL3_BUFF",t[t.FlamdancerSl1_ROSTER_BUFF=141]="FlamdancerSl1_ROSTER_BUFF",t[t.FrostreaverSl1_SKILL2_BUFF=142]="FrostreaverSl1_SKILL2_BUFF",t[t.FrostreaverSl1_SKILL3_BUFF=143]="FrostreaverSl1_SKILL3_BUFF",t[t.FrostreaverSl1_ROSTER_BUFF=144]="FrostreaverSl1_ROSTER_BUFF",t[t.ThornjaSl1_SKILL2_BUFF=145]="ThornjaSl1_SKILL2_BUFF",t[t.ThornjaSl1_SKILL3_BUFF=146]="ThornjaSl1_SKILL3_BUFF",t[t.ThornjaSl1_SKILL4_BUFF=147]="ThornjaSl1_SKILL4_BUFF",t[t.ThornjaSl1_ROSTER_BUFF=148]="ThornjaSl1_ROSTER_BUFF",t[t.RACE_MAPTYPE1_ATKSPD_BUFF=149]="RACE_MAPTYPE1_ATKSPD_BUFF",t[t.RACE_MAPTYPE1_MOVESPD_BUFF=150]="RACE_MAPTYPE1_MOVESPD_BUFF",t[t.GearbladeSl1_SKILL2_BUFF=151]="GearbladeSl1_SKILL2_BUFF",t[t.GearbladeSl1_SKILL3_BUFF=152]="GearbladeSl1_SKILL3_BUFF",t[t.GearbladeSl1_SKILL4_BUFF=153]="GearbladeSl1_SKILL4_BUFF",t[t.GearbladeSl1_ROSTER_BUFF=154]="GearbladeSl1_ROSTER_BUFF",t[t.EmbersageSl1_SKILL2_BUFF=155]="EmbersageSl1_SKILL2_BUFF",t[t.EmbersageSl1_ROSTER_BUFF=156]="EmbersageSl1_ROSTER_BUFF",t[t.TidecallerSl1_SKILL2_BUFF=157]="TidecallerSl1_SKILL2_BUFF",t[t.TidecallerSl1_ROSTER_BUFF=158]="TidecallerSl1_ROSTER_BUFF",t[t.GrovewardenSl1_SKILL2_BUFF=159]="GrovewardenSl1_SKILL2_BUFF",t[t.GrovewardenSl1_SKILL3_BUFF=160]="GrovewardenSl1_SKILL3_BUFF",t[t.GrovewardenSl1_ROSTER_BUFF=161]="GrovewardenSl1_ROSTER_BUFF",t[t.FrankenSl1_SKILL2_BUFF=162]="FrankenSl1_SKILL2_BUFF",t[t.FrankenSl1_ROSTER_BUFF=164]="FrankenSl1_ROSTER_BUFF",t[t.WolfSl1_SKILL2_BUFF=165]="WolfSl1_SKILL2_BUFF",t[t.WolfSl1_SKILL3_BUFF=166]="WolfSl1_SKILL3_BUFF",t[t.WolfSl1_SKILL4_BUFF=167]="WolfSl1_SKILL4_BUFF",t[t.WolfSl1_ROSTER_BUFF=168]="WolfSl1_ROSTER_BUFF",t[t.BatSl1_SKILL2_BUFF=169]="BatSl1_SKILL2_BUFF",t[t.BatSl1_SKILL3_BUFF=170]="BatSl1_SKILL3_BUFF",t[t.BatSl1_SKILL4_BUFF=171]="BatSl1_SKILL4_BUFF",t[t.BatSl1_ROSTER_BUFF=172]="BatSl1_ROSTER_BUFF",t[t.SkullSl1_SKILL2_BUFF=173]="SkullSl1_SKILL2_BUFF",t[t.SkullSl1_ROSTER_BUFF=174]="SkullSl1_ROSTER_BUFF",t[t.Bomber1_ATKSPD_BUFF=200]="Bomber1_ATKSPD_BUFF",t[t.Bomber1_MOVESPD_BUFF=201]="Bomber1_MOVESPD_BUFF",t[t.TigerRider1_ATKSPD_BUFF=210]="TigerRider1_ATKSPD_BUFF",t[t.TigerRider1_MOVESPD_BUFF=211]="TigerRider1_MOVESPD_BUFF",t[t.Sylphid1_ATKSPD_STACK=220]="Sylphid1_ATKSPD_STACK",t[t.WyvernRider1_ATKSPD_BUFF=230]="WyvernRider1_ATKSPD_BUFF",t[t.WyvernRider1_MOVESPD_BUFF=231]="WyvernRider1_MOVESPD_BUFF",t[t.WyvernRider1_ATKDMG_BUFF=232]="WyvernRider1_ATKDMG_BUFF",t[t.WingKnight1_FLASH_BUFF=240]="WingKnight1_FLASH_BUFF",t[t.WingKnight1_DASH_BUFF=241]="WingKnight1_DASH_BUFF",t[t.WingKnight1_BERSERK_ATKSPD=242]="WingKnight1_BERSERK_ATKSPD",t[t.WingKnight1_BERSERK_ATKDMG=243]="WingKnight1_BERSERK_ATKDMG",t[t.WingKnight1_FLASH_MOVSPD=244]="WingKnight1_FLASH_MOVSPD",t[t.WingKnight1_FLASH_ATKSPD=245]="WingKnight1_FLASH_ATKSPD",t[t.BladeMaster1_KILL_ATKSPD=250]="BladeMaster1_KILL_ATKSPD",t[t.BladeMaster1_KILL_ATKDMG=251]="BladeMaster1_KILL_ATKDMG",t[t.BladeMaster1_RANGE_ATKSPD=252]="BladeMaster1_RANGE_ATKSPD",t[t.BladeMaster1_MELEE_MOVESPD=253]="BladeMaster1_MELEE_MOVESPD",t[t.BladeMaster1_MELEE_ATKDMG=254]="BladeMaster1_MELEE_ATKDMG",t[t.BladeMaster1_RUSH_ATKSPD=255]="BladeMaster1_RUSH_ATKSPD",t[t.BladeMaster1_RUSH_MOVESPD=256]="BladeMaster1_RUSH_MOVESPD",t[t.BladeMaster1_BLINK_MOVESPD=257]="BladeMaster1_BLINK_MOVESPD",t[t.Aladin1_SAND_SLOW=260]="Aladin1_SAND_SLOW",t[t.Aladin1_BLESSING_ATKDMG=261]="Aladin1_BLESSING_ATKDMG",t[t.Druid1_VINE_ATKDMG=270]="Druid1_VINE_ATKDMG",t[t.Druid1_VINE_DEFENSE=271]="Druid1_VINE_DEFENSE",t[t.Druid1_VINE_ATKSPD=272]="Druid1_VINE_ATKSPD",t[t.CrowKnight1_ORBIT_ATKSPD=280]="CrowKnight1_ORBIT_ATKSPD",t[t.CrowKnight1_ORBIT_ATKDMG=281]="CrowKnight1_ORBIT_ATKDMG",t[t.Succubus2_CHARM_ATKSPD=290]="Succubus2_CHARM_ATKSPD",t[t.Succubus2_CHARM_MOVSPD=291]="Succubus2_CHARM_MOVSPD",t[t.FireSpirit1_JUGGLE_ATKSPD=292]="FireSpirit1_JUGGLE_ATKSPD",t[t.RaidEmblemRogue_ACTIVE_ATKSPD=300]="RaidEmblemRogue_ACTIVE_ATKSPD",t[t.RaidEmblemRogue_ACTIVE_ATKDMG=301]="RaidEmblemRogue_ACTIVE_ATKDMG",t[t.RaidEmblemMage_BOSS_ATKSPD=302]="RaidEmblemMage_BOSS_ATKSPD",t[t.RaidEmblemMage_BOSS_DEFENSE=303]="RaidEmblemMage_BOSS_DEFENSE",t[t.RaidWeakpoint_BOSS_DEFENSE=304]="RaidWeakpoint_BOSS_DEFENSE",t[t.RaidWeakpoint_BOSS_ATKSPD=305]="RaidWeakpoint_BOSS_ATKSPD",t[t.RaidWeakpoint_BOSS_MOVESPD=306]="RaidWeakpoint_BOSS_MOVESPD",t[t.RaidRune_ACTIVE_ATKSPD=310]="RaidRune_ACTIVE_ATKSPD",t[t.RaidRune_ACTIVE_ATKDMG=311]="RaidRune_ACTIVE_ATKDMG",t[t.RaidRune_PULSE_ATKDMG=312]="RaidRune_PULSE_ATKDMG",t[t.RaidRune_PULSE_ATKSPD=313]="RaidRune_PULSE_ATKSPD",t[t.RaidRune_PULSE_DEFENSE=314]="RaidRune_PULSE_DEFENSE",t[t.RaidRune_ALLOUT_ATKDMG=315]="RaidRune_ALLOUT_ATKDMG",t[t.RaidRune_ALLOUT_ATKSPD=316]="RaidRune_ALLOUT_ATKSPD",t[t.RaidRune_ACTIVE_CRIT=317]="RaidRune_ACTIVE_CRIT",t[t.RaidRune_BOSS_ATKSPD=320]="RaidRune_BOSS_ATKSPD",t[t.RaidRune_BOSS_DEFENSE=321]="RaidRune_BOSS_DEFENSE",t[t.RaidRune_BOSS_ATKDMG=322]="RaidRune_BOSS_ATKDMG",t[t.RaidRune_ARROW_DEFENSE=323]="RaidRune_ARROW_DEFENSE",t[t.RaidRune_COMBO_DEFENSE=324]="RaidRune_COMBO_DEFENSE",t[t.BURN_DEBUFF=1001]="BURN_DEBUFF",t[t.BLOODY_DEBUFF=1002]="BLOODY_DEBUFF",t[t.RACE_ROLETYPE_MOVE_SPEED_DEBUFF=1003]="RACE_ROLETYPE_MOVE_SPEED_DEBUFF",t[t.RACE_ROLETYPE_DAMAGE_DEBUFF=1004]="RACE_ROLETYPE_DAMAGE_DEBUFF",t[t.EXCAVATION_CRITICALHIT_DEFENSE_DEBUFF=1005]="EXCAVATION_CRITICALHIT_DEFENSE_DEBUFF",t[t.RACE_MAPTYPE2_DEBUFF=1006]="RACE_MAPTYPE2_DEBUFF",t[t.TidecallerSl1_SKILL2_DEBUFF=1007]="TidecallerSl1_SKILL2_DEBUFF",t[t.RAID_BOSS1_DEBUFF=1008]="RAID_BOSS1_DEBUFF",t[t.MOSSGOLEM_DEFENSE_BUFF=1009]="MOSSGOLEM_DEFENSE_BUFF",t[t.WarpLanding_ATTACKSPEED_BUFF=1100]="WarpLanding_ATTACKSPEED_BUFF",t))(AZ||{ + } + ); + const SZ=class t extends EV{ + initializeTextureName(){ + this.className=MV.ScorpionPoisonBullet,this.sheetName="RaidBattle",this.textureName="PoisonBullet"} + initializeData(){ + this.hitClassName="",this.g=0,this.speed=18,this.flyEnd=2,this.incFrame=1,this.minT=8,this.maxT=42,this.orientToPath=!0,this.weaponScale=1} + onHit(){ + this.owner&&this.target&&this.target.isAlive&&(this.owner.doDamage(this.target,this.damagePercent,!0),this.target.isAlive&&(this.target.poison(t.POISON_DEBUFF_DURATION),this.target.addMoveSpeedBuff(AZ.ScorpionPoisonBullet_MOVESPEED_DEBUFF,t.POISON_MOVE_SPEED_DEBUFF,t.POISON_DEBUFF_DURATION,!0),this.target.addAttackSpeedBuff(AZ.ScorpionPoisonBullet_ATTACKSPEED_DEBUFF,t.POISON_ATTACK_SPEED_DEBUFF,t.POISON_DEBUFF_DURATION,!0))),this.displayExplodeEffect(),this.remove()} + displayExplodeEffect(){ + const t=bV.getEffect(SH.PoisonExplodeEffect); + t.x=this.x,t.y=this.y,t.setBattleController(this.battleController||hli.getInstance()),t.start(24),kB.getInstance().addChild(t)} + } + ; + Xt(SZ,"ScorpionPoisonBullet"),Yt(SZ,"POISON_DEBUFF_DURATION",420),Yt(SZ,"POISON_MOVE_SPEED_DEBUFF",-.5),Yt(SZ,"POISON_ATTACK_SPEED_DEBUFF",-.3); + let TZ=SZ; + const CZ=class t extends He{ + constructor(){ + super(),Yt(this,"g",new Ff),Yt(this,"radius",0),Yt(this,"aspectY",1),Yt(this,"fillColor",t.DEFAULT_FILL_COLOR),Yt(this,"strokeColor",t.DEFAULT_STROKE_COLOR),Yt(this,"fillAlphaScale",1),Yt(this,"crater",null),Yt(this,"craterTextures",[]),Yt(this,"fire",null),Yt(this,"fireTextures",[]),Yt(this,"craterTick",0),Yt(this,"craterOnly",!1),Yt(this,"fadeOutLeft",-1),Yt(this,"fadeOutTotal",0),this.eventMode="none",this.addChild(this.g)} + show(i,s,e,n=1){ + this.x=i,this.y=s,this.radius=e,this.aspectY=n,this.fillColor=t.DEFAULT_FILL_COLOR,this.strokeColor=t.DEFAULT_STROKE_COLOR,this.fillAlphaScale=1,this.craterOnly=!1,this.fadeOutLeft=-1,this.fadeOutTotal=0,this.crater&&(this.crater.visible=!1),this.fire&&(this.fire.visible=!1),this.draw(.3,0),IB.getInstance().addChild(this)} + showCrater(){ + if(this.craterOnly=!0,this.g.clear(),eS.hasSheet("RaidBattle")){ + this.craterTextures=[]; + for(let i=1; + i<=t.CRATER_FRAME_COUNT; + i++){ + const t=eS.getTexture("RaidBattle",`Crater${ + String(i).padStart(4,"0")} + `); + t&&this.craterTextures.push(t)} + if(0!==this.craterTextures.length){ + this.crater||(this.crater=new Ve(this.craterTextures[0]),this.crater.anchor.set(.5),this.addChildAt(this.crater,0)),this.crater.texture=this.craterTextures[0],this.craterTick=0,this.crater.width=2*this.radius,this.crater.height=this.radius*this.aspectY*2,this.crater.alpha=0,this.crater.visible=!0,this.fireTextures=[]; + for(let i=1; + i<=t.FIRE_FRAME_COUNT; + i++){ + const t=eS.getTexture("RaidBattle",`FireArea${ + String(i).padStart(4,"0")} + `); + t&&this.fireTextures.push(t)} + this.fireTextures.length>0&&(this.fire||(this.fire=new Ve(this.fireTextures[0]),this.fire.anchor.set(.5),this.addChildAt(this.fire,1)),this.fire.texture=this.fireTextures[0],this.fire.alpha=0,this.fire.visible=!0)} + } + } + setStyle(t,i,s=1){ + this.fillColor=t,this.strokeColor=i,this.fillAlphaScale=s} + startFadeOut(t){ + this.fadeOutLeft>=0||(this.fadeOutTotal=Math.max(1,t),this.fadeOutLeft=this.fadeOutTotal)} + update(i){ + var s,e; + if(!this.craterOnly){ + const t=Math.max(0,Math.min(1,i)),s=.22+.18*(.5+.5*Math.sin(t*Math.PI*8)); + this.draw(s,t)} + if((null==(s=this.crater)?void 0:s.visible)&&this.craterTextures.length>0){ + this.craterTick++; + const i=Math.floor(this.craterTick/t.CRATER_ANIM_DIV)%this.craterTextures.length; + this.crater.texture=this.craterTextures[i]; + const s=Math.min(1,this.craterTick/t.CRATER_FADE_IN_FRAMES),n=1-(1-s)*(1-s); + let h=n; + const r=.92+.08*n; + if(this.crater.width=2*this.radius*r,this.crater.height=this.radius*this.aspectY*2*r,this.fadeOutLeft>=0&&(this.fadeOutLeft>0&&this.fadeOutLeft--,h=Math.min(h,this.fadeOutLeft/this.fadeOutTotal)),this.crater.alpha=h,(null==(e=this.fire)?void 0:e.visible)&&this.fireTextures.length>0){ + const s=2*this.radius*r,e=this.radius*this.aspectY*2*r; + this.fire.texture=this.fireTextures[i%this.fireTextures.length],this.fire.width=s*t.FIRE_SCALE,this.fire.height=e*t.FIRE_SCALE,this.fire.x=s*t.FIRE_OFFSET_X_RATIO,this.fire.y=e*t.FIRE_OFFSET_Y_RATIO,this.fire.alpha=h} + } + } + draw(t,i){ + const s=this.g,e=this.radius,n=this.radius*this.aspectY; + s.clear(),s.ellipse(0,0,e,n).fill({ + color:this.fillColor,alpha:.5*t*this.fillAlphaScale} + ),s.ellipse(0,0,e,n).stroke({ + width:4,color:this.strokeColor,alpha:.9} + ),i>0&&s.ellipse(0,0,e*i,n*i).stroke({ + width:2,color:16777215,alpha:.55} + )} + dispose(){ + this.g.clear(),this.crater&&(this.crater.visible=!1),this.fire&&(this.fire.visible=!1),this.parent&&this.parent.removeChild(this)} + } + ; + Xt(CZ,"RaidWarningCircle"),Yt(CZ,"CRATER_ASPECT_Y",65/148),Yt(CZ,"CRATER_FRAME_COUNT",20),Yt(CZ,"CRATER_ANIM_DIV",2),Yt(CZ,"CRATER_FADE_IN_FRAMES",24),Yt(CZ,"FIRE_FRAME_COUNT",8),Yt(CZ,"FIRE_SCALE",.8),Yt(CZ,"FIRE_OFFSET_X_RATIO",.024),Yt(CZ,"FIRE_OFFSET_Y_RATIO",-.047),Yt(CZ,"DEFAULT_FILL_COLOR",16719904),Yt(CZ,"DEFAULT_STROKE_COLOR",16732240); + let IZ=CZ; + const OZ=class t extends WQ{ + constructor(){
FireSpirit1 1 hunks, 771 statements
+ const W0=class t extends A0{ + constructor(){ + super(),Yt(this,"skillActive",!1),Yt(this,"skillPhase",0),Yt(this,"phaseTimer",0),Yt(this,"destX",0),Yt(this,"destY",0),Yt(this,"rushMode",!1),Yt(this,"pillar",null),Yt(this,"rushTickTimer",0),Yt(this,"homeX",0),Yt(this,"homeY",0),Yt(this,"burnPoint",new _i(0,0)),Yt(this,"fireTrails",[]),Yt(this,"trailTickTimer",0),Yt(this,"orbiters",[]),Yt(this,"thrownWhirls",[]),Yt(this,"thrownAge",[]),Yt(this,"orbitAngle",[]),Yt(this,"orbitRad",[]),Yt(this,"orbitSpin",[]),Yt(this,"orbitHOff",[]),Yt(this,"orbitBob",[]),Yt(this,"orbitCatch",[]),Yt(this,"orbitBloom",[]),Yt(this,"orbitJoinT",[]),Yt(this,"orbitJoinX",[]),Yt(this,"orbitJoinY",[]),Yt(this,"orbitCenterX",0),Yt(this,"orbitCenterY",0),Yt(this,"orbitCenterInit",!1),Yt(this,"orbitPhase",0),Yt(this,"orbitThrowSign",1),Yt(this,"orbThrowSign",1),Yt(this,"relightTimer",0),Yt(this,"juggleStack",0),Yt(this,"overheatTimer",0),Yt(this,"juggleFreeze",0)} + initializeData(){ + super.initializeData(),this.sheetName="Game2",this.className=fx.FireSpirit1,this.unitType=ax.RANGE,this.weaponClass=MV.FireAttack1,this.radius=7,this.hitHeight=27,this.uiTopOffset=11,this.idleFrames=new AH(0,35),this.moveFrames=new AH(36,67),this.attackFrames=new AH(68,99),this.skillFrames=new AH(100,178),this.dieFrames=new AH(179,194),this.objAtk={ + 79:1} + ,this.objSkill={ + 106:1} + ,this.firePoint.set(10,-20),this.hasSkill=!0,this.maxMana=460,this.normalSize=.8,this.evolSize=.85} + execute(){ + !this.skillActive||this.isAlive&&!this.removed||(this.restoreBody(),this.skillActive=!1,this.skillPhase=0,this.phaseTimer=0),this.fireTrails.length&&this.updateFireTrails(),this.skillActive?this.rushMode?this.updateRush():this.updateSkill():super.execute()} + attackMain(){ + this.throwOrb()} + throwWhirls(){ + const i=this.target&&this.target.isAlive?this.target:this.getAttackableEnemyList(1)[0]; + if(!i)return; + const s=this.battleController||hli.getInstance(),e=this.x+this.firePoint.x*this.direction,n=this.y+this.firePoint.y,h=Math.atan2(i.y-n,i.x-e); + this.lookAt(i.x-this.x); + const r=this.evolStage>=1?t.WHIRL_COUNT_E:t.WHIRL_COUNT,o=Math.round(t.WHIRL_RANGE/t.WHIRL_SPEED),a=r>1?t.WHIRL_SPREAD/(r-1):0,c=h-t.WHIRL_SPREAD/2; + for(let l=0; + l<r; + l++){ + const i=(r>1?c+a*l:h)+this.random.range(-.05,t.WHIRL_JITTER),u=l*t.WHIRL_STAGGER_BACK,d=e-Math.cos(i)*u,f=n-Math.sin(i)*u,p=t0.getInstance().getWeapon(MV.FireTornado1); + p.owner=this,p.target=null,p.setBattleController(s),p.setData(t.WHIRL_DPS),p.initThrow(d,f,Math.cos(i),Math.sin(i),t.WHIRL_SPEED,o+Math.round(u/t.WHIRL_SPEED),!1,t.WHIRL_SCALE,t.WHIRL_HIT_R),p.boomHomeSlot=l,p.play()} + } + getOrbitHome(i){ + if(i<0||i>=this.orbitRad.length)return null; + const s=1-t.ORBIT_RUSH_TIGHT*this.getJuggleRatio(),e=t.ORBIT_RX*this.orbitRad[i]*s,n=t.ORBIT_RY*this.orbitRad[i]*s,h=this.orbitAngle[i]; + return{ + x:this.orbitCenterX+Math.cos(h)*e,y:this.orbitCenterY+t.ORBIT_H+this.orbitHOff[i]+Math.sin(h)*n+Math.sin(this.orbitBob[i])*t.ORBIT_BOB} + } + getJuggleRatio(){ + return Math.min(1,this.juggleStack/t.JUGGLE_MAX)} + updateOrbitCenter(){ + if(!this.orbitCenterInit)return this.orbitCenterX=this.x,this.orbitCenterY=this.y,void(this.orbitCenterInit=!0); + const i=this.x-this.orbitCenterX,s=this.y-this.orbitCenterY; + if(i*i+s*s>t.ORBIT_LAG_MAX*t.ORBIT_LAG_MAX)return this.orbitCenterX=this.x,void(this.orbitCenterY=this.y); + this.orbitCenterX+=i*t.ORBIT_LAG,this.orbitCenterY+=s*t.ORBIT_LAG} + spawnCatchSpark(i,s){ + const e=bV.getEffect(SH.FireSpiritExplosion1); + e.x=i,e.y=s,kB.getInstance().addChild(e),e.start(t.CATCH_SPARK_LIFE),e.scale.set(t.CATCH_SPARK_SCALE)} + scatterOrbiters(){ + for(let i=0; + i<this.orbiters.length; + i++){ + const s=this.orbiters[i]; + if(this.orbiters[i]=null,this.orbitBloom[i]=0,!s||s.removed)continue; + const e=this.orbitAngle[i]??0; + s.scatter(Math.cos(e)*t.DEATH_SCATTER_SPD,Math.sin(e)*t.DEATH_SCATTER_SPD-1.2,t.DEATH_SCATTER_LIFE)} + } + getOrbitCount(){ + return this.evolStage>=1?t.ORBIT_COUNT_E:t.ORBIT_COUNT} + ensureOrbiters(){ + const i=this.getOrbitCount(); + for(; + this.orbiters.length<i; + ){ + const s=this.orbiters.length; + this.orbiters.push(null),this.thrownWhirls.push(null),this.thrownAge.push(0),this.orbitAngle.push(2*Math.PI/Math.max(1,i)*s),this.orbitRad.push(this.random.range(t.ORBIT_RAD_MIN,t.ORBIT_RAD_MAX)),this.orbitSpin.push(this.random.range(t.ORBIT_SPIN_MIN,t.ORBIT_SPIN_MAX)),this.orbitHOff.push(this.random.range(-13,t.ORBIT_H_VAR)),this.orbitBob.push(this.random.range(0,2*Math.PI)),this.orbitCatch.push(1),this.orbitBloom.push(t.BLOOM_FRAMES+t.BLOOM_STAGGER*s),this.orbitJoinT.push(0),this.orbitJoinX.push(0),this.orbitJoinY.push(0)} + if(!(this.relightTimer>0))for(let s=0; + s<i; + s++){ + if(this.orbiters[s]||this.thrownWhirls[s])continue; + const i=bV.getEffect(SH.FireSpiritOrbit1); + kB.getInstance().addChild(i),i.x=this.orbitCenterX,i.y=this.orbitCenterY+t.ORBIT_H,i.start(1e5),i.scale.set(t.ORBIT_SCALE),i.setHeat(this.getJuggleRatio()),this.orbitBloom[s]>0&&(i.alpha=0),this.orbiters[s]=i} + } + updateOrbiters(){ + if(!this.isAlive||this.removed)return void this.clearOrbiters(); + this.updateOrbitCenter(),this.ensureOrbiters(),this.orbitPhase+=t.ORBIT_SPIN; + const i=this.getOrbitCount(),s=this.getJuggleRatio(),e=1+t.ORBIT_RUSH_SPIN*s,n=1-t.ORBIT_RUSH_TIGHT*s; + for(let h=0; + h<this.orbiters.length; + h++){ + const r=t.ORBIT_RX*this.orbitRad[h]*n,o=t.ORBIT_RY*this.orbitRad[h]*n,a=this.orbitCenterY+t.ORBIT_H+this.orbitHOff[h],c=this.thrownWhirls[h]; + if(c){ + this.orbitAngle[h]+=t.ORBIT_SPIN*this.orbitSpin[h]*e,this.orbitBob[h]+=t.ORBIT_BOB_SPEED*this.orbitSpin[h]; + const i=++this.thrownAge[h]>t.BOOM_TIMEOUT; + if(c.removed||i){ + if(c.boomConsumed)this.orbitBloom[h]=t.BLOOM_FRAMES+t.BLOOM_STAGGER*h; + else{ + this.orbitBloom[h]=0,this.orbitCatch[h]=t.CATCH_SETTLE; + const i=this.getOrbitHome(h); + i&&(this.orbitJoinX[h]=c.x-i.x,this.orbitJoinY[h]=c.y-i.y,this.orbitJoinT[h]=t.JOIN_BLEND)} + c.removed||c.remove(),this.thrownWhirls[h]=null,this.thrownAge[h]=0} + continue} + const l=this.orbiters[h]; + if(!l)continue; + if(l.removed){ + this.orbiters[h]=null; + continue} + if(h>=i){ + const i=this.orbitAngle[h]??0; + this.orbitBloom[h]=0,l.scatter(Math.cos(i)*t.DEATH_SCATTER_SPD,Math.sin(i)*t.DEATH_SCATTER_SPD-1.2,t.DEATH_SCATTER_LIFE),this.orbiters[h]=null; + continue} + let u=1,d=1; + if(this.orbitBloom[h]>0){ + this.orbitBloom[h]--; + const i=1-Math.min(1,this.orbitBloom[h]/t.BLOOM_FRAMES); + u=i*i*(3-2*i),d=1+(1-u)*t.BLOOM_SPIN,i>0&&this.orbitBloom[h]===t.BLOOM_FRAMES-1&&this.spawnCatchSpark(this.orbitCenterX,a)} + 1!==this.orbitCatch[h]&&(this.orbitCatch[h]=1+(this.orbitCatch[h]-1)*t.CATCH_SETTLE_EASE,Math.abs(this.orbitCatch[h]-1)<.02&&(this.orbitCatch[h]=1)); + const f=t.ORBIT_SPIN*this.orbitSpin[h]*e; + this.orbitAngle[h]+=f*this.orbitCatch[h]*d,this.orbitBob[h]+=t.ORBIT_BOB_SPEED*this.orbitSpin[h],l.setHeat(s); + const p=this.orbitAngle[h],g=Math.sin(p),m=t.BLOOM_START_RAD+(1-t.BLOOM_START_RAD)*u; + if(l.x=this.orbitCenterX+Math.cos(p)*r*m,l.y=a+g*o*m+Math.sin(this.orbitBob[h])*t.ORBIT_BOB*u,this.orbitJoinT[h]>0){ + this.orbitJoinT[h]--; + const i=this.orbitJoinT[h]/t.JOIN_BLEND,s=i*i*(3-2*i); + l.x+=this.orbitJoinX[h]*s,l.y+=this.orbitJoinY[h]*s} + l.alpha=u,l.scale.set(t.ORBIT_SCALE*(1+g*t.ORBIT_DEPTH)*(t.BLOOM_START_SCL+(1-t.BLOOM_START_SCL)*u))} + } + pickOrbitSlot(t,i){ + const s=this.getOrbitCount(); + let e=-1,n=1/0; + for(let h=0; + h<s; + h++){ + const s=this.orbiters[h]; + if(!s||this.thrownWhirls[h])continue; + const r=s.x-t,o=s.y-i,a=r*r+o*o; + a<n&&(n=a,e=h)} + return e} + launchOrbiter(i,s,e,n=0,h=0,r=0){ + const o=this.orbiters[i],a=o?o.x:this.x,c=o?o.y:this.y+t.ORBIT_H; + o&&!o.removed&&o.remove(),this.orbiters[i]=null; + const l=this.battleController||hli.getInstance(),u=t0.getInstance().getWeapon(MV.FireTornado1); + u.owner=this,u.target=null,u.setBattleController(l),u.setData(e?t.SKILL_BOOM_DPS:t.BOOM_DPS),u.initBoomerang(a,c,s,e?t.SKILL_BOOM_SPEED:t.BOOM_SPEED,e?t.SKILL_BOOM_CURVE:t.BOOM_CURVE,this.orbitThrowSign,e?t.SKILL_BOOM_SCALE:t.BOOM_SCALE,e?t.SKILL_BOOM_HIT_R:t.BOOM_HIT_R,e?t.SKILL_BOOM_SCALE_Y:t.BOOM_SCALE_Y,e?t.SKILL_BOOM_HOPS:0,e?t.SKILL_OVERSHOOT:t.BOOM_OVERSHOOT,(e?t.SKILL_MIN_TRAVEL:t.BOOM_MIN_TRAVEL)*(1+.18*n),e?t.SKILL_BOOM_GROW:t.BOOM_GROW,h,r,t.ORBIT_SCALE,e?t.SKILL_MAX_TARGETS:t.BOOM_MAX_TARGETS,e,e?t.SKILL_ARM_FRAMES:0,e?t.SKILL_MAX_TRAVEL:0),e&&u.setExplodePower(t.SKILL_EXP_DMG,t.SKILL_EXP_RADIUS,t.SKILL_EXP_BURN,t.SKILL_EXP_SCALE),u.play(),this.orbitThrowSign=-this.orbitThrowSign,this.thrownWhirls[i]=u,this.thrownAge[i]=0} + throwOrbiter(){ + const i=this.target&&this.target.isAlive?this.target:this.getAttackableEnemyList(1)[0]; + if(!i)return; + this.lookAt(i.x-this.x),this.ensureOrbiters(); + const s=this.pickOrbitSlot(i.x,i.y); + s<0?this.attackCoolDown=Math.min(this.attackCoolDown,t.EMPTY_RETRY):(this.launchOrbiter(s,i,!1),this.addJuggleStack())} + addJuggleStack(){ + this.juggleStack>=t.JUGGLE_MAX||(this.juggleStack++,this.addAttackSpeedBuff(AZ.FireSpirit1_JUGGLE_ATKSPD,this.juggleStack*t.JUGGLE_PER,t.JUGGLE_BUFF_DUR,!0),this.juggleStack>=t.JUGGLE_MAX&&(this.overheatTimer=t.OVERHEAT_HOLD))} + updateJuggle(){ + this.juggleFreeze>0?this.juggleFreeze--:this.overheatTimer<=0||--this.overheatTimer>0||(this.juggleStack=0,this.removeAttackSpeedBuff(AZ.FireSpirit1_JUGGLE_ATKSPD))} + updateRelight(){ + this.relightTimer>0&&this.relightTimer--} + throwAllOrbiters(){ + this.ensureOrbiters(); + const i=this.getOrbitCount(),s=[]; + for(let t=0; + t<i; + t++)this.orbiters[t]&&!this.thrownWhirls[t]&&s.push(t); + if(0===s.length)return; + const e=this.enemyCentroidDir(),n=e?Math.atan2(e.y,e.x):this.direction>=0?0:Math.PI,h=s.length,r=Math.PI/h*t.SKILL_SECTOR_PAD; + for(let t=0; + t<h; + t++){ + const i=n+2*Math.PI/h*t,e=this.pickBoomerangTarget(this.x,this.y,null,i,r); + this.orbitThrowSign=t%2==0?1:-1,this.launchOrbiter(s[t],e,!0,t,i,r)} + this.relightTimer=t.RELIGHT_DELAY,this.juggleFreeze=t.JUGGLE_FREEZE} + pickBoomerangTarget(i,s,e,n=0,h=0){ + const r=this.getEnemiesAtPos(i,s,t.SKILL_HOP_RANGE,0,!0); + let o=null,a=1/0; + for(const t of r){ + if(!t||!t.isAlive||t===e)continue; + if(h>0){ + const i=Math.atan2(t.y-this.y,t.x-this.x); + if(Math.abs(Math.atan2(Math.sin(i-n),Math.cos(i-n)))>h)continue} + const r=t.x-i,c=t.y-s,l=r*r+c*c; + l<a&&(a=l,o=t)} + return o} + clearOrbiters(){ + for(let t=0; + t<this.orbiters.length; + t++){ + const i=this.orbiters[t]; + i&&!i.removed&&i.remove(),this.orbiters[t]=null; + const s=this.thrownWhirls[t]; + s&&!s.removed&&s.remove(),this.thrownWhirls[t]=null,this.thrownAge[t]=0} + } + pickOrbNextTarget(i,s,e){ + let n=null,h=1/0; + for(const r of this.getEnemiesAtPos(i,s,t.ORB_CHILD_RANGE,0,!0)){ + if(!r||!r.isAlive||r===e)continue; + const t=(r.x-i)**2+(r.y-s)**2; + t<h&&(h=t,n=r)} + return n} + getSplitCount(){ + return this.evolStage>=1?t.ORB_SPLIT_E:t.ORB_SPLIT} + throwOrb(){ + const i=[]; + for(const r of this.getAttackableEnemyList(4*t.ORB_SHOTS))r&&r.isAlive&&!r.isUntagetable&&i.push(r); + if(0===i.length)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)),this.lookAt(i[0].x-this.x); + const s=this.pickSpreadTargets(i,t.ORB_SHOTS),e=s.length>1&&s[0]===s[1],n=this.x+this.firePoint.x*this.direction,h=this.y+this.firePoint.y; + for(let r=0; + r<s.length; + r++){ + const i=s[r]; + i&&i.isAlive&&this.launchOrb(n,h,i,t.ORB_DMG,!0,!1,0,e)} + } + pickSpreadTargets(t,i){ + const s=[],e=[],n=new Set; + for(let r=0; + r<i; + r++){ + let i=null,h=-1; + for(const s of t){ + if(n.has(s))continue; + const t=Math.atan2(s.y-this.y,s.x-this.x); + let r=Math.PI; + for(const i of e){ + const s=Math.abs(Math.atan2(Math.sin(t-i),Math.cos(t-i))); + s<r&&(r=s)} + r>h&&(h=r,i=s)} + if(!i)break; + n.add(i),s.push(i),e.push(Math.atan2(i.y-this.y,i.x-this.x))} + const h=s.length; + if(0===h)return s; + for(; + s.length<i; + )s.push(s[s.length%h]); + return s} + launchOrb(i,s,e,n,h,r,o=0,a=!1){ + const c=this.battleController||hli.getInstance(),l=t0.getInstance().getWeapon(MV.FireOrb1); + l.owner=this,l.target=null,l.setBattleController(c),l.setData(n),l.initializeData(),l.initOrb(i,s,e,t.ORB_SPEED,n,h,this.orbThrowSign,r,r?t.ORB_SCALE_CHILD:t.ORB_SCALE_MAIN,o,t.ORB_HOME_DIST,n,a),l.play(),this.orbThrowSign=-this.orbThrowSign} + spawnOrbSplit(i,s,e,n){ + const h=this.getSplitCount(),r=[]; + for(const d of this.getEnemiesAtPos(i,s,t.ORB_CHILD_RANGE,0,!0))d&&d.isAlive&&d!==e&&r.push(d); + if(0===r.length)for(const t of this.getAttackableEnemyList(h+1,!1))t&&t.isAlive&&t!==e&&r.push(t); + r.sort((t,e)=>(t.x-i)**2+(t.y-s)**2-((e.x-i)**2+(e.y-s)**2)); + const o=[]; + for(const t of r)if(o.push(t),o.length>=h)break; + for(; + o.length<h; + )o.push(e??null); + const a=h>1?t.ORB_SPREAD_ARC/(h-1):0,c=n-t.ORB_SPREAD_ARC/2,l=h>1?-.3:0,u=h>1?2*t.ORB_SPREAD_KICK/(h-1):0; + for(let d=0; + d<h; + d++){ + const r=o[d],f=r?Math.atan2(r.y-s,r.x-i)+l+u*d:h>1?c+a*d:n; + this.orbThrowSign=d%2==0?1:-1; + const p=o[d]===e?t.ORB_CHILD_REPEAT:t.ORB_CHILD_DMG; + this.launchOrb(i,s,o[d],p,!1,!0,f)} + return!0} + onOrbReturned(t,i){ + } + startOrbSkill(){ + const i=this.evolStage>=1?t.ORB_SCATTER_E:t.ORB_SCATTER,s=this.enemyCentroidDir(),e=s?Math.atan2(s.y,s.x):this.direction>=0?0:Math.PI,n=this.x,h=this.y+t.ORB_H,r=i>1?(t.ORB_SC_SPD_MAX-t.ORB_SC_SPD_MIN)/(i-1):0,o=2*Math.PI/i,a=2*Math.PI,c=new Array(i).fill(null),l=new Array(i).fill(1/0); + for(const u of this.getEnemiesAtPos(n,h,t.ORB_SC_AIM_R,0,!0)){ + if(!u||!u.isAlive||u.isUntagetable)continue; + let t=Math.atan2(u.y-h-.5*u.hitHeight,u.x-n)-e+o/2; + t=(t%a+a)%a; + const s=Math.min(i-1,Math.floor(t/o)),r=(u.x-n)**2+(u.y-h)**2; + r<l[s]&&(l[s]=r,c[s]=u)} + for(let u=0; + u<i; + u++){ + let s,a; + const l=c[u]; + if(l){ + const i=l.x-n,e=l.y-h-.5*l.hitHeight,r=Math.max(1,Math.sqrt(i*i+e*e)),o=t.ORB_SC_JITTER*t.ORB_SC_AIM_JIT; + s=Math.atan2(e,i)+this.random.range(-o,o),a=Math.max(t.ORB_SC_SPD_MIN,Math.min(t.ORB_SC_SPD_MAX,r/t.ORB_FUSE))} + else s=e+o*u+this.random.range(-.16,t.ORB_SC_JITTER),a=t.ORB_SC_SPD_MIN+r*(u%2==0?u:i-1-u); + const d=this.battleController||hli.getInstance(),f=t0.getInstance().getWeapon(MV.FireOrb1); + f.owner=this,f.target=null,f.setBattleController(d),f.setData(t.ORB_BLAST_DMG),f.initializeData(),f.initScatter(n,h,s,a,t.ORB_FUSE,t.ORB_BLAST_DMG,t.ORB_BLAST_R,t.ORB_BLAST_BURN,t.ORB_BURN_DUR,t.ORB_BURN_INT,t.ORB_BURN_ID,t.ORB_SC_SCALE,t.ORB_SC_ARM),f.play()} + } + skillMain(){ + this.startOrbSkill()} + castSupernova(){ + const i=this.aimSupernovaCenter(); + this.lookAt(i.x-this.x),this.mana=0; + const s=this.evolStage>=1?t.SUPER_COUNT_E:t.SUPER_COUNT,e=2*Math.PI/s; + for(let n=0; + n<s; + n++){ + const s=t0.getInstance().getWeapon(MV.FireTornado1); + s.owner=this,s.target=null,s.setBattleController(this.battleController||hli.getInstance()),s.setData(t.SUPER_DPS),s.initSpiral(i.x,i.y,e*n,t.SUPER_SPIN,t.SUPER_OUTER_R,t.SUPER_INNER_R,t.SUPER_LIFE,t.SUPER_ARRIVE),s.play()} + } + aimSupernovaCenter(){ + const i=this.enemyCentroidDir(); + if(!i){ + const i=this.direction>=0?1:-1; + return{ + x:this.x+i*t.SUPER_RANGE,y:this.y} + } + const s=Math.min(t.SUPER_RANGE,i.dist); + return{ + x:this.x+i.x*s,y:this.y+i.y*s} + } + castFirestorm(){ + const i=this.battleController||hli.getInstance(),s=this.x+this.firePoint.x*this.direction,e=this.y+this.firePoint.y,n=this.evolStage>=1?t.STORM_COUNT_E:t.STORM_COUNT,h=Math.round(t.STORM_RANGE/t.STORM_SPEED),r=2*Math.PI/n,o=this.random.next()*Math.PI*2; + for(let a=0; + a<n; + a++){ + const n=o+r*a+this.random.range(-.1,t.STORM_JITTER),c=t0.getInstance().getWeapon(MV.FireTornado1); + c.owner=this,c.target=null,c.setBattleController(i),c.setData(t.STORM_DPS),c.initThrow(s,e,Math.cos(n),Math.sin(n),t.STORM_SPEED,h,!1,t.STORM_SCALE,t.STORM_HIT_R,t.STORM_TRAIL_STEP,t.STORM_SCALE_Y),c.play()} + } + onFireTrail(i,s){ + this.fireTrails.length>=t.TRAIL_MAX&&this.fireTrails.shift(),this.fireTrails.push({ + x:i,y:s,life:t.TRAIL_LIFE} + ); + const e=bV.getEffect(SH.FireSpiritEmber1); + e.x=i,e.y=s,kB.getInstance().addChild(e),e.start(t.TRAIL_LIFE),e.scale.set(t.TRAIL_SCALE)} + updateFireTrails(){ + let i=0; + for(const t of this.fireTrails)--t.life>0&&(this.fireTrails[i++]=t); + if(this.fireTrails.length=i,0===i)return; + if(--this.trailTickTimer>0)return; + if(this.trailTickTimer=t.TRAIL_TICK,!this.isAlive)return; + const s=new Set,e=t.TRAIL_RADIUS; + for(const n of this.fireTrails){ + const i=this.getEnemiesAtPos(n.x,n.y,e,0,!1); + for(const e of i)e&&e.isAlive&&!s.has(e)&&(s.add(e),this.doDamage(e,t.TRAIL_DMG,!0))} + } + startRush(){ + if(this.skillActive)return; + const i=this.enemyCentroidDir(); + if(i){ + const s=Math.min(t.RUSH_RANGE,i.dist); + this.destX=this.x+i.x*s,this.destY=this.y+i.y*s,this.lookAt(i.x)} + else{ + const i=this.direction>=0?1:-1; + this.destX=this.x+i*t.RUSH_RANGE,this.destY=this.y} + this.homeX=this.x,this.homeY=this.y,this.mana=0,this.sp&&(this.sp.visible=!1),this.shadow&&(this.shadow.visible=!1),this.spawnPillar(),this.skillActive=!0,this.rushMode=!0,this.skillPhase=1,this.phaseTimer=t.RUSH_MORPH_FRAMES,this.rushTickTimer=0} + spawnPillar(){ + const i=bV.getEffect(SH.FireSpiritPillar1); + i.x=this.x,i.y=this.y,kB.getInstance().addChild(i),i.start(1e5),i.scale.set(t.RUSH_PILLAR_SCALE),this.pillar=i} + updateRush(){ + var i,s; + if(this.isAlive)switch(this.pillar&&!this.pillar.removed&&(this.pillar.x=this.x,this.pillar.y=this.y),null==(i=this.updateActiveBuff)||i.call(this),null==(s=this.updateDotDamage)||s.call(this),this.skillPhase){ + case 1:--this.phaseTimer<=0&&(this.skillPhase=2,this.phaseTimer=t.RUSH_MAX_FRAMES); + break; + case 2:this.sweepBurn(),(this.moveToward(this.destX,this.destY,t.RUSH_SPEED)||--this.phaseTimer<=0)&&(this.skillPhase=3,this.phaseTimer=t.RUSH_STAY_FRAMES); + break; + case 3:this.sweepBurn(),--this.phaseTimer<=0&&(this.skillPhase=4,this.phaseTimer=t.RUSH_BACK_MAX); + break; + default:this.sweepBurn(),(this.moveToward(this.homeX,this.homeY,t.RUSH_BACK_SPEED)||--this.phaseTimer<=0)&&this.endRush()} + else this.endRush()} + moveToward(i,s,e){ + const n=i-this.x,h=s-this.y,r=Math.sqrt(n*n+h*h); + return r<=t.RUSH_ARRIVE_DIST||(this.x+=n/r*e,this.y+=h/r*e,Math.abs(n)>1&&this.lookAt(n),!1)} + sweepBurn(){ + if(--this.rushTickTimer>0)return; + this.rushTickTimer=t.RUSH_TICK; + const i=this.getEnemiesAtPos(this.x,this.y,t.RUSH_HIT_RADIUS,0,!0); + if(0===i.length)return; + const s=this.atkDmg*t.RUSH_BURN_TICK; + for(const e of i)e&&e.isAlive&&(this.doDamage(e,t.RUSH_TICK_DMG,!0),e.isAlive&&(e.addDotDamage(s,t.RUSH_BURN_DURATION,t.RUSH_BURN_INTERVAL,this,t.RUSH_BURN_DOT_ID),e.burn(Math.floor(t.RUSH_BURN_DURATION/2),this)))} + endRush(){ + this.skillActive=!1,this.rushMode=!1,this.skillPhase=0,this.rushTickTimer=0,this.pillar&&(this.pillar.removed||this.pillar.fadeOut(),this.pillar=null),this.restoreBody(),this.tx=this.x,this.ty=this.y} + startSkill(){ + if(this.skillActive)return; + const i=this.aimGatherPoint(); + this.destX=this.x+i.x*i.dist,this.destY=this.y+i.y*i.dist,this.lookAt(i.x),this.isUntagetable=!0,this.sp&&(this.sp.visible=!1),this.shadow&&(this.shadow.visible=!1),this.mana=0,this.spawnRing(this.x,this.y,!0,t.SCATTER_FRAMES),this.skillActive=!0,this.skillPhase=1,this.phaseTimer=t.SCATTER_FRAMES} + updateSkill(){ + this.phaseTimer--,this.phaseTimer>0||(1===this.skillPhase?(this.skillPhase=2,this.phaseTimer=t.GAP_FRAMES):2===this.skillPhase?(this.x=this.destX,this.y=this.destY,this.spawnRing(this.destX,this.destY,!1,t.GATHER_FRAMES),this.skillPhase=3,this.phaseTimer=t.GATHER_FRAMES):this.endSkill())} + endSkill(){ + this.skillActive=!1,this.skillPhase=0,this.restoreBody(),this.tx=this.x,this.ty=this.y,this.gotoIdleState()} + restoreBody(){ + this.isUntagetable=!1,this.sp&&(this.sp.visible=!0),this.shadow&&(this.shadow.visible=!0)} + spawnRing(i,s,e,n){ + const h=this.evolStage>=1?t.TORNADO_COUNT_E:t.TORNADO_COUNT,r=e?t.INNER_RADIUS:t.GATHER_START_RADIUS,o=e?t.SPREAD_RADIUS:t.GATHER_END_RADIUS,a=e?t.SCATTER_SPIN:t.GATHER_SPIN,c=2*Math.PI/h; + for(let l=0; + l<h; + l++){ + const e=t0.getInstance().getWeapon(MV.FireTornado1); + e.owner=this,e.target=null,e.setBattleController(this.battleController||hli.getInstance()),e.setData(t.TORNADO_DPS),e.initSpiral(i,s,c*l,a,r,o,n),e.play()} + } + aimGatherPoint(){ + const i=this.enemyCentroidDir(); + if(!i)return{ + x:this.direction>=0?1:-1,y:0,dist:t.GATHER_DIST} + ; + const s=Math.min(t.GATHER_DIST,Math.max(t.MIN_GATHER_DIST,i.dist)); + return{ + x:i.x,y:i.y,dist:s} + } + enemyCentroidDir(){ + let t=0,i=0,s=0; + for(const r of this.enemyList){ + if(!r||!r.isAlive||r.isUntagetable)continue; + const e=r.x-this.x,n=r.y-this.y; + e*e+n*n>25e4||(t+=r.x,i+=r.y,s++)} + if(0===s)return null; + const e=t/s-this.x,n=i/s-this.y,h=Math.sqrt(e*e+n*n)||1; + return{ + x:e/h,y:n/h,dist:h} + } + releaseAttachments(){ + this.clearOrbiters(),this.orbiters.length=0,this.thrownWhirls.length=0,this.thrownAge.length=0,this.orbitAngle.length=0,this.orbitRad.length=0,this.orbitSpin.length=0,this.orbitHOff.length=0,this.orbitBob.length=0,this.orbitCatch.length=0,this.orbitBloom.length=0,this.orbitJoinT.length=0,this.orbitJoinX.length=0,this.orbitJoinY.length=0,this.orbitCenterInit=!1,this.fireTrails.length=0,this.trailTickTimer=0,this.pillar&&(this.pillar.removed||this.pillar.remove(),this.pillar=null),this.restoreBody()} + resetBattleState(){ + this.skillActive=!1,this.skillPhase=0,this.phaseTimer=0,this.rushMode=!1,this.rushTickTimer=0,this.orbThrowSign=1,this.juggleStack=0,this.overheatTimer=0,this.juggleFreeze=0,this.relightTimer=0} + setData(t,i=1,s=1,e=1){ + super.setData(t,i,s,e),this.releaseAttachments(),this.resetBattleState()} + remove(){ + this.releaseAttachments(),this.removeAttackSpeedBuff(AZ.FireSpirit1_JUGGLE_ATKSPD),super.remove()} + onDie(){ + super.onDie(),this.scatterOrbiters(),this.clearOrbiters(),this.skillActive=!1,this.skillPhase=0,this.phaseTimer=0,this.restoreBody()} + resetForPool(){ + super.resetForPool(),this.skillActive=!1,this.skillPhase=0,this.phaseTimer=0,this.rushMode=!1,this.rushTickTimer=0,this.fireTrails.length=0,this.trailTickTimer=0,this.orbThrowSign=1,this.clearOrbiters(),this.orbiters.length=0,this.thrownWhirls.length=0,this.thrownAge.length=0,this.orbitAngle.length=0,this.orbitRad.length=0,this.orbitSpin.length=0,this.orbitHOff.length=0,this.orbitBob.length=0,this.orbitCatch.length=0,this.orbitBloom.length=0,this.orbitJoinT.length=0,this.orbitJoinX.length=0,this.orbitJoinY.length=0,this.orbitCenterInit=!1,this.orbitPhase=0,this.orbitThrowSign=1,this.juggleStack=0,this.overheatTimer=0,this.juggleFreeze=0,this.relightTimer=0,this.pillar&&(this.pillar.removed||this.pillar.remove(),this.pillar=null),this.restoreBody()} + } + ; + Xt(W0,"FireSpirit1"),Yt(W0,"SKILL_MODE",6),Yt(W0,"BASIC_MODE",4),Yt(W0,"BASIC_SHOTS",3),Yt(W0,"BASIC_SHOT_DELAY",3),Yt(W0,"WHIRL_COUNT",3),Yt(W0,"WHIRL_COUNT_E",4),Yt(W0,"WHIRL_SPREAD",.34),Yt(W0,"WHIRL_SPEED",3.4),Yt(W0,"WHIRL_RANGE",210),Yt(W0,"WHIRL_DPS",.5),Yt(W0,"WHIRL_SCALE",.45),Yt(W0,"WHIRL_HIT_R",26),Yt(W0,"WHIRL_STAGGER_BACK",16),Yt(W0,"WHIRL_JITTER",.05),Yt(W0,"STORM_COUNT",10),Yt(W0,"STORM_COUNT_E",12),Yt(W0,"STORM_SPEED",3),Yt(W0,"STORM_RANGE",330),Yt(W0,"STORM_SCALE",.85),Yt(W0,"STORM_SCALE_Y",1.45),Yt(W0,"STORM_HIT_R",42),Yt(W0,"STORM_DPS",.7),Yt(W0,"STORM_JITTER",.1),Yt(W0,"STORM_TRAIL_STEP",62),Yt(W0,"TRAIL_LIFE",150),Yt(W0,"TRAIL_RADIUS",34),Yt(W0,"TRAIL_TICK",30),Yt(W0,"TRAIL_DMG",.12),Yt(W0,"TRAIL_MAX",60),Yt(W0,"TRAIL_SCALE",.75),Yt(W0,"RUSH_MORPH_FRAMES",12),Yt(W0,"RUSH_SPEED",5.2),Yt(W0,"RUSH_MAX_FRAMES",70),Yt(W0,"RUSH_STAY_FRAMES",40),Yt(W0,"RUSH_BACK_SPEED",6.5),Yt(W0,"RUSH_BACK_MAX",70),Yt(W0,"RUSH_RANGE",300),Yt(W0,"RUSH_ARRIVE_DIST",14),Yt(W0,"RUSH_HIT_RADIUS",52),Yt(W0,"RUSH_TICK",12),Yt(W0,"RUSH_TICK_DMG",.45),Yt(W0,"RUSH_PILLAR_SCALE",1),Yt(W0,"RUSH_BURN_TICK",.1),Yt(W0,"RUSH_BURN_DURATION",180),Yt(W0,"RUSH_BURN_INTERVAL",30),Yt(W0,"RUSH_BURN_DOT_ID",72),Yt(W0,"SUPER_COUNT",5),Yt(W0,"SUPER_COUNT_E",7),Yt(W0,"SUPER_OUTER_R",150),Yt(W0,"SUPER_INNER_R",20),Yt(W0,"SUPER_SPIN",.075),Yt(W0,"SUPER_LIFE",180),Yt(W0,"SUPER_ARRIVE",.9),Yt(W0,"SUPER_DPS",1.4),Yt(W0,"SUPER_RANGE",260),Yt(W0,"TORNADO_COUNT",3),Yt(W0,"TORNADO_COUNT_E",4),Yt(W0,"SPREAD_RADIUS",140),Yt(W0,"GATHER_START_RADIUS",120),Yt(W0,"INNER_RADIUS",12),Yt(W0,"GATHER_END_RADIUS",60),Yt(W0,"SCATTER_SPIN",.07),Yt(W0,"GATHER_SPIN",.08),Yt(W0,"SCATTER_FRAMES",190),Yt(W0,"GAP_FRAMES",90),Yt(W0,"GATHER_FRAMES",180),Yt(W0,"GATHER_DIST",260),Yt(W0,"MIN_GATHER_DIST",120),Yt(W0,"TORNADO_DPS",1),Yt(W0,"ORBIT_COUNT",3),Yt(W0,"ORBIT_COUNT_E",4),Yt(W0,"ORBIT_RX",42),Yt(W0,"ORBIT_RY",14),Yt(W0,"ORBIT_H",-26),Yt(W0,"ORBIT_SPIN",.032),Yt(W0,"ORBIT_BOB",5),Yt(W0,"ORBIT_BOB_SPEED",.07),Yt(W0,"ORBIT_RAD_MIN",.72),Yt(W0,"ORBIT_RAD_MAX",1.32),Yt(W0,"ORBIT_SPIN_MIN",.82),Yt(W0,"ORBIT_SPIN_MAX",1.22),Yt(W0,"ORBIT_H_VAR",13),Yt(W0,"ORBIT_RUSH_SPIN",.9),Yt(W0,"ORBIT_RUSH_TIGHT",.2),Yt(W0,"JOIN_BLEND",20),Yt(W0,"CATCH_SETTLE",.3),Yt(W0,"CATCH_SETTLE_EASE",.94),Yt(W0,"CATCH_SPARK_SCALE",.3),Yt(W0,"CATCH_SPARK_LIFE",30),Yt(W0,"ORBIT_LAG",.14),Yt(W0,"ORBIT_LAG_MAX",130),Yt(W0,"DEATH_SCATTER_SPD",3.4),Yt(W0,"DEATH_SCATTER_LIFE",26),Yt(W0,"ORBIT_SCALE",.42),Yt(W0,"ORBIT_DEPTH",.04),Yt(W0,"BOOM_SPEED",5.6),Yt(W0,"BOOM_CURVE",.6),Yt(W0,"BOOM_OVERSHOOT",80),Yt(W0,"BOOM_MIN_TRAVEL",300),Yt(W0,"BOOM_SCALE",.44),Yt(W0,"BOOM_SCALE_Y",1.2),Yt(W0,"BOOM_GROW",9),Yt(W0,"BOOM_HIT_R",34),Yt(W0,"BOOM_DPS",.75),Yt(W0,"BOOM_MAX_TARGETS",6),Yt(W0,"SKILL_MAX_TARGETS",8),Yt(W0,"BOOM_TIMEOUT",1320),Yt(W0,"EMPTY_RETRY",8),Yt(W0,"JUGGLE_MAX",5),Yt(W0,"JUGGLE_PER",.15),Yt(W0,"OVERHEAT_HOLD",180),Yt(W0,"JUGGLE_BUFF_DUR",3600),Yt(W0,"JUGGLE_FREEZE",90),Yt(W0,"SKILL_BOOM_SPEED",4.8),Yt(W0,"SKILL_BOOM_CURVE",.7),Yt(W0,"SKILL_BOOM_SCALE",.54),Yt(W0,"SKILL_BOOM_SCALE_Y",1.4),Yt(W0,"SKILL_BOOM_HIT_R",48),Yt(W0,"SKILL_BOOM_DPS",.8),Yt(W0,"SKILL_BOOM_HOPS",3),Yt(W0,"SKILL_EXP_DMG",1),Yt(W0,"SKILL_EXP_RADIUS",92),Yt(W0,"SKILL_EXP_BURN",.15),Yt(W0,"SKILL_EXP_SCALE",1.1),Yt(W0,"SKILL_ARM_FRAMES",22),Yt(W0,"SKILL_MAX_TRAVEL",330),Yt(W0,"RELIGHT_DELAY",34),Yt(W0,"BLOOM_FRAMES",24),Yt(W0,"BLOOM_STAGGER",8),Yt(W0,"BLOOM_SPIN",2.4),Yt(W0,"BLOOM_START_RAD",.12),Yt(W0,"BLOOM_START_SCL",.2),Yt(W0,"SKILL_OVERSHOOT",70),Yt(W0,"SKILL_MIN_TRAVEL",120),Yt(W0,"SKILL_BOOM_GROW",12),Yt(W0,"SKILL_HOP_RANGE",180),Yt(W0,"SKILL_SECTOR_PAD",1.25),Yt(W0,"ORB_SPEED",15.5),Yt(W0,"ORB_SHOTS",2),Yt(W0,"ORB_DMG",.45),Yt(W0,"ORB_CHILD_DMG",.35),Yt(W0,"ORB_CHILD_REPEAT",.22),Yt(W0,"ORB_SPLIT",4),Yt(W0,"ORB_SPLIT_E",5),Yt(W0,"ORB_CHILD_RANGE",380),Yt(W0,"ORB_SCALE_MAIN",.78),Yt(W0,"ORB_SCALE_CHILD",.46),Yt(W0,"ORB_SPREAD_ARC",1.5),Yt(W0,"ORB_SPREAD_KICK",.3),Yt(W0,"ORB_H",-26),Yt(W0,"ORB_HOME_DIST",54),Yt(W0,"ORB_SCATTER",8),Yt(W0,"ORB_SCATTER_E",11),Yt(W0,"ORB_FUSE",30),Yt(W0,"ORB_SC_ARM",8),Yt(W0,"ORB_SC_SPD_MIN",5),Yt(W0,"ORB_SC_SPD_MAX",15),Yt(W0,"ORB_SC_JITTER",.16),Yt(W0,"ORB_SC_AIM_R",450),Yt(W0,"ORB_SC_AIM_JIT",.25),Yt(W0,"ORB_SC_SCALE",.7),Yt(W0,"ORB_BLAST_R",78),Yt(W0,"ORB_BLAST_DMG",1.15),Yt(W0,"ORB_BLAST_BURN",.12),Yt(W0,"ORB_BURN_DUR",180),Yt(W0,"ORB_BURN_INT",30),Yt(W0,"ORB_BURN_ID",74); + let j0=W0; + const V0=class t extends A0{ + constructor(){ + super(),Yt(this,"pillars",[]),Yt(this,"auraCount",0),Yt(this,"detonateQueue",[]),Yt(this,"detonateStepTimer",0),Yt(this,"blastHits",new Map)} + initializeData(){ + super.initializeData(),this.sheetName="Game2",this.className=fx.Naga1,this.unitType=ax.RANGE,this.weaponClass=MV.NagaIceArrow1,this.atkRange=t.ATK_RANGE,this.atkRange2=this.atkRange*this.atkRange,this.orgAtkRange=this.baseAtkRange=this.atkRange,this.radius=7,this.hitHeight=27,this.uiTopOffset=14,this.idleFrames=new AH(0,35),this.moveFrames=new AH(36,63),this.attackFrames=new AH(64,85),this.skillFrames=new AH(86,173),this.dieFrames=new AH(174,189),this.objAtk={ + 75:1} + ,this.objSkill={ + 130:1} + ,this.firePoint.set(10,-18),this.normalSize=.8,this.evolSize=.85,this.hasSkill=!0,this.maxMana=430} + execute(){ + super.execute(),this.isAlive?(this.pillars.length&&this.updatePillars(),this.detonateQueue.length&&this.processDetonateQueue()):(this.pillars.length||this.detonateQueue.length)&&this.clearPillars()} + attackMain(){ + if(null==this.target)return; + const i=this.pickSpreadTargets(t.SHOT_COUNT); + if(0===i.length)return; + const s=new Array(t.SHOT_COUNT).fill(!1),e=new Set; + let n=t.PILLAR_SHOTS; + for(let r=0; + r<t.SHOT_COUNT&&n>0; + r++){ + const t=i[r%i.length]; + e.has(t)||(e.add(t),s[r]=!0,n--)} + for(let r=0; + r<t.SHOT_COUNT&&n>0; + r++)s[r]||(s[r]=!0,n--); + const h=new Map; + for(let r=0; + r<t.SHOT_COUNT; + r++){ + const e=i[r%i.length],n=h.get(e)??0; + h.set(e,n+1); + const o=t.SHOT_DMG_PER*Math.pow(t.SHOT_REPEAT_FALLOFF,n),a=this.generateWeapon(e,this.weaponClass,o,"",r*t.SHOT_DELAY); + a&&(a.makesPillar=s[r])} + } + pickSpreadTargets(i){ + const s=this.getAttackableEnemyList(t.CAND_COUNT).filter(t=>t&&t.isAlive&&!t.isUntagetable); + if(0===s.length)return[]; + const e=this.direction>=0?1:-1,n=s.filter(t=>(t.x-this.x)*e>=0),h=n.length>0?n:s; + let r=this.target&&this.target.isAlive&&!this.target.isUntagetable&&(this.target.x-this.x)*e>=0?this.target:null; + if(!r){ + let t=1/0; + for(const i of h){ + const s=(i.x-this.x)**2+(i.y-this.y)**2; + s<t&&(t=s,r=i)} + } + const o=r?[r]:[]; + return this.addSpread(h,o,2),this.addSpread(s,o,i),o} + addSpread(t,i,s){ + const e=Xt(t=>Math.atan2(t.y-this.y,t.x-this.x),"angleOf"); + for(; + i.length<s; + ){ + let s=null,n=-1/0; + for(const h of t){ + if(i.indexOf(h)>=0)continue; + const t=e(h); + let r=1/0; + for(const s of i){ + let i=Math.abs(t-e(s)); + i>Math.PI&&(i=2*Math.PI-i),i<r&&(r=i)} + const o=0===i.length?-((h.x-this.x)**2+(h.y-this.y)**2):r; + o>n&&(n=o,s=h)} + if(!s)break; + i.push(s)} + } + onIceHit(i,s=!0){ + if(!i)return; + if(!s)return void(i.isAlive&&i.freeze(t.PILLAR_FREEZE)); + const e=this.random.range(-30,t.PILLAR_JITTER),n=this.random.range(-30,t.PILLAR_JITTER),h=i.x+e,r=i.y+n,o=r-(i.isAir?i.airHeight:0); + this.spawnPillar(h,r,o),i.isAlive&&i.freeze(t.PILLAR_FREEZE)} + spawnPillar(i,s,e=s,n=t.PILLAR_LIFETIME){ + if(this.pillars.length>=t.PILLAR_MAX){ + const t=this.pillars.shift(); + t&&!t.done&&this.detonatePillar(t)} + const h=this.random.chance(.5)?SH.NagaIceSegment2:SH.NagaIceSegment1,r=bV.getEffect(h); + r.x=i,r.y=e,NB.getInstance().addChild(r),r.start(n+t.PILLAR_FX_PAD); + const o=Math.abs(this.scale.x)||1,a=this.random.chance(.5)?-1:1; + r.scale.set(a*t.PILLAR_SCALE*o,t.PILLAR_SCALE*o),this.pillars.push({ + x:i,y:s,fx:r,life:n,done:!1} + )} + pickScoutAngle(i){ + const s=i.map(t=>Math.atan2(t.y-this.y,t.x-this.x)),e=Xt(t=>{ + let i=Math.PI; + for(const e of s){ + let s=Math.abs(t-e); + s>Math.PI&&(s=2*Math.PI-s),s<i&&(i=s)} + return i} + ,"sep"),n=this.getEnemiesAtPos(this.x,this.y,t.SCOUT_SEARCH_R,0,!0); + let h=null,r=t.SCOUT_MIN_SEP; + for(const t of n){ + if(!t||!t.isAlive||t.isUntagetable)continue; + if(i.includes(t))continue; + const s=Math.atan2(t.y-this.y,t.x-this.x),n=e(s); + n>r&&(r=n,h=s)} + return null!==h?h:n.length<t.SCOUT_EMPTY_MIN?null:this.pickEmptyAngle(i)} + pickEmptyAngle(i){ + const s=i.map(t=>Math.atan2(t.y-this.y,t.x-this.x)),e=this.direction>=0?1:-1; + let n=0,h=-1/0; + for(let r=0; + r<t.GROUND_SHOT_ANGLE_CANDS; + r++){ + const i=r/t.GROUND_SHOT_ANGLE_CANDS*Math.PI*2,o=Math.cos(i)*e>=0?.3:0; + let a=Math.PI; + for(const t of s){ + let s=Math.abs(i-t); + s>Math.PI&&(s=2*Math.PI-s),s<a&&(a=s)} + const c=a+o; + c>h&&(h=c,n=i)} + return n} + fireGroundShot(i,s){ + const e=this.pickScoutAngle(i); + if(null===e)return; + const n=this.x+Math.cos(e)*t.GROUND_SHOT_RANGE,h=this.y+Math.sin(e)*t.GROUND_SHOT_RANGE,r=t0.getInstance().getWeapon(MV.NagaIceArrow1); + r.owner=this,r.target=null,r.x=this.x+this.firePoint.x*this.direction,r.y=this.y+this.firePoint.y; + const o=n-r.x,a=h-r.y,c=Math.sqrt(o*o+a*a)||1; + r.vx=o/c*r.speed,r.vy=a/c*r.speed,r.rotation=Math.atan2(r.vy,r.vx),r.setData(0),r.setupGroundShot(n,h,s),r.setBattleController(this.battleController||hli.getInstance()),jB.getInstance().addChild(r),(this.battleController||hli.getInstance()).addWeapon(r)} + onGroundStrike(i,s){ + this.spawnPillar(i,s,s,Math.round(t.PILLAR_LIFETIME*t.GROUND_SHOT_LIFETIME_MULT))} + updatePillars(){ + this.auraCount++; + const i=this.auraCount>=t.AURA_TICK; + i&&(this.auraCount=0); + let s=!1; + for(const t of this.pillars)t.done?s=!0:(t.life--,t.life<=0?(this.detonatePillar(t),s=!0):i&&this.applyAura(t)); + s&&(this.pillars=this.pillars.filter(t=>!t.done))} + applyAura(i){ + const s=this.getEnemiesAtPos(i.x,i.y,t.AURA_R,0,!0); + for(const e of s)e.isAlive&&(e.chill(t.CHILL_DUR),e.chillAttack(t.CHILL_DUR),e.addDotDamage(this.atkDmg*t.DOT_RATIO,t.DOT_DUR,t.DOT_INTERVAL,this,t.DOT_ID))} + skillMain(){ + const t=this.pillars.filter(t=>!t.done); + 0!==t.length&&(t.sort((t,i)=>(t.x-this.x)**2+(t.y-this.y)**2-((i.x-this.x)**2+(i.y-this.y)**2)),this.detonateQueue=t,this.pillars=[],this.detonateStepTimer=0,this.blastHits.clear())} + processDetonateQueue(){ + if(this.detonateStepTimer--,this.detonateStepTimer>0)return; + const i=t.DETONATE_MAX_PER_STEP-t.DETONATE_MIN_PER_STEP+1,s=t.DETONATE_MIN_PER_STEP+this.random.nextInt(i); + for(let t=0; + t<s; + t++){ + const t=this.detonateQueue.shift(); + if(!t)break; + t.done||this.detonatePillar(t)} + this.detonateStepTimer=t.DETONATE_STEP_FRAMES} + detonatePillar(i){ + i.done=!0,i.fx.shatter(t.BLAST_FX_SCALE); + const s=this.getEnemiesAtPos(i.x,i.y,t.BLAST_R,0,!0).filter(t=>t&&t.isAlive).sort((t,s)=>(t.x-i.x)**2+(t.y-i.y)**2-((s.x-i.x)**2+(s.y-i.y)**2)).slice(0,t.BLAST_MAX_TARGETS); + for(const e of s){ + if(!e.isAlive)continue; + const i=this.blastHits.get(e)??0; + if(i>=t.BLAST_REPEAT_MAX)continue; + this.blastHits.set(e,i+1); + const s=0===i?1:t.BLAST_REPEAT_MULT; + this.doDamage(e,t.BLAST_DMG*s,!0),0===i&&e.freeze(t.BLAST_FREEZE)} + } + clearPillars(){ + for(const t of this.pillars)t.done||t.fx.remove(); + this.pillars=[]; + for(const t of this.detonateQueue)t.done||t.fx.remove(); + this.detonateQueue=[],this.detonateStepTimer=0,this.blastHits.clear()} + onDie(){ + super.onDie(),this.clearPillars()} + resetForPool(){ + super.resetForPool(),this.clearPillars(),this.auraCount=0} + setData(t,i=1,s=1,e=1){ + super.setData(t,i,s,e),this.clearPillars(),this.auraCount=0} + remove(){ + this.clearPillars(),super.remove()} + lookAt(t){ + const i=t>0?1:-1; + super.lookAt(-i),this.direction=i} + setSize(t){ + super.setSize(t),this.lookAt(this.direction)} + async generateSprite(){ + await super.generateSprite(),this.lookAt(this.direction)} + } + ; + Xt(V0,"Naga1"),Yt(V0,"ATK_RANGE",285),Yt(V0,"SHOT_COUNT",6),Yt(V0,"PILLAR_SHOTS",3),Yt(V0,"SHOT_DMG_PER",.7),Yt(V0,"SHOT_DELAY",4),Yt(V0,"CAND_COUNT",26),Yt(V0,"SHOT_REPEAT_FALLOFF",.8),Yt(V0,"PILLAR_FREEZE",45),Yt(V0,"PILLAR_LIFETIME",420),Yt(V0,"PILLAR_MAX",12),Yt(V0,"PILLAR_SCALE",1.3),Yt(V0,"PILLAR_JITTER",30),Yt(V0,"PILLAR_FX_PAD",30),Yt(V0,"AURA_TICK",15),Yt(V0,"AURA_R",92),Yt(V0,"CHILL_DUR",34),Yt(V0,"DOT_RATIO",.09),Yt(V0,"DOT_DUR",40),Yt(V0,"DOT_INTERVAL",20),Yt(V0,"DOT_ID",7701),Yt(V0,"BLAST_R",132),Yt(V0,"BLAST_FX_SCALE",1.2),Yt(V0,"BLAST_DMG",1.3),Yt(V0,"BLAST_FREEZE",60),Yt(V0,"BLAST_REPEAT_MULT",.5),Yt(V0,"BLAST_REPEAT_MAX",5),Yt(V0,"BLAST_FREEZE_ONCE",!0),Yt(V0,"BLAST_MAX_TARGETS",5),Yt(V0,"DETONATE_STEP_FRAMES",5),Yt(V0,"DETONATE_MIN_PER_STEP",1),Yt(V0,"DETONATE_MAX_PER_STEP",2),Yt(V0,"GROUND_SHOT_RANGE",200),Yt(V0,"GROUND_SHOT_LIFETIME_MULT",.6),Yt(V0,"GROUND_SHOT_ANGLE_CANDS",8),Yt(V0,"SCOUT_SEARCH_R",340),Yt(V0,"SCOUT_MIN_SEP",.55),Yt(V0,"SCOUT_EMPTY_MIN",6); + let K0=V0; + const z0=class t extends A0{ + constructor(){ + super(),Yt(this,"stuck",new Map),Yt(this,"ammo",[]),Yt(this,"venomTick",0),Yt(this,"snakePoint",new _i(0,0)),Yt(this,"coilSnakes",[])} + initializeData(){ + super.initializeData(),this.sheetName="Game2",this.className=fx.Medusa1,this.unitType=ax.RANGE,this.weaponClass=MV.MedusaArrow1,this.radius=7,this.hitHeight=27,this.idleFrames=new AH(0,35),this.moveFrames=new AH(36,63),this.attackFrames=new AH(64,90),this.skillFrames=new AH(91,163),this.dieFrames=new AH(164,179),this.objAtk={ + 78:1} + ,this.objSkill={ + 127:1} + ,this.firePoint.set(10,-18),this.hasSkill=!0,this.maxMana=300,this.normalSize=.85,this.evolSize=.9} + execute(){ + if(super.execute(),!this.isAlive)return; + this.venomTick++; + const i=this.venomTick%t.VENOM_INTERVAL===0,s=[]; + for(const[e,n]of this.stuck)if(e&&!e.removed&&e.isAlive){ + for(let t=n.length-1; + t>=0; + t--)--n[t]<=0&&n.splice(t,1); + 0!==n.length?(i&&this.doDamage(e,n.length*t.VENOM_PCT,!0),this.updateStuckVisual(e,n.length)):this.stuck.delete(e)} + else s.push({ + x:e?e.x:this.x,y:e?e.y:this.y,count:n.length} + ),this.stuck.delete(e); + for(const e of s){ + for(let i=0; + i<e.count; + i++)this.ammo.push(t.AMMO_LIFE); + this.spawnSnakes(e.x,e.y,this,e.count),this.spreadContagion(e.x,e.y)} + for(let t=this.ammo.length-1; + t>=0; + t--)--this.ammo[t]<=0&&this.ammo.splice(t,1); + this.updateCoil()} + updateCoil(){ + const i=Math.min(this.ammo.length,t.MAX_COIL); + for(; + this.coilSnakes.length<i; + ){ + const i=this.coilSnakes.length,s=bV.getEffect(SH.MedusaCoilSnake1),e=i/t.MAX_COIL*Math.PI*2; + s.setupCoil(this,e,t.COIL_RADIUS),kB.getInstance().addChild(s),s.start(999999),this.coilSnakes.push(s)} + for(; + this.coilSnakes.length>i; + ){ + const t=this.coilSnakes.pop(); + null==t||t.remove()} + } + clearCoil(){ + for(const t of this.coilSnakes)t.remove(); + this.coilSnakes.length=0} + spreadContagion(i,s){ + this.spawnPop(i,s); + const e=t.CONTAGION_RADIUS*t.CONTAGION_RADIUS,n=[]; + for(const t of this.enemyList){ + if(!t||!t.isAlive||t.isUntagetable)continue; + const h=t.x-i,r=t.y-s; + h*h+r*r<=e&&n.push(t)} + if(0===n.length)return; + for(const r of n)this.doDamage(r,t.BURST_PCT,!0); + n.sort((t,e)=>(t.x-i)**2+(t.y-s)**2-((e.x-i)**2+(e.y-s)**2)); + const h=Math.min(n.length,t.CONTAGION_TARGETS); + for(let r=0; + r<h; + r++){ + const e=n[r]; + for(let i=0; + i<t.CONTAGION_STACKS; + i++)this.onSnakeStick(e); + this.spawnSnakes(i,s,e,1)} + } + spawnPop(i,s){ + const e=bV.getEffect(SH.PoisonExplodeEffect); + e.x=i,e.y=s,kB.getInstance().addChild(e),e.start(t.POP_LIFE)} + onSnakeStick(i){ + if(!i||!i.isAlive)return; + let s=this.stuck.get(i); + s||(s=[],this.stuck.set(i,s)),s.push(t.STACK_LIFE),this.updateStuckVisual(i,s.length),s.length>=t.STACK_THRESHOLD&&this.petrify(i,s)} + updateStuckVisual(i,s){ + this.snakePoint.set(0,.3*-i.hitHeight),i.showEffect(SH.MedusaSnakeStuck1,t.VISUAL_REFRESH,this.snakePoint,!0,!1).scale.set(t.STUCK_BASE_SCALE*(1+(s-1)*t.STUCK_SCALE_PER))} + petrify(i,s){ + i.stun(t.PETRIFY_DURATION,this); + const e=s.length; + for(let n=0; + n<e; + n++)this.ammo.push(t.AMMO_LIFE); + this.spawnSnakes(i.x,i.y,this,e),this.stuck.delete(i)} + attackMain(){ + const i=this.target; + if(!i||!i.isAlive)return; + const s=[i]; + for(const t of this.getEnemiesWithin(this.atkRange,!0))t!==i&&t.isAlive&&s.push(t); + for(let e=0; + e<t.BASIC_SHOTS; + e++){ + const i=s[e%s.length]; + i&&i.isAlive&&this.generateWeapon(i,this.weaponClass,t.BASIC_DMG,"",t.BASIC_DELAY*e)} + } + spawnSnakes(i,s,e,n){ + const h=Math.min(n,t.MAX_CRAWL_VISUAL); + for(let r=0; + r<h; + r++){ + const n=bV.getEffect(SH.MedusaSnakeCrawl1),o=10*(r-(h-1)/2); + n.setupCrawl(i+o,s,e,t.CRAWL_LIFE),kB.getInstance().addChild(n),n.start(t.CRAWL_LIFE)} + } + skillMain(){ + const i=Math.max(t.BASE_SHOTS,this.ammo.length); + this.ammo.length=0; + const s=this.getEnemiesWithin(t.SKILL_RANGE,!0); + if(0!==s.length)for(let e=0; + e<i; + e++){ + const i=s[e%s.length]; + i&&i.isAlive&&this.generateWeapon(i,this.weaponClass,t.BASIC_DMG,"",t.MULTI_SHOT_DELAY*e)} + } + resetForPool(){ + super.resetForPool(),this.stuck.clear(),this.ammo.length=0,this.venomTick=0,this.clearCoil()} + remove(){ + this.clearCoil(),super.remove()} + onDie(){ + var t; + null==(t=super.onDie)||t.call(this),this.clearCoil()} + lookAt(t){ + const i=t>0?1:-1; + super.lookAt(-i),this.direction=i} + setSize(t){ + super.setSize(t),this.lookAt(this.direction)} + async generateSprite(){ + await super.generateSprite(),this.lookAt(this.direction)} + } + ; + Xt(z0,"Medusa1"),Yt(z0,"STACK_LIFE",240),Yt(z0,"VENOM_PCT",.04),Yt(z0,"VENOM_INTERVAL",30),Yt(z0,"STACK_THRESHOLD",8),Yt(z0,"PETRIFY_DURATION",120),Yt(z0,"BASIC_SHOTS",3),Yt(z0,"BASIC_DMG",.35),Yt(z0,"BASIC_DELAY",2),Yt(z0,"VISUAL_REFRESH",20),Yt(z0,"STUCK_BASE_SCALE",.5),Yt(z0,"STUCK_SCALE_PER",.12),Yt(z0,"CONTAGION_RADIUS",90),Yt(z0,"CONTAGION_TARGETS",3),Yt(z0,"CONTAGION_STACKS",2),Yt(z0,"BURST_PCT",.5),Yt(z0,"POP_LIFE",30),Yt(z0,"MAX_COIL",8),Yt(z0,"COIL_RADIUS",24),Yt(z0,"AMMO_LIFE",300),Yt(z0,"BASE_SHOTS",6),Yt(z0,"SKILL_RANGE",260),Yt(z0,"MULTI_SHOT_DELAY",3),Yt(z0,"MAX_CRAWL_VISUAL",4),Yt(z0,"CRAWL_LIFE",90); + let q0=z0; + const X0=class t extends A0{ + constructor(){ + super(),Yt(this,"assignCount",new Map),Yt(this,"waveTimer",0),Yt(this,"wavesLeft",0),Yt(this,"waveIndex",0),Yt(this,"castPhase",0)} + initializeData(){ + super.initializeData(),this.sheetName="Game2",this.className=fx.Hippogriff1,this.unitType=ax.RANGE,this.weaponClass=MV.HippogriffSpear1,this.radius=7,this.hitHeight=27,this.idleFrames=new AH(0,31),this.moveFrames=new AH(32,67),this.attackFrames=new AH(68,109),this.skillFrames=new AH(110,183),this.dieFrames=new AH(184,199),this.atkRange=300,this.atkRange2=this.atkRange*this.atkRange,this.orgAtkRange=this.baseAtkRange=this.atkRange,this.objAtk={ + 80:1} + ,this.objSkill={ + 142:1,151:1,158:1} + ,this.isAir=!0,this.airHeight=60,this.firePoint.set(12,-12-this.airHeight),this.hasSkill=!0,this.maxMana=300,this.normalSize=.85,this.evolSize=.9} + attackMain(){ + const i=this.getAttackableEnemyList(t.ATK_SHOTS); + if(0===i.length)return; + this.lookAt(i[0].x-this.x); + const s=new Map; + for(let e=0; + e<t.ATK_SHOTS; + e++){ + const n=i[e%i.length]; + if(!n||!n.isAlive)continue; + const h=s.get(n)??0; + s.set(n,h+1); + const r=t.ATK_DMG_PER_SHOT*Math.pow(t.ATK_REPEAT_FALLOFF,h); + this.generateWeapon(n,this.weaponClass,r,"",e*t.ATK_SHOT_DELAY)} + } + skillMain(){ + this.assignCount.clear(),this.waveIndex=0,this.castPhase=this.random.next()*Math.PI*2,this.fireWave(0),this.wavesLeft=t.WAVE_COUNT-1,this.waveTimer=t.WAVE_GAP} + execute(){ + super.execute(),this.isAlive?this.wavesLeft>0&&--this.waveTimer<=0&&(this.wavesLeft--,this.waveTimer=t.WAVE_GAP,this.fireWave(++this.waveIndex)):(this.wavesLeft>0||this.assignCount.size>0)&&this.cancelCast()} + fireWave(i){ + const s=this.battleController||hli.getInstance(),e=this.x,n=this.y-this.airHeight-t.CENTER_UP,h=[],r=t.TARGET_RANGE*t.TARGET_RANGE; + for(const t of this.enemyList){ + if(!t||!t.isAlive||t.removed||t.isUntagetable)continue; + const i=t.x-e,s=t.y-n; + i*i+s*s<=r&&h.push(t)} + h.sort((t,i)=>(t.x-e)**2+(t.y-n)**2-((i.x-e)**2+(i.y-n)**2)); + const o=[],a=t.HEAL_RANGE*t.HEAL_RANGE; + for(const t of this.allyList){ + if(!t||!t.isAlive||t.removed)continue; + if(t===this||t.isCastle)continue; + if(t.hp>=t.maxHp)continue; + const i=t.x-e,s=t.y-n; + i*i+s*s<=a&&o.push(t)} + o.sort((t,i)=>t.hp/t.maxHp-i.hp/i.maxHp); + const c=o.length>0?Math.floor(t.PER_WAVE*t.HEAL_MAX_RATIO):0,l=this.castPhase+i*t.WAVE_ANGLE_OFFSET,u=2*Math.PI/t.PER_WAVE; + for(let d=0; + d<t.PER_WAVE; + d++){ + const i=l+u*d+this.random.range(-.12,t.EJECT_JITTER); + let r=d<c,a=null; + if(r){ + const i=o[d%o.length]; + (this.assignCount.get(i)??0)>=t.HEAL_MAX_PER_ALLY?r=!1:a=i} + r||(a=h.length>0?h[d%h.length]:null); + let f=1; + if(a){ + const i=this.assignCount.get(a)??0; + f=Math.max(t.REPEAT_MIN,Math.pow(t.REPEAT_FALLOFF,i)),this.assignCount.set(a,i+1)} + const p=t0.getInstance().getWeapon(MV.HippogriffMissile1); + p.owner=this,p.target=null,p.x=e,p.y=n,p.setData(r?0:t.MISSILE_DMG*f),p.setBattleController(s),p.setHeal(r?t.HEAL_PERCENT*f:0),p.launchHoming(i,a,d*t.EJECT_STAGGER),jB.getInstance().addChild(p),s.addWeapon(p)} + } + cancelCast(){ + this.assignCount.clear(),this.wavesLeft=0,this.waveTimer=0,this.waveIndex=0,this.castPhase=0} + onDie(){ + super.onDie(),this.cancelCast()} + resetForPool(){ + super.resetForPool(),this.cancelCast()} + } + ; + Xt(X0,"Hippogriff1"),Yt(X0,"WAVE_COUNT",2),Yt(X0,"PER_WAVE",6),Yt(X0,"WAVE_GAP",16),Yt(X0,"WAVE_ANGLE_OFFSET",Math.PI/6),Yt(X0,"MISSILE_DMG",.75),Yt(X0,"REPEAT_FALLOFF",.45),Yt(X0,"REPEAT_MIN",.12),Yt(X0,"HEAL_PERCENT",1.5),Yt(X0,"HEAL_MAX_RATIO",.5),Yt(X0,"HEAL_MAX_PER_ALLY",6),Yt(X0,"HEAL_RANGE",340),Yt(X0,"TARGET_RANGE",340),Yt(X0,"EJECT_JITTER",.12),Yt(X0,"EJECT_STAGGER",2),Yt(X0,"CENTER_UP",26),Yt(X0,"ATK_SHOTS",7),Yt(X0,"ATK_DMG_PER_SHOT",.6),Yt(X0,"ATK_SHOT_DELAY",3),Yt(X0,"ATK_REPEAT_FALLOFF",.8); + let Y0=X0;
FireAttack1 3 hunks, 577 statements
- this.className=Vj.SteamFire1,this.textureName=Vj.PilotMissile1,this.scale.set(.8)} + this.sheetName="Game2",this.className=MV.FireAttack1,this.textureName="FireAttack"}
- this.hitClassName="FireExplode",this.g=0,this.speed=this.missileSpeed,this.flyEnd=0,this.incFrame=1,this.orientToPath=!1} - calculateTrajectory(){ - if(!this.target)return; - const t=this.target.getHitCenter().x-this.x; - this.heading=t>=0?0:Math.PI,this.vx=Math.cos(this.heading)*this.missileSpeed,this.vy=0,this.rotation=this.heading,this.t=0,this.T=this.maxLifeTime} - execute(){ - if(--this.delay>0)this.rotation=0; - else{ - if(this.t++,this.t%2==0&&this.showSmoke(),this.target&&!this.target.removed&&this.target.isAlive||this.retarget(80),this.t<=3); - else if(this.target&&!this.target.removed){ - const t=this.target.getHitCenter(),i=t.x-this.x,s=t.y-this.y; - let e=Math.atan2(s,i)-this.heading; - for(; - e>Math.PI; - )e-=2*Math.PI; - for(; - e<-Math.PI; - )e+=2*Math.PI; - const n=this.t>.6*this.T?3*this.turnRate:this.turnRate; - e>n&&(e=n),e<-n&&(e=-n),this.heading+=e} - if(this.vx=Math.cos(this.heading)*this.missileSpeed,this.vy=Math.sin(this.heading)*this.missileSpeed,this.x+=this.vx,this.y+=this.vy,this.rotation=this.heading,this.currentFrame+=this.incFrame,this.currentFrame>=this.flyEnd&&(this.currentFrame=0),this.sp&&this.textures.length>0&&(this.sp.texture=this.textures[Math.floor(this.currentFrame)]),this.checkEarlyCollision())this.onHit(); - else if(this.t>=this.T){ - if(this.target&&!this.target.removed){ - const t=this.target.getHitCenter(); - this.x=t.x,this.y=t.y} - this.onHit()} - } - } - retarget(t){ - if(!this.owner||!this.owner.enemyList)return; - let i=null,s=t*t; - for(const e of this.owner.enemyList){ - if(!e.isAlive||e.isUntagetable)continue; - const t=e.x-this.x,n=e.y-this.y,h=t*t+n*n; - h<s&&(i=e,s=h)} - i&&(this.target=i)} - onHitMain(){ - if(this.target&&this.target.isAlive){ - const t=this.owner&&this.owner.evolStage>=1,i=t?.4:.3,s=t?50:40; - this.random.chance(i)&&this.target.stun(s,this.owner??void 0)} - if(!this.owner||!this.owner.enemyList)return; - let t=0; - for(const i of this.owner.enemyList){ - if(!i.isAlive||i===this.target||i.isUntagetable)continue; - const s=this.x-i.x; - if(Math.abs(s)>35)continue; - const e=this.y-i.y; - if(!(Math.abs(e)>35)&&s*s+e*e<625&&(this.owner.doDamage(i,.4,!0),++t>=3))break} - this.showSmoke()} - showSmoke(){ - const t=jj.getEffect(yH.PilotMissileSmoke1); - t.x=this.x,t.y=this.y,t.setBattleController(this.battleController||Nai.getInstance()),t.start(25),TB.getInstance().addChild(t)} + this.hitClassName="MagicalHitEffect",this.g=0,this.speed=10,this.flyEnd=14,this.incFrame=1}
- qt($K,"SteamFire1"); - let WK=$K; - const jK=class extends zj{ - constructor(){ - super(...arguments),Yt(this,"hitSet",new Set)} - initializeTextureName(){ - this.sheetName="Game1",this.className=Vj.SteamMissile1,this.textureName=Vj.SteamMissile1,this.scale.x=.5,this.scale.y=.2} - initializeData(){ - this.hitClassName="PhysicalHitEffect",this.g=0,this.speed=11,this.flyEnd=2,this.incFrame=1} - play(){ - this.hitSet.clear(),super.play()} - onHit(){ - this.owner&&this.target?(this.target.isAlive&&!this.hitSet.has(this.target)&&(this.hitSet.add(this.target),this.owner.doDamage(this.target,this.damagePercent,!0)&&(this.onHitMain(),this.showHitEffect(this.resolvedHitClassName))),this.target=null):this.remove()} - checkEarlyCollision(){ - if(this.target&&!this.target.removed)return super.checkEarlyCollision(); - if(!this.owner)return!1; - for(const t of this.owner.enemyList){ - if(!t||!t.isAlive||this.hitSet.has(t))continue; - const i=t.getHitCenter(),s=Math.abs(i.x-this.x),e=Math.abs(i.y-this.y),n=.3*t.hitWidth,h=.3*t.hitHeight; - if(s<n&&e<h)return this.target=t,!0} - return!1} - remove(){ - this.hitSet.clear(),super.remove()} - } - ; - qt(jK,"SteamMissile1"); - let VK=jK; - const KK=class t extends zj{ - constructor(){ - super(...arguments),Yt(this,"dirX",1),Yt(this,"dirY",0)} - initializeTextureName(){ - this.className=Vj.SylphidShuriken1,this.textureName="SylphidShuriken1"} - initializeData(){ - this.sheetName="Game1",this.g=0,this.speed=t.FIXED_SPEED,this.minT=12,this.maxT=90,this.flyEnd=1,this.incFrame=1,this.weaponScale=1.4,this.orientToPath=!1,this.vr=.45,this.bounceRange=220} - calculateTrajectory(){ - if(!this.target)return; - const i=this.target.getHitCenter(); - this.offsetX=0,this.offsetY=.3*-this.target.hitHeight; - const s=i.x+this.offsetX-this.x,e=i.y+this.offsetY-this.y,n=Math.sqrt(s*s+e*e)||1; - this.dirX=s/n,this.dirY=e/n,this.T=Math.max(this.minT,Math.min(this.maxT,n/t.FIXED_SPEED)),this.vx=this.dirX*t.FIXED_SPEED,this.vy=this.dirY*t.FIXED_SPEED,this.t=0} - execute(){ - if(!this.removed)if(this.t++,this.x+=this.dirX*t.FIXED_SPEED,this.y+=this.dirY*t.FIXED_SPEED,this.rotation+=this.vr,this.sp&&this.textures.length>0&&(this.sp.texture=this.textures[0]),this.checkEarlyCollision())this.onHit(); - else if(this.t>=this.T){ - if(this.target&&!this.target.removed&&this.target.isAlive)return void this.onHit(); - this.t>=this.T+30&&this.remove()} - } - onHitMain(){ - if(!this.target)return; - const t=jj.getEffect(yH.ElfGlowing1); - t.x=this.target.x,t.y=this.target.y-.5*this.target.hitHeight,t.start(30),TB.getInstance().addChild(t); - const i=this.owner; - i&&i.isAlive&&"function"==typeof i.onShurikenHit&&i.onShurikenHit()} - } - ; - qt(KK,"SylphidShuriken1"),Yt(KK,"FIXED_SPEED",8); - let zK=KK; - const qK=class t extends zj{ - constructor(){ - super(...arguments),Yt(this,"lifeTimer",0),Yt(this,"hitTimer",0),Yt(this,"dirAngle",0),Yt(this,"launched",!1),Yt(this,"circleEffect",null)} - initializeTextureName(){ - this.className=Vj.SylphidTornado1,this.textureName="ElfTornado1"} - initializeData(){ - this.sheetName="Game1",this.g=0,this.speed=t.SPEED,this.incFrame=.4,this.weaponScale=1.6,this.orientToPath=!1,this.vr=0} - generateSprite(){ - super.generateSprite(),this.flyEnd=Math.max(1,this.textures.length)} - play(){ - this.lifeTimer=0,this.hitTimer=0,this.launched=!1,this.rotation=0,this.visible=!0,this.removed=!1,this.parent&&this.parent.removeChild(this),AB.getInstance().addChild(this),this.circleEffect=jj.getEffect(yH.ElfMagicCircle1),this.circleEffect.x=this.x,this.circleEffect.y=this.y+10,this.circleEffect.scale.set(1.2),this.circleEffect.start(t.LIFETIME+10),AB.getInstance().addChild(this.circleEffect),(this.battleController||Nai.getInstance()).addWeapon(this)} - execute(){ - if(!this.removed)if(this.lifeTimer++,this.hitTimer++,this.lifeTimer>=t.LIFETIME)this.explodeAndRemove(); - else{ - if(this.launched)this.dirAngle+=2*(Math.random()-.5)*t.TURN_RATE; - else if(this.launched=!0,this.target&&this.target.isAlive){ - const t=this.target.x-this.x,i=this.target.y-this.y; - this.dirAngle=Math.atan2(i,t)} - else this.dirAngle=Math.random()*Math.PI*2; - this.x+=Math.cos(this.dirAngle)*t.SPEED,this.y+=Math.sin(this.dirAngle)*t.SPEED,this.circleEffect&&!this.circleEffect.removed&&(this.circleEffect.x=this.x,this.circleEffect.y=this.y+10),this.currentFrame+=this.incFrame,this.currentFrame>=this.flyEnd&&(this.currentFrame=0),this.sp&&(this.sp.texture=this.textures[Math.floor(this.currentFrame)]),this.suckNearby(),this.hitTimer>=t.HIT_INTERVAL&&(this.hitTimer=0,this.damageAndBindNearby())} - } - suckNearby(){ - if(!this.owner)return; - const i=t.SUCK_RADIUS*t.SUCK_RADIUS; - for(const s of this.owner.enemyList){ - if(s.removed||!s.isAlive||s.isUntagetable||s.isImmovable||s.knockImmune)continue; - const e=s.x-this.x,n=s.y-this.y,h=e*e+n*n; - if(h>i||h<1)continue; - const r=Math.sqrt(h),o=t.SUCK_SPEED*(1-r/t.SUCK_RADIUS); - s.x-=e/r*o,s.y-=n/r*o,s.tx=s.x,s.ty=s.y} - } - damageAndBindNearby(){ - if(!this.owner||!this.owner.isAlive)return; - const i=t.HIT_RADIUS*t.HIT_RADIUS; - for(const s of this.owner.enemyList){ - if(!s.isAlive||s.isUntagetable)continue; - const e=s.x-this.x,n=s.y-this.y; - e*e+n*n<=i&&(this.owner.doDamage(s,t.DMG_PER_TICK,!0),this.bindEnemy(s))} - } - bindEnemy(i){ - i.binding(t.BIND_DURATION,!1,this.owner??void 0); - const s=i.effectList; - for(let n=0; - n<s.length; - n++)if(s[n].className===yH.ElfBindEffect1)return void s[n].setDuration(t.BIND_DURATION); - const e=jj.getEffect(yH.ElfBindEffect1); - e.x=0,e.y=-2,e.start(t.BIND_DURATION),e.owner=i,i.addChild(e),i.effectList.push(e)} - blowNearby(){ - if(!this.owner)return; - const i=t.BLOW_RADIUS*t.BLOW_RADIUS; - for(const s of this.owner.enemyList){ - if(!s.isAlive||s.isUntagetable)continue; - const e=s.x-this.x,n=s.y-this.y,h=e*e+n*n; - if(h>i||h<1)continue; - const r=Math.sqrt(h),o=e/r*t.BLOW_SPEED,a=n/r*t.BLOW_SPEED; - s.knockBack(o,a,t.BLOW_DURATION)} - } - explodeAndRemove(){ - if(this.removed)return; - this.blowNearby(); - const t=jj.getEffect(yH.ElfExplodeEffect1); - t.x=this.x,t.y=this.y,t.scale.set(2),t.start(60),TB.getInstance().addChild(t),this.circleEffect&&!this.circleEffect.removed&&this.circleEffect.remove(),this.circleEffect=null,super.remove()} - remove(){ - this.explodeAndRemove()} - } - ; - qt(qK,"SylphidTornado1"),Yt(qK,"SPEED",1.2),Yt(qK,"LIFETIME",300),Yt(qK,"HIT_RADIUS",50),Yt(qK,"HIT_INTERVAL",30),Yt(qK,"DMG_PER_TICK",.6),Yt(qK,"BIND_DURATION",30),Yt(qK,"TURN_RATE",.08),Yt(qK,"SUCK_RADIUS",70),Yt(qK,"SUCK_SPEED",1.8),Yt(qK,"BLOW_RADIUS",90),Yt(qK,"BLOW_SPEED",12),Yt(qK,"BLOW_DURATION",10); - let YK=qK; - const XK=class t extends zj{ - constructor(){ - super(...arguments),Yt(this,"orbitCenterX",0),Yt(this,"orbitCenterY",0),Yt(this,"orbitAngle",0),Yt(this,"orbitRadius",0),Yt(this,"orbitSpeed",.12),Yt(this,"orbitOwner",null),Yt(this,"orbitPhase",0),Yt(this,"orbitTimer",0),Yt(this,"orbitDir",1),Yt(this,"inStorm",!1),Yt(this,"oneShot",!1),Yt(this,"goblinTarget",null),Yt(this,"straight",!1),Yt(this,"tgtX",0),Yt(this,"tgtY",0),Yt(this,"launchDelay",0),Yt(this,"hitCooldowns",new Map),Yt(this,"flyStartX",0),Yt(this,"flyStartY",0),Yt(this,"flyTargetX",0),Yt(this,"flyTargetY",0),Yt(this,"burstVx",0),Yt(this,"burstVy",0),Yt(this,"burstTimer",0),Yt(this,"lifeTimer",0),Yt(this,"lifeDuration",1200),Yt(this,"flying",!1),Yt(this,"coinGravity",.18),Yt(this,"landY",0)} - initializeTextureName(){ - this.sheetName="Game1",this.className=Vj.AladinCoin1,this.textureName=Vj.AladinCoin1,this.scale.set(.8)} - initializeData(){ - 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} - play(){ - this.visible=!0,this.removed=!1,this.resolvedHitClassName=this.hitClassName||"PhysicalHitEffect",(this.battleController||Nai.getInstance()).addWeapon(this)} - launch(i,s,e=!1){ - const n=i-this.x,h=s-this.y; - if(e){ - this.straight=!0,this.tgtX=i,this.tgtY=s; - const e=Math.sqrt(n*n+h*h)||1; - return this.vx=n/e*t.STRAIGHT_SPEED,this.vy=h/e*t.STRAIGHT_SPEED,void(this.flying=!0)} - this.landY=s; - const r=Math.max(12,Math.floor(Math.abs(n)/4+Math.abs(h)/10)); - this.vx=n/r,this.vy=h/r-this.coinGravity*(r-1)*.6,this.flying=!0} - get isOrbiting(){ - return 0!==this.orbitPhase} - get isStormOrbiting(){ - return 4===this.orbitPhase} - absorbIntoStorm(t,i,s,e,n){ - if(0!==this.orbitPhase)return!1; - if(this.removed)return!1; - this.inStorm=!0,this.flying=!1,this.vx=0,this.vy=0,this.orbitCenterX=t,this.orbitCenterY=i; - const h=this.x-t,r=(this.y-i)/.6; - return this.orbitAngle=h*h+r*r>1?Math.atan2(r,h):0,this.orbitRadius=s,this.orbitSpeed=e,this.orbitDir=n,this.orbitPhase=4,this.orbitTimer=0,this.lifeTimer=0,!0} - releaseFromStorm(){ - if(4!==this.orbitPhase)return; - const t=16+6*this.random.next(); - this.burstVx=Math.cos(this.orbitAngle)*t,this.burstVy=Math.sin(this.orbitAngle)*t*.9; - const i=Math.sin(this.orbitAngle); - this.landY=this.orbitCenterY+115+110*Math.max(0,i),this.orbitPhase=3,this.burstTimer=0,this.inStorm=!1} - lift(){ - 0===this.orbitPhase&&(this.y-=4+4*Math.random())} - joinPath(t,i,s,e,n){ - this.flying=!1,this.vx=0,this.vy=0,this.orbitCenterX=t,this.orbitCenterY=i,this.orbitSpeed=e,this.orbitDir=n,this.orbitRadius=s,this.orbitOwner=null,this.orbitTimer=0,this.lifeTimer=0; - const h=this.x-t,r=this.y-i; - this.orbitAngle=Math.atan2(r/.6,h),this.flyStartX=this.x,this.flyStartY=this.y,this.flyTargetX=t+Math.cos(this.orbitAngle)*s,this.flyTargetY=i+Math.sin(this.orbitAngle)*s*.6,this.orbitPhase=1} - startLane(t,i,s,e,n){ - this.joinPath(t,i,s,e,n)} - startOrbit(t,i,s,e,n=null){ - this.joinPath(t,i,120,e,this.random.next()<.6?1:-1),this.orbitOwner=n} - startCapture(t,i,s,e,n,h,r=null){ - this.joinPath(t,i,120,h,n),this.orbitOwner=r} - execute(){ - if(!this.removed)if(this.launchDelay>0)this.launchDelay--; - else{ - if(1===this.orbitPhase){ - const i=this.orbitTimer/t.FLY_FRAMES,s=1-(1-i)*(1-i); - return this.x=this.flyStartX+(this.flyTargetX-this.flyStartX)*s,this.y=this.flyStartY+(this.flyTargetY-this.flyStartY)*s,void(++this.orbitTimer>=t.FLY_FRAMES&&(this.x=this.flyTargetX,this.y=this.flyTargetY,this.orbitTimer=0,this.orbitPhase=2))} - if(2!==this.orbitPhase){ - if(4===this.orbitPhase)return this.orbitAngle+=this.orbitSpeed*this.orbitDir,this.x=this.orbitCenterX+Math.cos(this.orbitAngle)*this.orbitRadius,void(this.y=this.orbitCenterY+Math.sin(this.orbitAngle)*this.orbitRadius*.6); - if(3===this.orbitPhase)return this.x+=this.burstVx,this.y+=this.burstVy,this.burstVx*=.95,this.burstVy=.95*this.burstVy+.8,this.checkOrbitHit(),this.burstVy>0&&this.y>=this.landY?(this.y=this.landY,this.orbitPhase=0,this.lifeTimer=0,void(this.flying=!1)):void(++this.burstTimer>=t.BURST_FRAMES&&(this.orbitPhase=0,this.lifeTimer=0,this.landY=this.y,this.flying=!1)); - if(this.flying&&this.straight){ - this.x+=this.vx,this.y+=this.vy,this.rotation+=.4; - const t=this.tgtX-this.x,i=this.tgtY-this.y; - if(t*this.vx+i*this.vy<=0||t*t+i*i<100){ - if(this.oneShot)return this.oneShotHit(),void this.remove(); - this.flying=!1} - return} - if(this.flying)return this.x+=this.vx,this.y+=this.vy,this.vy+=this.coinGravity,this.vy>0&&this.y>=this.landY&&(this.y=this.landY,this.vx=0,this.vy=0,this.flying=!1,this.oneShot)?(this.oneShotHit(),void this.remove()):void 0; - ++this.lifeTimer>=this.lifeDuration&&(this.owner&&"function"==typeof this.owner.onCoinExpired&&this.owner.onCoinExpired(),this.remove())} - else if(this.orbitAngle+=this.orbitSpeed*this.orbitDir,this.x=this.orbitCenterX+Math.cos(this.orbitAngle)*this.orbitRadius,this.y=this.orbitCenterY+Math.sin(this.orbitAngle)*this.orbitRadius*.6,this.checkOrbitHit(),++this.orbitTimer>=t.ORBIT_FRAMES)if(this.inStorm)this.orbitPhase=4,this.orbitTimer=0; - else{ - const t=12+6*this.random.next(),i=-Math.sin(this.orbitAngle)*this.orbitDir,s=Math.cos(this.orbitAngle)*this.orbitDir*.6,e=Math.sqrt(i*i+s*s); - this.burstVx=i/e*t,this.burstVy=s/e*t,this.landY=this.orbitCenterY+115,this.orbitPhase=3,this.burstTimer=0} - } - } - oneShotHit(){ - if(this.goblinTarget)return this.goblinTarget.hitByHero(),void(this.goblinTarget=null); - if(!this.owner)return; - const i=this.owner,s=this.damagePercent>0?this.damagePercent:.6,e=this.target; - if(e&&e.isAlive&&!e.isUntagetable)return void i.doDamage(e,s,!0); - const n=t.ONESHOT_RADIUS*t.ONESHOT_RADIUS; - for(const t of i.enemyList){ - if(!t.isAlive||t.isUntagetable)continue; - const e=t.x-this.x,h=t.y-this.y; - if(e*e+h*h<=n)return void i.doDamage(t,s,!0)} - } - checkOrbitHit(){ - if(!this.owner)return; - const i=this.owner,s=4===this.orbitPhase||3===this.orbitPhase,e=s?22:20,n=s?250:20,h=e*e,r=n*n,o="number"==typeof i.goldDmgMultiplier?i.goldDmgMultiplier:1,a=(this.damagePercent>0?this.damagePercent:.6)*o; - for(const[t,c]of this.hitCooldowns)c<=1?this.hitCooldowns.delete(t):this.hitCooldowns.set(t,c-1); - for(const c of i.enemyList){ - if(s&&t.burstHitCount>=t.BURST_TOTAL_HIT_CAP)break; - if(!c.isAlive||c.isUntagetable)continue; - if(this.hitCooldowns.has(c))continue; - const e=c.x-this.x,n=c.y-this.y; - e*e/h+n*n/r<=1&&(i.doDamage(c,a,!0),this.hitCooldowns.set(c,t.HIT_COOLDOWN),s&&t.burstHitCount++)} - } - } - ; - qt(XK,"AladinCoin1"),Yt(XK,"ONESHOT_RADIUS",34),Yt(XK,"STRAIGHT_SPEED",12),Yt(XK,"HIT_COOLDOWN",30),Yt(XK,"BURST_TOTAL_HIT_CAP",10),Yt(XK,"burstHitCount",0),Yt(XK,"FLY_FRAMES",40),Yt(XK,"ORBIT_FRAMES",140),Yt(XK,"BURST_FRAMES",60),Yt(XK,"MAP_MIN_X",60),Yt(XK,"MAP_MAX_X",580),Yt(XK,"MAP_MIN_Y",60),Yt(XK,"MAP_MAX_Y",580); - let JK=XK; - const QK=class t extends zj{ - constructor(){ - super(...arguments),Yt(this,"pierceTimer",0),Yt(this,"hitCooldowns",new Map)} - initializeTextureName(){ - this.className=Vj.BladeWave1,this.textureName="BladeWave10",this.sheetName="Game1"} - initializeData(){ - this.hitClassName="PhysicalHitEffect",this.g=0,this.speed=9,this.flyEnd=8,this.incFrame=1} - setData(i=1){ - super.setData(i),this.pierceTimer=0,this.hitCooldowns.clear(),this.sp&&this.sp.scale.set(t.SCALE)} - play(){ - this.visible=!0,this.removed=!1,this.isActive=!0,this.resolvedHitClassName=this.hitClassName||"PhysicalHitEffect",this.battleController&&this.battleController.addWeapon(this)} - calculateTrajectory(){ - } - execute(){ - if(this.removed)return; - if(this.pierceTimer++,this.pierceTimer>=t.LIFETIME)return void super.remove(); - this.x+=this.vx,this.y+=this.vy,this.currentFrame+=this.incFrame,this.currentFrame>=this.flyEnd&&(this.currentFrame=0); - const i=Math.floor(this.currentFrame); - this.sp&&i<this.textures.length&&(this.sp.texture=this.textures[i]),this.isOutOfField(260)?super.remove():this.checkPierceHit()} - checkPierceHit(){ - if(!this.owner)return; - const i=t.HIT_RADIUS*t.HIT_RADIUS; - for(const[t,s]of this.hitCooldowns)s<=1?this.hitCooldowns.delete(t):this.hitCooldowns.set(t,s-1); - for(const t of this.owner.enemyList){ - if(!t.isAlive||t.isUntagetable)continue; - if(this.hitCooldowns.has(t))continue; - const s=t.x-this.x,e=t.y-this.y; - if(s*s+e*e<=i){ - const i=this.owner.evolStage>=1; - this.owner.doDamage(t,this.damagePercent,!0),this.showHitEffect(this.resolvedHitClassName),i&&t.knockBack(this.vx>0?2:-2,-1,20),this.hitCooldowns.set(t,20)} - } - } - } - ; - qt(QK,"BladeWave1"),Yt(QK,"SCALE",3),Yt(QK,"HIT_RADIUS",35),Yt(QK,"LIFETIME",100); - let ZK=QK; - const tz=class t extends zj{ - constructor(){ - super(...arguments),Yt(this,"pierceTimer",0),Yt(this,"hitCooldowns",new Map),Yt(this,"uniqueTargets",new Set)} - initializeTextureName(){ - this.className=Vj.SpinBlade,this.textureName=Vj.SpinBlade,this.sheetName="Game1"} - initializeData(){ - this.hitClassName="PhysicalHitEffect",this.g=0,this.speed=9,this.flyEnd=6,this.incFrame=1} - setData(i=1){ - super.setData(i),this.pierceTimer=0,this.hitCooldowns?this.hitCooldowns.clear():this.hitCooldowns=new Map,this.uniqueTargets?this.uniqueTargets.clear():this.uniqueTargets=new Set,this.sp&&this.sp.scale.set(t.SCALE)} - play(){ - this.visible=!0,this.removed=!1,this.isActive=!0,this.resolvedHitClassName=this.hitClassName||"PhysicalHitEffect",this.battleController&&this.battleController.addWeapon(this)} - calculateTrajectory(){ - } - execute(){ - if(this.removed)return; - if(this.pierceTimer++,this.pierceTimer>=t.LIFETIME)return void super.remove(); - this.x+=this.vx,this.y+=this.vy,this.rotation+=.3,this.currentFrame+=this.incFrame,this.currentFrame>=this.flyEnd&&(this.currentFrame=0); - const i=Math.floor(this.currentFrame); - this.sp&&i<this.textures.length&&(this.sp.texture=this.textures[i]),this.isOutOfField(260)?super.remove():this.checkPierceHit()} - checkPierceHit(){ - if(!this.owner)return; - const i=t.HIT_RADIUS*t.HIT_RADIUS; - for(const[t,s]of this.hitCooldowns)s<=1?this.hitCooldowns.delete(t):this.hitCooldowns.set(t,s-1); - for(const s of this.owner.enemyList){ - if(!s.isAlive||s.isUntagetable)continue; - if(this.hitCooldowns.has(s))continue; - const e=s.x-this.x,n=s.y-this.y; - if(e*e+n*n<=i){ - if(!this.uniqueTargets.has(s)){ - if(this.uniqueTargets.size>=t.MAX_TARGETS)continue; - this.uniqueTargets.add(s)} - this.owner.doDamage(s,this.damagePercent,!0),this.showHitEffect(this.resolvedHitClassName),s.knockBack(this.vx>0?3:-3,-2,25),this.hitCooldowns.set(s,20)} - } - } - } - ; - qt(tz,"SpinBlade"),Yt(tz,"SCALE",2),Yt(tz,"HIT_RADIUS",22),Yt(tz,"LIFETIME",100),Yt(tz,"MAX_TARGETS",8); - let iz=tz; - const sz=class t extends zj{ - constructor(){ - super(...arguments),Yt(this,"flightTimer",0),Yt(this,"hasHit",!1)} - initializeTextureName(){ - this.className=Vj.CrowKnightBullet1,this.textureName=Vj.CrowKnightBullet1,this.sheetName="Game1",this.scale.set(.8)} - initializeData(){ - this.hitClassName="MagicalHitEffect",this.g=0,this.speed=16,this.flyEnd=1,this.incFrame=0,this.flightTimer=0} - setData(t=1){ - super.setData(t),this.flightTimer=0,this.hasHit=!1,this.visible=!0,this.removed=!1,this.scale.set(.8)} - play(){ - this.visible=!0,this.removed=!1,this.isActive=!0,this.resolvedHitClassName=this.hitClassName||"MagicalHitEffect",(this.battleController||Nai.getInstance()).addWeapon(this)} - calculateTrajectory(){ - } - execute(){ - if(this.removed||this.hasHit)return; - if(this.flightTimer++,this.flightTimer>=t.LIFETIME)return void super.remove(); - if(this.x+=this.vx,this.y+=this.vy,this.isOutOfField(260))return void super.remove(); - if(!this.owner)return; - const i=t.HIT_RADIUS*t.HIT_RADIUS; - for(const t of this.owner.enemyList){ - if(!t.isAlive||t.isUntagetable)continue; - const s=t.getHitCenter(),e=s.x-this.x,n=s.y-this.y; - if(e*e+n*n<=i)return this.hasHit=!0,this.vx=0,this.vy=0,this.visible=!1,this.owner.doDamage(t,this.damagePercent,!0),this.showHitEffect(this.resolvedHitClassName),this.owner.evolStage>=1&&t.stun(30),void this.remove()} - } - } - ; - qt(sz,"CrowKnightBullet1"),Yt(sz,"LIFETIME",60),Yt(sz,"HIT_RADIUS",40); - let ez=sz; - const nz=class t extends zj{ - constructor(){ - super(...arguments),Yt(this,"explodeDmgBonus",0),Yt(this,"explodeRangeBonus",0),Yt(this,"isLordCrow",!1),Yt(this,"flightTimer",0),Yt(this,"hoverUntil",0),Yt(this,"isDiving",!1),Yt(this,"riseVx",0),Yt(this,"riseVy",0)} - initializeTextureName(){ - this.className=Vj.CrowCompanion1,this.textureName=Vj.CrowCompanion1,this.sheetName="Game1"} - initializeData(){ - this.hitClassName="MagicalHitEffect",this.g=0,this.speed=t.DIVE_SPEED,this.flyEnd=8,this.incFrame=1,this.weaponScale=1.3} - setData(i=1){ - super.setData(i),this.flightTimer=0,this.isDiving=!1,this.explodeDmgBonus=0,this.explodeRangeBonus=0,this.isLordCrow=!1; - const s=t.HOVER_FRAMES_MIN+Math.floor(Math.random()*(t.HOVER_FRAMES_MAX-t.HOVER_FRAMES_MIN+1)); - this.hoverUntil=t.RISE_FRAMES+s; - const e=-Math.PI/2+(Math.random()-.5)*(2*Math.PI/3); - this.riseVx=Math.cos(e)*t.RISE_SPEED,this.riseVy=Math.sin(e)*t.RISE_SPEED} - calculateTrajectory(){ - } - execute(){ - if(!this.removed)if(this.flightTimer++,this.currentFrame+=this.incFrame,this.currentFrame>=this.flyEnd&&(this.currentFrame=0),this.sp&&(this.sp.texture=this.textures[Math.floor(this.currentFrame)]),this.flightTimer>=t.MAX_FLIGHT)this.explode(); - else{ - if(this.flightTimer<=t.RISE_FRAMES?(this.vx=this.riseVx,this.vy=this.riseVy):this.flightTimer<=this.hoverUntil?(this.vx=0,this.vy=0):this.isDiving=!0,this.isDiving&&this.target&&!this.target.removed){ - const i=this.target.x-this.x,s=this.target.y-this.y,e=Math.sqrt(i*i+s*s); - if(e<t.DIVE_SPEED+2)return void this.explode(); - this.vx=i/e*t.DIVE_SPEED,this.vy=s/e*t.DIVE_SPEED} - this.x+=this.vx,this.y+=this.vy,0===this.vx&&0===this.vy||(this.rotation=Math.atan2(this.vy,this.vx))} - } - explode(){ - var i; - const s=this.owner,e=jj.getEffect(yH.CrowExplosion1); - if(e.scale.set(2.5),e.x=this.x,e.y=this.y,e.start(30),TB.getInstance().addChild(e),s){ - const e=t.EXPLODE_RANGE+this.explodeRangeBonus,n=e*e,h=t.EXPLODE_DMG+this.explodeDmgBonus; - let r=0; - for(const o of s.enemyList){ - if(r>=t.EXPLODE_MAX_TARGETS)break; - if(!o.isAlive||o.isUntagetable)continue; - const e=o.x-this.x,a=o.y-this.y; - if(e*e+a*a<=n){ - const t=o.isAlive; - s.doDamage(o,this.damagePercent*h,!0),r++,!t||o.isAlive||this.isLordCrow||null==(i=s.onCrowKill)||i.call(s)} - } - } - super.remove()} - remove(){ - this.explode()} - } - ; - qt(nz,"CrowCompanion1"),Yt(nz,"EXPLODE_DMG",.5),Yt(nz,"EXPLODE_RANGE",75),Yt(nz,"EXPLODE_MAX_TARGETS",2),Yt(nz,"RISE_SPEED",9),Yt(nz,"RISE_FRAMES",14),Yt(nz,"HOVER_FRAMES_MIN",24),Yt(nz,"HOVER_FRAMES_MAX",36),Yt(nz,"DIVE_SPEED",13),Yt(nz,"MAX_FLIGHT",130); - let hz=nz; - const rz=class t extends zj{ - constructor(){ - super(...arguments),Yt(this,"flightTimer",0),Yt(this,"currentAngle",0),Yt(this,"targetX",0),Yt(this,"targetY",0)} - initializeTextureName(){ - this.className=Vj.CrowGuidedBall1,this.textureName=Vj.DarkMageBall1} - initializeData(){ - this.hitClassName="MagicalHitEffect",this.g=0,this.speed=10,this.flyEnd=4,this.incFrame=1,this.weaponScale=1.6} - setData(t=1){ - super.setData(t),this.flightTimer=0,this.currentAngle=Math.atan2(this.vy,this.vx),this.visible=!0,this.removed=!1,this.sp&&this.sp.scale.set(1.6)} - calculateTrajectory(){ - } - execute(){ - if(this.removed)return; - if(this.flightTimer++,this.flightTimer>=t.LIFETIME)return void this.explode(); - if(this.flightTimer>t.DRIFT_FRAMES){ - let i=Math.atan2(this.targetY-this.y,this.targetX-this.x)-this.currentAngle; - for(; - i>Math.PI; - )i-=2*Math.PI; - for(; - i<-Math.PI; - )i+=2*Math.PI; - const s=Math.min(1,(this.flightTimer-t.DRIFT_FRAMES)/t.TURN_ACCEL_F),e=t.TURN_RATE_BASE+(t.TURN_RATE_MAX-t.TURN_RATE_BASE)*s,n=Math.max(-e,Math.min(e,i)); - this.currentAngle+=n} - this.vx=Math.cos(this.currentAngle)*this.speed,this.vy=Math.sin(this.currentAngle)*this.speed,this.rotation=this.currentAngle,this.x+=this.vx,this.y+=this.vy,this.currentFrame+=this.incFrame,this.currentFrame>=this.flyEnd&&(this.currentFrame=0); - const i=Math.floor(this.currentFrame); - if(this.sp&&i<this.textures.length&&(this.sp.texture=this.textures[i]),this.isOutOfField(260))return void this.explode(); - const s=this.targetX-this.x,e=this.targetY-this.y; - s*s+e*e<=t.ARRIVE_DIST*t.ARRIVE_DIST&&this.explode()} - explode(){ - const i=jj.getEffect(yH.AbyssSkillExplosion1); - if(i.scale.set(1.7),i.x=this.x,i.y=this.y,i.start(20),TB.getInstance().addChild(i),this.owner){ - const i=t.EXPLODE_RANGE*t.EXPLODE_RANGE,s=[]; - for(const t of this.owner.enemyList){ - if(!t.isAlive||t.isUntagetable)continue; - const e=t.x-this.x,n=t.y-this.y; - e*e+n*n<=i&&s.push(t)} - s.sort((t,i)=>(t.x-this.x)**2+(t.y-this.y)**2-((i.x-this.x)**2+(i.y-this.y)**2)); - const e=Math.min(t.EXPLODE_MAX,s.length); - for(let t=0; - t<e; - t++)this.owner.doDamage(s[t],this.damagePercent,!0)} - super.remove()} - remove(){ - this.explode()} - } - ; - qt(rz,"CrowGuidedBall1"),Yt(rz,"LIFETIME",120),Yt(rz,"EXPLODE_RANGE",95),Yt(rz,"EXPLODE_MAX",3),Yt(rz,"ARRIVE_DIST",12),Yt(rz,"DRIFT_FRAMES",6),Yt(rz,"TURN_RATE_BASE",.05),Yt(rz,"TURN_RATE_MAX",.11),Yt(rz,"TURN_ACCEL_F",30); - let oz=rz; - const az=class t extends zj{ - constructor(){ - super(...arguments),Yt(this,"flightTimer",0)} - initializeTextureName(){ - this.className=Vj.CrowFeatherShot1,this.textureName=Vj.CrowKnightBullet1,this.sheetName="Game1",this.scale.set(t.SCALE)} - initializeData(){ - this.hitClassName="MagicalHitEffect",this.g=0,this.speed=14,this.flyEnd=1,this.incFrame=0,this.flightTimer=0} - setData(i=1){ - super.setData(i),this.flightTimer=0,this.visible=!0,this.removed=!1,this.scale.set(t.SCALE)} - play(){ - this.visible=!0,this.removed=!1,this.isActive=!0,this.resolvedHitClassName=this.hitClassName||"MagicalHitEffect",(this.battleController||Nai.getInstance()).addWeapon(this)} - calculateTrajectory(){ - } - execute(){ - if(this.removed)return; - if(this.flightTimer++,this.flightTimer>=t.LIFETIME)return void super.remove(); - if(this.x+=this.vx,this.y+=this.vy,this.isOutOfField(260))return void super.remove(); - if(!this.owner)return; - const i=t.HIT_RADIUS*t.HIT_RADIUS; - for(const t of this.owner.enemyList){ - if(!t.isAlive||t.isUntagetable)continue; - const s=t.x-this.x,e=t.y-this.y; - if(s*s+e*e<=i)return this.owner.doDamage(t,this.damagePercent,!0),this.showHitEffect(this.resolvedHitClassName),void super.remove()} - } - } - ; - qt(az,"CrowFeatherShot1"),Yt(az,"LIFETIME",60),Yt(az,"HIT_RADIUS",14),Yt(az,"SCALE",.55); - let cz=az; - var lz=(t=>(t[t.NONE=0]="NONE",t[t.OrcHunter1_RANGEEVADE_BUFF=1]="OrcHunter1_RANGEEVADE_BUFF",t[t.OrcRapterRider1_MOVESPEED_DEBUFF=2]="OrcRapterRider1_MOVESPEED_DEBUFF",t[t.Succubus1_MOVESPEED_BUFF=3]="Succubus1_MOVESPEED_BUFF",t[t.Succubus1_ATTACKSPEED_BUFF=4]="Succubus1_ATTACKSPEED_BUFF",t[t.ScorpionPoisonBullet_MOVESPEED_DEBUFF=5]="ScorpionPoisonBullet_MOVESPEED_DEBUFF",t[t.ScorpionPoisonBullet_ATTACKSPEED_DEBUFF=6]="ScorpionPoisonBullet_ATTACKSPEED_DEBUFF",t[t.DrillSl1_PENETRATE_BUFF=11]="DrillSl1_PENETRATE_BUFF",t[t.DrillSl1_SKILL2_BUFF=12]="DrillSl1_SKILL2_BUFF",t[t.DrillSl1_SKILL3_BUFF=13]="DrillSl1_SKILL3_BUFF",t[t.DrillSl1_SKILL4_BUFF=14]="DrillSl1_SKILL4_BUFF",t[t.DrillSl1_ROSTER_BUFF=15]="DrillSl1_ROSTER_BUFF",t[t.BombSl1_SKILL2_BUFF=21]="BombSl1_SKILL2_BUFF",t[t.BombSl1_SKILL3_BUFF=22]="BombSl1_SKILL3_BUFF",t[t.BombSl1_SKILL4_BUFF=23]="BombSl1_SKILL4_BUFF",t[t.BombSl1_ROSTER_BUFF=24]="BombSl1_ROSTER_BUFF",t[t.NurSl1_SKILL2_BUFF=31]="NurSl1_SKILL2_BUFF",t[t.NurSl1_ROSTER_BUFF=32]="NurSl1_ROSTER_BUFF",t[t.MagmaSl1_SKILL2_BUFF=41]="MagmaSl1_SKILL2_BUFF",t[t.MagmaSl1_SKILL3_BUFF=42]="MagmaSl1_SKILL3_BUFF",t[t.MagmaSl1_ROSTER_BUFF=43]="MagmaSl1_ROSTER_BUFF",t[t.TreebarkSl1_SKILL2_BUFF=51]="TreebarkSl1_SKILL2_BUFF",t[t.TreebarkSl1_SKILL3_BUFF=52]="TreebarkSl1_SKILL3_BUFF",t[t.TreebarkSl1_ROSTER_BUFF=53]="TreebarkSl1_ROSTER_BUFF",t[t.IcespearSl1_SKILL2_BUFF=61]="IcespearSl1_SKILL2_BUFF",t[t.IcespearSl1_SKILL3_BUFF=62]="IcespearSl1_SKILL3_BUFF",t[t.IcespearSl1_SKILL4_BUFF=63]="IcespearSl1_SKILL4_BUFF",t[t.IcespearSl1_ROSTER_BUFF=64]="IcespearSl1_ROSTER_BUFF",t[t.VinewhipSl1_SKILL2_BUFF=71]="VinewhipSl1_SKILL2_BUFF",t[t.VinewhipSl1_SKILL3_BUFF=72]="VinewhipSl1_SKILL3_BUFF",t[t.VinewhipSl1_SKILL4_BUFF=73]="VinewhipSl1_SKILL4_BUFF",t[t.VinewhipSl1_ROSTER_BUFF=74]="VinewhipSl1_ROSTER_BUFF",t[t.FlamecannonSl1_SKILL2_BUFF=81]="FlamecannonSl1_SKILL2_BUFF",t[t.FlamecannonSl1_SKILL3_BUFF=82]="FlamecannonSl1_SKILL3_BUFF",t[t.FlamecannonSl1_SKILL4_BUFF=83]="FlamecannonSl1_SKILL4_BUFF",t[t.FlamecannonSl1_ROSTER_BUFF=84]="FlamecannonSl1_ROSTER_BUFF",t[t.IcebowSl1_SKILL2_BUFF=91]="IcebowSl1_SKILL2_BUFF",t[t.IcebowSl1_SKILL3_BUFF=92]="IcebowSl1_SKILL3_BUFF",t[t.IcebowSl1_SKILL4_BUFF=93]="IcebowSl1_SKILL4_BUFF",t[t.IcebowSl1_ROSTER_BUFF=94]="IcebowSl1_ROSTER_BUFF",t[t.FlowerSl1_SKILL2_BUFF=101]="FlowerSl1_SKILL2_BUFF",t[t.FlowerSl1_ROSTER_BUFF=102]="FlowerSl1_ROSTER_BUFF",t[t.HotpoolSl1_SKILL2_BUFF=111]="HotpoolSl1_SKILL2_BUFF",t[t.HotpoolSl1_ROSTER_BUFF=112]="HotpoolSl1_ROSTER_BUFF",t[t.HotpoolSl1_DAMAGE_BUFF=113]="HotpoolSl1_DAMAGE_BUFF",t[t.GlacierSl1_SKILL2_BUFF=114]="GlacierSl1_SKILL2_BUFF",t[t.GlacierSl1_SKILL3_BUFF=115]="GlacierSl1_SKILL3_BUFF",t[t.GlacierSl1_ROSTER_BUFF=116]="GlacierSl1_ROSTER_BUFF",t[t.GlacierSl1_SKILL4_BUFF=117]="GlacierSl1_SKILL4_BUFF",t[t.FladiatorSl1_SKILL2_BUFF=118]="FladiatorSl1_SKILL2_BUFF",t[t.FladiatorSl1_SKILL3_BUFF=119]="FladiatorSl1_SKILL3_BUFF",t[t.FladiatorSl1_SKILL4_BUFF=120]="FladiatorSl1_SKILL4_BUFF",t[t.FladiatorSl1_ROSTER_BUFF=121]="FladiatorSl1_ROSTER_BUFF",t[t.FladiatorSl1_CRTICAL_BUFF=122]="FladiatorSl1_CRTICAL_BUFF",t[t.ManaBloomSl1_SKILL2_BUFF=123]="ManaBloomSl1_SKILL2_BUFF",t[t.ManaBloomSl1_SKILL3_BUFF=124]="ManaBloomSl1_SKILL3_BUFF",t[t.ManaBloomSl1_SKILL4_BUFF=125]="ManaBloomSl1_SKILL4_BUFF",t[t.ManaBloomSl1_ROSTER_BUFF=126]="ManaBloomSl1_ROSTER_BUFF",t[t.ClearSl1_SKILL2_BUFF=127]="ClearSl1_SKILL2_BUFF",t[t.ClearSl1_ROSTER_BUFF=128]="ClearSl1_ROSTER_BUFF",t[t.SlimeRacing_DAMAGE_BUFF=129]="SlimeRacing_DAMAGE_BUFF",t[t.SlimeRacing_ATTACK_SPEED_BUFF=130]="SlimeRacing_ATTACK_SPEED_BUFF",t[t.SlimeRacing_MOVE_SPEED_BUFF=131]="SlimeRacing_MOVE_SPEED_BUFF",t[t.RACE_REVIVE_MOVE_SPEED_BUFF=132]="RACE_REVIVE_MOVE_SPEED_BUFF",t[t.RACE_CHEERUP_MOVE_SPEED_BUFF=133]="RACE_CHEERUP_MOVE_SPEED_BUFF",t[t.RACE_CHEERUP_ATTACK_SPEED_BUFF=134]="RACE_CHEERUP_ATTACK_SPEED_BUFF",t[t.EXCAVATION_ENCOUNTER_DEFENSE_BUFF=135]="EXCAVATION_ENCOUNTER_DEFENSE_BUFF",t[t.SteelbashSl1_SKILL2_BUFF=136]="SteelbashSl1_SKILL2_BUFF",t[t.SteelbashSl1_SKILL3_BUFF=137]="SteelbashSl1_SKILL3_BUFF",t[t.SteelbashSl1_ROSTER_BUFF=138]="SteelbashSl1_ROSTER_BUFF",t[t.FlamdancerSl1_SKILL2_BUFF=139]="FlamdancerSl1_SKILL2_BUFF",t[t.FlamdancerSl1_SKILL3_BUFF=140]="FlamdancerSl1_SKILL3_BUFF",t[t.FlamdancerSl1_ROSTER_BUFF=141]="FlamdancerSl1_ROSTER_BUFF",t[t.FrostreaverSl1_SKILL2_BUFF=142]="FrostreaverSl1_SKILL2_BUFF",t[t.FrostreaverSl1_SKILL3_BUFF=143]="FrostreaverSl1_SKILL3_BUFF",t[t.FrostreaverSl1_ROSTER_BUFF=144]="FrostreaverSl1_ROSTER_BUFF",t[t.ThornjaSl1_SKILL2_BUFF=145]="ThornjaSl1_SKILL2_BUFF",t[t.ThornjaSl1_SKILL3_BUFF=146]="ThornjaSl1_SKILL3_BUFF",t[t.ThornjaSl1_SKILL4_BUFF=147]="ThornjaSl1_SKILL4_BUFF",t[t.ThornjaSl1_ROSTER_BUFF=148]="ThornjaSl1_ROSTER_BUFF",t[t.RACE_MAPTYPE1_ATKSPD_BUFF=149]="RACE_MAPTYPE1_ATKSPD_BUFF",t[t.RACE_MAPTYPE1_MOVESPD_BUFF=150]="RACE_MAPTYPE1_MOVESPD_BUFF",t[t.GearbladeSl1_SKILL2_BUFF=151]="GearbladeSl1_SKILL2_BUFF",t[t.GearbladeSl1_SKILL3_BUFF=152]="GearbladeSl1_SKILL3_BUFF",t[t.GearbladeSl1_SKILL4_BUFF=153]="GearbladeSl1_SKILL4_BUFF",t[t.GearbladeSl1_ROSTER_BUFF=154]="GearbladeSl1_ROSTER_BUFF",t[t.EmbersageSl1_SKILL2_BUFF=155]="EmbersageSl1_SKILL2_BUFF",t[t.EmbersageSl1_ROSTER_BUFF=156]="EmbersageSl1_ROSTER_BUFF",t[t.TidecallerSl1_SKILL2_BUFF=157]="TidecallerSl1_SKILL2_BUFF",t[t.TidecallerSl1_ROSTER_BUFF=158]="TidecallerSl1_ROSTER_BUFF",t[t.GrovewardenSl1_SKILL2_BUFF=159]="GrovewardenSl1_SKILL2_BUFF",t[t.GrovewardenSl1_SKILL3_BUFF=160]="GrovewardenSl1_SKILL3_BUFF",t[t.GrovewardenSl1_ROSTER_BUFF=161]="GrovewardenSl1_ROSTER_BUFF",t[t.FrankenSl1_SKILL2_BUFF=162]="FrankenSl1_SKILL2_BUFF",t[t.FrankenSl1_ROSTER_BUFF=164]="FrankenSl1_ROSTER_BUFF",t[t.WolfSl1_SKILL2_BUFF=165]="WolfSl1_SKILL2_BUFF",t[t.WolfSl1_SKILL3_BUFF=166]="WolfSl1_SKILL3_BUFF",t[t.WolfSl1_SKILL4_BUFF=167]="WolfSl1_SKILL4_BUFF",t[t.WolfSl1_ROSTER_BUFF=168]="WolfSl1_ROSTER_BUFF",t[t.BatSl1_SKILL2_BUFF=169]="BatSl1_SKILL2_BUFF",t[t.BatSl1_SKILL3_BUFF=170]="BatSl1_SKILL3_BUFF",t[t.BatSl1_SKILL4_BUFF=171]="BatSl1_SKILL4_BUFF",t[t.BatSl1_ROSTER_BUFF=172]="BatSl1_ROSTER_BUFF",t[t.SkullSl1_SKILL2_BUFF=173]="SkullSl1_SKILL2_BUFF",t[t.SkullSl1_ROSTER_BUFF=174]="SkullSl1_ROSTER_BUFF",t[t.Bomber1_ATKSPD_BUFF=200]="Bomber1_ATKSPD_BUFF",t[t.Bomber1_MOVESPD_BUFF=201]="Bomber1_MOVESPD_BUFF",t[t.TigerRider1_ATKSPD_BUFF=210]="TigerRider1_ATKSPD_BUFF",t[t.TigerRider1_MOVESPD_BUFF=211]="TigerRider1_MOVESPD_BUFF",t[t.Sylphid1_ATKSPD_STACK=220]="Sylphid1_ATKSPD_STACK",t[t.WyvernRider1_ATKSPD_BUFF=230]="WyvernRider1_ATKSPD_BUFF",t[t.WyvernRider1_MOVESPD_BUFF=231]="WyvernRider1_MOVESPD_BUFF",t[t.WyvernRider1_ATKDMG_BUFF=232]="WyvernRider1_ATKDMG_BUFF",t[t.WingKnight1_FLASH_BUFF=240]="WingKnight1_FLASH_BUFF",t[t.WingKnight1_DASH_BUFF=241]="WingKnight1_DASH_BUFF",t[t.WingKnight1_BERSERK_ATKSPD=242]="WingKnight1_BERSERK_ATKSPD",t[t.WingKnight1_BERSERK_ATKDMG=243]="WingKnight1_BERSERK_ATKDMG",t[t.WingKnight1_FLASH_MOVSPD=244]="WingKnight1_FLASH_MOVSPD",t[t.WingKnight1_FLASH_ATKSPD=245]="WingKnight1_FLASH_ATKSPD",t[t.BladeMaster1_KILL_ATKSPD=250]="BladeMaster1_KILL_ATKSPD",t[t.BladeMaster1_KILL_ATKDMG=251]="BladeMaster1_KILL_ATKDMG",t[t.BladeMaster1_RANGE_ATKSPD=252]="BladeMaster1_RANGE_ATKSPD",t[t.BladeMaster1_MELEE_MOVESPD=253]="BladeMaster1_MELEE_MOVESPD",t[t.BladeMaster1_MELEE_ATKDMG=254]="BladeMaster1_MELEE_ATKDMG",t[t.BladeMaster1_RUSH_ATKSPD=255]="BladeMaster1_RUSH_ATKSPD",t[t.BladeMaster1_RUSH_MOVESPD=256]="BladeMaster1_RUSH_MOVESPD",t[t.BladeMaster1_BLINK_MOVESPD=257]="BladeMaster1_BLINK_MOVESPD",t[t.Aladin1_SAND_SLOW=260]="Aladin1_SAND_SLOW",t[t.Aladin1_BLESSING_ATKDMG=261]="Aladin1_BLESSING_ATKDMG",t[t.Druid1_VINE_ATKDMG=270]="Druid1_VINE_ATKDMG",t[t.Druid1_VINE_DEFENSE=271]="Druid1_VINE_DEFENSE",t[t.Druid1_VINE_ATKSPD=272]="Druid1_VINE_ATKSPD",t[t.CrowKnight1_ORBIT_ATKSPD=280]="CrowKnight1_ORBIT_ATKSPD",t[t.CrowKnight1_ORBIT_ATKDMG=281]="CrowKnight1_ORBIT_ATKDMG",t[t.Succubus2_CHARM_ATKSPD=290]="Succubus2_CHARM_ATKSPD",t[t.Succubus2_CHARM_MOVSPD=291]="Succubus2_CHARM_MOVSPD",t[t.RaidEmblemRogue_ACTIVE_ATKSPD=300]="RaidEmblemRogue_ACTIVE_ATKSPD",t[t.RaidEmblemRogue_ACTIVE_ATKDMG=301]="RaidEmblemRogue_ACTIVE_ATKDMG",t[t.RaidEmblemMage_BOSS_ATKSPD=302]="RaidEmblemMage_BOSS_ATKSPD",t[t.RaidEmblemMage_BOSS_DEFENSE=303]="RaidEmblemMage_BOSS_DEFENSE",t[t.RaidWeakpoint_BOSS_DEFENSE=304]="RaidWeakpoint_BOSS_DEFENSE",t[t.RaidWeakpoint_BOSS_ATKSPD=305]="RaidWeakpoint_BOSS_ATKSPD",t[t.RaidWeakpoint_BOSS_MOVESPD=306]="RaidWeakpoint_BOSS_MOVESPD",t[t.RaidRune_ACTIVE_ATKSPD=310]="RaidRune_ACTIVE_ATKSPD",t[t.RaidRune_ACTIVE_ATKDMG=311]="RaidRune_ACTIVE_ATKDMG",t[t.RaidRune_PULSE_ATKDMG=312]="RaidRune_PULSE_ATKDMG",t[t.RaidRune_PULSE_ATKSPD=313]="RaidRune_PULSE_ATKSPD",t[t.RaidRune_PULSE_DEFENSE=314]="RaidRune_PULSE_DEFENSE",t[t.RaidRune_ALLOUT_ATKDMG=315]="RaidRune_ALLOUT_ATKDMG",t[t.RaidRune_ALLOUT_ATKSPD=316]="RaidRune_ALLOUT_ATKSPD",t[t.RaidRune_ACTIVE_CRIT=317]="RaidRune_ACTIVE_CRIT",t[t.RaidRune_BOSS_ATKSPD=320]="RaidRune_BOSS_ATKSPD",t[t.RaidRune_BOSS_DEFENSE=321]="RaidRune_BOSS_DEFENSE",t[t.RaidRune_BOSS_ATKDMG=322]="RaidRune_BOSS_ATKDMG",t[t.RaidRune_ARROW_DEFENSE=323]="RaidRune_ARROW_DEFENSE",t[t.RaidRune_COMBO_DEFENSE=324]="RaidRune_COMBO_DEFENSE",t[t.BURN_DEBUFF=1001]="BURN_DEBUFF",t[t.BLOODY_DEBUFF=1002]="BLOODY_DEBUFF",t[t.RACE_ROLETYPE_MOVE_SPEED_DEBUFF=1003]="RACE_ROLETYPE_MOVE_SPEED_DEBUFF",t[t.RACE_ROLETYPE_DAMAGE_DEBUFF=1004]="RACE_ROLETYPE_DAMAGE_DEBUFF",t[t.EXCAVATION_CRITICALHIT_DEFENSE_DEBUFF=1005]="EXCAVATION_CRITICALHIT_DEFENSE_DEBUFF",t[t.RACE_MAPTYPE2_DEBUFF=1006]="RACE_MAPTYPE2_DEBUFF",t[t.TidecallerSl1_SKILL2_DEBUFF=1007]="TidecallerSl1_SKILL2_DEBUFF",t[t.RAID_BOSS1_DEBUFF=1008]="RAID_BOSS1_DEBUFF",t[t.MOSSGOLEM_DEFENSE_BUFF=1009]="MOSSGOLEM_DEFENSE_BUFF",t[t.WarpLanding_ATTACKSPEED_BUFF=1100]="WarpLanding_ATTACKSPEED_BUFF",t))(lz||{ - } - ); - const uz=class t extends zj{ - initializeTextureName(){ - this.className=Vj.ScorpionPoisonBullet,this.sheetName="RaidBattle",this.textureName="PoisonBullet"} - initializeData(){ - this.hitClassName="",this.g=0,this.speed=18,this.flyEnd=2,this.incFrame=1,this.minT=8,this.maxT=42,this.orientToPath=!0,this.weaponScale=1} - onHit(){ - this.owner&&this.target&&this.target.isAlive&&(this.owner.doDamage(this.target,this.damagePercent,!0),this.target.isAlive&&(this.target.poison(t.POISON_DEBUFF_DURATION),this.target.addMoveSpeedBuff(lz.ScorpionPoisonBullet_MOVESPEED_DEBUFF,t.POISON_MOVE_SPEED_DEBUFF,t.POISON_DEBUFF_DURATION,!0),this.target.addAttackSpeedBuff(lz.ScorpionPoisonBullet_ATTACKSPEED_DEBUFF,t.POISON_ATTACK_SPEED_DEBUFF,t.POISON_DEBUFF_DURATION,!0))),this.displayExplodeEffect(),this.remove()} - displayExplodeEffect(){ - const t=jj.getEffect(yH.PoisonExplodeEffect); - t.x=this.x,t.y=this.y,t.setBattleController(this.battleController||Nai.getInstance()),t.start(24),TB.getInstance().addChild(t)} - } - ; - qt(uz,"ScorpionPoisonBullet"),Yt(uz,"POISON_DEBUFF_DURATION",420),Yt(uz,"POISON_MOVE_SPEED_DEBUFF",-.5),Yt(uz,"POISON_ATTACK_SPEED_DEBUFF",-.3); - let dz=uz; - const fz=class t extends Fe{ - constructor(){ - super(),Yt(this,"g",new Uf),Yt(this,"radius",0),Yt(this,"aspectY",1),Yt(this,"fillColor",t.DEFAULT_FILL_COLOR),Yt(this,"strokeColor",t.DEFAULT_STROKE_COLOR),Yt(this,"fillAlphaScale",1),Yt(this,"crater",null),Yt(this,"craterTextures",[]),Yt(this,"fire",null),Yt(this,"fireTextures",[]),Yt(this,"craterTick",0),Yt(this,"craterOnly",!1),Yt(this,"fadeOutLeft",-1),Yt(this,"fadeOutTotal",0),this.eventMode="none",this.addChild(this.g)} - show(i,s,e,n=1){ - this.x=i,this.y=s,this.radius=e,this.aspectY=n,this.fillColor=t.DEFAULT_FILL_COLOR,this.strokeColor=t.DEFAULT_STROKE_COLOR,this.fillAlphaScale=1,this.craterOnly=!1,this.fadeOutLeft=-1,this.fadeOutTotal=0,this.crater&&(this.crater.visible=!1),this.fire&&(this.fire.visible=!1),this.draw(.3,0),AB.getInstance().addChild(this)} - showCrater(){ - if(this.craterOnly=!0,this.g.clear(),iS.hasSheet("RaidBattle")){ - this.craterTextures=[]; - for(let i=1; - i<=t.CRATER_FRAME_COUNT; - i++){ - const t=iS.getTexture("RaidBattle",`Crater${ - String(i).padStart(4,"0")} - `); - t&&this.craterTextures.push(t)} - if(0!==this.craterTextures.length){ - this.crater||(this.crater=new je(this.craterTextures[0]),this.crater.anchor.set(.5),this.addChildAt(this.crater,0)),this.crater.texture=this.craterTextures[0],this.craterTick=0,this.crater.width=2*this.radius,this.crater.height=this.radius*this.aspectY*2,this.crater.alpha=0,this.crater.visible=!0,this.fireTextures=[]; - for(let i=1; - i<=t.FIRE_FRAME_COUNT; - i++){ - const t=iS.getTexture("RaidBattle",`FireArea${ - String(i).padStart(4,"0")} - `); - t&&this.fireTextures.push(t)} - this.fireTextures.length>0&&(this.fire||(this.fire=new je(this.fireTextures[0]),this.fire.anchor.set(.5),this.addChildAt(this.fire,1)),this.fire.texture=this.fireTextures[0],this.fire.alpha=0,this.fire.visible=!0)} - } - } - setStyle(t,i,s=1){ - this.fillColor=t,this.strokeColor=i,this.fillAlphaScale=s} - startFadeOut(t){ - this.fadeOutLeft>=0||(this.fadeOutTotal=Math.max(1,t),this.fadeOutLeft=this.fadeOutTotal)} - update(i){ - var s,e; - if(!this.craterOnly){ - const t=Math.max(0,Math.min(1,i)),s=.22+.18*(.5+.5*Math.sin(t*Math.PI*8)); - this.draw(s,t)} - if((null==(s=this.crater)?void 0:s.visible)&&this.craterTextures.length>0){ - this.craterTick++; - const i=Math.floor(this.craterTick/t.CRATER_ANIM_DIV)%this.craterTextures.length; - this.crater.texture=this.craterTextures[i]; - const s=Math.min(1,this.craterTick/t.CRATER_FADE_IN_FRAMES),n=1-(1-s)*(1-s); - let h=n; - const r=.92+.08*n; - if(this.crater.width=2*this.radius*r,this.crater.height=this.radius*this.aspectY*2*r,this.fadeOutLeft>=0&&(this.fadeOutLeft>0&&this.fadeOutLeft--,h=Math.min(h,this.fadeOutLeft/this.fadeOutTotal)),this.crater.alpha=h,(null==(e=this.fire)?void 0:e.visible)&&this.fireTextures.length>0){ - const s=2*this.radius*r,e=this.radius*this.aspectY*2*r; - this.fire.texture=this.fireTextures[i%this.fireTextures.length],this.fire.width=s*t.FIRE_SCALE,this.fire.height=e*t.FIRE_SCALE,this.fire.x=s*t.FIRE_OFFSET_X_RATIO,this.fire.y=e*t.FIRE_OFFSET_Y_RATIO,this.fire.alpha=h} - } - } - draw(t,i){ - const s=this.g,e=this.radius,n=this.radius*this.aspectY; - s.clear(),s.ellipse(0,0,e,n).fill({ - color:this.fillColor,alpha:.5*t*this.fillAlphaScale} - ),s.ellipse(0,0,e,n).stroke({ - width:4,color:this.strokeColor,alpha:.9} - ),i>0&&s.ellipse(0,0,e*i,n*i).stroke({ - width:2,color:16777215,alpha:.55} - )} - dispose(){ - this.g.clear(),this.crater&&(this.crater.visible=!1),this.fire&&(this.fire.visible=!1),this.parent&&this.parent.removeChild(this)} - } - ; - qt(fz,"RaidWarningCircle"),Yt(fz,"CRATER_ASPECT_Y",65/148),Yt(fz,"CRATER_FRAME_COUNT",20),Yt(fz,"CRATER_ANIM_DIV",2),Yt(fz,"CRATER_FADE_IN_FRAMES",24),Yt(fz,"FIRE_FRAME_COUNT",8),Yt(fz,"FIRE_SCALE",.8),Yt(fz,"FIRE_OFFSET_X_RATIO",.024),Yt(fz,"FIRE_OFFSET_Y_RATIO",-.047),Yt(fz,"DEFAULT_FILL_COLOR",16719904),Yt(fz,"DEFAULT_STROKE_COLOR",16732240); + Xt(vz,"FireAttack1");
CrowKnight1 18 hunks, 254 statements
- super(),Yt(this,"orbitCrows",[]),Yt(this,"decayTimer",0),Yt(this,"pendingExecutions",[]),Yt(this,"incomingCrows",[])} + super(),Yt(this,"orbitCrows",[]),Yt(this,"orbitRealignTimer",0),Yt(this,"decayTimer",0),Yt(this,"attackCrowShots",0),Yt(this,"atkShotIdx",0),Yt(this,"atkTargets",[]),Yt(this,"incomingCrows",[]),Yt(this,"phantoms",[]),Yt(this,"bodyShotIdx",0),Yt(this,"skillTilt",0)}
- super.setData(i,s,e,n),this.orgAtkSpd=130,this.atkSpd=130,this.orgAtkDuration=this.atkDuration=1e4/130,this.orgAtkRange=this.atkRange=350,this.atkRange2=this.atkRange*this.atkRange,this.orgMaxHp=this.maxHp=1500,this.hp=this.maxHp,this.orgAtkDmg=this.atkDmg=12,this.cleanupOrbitCrows(),this.cleanupPendingExecutions(),this.cleanupIncomingCrows(),this.decayTimer=0; + super.setData(i,s,e,n),this.releaseAttachments(),this.orgAtkRange=this.baseAtkRange=this.atkRange=t.ATK_RANGE,this.atkRange2=this.atkRange*this.atkRange,this.cleanupOrbitCrows(),this.cleanupPhantoms(),this.cleanupIncomingCrows(),this.decayTimer=0,this.attackCrowShots=0,this.atkShotIdx=0,this.atkTargets.length=0,this.skillTilt=0;
- super.initializeData(),this.className=ux.CrowKnight1,this.sheetName="Game1",this.unitType=rx.RANGE,this.weaponClass=Vj.CrowKnightBullet1,this.radius=7,this.hitHeight=36,this.idleFrames=new bH(0,31),this.moveFrames=new bH(32,60),this.attackFrames=new bH(61,107),this.skillFrames=new bH(108,162),this.dieFrames=new bH(163,179),this.objAtk={ - 76:1} + super.initializeData(),this.className=fx.CrowKnight1,this.sheetName="Game1",this.unitType=ax.RANGE,this.weaponClass=MV.CrowKnightBullet1,this.radius=7,this.hitHeight=36,this.uiTopOffset=6,this.idleFrames=new AH(0,31),this.moveFrames=new AH(32,60),this.attackFrames=new AH(61,107),this.skillFrames=new AH(108,163),this.dieFrames=new AH(164,201),this.objAtk={ + 66:1,70:1,74:1,78:1,82:1,86:1,90:1,94:1}
- 134:1} - ,this.isAir=!0,this.airHeight=60,this.firePoint.set(26,-2-this.airHeight),this.startSound=fG.SFX_BATTLE_UNDEAD_GO,this.attackSound=fG.SFX_BATTLE_SWORD_ATTACK1,this.dieSound=fG.SFX_BATTLE_UNDEAD_DIE,this.hasSkill=!0,this.maxMana=500,this.normalSize=.9,this.evolSize=1} + 134:1,139:1,144:1,149:1,154:1,160:1} + ,this.isAir=!0,this.airHeight=60,this.firePoint.set(26,-16-this.airHeight),this.startSound=mG.SFX_BATTLE_UNDEAD_GO,this.attackSound=mG.SFX_BATTLE_SWORD_ATTACK1,this.dieSound=mG.SFX_BATTLE_UNDEAD_DIE,this.hasSkill=!0,this.maxMana=500,this.normalSize=.8,this.evolSize=.9}
- super.execute(),this.isAlive&&(this.updateOrbitCrows(),this.updatePendingExecutions(),this.updateIncomingCrows(),this.updateDecayTimer())} + super.execute(),this.isAlive&&(this.updateOrbitCrows(),this.updatePhantoms(),this.updateIncomingCrows(),this.updateDecayTimer(),this.updateSkillTilt())} + realignOrbitCrows(){ + const t=this.orbitCrows.length; + if(t<=1)return; + const i=this.orbitCrows[0].angle,s=2*Math.PI/t; + for(let e=1; + e<t; + e++)this.orbitCrows[e].angle=i+e*s} + updateSkillTilt(){ + if(0!==this.skillTilt&&(this.skillTilt*=t.SKILL_TILT_DECAY,Math.abs(this.skillTilt)<.01&&(this.skillTilt=0),this.sp)){ + const t=this.skillTilt; + this.sp.rotation=t,this.sp.x=-17*Math.sin(t),this.sp.y=-17*(1-Math.cos(t))} + }
- let t=this.target; - if(!t||!t.isAlive){ + if(this.atkShotIdx<=0||0===this.atkTargets.length){ + this.atkShotIdx=0,this.atkTargets.length=0; + for(const i of this.getAttackableEnemyList(t.ATTACK_SHOTS))i&&i.isAlive&&!i.isUntagetable&&this.atkTargets.push(i)} + let i=null; + for(let t=0; + t<this.atkTargets.length; + t++){ + const s=this.atkTargets[(this.atkShotIdx+t)%this.atkTargets.length]; + if(s&&s.isAlive&&!s.isUntagetable){ + i=s; + break} + } + if(!i){
- if(!t||!t.isAlive)return; - const i=this.generateWeapon(t,Vj.CrowKnightBullet1,1); + if(this.atkShotIdx=(this.atkShotIdx+1)%t.ATTACK_SHOTS,!i||!i.isAlive)return; + 0===this.phantoms.length&&this.orbitCrows.length+this.incomingCrows.length<t.ORBIT_MAX_COUNT&&++this.attackCrowShots>=t.ATTACK_CROW_SHOTS&&(this.attackCrowShots=0,this.spawnOrbitCrow()); + const s=i.getHitCenter(),e=Math.atan2(s.y-(this.y-this.airHeight),s.x-this.x),n=Math.atan2(Math.sin(e),Math.max(.001,Math.abs(Math.cos(e)))); + this.skillTilt=Math.max(-.35,Math.min(t.ATTACK_LEAN_MAX,n))*this.direction; + const h=this.generateWeapon(i,MV.CrowKnightBullet1,t.ATTACK_DMG_PER_SHOT);
- if(this.pendingExecutions.length>0)return; + if(this.phantoms.length>0)return;
+ this.attackCrowShots=0;
+ addOrbitCrowAtAngle(i){ + const s=eS.getTextures("Game1",MV.CrowCompanion1); + if(!s||0===s.length)return; + const e=new Ve(s[0]); + e.anchor.set(.5),e.scale.set(t.CROW_SCALE),jB.getInstance().addChild(e),this.orbitCrows.push({ + sprite:e,textures:s,frame:this.random.next()*s.length,angle:i,fireTimer:t.ORBIT_FIRE_INTERVAL+Math.floor(30*this.random.next()),...this.makeBobParams()} + ),this.refreshOrbitBuff()}
+ onSkillStartFrame(){ + this.bodyShotIdx=0,this.spawnPhantoms()}
- const i=t.SKILL_TARGET_RANGE*t.SKILL_TARGET_RANGE,s=[]; - for(const t of this.enemyList){ - if(!t.isAlive||t.isUntagetable)continue; - const e=t.x-this.x,n=t.y-this.y,h=e*e+n*n; - h<=i&&s.push({ - unit:t,dist:h} - )} - if(0===s.length)return; - s.sort((t,i)=>t.dist-i.dist); - const e=s.slice(0,t.SKILL_TARGET_MAX).map(t=>t.unit); - for(; - this.orbitCrows.length<t.SKILL_MIN_CROWS; - )this.spawnOrbitCrow(); - const n=2*e.length,h=[],r=[]; - for(let t=0; - t<this.orbitCrows.length; - t++)h.push(t),r.push(2*t); - for(let t=r.length-1; - t>0; - t--){ - const i=Math.floor(this.random.next()*(t+1)),s=r[t]; - r[t]=r[i],r[i]=s} - for(let o=0; - o<this.orbitCrows.length; - o++){ - const i=this.orbitCrows[o]; - let s,a,c=null; - if(o<n){ - const i=e[o%e.length]; - s=i.x,a=i.y+t.SKILL_CROW_OFFSET_Y,c=i} - else{ - const t=this.pickRandomScatterPos(); - s=t.x,a=t.y} - const l=h[o]; - this.pendingExecutions.push({ - sprite:i.sprite,textures:i.textures,frame:i.frame,state:"aiming",countdown:t.AIMING_FRAMES,flyStartX:i.sprite.x,flyStartY:i.sprite.y,targetX:s,targetY:a,fireDelay:r[o],fireOrder:l,waveIdx:0,shotsFired:0,targetEnemy:c} - )} - this.orbitCrows.length=0,this.refreshOrbitBuff()} - pickRandomScatterPos(){ - const t=this.random.next()*Math.PI*2,i=180+220*this.random.next(); - return{ - x:this.x+Math.cos(t)*i,y:this.y+Math.sin(t)*i*.7} - } - fireSkillBullet(i,s){ - this.lookAt(i-this.x); - let e=null; - for(const t of this.enemyList)if(t.isAlive&&!t.isUntagetable){ - e=t; - break} - let n=null; - if(e)n=this.generateWeapon(e,Vj.CrowKnightBullet1,t.SKILL_DMG); - else{ + if(this.bodyShotIdx>=t.FIRE_ROUNDS)return; + const i=(this.bodyShotIdx-(t.FIRE_ROUNDS-1)/2)*t.TILT_STEP; + this.fireBodyBidir(i,t.PHANTOM_DMG),this.bodyShotIdx++} + fireBodyBidir(i,s){ + const e=this.x,n=this.y-this.airHeight; + this.spawnBullet(e,n,i,s,t.PHANTOM_BULLET_SPEED),this.spawnBullet(e,n,i+Math.PI,s,t.PHANTOM_BULLET_SPEED),mG.getInstance().playSFX(this.attackSound),this.skillTilt=Math.max(-.5,Math.min(t.SKILL_MAX_TILT,i))} + spawnBullet(t,i,s,e,n){
- i&&(i.owner=this,i.target=null,i.x=this.x,i.y=this.y-this.airHeight,FB.getInstance().addChild(i),i.setData(t.SKILL_DMG),i.setBattleController(this.battleController||Nai.getInstance()),i.play(),n=i)} - if(!n)return; - n.x=this.x,n.y=this.y-this.airHeight; - let h=i,r=s,o=1/0,a=null; - for(const t of this.enemyList){ - if(!t.isAlive||t.isUntagetable)continue; - const e=t.getHitCenter(),n=e.x-i,h=e.y-s,r=n*n+h*h; - r<6400&&r<o&&(o=r,a=t)} - if(a){ - const t=a.getHitCenter(); - h=t.x,r=t.y} - const c=h-n.x,l=r-n.y,u=Math.sqrt(c*c+l*l); - u>1&&(n.vx=c/u*t.SKILL_BULLET_SPEED,n.vy=l/u*t.SKILL_BULLET_SPEED,n.rotation=Math.atan2(n.vy,n.vx))} - updatePendingExecutions(){ - var i; - const s=(null==(i=this.battleController)?void 0:i.battleTime)??0; - for(let e=this.pendingExecutions.length-1; - e>=0; - e--){ - const i=this.pendingExecutions[e]; - i.frame+=t.ORBIT_ANIM_SPEED,i.frame>=i.textures.length&&(i.frame=0); - const n=Math.floor(i.frame); - if(n<i.textures.length&&(i.sprite.texture=i.textures[n]),i.countdown--,i.targetEnemy&&i.targetEnemy.isAlive&&!i.targetEnemy.removed&&("aiming"===i.state||"flying"===i.state||"firing"===i.state&&0===i.shotsFired)&&(i.targetX=i.targetEnemy.x,i.targetY=i.targetEnemy.y+t.SKILL_CROW_OFFSET_Y),"aiming"===i.state){ - const e=.05*i.flyStartX,n=Math.sin(s*t.SKILL_HOVER_SPEED+e)*t.SKILL_HOVER_AMP*.5; - i.sprite.x=i.flyStartX,i.sprite.y=i.flyStartY+n; - const h=i.targetX>=i.flyStartX?1:-1,r=1-i.countdown/t.AIMING_FRAMES,o=1+Math.sin(r*Math.PI)*t.AIMING_PULSE_AMP; - i.sprite.scale.x=h*t.CROW_SCALE*o,i.sprite.scale.y=t.CROW_SCALE*o,i.sprite.alpha=1,i.countdown<=0&&(i.state="flying",i.countdown=t.SKILL_FLY_FRAMES,i.sprite.scale.x=h*t.CROW_SCALE,i.sprite.scale.y=t.CROW_SCALE)} - else if("flying"===i.state){ - const s=1-i.countdown/t.SKILL_FLY_FRAMES,e=1-Math.pow(1-s,2); - i.sprite.x=i.flyStartX+(i.targetX-i.flyStartX)*e; - const n=t.SKILL_FLY_ARC_HEIGHT*Math.sin(e*Math.PI); - i.sprite.y=i.flyStartY+(i.targetY-i.flyStartY)*e+n; - const h=i.targetX>=i.flyStartX?1:-1; - i.sprite.scale.x=h*t.CROW_SCALE,i.sprite.scale.y=t.CROW_SCALE,i.sprite.alpha=1,i.countdown<=0&&(i.sprite.x=i.targetX,i.sprite.y=i.targetY,i.state="firing",i.countdown=i.fireDelay,i.shotsFired=0)} - else if("firing"===i.state){ - i.sprite.x=i.targetX; - const e=.05*i.targetX,n=Math.sin(s*t.SKILL_HOVER_SPEED+e)*t.SKILL_HOVER_AMP; - if(i.sprite.y=i.targetY+n,i.countdown<=0){ - const s=i.sprite.scale.x; - i.sprite.scale.x=(s>=0?1:-1)*t.CROW_SCALE*t.SKILL_FIRE_PULSE,i.sprite.scale.y=t.CROW_SCALE*t.SKILL_FIRE_PULSE; - const e=i.sprite.x,n=i.sprite.y; - if(this.fireSkillBullet(e,n),fG.getInstance().playSFX(this.attackSound),i.shotsFired++,i.shotsFired<t.SHOTS_PER_CROW){ - const s=t.SHOT_INTERVAL_MAX-t.SHOT_INTERVAL_MIN; - i.countdown=t.SHOT_INTERVAL_MIN+Math.floor(this.random.next()*(s+1))} - else{ - const s=e-this.x,h=n-this.y,r=Math.sqrt(s*s+h*h); - i.countdown=Math.max(6,Math.ceil(r/t.SKILL_BULLET_SPEED)),i.state="inflight"} - } - } - else if("inflight"===i.state){ - const s=(i.sprite.scale.x>=0?1:-1)*t.CROW_SCALE; - i.sprite.scale.x+=.25*(s-i.sprite.scale.x),i.sprite.scale.y+=.25*(t.CROW_SCALE-i.sprite.scale.y),i.countdown<=0&&(i.state="waiting",i.sprite.alpha=1,i.countdown=0===i.waveIdx?t.HOLD_BETWEEN_WAVES:t.HOLD_BEFORE_RETURN)} - else if("waiting"===i.state){ - const e=.05*i.targetX,n=Math.sin(s*t.SKILL_HOVER_SPEED+e)*t.SKILL_HOVER_AMP; - i.sprite.y=i.targetY+n,i.countdown>0&&i.countdown--} - else{ - const s=i.fireOrder/t.ORBIT_MAX_COUNT*Math.PI*2; - i.targetX=this.x+Math.cos(s)*t.ORBIT_RADIUS_X,i.targetY=this.y+t.ORBIT_HEIGHT+Math.sin(s)*t.ORBIT_RADIUS_Y; - const n=1-i.countdown/t.SKILL_FLY_FRAMES,h=1-Math.pow(1-n,2); - i.sprite.x=i.flyStartX+(i.targetX-i.flyStartX)*h,i.sprite.y=i.flyStartY+(i.targetY-i.flyStartY)*h,i.countdown<=0&&(this.orbitCrows.length<t.ORBIT_MAX_COUNT?(this.orbitCrows.push({ - sprite:i.sprite,textures:i.textures,frame:i.frame,angle:s,fireTimer:t.ORBIT_FIRE_INTERVAL+Math.floor(30*this.random.next()),...this.makeBobParams()} - ),this.refreshOrbitBuff()):i.sprite.parent&&i.sprite.parent.removeChild(i.sprite),this.pendingExecutions.splice(e,1))} - } - if(this.pendingExecutions.length>0&&this.pendingExecutions.every(t=>"waiting"===t.state&&t.countdown<=0))if(0===this.pendingExecutions[0].waveIdx){ - const i=this.pendingExecutions.length,s=[]; + h&&(h.owner=this,h.target=null,h.x=t,h.y=i,h.setData(e),h.setBattleController(this.battleController||hli.getInstance()),jB.getInstance().addChild(h),h.play(),h.vx=Math.cos(s)*n,h.vy=Math.sin(s)*n,h.rotation=s)} + spawnMuzzleFlash(i,s){ + const e=bV.getEffect(SH.MagicalHitEffect); + e&&(e.x=i,e.y=s,e.scale.set(t.MODE_B_FLASH_SCALE),e.setBattleController(this.battleController||hli.getInstance()),e.start(10),jB.getInstance().addChild(e))} + leanOf(i){ + const s=Math.atan2(Math.sin(i),Math.max(.001,Math.abs(Math.cos(i)))); + return Math.max(-.6,Math.min(t.LEAN_MAX,s))} + spawnPhantoms(){ + var i,s; + if(this.phantoms.length>0)return; + const e=this.orbitCrows.length,n=Math.min(e,t.PHANTOM_MAX),h=Math.max(n,t.PHANTOM_MIN),r=this.skillFrames.start,o=Math.max(1,this.skillFrames.end-this.skillFrames.start),a=this.random.next()*Math.PI*2,c=2*Math.PI/h,l=1===t.phantomMode,u=this.x,d=this.y-this.airHeight,f=[];
- t++)s.push(2*t); + t++)f.push(t/h*Math.PI+(this.random.next()-.5)*(Math.PI/h)*.5);
- let e=0; - for(const n of this.pendingExecutions){ - n.waveIdx=1,n.state="flying",n.countdown=t.SKILL_FLY_FRAMES,n.flyStartX=n.sprite.x,n.flyStartY=n.sprite.y; - const i=n.fireOrder/t.ORBIT_MAX_COUNT*Math.PI*2+(this.random.next()-.5)*(Math.PI/3),h=220+200*this.random.next(); - n.targetX=this.x+Math.cos(i)*h,n.targetY=this.y+Math.sin(i)*h*.7,n.fireDelay=s[e++],n.sprite.alpha=1,n.targetEnemy=null} + const p=this.getEnemiesAtPos(u,d,t.SKILL_AIM_RANGE,0,!0); + if(p.length>0)for(let g=0; + g<f.length; + g++){ + let i=1/0; + for(const t of p){ + if(!t||!t.isAlive)continue; + const s=Math.atan2(t.y-d,t.x-u),e=Math.PI; + let n=(s-f[g])%e; + n>e/2&&(n-=e),n<-e/2&&(n+=e),Math.abs(n)<Math.abs(i)&&(i=n)} + i!==1/0&&(f[g]+=i*t.SKILL_AIM)} + for(let g=0; + g<h; + g++){ + const e=g<n; + let h,u,d,p,m; + if(e){ + const t=this.orbitCrows.shift(); + d=t.angle,h=t.sprite.x,u=t.sprite.y,t.sprite.parent&&t.sprite.parent.removeChild(t.sprite)} + else d=this.random.next()*Math.PI*2,h=this.x+Math.cos(d)*t.ORBIT_RADIUS_X,u=this.y+t.ORBIT_HEIGHT+Math.sin(d)*t.ORBIT_RADIUS_Y; + { + const i=a+g*c+(this.random.next()-.5)*c*t.SPREAD_JITTER,s=t.SCATTER_MIN_R+this.random.next()*(t.SCATTER_MAX_R-t.SCATTER_MIN_R); + p=this.x+Math.cos(i)*s,m=this.y+Math.sin(i)*s*.6-t.PHANTOM_FLOAT} + const w=this.battleController,v=(null==(i=null==w?void 0:w.getFieldWidth)?void 0:i.call(w))??640,_=(null==(s=null==w?void 0:w.getFieldHeight)?void 0:s.call(w))??640; + p=Math.max(50,Math.min(v+110,p)),m=Math.max(70,Math.min(_+40,m)); + const b=f[g],M=new Ve(this.textures[r]); + M.scale.set(this.currentSize,this.currentSize),M.tint=t.PHANTOM_TINT,M.alpha=0,M.x=h,M.y=u,IB.getInstance().addChild(M),this.phantoms.push({ + sprite:M,frame:this.random.next()*o,state:"spread",delay:g*t.SPREAD_STAGGER,countdown:t.SPREAD_FRAMES,fromX:h,fromY:u,toX:p,toY:m,fireTimer:0,roundsLeft:t.FIRE_ROUNDS,sweepStart:b,baseTilt:this.leanOf(b),recoil:0,trailTimer:0,orbitAngle:d,restoresCrow:e,bodyMode:l,punch:0,returnTotal:t.RETURN_FRAMES} + )}
- else for(const e of this.pendingExecutions)e.state="returning",e.countdown=t.SKILL_FLY_FRAMES,e.flyStartX=e.sprite.x,e.flyStartY=e.sprite.y} - cleanupPendingExecutions(){ - for(const t of this.pendingExecutions)t.sprite.parent&&t.sprite.parent.removeChild(t.sprite); - this.pendingExecutions.length=0} + updatePhantoms(){ + var i; + if(0===this.phantoms.length)return; + const s=this.skillFrames.start,e=Math.max(1,this.skillFrames.end-this.skillFrames.start),n=(null==(i=this.battleController)?void 0:i.battleTime)??0,h=this.state!==cx.SKILL; + for(let r=this.phantoms.length-1; + r>=0; + r--){ + const i=this.phantoms[r],o=i.bodyMode?t.MODE_B_ALPHA:t.PHANTOM_ALPHA; + if(h&&i.bodyMode&&"return"!==i.state){ + if("spread"===i.state&&i.sprite.alpha<.02){ + i.sprite.parent&&i.sprite.parent.removeChild(i.sprite),this.phantoms.splice(r,1); + continue} + i.state="return",i.countdown=t.MODE_B_END_FADE,i.returnTotal=t.MODE_B_END_FADE,i.fromX=i.sprite.x,i.fromY=i.sprite.y} + if(i.bodyMode)this.sp&&(i.sprite.texture=this.sp.texture,i.sprite.rotation=this.sp.rotation); + else{ + i.frame+=t.PHANTOM_ANIM_SPEED,i.frame>=e&&(i.frame-=e); + const n=s+Math.floor(i.frame); + n<this.textures.length&&(i.sprite.texture=this.textures[n]),0!==i.recoil&&(i.recoil*=.8,Math.abs(i.recoil)<.01&&(i.recoil=0)),i.sprite.rotation=i.baseTilt+i.recoil} + if("spread"===i.state){ + if(i.delay>0){ + i.delay--,i.sprite.alpha=0; + continue} + i.countdown--; + const s=1-i.countdown/t.SPREAD_FRAMES,e=1-Math.pow(1-s,2); + i.sprite.x=i.fromX+(i.toX-i.fromX)*e; + const n=(i.bodyMode?t.MODE_B_SPREAD_ARC:t.SPREAD_ARC)*Math.sin(e*Math.PI); + i.sprite.y=i.fromY+(i.toY-i.fromY)*e+n,i.sprite.alpha=Math.min(o,2*s*o),i.bodyMode||this.tickPhantomTrail(i),i.countdown<=0&&(i.sprite.x=i.toX,i.sprite.y=i.toY,i.sprite.alpha=o,i.state="fire",i.fireTimer=0,i.frame=0)} + else if("fire"===i.state){ + if(i.bodyMode){ + i.sprite.x=i.toX,i.sprite.y=i.toY,i.punch>.01?i.punch*=.8:i.punch=0; + const s=this.currentSize*(1+i.punch*t.MODE_B_PUNCH_AMP); + i.sprite.scale.set(s,s)} + else i.sprite.y=i.toY+2*Math.sin(.15*n+i.sweepStart); + if(i.fireTimer>0)i.fireTimer--; + else{ + const s=i.bodyMode?t.MODE_B_FIRE_ROUNDS:t.FIRE_ROUNDS,e=s-i.roundsLeft,n=i.sweepStart+(e-(s-1)/2)*t.TILT_STEP; + this.spawnBullet(i.sprite.x,i.sprite.y,n,t.PHANTOM_DMG,t.PHANTOM_BULLET_SPEED),this.spawnBullet(i.sprite.x,i.sprite.y,n+Math.PI,t.PHANTOM_DMG,t.PHANTOM_BULLET_SPEED),i.baseTilt=this.leanOf(n),i.recoil=.4*(this.random.next()-.5),i.bodyMode&&(i.punch=1,this.spawnMuzzleFlash(i.sprite.x,i.sprite.y)),i.roundsLeft--,i.fireTimer=i.bodyMode?t.MODE_B_FIRE_GAP:t.FIRE_GAP,i.roundsLeft<=0&&(i.state="hold",i.countdown=t.HOLD_FRAMES)} + } + else if("hold"===i.state)i.bodyMode||(i.sprite.y=i.toY+2*Math.sin(.15*n+i.sweepStart)),i.sprite.alpha=o,i.countdown--,i.countdown<=0&&(i.state="return",i.countdown=t.RETURN_FRAMES,i.returnTotal=t.RETURN_FRAMES,i.fromX=i.sprite.x,i.fromY=i.sprite.y); + else{ + i.countdown--; + const s=i.bodyMode?this.x:this.x+Math.cos(i.orbitAngle)*t.ORBIT_RADIUS_X,e=i.bodyMode?this.y-this.airHeight:this.y+t.ORBIT_HEIGHT+Math.sin(i.orbitAngle)*t.ORBIT_RADIUS_Y,n=1-i.countdown/i.returnTotal,h=1-Math.pow(1-n,2); + i.sprite.x=i.fromX+(s-i.fromX)*h,i.sprite.y=i.fromY+(e-i.fromY)*h,i.sprite.alpha=o*(1-h),i.bodyMode||this.tickPhantomTrail(i),i.countdown<=0&&(i.sprite.parent&&i.sprite.parent.removeChild(i.sprite),this.phantoms.splice(r,1),i.restoresCrow&&this.orbitCrows.length<t.ORBIT_MAX_COUNT&&this.addOrbitCrowAtAngle(i.orbitAngle),0===this.phantoms.length&&this.realignOrbitCrows())} + } + } + tickPhantomTrail(i){ + if(i.trailTimer>0)return void i.trailTimer--; + i.trailTimer=t.TRAIL_GAP; + const s=bV.getEffect(SH.BladeMasterAfterImage); + s.setupAfterImage(i.sprite.texture,i.sprite.anchor.x,i.sprite.anchor.y,i.sprite.x,i.sprite.y,i.sprite.scale.x,i.sprite.scale.y,i.sprite.rotation,10,.6*i.sprite.alpha),IB.getInstance().addChild(s),s.start(10)} + cleanupPhantoms(){ + for(const t of this.phantoms)t.sprite.parent&&t.sprite.parent.removeChild(t.sprite); + this.phantoms.length=0} + releaseAttachments(){ + this.atkShotIdx=0,this.atkTargets.length=0,this.cleanupOrbitCrows(),this.cleanupPhantoms(),this.cleanupIncomingCrows()}
- null==(t=super.onDie)||t.call(this),this.cleanupOrbitCrows(),this.cleanupPendingExecutions(),this.cleanupIncomingCrows()} + null==(t=super.onDie)||t.call(this),this.releaseAttachments()} + remove(){ + this.releaseAttachments(),super.remove()}
- qt(h5,"CrowKnight1"),Yt(h5,"ORBIT_RADIUS_X",70),Yt(h5,"ORBIT_RADIUS_Y",25),Yt(h5,"ORBIT_HEIGHT",-80),Yt(h5,"ORBIT_SPEED",.045),Yt(h5,"ORBIT_BASE_COUNT",0),Yt(h5,"ORBIT_MAX_COUNT",12),Yt(h5,"ORBIT_FIRE_INTERVAL",270),Yt(h5,"ORBIT_FIRE_RANGE",220),Yt(h5,"ORBIT_FIRE_DMG",.4),Yt(h5,"ORBIT_ANIM_SPEED",.25),Yt(h5,"ORBIT_DECAY_FRAMES",300),Yt(h5,"CROW_SCALE",.7),Yt(h5,"SKILL_TARGET_MAX",12),Yt(h5,"SKILL_TARGET_RANGE",400),Yt(h5,"SKILL_MIN_CROWS",6),Yt(h5,"SKILL_FLY_FRAMES",20),Yt(h5,"SKILL_DMG",3.5),Yt(h5,"SKILL_CROW_OFFSET_Y",-36),Yt(h5,"SKILL_BULLET_SPEED",14),Yt(h5,"INCOMING_FRAMES",35),Yt(h5,"INCOMING_ARC_HEIGHT",-25),Yt(h5,"AIMING_FRAMES",18),Yt(h5,"AIMING_PULSE_AMP",.25),Yt(h5,"SKILL_FLY_ARC_HEIGHT",-30),Yt(h5,"SKILL_HOVER_AMP",3),Yt(h5,"SKILL_HOVER_SPEED",.15),Yt(h5,"SKILL_FIRE_PULSE",1.35),Yt(h5,"SHOTS_PER_CROW",2),Yt(h5,"SHOT_INTERVAL_MIN",3),Yt(h5,"SHOT_INTERVAL_MAX",11),Yt(h5,"HOLD_BETWEEN_WAVES",45),Yt(h5,"HOLD_BEFORE_RETURN",35); + Xt(e3,"CrowKnight1"),Yt(e3,"ORBIT_RADIUS_X",34),Yt(e3,"ORBIT_RADIUS_Y",11),Yt(e3,"ORBIT_HEIGHT",-132),Yt(e3,"ORBIT_REALIGN_INTERVAL",180),Yt(e3,"ORBIT_SPEED",.045),Yt(e3,"ORBIT_BASE_COUNT",2),Yt(e3,"ORBIT_MAX_COUNT",5),Yt(e3,"ORBIT_AUTO_FIRE",!0),Yt(e3,"ORBIT_FIRE_INTERVAL",200),Yt(e3,"ORBIT_FIRE_RANGE",380),Yt(e3,"ORBIT_FIRE_DMG",.4),Yt(e3,"ATK_RANGE",250),Yt(e3,"ATTACK_SHOTS",8),Yt(e3,"ATTACK_DMG_PER_SHOT",.27),Yt(e3,"ORBIT_ANIM_SPEED",.25),Yt(e3,"ORBIT_DECAY_FRAMES",540),Yt(e3,"ATTACK_CROW_SHOTS",72),Yt(e3,"SKILL_AIM",.6),Yt(e3,"SKILL_AIM_RANGE",460),Yt(e3,"CROW_SCALE",.7),Yt(e3,"INCOMING_FRAMES",35),Yt(e3,"INCOMING_ARC_HEIGHT",-25),Yt(e3,"PHANTOM_MIN",5),Yt(e3,"PHANTOM_MAX",5),Yt(e3,"PHANTOM_TINT",8015359),Yt(e3,"PHANTOM_ALPHA",.72),Yt(e3,"PHANTOM_FLOAT",55),Yt(e3,"PHANTOM_ANIM_SPEED",.4),Yt(e3,"SPREAD_FRAMES",14),Yt(e3,"SPREAD_STAGGER",4),Yt(e3,"SPREAD_ARC",-40),Yt(e3,"SCATTER_MIN_R",62),Yt(e3,"SCATTER_MAX_R",160),Yt(e3,"phantomMode",0),Yt(e3,"MODE_B_SPREAD_ARC",0),Yt(e3,"MODE_B_FIRE_ROUNDS",7),Yt(e3,"MODE_B_FIRE_GAP",4),Yt(e3,"MODE_B_ALPHA",.6),Yt(e3,"MODE_B_JITTER",40),Yt(e3,"MODE_B_FLASH_SCALE",.42),Yt(e3,"MODE_B_PUNCH_AMP",.22),Yt(e3,"MODE_B_END_FADE",5),Yt(e3,"RETURN_FRAMES",18),Yt(e3,"FIRE_ROUNDS",3),Yt(e3,"FIRE_GAP",6),Yt(e3,"TILT_STEP",.4),Yt(e3,"LEAN_MAX",.6),Yt(e3,"HOLD_FRAMES",24),Yt(e3,"SPREAD_JITTER",.5),Yt(e3,"PHANTOM_DMG",2.2),Yt(e3,"PHANTOM_BULLET_SPEED",13),Yt(e3,"TRAIL_GAP",3),Yt(e3,"SKILL_MAX_TILT",.5),Yt(e3,"SKILL_TILT_DECAY",.85),Yt(e3,"SKILL_TILT_PIVOT",17),Yt(e3,"ATTACK_LEAN_MAX",.35);
MinePopup 5 hunks, 245 statements
- this.titleUp=new je(iS.getTexture("UI_MINE","Base_Title_up.png")),this.titleUp.x=0,this.titleUp.y=0,this.addChild(this.titleUp),this.bg=new je(iS.getTexture("UI_MINE","EBlock_bg.png")),this.bg.x=.5*(t.OUTER_W-t.BG_W),this.bg.y=this.titleUp.y+this.titleUp.height-i-i,this.addChild(this.bg),this.expProgressContainer=new Fe,this.expProgressContainer.x=this.bg.x+.5*(this.bg.width-t.HUD_W),this.expProgressContainer.y=this.bg.y+20,this.addChild(this.expProgressContainer),this.buildExpProgress(),this.titleInfo=new je(iS.getTexture("UI_MINE","Base_Title_info.png")),this.titleInfo.x=0,this.titleInfo.y=this.bg.y+this.bg.height-i-i,this.addChild(this.titleInfo),this.lblTitle=new wD(YG.getText("GAME_1203","화석 발굴"),yL.COLOR_WHITE,yL.WHITE_OUTLINE_FONT_OPTION_22),this.lblTitle.textSize=23,this.lblTitle.x=52,this.lblTitle.y=this.titleUp.y+.5*(this.titleUp.height-this.lblTitle.height)-3,this.addChild(this.lblTitle),this.btnGuide=new KB("UI_Ekkorr","UI_Alarm"),this.btnGuide.onClick=()=>{ + this.titleUp=new Ve(eS.getTexture("UI_MINE","Base_Title_up.png")),this.titleUp.x=0,this.titleUp.y=0,this.addChild(this.titleUp),this.bg=new Ve(eS.getTexture("UI_MINE","EBlock_bg.png")),this.bg.x=.5*(t.OUTER_W-t.BG_W),this.bg.y=this.titleUp.y+this.titleUp.height-i-i,this.addChild(this.bg),this.expProgressContainer=new He,this.expProgressContainer.x=this.bg.x+.5*(this.bg.width-t.HUD_W),this.expProgressContainer.y=this.bg.y+20,this.addChild(this.expProgressContainer),this.buildExpProgress(),this.mine4xContainer=new He,this.mine4xContainer.x=this.bg.x+.5*this.bg.width,this.mine4xContainer.y=this.bg.y+75,this.addChild(this.mine4xContainer),this.btnInfo4X=new YB("UI_Ekkorr","UI_Alarm"),this.btnInfo4X.x=this.bg.x+.5*this.bg.width-80,this.btnInfo4X.y=10,this.btnInfo4X.onClick=()=>{ + u6t.getInstance().showGuide()} + ,this.mine4xContainer.addChild(this.btnInfo4X),this.bg4X=new o6t,this.bg4X.x=this.btnInfo4X.x-this.bg4X.width-15,this.bg4X.y=this.btnInfo4X.y+.5*(this.btnInfo4X.height-this.bg4X.height),this.mine4xContainer.addChild(this.bg4X),this.btnMine4XOn=new YB("UI_MINE","4x_toggle_on.png",.55),this.btnMine4XOn.onClick=()=>{ + this.mine4xClicked=0} + ,this.btnMine4XOn.x=this.bg4X.x+this.bg4X.width-this.btnMine4XOn.width-7,this.btnMine4XOn.y=this.bg4X.y+.5*(this.bg4X.height-this.btnMine4XOn.height),this.mine4xContainer.addChild(this.btnMine4XOn),this.btnMine4XOff=new YB("UI_MINE","4x_toggle_off.png",.55),this.btnMine4XOff.onClick=()=>{ + this.mine4xClicked=1} + ,this.btnMine4XOff.x=this.btnMine4XOn.x+.5*(this.btnMine4XOn.width-this.btnMine4XOff.width),this.btnMine4XOff.y=this.btnMine4XOn.y+.5*(this.btnMine4XOn.height-this.btnMine4XOff.height),this.mine4xContainer.addChild(this.btnMine4XOff),this.titleInfo=new Ve(eS.getTexture("UI_MINE","Base_Title_info.png")),this.titleInfo.x=0,this.titleInfo.y=this.bg.y+this.bg.height-i-i,this.addChild(this.titleInfo),this.lblTitle=new bD(QG.getText("GAME_1203","화석 발굴"),AL.COLOR_WHITE,AL.WHITE_OUTLINE_FONT_OPTION_22),this.lblTitle.textSize=23,this.lblTitle.x=52,this.lblTitle.y=this.titleUp.y+.5*(this.titleUp.height-this.lblTitle.height)-3,this.addChild(this.lblTitle),this.btnGuide=new YB("UI_Ekkorr","UI_Alarm"),this.btnGuide.onClick=()=>{
- ,this.fossilLabel=new wD(YG.getText("GAME_1220","감지된 화석"),n.fill,n),this.fossilLabel.x=30,this.fossilLabel.y=this.fossilLabelBg.y+.5*(this.fossilLabelBg.height-this.fossilLabel.height)+1,this.fossilLabelContainer.addChild(this.fossilLabel),this.fossilLabelBg.width=this.fossilLabel.width+2*this.fossilLabel.x,this.uiBuilt=!0} + ,this.fossilLabel=new bD(QG.getText("GAME_1220","감지된 화석"),n.fill,n),this.fossilLabel.x=30,this.fossilLabel.y=this.fossilLabelBg.y+.5*(this.fossilLabelBg.height-this.fossilLabel.height)+1,this.fossilLabelContainer.addChild(this.fossilLabel),this.fossilLabelBg.width=this.fossilLabel.width+2*this.fossilLabel.x,this.addChild(this.mine4XBoxContainer),this.mine4XBoxContainer.y=this.mine4xContainer.y+60,this.uiBuilt=!0}
- ,await a.startGame(),(r.length>0||o.length>0)&&a.applyDiscovered(r,o),this.positionMineMain(a),this.refreshHeader(),this.refreshRevealedChests(),this.refreshEventTimerConfig(),this.startEventTimer(),this.x=.5*(qA.stageWidth-t.OUTER_W); + ,await a.startGame(),(r.length>0||o.length>0)&&a.applyDiscovered(r,o),this.positionMineMain(a),this.mine4xClicked=0,this.refreshHeader(),this.refreshRevealedChests(),this.refreshEventTimerConfig(),this.startEventTimer(),this.x=.5*(YA.stageWidth-t.OUTER_W);
+ set mine4xClicked(t){ + t!=this._mine4xClicked&&(this._mine4xClicked=t,wB.getInstance().mine4XEnabled=1==t,t?(this.btnMine4XOn.visible=!0,this.btnMine4XOff.visible=!1):(this.btnMine4XOn.visible=!1,this.btnMine4XOff.visible=!0))} + get mine4xClicked(){ + return this._mine4xClicked} + ensuremine4XInfoBox(){ + if(this.mine4XInfoBox)return; + const t=new Ve; + t.texture=eS.getTexture("UI_MINE","4x_info_bg.png"),t.x=600-t.width-20,t.y=-20,t.eventMode="static",t.cursor="pointer",t.on("pointertap",()=>this.hideMine4XInfo()); + const i=this.makeLabel(QG.getText("GAME_1663","망치 사용 비교"),20,16644251); + i.x=.5*(t.width-i.width),i.y=40,t.addChild(i); + const s=new Ve; + s.texture=eS.getTexture("UI_MINE","4x_info_divider_horizontal.png"),s.x=.5*(t.width-s.width),s.y=i.y+i.height+5,t.addChild(s); + const e=new c6t; + e.setData(!1),e.x=5+.5*(.5*t.width-e.width),e.y=s.y+7,t.addChild(e); + const n=new Ve; + n.texture=eS.getTexture("UI_MINE","4x_info_divider_vertical.png"),n.scale=.7,n.x=.5*(t.width-n.width),n.y=e.y+.5*(e.height-n.height),t.addChild(n); + const h=new c6t; + h.setData(!0),h.x=.5*t.width+.5*(.5*t.width-e.width)-5,h.y=e.y,t.addChild(h); + const r=new Ve; + r.texture=eS.getTexture("UI_MINE","4x_info_divider_horizontal.png"),r.x=.5*(t.width-r.width),r.y=e.y+e.height+5,t.addChild(r); + const o=this.makeLabel(QG.getText("GAME_1668","숫자는 타일에 주는 피해량입니다."),15,AL.COLOR_WHITE); + o.setWrapWidth(t.width-60),o.align="center",o.x=.5*(t.width-o.width),o.y=r.y+.5*(t.height-r.y-10-o.height),t.addChild(o),this.mine4XBoxContainer.addChild(t),this.mine4XInfoBox=t} + toggleMine4XInfo(){ + var t; + (null==(t=this.mine4XInfoBox)?void 0:t.visible)?this.hideMine4XInfo():(this.ensuremine4XInfoBox(),this.mine4XInfoBox.visible=!0)} + hideMine4XInfo(){ + this.mine4XInfoBox&&(this.mine4XInfoBox.visible=!1)} + makeLabel(t,i,s){ + const e=new bD(t,s,AL.DEFAULT_OUTLINE_FONT_OPTION_16); + return e.textSize=i,e}
- qt(c3t,"MinePopup"),Yt(c3t,"instance"),Yt(c3t,"OUTER_W",594),Yt(c3t,"BG_W",574),Yt(c3t,"OVERLAP",5),Yt(c3t,"HUD_W",526),Yt(c3t,"HUD_H",50),Yt(c3t,"EVENT_END_TIME_KEY","MINE_EVENT_END_TIME"),Yt(c3t,"EXP_BAR_X",76),Yt(c3t,"EXP_BAR_Y",15),Yt(c3t,"EXP_BAR_W",222),Yt(c3t,"EXP_BAR_H",20),Yt(c3t,"GRID_TOP_PAD",118),Yt(c3t,"GRID_BOTTOM_PAD",42); + Xt(d6t,"MinePopup"),Yt(d6t,"instance"),Yt(d6t,"OUTER_W",594),Yt(d6t,"BG_W",574),Yt(d6t,"OVERLAP",5),Yt(d6t,"HUD_W",526),Yt(d6t,"HUD_H",50),Yt(d6t,"EVENT_END_TIME_KEY","MINE_EVENT_END_TIME"),Yt(d6t,"EXP_BAR_X",76),Yt(d6t,"EXP_BAR_Y",15),Yt(d6t,"EXP_BAR_W",222),Yt(d6t,"EXP_BAR_H",20),Yt(d6t,"GRID_TOP_PAD",133),Yt(d6t,"GRID_BOTTOM_PAD",42); + let f6t=d6t; + const p6t=class extends ZXt{ + constructor(t){ + super(t),Yt(this,"index",-1),this.setTexture({ + texture:eS.getTexture("UI_Ekkorr","Popup_Bg_04"),leftWidth:12,topHeight:12,rightWidth:12,bottomHeight:12} + ),this._padding=10,this.width=75,this.height=34,this.textSize=16,this.minWidth=70,this.resizable=!0,this.activatedTextColor=16750848,this.deactivatedTextColor=14988422} + onDown(t){ + this.container.scale=.9} + onUp(t){ + this.container.scale=1} + onTap(t){ + mG.getInstance().playSFX(mG.SFX_NORMAL_CLICK),dG(),this.onClick&&this.onClick(this.index)} + } + ; + Xt(p6t,"PresetSelectButton"); + let g6t=p6t; + const m6t=class extends He{ + constructor(){ + super(),Yt(this,"titleIcon"),Yt(this,"titleLbl"),Yt(this,"btnMove"),Yt(this,"btns"),Yt(this,"container"),Yt(this,"lblMessage"),Yt(this,"selectedValue",-1),this.titleIcon=new Ve(eS.getTexture("UI_Ekkorr","Gage_Item_pointer")),this.titleIcon.scale.y=.8,this.addChild(this.titleIcon); + const t=AL.MENU_LABEL_OPTION; + let i; + t.fill=16771263,t.fontSize=18,this.titleLbl=new bD("프리셋",t.fill,t),this.addChild(this.titleLbl),this.btnMove=new YB("UI_Ekkorr","Btn_Move"),this.addChild(this.btnMove),this.btnMove.onClick=this.onMoveBtnClick.bind(this),this.btns=[]; + for(let e=0; + e<5; + ++e)i=new g6t(`프리셋${ + e+1} + `),i.index=e,this.addChild(i),this.btns.push(i),i.onClick=this.onPresetBtnClick.bind(this); + this.container=new He,this.addChild(this.container); + const s=AL.DEFAULT_FONT_OPTION_17; + s.fill=13421772,s.fontWeight="normal",s.align="center",this.lblMessage=new bD(QG.getText("GAME_1669","선택한 프리셋이 없습니다."),s.fill,s),this.lblMessage.visible=!1,this.addChild(this.lblMessage),AL.setLabelWrapWidth(this.lblMessage,520),this.updateLayout()} + updateLayout(){ + this.titleLbl.x=this.titleIcon.x+this.titleIcon.width+5,this.titleLbl.y=.5*(this.titleIcon.height-this.titleLbl.height)-3,this.btnMove.x=this.titleLbl.x+this.titleLbl.width+10,this.btnMove.y=this.titleLbl.y+.5*(this.titleLbl.height-this.btnMove.height); + let t=this.titleIcon.x,i=this.titleIcon.y+this.titleIcon.height+5; + const s=this.btns.length; + for(let e=0; + e<s; + ++e)this.btns[e].x=t,this.btns[e].y=i,t+=this.btns[e].width+5; + this.container.x=this.titleIcon.x,this.container.y=i+this.btns[0].height+10,this.lblMessage.x=.5*(520-this.lblMessage.width),this.lblMessage.y=this.container.y+50} + setData(){ + } + onMoveBtnClick(){ + } + onPresetBtnClick(t){ + } + showMessage(t){ + this.lblMessage.text=t,this.lblMessage.x=.5*(520-this.lblMessage.width),this.lblMessage.y=this.container.y+50,this.lblMessage.visible=!0,this.container.visible=!1} + hideMessage(){ + this.lblMessage.visible=!1,this.container.visible=!0} + isChanged(){ + return!1} + getSelectedValue(){ + return this.selectedValue} + } + ; + Xt(m6t,"BasePresetPart"); + let w6t=m6t; + const v6t=class extends w6t{ + constructor(){ + let t; + super(),Yt(this,"icons"),this.icons=[]; + for(let i=0; + i<10; + ++i)t=new D3,t.scale=.8,t.x=i%5*(t.width+5),t.y=Math.floor(i/5)*(t.height+3),this.container.addChild(t),this.icons.push(t)} + get height(){ + return 230} + update(t){ + if(this.btns.forEach(i=>{ + i.activated=i.index===t} + ),-1===t)return void this.showMessage(QG.getText("GAME_1669","선택한 프리셋이 없습니다.")); + this.hideMessage(); + const i=Ax.getInstance(),s=[...i.heroPresets[t].team]; + s.sort((t,s)=>{ + var e,n,h,r; + if(t.enhance!==s.enhance)return s.enhance-t.enhance; + const o=(null==(e=i.getBookVO(t.kindNum))?void 0:e.grade)??-1,a=(null==(n=i.getBookVO(s.kindNum))?void 0:n.grade)??-1; + return o!==a?a-o:((null==(h=i.getBookVO(t.kindNum))?void 0:h.tribe)??-1)-((null==(r=i.getBookVO(s.kindNum))?void 0:r.tribe)??-1)} + ); + const e=s.length,n=this.icons.length; + for(let h=0; + h<n; + ++h)h<e?(this.icons[h].setDataWithKindNum(s[h].kindNum,s[h].trans,s[h].enhance),this.icons[h].visible=!0):this.icons[h].visible=!1} + getSlotDisplayLabel(t){ + const i=Ax.getInstance().heroPresets[t]; + return i&&i.label&&i.label.length>0?i.label:this.getSlotName(t)} + getSlotName(t){ + const i=t+1; + return QG.getValueReplace("GAME_744","##",String(i),`${ + i} + 번`)} + setData(){ + this.titleLbl.text=QG.getText("GAME_1636","영웅 프리셋"); + const t=Ax.getInstance(); + let i; + const s=this.btns.length; + for(let h=0; + h<s; + ++h){ + i=this.btns[h],i.text=this.getSlotDisplayLabel(h); + try{ + const s=t.heroPresets[h]; + s&&0!==s.team.length?i.deactivatedTextColor=14988422:i.deactivatedTextColor=8947848} + catch(n){ + i.deactivatedTextColor=14988422} + } + const e=t.getActiveHeroPresetSlot(); + this.selectedValue=e,this.update(e),this.updateLayout()} + onMoveBtnClick(){ + O6t.getInstance().hide(),x3t.getInstance().goHeroPreset()} + onPresetBtnClick(t){ + const i=Ax.getInstance().heroPresets[t]; + i&&0!==i.team.length?t!==this.selectedValue&&(this.selectedValue=t,this.update(t),O6t.getInstance().onHeroPresetSelect(t)):rH.getInstance().showMessage(QG.getText("GAME_1644","비어있는 슬롯입니다."))} + isChanged(){ + return-1!==this.selectedValue&&Ax.getInstance().getActiveHeroPresetSlot()!==this.selectedValue} + } + ; + Xt(v6t,"HeroPresetPart"); + let _6t=v6t; + const b6t=class extends ix{ + constructor(){ + let t; + super(),Yt(this,"icons",[]),Yt(this,"posList",[]),Yt(this,"kindNumArray",[]); + for(let i=0; + i<6; + i++)t=new B3,t.scale=.78,t.x=7+i*Math.floor(.78*t.width+15),t.y=7,this.addChild(t),this.icons.push(t),this.posList.push(t.x); + this.posList.push(435)} + get width(){ + return 435} + get height(){ + return 70} + setData(t){ + const i=t; + if(!i)return; + this.kindNumArray=i; + const s=mx.getInstance(); + let e; + const n=this.icons.length; + for(let h=0; + h<n; + h++)if(e=this.icons[h],h<i.length){ + const t=i[h],n=s.getBookVO(t),r=s.getPetVO(t); + n&&r&&r.grade>0?e.setPet(n.kindNum,r.grade):n&&r&&r.piece>0?e.setInactive(n.kindNum):e.setEmpty(),e.visible=!0} + else e.visible=!1} + onClick(t,i){ + const s=mx.getInstance(); + for(let e=0; + e<this.icons.length; + e++)if(t>this.posList[e]&&t<this.posList[e+1]){ + if(e<this.kindNumArray.length&&this.icons[e].visible){ + const t=this.kindNumArray[e],i=s.getPetVO(t); + if(!i)return; + if(i.grade<1)return void rH.getInstance().showMessage(QG.getText("GAME_1660","1★이 되면 대표 펫으로 설정할 수 있습니다.")); + const n=this.icons[e].x,h=this.icons[e].y; + S6t.getInstance().show(this,n,h),O6t.getInstance().onPetSelect(t)} + break} + } + } + ; + Xt(b6t,"FavoritePetItemRenderer"); + let M6t=b6t; + const y6t=class extends w6t{ + constructor(){ + super(),Yt(this,"representIcon"),Yt(this,"favoriteList"),Yt(this,"favoriteListBg"),this.btns.forEach(t=>{ + t.removeFromParent()} + ),this.representIcon=new B3,this.representIcon.scale=.78,this.representIcon.x=this.titleIcon.x+10,this.representIcon.y=this.titleIcon.y+this.titleIcon.height+10+10+6,this.addChild(this.representIcon),this.favoriteListBg=new ky({ + texture:eS.getTexture("UI_Ekkorr","Popup_Bg_03"),leftWidth:30,topHeight:30,rightWidth:30,bottomHeight:30} + ),this.favoriteListBg.alpha=.7,this.favoriteListBg.width=435,this.favoriteListBg.height=200,this.container.addChild(this.favoriteListBg),this.favoriteList=new Z3(M6t,this.favoriteListBg.width,195,0),this.favoriteList.x=10,this.favoriteList.y=10,this.container.addChild(this.favoriteList),AL.setLabelWrapWidth(this.lblMessage,this.favoriteListBg.width)} + get height(){ + return 245} + updateLayout(){ + this.titleLbl.x=this.titleIcon.x+this.titleIcon.width+5,this.titleLbl.y=.5*(this.titleIcon.height-this.titleLbl.height)-3,this.btnMove.x=this.titleLbl.x+this.titleLbl.width+10,this.btnMove.y=this.titleLbl.y+.5*(this.titleLbl.height-this.btnMove.height),this.representIcon?this.container.x=this.representIcon.x+this.representIcon.width+10:this.container.x=this.titleIcon.x,this.container.y=this.titleIcon.y+this.titleIcon.height+10,this.lblMessage&&this.favoriteListBg&&(this.lblMessage.x=this.container.x+.5*(this.favoriteListBg.width-this.lblMessage.width)),this.lblMessage.y=this.container.y+20} + update(){ + const t=mx.getInstance(); + this.updateRepresentIcon(t.representPet); + const i=[...t.favoritePets]; + if(0===i.length){ + const t=QG.getText("GAME_1638","설정한 선호 펫이 없습니다.")+"\n"+QG.getText("GAME_1639","펫 목록에서 선호 펫을 설정해 보세요."); + return void this.showMessage(t)} + this.hideMessage(),i.sort((i,s)=>{ + var e,n,h,r; + const o=(null==(e=t.getPetVO(i))?void 0:e.grade)??-1,a=(null==(n=t.getPetVO(s))?void 0:n.grade)??-1; + if(a!==o)return a-o; + const c=(null==(h=t.getPetVO(i))?void 0:h.piece)??-1; + return((null==(r=t.getPetVO(s))?void 0:r.piece)??-1)-c} + ),this.favoriteList.dataProvider=hx.chunkArray(i,6)} + updateRepresentIcon(t){ + const i=mx.getInstance(); + if(t>0){ + const s=i.getBookVO(t),e=i.getPetVO(t); + s&&e&&e.grade>0?this.representIcon.setPet(s.kindNum,e.grade):this.representIcon.setEmpty()} + else this.representIcon.setEmpty()} + onPetSelect(t){ + t!==this.selectedValue&&(this.selectedValue=t,mx.getInstance(),this.updateRepresentIcon(t))} + setData(){ + this.titleLbl.text=QG.getText("GAME_573","대표 펫"); + const t=mx.getInstance(); + this.selectedValue=t.representPet,this.update(),this.updateLayout()} + onMoveBtnClick(){ + O6t.getInstance().hide(),x3t.getInstance().goPetList()} + showMessage(t){ + super.showMessage(t),this.favoriteListBg&&(this.lblMessage.x=this.container.x+.5*(this.favoriteListBg.width-this.lblMessage.width)),this.lblMessage.y=this.container.y+20} + isChanged(){ + return-1!==this.selectedValue&&mx.getInstance().representPet!==this.selectedValue} + } + ; + Xt(y6t,"PetPresetPart");
BurntEffect1 1 hunks, 187 statements
- const $j=[yH.RaidBuffSkillEffect1,yH.RaidBuffSkillEffect2,yH.RaidBuffSkillEffect3,yH.RaidBuffSkillEffect4,yH.RaidBuffSkillEffect5],Wj=class{ + const Kj=[SH.RaidBuffSkillEffect1,SH.RaidBuffSkillEffect2,SH.RaidBuffSkillEffect3,SH.RaidBuffSkillEffect4,SH.RaidBuffSkillEffect5],zj=class extends CH{ + constructor(){ + super(SH.BurntEffect1),this._textureName="BurntEffect",this._sheetName="Game2",this.orgScale=1,this.loop=!0} + } + ; + Xt(zj,"BurntEffect1"); + let qj=zj; + const Xj=class extends CH{ + constructor(){ + super(SH.BurnEffect1),this._textureName="BurnEffect1",this._sheetName="Game",this.orgScale=1,this.loop=!0} + } + ; + Xt(Xj,"BurnEffect1"); + let Yj=Xj; + const Jj=class extends CH{ + constructor(){ + super(SH.FireSpiritExplosion1),this._textureName="FireExplosion",this._sheetName="Game2",this.orgScale=1.5,this.loop=!1} + start(t){ + this.alpha=1,this.scale.set(this.orgScale),super.start(t)} + } + ; + Xt(Jj,"FireSpiritExplosion1"); + let Qj=Jj; + const Zj=class t extends CH{ + constructor(){ + super(SH.FireSpiritPillar1),Yt(this,"layers",[]),Yt(this,"frames",[]),Yt(this,"spins",[]),Yt(this,"phases",[]),Yt(this,"texCount",0),Yt(this,"t",0),Yt(this,"fadingOut",!1),Yt(this,"fadeT",0),this._textureName="FireTornado",this._sheetName="Game2",this.orgScale=1,this.loop=!0} + async createUI(){ + if(eS.hasSheet(this._sheetName)||await super.createUI(),this.layers.length>0)return; + const i=eS.getTextures(this._sheetName,this._textureName); + if(this.texCount=i.length,0!==this.texCount)for(let s=0; + s<t.LAYERS; + s++){ + const e=new Kf(i); + e.anchor.set(.5,1); + const n=t.BASE_SCALE*Math.pow(t.TAPER,s); + e.scale.set(n),e.y=-s*t.LAYER_GAP,e.blendMode="add",e.gotoAndStop(0),this.addChild(e),this.layers.push(e),this.frames.push(this.texCount/t.LAYERS*s),this.spins.push(t.SPIN_BASE+t.SPIN_STEP*s),this.phases.push(2*Math.PI*s/t.LAYERS)} + } + start(t){ + this.t=0,this.fadingOut=!1,this.fadeT=0,this.alpha=0,this.scale.set(this.orgScale),super.start(t)} + fadeOut(){ + this.fadingOut||(this.fadingOut=!0,this.fadeT=t.FADE_FRAMES)} + onEnter(){ + if(!this.removed){ + if(this.t++,this.fadingOut){ + if(this.fadeT--,this.alpha=Math.max(0,this.fadeT/t.FADE_FRAMES),this.fadeT<=0)return void this.remove()} + else this.alpha<1&&(this.alpha=Math.min(1,this.alpha+1/t.FADE_FRAMES)); + for(let i=0; + i<this.layers.length; + i++){ + const s=this.layers[i]; + this.frames[i]+=this.spins[i],this.frames[i]>=this.texCount&&(this.frames[i]-=this.texCount),s.gotoAndStop(Math.floor(this.frames[i])),s.x=Math.sin(this.t*t.SWAY_FREQ+this.phases[i])*t.SWAY_AMP*(i+1)*.5} + } + } + } + ; + Xt(Zj,"FireSpiritPillar1"),Yt(Zj,"LAYERS",3),Yt(Zj,"BASE_SCALE",1.15),Yt(Zj,"TAPER",.82),Yt(Zj,"LAYER_GAP",52),Yt(Zj,"SPIN_BASE",.55),Yt(Zj,"SPIN_STEP",.14),Yt(Zj,"SWAY_AMP",5),Yt(Zj,"SWAY_FREQ",.13),Yt(Zj,"FADE_FRAMES",8); + let tV=Zj; + const iV=class t extends CH{ + constructor(){ + super(SH.FireSpiritEmber1),Yt(this,"startScale",1),this._textureName="FireAttack",this._sheetName="Game2",this.orgScale=.7,this.loop=!0,this.incFrame=.5} + start(t){ + this.alpha=1,this.startScale=this.scale.x||this.orgScale,super.start(t)} + onEnter(){ + if(super.onEnter(),!this.removed&&this.count<t.FADE_FRAMES){ + const i=Math.max(0,this.count/t.FADE_FRAMES); + this.alpha=i; + const s=this.startScale*(.45+.55*i); + this.scale.set(s)} + } + } + ; + Xt(iV,"FireSpiritEmber1"),Yt(iV,"FADE_FRAMES",20); + let sV=iV; + const eV=class t extends CH{ + constructor(){ + super(SH.FireSpiritOrbit1),Yt(this,"scatterVX",0),Yt(this,"scatterVY",0),Yt(this,"scattering",!1),Yt(this,"scatterLife",1),Yt(this,"scatterT",0),this._textureName="FireTornado",this._sheetName="Game2",this.orgScale=.42,this.loop=!0,this.incFrame=t.BASE_INC} + start(i){ + this.alpha=1,this.scattering=!1,this.scatterT=0,this.incFrame=t.BASE_INC,super.start(i),this.setHeat(0)} + setHeat(i){ + const s=i<0?0:i>1?1:i; + if(this.incFrame=t.BASE_INC+t.HEAT_INC*s,!this.sp)return; + const e=t.COOL,n=t.HOT,h=Math.round(e.r+(n.r-e.r)*s),r=Math.round(e.g+(n.g-e.g)*s),o=Math.round(e.b+(n.b-e.b)*s); + this.sp.tint=h<<16|r<<8|o} + scatter(t,i,s){ + this.scattering=!0,this.scatterVX=t,this.scatterVY=i,this.scatterLife=Math.max(1,s),this.scatterT=0,this.count=this.scatterLife} + onEnter(){ + if(super.onEnter(),this.removed||!this.scattering)return; + const t=1-this.scatterT/this.scatterLife; + this.x+=this.scatterVX*t,this.y+=this.scatterVY*t,this.alpha=t*t,this.scale.set(this.orgScale*(.35+.65*t)),++this.scatterT>=this.scatterLife&&this.remove()} + } + ; + Xt(eV,"FireSpiritOrbit1"),Yt(eV,"BASE_INC",.55),Yt(eV,"HEAT_INC",.85),Yt(eV,"COOL",{ + r:255,g:210,b:160} + ),Yt(eV,"HOT",{ + r:255,g:255,b:255} + ); + let nV=eV; + const hV=class extends CH{ + constructor(){ + super(SH.GriffinSpearFlash1),this._textureName="SpearEffect",this._sheetName="Game2",this.orgScale=1.5,this.loop=!1,this.incFrame=0} + start(t){ + this.alpha=1,this.scale.set(this.orgScale),super.start(t)} + onEnter(){ + super.onEnter(),this.removed||(this.scale.set(1.045*this.scale.x,1.045*this.scale.y),this.alpha-=.08,this.alpha<=0&&this.remove())} + } + ; + Xt(hV,"GriffinSpearFlash1"); + let rV=hV; + const oV=class t extends CH{ + constructor(){ + super(SH.MedusaCoilSnake1),Yt(this,"coilOwner",null),Yt(this,"orbitAngle",0),Yt(this,"radius",24),this._textureName="MedusaArrow",this._sheetName="Game2",this.orgScale=.6,this.loop=!0} + setupCoil(t,i,s){ + this.coilOwner=t,this.orbitAngle=i,this.radius=s} + onEnter(){ + var i; + if(this.removed)return; + if(!this.coilOwner||this.coilOwner.removed)return void this.remove(); + this.orbitAngle+=t.ORBIT_SPEED; + const s=Math.cos(this.orbitAngle)*this.radius,e=Math.sin(this.orbitAngle)*this.radius*.5; + this.x=this.coilOwner.x+s,this.y=this.coilOwner.y-.4*this.coilOwner.hitHeight+e; + const n=this.orbitAngle+Math.PI/2; + this.scale.x=this.orgScale*(Math.cos(n)>=0?-1:1),this.scale.y=this.orgScale,this.currentFrame+=this.incFrame,this.currentFrame>=this.endFrame&&(this.currentFrame=0),null==(i=this.sp)||i.gotoAndStop(Math.floor(this.currentFrame))} + } + ; + Xt(oV,"MedusaCoilSnake1"),Yt(oV,"ORBIT_SPEED",.03); + let aV=oV; + const cV=class t extends CH{ + constructor(){ + super(SH.MedusaSnakeCrawl1),Yt(this,"crawlOwner",null),Yt(this,"life",0),this._textureName="MedusaArrow",this._sheetName="Game2",this.orgScale=1,this.loop=!0} + setupCrawl(t,i,s,e){ + this.x=t,this.y=i,this.crawlOwner=s,this.life=e} + onEnter(){ + var i; + if(this.removed)return; + if(this.life--,this.life<=0||!this.crawlOwner||this.crawlOwner.removed)return void this.remove(); + const s=this.crawlOwner.x-this.x,e=this.crawlOwner.y-this.y,n=Math.sqrt(s*s+e*e); + if(n<t.ARRIVE)return void this.remove(); + const h=Math.min(t.SPEED,n); + this.x+=s/n*h,this.y+=e/n*h,this.scale.x=this.orgScale*(s>=0?-1:1),this.scale.y=this.orgScale,this.currentFrame+=this.incFrame,this.currentFrame>=this.endFrame&&(this.currentFrame=0),null==(i=this.sp)||i.gotoAndStop(Math.floor(this.currentFrame))} + } + ; + Xt(cV,"MedusaSnakeCrawl1"),Yt(cV,"SPEED",4),Yt(cV,"ARRIVE",20); + let lV=cV; + const uV=class extends CH{ + constructor(){ + super(SH.MedusaSnakeStuck1),this._textureName="MedusaArrow",this._sheetName="Game2",this.orgScale=1,this.loop=!0} + } + ; + Xt(uV,"MedusaSnakeStuck1"); + let dV=uV; + const fV=class extends CH{ + constructor(){ + super(SH.NagaFrost1),this._textureName="NagaIce2",this._sheetName="Game2",this.orgScale=1,this.loop=!1,this.incFrame=1.5,this.holdLastFrame=!0,this.holdLastFrameOffset=16} + } + ; + Xt(fV,"NagaFrost1"); + let pV=fV; + const gV=class t extends CH{ + constructor(){ + super(SH.NagaIceSegment1),Yt(this,"exploding",!1),Yt(this,"formDelay",0),this._textureName="NagaIce1",this._sheetName="Game2",this.orgScale=.5,this.loop=!1,this.incFrame=1} + async createUI(){ + await super.createUI(),this.sp&&(this.sp.tint=t.TINT)} + start(t){ + this.exploding=!1,this.formDelay=0,this.visible=!0,this.scale.set(this.orgScale),super.start(t)} + setFormDelay(t){ + this.formDelay=Math.max(0,t),this.formDelay>0&&(this.visible=!1)} + shatter(i=1){ + if(this.exploding=!0,this.formDelay=0,this.visible=!0,1!==i){ + const t=this.scale.x; + this.scale.set(t*i,this.scale.y*i)} + this.currentFrame<t.GROWN_FRAME&&(this.currentFrame=t.GROWN_FRAME)} + onEnter(){ + var i,s; + if(!this.exploding)return this.formDelay>0?(this.formDelay--,void(this.visible=!1)):(this.visible=!0,this.currentFrame<t.GROWN_FRAME&&(this.currentFrame+=this.incFrame,this.currentFrame>t.GROWN_FRAME&&(this.currentFrame=t.GROWN_FRAME)),void(null==(i=this.sp)||i.gotoAndStop(Math.floor(this.currentFrame)))); + this.currentFrame+=this.incFrame,this.currentFrame>=this.endFrame?this.remove():null==(s=this.sp)||s.gotoAndStop(Math.floor(this.currentFrame))} + } + ; + Xt(gV,"NagaIceSegment1"),Yt(gV,"GROWN_FRAME",32),Yt(gV,"TINT",15529212); + let mV=gV; + const wV=class extends mV{ + constructor(){ + super(),this.className=SH.NagaIceSegment2,this._textureName="NagaIce2"} + } + ; + Xt(wV,"NagaIceSegment2"); + let vV=wV; + const _V=class{
PetPresetIndicator 1 hunks, 141 statements
- super(),Yt(this,"btnDungeon",new KB("UI_Ekkorr","HeroGrade6")),Yt(this,"btnIdle",new KB("UI_Ekkorr","HeroGrade4")),Yt(this,"btnMap3",new KB("UI_Ekkorr","HeroGrade2")),Yt(this,"btnMap4",new KB("UI_Ekkorr","HeroGrade16")),Yt(this,"btnRaidBosses",[]),Yt(this,"btnBuff",new KB("UI_Ekkorr","HeroGrade10")),Yt(this,"btnMine",new KB("UI_Ekkorr","HeroGrade12")),Yt(this,"btnCardEvent",new KB("UI_Ekkorr","HeroGrade14")),Yt(this,"btnConquest",new KB("UI_Ekkorr","HeroGrade8")),Yt(this,"btnPowerSave",new KB("UI_Ekkorr","PowerOff")),Yt(this,"healthOrb",u0t.getInstance()),Yt(this,"waveCallInfo",w0t.getInstance()),Yt(this,"timeShiftGauge",new g0t),Yt(this,"btnWaveSetting",new KB("UI_Ekkorr","smallSetting")),Yt(this,"waveSettingFrameCnt",0),this.healthOrb.x=640-.5*this.healthOrb.width-3,this.healthOrb.y=13,this.addChild(this.healthOrb),this.waveCallInfo.x=10,this.waveCallInfo.y=t.WAVE_CALL_BASE_Y,this.addChild(this.waveCallInfo),this.waveCallInfo.eventMode="static",this.waveCallInfo.on("pointerup",this.getNextWave,this),this.waveCallInfo.start(),this.timeShiftGauge.x=this.waveCallInfo.x+62,this.timeShiftGauge.y=this.waveCallInfo.y,this.addChild(this.timeShiftGauge),this.btnWaveSetting.x=this.timeShiftGauge.x+48+12,this.btnWaveSetting.y=this.waveCallInfo.y+.5*(40-this.btnWaveSetting.height),this.addChild(this.btnWaveSetting),this.btnWaveSetting.on("pointerup",this.onWaveSetting,this),this.btnWaveSetting.visible=!1,UM.getInstance().add(this.onWaveSettingFrame,this),Dzt.getInstance().x=0,Dzt.getInstance().y=-13,this.addChild(Dzt.getInstance()),Dzt.getInstance().onVisibilityChanged=t=>{ + super(),Yt(this,"indicator"),this.eventMode="none",this.indicator=new ky({ + texture:eS.getTexture("UI_Ekkorr","UI_SELECT"),leftWidth:25,topHeight:25,rightWidth:25,bottomHeight:25} + ),this.indicator.eventMode="none",this.indicator.x=-7,this.indicator.y=-7,this.indicator.width=73,this.indicator.height=73,this.addChild(this.indicator)} + static getInstance(){ + return this._instance||(this._instance=new t),this._instance} + show(t,i,s){ + this.x=i,this.y=s,t&&t.addChild(this)} + hide(){ + this.parent&&this.parent.removeChild(this)} + } + ; + Xt(A6t,"PetPresetIndicator"),Yt(A6t,"_instance"); + let S6t=A6t; + const T6t=class extends w6t{ + constructor(){ + super(),Yt(this,"icons"),this.icons=[]; + const t=.78; + let i; + for(let s=0; + s<15; + ++s)i=new IJt,i.scale=t,i.x=s%8*Math.floor(i.width*t+12),i.y=Math.floor(s/8)*Math.floor(i.height*t+12),this.container.addChild(i),this.icons.push(i)} + get height(){ + return 230} + update(t){ + if(this.btns.forEach(i=>{ + i.activated=i.index===t} + ),-1===t)return void this.showMessage(QG.getText("GAME_1669","선택한 프리셋이 없습니다.")); + this.hideMessage(); + const i=Xx.getInstance(),s=i.presets,e=s[t].kindNums.map((i,e)=>({ + kindNum:i,enhance:s[t].enhances[e]} + )); + e.sort((t,s)=>{ + var e,n,h,r; + const o=t.kindNum,a=s.kindNum,c=nR.getInstance(),l=c.getSetsByTreasureKindNum(o),u=c.getSetsByTreasureKindNum(a),d=0==l.length; + if(d!=(0==u.length))return d?1:-1; + const f=(null==(e=i.getBookDataByKindNum(o))?void 0:e.grade)??-1,p=(null==(n=i.getBookDataByKindNum(a))?void 0:n.grade)??-1; + if(f!=p)return p-f; + const g=l.length>0?l[0].kindNum:0,m=u.length>0?u[0].kindNum:0; + if(g!=m)return m-g; + const w=(null==(h=i.getBookDataByKindNum(o))?void 0:h.sortId)??-1; + return((null==(r=i.getBookDataByKindNum(a))?void 0:r.sortId)??-1)-w} + ); + const n=e.length,h=this.icons.length; + for(let r=0; + r<h; + ++r)r<n?(this.icons[r].setDataWithKindNum(e[r].kindNum,0,e[r].enhance),this.icons[r].visible=!0):this.icons[r].visible=!1} + getSlotDisplayLabel(t){ + const i=Xx.getInstance().presets[t]; + return i&&i.label&&i.label.length>0?i.label:this.getSlotName(t)} + getSlotName(t){ + const i=t+1; + return QG.getValueReplace("GAME_744","##",String(i),`${ + i} + 번`)} + setData(){ + this.titleLbl.text=QG.getText("GAME_1637","유물 프리셋"); + const t=Xx.getInstance(); + let i; + const s=this.btns.length; + for(let h=0; + h<s; + ++h){ + i=this.btns[h],i.text=this.getSlotDisplayLabel(h); + try{ + t.presets[h].hasEntries?i.deactivatedTextColor=14988422:i.deactivatedTextColor=8947848} + catch(n){ + i.deactivatedTextColor=14988422} + } + const e=t.getActivePresetSlot(); + this.selectedValue=e,this.update(e),this.updateLayout()} + onMoveBtnClick(){ + O6t.getInstance().hide(),x3t.getInstance().goTreasurePreset()} + onPresetBtnClick(t){ + Xx.getInstance().presets[t].hasEntries?t!==this.selectedValue&&(this.selectedValue=t,this.update(t),O6t.getInstance().onTreasurePresetSelect(t)):rH.getInstance().showMessage(QG.getText("GAME_1644","비어있는 슬롯입니다."))} + isChanged(){ + return-1!==this.selectedValue&&Xx.getInstance().getActivePresetSlot()!==this.selectedValue} + } + ; + Xt(T6t,"TreasurePresetPart"); + let C6t=T6t; + const I6t=class t extends RG{ + constructor(){ + super(),Yt(this,"heroPreset"),Yt(this,"treasurePreset"),Yt(this,"petPreset"),Yt(this,"btnConfirm"),Yt(this,"btnCancel"),Yt(this,"requestPending",!1),this.title=QG.getText("GAME_1635","통합 프리셋"),this.heroPreset=new _6t,this.heroPreset.x=30,this.heroPreset.y=70,this.addChild(this.heroPreset),this.treasurePreset=new C6t,this.treasurePreset.x=this.heroPreset.x,this.treasurePreset.y=this.heroPreset.y+this.heroPreset.height+30,this.addChild(this.treasurePreset),this.petPreset=new E6t,this.petPreset.x=this.heroPreset.x,this.petPreset.y=this.treasurePreset.y+this.treasurePreset.height+30,this.addChild(this.petPreset),this.btnConfirm=new TG("저장"),this.addChild(this.btnConfirm),this.btnConfirm.onClick=this.onConfirmClick.bind(this),this.btnCancel=new pjt("취소"),this.addChild(this.btnCancel),this.btnCancel.onClick=this.onCancelClick.bind(this),this.updateLayout()} + static getInstance(){ + return this._instance||(this._instance=new t),this._instance} + updateLayout(){ + this.btnConfirm.x=.5*(this.width-this.btnConfirm.width-this.btnCancel.width-20),this.btnCancel.x=this.btnConfirm.x+this.btnConfirm.width+20,this.btnConfirm.y=this.petPreset.y+this.petPreset.height+30,this.btnCancel.y=this.btnConfirm.y,this.height=this.btnConfirm.y+this.btnConfirm.height+40} + setData(){ + this.title=QG.getText("GAME_1635","통합 프리셋"),this.btnConfirm.text=QG.getText("GAME_527","저장"),this.btnCancel.text=QG.getText("COMMON_2","취소"),this.heroPreset.setData(),this.treasurePreset.setData(),this.petPreset.setData(),this.btnConfirm.activated=!1,S6t.getInstance().hide(),this.updateLayout()} + onHeroPresetSelect(t){ + this.updateConfirmBtn()} + onTreasurePresetSelect(t){ + this.updateConfirmBtn()} + onPetSelect(t){ + this.petPreset.onPetSelect(t),this.updateConfirmBtn()} + updateConfirmBtn(){ + this.heroPreset.isChanged()||this.treasurePreset.isChanged()||this.petPreset.isChanged()?this.btnConfirm.activated=!0:this.btnConfirm.activated=!1} + isAvailable(){ + VD.maxWave; + const t=Math.max(300,mx.getInstance().unlockWave),i=Xx.getInstance(); + return!(VD.maxWave<t||0==i.presetUnlocked)} + onCancelClick(){ + this.hide()} + async onConfirmClick(){ + if(1==this.requestPending)return; + this.setRequestPending(!0); + let t=!0; + this.heroPreset.isChanged()&&(t=await this.saveHeroPreset()); + let i=!0; + this.treasurePreset.isChanged()&&(i=await this.saveTreasurePreset()); + let s=!0; + this.petPreset.isChanged()&&(s=await this.savePetPreset()),t&&i&&s&&this.hide(),this.setRequestPending(!1)} + async saveHeroPreset(){ + if(!this.heroPreset.isChanged())return!1; + const t=Ax.getInstance(),i=t.list.map(t=>t.id),s=t.list.map(t=>t.level); + oYt.cancel(); + const e=this.heroPreset.getSelectedValue(),n=await ML.getInstance().hero.applyHeroPreset(e,!0,s); + if(!1===n.success)return $G.getInstance().showError(n),!1; + VD.setUserInfo(n.body),t.setLastAppliedHeroPresetSlot(e),bH.getInstance().updateAll(); + const h=hli.getInstance(),r=Tx.getVO(); + for(const o of i)r.id=o,h.fireHero(r); + r.remove(); + for(const o of t.list)await h.hireHero(o); + return fXt.getInstance().isHeroSubView()&&NYt.getInstance().setData(),!0} + async saveTreasurePreset(){ + if(!this.treasurePreset.isChanged())return!1; + const t=Xx.getInstance(),i=this.treasurePreset.getSelectedValue(),s=await ML.getInstance().treasure.applyPreset(i,!0); + return!1===s.success?($G.getInstance().showError(s,s.errorAdditional??null),!1):(VD.setUserInfo(s.body),t.setData(s.body.treasure,s.body.dungeon),bH.getInstance().updateAll(),fXt.getInstance().isTreasureSubView()&&f8t.getInstance().setData(),!0)} + async savePetPreset(){ + if(!this.petPreset.isChanged())return!1; + const t=this.petPreset.getSelectedValue(),i=await ML.getInstance().pet.setRepresentPet(t,!0); + return!1===i.success?($G.getInstance().showError(i),!1):(VD.setUserInfo(i.body),X1t.getInstance().setData(),fXt.getInstance().isHeroSubView()&&NYt.getInstance().setData(),!0)} + setRequestPending(t){ + this.requestPending=t} + } + ; + Xt(I6t,"PresetPopup"),Yt(I6t,"_instance"); + let O6t=I6t; + const k6t=class t extends He{ + constructor(){ + super(),Yt(this,"btnDungeon",new YB("UI_Ekkorr","HeroGrade6")),Yt(this,"btnIdle",new YB("UI_Ekkorr","HeroGrade4")),Yt(this,"btnMap3",new YB("UI_Ekkorr","HeroGrade2")),Yt(this,"btnMap4",new YB("UI_Ekkorr","HeroGrade16")),Yt(this,"btnRaidBosses",[]),Yt(this,"btnBuff",new YB("UI_Ekkorr","HeroGrade10")),Yt(this,"btnMine",new YB("UI_Ekkorr","HeroGrade12")),Yt(this,"btnCardEvent",new YB("UI_Ekkorr","HeroGrade14")),Yt(this,"btnConquest",new YB("UI_Ekkorr","HeroGrade8")),Yt(this,"btnPowerSave",new YB("UI_Ekkorr","PowerOff")),Yt(this,"healthOrb",c1t.getInstance()),Yt(this,"waveCallInfo",g1t.getInstance()),Yt(this,"timeShiftGauge",new f1t),Yt(this,"btnWaveSetting",new YB("UI_Ekkorr","smallSetting")),Yt(this,"btnAllPreset",new YB("UI_Ekkorr","AllPreset")),Yt(this,"waveSettingFrameCnt",0),Yt(this,"onReviveBind"),this.healthOrb.x=640-.5*this.healthOrb.width-3,this.healthOrb.y=13,this.addChild(this.healthOrb),this.waveCallInfo.x=10,this.waveCallInfo.y=t.WAVE_CALL_BASE_Y,this.addChild(this.waveCallInfo),this.waveCallInfo.eventMode="static",this.waveCallInfo.on("pointerup",this.getNextWave,this),this.waveCallInfo.start(),this.timeShiftGauge.x=this.waveCallInfo.x+62,this.timeShiftGauge.y=this.waveCallInfo.y,this.addChild(this.timeShiftGauge),this.btnWaveSetting.x=this.timeShiftGauge.x+48+12,this.btnWaveSetting.y=this.waveCallInfo.y+.5*(40-this.btnWaveSetting.height),this.addChild(this.btnWaveSetting),this.btnWaveSetting.on("pointerup",this.onWaveSetting,this),this.btnWaveSetting.visible=!1,Fy.getInstance().add(this.onWaveSettingFrame,this),Nqt.getInstance().x=0,Nqt.getInstance().y=-13,this.addChild(Nqt.getInstance()),Nqt.getInstance().onVisibilityChanged=t=>{
AttendanceAutoTrigger 7 hunks, 63 statements
- const Hci=3e5; - let $ci=0,Wci=!1; + const dui=6e4; + let fui=0,pui=!1,gui=!1;
- $ci=0,t<Hci||Zt(async()=>{ + fui=0,t<dui||vui()} + ))} + async function wui(){ + const{ + BattleManager:t} + =await ti(async()=>{
- ,void 0).then(({ - BattleManager:t} - )=>{ - t.getInstance().isIdleBattleActive()&&window.location.reload()} + ,void 0); + if(!t.getInstance().isIdleBattleActive())return!1; + const{ + BattleFrameController:i} + =await ti(async()=>{ + const{ + BattleFrameController:t} + =await Promise.resolve().then(()=>EB); + return{ + BattleFrameController:t} + } + ,void 0); + if(!i.getInstance().isRunning)return!1; + const{ + BattleController:s} + =await ti(async()=>{ + const{ + BattleController:t} + =await Promise.resolve().then(()=>rli); + return{ + BattleController:t} + } + ,void 0); + return!s.getInstance().isCastleDestroyed()} + async function vui(t){ + var i; + if(!gui){ + gui=!0; + try{ + if(!(await wui()))return; + const t=await ML.getInstance().user.applyOfflineMarch(),s=(null==t?void 0:t.success)?null==(i=t.body)?void 0:i.offlineMarch:null; + if(null==s)return; + if(!(await wui()))return; + const{ + BattleController:e} + =await ti(async()=>{ + const{ + BattleController:t} + =await Promise.resolve().then(()=>rli); + return{ + BattleController:t} + } + ,void 0); + await bui(s,()=>{ + e.getInstance().applyOfflineMarchWave(s.afterWave)}
- ))} + catch(Unt){ + } + finally{ + gui=!1} + } + }
- if(null==t)return void(await Gai.getInstance().startGame()); - await Gai.getInstance().startGame(); + null!=t?(await ali.getInstance().startGame(),await bui(t)):await ali.getInstance().startGame()} + async function bui(t,i){
+ null==i||i();
- qt(jci,"registerBackgroundReloadWatcher"),qt(Vci,"checkOfflineMarch"),qt(Kci,"onGameMainStart"),qt(zci,"updateUserData"),qt(qci,"onAfConversionData"),qt(Yci,"updateProgress"),qt(Xci,"setPushSettings"),qt(Jci,"setupPush"); + Xt(mui,"registerBackgroundOfflineWatcher"),Xt(wui,"canSettleOfflineOnResume"),Xt(vui,"settleOfflineOnResume"),Xt(_ui,"checkOfflineMarch"),Xt(bui,"playOfflineMarch"),Xt(Mui,"onGameMainStart"),Xt(yui,"updateUserData"),Xt(Eui,"onAfConversionData"),Xt(Aui,"updateProgress"),Xt(Sui,"setPushSettings"),Xt(Tui,"setupPush");
PetAwakeningEffects 8 hunks, 57 statements
+ static getHumanSecretQuestLimit(){ + return this.isPetAwakened(27)?5:null} + static getDruidOwnedPactLevelContribution(){ + const t=tP.getInstance().version; + return this._cachedDruidPactLevelVer===t||(this._cachedDruidPactLevelVer=t,this._cachedDruidPactLevel=this.sumAwakenedCoupleOwnedOnly(this.DRUID_PET_KINDNUM,5,15,300)),this._cachedDruidPactLevel} + static getDruidOwnedPactLevelContributors(){ + return this.collectAwakenedCoupleOwnedContributors(this.DRUID_PET_KINDNUM)} + static getSuccubusOwnedCallOfDawnContribution(){ + const t=tP.getInstance().version; + return this._cachedSuccubusCallOfDawnVer===t||(this._cachedSuccubusCallOfDawnVer=t,this._cachedSuccubusCallOfDawn=this.sumAwakenedCoupleOwnedOnly(this.SUCCUBUS_PET_KINDNUM,1,2.5,50)),this._cachedSuccubusCallOfDawn} + static getSuccubusOwnedCallOfDawnContributors(){ + return this.collectAwakenedCoupleOwnedContributors(this.SUCCUBUS_PET_KINDNUM)} + static getBladeMasterOwnedPackLevelContribution(){ + const t=tP.getInstance().version; + return this._cachedBladeMasterPackLevelVer===t||(this._cachedBladeMasterPackLevelVer=t,this._cachedBladeMasterPackLevel=this.sumAwakenedCoupleOwnedOnly(this.BLADE_MASTER_PET_KINDNUM,5,15,300)),this._cachedBladeMasterPackLevel} + static getBladeMasterOwnedPackLevelContributors(){ + return this.collectAwakenedCoupleOwnedContributors(this.BLADE_MASTER_PET_KINDNUM)} + static collectAwakenedCoupleOwnedContributors(t){ + var i; + if(!this.isPetAwakened(t))return[]; + const s=(null==(i=mx.getInstance().getBookVO(t))?void 0:i.couple)??0; + if(s<=0)return[]; + const e=Ax.getInstance(); + return[...new Set(e.ownedUnitList.filter(t=>{ + const i=e.getBookVO(t.kindNum); + return(t.count??0)+(t.trans[0]??0)+(t.trans[1]??0)+(t.trans[2]??0)>0&&i&&(5===i.grade||6===i.grade)&&this.isCoupleHeroBookVO(i,s)} + ).map(t=>t.kindNum))]}
+ if(h.className!==fx.Fairy1)continue;
+ if(t===Lx.ElfSecret&&h.className!==fx.Fairy1)continue;
+ case 28:return{ + total:i.getGameplayTotal(Lx.PactOfLife),nameKey:"HERO_UNIQUE_SKILL_NAME_82",nameFallback:"생명의 맹약",isPercent:!1,coupleOwnedValue:this.getDruidOwnedPactLevelContribution()} + ; + case 29:return{ + total:i.getGameplayTotal(Lx.CallOfDawn),nameKey:"HERO_UNIQUE_SKILL_NAME_92",nameFallback:"황혼의 부름",coupleOwnedValue:this.getSuccubusOwnedCallOfDawnContribution()} + ; + case 30:return{ + total:i.getGameplayTotal(Lx.PackOfWild),nameKey:"HERO_UNIQUE_SKILL_NAME_87",nameFallback:"야성의 맹약",isPercent:!1,coupleOwnedValue:this.getBladeMasterOwnedPackLevelContribution()} + ;
- return this._cachedWyvernMaxLvVer===t||(this._cachedWyvernMaxLvVer=t,this._cachedWyvernMaxLv=this.sumAwakenedCoupleContribution(this.WYVERN_PET_KINDNUM,5,10,200)),this._cachedWyvernMaxLv} + return this._cachedWyvernMaxLvVer===t||(this._cachedWyvernMaxLvVer=t,this._cachedWyvernMaxLv=this.sumAwakenedCoupleTeamPlusCappedOwned(this.WYVERN_PET_KINDNUM,5,10,200)),this._cachedWyvernMaxLv}
- for(const s of this.GAMESPEED_AWAKENINGS)i+=this.sumAwakenedCoupleContribution(s.petKindNum,s.val5,s.val6,s.cap); + for(const s of this.GAMESPEED_AWAKENINGS)i+=this.sumAwakenedCoupleTeamPlusCappedOwned(s.petKindNum,s.val5,s.val6,s.cap);
- static sumAwakenedCoupleContribution(t,i,s,e){ - var n; - if(!this.isPetAwakened(t))return 0; - const h=(null==(n=px.getInstance().getBookVO(t))?void 0:n.couple)??0; - if(h<=0)return 0; - const r=Mx.getInstance(),o=qt(t=>5===t?i:6===t?s:0,"per"); - let a=0; - for(const c of r.list){ - const t=r.getBookVO(c.kindNum); - t&&this.isCoupleHeroBookVO(t,h)&&(a+=o(t.grade))} - for(const c of r.ownedUnitList){ - const t=r.getBookVO(c.kindNum); - if(!t||!this.isCoupleHeroBookVO(t,h))continue; - const i=o(t.grade); - 0!==i&&(a+=i*((c.count??0)+(c.trans[0]??0)+(c.trans[1]??0)+(c.trans[2]??0)))} - return Math.min(a,e)}
- qt(PR,"PetAwakeningEffects"),Yt(PR,"QUEST_GOLD_AWAKENINGS",[{ + Xt(DR,"PetAwakeningEffects"),Yt(DR,"DRUID_PET_KINDNUM",28),Yt(DR,"_cachedDruidPactLevel",0),Yt(DR,"_cachedDruidPactLevelVer",-1),Yt(DR,"SUCCUBUS_PET_KINDNUM",29),Yt(DR,"_cachedSuccubusCallOfDawn",0),Yt(DR,"_cachedSuccubusCallOfDawnVer",-1),Yt(DR,"BLADE_MASTER_PET_KINDNUM",30),Yt(DR,"_cachedBladeMasterPackLevel",0),Yt(DR,"_cachedBladeMasterPackLevelVer",-1),Yt(DR,"QUEST_GOLD_AWAKENINGS",[{
SpiritSanctuaryEffects 1 hunks, 38 statements
+ function Yoi(t,i,s,e){ + var n; + if(e<100)return[]; + const h=t.find(t=>"FireSpirit1"===t.className); + if(!h)return[]; + const r=new Map(t.filter(t=>h.base?t.base===h.base:t.kindNum===h.kindNum).map(t=>[t.kindNum,t])),o=[],a=Xt((t,i,s)=>{ + const e=r.get(t); + if(!e)return; + const n=Number.isFinite(i)?Math.max(0,Math.min(3,Math.floor(i))):0,h=5===e.grade?.5:6===e.grade?[1,1.5,2,3][n]:0; + if(h&&Number.isFinite(s))for(let r=0; + r<Math.min(5,Math.floor(s)); + r++)o.push({ + kindNum:t,trans:n,chance:h} + )} + ,"add"); + for(const c of i)a(c.kindNum,c.trans??0,1); + for(const c of s){ + a(c.kindNum,0,c.count??0); + for(let t=1; + t<=3; + t++)a(c.kindNum,t,(null==(n=c.trans)?void 0:n[t-1])??0)} + return o.sort((t,i)=>i.chance-t.chance||i.kindNum-t.kindNum).slice(0,5)} + function Joi(t){ + return Math.min(15,t.reduce((t,i)=>t+i.chance,0))} + Xt(Yoi,"selectSanctuarySlots"),Xt(Joi,"sanctuaryChance"); + const Qoi=class{ + static getTopSlots(){ + const t=Ax.getInstance(); + return Yoi(t.bookList,t.list,t.ownedUnitList,VD.maxWave)} + static getChance(){ + return Joi(this.getTopSlots())} + static getDisplayKindNum(){ + var t; + return(null==(t=Ax.getInstance().bookList.filter(t=>"FireSpirit1"===t.className).sort((t,i)=>i.grade-t.grade)[0])?void 0:t.kindNum)??0} + } + ; + Xt(Qoi,"SpiritSanctuaryEffects"); + let Zoi=Qoi;
HeroUniqueSkillDataManager 13 hunks, 29 statements
- var Rx=(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))(Rx||{ + function Nx(t,i=0){ + return[...new Set([t,i].filter(t=>t>0))]} + Xt(Nx,"skillIds"); + var Lx=(t=>(t.MonsterGold="monstergold",t.WaveClearGold="wavecleargold",t.StartWave="startwave",t.ElfSecret="elfsecret",t.StageSkip2="stageskip2",t.AncientForestLegend="ancientforestlegend",t.EnemySpawnTimeReduction="enemyspawntimereduction",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.DawnChargePreserve="dawnchargepreserve",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))(Lx||{
- t.kindNum=i.kindNum??0,t.name=i.name??"",t.code=i.code??"",t.value=i.value??0,t.desc=i.desc??"",this.bookMap.set(t.kindNum,t)} + t.kindNum=Number(i.kindNum)||0,t.name=i.name??"",t.code=i.code??"",t.value=Number(i.value)||0,t.desc=i.desc??"",this.bookMap.set(t.kindNum,t)}
- return"stageskip"===i?"elfsecret":"medalbuff"===i?"medal":"questgold"===i?"questgoldgain":i} + return"crowknightlevelup"===i?"pluslv":"stageskip"===i?"elfsecret":"medalbuff"===i?"medal":"questgold"===i?"questgoldgain":i}
- ,"detailFor"); + ,"detailFor"),n=Xt(t=>t.flatMap(t=>Nx(t.uniqueSkillId,t.uniqueSkillId2).map(i=>({ + ...t,uniqueSkillId:i} + ))),"expandSkills"),h=n(i);
- const n=new Map,h=[...i,...s]; + const r=new Map,o=[...h,...n(s)];
+ for(const[t,a]of this.totals)this.totals.set(t,this.capTotal(t,a));
- return this.isCitadelLocked(t)?0:this.totals.get(t)??0} + return this.isCitadelLocked(t)?0:"elfsecret"===t?(this.totals.get(t)??0)+(this.totals.get("stageskip2")??0):this.totals.get(t)??0} + capTotal(t,i){ + return"enemyspawntimereduction"===t?Math.max(0,Math.min(i,15)):"dawnchargepreserve"===t?Math.max(0,Math.min(i,30)):"stageskip2"===t?Math.min(i,30):"ancientforestlegend"===t?Math.max(0,Math.min(i,30)):i}
- let e=0; + let e=0,n=0;
- if(!t)continue; - const h=t.uniqueSkill??0; - if(!h)continue; - const r=this.bookMap.get(h); - r&&r.code&&(this.normalizeCode(r.code)===i&&(e+=r.value))} - return e} + if(t)for(const s of this.getSkillsForUnit(t)){ + const t=this.normalizeCode(s.code); + t===i&&(e+=s.value),"elfsecret"===i&&"stageskip2"===t&&(n+=s.value)} + } + return this.capTotal(i,e)+this.capTotal("stageskip2",n)} + getSkillsForUnit(t){ + return Nx(t.uniqueSkill,t.uniqueSkill2).map(t=>this.bookMap.get(t)).filter(t=>!!t)}
- return this.isCitadelLocked(t)?[]:this.contributorsMap.get(t)??[]} + return this.isCitadelLocked(t)?[]:"elfsecret"===t?[...this.contributorsMap.get(t)??[],...this.contributorsMap.get("stageskip2")??[]]:this.contributorsMap.get(t)??[]}
- return this.isCitadelLocked(t)?[]:this.contributorsDetailMap.get(t)??[]} + return this.isCitadelLocked(t)?[]:"elfsecret"===t?[...this.contributorsDetailMap.get(t)??[],...this.contributorsDetailMap.get("stageskip2")??[]]:this.contributorsDetailMap.get(t)??[]}
- for(const[i,s]of this.totals.entries())t.push({ + for(const[s,e]of this.totals.entries())"stageskip2"!==s&&"elfsecret"!==s&&t.push({
- return t} + const i=this.getTotal("elfsecret"); + return i>0&&t.push({ + code:"elfsecret",value:i} + ),t}
CitadelBuildingDetailPopup 6 hunks, 26 statements
- watchtower:{ + sanctuary:{ + titleKey:"GAME_1700",titleDefault:"정령의 성소",getValue:Xt(()=>Zoi.getChance(),"getValue"),getContributors:Xt(()=>Zoi.getTopSlots(),"getContributors"),previewKindNum:Xt(()=>Zoi.getDisplayKindNum(),"previewKindNum"),assignedTitleKey:"GAME_1702",assignedTitleDefault:"교감 중인 불의 정령",compactPrimary:Xt(t=>({ + title:QG.getText("GAME_1703","추가 획득 확률"),value:`${ + t} + %`} + ),"compactPrimary"),compactSecondary:Xt(()=>({ + title:QG.getText("GAME_1704","발동 시 펫 조각"),value:"+1"} + ),"compactSecondary"),compactGauge:Xt(t=>({ + cur:t,max:15,unit:"%"} + ),"compactGauge"),compactDesc:Xt(t=>sai([{ + key:"GAME_1705",def:"보유한 불의 정령 중 효과가 높은 5명이 자동으로 배치됩니다."} + ,{ + key:"GAME_1706",def:"5성 +0.5%, 6성 +1%, 1초월 +1.5%, 2초월 +2%, 3초월 +3%. 합산 최대 15%."} + ,{ + key:"GAME_1707",def:"정령의 고원 클리어 시 확률에 따라 해당 스테이지의 펫 조각을 1개 더 획득합니다. 펫 조각 보상에만 적용됩니다."} + ,{ + key:"GAME_1708",def:"즉시완료에도 적용되며, 여러 회를 완료하면 매회 독립적으로 판정합니다."} + ],t),"compactDesc")} + ,watchtower:{
- cur:t,max:CU.MAX_POINTS} + cur:t,max:xU.getMaxPoints()}
- key:"GAME_1587",def:"5★은 4포인트, 6★은 8포인트, 1초월마다 +4포인트씩 증가합니다."} + key:xU.isAwakened()?"VAULT_AWAKENED_POINTS":"GAME_1587",def:xU.isAwakened()?"램프요정 각성: 5★ 8포인트, 6★ 16포인트, 1초월마다 +8포인트. 최대 5명, 200포인트까지 적용됩니다.":"5★은 4포인트, 6★은 8포인트, 1초월마다 +4포인트씩 증가합니다."}
- key:"GAME_1589",def:"20포인트마다 골드 상자 상한이 1칸씩 증가합니다."} + key:"GAME_1589",def:"20포인트마다 골드 상자 상한이 1칸씩 증가합니다. (최대 10칸)"}
- const t=new rf; + const t=new of;
- P`,this.lblVaultGaugeText.x=c+i+10,this.lblVaultGaugeText.y=l+.5*(t-this.lblVaultGaugeText.height),l+=t+18} + ${ + f.unit??"P"} + `,this.lblVaultGaugeText.x=c+i+10,this.lblVaultGaugeText.y=l+.5*(t-this.lblVaultGaugeText.height),l+=t+18}
Mine4XBg 1 hunks, 21 statements
+ const r6t=class extends He{ + constructor(){ + super(),Yt(this,"bg",new Ve),Yt(this,"icon4X",new Ve),Yt(this,"hammer",new Ve),this.bg.texture=eS.getTexture("UI_MINE","4x_toggle_bg.png"),this.bg.scale=.7,this.addChild(this.bg),this.icon4X.texture=eS.getTexture("UI_MINE","4x_toggle_text.png"),this.icon4X.scale=.5,this.icon4X.x=20,this.icon4X.y=this.bg.y+.5*(this.bg.height-this.icon4X.height),this.addChild(this.icon4X),this.hammer.texture=eS.getTexture("UI_MINE","Thumbnail_Hammer_01.png"),this.hammer.scale=.33,this.hammer.x=this.icon4X.x+this.icon4X.width+5,this.hammer.y=this.bg.y+.5*(this.bg.height-this.hammer.height),this.addChild(this.hammer)} + } + ; + Xt(r6t,"Mine4XBg"); + let o6t=r6t; + const a6t=class extends He{ + constructor(){ + super(),Yt(this,"lblTitle"),Yt(this,"hammer",new Ve),Yt(this,"lblTimes"),Yt(this,"img",new Ve),Yt(this,"lblDesc"),this.lblTitle=this.makeLabel("기본 사용",17,AL.COLOR_WHITE),this.lblTitle.align="center",this.lblTitle.lineHeight=14,this.lblTitle.setWrapWidth(200),this.addChild(this.lblTitle),this.hammer.texture=eS.getTexture("UI_MINE","Thumbnail_Hammer_01.png"),this.hammer.scale=.36,this.addChild(this.hammer),this.lblTimes=this.makeLabel("x1",23,AL.COLOR_WHITE),this.addChild(this.lblTimes),this.img.texture=eS.getTexture("UI_MINE","4x_off_example.png"),this.img.scale=.75,this.addChild(this.img),this.lblDesc=this.makeLabel("5칸 타격",17,16644251),this.addChild(this.lblDesc),this.updateLayout()} + updateLayout(){ + this.lblTitle.x=.5*(this.img.width-this.lblTitle.width),this.hammer.x=.5*this.img.width-this.hammer.width-2,this.hammer.y=this.lblTitle.y+this.lblTimes.height+5,this.lblTimes.x=.5*this.img.width+2,this.lblTimes.y=this.hammer.y+.5*(this.hammer.height-this.lblTimes.height)-2,this.img.y=this.hammer.y+this.hammer.height,this.lblDesc.x=.5*(this.img.width-this.lblDesc.width),this.lblDesc.y=this.img.y+this.img.height+5} + setData(t){ + t?(this.lblTitle.text=QG.getText("GAME_1665","4배 사용"),this.lblTimes.text="x4",this.img.texture=eS.getTexture("UI_MINE","4x_on_example.png"),this.lblDesc.text=QG.getText("GAME_1667","9칸 타격")):(this.lblTitle.text=QG.getText("GAME_1664","기본 사용"),this.lblTimes.text="x1",this.img.texture=eS.getTexture("UI_MINE","4x_off_example.png"),this.lblDesc.text=QG.getText("GAME_1666","5칸 타격")),this.updateLayout()} + makeLabel(t,i,s){ + const e=new bD(t,s,AL.DEFAULT_OUTLINE_FONT_OPTION_16); + return e.textSize=i,e} + } + ; + Xt(a6t,"Mine4XInfoItem"); + let c6t=a6t;
Mine4XGuidePopup 1 hunks, 19 statements
- super(),Yt(this,"titleUp"),Yt(this,"titleInfo"),Yt(this,"bg"),Yt(this,"iconHammer"),Yt(this,"lblTitle"),Yt(this,"btnGuide"),Yt(this,"lblEventTimer"),Yt(this,"lblHammer"),Yt(this,"expProgressContainer"),Yt(this,"expProgressPanel"),Yt(this,"expProgressTrack"),Yt(this,"expProgressPreview"),Yt(this,"expProgressFill"),Yt(this,"expProgressFrame"),Yt(this,"lblExpLevel"),Yt(this,"lblExpValue"),Yt(this,"btnClose"),Yt(this,"btnPlus"),Yt(this,"infoContainer"),Yt(this,"btnInfo"),Yt(this,"infoLine"),Yt(this,"fossilIcons"),Yt(this,"fossilLabelBg"),Yt(this,"fossilLabel"),Yt(this,"fossilLabelContainer"),Yt(this,"initialized",!1),Yt(this,"uiBuilt",!1),Yt(this,"expTween",null),Yt(this,"eventEndTimeMs",0),Yt(this,"lastEventTimerText","")} + super(),Yt(this,"basic",new c6t),Yt(this,"lineMid",new Ve),Yt(this,"min4x",new c6t),Yt(this,"lineBot",new Ve),Yt(this,"desc"),this.basic.setData(!1),this.basic.x=5+.5*(.5*this.width-this.basic.width),this.basic.y=80,this.addChild(this.basic),this.lineMid.texture=eS.getTexture("UI_MINE","4x_info_divider_vertical.png"),this.lineMid.width=2,this.lineMid.height=250,this.lineMid.x=.5*(this.width-this.lineMid.width),this.lineMid.y=this.basic.y+.5*(this.basic.height-this.lineMid.height),this.addChild(this.lineMid),this.min4x.setData(!0),this.min4x.x=.5*this.width+.5*(.5*this.width-this.min4x.width)-5,this.min4x.y=this.basic.y,this.addChild(this.min4x),this.lineBot.texture=eS.getTexture("UI_MINE","4x_info_divider_horizontal.png"),this.lineBot.width=this.width-60,this.lineBot.height=2,this.lineBot.x=.5*(this.width-this.lineBot.width),this.lineBot.y=this.basic.y+this.basic.height+5,this.addChild(this.lineBot),this.desc=this.makeLabel(QG.getText("GAME_1668","숫자는 타일에 주는 피해량입니다."),15,AL.COLOR_WHITE),this.desc.setWrapWidth(this.width-60),this.desc.align="center",this.desc.x=.5*(this.width-this.desc.width),this.desc.y=this.lineBot.y+this.lineBot.height+15,this.addChild(this.desc),this.outSideClickHide=!0} + static getInstance(){ + return this._instance||(this._instance=new t),this._instance} + async showGuide(){ + this.title=QG.getText("GAME_1663","망치 사용 비교"),this.height=this.desc.y+this.desc.height+30,await this.loadImage(),super.show()} + getDefaultPositionY(){ + return.45*YA.stageHeight} + onBackButton(){ + return this.hide(),!0} + makeLabel(t,i,s){ + const e=new bD(t,s,AL.DEFAULT_OUTLINE_FONT_OPTION_16); + return e.textSize=i,e} + } + ; + Xt(l6t,"Mine4XGuidePopup"),Yt(l6t,"_instance"); + let u6t=l6t; + const d6t=class t extends He{ + constructor(){ + super(),Yt(this,"titleUp"),Yt(this,"titleInfo"),Yt(this,"bg"),Yt(this,"iconHammer"),Yt(this,"lblTitle"),Yt(this,"btnGuide"),Yt(this,"lblEventTimer"),Yt(this,"lblHammer"),Yt(this,"expProgressContainer"),Yt(this,"expProgressPanel"),Yt(this,"expProgressTrack"),Yt(this,"expProgressPreview"),Yt(this,"expProgressFill"),Yt(this,"expProgressFrame"),Yt(this,"lblExpLevel"),Yt(this,"lblExpValue"),Yt(this,"btnClose"),Yt(this,"btnPlus"),Yt(this,"mine4xContainer"),Yt(this,"btnInfo4X"),Yt(this,"bg4X"),Yt(this,"btnMine4XOn"),Yt(this,"btnMine4XOff"),Yt(this,"mine4XInfoBox",null),Yt(this,"mine4XBoxContainer",new He),Yt(this,"infoContainer"),Yt(this,"btnInfo"),Yt(this,"infoLine"),Yt(this,"fossilIcons"),Yt(this,"fossilLabelBg"),Yt(this,"fossilLabel"),Yt(this,"fossilLabelContainer"),Yt(this,"initialized",!1),Yt(this,"uiBuilt",!1),Yt(this,"expTween",null),Yt(this,"eventEndTimeMs",0),Yt(this,"lastEventTimerText",""),Yt(this,"_mine4xClicked",-1)}
ArrowButton 1 hunks, 18 statements
+ ]),Yt(j3t,"HAMMER_DAMAGE_PATTERN_4X",[{ + dx:0,dy:0,damage:4} + ,{ + dx:-1,dy:0,damage:3} + ,{ + dx:1,dy:0,damage:3} + ,{ + dx:0,dy:-1,damage:3} + ,{ + dx:0,dy:1,damage:3} + ,{ + dx:-1,dy:-1,damage:2} + ,{ + dx:-1,dy:1,damage:2} + ,{ + dx:1,dy:-1,damage:2} + ,{ + dx:1,dy:1,damage:2}
RightBottomMenus 6 hunks, 15 statements
- const e=zD.getInstance().development&&!1; + const e=YD.getInstance().development&&!t.MENUS_HIDDEN;
- this.btnBuff.visible=e,this.btnMine.visible=e,this.btnCardEvent.visible=e,this.btnConquest.visible=zD.getInstance().development,this.btnPowerSave.scale.set(.9),this.btnPowerSave.x=this.healthOrb.x-.9*this.btnPowerSave.width-42,this.btnPowerSave.y=this.healthOrb.y-15,this.btnPowerSave.eventMode="static",this.btnPowerSave.cursor="pointer",this.btnPowerSave.on("pointerup",this.onPowerSave,this),this.updatePowerSaveButton(!Dzt.getInstance().visible)} + this.btnBuff.visible=e,this.btnMine.visible=e,this.btnCardEvent.visible=e&&n1t.EVENT_OPEN,this.btnConquest.visible=YD.getInstance().development,this.btnPowerSave.x=this.healthOrb.x-.9*this.btnPowerSave.width-45,this.btnPowerSave.y=this.healthOrb.y-15,this.btnPowerSave.eventMode="static",this.btnPowerSave.cursor="pointer",this.btnPowerSave.on("pointerup",this.onPowerSave,this),this.updatePowerSaveButton(!Nqt.getInstance().visible),this.btnAllPreset.onClick=this.onAllPresetBtnClick.bind(this),this.setRevive(!0)}
+ update(){ + this.updatePowerSaveButton(!Nqt.getInstance().visible)}
- t&&!this.btnPowerSave.parent?this.addChild(this.btnPowerSave):!t&&this.btnPowerSave.parent&&this.removeChild(this.btnPowerSave)} + t&&!this.btnPowerSave.parent?this.addChild(this.btnPowerSave):!t&&this.btnPowerSave.parent&&this.removeChild(this.btnPowerSave),this.updateAllPresetButton()}
+ updateAllPresetButton(){ + O6t.getInstance().isAvailable()&&(this.btnPowerSave.parent?(this.btnAllPreset.x=this.btnPowerSave.x-this.btnAllPreset.width-7,this.btnAllPreset.y=this.btnPowerSave.y+.5*(this.btnPowerSave.height-this.btnAllPreset.height)-1,this.addChild(this.btnAllPreset)):this.btnAllPreset.removeFromParent())} + onAllPresetBtnClick(){ + O6t.getInstance().isAvailable()&&(O6t.getInstance().setData(),O6t.getInstance().show())}
+ setRevive(t){ + mS.getInstance().removeEventListener("Revive",this.onReviveBind),t&&(this.onReviveBind=this.onRevive.bind(this),mS.getInstance().addEventListener("Revive",this.onReviveBind))} + onRevive(t){ + var i,s; + const e=(null==(i=null==t?void 0:t.detail)?void 0:i.oldMaxWave)??-1,n=(null==(s=null==t?void 0:t.detail)?void 0:s.newMaxWave)??-1; + e<300&&n>=300&&this.update()}
AttendanceDataManager 1 hunks, 14 statements
+ try{ + const{ + LocalDataManager:t} + =await ti(async()=>{ + const{ + LocalDataManager:t} + =await Promise.resolve().then(()=>qA); + return{ + LocalDataManager:t} + } + ,void 0),i=await t.getAuthToken()||void 0; + await ML.getInstance().account.login(2,i)} + catch(i){ + }
MerchantGoldEffects 5 hunks, 14 statements
+ static isAwakened(){ + var t; + return((null==(t=mx.getInstance().getPetVO(this.AWAKENING_PET_KINDNUM))?void 0:t.grade)??0)>=5} + static getMaxPoints(){ + return this.isAwakened()?this.AWAKENED_MAX_POINTS:this.MAX_POINTS}
- return t} + return Math.min(t,this.getMaxPoints())}
- var s,e;
- const h=Nx.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} + const e=this.isAwakened()?this.AWAKENED_POINTS:this.BASE_POINTS; + return 5===s.grade?e[0]:6===s.grade?e[1+Math.max(0,Math.min(3,i))]:0}
- qt(TU,"MerchantGoldEffects"),Yt(TU,"MERCHANT_CLASS_NAME",ux.Aladin1),Yt(TU,"_kindNums",[]),Yt(TU,"_kindNumsBookSize",-1),Yt(TU,"SKILL_KIND_5STAR",81),Yt(TU,"SKILL_KIND_6STAR_BASE",82),Yt(TU,"MAX_SLOTS",5),Yt(TU,"BASE_BOX_MAX",5),Yt(TU,"POINTS_PER_BOX",20),Yt(TU,"BOX_MAX_CAP",10),Yt(TU,"GOLD_PCT_PER_POINT",10),Yt(TU,"MAX_POINTS",100),Yt(TU,"UNLOCK_WAVE",100),Yt(TU,"_cachedSlots",[]),Yt(TU,"_cachedVer",-1); + Xt(kU,"MerchantGoldEffects"),Yt(kU,"MERCHANT_CLASS_NAME",fx.Aladin1),Yt(kU,"_kindNums",[]),Yt(kU,"_kindNumsBookSize",-1),Yt(kU,"BASE_POINTS",[4,8,12,16,20]),Yt(kU,"AWAKENED_POINTS",[8,16,24,32,40]),Yt(kU,"AWAKENING_PET_KINDNUM",27),Yt(kU,"MAX_SLOTS",5),Yt(kU,"BASE_BOX_MAX",5),Yt(kU,"POINTS_PER_BOX",20),Yt(kU,"BOX_MAX_CAP",10),Yt(kU,"GOLD_PCT_PER_POINT",10),Yt(kU,"MAX_POINTS",100),Yt(kU,"AWAKENED_MAX_POINTS",200),Yt(kU,"UNLOCK_WAVE",100),Yt(kU,"_cachedSlots",[]),Yt(kU,"_cachedVer",-1);
BuffStatusPopup 5 hunks, 14 statements
- monstergold:"몬스터 골드 증가",wavecleargold:"웨이브 클리어 골드 증가",startwave:"환생 시작 층 증가",elfsecret:"엘프의 비술 확률",godbless:"신의 축복 확률",medal:"환생 훈장 증가",offlinespeed:"오프라인 속도 증가",offlinemax:"오프라인 최고층 상한 증가",gamespeed:"게임 속도 증가",retreat:"퇴각 기능",humansecret:"인간의 비술",undeadsecret:"언데드의 비술",orcsecret:"오크의 비술",questgoldgain:"퀘스트 골드 획득 증가",questopengold:"퀘스트 오픈 골드 감소",questupgradegold:"퀘스트 업그레이드 골드 감소",questcompletetime:"퀘스트 완료 시간 단축",unitupgradegold:"병사 업그레이드 골드 감소",pactoflife:"생명의 맹약 (인간·엘프 레벨)",packofwild:"야성의 맹약 (오크·언데드 레벨)"} + monstergold:"몬스터 골드 증가",wavecleargold:"웨이브 클리어 골드 증가",startwave:"환생 시작 층 증가",elfsecret:"엘프의 비술 확률",ancientforestlegend:"고대숲의 전설 확률",enemyspawntimereduction:"적 등장 시간 감소",callofdawn:"황혼의 부름 충전 속도",dawnchargepreserve:"황혼의 잔향 확률",pluslv:"추가 레벨",godbless:"신의 축복 확률",medal:"환생 훈장 증가",offlinespeed:"오프라인 속도 증가",offlinemax:"오프라인 최고층 상한 증가",gamespeed:"게임 속도 증가",retreat:"퇴각 기능",humansecret:"인간의 비술",undeadsecret:"언데드의 비술",orcsecret:"오크의 비술",questgoldgain:"퀘스트 골드 획득 증가",questopengold:"퀘스트 오픈 골드 감소",questupgradegold:"퀘스트 업그레이드 골드 감소",questcompletetime:"퀘스트 완료 시간 단축",unitupgradegold:"병사 업그레이드 골드 감소",pactoflife:"생명의 맹약 (인간·엘프 레벨)",packofwild:"야성의 맹약 (오크·언데드 레벨)"}
+ const i=GR.getSylphidPlusLvContribution()+GR.getSnorkOwnedPlusLvContribution(); + i>0&&t.set(Lx.PlusLv,(t.get(Lx.PlusLv)??0)+i); + const s=GR.getSuccubusOwnedCallOfDawnContribution(); + s>0&&t.set(Lx.CallOfDawn,(t.get(Lx.CallOfDawn)??0)+s); + const e=GR.getDruidOwnedPactLevelContribution(); + e>0&&t.set(Lx.PactOfLife,(t.get(Lx.PactOfLife)??0)+e); + const n=GR.getBladeMasterOwnedPackLevelContribution(); + n>0&&t.set(Lx.PackOfWild,(t.get(Lx.PackOfWild)??0)+n);
- if(n)if(t=[...Nx.getInstance().getContributors(o)],o===Rx.GodBless){ + if(n)if(t=[...Gx.getInstance().getContributors(o)],o===Lx.GodBless){
+ else if(o===Lx.PactOfLife)for(const i of GR.getDruidOwnedPactLevelContributors())t.includes(i)||t.push(i); + else if(o===Lx.CallOfDawn)for(const i of GR.getSuccubusOwnedCallOfDawnContributors())t.includes(i)||t.push(i); + else if(o===Lx.PackOfWild)for(const i of GR.getBladeMasterOwnedPackLevelContributors())t.includes(i)||t.push(i);
- `,A0t[o.toLowerCase()])||o,value:a,contributors:t,rowIndex:e++} + `,y1t[o.toLowerCase()])||o,value:a,valueSuffix:[Lx.PlusLv,Lx.PactOfLife,Lx.PackOfWild].includes(o)?"":"%",contributors:t,rowIndex:e++}
BaseUnit 6 hunks, 13 statements
- ),Yt(this,"numHitted",0),Yt(this,"numStun",0),Yt(this,"numFreeze",0),Yt(this,"numSlow",0),Yt(this,"numBurn",0),Yt(this,"numPoison",0),Yt(this,"numBleed",0),Yt(this,"numCurse",0),Yt(this,"numSilence",0),Yt(this,"numKnockBack",0),Yt(this,"numPowerShield",0),Yt(this,"numMagicalShield",0),Yt(this,"numPhysicalShield",0),Yt(this,"numTransparent",0),Yt(this,"knockBackVx",0),Yt(this,"knockBackVy",0),Yt(this,"numPriestShield",0),Yt(this,"priestShieldHits",0),Yt(this,"numBlow",0),Yt(this,"blowVx",0),Yt(this,"blowVy",0),Yt(this,"blowVh",0),Yt(this,"blowGravity",.3),Yt(this,"blowHeight",0),Yt(this,"numBinding",0),Yt(this,"numShock",0),Yt(this,"knockImmune",!1),Yt(this,"blowImmune",!1),Yt(this,"stunImmune",!1),Yt(this,"freezeImmune",!1),Yt(this,"poisonImmune",!1),Yt(this,"stunResistPct",0),Yt(this,"knockResistPct",0),Yt(this,"blowResistPct",0),Yt(this,"freezeResistPct",0),Yt(this,"currentSize",1.05),Yt(this,"_baseSize",0),Yt(this,"_baseHitHeight",0),Yt(this,"_baseHitWidth",0),Yt(this,"_baseRadius",0),Yt(this,"sizeScale",1),Yt(this,"direction",1),Yt(this,"hideHealthBarTimer",0),Yt(this,"maxRevive",0),Yt(this,"numRevive",0),Yt(this,"reviveCount",0),Yt(this,"reviveInterval",40),Yt(this,"immediateReviveDelay",60),Yt(this,"removed",!1),Yt(this,"stayAfterDeath",!1),Yt(this,"reviveHealthPercent",.6),Yt(this,"numShot",1),Yt(this,"numBounce",0),Yt(this,"multiShotDelay",0),Yt(this,"_poolReturned",!1),Yt(this,"targetAlpha",1),Yt(this,"t",0),Yt(this,"evolEffect",null),Yt(this,"evolStar",null),Yt(this,"numLove",0),Yt(this,"numLoveShield",0),Yt(this,"__airHeight",0),Yt(this,"_airHeight",0),Yt(this,"numAirToGround",-30),this.addChild(this.container),this.idleLookInterval=60,this.initializeData(),this.initialize(),this.generateSprite(),this.startFrame=this.idleFrames.start,this.endFrame=this.idleFrames.end,this.currentFrame=this.startFrame,this.loop=!0,this.eventMode="none"} + ),Yt(this,"numHitted",0),Yt(this,"numStun",0),Yt(this,"numFreeze",0),Yt(this,"numSlow",0),Yt(this,"numAtkSlow",0),Yt(this,"numChillTint",0),Yt(this,"numBurn",0),Yt(this,"numPoison",0),Yt(this,"numBleed",0),Yt(this,"numCurse",0),Yt(this,"numSilence",0),Yt(this,"numKnockBack",0),Yt(this,"numPowerShield",0),Yt(this,"numMagicalShield",0),Yt(this,"numPhysicalShield",0),Yt(this,"numTransparent",0),Yt(this,"knockBackVx",0),Yt(this,"knockBackVy",0),Yt(this,"numPriestShield",0),Yt(this,"priestShieldHits",0),Yt(this,"numBlow",0),Yt(this,"blowVx",0),Yt(this,"blowVy",0),Yt(this,"blowVh",0),Yt(this,"blowGravity",.3),Yt(this,"blowHeight",0),Yt(this,"numBinding",0),Yt(this,"numShock",0),Yt(this,"knockImmune",!1),Yt(this,"blowImmune",!1),Yt(this,"stunImmune",!1),Yt(this,"freezeImmune",!1),Yt(this,"poisonImmune",!1),Yt(this,"stunResistPct",0),Yt(this,"knockResistPct",0),Yt(this,"blowResistPct",0),Yt(this,"freezeResistPct",0),Yt(this,"currentSize",1.05),Yt(this,"_baseSize",0),Yt(this,"_baseHitHeight",0),Yt(this,"_baseHitWidth",0),Yt(this,"_baseRadius",0),Yt(this,"sizeScale",1),Yt(this,"direction",1),Yt(this,"hideHealthBarTimer",0),Yt(this,"maxRevive",0),Yt(this,"numRevive",0),Yt(this,"reviveCount",0),Yt(this,"reviveInterval",40),Yt(this,"immediateReviveDelay",60),Yt(this,"removed",!1),Yt(this,"stayAfterDeath",!1),Yt(this,"reviveHealthPercent",.6),Yt(this,"numShot",1),Yt(this,"numBounce",0),Yt(this,"multiShotDelay",0),Yt(this,"_poolReturned",!1),Yt(this,"targetAlpha",1),Yt(this,"t",0),Yt(this,"evolEffect",null),Yt(this,"evolStar",null),Yt(this,"numLove",0),Yt(this,"numLoveShield",0),Yt(this,"__airHeight",0),Yt(this,"_airHeight",0),Yt(this,"numAirToGround",-30),this.addChild(this.container),this.idleLookInterval=60,this.initializeData(),this.initialize(),this.generateSprite(),this.startFrame=this.idleFrames.start,this.endFrame=this.idleFrames.end,this.currentFrame=this.startFrame,this.loop=!0,this.eventMode="none"}
- if(1==this.frame&&0==this.gameStarted&&(this.onGameStart(),this.gameStarted=!0,""!=this.startSound&&Math.random()<.1&&fG.getInstance().playSFX(this.startSound)),this.attackCoolDown--,this.recoveryCoolDown--,this.mana+=1,this.stateChangeTimer>0&&this.stateChangeTimer--,this.rallyMoveTimer>0&&(this.rallyMoveTimer--,this.isPatrolMode)){ + if(1==this.frame&&0==this.gameStarted&&(this.onGameStart(),this.gameStarted=!0,""!=this.startSound&&Math.random()<.1&&mG.getInstance().playSFX(this.startSound)),this.numAtkSlow>0?(this.numAtkSlow--,this.attackCoolDown-=.5):this.attackCoolDown--,this.numChillTint>0&&(this.numChillTint--,this.numChillTint<=0&&this.sp&&(this.sp.tint=16777215)),this.recoveryCoolDown--,this.mana+=1,this.stateChangeTimer>0&&this.stateChangeTimer--,this.rallyMoveTimer>0&&(this.rallyMoveTimer--,this.isPatrolMode)){
- this.numStun=0,this.numFreeze=0,this.numShock=0,this.numSlow=0,this.numBurn=0,this.numPoison=0,this.numBleed=0,this.numCurse=0,this.numKnockBack=0,this.numLove=0} + this.numStun=0,this.numFreeze=0,this.numShock=0,this.numSlow=0,this.numAtkSlow=0,this.numChillTint=0,this.sp&&(this.sp.tint=16777215),this.numBurn=0,this.numPoison=0,this.numBleed=0,this.numCurse=0,this.numKnockBack=0,this.numLove=0}
- this.numStun=0,this.numFreeze=0,this.numSlow=0,this.numBurn=0,this.numPoison=0,this.numBleed=0,this.numCurse=0,this.numSilence=0,this.numBinding=0,this.numShock=0,this.numTransparent=0,this.numKnockBack=0,this.knockBackVx=0,this.knockBackVy=0,this.numBlow=0,this.blowVx=0,this.blowVy=0,this.blowVh=0,this.blowHeight=0,this.alpha=1,this.targetAlpha=1} + this.numStun=0,this.numFreeze=0,this.numSlow=0,this.numAtkSlow=0,this.numChillTint=0,this.sp&&(this.sp.tint=16777215),this.numBurn=0,this.numPoison=0,this.numBleed=0,this.numCurse=0,this.numSilence=0,this.numBinding=0,this.numShock=0,this.numTransparent=0,this.numKnockBack=0,this.knockBackVx=0,this.knockBackVy=0,this.numBlow=0,this.blowVx=0,this.blowVy=0,this.blowVh=0,this.blowHeight=0,this.alpha=1,this.targetAlpha=1}
+ burn(i,s){ + this.poisonImmune||i<this.numSlow||this.numLoveShield>0||(this.numSlow=i,this.numBurn=i,this.showEffect(SH.BurnEffect1,i,this.tmpPoint(0,-t.BURN_EFFECT_OFFSET_Y/this.sizeScale),!0))} + chill(t){ + this.poisonImmune||this.numLoveShield>0||t<this.numSlow||(this.numSlow=t,this.applyChillTint(t))} + chillAttack(t){ + this.poisonImmune||this.numLoveShield>0||t<this.numAtkSlow||(this.numAtkSlow=t,this.applyChillTint(t))} + applyChillTint(i){ + i>this.numChillTint&&(this.numChillTint=i),this.sp&&(this.sp.tint=t.CHILL_TINT)}
- qt(PZ,"BaseUnit"),Yt(PZ,"tribeRatio",[[1,1,1,1,1,1],[1,1,1.2,1,.8,1],[1,.8,1,1.2,1,1],[1,1,.8,1,1.2,1],[1,1.2,1,.8,1,1],[1,1,1,1,1,1]]),Yt(PZ,"CLOAKING_ATTACK_LIMIT",30),Yt(PZ,"CLOAKING_DURATION",420),Yt(PZ,"FLOW_MAX_FRAMES",15),Yt(PZ,"FLOW_ENTER_FRAMES",3),Yt(PZ,"FLOW_LOOK_AHEAD",400),Yt(PZ,"FLOW_LOOK_AHEAD_STUCK",24),Yt(PZ,"FLOW_TARGET_ALIGN_MIN",.25),Yt(PZ,"CHRONIC_STUCK_STREAK",5),Yt(PZ,"CHRONIC_HOP_DIST",56),Yt(PZ,"STUCK_THRESHOLD",30),Yt(PZ,"PATH_REACH_DIST2",256),Yt(PZ,"PATH_INVALIDATE_DIST2",6400),Yt(PZ,"PATH_COOLDOWN_FRAMES",60),Yt(PZ,"STUCK_WINDOW_FRAMES",30),Yt(PZ,"STUCK_WINDOW_MIN_PROGRESS_SQ",100),Yt(PZ,"SURROUNDED_THRESHOLD",8),Yt(PZ,"SURROUNDED_SEARCH_CELLS",15),Yt(PZ,"TRAPPED_RAY_CELLS",20),Yt(PZ,"RETARGET_CHECK_INTERVAL",10),Yt(PZ,"RETARGET_SWAP_RATIO",1.5),Yt(PZ,"COMMAND_ARRIVE_RADIUS",80),Yt(PZ,"COMMAND_MAX_FRAMES",600),Yt(PZ,"COMMAND_STUCK_LIMIT",45),Yt(PZ,"BLOW_RECOVERY_STAGGER",12),Yt(PZ,"knockbackBounds",null),Yt(PZ,"raidDamageHook",null),Yt(PZ,"raidDamageMultHook",null),Yt(PZ,"HIT_ROTATION_TABLE",(()=>{ + Xt(E0,"BaseUnit"),Yt(E0,"tribeRatio",[[1,1,1,1,1,1],[1,1,1.2,1,.8,1],[1,.8,1,1.2,1,1],[1,1,.8,1,1.2,1],[1,1.2,1,.8,1,1],[1,1,1,1,1,1]]),Yt(E0,"CLOAKING_ATTACK_LIMIT",30),Yt(E0,"CLOAKING_DURATION",420),Yt(E0,"FLOW_MAX_FRAMES",15),Yt(E0,"FLOW_ENTER_FRAMES",3),Yt(E0,"FLOW_LOOK_AHEAD",400),Yt(E0,"FLOW_LOOK_AHEAD_STUCK",24),Yt(E0,"FLOW_TARGET_ALIGN_MIN",.25),Yt(E0,"CHRONIC_STUCK_STREAK",5),Yt(E0,"CHRONIC_HOP_DIST",56),Yt(E0,"STUCK_THRESHOLD",30),Yt(E0,"PATH_REACH_DIST2",256),Yt(E0,"PATH_INVALIDATE_DIST2",6400),Yt(E0,"PATH_COOLDOWN_FRAMES",60),Yt(E0,"STUCK_WINDOW_FRAMES",30),Yt(E0,"STUCK_WINDOW_MIN_PROGRESS_SQ",100),Yt(E0,"SURROUNDED_THRESHOLD",8),Yt(E0,"SURROUNDED_SEARCH_CELLS",15),Yt(E0,"TRAPPED_RAY_CELLS",20),Yt(E0,"RETARGET_CHECK_INTERVAL",10),Yt(E0,"RETARGET_SWAP_RATIO",1.5),Yt(E0,"COMMAND_ARRIVE_RADIUS",80),Yt(E0,"COMMAND_MAX_FRAMES",600),Yt(E0,"COMMAND_STUCK_LIMIT",45),Yt(E0,"CHILL_TINT",7846143),Yt(E0,"BLOW_RECOVERY_STAGGER",12),Yt(E0,"knockbackBounds",null),Yt(E0,"raidDamageHook",null),Yt(E0,"raidDamageMultHook",null),Yt(E0,"HIT_ROTATION_TABLE",(()=>{
ShortcutManager 3 hunks, 13 statements
+ async goHero(){ + 0==fXt.getInstance().isHeroView()&&await Wai.getInstance().onMenuClickByIndex(1),0==fXt.getInstance().isHeroSubView()&&(NYt.getInstance().updateLanguage(),DYt.getInstance().currentSubView=NYt.getInstance())} + async goHeroPreset(){ + await this.goHero(),NYt.getInstance().setPresetBarVisible(!0)} + async goTreasure(){ + 0==fXt.getInstance().isTreasureView()&&await Wai.getInstance().onMenuClickByIndex(3),0==fXt.getInstance().isTreasureSubView()&&(f8t.getInstance().updateLanguage(),nQt.getInstance().currentSubView=f8t.getInstance())} + async goTreasurePreset(){ + await this.goTreasure(),f8t.getInstance().setPresetBarVisible(!0)}
+ goPetList(){ + this.goPetMenuAt(1)}
- hF.getInstance().children.length>0&&(hF.getInstance().removeChildren(),mH.ensureMounted(nzt.getInstance())),gqt.getInstance().isPetPopup()||Whi.getInstance().executeOnPetBtnClick2(),y5t.getInstance().onMenuClick(2)} + this.goPetMenuAt(2)} + goPetMenuAt(t){ + cF.getInstance().children.length>0&&(cF.getInstance().removeChildren(),bH.ensureMounted(sqt.getInstance())),fXt.getInstance().isPetPopup()||coi.getInstance().executeOnPetBtnClick2(),v3t.getInstance().onMenuClick(t)}
TreasureShopItemRenderer 1 hunks, 13 statements
- $D.setUserInfo(n.body),Kx.getInstance().setData(n.body.treasure,n.body.dungeon),f4t.invalidateCachedTransInfo(),Kx.getInstance().equipedKindNums.length>h.length?sH.getInstance().showMessage(YG.getText("GAME_300","슬롯에 추가되었습니다.")):sH.getInstance().showMessage(YG.getText("GAME_302","[내유물]로 이동했습니다.")),mH.getInstance().updateAll(),W6t.getInstance().setData(),this.setRequestPending(!1),$Vt.getInstance().getStatus()} + if(VD.setUserInfo(n.body),Xx.getInstance().setData(n.body.treasure,n.body.dungeon),P8t.invalidateCachedTransInfo(),Xx.getInstance().equipedKindNums.length>h.length?rH.getInstance().showMessage(QG.getText("GAME_300","슬롯에 추가되었습니다.")):rH.getInstance().showMessage(QG.getText("GAME_302","[내유물]로 이동했습니다.")),bH.getInstance().updateAll(),c8t.getInstance().setData(),this.setRequestPending(!1),FKt.getInstance().getStatus(),Xx.getInstance().allPurchased){ + const{ + RightBottomMenus:t} + =await ti(async()=>{ + const{ + RightBottomMenus:t} + =await Promise.resolve().then(()=>R6t); + return{ + RightBottomMenus:t} + } + ,void 0); + t.getInstance().update()} + }
SpiritResultPopup 5 hunks, 12 statements
- showVictory(t,i=0,s=null){ - this.onConfirmCallback=s,this.title=this.buildTitle(t,i),this.lblMessage.text=YG.getText("COMMON_386","전투에 승리하였습니다."),this.lblMessage.textColor=65280,this.btnConfirm.color=iF.GREEN,this.btnConfirm.text=YG.getText("COMMON_1","확인"),this.setupReward(t),this.updateLayout(),super.show()} - showSweep(t,i=null){ - this.onConfirmCallback=i,this.title=this.buildTitle(t,3),this.lblMessage.text=YG.getText("COMMON_379","즉시완료"),this.lblMessage.textColor=65280,this.btnConfirm.color=iF.GREEN,this.btnConfirm.text=YG.getText("COMMON_1","확인"),this.setupReward(t),this.updateLayout(),super.show()} + showVictory(t,i=0,s=null,e){ + this.onConfirmCallback=s,this.title=this.buildTitle(t,i),this.lblMessage.text=QG.getText("COMMON_386","전투에 승리하였습니다."),this.lblMessage.textColor=65280,this.btnConfirm.color=hF.GREEN,this.btnConfirm.text=QG.getText("COMMON_1","확인"),this.setupReward(t,e),e&&e.bonusAmount>0&&(this.lblMessage.text+="\n"+QG.getValueReplace("GAME_1709","##",e.bonusAmount,`정령의 친화: 펫 조각 +${ + e.bonusAmount} + `)),this.updateLayout(),super.show()} + showSweep(t,i=null,s){ + this.onConfirmCallback=i,this.title=this.buildTitle(t,3),this.lblMessage.text=QG.getText("COMMON_379","즉시완료"),this.lblMessage.textColor=65280,this.btnConfirm.color=hF.GREEN,this.btnConfirm.text=QG.getText("COMMON_1","확인"),this.setupReward(t,s),s&&s.bonusAmount>0&&(this.lblMessage.text+="\n"+QG.getValueReplace("GAME_1709","##",s.bonusAmount,`정령의 친화: 펫 조각 +${ + s.bonusAmount} + `)),this.updateLayout(),super.show()}
- setupReward(i){ + setupReward(i,s){
- const s=i.reward>0?i.reward:1; + const e=(null==s?void 0:s.totalAmount)??(i.reward>0?i.reward:1);
- i.reward} + (null==s?void 0:s.totalAmount)??i.reward}
- this.lblMessage.x=.5*(this.width-this.lblMessage.width),this.lblMessage.y=85; + this.lblMessage.setWrapWidth(this.width-60),this.lblMessage.x=.5*(this.width-this.lblMessage.width),this.lblMessage.y=85;
TimeShiftManager 9 hunks, 11 statements
- return 1+Nx.getInstance().getTotal(Rx.CallOfDawn)/100} + return 1+tP.getInstance().getGameplayTotal(Lx.CallOfDawn)/100}
- maxStack:this.maxStack,secondsPerStack:this.intervalSec/t,buffPercent:Math.round(100*(t-1))} + maxStack:this.maxStack,secondsPerStack:this.intervalSec/t,buffPercent:Math.round(1e3*(t-1))/10,preservePercent:Gx.getInstance().getTotal(Lx.DawnChargePreserve)}
- return this.stack>0} + return!this.usePending&&this.stack>0}
- return this.consume(),this.nightStartOf(t+1)} + return this.consume()?this.nightStartOf(t+1):t+1}
+ if(this.usePending)return!1;
- if(t<=0)return; + if(t<=0)return!1; + this.usePending=!0;
- t>=this.maxStack?this.lastUseTime=this.now()-(t-1)*i*1e3:this.lastUseTime+=1e3*i,this.reportUse()} + return t>=this.maxStack?this.lastUseTime=this.now()-(t-1)*i*1e3:this.lastUseTime+=1e3*i,this.reportUse(),!0}
+ finally{ + this.usePending=!1}
- qt(d0t,"TimeShiftManager"),Yt(d0t,"intervalSec",300),Yt(d0t,"maxStack",1),Yt(d0t,"UNLOCK_MAX_WAVE",200),Yt(d0t,"lastUseTime",0),Yt(d0t,"loaded",!1),Yt(d0t,"loadPromise",null),Yt(d0t,"_autoEnabled",!1); + Xt(l1t,"TimeShiftManager"),Yt(l1t,"intervalSec",300),Yt(l1t,"maxStack",1),Yt(l1t,"UNLOCK_MAX_WAVE",200),Yt(l1t,"lastUseTime",0),Yt(l1t,"loaded",!1),Yt(l1t,"loadPromise",null),Yt(l1t,"usePending",!1),Yt(l1t,"_autoEnabled",!1);
BattleController 8 hunks, 11 statements
- super(),Yt(this,"battleType",sF.IDLE),Yt(this,"reviveGoldBuff",1),Yt(this,"heroHireCosts",[10,30,50,100,150,200,300,500,1e3,1500,2e3,2e3,2e3,2e3]),Yt(this,"castleVO",Ax.getVO()),Yt(this,"rallyDragHero",null),Yt(this,"rallyHeroes",new Set),Yt(this,"rallyRangeCircle",new Tai),Yt(this,"rallyDashLine",new Uf),Yt(this,"isDragging",!1),Yt(this,"dragStartX",0),Yt(this,"dragStartY",0),Yt(this,"minSortingCooldown",30),Yt(this,"enemyHpRatio",.25),Yt(this,"enemyAtkRatio",.25),Yt(this,"enemyMoveSpdRatio",1),Yt(this,"map",new Oai),Yt(this,"currentScenarioId",1),Yt(this,"rushTime",420),Yt(this,"waveTimer",0),Yt(this,"waveDuration",600),Yt(this,"spawnSchedule",[]),Yt(this,"spawnScheduleIndex",0),Yt(this,"allEnemiesSpawned",!1),Yt(this,"totalEnemiesInWave",0),Yt(this,"bossSpawned",!1),Yt(this,"isGameOverFlag",!1),Yt(this,"castleDestroyHandled",!1),Yt(this,"skippedWave",0),Yt(this,"shownDialogueWaves",new Set),Yt(this,"activeWaveNumbers",[]),Yt(this,"waveSpawnStatus",new Map),Yt(this,"goldCoolTime",30),Yt(this,"goldCoolTimeCount",0),Yt(this,"spawnVo",Ax.getVO()),Yt(this,"goldGoblinNextSpawnTime",-1),Yt(this,"goldGoblinList",[]),Yt(this,"goldGoblinSpawning",!1),Yt(this,"adsGoblinNextSpawnTime",-1),Yt(this,"adsGoblinList",[]),Yt(this,"adsGoblinSpawning",!1),Yt(this,"isFirstWave",!0),Yt(this,"autoSaveTimer",null),Yt(this,"autoSaveDelayTimer",null),Yt(this,"lastSavedWave",0),Yt(this,"lastGodBlessCheckedWave",0),Yt(this,"lastSavedGold",0),Yt(this,"isSaving",!1),Yt(this,"autoSaveRetryCount",0),Yt(this,"execute",qt(()=>{ + super(),Yt(this,"battleType",rF.IDLE),Yt(this,"reviveGoldBuff",1),Yt(this,"heroHireCosts",[10,30,50,100,150,200,300,500,1e3,1500,2e3,2e3,2e3,2e3]),Yt(this,"castleVO",Tx.getVO()),Yt(this,"rallyDragHero",null),Yt(this,"rallyHeroes",new Set),Yt(this,"rallyRangeCircle",new Jci),Yt(this,"rallyDashLine",new Ff),Yt(this,"isDragging",!1),Yt(this,"dragStartX",0),Yt(this,"dragStartY",0),Yt(this,"minSortingCooldown",30),Yt(this,"enemyHpRatio",.25),Yt(this,"enemyAtkRatio",.25),Yt(this,"enemyMoveSpdRatio",1),Yt(this,"map",new ili),Yt(this,"currentScenarioId",1),Yt(this,"rushTime",420),Yt(this,"waveTimer",0),Yt(this,"waveDuration",600),Yt(this,"spawnSchedule",[]),Yt(this,"spawnScheduleIndex",0),Yt(this,"allEnemiesSpawned",!1),Yt(this,"totalEnemiesInWave",0),Yt(this,"bossSpawned",!1),Yt(this,"isGameOverFlag",!1),Yt(this,"castleDestroyHandled",!1),Yt(this,"skippedWaves",[]),Yt(this,"shownDialogueWaves",new Set),Yt(this,"activeWaveNumbers",[]),Yt(this,"waveSpawnStatus",new Map),Yt(this,"goldCoolTime",30),Yt(this,"goldCoolTimeCount",0),Yt(this,"spawnVo",Tx.getVO()),Yt(this,"goldGoblinNextSpawnTime",-1),Yt(this,"goldGoblinList",[]),Yt(this,"goldGoblinSpawning",!1),Yt(this,"adsGoblinNextSpawnTime",-1),Yt(this,"adsGoblinList",[]),Yt(this,"adsGoblinSpawning",!1),Yt(this,"isFirstWave",!0),Yt(this,"autoSaveTimer",null),Yt(this,"autoSaveDelayTimer",null),Yt(this,"lastSavedWave",0),Yt(this,"lastGodBlessCheckedWave",0),Yt(this,"lastSavedGold",0),Yt(this,"isSaving",!1),Yt(this,"autoSaveRetryCount",0),Yt(this,"execute",Xt(()=>{
- this.skippedWave=0; + this.skippedWaves=[];
- return e>0&&!s&&Math.random()<e/100&&(this.skippedWave=i,i++,dai.getInstance().show(t,i)),this.isFirstWave=!1,$D.wave=i,oai.getInstance().updateDay($D.wave),this.skippedWave>0&&oai.getInstance().showWaveSkipBonus(),Xhi.getInstance().isRunning&&Xhi.getInstance().tutorialIndex===Xhi.TUTORIAL_INDEX_WAVE0&&0==Xhi.getInstance().savedIndex&&(i=1,$D.wave=i,oai.getInstance().updateDay($D.wave),Xhi.getInstance().endTutorialWave0()),i} + return e>0&&!s&&(this.skippedWaves=Gci(t,e,tP.getInstance().getGameplayTotal(Lx.AncientForestLegend)),this.skippedWaves.length>0&&(i+=this.skippedWaves.length,Dci.getInstance().show(t,i))),this.isFirstWave=!1,VD.wave=i,xci.getInstance().updateDay(VD.wave),this.skippedWaves.length>0&&xci.getInstance().showWaveSkipBonus(this.skippedWaves.length),moi.getInstance().isRunning&&moi.getInstance().tutorialIndex===moi.TUTORIAL_INDEX_WAVE0&&0==moi.getInstance().savedIndex&&(i=1,VD.wave=i,xci.getInstance().updateDay(VD.wave),moi.getInstance().endTutorialWave0()),i}
- this.player.health=Math.min(n,Math.max(1,this.player.hp+i)),u0t.getInstance().updateInfo(this.player.hp,this.player.maxHp),s&&(this.player.baseAtkDmg=t.atkDmg,this.player.orgAtkDmg=this.player.atkDmg=this.player.baseAtkDmg,this.player.baseDef=t.def,this.player.orgDef=this.player.def=this.player.baseDef)} + this.player.health=Math.min(n,Math.max(1,this.player.hp+i)),c1t.getInstance().updateInfo(this.player.hp,this.player.maxHp),(s||this.player.baseAtkDmg!==t.atkDmg||this.player.baseDef!==t.def)&&(this.player.baseAtkDmg=t.atkDmg,this.player.orgAtkDmg=this.player.atkDmg=this.player.baseAtkDmg,this.player.baseDef=t.def,this.player.orgDef=this.player.def=this.player.baseDef)}
+ this.clearBattlefield()} + clearBattlefield(){
+ applyOfflineMarchWave(t){ + return!this.isCastleDestroyed()&&!(t<=(this.activeWaveNumbers.length>0?Math.max(...this.activeWaveNumbers):VD.wave)||!UU.getInstance().getScenarioForWave(this.currentScenarioId,t)||(this.clearBattlefield(),VD.setWaveTrusted(t),this.currentWave=t,this.lastGodBlessCheckedWave=t,xci.getInstance().updateDay(VD.wave),this.startNewWave(),0))}
- this.skippedWave>0&&!this.shownDialogueWaves.has(this.skippedWave)&&(t.push(...AVt.getInstance().getByWave(this.skippedWave)),this.shownDialogueWaves.add(this.skippedWave)),this.shownDialogueWaves.has($D.wave)||(t.push(...AVt.getInstance().getByWave($D.wave)),this.shownDialogueWaves.add($D.wave)),t.length>0&&qhi.getInstance().showDialogues(t)} + for(const i of this.skippedWaves)this.shownDialogueWaves.has(i)||(t.push(...yKt.getInstance().getByWave(i)),this.shownDialogueWaves.add(i)); + this.shownDialogueWaves.has(VD.wave)||(t.push(...yKt.getInstance().getByWave(VD.wave)),this.shownDialogueWaves.add(VD.wave)),t.length>0&&poi.getInstance().showDialogues(t)}
- t.sort((t,i)=>t.spawnTime-i.spawnTime)} + i>0&&bB(t,Gx.getInstance().getTotal(Lx.EnemySpawnTimeReduction)),t.sort((t,i)=>t.spawnTime-i.spawnTime)}
HeroIcon 4 hunks, 9 statements
- `,this.lblLevel.textColor=t.level>=i?16763904:16777215,this.lblEnhance.text=`+${ - t.enhance} - `,this.lblEnhance.x=this.bg.width-this.lblEnhance.width-30,this.lblLevel.x=(this.bg.width-15-this.lblLevel.width)/2,t.trans>0?(this.trans.visible=!0,this.trans.texture=iS.getTexture("UI_Ekkorr",`Trans000${ + `,this.lblLevel.textColor=t.level>=i?16763904:16777215,this.setEnhance(t.enhance),t.trans>0?(this.trans.visible=!0,this.trans.texture=eS.getTexture("UI_Ekkorr",`Trans000${
+ setEnhance(t){ + this.lblEnhance.text=`+${ + t} + `,this.lblEnhance.x=this.bg.width-this.lblEnhance.width-30,this.lblLevel.x=(this.bg.width-15-this.lblLevel.width)/2}
- setDataWithKindNum(t,i=0){ + setDataWithKindNum(t,i=0,s=0){
- `)):this.trans.visible=!1,this.lblEnhance.visible=!1,this.lblLevel.visible=!1,this.lblCount.visible=!1} + `)):this.trans.visible=!1,s>0?(this.setEnhance(s),this.lblEnhance.visible=!0):this.lblEnhance.visible=!1,this.lblLevel.visible=!1,this.lblCount.visible=!1}
Pi 8 hunks, 8 statements
- a%h==0?t=r(nst(t))^lst[a/h-1]:h>6&&a%h==4&&(t=r(t)),o[a]=o[a-h]^t} + a%h==0?t=r(set(t))^aet[a/h-1]:h>6&&a%h==4&&(t=r(t)),o[a]=o[a-h]^t}
- function mst(t,i,s,e,n){ + function get(t,i,s,e,n){
- qt(ust,"ei"),qt(dst,"ti"),qt(fst,"ni"),qt(pst,"ri"),qt(gst,"ii"),qt(mst,"oi"),qt(wst,"si"),qt(vst,"ai"),qt(_st,"ci"),qt(bst,"li"),qt(yst,"di"),qt(Mst,"ui"),qt(Est,"hi"),qt(Ast,"fi"),Lit.ctr=(0,Jit.wrapCipher)({ + Xt(cet,"ei"),Xt(uet,"ti"),Xt(det,"ni"),Xt(fet,"ri"),Xt(pet,"ii"),Xt(get,"oi"),Xt(met,"si"),Xt(wet,"ai"),Xt(vet,"ci"),Xt(_et,"li"),Xt(bet,"di"),Xt(Met,"ui"),Xt(yet,"hi"),Xt(Eet,"fi"),Pst.ctr=(0,Xst.wrapCipher)({
- =mst(n,o[t+0],o[t+1],o[t+2],o[t+3]); + =get(n,o[t+0],o[t+1],o[t+2],o[t+3]);
- =mst(h,d,f,p,g); + =get(h,d,f,p,g);
- =mst(t,s[0],s[1],s[2],s[3]); + =get(t,s[0],s[1],s[2],s[3]);
- =mst(s,n,h,t[o],t[o+1]); + =get(s,n,h,t[o],t[o+1]);
- expandKeyLE:ust,expandKeyDecLE:dst,encrypt:gst,decrypt:mst,encryptBlock:Cst,decryptBlock:Ist,ctrCounter:vst,ctr32:_st} + expandKeyLE:cet,expandKeyDecLE:uet,encrypt:pet,decrypt:get,encryptBlock:Cet,decryptBlock:Iet,ctrCounter:wet,ctr32:vet}
EvolveConfirmPopup 1 hunks, 7 statements
- const e=Mx.getInstance().getBookVO(this.vo.evolKindNum),n=e?Nx.getInstance().getByKindNum(e.uniqueSkill):null; - this.lblUniqueDesc.text=n?YG.getText(n.getDescKey(),n.desc):YG.getText("COMMON_367","없음"),this.btnCancel.text=YG.getText("COMMON_2","취소"),this.count>1?(this.btnConfirm.activatedTextLabelColor=13434624,this.btnConfirm.text=`${ + const e=Ax.getInstance().getBookVO(this.vo.evolKindNum),n=e?Gx.getInstance().getSkillsForUnit(e):[]; + this.lblUniqueDesc.text=n.length>0?n.map(t=>{ + const i=QG.getText(t.getDescKey(),t.desc); + return n.length>1?`- ${ + i} + `:i} + ).join("\n"):QG.getText("COMMON_367","없음"),this.btnCancel.text=QG.getText("COMMON_2","취소"),this.count>1?(this.btnConfirm.activatedTextLabelColor=13434624,this.btnConfirm.text=`${
HeroDetailPopup 3 hunks, 7 statements
- show(i,s="list"){ + async show(i,s="list"){
- const a=Nx.getInstance().getByKindNum(i.uniqueSkill); - if(a){ + const a=Gx.getInstance().getSkillsForUnit(i); + this.lblUniqueDesc.text=a.length>0?a.map(t=>{
- this.lblUniqueDesc.text=t} - else this.lblUniqueDesc.text=YG.getText("COMMON_367","없음"); + return a.length>1?`- ${ + i} + `:i} + ).join("\n"):QG.getText("COMMON_367","없음");
FavoritePetCell 4 hunks, 7 statements
- let L2t=N2t; - const D2t=class extends ZO{ + let P5t=R5t,N5t=(Xt(Gt=class extends ix{
- ; - qt(D2t,"FavoritePetItemRenderer"); - let G2t=D2t; + ,"FavoritePetItemRenderer"),Gt);
- var i,s,e,n; + var i,s,e,n,h,r;
- l+=o*(t.reward||0),c-=o,0!==o&&(u=!0)} + d+=(null==(r=null==(h=a.body)?void 0:h.reward)?void 0:r.totalAmount)??c*(t.reward||0),u-=c,0!==c&&(f=!0)}
MineMain 4 hunks, 7 statements
- var i,s; + var i,s,e;
- if(pB.getInstance().status.hammerCount<=0)return void(null==(i=this.onHammerEmpty)||i.call(this)); + const n=wB.getInstance().status; + if(n.hammerCount<=0)return void(null==(i=this.onHammerEmpty)||i.call(this)); + if(wB.getInstance().mine4XEnabled&&n.hammerCount<4)return void(null==(s=this.onHammerEmpty)||s.call(this));
- const c=await vL.getInstance().mine.doDamage(i,s); + const c=await ML.getInstance().mine.doDamage(i,s,wB.getInstance().mine4XEnabled);
- const e=[]; - for(const n of t.HAMMER_DAMAGE_PATTERN){ + const e=[],n=wB.getInstance().mine4XEnabled?t.HAMMER_DAMAGE_PATTERN_4X:t.HAMMER_DAMAGE_PATTERN; + for(const t of n){
ElfSecretSkillToast 2 hunks, 7 statements
- const s=YG.getText("GAME_162","엘프의 비술 발동!"),e=YG.getValueReplace("GAME_163","##",t+1,`Wave ${ - t+1} - 스킵`); - this.showIconMessage(`${ + const s=QG.getText("GAME_162","엘프의 비술 발동!"),e=[]; + for(let n=t+1; + n<i; + n++)e.push(QG.getValueReplace("GAME_163","##",n,`Wave ${
- \n${ - e} - `,this.iconName,this.sheetName,180),this.y=580-this.height} + 스킵`)); + this.showIconMessage([s,...e].join("\n"),this.iconName,this.sheetName,180),this.y=580-this.height}
UnitDataManager 6 hunks, 6 statements
- e.className=n,e.name=s.name,e.tribe=Number(s.tribe),e.grade=Number(s.grade),e.evolKindNum=Number(s.evolKindNum),e.dmgType="P"==s.dmgType?ax.PHYSICAL:ax.MAGICAL,e.isAir="Y"==s.isAir,e.unitType="melee"==s.unitType?rx.MELEE:rx.RANGE,e.numBlock=Number(s.numBlock),e.atkDmg=Number(s.atkDmg),e.def=Number(s.def),e.phyDef=Number(s.phyDef)||0,e.magDef=Number(s.magDef)||0,e.hp=Number(s.hp),e.atkSpd=Number(s.atkSpd),e.moveSpd=Number(s.moveSpd),e.atkRange=Number(s.atkRange),e.magicShield=Number(s.magicShield),e.physicalShield=Number(s.physicalShield),e.numRevive=Number(s.numRevive),e.reviveTime=Number(s.reviveTime),e.recovery=Number(s.recovery),e.sex=s.sex,e.detect="Y"==s.detect,e.cloaking="Y"==s.cloaking,e.canPurchase="Y"==s.canPurchase,e.honor=Number(s.honor)||0,e.nAtk=s.nAtk??"",e.sAtk=s.sAtk??"",e.goldBuffIds=s.goldBuffs?s.goldBuffs.split("|").map(Number):[],e.goldBuffValues=s.goldBuffValues?s.goldBuffValues.split("|").map(Number):[],e.uniqueSkill=s.uniqueSkill??0,e.stunImmune="Y"==s.stunImmune,e.freezeImmune="Y"==s.freezeImmune,e.blowImmune="Y"==s.blowImmune,e.knockImmune="Y"==s.knockImmune,e.weight=s.weight??1,e.raidCc="string"==typeof s.raidCc&&s.raidCc.length>0?s.raidCc.split("|").filter(Boolean):[],e.maxTrans=Number(s.trans)||0; + e.className=n,e.name=s.name,e.tribe=Number(s.tribe),e.grade=Number(s.grade),e.evolKindNum=Number(s.evolKindNum),e.dmgType="P"==s.dmgType?lx.PHYSICAL:lx.MAGICAL,e.isAir="Y"==s.isAir,e.unitType="melee"==s.unitType?ax.MELEE:ax.RANGE,e.numBlock=Number(s.numBlock),e.atkDmg=Number(s.atkDmg),e.def=Number(s.def),e.phyDef=Number(s.phyDef)||0,e.magDef=Number(s.magDef)||0,e.hp=Number(s.hp),e.atkSpd=Number(s.atkSpd),e.moveSpd=Number(s.moveSpd),e.atkRange=Number(s.atkRange),e.magicShield=Number(s.magicShield),e.physicalShield=Number(s.physicalShield),e.numRevive=Number(s.numRevive),e.reviveTime=Number(s.reviveTime),e.recovery=Number(s.recovery),e.sex=s.sex,e.detect="Y"==s.detect,e.cloaking="Y"==s.cloaking,e.canPurchase="Y"==s.canPurchase,e.honor=Number(s.honor)||0,e.nAtk=s.nAtk??"",e.sAtk=s.sAtk??"",e.goldBuffIds=s.goldBuffs?s.goldBuffs.split("|").map(Number):[],e.goldBuffValues=s.goldBuffValues?s.goldBuffValues.split("|").map(Number):[],e.uniqueSkill=Number(s.uniqueSkill)||0,e.uniqueSkill2=Number(s.uniqueSkill2)||0,e.stunImmune="Y"==s.stunImmune,e.freezeImmune="Y"==s.freezeImmune,e.blowImmune="Y"==s.blowImmune,e.knockImmune="Y"==s.knockImmune,e.weight=s.weight??1,e.raidCc="string"==typeof s.raidCc&&s.raidCc.length>0?s.raidCc.split("|").filter(Boolean):[],e.maxTrans=Number(s.trans)||0;
- uniqueSkillId:t.uniqueSkill??0,kindNum:t.kindNum,trans:t.trans??0} + uniqueSkillId:t.uniqueSkill??0,uniqueSkillId2:t.uniqueSkill2,kindNum:t.kindNum,trans:t.trans??0}
- uniqueSkillId:i,kindNum:e.kindNum,trans:0} + uniqueSkillId:i,uniqueSkillId2:t.uniqueSkill2,kindNum:e.kindNum,trans:0}
- uniqueSkillId:i,kindNum:e.kindNum,trans:1} + uniqueSkillId:i,uniqueSkillId2:t.uniqueSkill2,kindNum:e.kindNum,trans:1}
- uniqueSkillId:i,kindNum:e.kindNum,trans:2} + uniqueSkillId:i,uniqueSkillId2:t.uniqueSkill2,kindNum:e.kindNum,trans:2}
- uniqueSkillId:i,kindNum:e.kindNum,trans:3} + uniqueSkillId:i,uniqueSkillId2:t.uniqueSkill2,kindNum:e.kindNum,trans:3}
Mo 5 hunks, 6 statements
- var iet,set,eet,net=Nst; + var int,snt,ent,nnt=Net;
- (Pit),iet=P7,set=g7&&g7.__createBinding||(Object.create?function(t,i,s,e){ + (xst),int=x9,snt=f9&&f9.__createBinding||(Object.create?function(t,i,s,e){
- for(var s in t)"default"===s||Object.prototype.hasOwnProperty.call(i,s)||set(i,t,s)} + for(var s in t)"default"===s||Object.prototype.hasOwnProperty.call(i,s)||snt(i,t,s)}
- const pet=u3("KeyExchange:Layer"),get=u3("SocketService:Layer"),met=u3("Ecies:Layer"),wet=u3("RemoteCommunication:Layer"); - pet.color="##95c44e",get.color="#f638d7",met.color="#465b9c",wet.color="#47a2be"; + const fnt=c6("KeyExchange:Layer"),pnt=c6("SocketService:Layer"),gnt=c6("Ecies:Layer"),mnt=c6("RemoteCommunication:Layer"); + fnt.color="##95c44e",pnt.color="#f638d7",gnt.color="#465b9c",mnt.color="#47a2be";
- KeyExchange:pet,SocketService:get,Ecies:met,RemoteCommunication:wet} + KeyExchange:fnt,SocketService:pnt,Ecies:gnt,RemoteCommunication:mnt}
GuildWarBattlePopupV3 6 hunks, 6 statements
- ...yL.DEFAULT_OUTLINE_FONT_OPTION_16,fontSize:13} + ...AL.DEFAULT_OUTLINE_FONT_OPTION_16,fontSize:13}
- ...yL.DEFAULT_OUTLINE_FONT_OPTION_16,fontSize:13} + ...AL.DEFAULT_OUTLINE_FONT_OPTION_16,fontSize:13}
- ...yL.DEFAULT_OUTLINE_FONT_OPTION_16,fontSize:13} + ...AL.DEFAULT_OUTLINE_FONT_OPTION_16,fontSize:13}
- ...yL.DEFAULT_OUTLINE_FONT_OPTION_16,fontSize:9} + ...AL.DEFAULT_OUTLINE_FONT_OPTION_16,fontSize:9}
- ...yL.DEFAULT_OUTLINE_FONT_OPTION_16,fontSize:11} + ...AL.DEFAULT_OUTLINE_FONT_OPTION_16,fontSize:11}
- ...yL.DEFAULT_OUTLINE_FONT_OPTION_16,fontSize:9} + ...AL.DEFAULT_OUTLINE_FONT_OPTION_16,fontSize:9}
WaveCallGuidePopup 3 hunks, 6 statements
- 초마다 충전되며, 가득 차면 호출할 수 있습니다.`),YG.getText("GAME_1568","2. 영웅의 고유스킬로 충전속도를 빠르게 할 수 있습니다.")]; + 초마다 충전되며, 가득 차면 호출할 수 있습니다.`),QG.getText("GAME_1568","2. 영웅의 고유스킬로 충전속도를 빠르게 할 수 있습니다."),QG.getText("TIME_SHIFT_PRESERVE_GUIDE","3. 영웅의 고유스킬에 따라 일정 확률로 충전 횟수를 소모하지 않고 사용할 수 있습니다. 팀 편성 시 누적 적용되며, 최대 30%입니다.")];
+ ,{ + title:QG.getText("TIME_SHIFT_PRESERVE_HEROES","충전 횟수를 보존하는 영웅"),code:Lx.DawnChargePreserve}
- % )`)].join("\n")} + % )`),QG.getValueReplace("TIME_SHIFT_PRESERVE_STATUS","##",t.preservePercent,`충전 횟수 보존 확률 : ${ + t.preservePercent} + % (최대 30%)`)].join("\n")}
BatchableSprite 5 hunks, 5 statements
- ...O.defaultTextStyle,...t} + ...k.defaultTextStyle,...t}
- ...O.defaultDropShadow,...t} + ...k.defaultDropShadow,...t}
- ...O.defaultDropShadow} + ...k.defaultDropShadow}
- ...Pu.defaultFillStyle,...t} + ...Nu.defaultFillStyle,...t}
- ...Pu.defaultStrokeStyle,...t} + ...Nu.defaultStrokeStyle,...t}
StageManager 1 hunks, 5 statements
- const zA=class t{ + const qA=Object.freeze(Object.defineProperty({ + __proto__:null,LocalDataManager:zA} + ,Symbol.toStringTag,{ + value:"Module"} + )),XA=class t{
BattleFrameController 1 hunks, 5 statements
+ function bB(t,i){ + if(!Number.isFinite(i)||i<=0)return; + const s=1-Math.min(i,15)/100; + for(const e of t)e.spawnTime=Math.max(0,Math.floor(e.spawnTime*s))} + Xt(bB,"applyEnemySpawnTimeReduction");
PVPBattleStatus 1 hunks, 5 statements
- const f3t=640,p3t=320,g3t=30,m3t=[4500223,2280703,8974079,6741452,4521898,2289373,5618687,7842559,10079487,11197951],w3t=[16729156,16746496,16763904,15623714,16733542,16724872,16737860,15615010,16746564,16755302],v3t=new Cg({ + const R6t=Object.freeze(Object.defineProperty({ + __proto__:null,RightBottomMenus:x6t} + ,Symbol.toStringTag,{ + value:"Module"} + )),P6t=640,N6t=320,L6t=30,D6t=[4500223,2280703,8974079,6741452,4521898,2289373,5618687,7842559,10079487,11197951],G6t=[16729156,16746496,16763904,15623714,16733542,16724872,16737860,15615010,16746564,16755302],B6t=new Ig({
UserService 1 hunks, 4 statements
+ async applyOfflineMarch(){ + return this.post(hP.USER.APPLY_OFFLINE_MARCH,{ + } + ,!1)}
ShopDataManager 2 hunks, 4 statements
- if(this.allProducts.push(t),t.targeting){ - try{ - "string"==typeof t.targeting&&(t.targeting=JSON.parse(t.targeting.split('"').join('"')))} + if(this.allProducts.push(t),t.targeting&&"string"==typeof t.targeting)try{ + t.targeting=JSON.parse(t.targeting)}
+ if(t.targeting){
TreasureIcon 2 hunks, 4 statements
- setDataWithKindNum(t){ + setDataWithKindNum(t,i=0,s=0){
- i&&this.setVO(i)} + e&&(this.setVO(e),i>0?this.showTrans(i):this.hideTrans(),s>0?(this.lblEnhance.text=`+${ + s} + `,this.showEnhance()):this.hideEnhance())}
MineRewardInfoPopup 3 hunks, 4 statements
- switch("petPiece"!==r.type&&(h={ + switch("petPiece"!==r.type&&"priestessPiece"!==r.type&&(h={
- case"petPiece":const t=iB.currentMineEvent,i=t?t.petKindNums.length:r.kindNums.length; + case"petPiece":case"priestessPiece":const t=nB.currentMineEvent,i=t?"petPiece"===r.type?t.petKindNums:t.priestessKindNums:r.kindNums,s=i.length;
- ,h.type=z5.pet,h.prob=Number(X5t(r.prob/i,1)),h.kindNum=t?t.petKindNums[s]:r.kindNums[s],n.push(h)} - "petPiece"!==r.type&&n.push(h)} + ,h.type=V3.pet,h.prob=Number(z3t(r.prob/s,1)),h.kindNum=i[e],n.push(h)} + "petPiece"!==r.type&&"priestessPiece"!==r.type&&n.push(h)}
TopMenu 2 hunks, 4 statements
- showWaveSkipBonus(){ + showWaveSkipBonus(t=1){
- t.text="+1",t.visible=!0; + i.text=`+${ + t} + `,i.visible=!0;
HeroGroupRow 1 hunks, 4 statements
- 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; + for(const t of h.bookList)for(const i of n.getSkillsForUnit(t)){ + if(!i.code||n.normalizeCode(i.code)!==s)continue;
Archery2GameScene 4 hunks, 4 statements
- ...yL.DEFAULT_OUTLINE_FONT_OPTION_16,fill:16777215} + ...AL.DEFAULT_OUTLINE_FONT_OPTION_16,fill:16777215}
- ...yL.DEFAULT_OUTLINE_FONT_OPTION_20,fill:16766720} + ...AL.DEFAULT_OUTLINE_FONT_OPTION_20,fill:16766720}
- ...yL.DEFAULT_OUTLINE_FONT_OPTION_16,fill:16737792} + ...AL.DEFAULT_OUTLINE_FONT_OPTION_16,fill:16737792}
- ...yL.DEFAULT_OUTLINE_FONT_OPTION_20,fill:16777215} + ...AL.DEFAULT_OUTLINE_FONT_OPTION_20,fill:16777215}
PassthroughFilter 2 hunks, 3 statements
- let rf=hf; - var of="in vec2 vTextureCoord; + let of=rf; + var af="in vec2 vTextureCoord;
- vertex:sf,fragment:of,name:"passthrough-filter"} + vertex:ef,fragment:af,name:"passthrough-filter"}
UnitVO 1 hunks, 3 statements
+ get uniqueSkill2(){ + var t; + return this.bvo||(this.bvo=Ax.getInstance().getBookVO(this.kindNum)),(null==(t=this.bvo)?void 0:t.uniqueSkill2)??0}
URLManager 1 hunks, 3 statements
- /user/getAllInfo`,ADD_GEM:`${ + /user/getAllInfo`,APPLY_OFFLINE_MARCH:`${ + t.baseURL} + /user/applyOfflineMarch`,ADD_GEM:`${
SHA256 3 hunks, 3 statements
- ...Opt,...Rpt,...Npt,...Dpt,...Upt,...Ypt,...Qpt,...igt,...rgt} + ...Igt,...kgt,...Rgt,...Ngt,...Ggt,...zgt,...Ygt,...Zgt,...nmt}
- ...Wgt,...Vgt} + ...Hmt,...Wmt}
- utf8:Mmt,"utf-8":Mmt,hex:mmt.base16,latin1:Emt,ascii:Emt,binary:Emt,...mmt} + utf8:bwt,"utf-8":bwt,hex:pwt.base16,latin1:Mwt,ascii:Mwt,binary:Mwt,...pwt}
SuiProvider 3 hunks, 3 statements
- namespace:fSt.NameSpaceKeyAptos,addresses:s,methods:[...gSt.AptosMethods],extra:h} + namespace:uTt.NameSpaceKeyAptos,addresses:s,methods:[...fTt.AptosMethods],extra:h}
- namespace:MSt.NameSpaceKeyTON,addresses:o,methods:[...SSt.TONMethods],extra:a,data:{ + namespace:bTt.NameSpaceKeyTON,addresses:o,methods:[...ETt.TONMethods],extra:a,data:{
- namespace:kSt.NameSpaceKeySui,addresses:i,methods:[...RSt.SuiMethods],extra:s} + namespace:CTt.NameSpaceKeySui,addresses:i,methods:[...kTt.SuiMethods],extra:s}
WalletPopup 3 hunks, 3 statements
- ...yL.ERROR_POPUP_LABEL_OPTION,fontSize:24,fontWeight:"bold"} + ...AL.ERROR_POPUP_LABEL_OPTION,fontSize:24,fontWeight:"bold"}
- ...yL.ERROR_POPUP_LABEL_OPTION,fontSize:16} + ...AL.ERROR_POPUP_LABEL_OPTION,fontSize:16}
- ...yL.ERROR_POPUP_LABEL_OPTION,fontSize:16} + ...AL.ERROR_POPUP_LABEL_OPTION,fontSize:16}
GoldSkillItemRenderer 3 hunks, 3 statements
- super(),Yt(this,"bg"),Yt(this,"icon",new je(iS.getTexture("UI_Ekkorr","Icon_Skill_AU"))),Yt(this,"targetIcon",new je(iS.getTexture("UI_Ekkorr","Icon_All"))),Yt(this,"lblSkillLv",new wD("",yL.COLOR_WHITE,yL.DEFAULT_FONT_OPTION_16)),Yt(this,"lblSkillDesc",new wD("",yL.DEFAULT_COLOR,yL.DEFAULT_FONT_OPTION_16)),Yt(this,"lblValue",new wD("",65280,yL.DEFAULT_OUTLINE_FONT_OPTION_16)),Yt(this,"lblValuePlus",new wD("",yL.COLOR_WHITE,yL.WHITE_OUTLINE_FONT_OPTION_16)),this.bg=new kM({ + super(),Yt(this,"bg"),Yt(this,"icon",new Ve(eS.getTexture("UI_Ekkorr2","Icon_Skill_AU"))),Yt(this,"targetIcon",new Ve(eS.getTexture("UI_Ekkorr2","Icon_All"))),Yt(this,"lblSkillLv",new bD("",AL.COLOR_WHITE,AL.DEFAULT_FONT_OPTION_16)),Yt(this,"lblSkillDesc",new bD("",AL.DEFAULT_COLOR,AL.DEFAULT_FONT_OPTION_16)),Yt(this,"lblValue",new bD("",65280,AL.DEFAULT_OUTLINE_FONT_OPTION_16)),Yt(this,"lblValuePlus",new bD("",AL.COLOR_WHITE,AL.WHITE_OUTLINE_FONT_OPTION_16)),this.bg=new ky({
- if(1==e.length?(i="",s=e[0]):(i=e[0],s=e[1]),this.icon.texture=iS.getTexture("UI_Ekkorr",`Icon_Skill_${ + if(1==e.length?(i="",s=e[0]):(i=e[0],s=e[1]),this.icon.texture=eS.getTexture("UI_Ekkorr2",`Icon_Skill_${
- t&&(this.targetIcon.visible=!0,this.targetIcon.texture=iS.getTexture("UI_Ekkorr",`Icon_${ + t&&(this.targetIcon.visible=!0,this.targetIcon.texture=eS.getTexture("UI_Ekkorr2",`Icon_${
BuffItemRenderer 1 hunks, 3 statements
- %`,t.contributors&&t.contributors.length>0){ + ${ + t.valueSuffix??"%"} + `,t.contributors&&t.contributors.length>0){
GodBlessToast 1 hunks, 3 statements
+ function Gci(t,i,s,e=Math.random){ + return i<=0||e()>=Math.min(i,100)/100?[]:s>0&&e()<Math.min(s,30)/100?[t+1,t+2]:[t+1]} + Xt(Gci,"rollElfSecretSkippedWaves");
WorkerManagerClass 2 hunks, 2 statements
- ...M.defaultFillStyle} + ...y.defaultFillStyle}
- ...M.defaultStrokeStyle} + ...y.defaultStrokeStyle}
TilingSpriteShader 1 hunks, 2 statements
- ...ep,vertex:{ - ...ep.vertex,header:ep.vertex.header.replace("group(1)","group(2)")} + ...np,vertex:{ + ...np.vertex,header:np.vertex.header.replace("group(1)","group(2)")}
CanvasRenderer 1 hunks, 2 statements
- const Uv=[...Cv,uw,fw,Bv,Dv],Fv=[Lw,$m,Rw,vw,Ym,nw,Jm,gw],Hv=[Lm,Ow],$v=[],Wv=[],jv=[]; - ei.handleByNamedList(ti.CanvasSystem,$v),ei.handleByNamedList(ti.CanvasPipes,Wv),ei.handleByNamedList(ti.CanvasPipesAdaptor,jv),ei.add(...Uv,...Fv,...Hv); + const Fv=[...Iv,dw,pw,Uv,Gv],Hv=[Dw,Wm,Pw,_w,Ym,hw,Qm,mw],$v=[Dm,xw],Wv=[],jv=[],Vv=[]; + ni.handleByNamedList(ii.CanvasSystem,Wv),ni.handleByNamedList(ii.CanvasPipes,jv),ni.handleByNamedList(ii.CanvasPipesAdaptor,Vv),ni.add(...Fv,...Hv,...$v);
WebGLRenderer 1 hunks, 2 statements
- const zb=[...Cv,U_,g_,t_,y_,Qv,$b,W_,d_,mb,ub,__,_b,T_,w_],qb=[...Iv],Yb=[Gm,Kb,jb],Xb=[],Jb=[],Qb=[]; - ei.handleByNamedList(ti.WebGLSystem,Xb),ei.handleByNamedList(ti.WebGLPipes,Jb),ei.handleByNamedList(ti.WebGLPipesAdaptor,Qb),ei.add(...zb,...qb,...Yb); + const qb=[...Iv,F_,m_,i_,y_,Zv,Wb,j_,f_,wb,db,b_,bb,C_,v_],Xb=[...Ov],Yb=[Bm,zb,Vb],Jb=[],Qb=[],Zb=[]; + ni.handleByNamedList(ii.WebGLSystem,Jb),ni.handleByNamedList(ii.WebGLPipes,Qb),ni.handleByNamedList(ii.WebGLPipesAdaptor,Zb),ni.add(...qb,...Xb,...Yb);
WebGPURenderer 1 hunks, 2 statements
- const cM=[...Cv,Sy,gy,fy,wy,oy,nM,Uy,Hy,jy,Py,uy,_y,ey],lM=[...Iv,Iy],uM=[Fm,aM,rM],dM=[],fM=[],pM=[]; - ei.handleByNamedList(ti.WebGPUSystem,dM),ei.handleByNamedList(ti.WebGPUPipes,fM),ei.handleByNamedList(ti.WebGPUPipesAdaptor,pM),ei.add(...cM,...lM,...uM); + const ly=[...Iv,TM,mM,pM,vM,aM,hy,FM,$M,VM,NM,dM,bM,nM],uy=[...Ov,OM],dy=[Hm,cy,oy],fy=[],py=[],gy=[]; + ni.handleByNamedList(ii.WebGPUSystem,fy),ni.handleByNamedList(ii.WebGPUPipes,py),ni.handleByNamedList(ii.WebGPUPipesAdaptor,gy),ni.add(...ly,...uy,...dy);
MineService 2 hunks, 2 statements
- async doDamage(t,i,s=!1){ + async doDamage(t,i,s=!1,e=!1){
- xId:t,yId:i} + xId:t,yId:i,mine4X:s}
QuestDataManager 2 hunks, 2 statements
- const i=this.list.filter(t=>t.level>=1); + const i=this.list.filter(t=>t.isOpen&&t.level>=1);
- const s=i[Math.floor(Math.random()*i.length)],e=JR.getInstance().getGameplayTotal(Rx.HumanSecretGoldUp),n=Math.floor(s.gold*(1+e/100)); + const s=GR.getHumanSecretQuestLimit(),e=null==s?i:i.slice(-s),n=e[Math.floor(Math.random()*e.length)],h=tP.getInstance().getGameplayTotal(Lx.HumanSecretGoldUp),r=Math.floor(n.gold*(1+h/100));
BaseWeapon 2 hunks, 2 statements
- [yH.MagicalHitEffect]:kH,[yH.PhysicalHitEffect]:xH,[yH.CriticalEffect]:h$,[yH.MissEffect]:w$,[yH.BlockEffect]:e$,[yH.EvadeEffect]:o$,[yH.AkEffect]:i$,[yH.HukEffect]:u$,[yH.PakEffect]:_$,[yH.YapEffect]:S$,[yH.StunImmuneEffect]:E$,[yH.FreezeImmuneEffect]:c$,[yH.KnockbackImmuneEffect]:f$,[yH.MagicalImmuneEffect]:g$,[yH.PhysicalImmuneEffect]:y$,[yH.HumanSkillEffect]:zH,[yH.ElfSkillEffect]:VH,[yH.UndeadSkillEffect]:JH,[yH.OrcSkillEffect]:YH,[yH.CurseEffect]:CH,[yH.PowerShieldEffect]:HH,[yH.PhysicalShieldEffect]:UH,[yH.MagicalShieldEffect]:GH,[yH.SilenceEffect]:WH,[yH.DarkArcherSkillEffect1]:C$,[yH.PriestLightEffect]:x$,[yH.PriestStartEffect]:L$,[yH.PriestShieldEffect]:P$,[yH.FairyWingEffect]:k$,[yH.BindingEffect]:SH,[yH.RockExplode]:PH,[yH.Smoke]:LH,[yH.EvolEffect]:G$,[yH.EvolEffect2]:U$,[yH.OrcIceExplodeEffect]:H$,[yH.FreezeEffectL]:W$,[yH.FreezeEffectM]:V$,[yH.FreezeEffectS]:z$,[yH.StunEffect]:Y$,[yH.CastleFire1]:J$,[yH.CastleFire2]:Z$,[yH.StoneEffect1]:iW,[yH.DeathHandSkillEffect1]:eW,[yH.BomberBigBombExplode1]:gW,[yH.BomberSmallBombExplode1]:hW,[yH.BlackMageBallExplode1]:oW,[yH.FireBallExplode]:cW,[yH.PoisonGreenEffect]:fW,[yH.OrcHunterEvadeBuff]:uW,[yH.AggroEffect]:wW,[yH.PilotMissileSmoke1]:_W,[yH.FireExplode]:yW,[yH.AntRockExplode]:EW,[yH.IceExplode2]:SW,[yH.HealYellow]:CW,[yH.ElectricEffect]:kW,[yH.RoboExplode]:xW,[yH.SuccubusLove]:PW,[yH.SuccubusEffect1]:LW,[yH.FallInLoveEffect]:GW,[yH.Accelerate]:UW,[yH.ElfGlowing1]:HW,[yH.ElfMagicCircle1]:WW,[yH.ElfExplodeEffect1]:zW,[yH.ElfBindEffect1]:VW,[yH.AbyssLightning1]:YW,[yH.AbyssSkillExplosion1]:JW,[yH.JudegmentMarkEffect1]:ZW,[yH.UndeadLightningExplosion1]:ij,[yH.FireExplosion1]:ej,[yH.FireExplosion2]:hj,[yH.AladinGenie1]:oj,[yH.DruidVine1]:cj,[yH.CrowExplosion1]:uj,[yH.BladeMasterAfterImage]:fj,[yH.PoisonExplodeEffect]:gj,[yH.BackAttackEffect]:wj,[yH.HeroAura1Effect]:_j,[yH.HeroAura2Effect]:yj,[yH.HeroAura3Effect]:Ej,[yH.HeroAura4Effect]:Sj,[yH.HeroAura5Effect]:Cj,[yH.HeroAura6Effect]:kj,[yH.RaidBuffSkillEffect1]:Pj,[yH.RaidBuffSkillEffect2]:Lj,[yH.RaidBuffSkillEffect3]:Gj,[yH.RaidBuffSkillEffect4]:Uj,[yH.RaidBuffSkillEffect5]:Hj} + [SH.MagicalHitEffect]:PH,[SH.PhysicalHitEffect]:LH,[SH.CriticalEffect]:c$,[SH.MissEffect]:M$,[SH.BlockEffect]:o$,[SH.EvadeEffect]:u$,[SH.AkEffect]:h$,[SH.HukEffect]:g$,[SH.PakEffect]:E$,[SH.YapEffect]:O$,[SH.StunImmuneEffect]:C$,[SH.FreezeImmuneEffect]:f$,[SH.KnockbackImmuneEffect]:w$,[SH.MagicalImmuneEffect]:_$,[SH.PhysicalImmuneEffect]:S$,[SH.HumanSkillEffect]:JH,[SH.ElfSkillEffect]:XH,[SH.UndeadSkillEffect]:i$,[SH.OrcSkillEffect]:ZH,[SH.CurseEffect]:xH,[SH.PowerShieldEffect]:VH,[SH.PhysicalShieldEffect]:WH,[SH.MagicalShieldEffect]:HH,[SH.SilenceEffect]:zH,[SH.DarkArcherSkillEffect1]:x$,[SH.PriestLightEffect]:L$,[SH.PriestStartEffect]:U$,[SH.PriestShieldEffect]:G$,[SH.FairyWingEffect]:P$,[SH.BindingEffect]:OH,[SH.RockExplode]:GH,[SH.Smoke]:UH,[SH.EvolEffect]:H$,[SH.EvolEffect2]:W$,[SH.OrcIceExplodeEffect]:V$,[SH.FreezeEffectL]:z$,[SH.FreezeEffectM]:X$,[SH.FreezeEffectS]:J$,[SH.StunEffect]:Z$,[SH.CastleFire1]:iW,[SH.CastleFire2]:eW,[SH.StoneEffect1]:hW,[SH.DeathHandSkillEffect1]:oW,[SH.BomberBigBombExplode1]:_W,[SH.BomberSmallBombExplode1]:cW,[SH.BlackMageBallExplode1]:uW,[SH.FireBallExplode]:fW,[SH.PoisonGreenEffect]:wW,[SH.OrcHunterEvadeBuff]:gW,[SH.AggroEffect]:MW,[SH.PilotMissileSmoke1]:EW,[SH.FireExplode]:SW,[SH.AntRockExplode]:CW,[SH.IceExplode2]:OW,[SH.HealYellow]:xW,[SH.ElectricEffect]:PW,[SH.RoboExplode]:LW,[SH.SuccubusLove]:GW,[SH.SuccubusEffect1]:UW,[SH.FallInLoveEffect]:HW,[SH.Accelerate]:WW,[SH.ElfGlowing1]:VW,[SH.ElfMagicCircle1]:zW,[SH.ElfExplodeEffect1]:JW,[SH.ElfBindEffect1]:XW,[SH.AbyssLightning1]:ZW,[SH.AbyssSkillExplosion1]:ij,[SH.JudegmentMarkEffect1]:ej,[SH.UndeadLightningExplosion1]:hj,[SH.FireExplosion1]:oj,[SH.FireExplosion2]:cj,[SH.AladinGenie1]:uj,[SH.DruidVine1]:fj,[SH.CrowExplosion1]:gj,[SH.BladeMasterAfterImage]:wj,[SH.PoisonExplodeEffect]:_j,[SH.BackAttackEffect]:Mj,[SH.HeroAura1Effect]:Ej,[SH.HeroAura2Effect]:Sj,[SH.HeroAura3Effect]:Cj,[SH.HeroAura4Effect]:Oj,[SH.HeroAura5Effect]:xj,[SH.HeroAura6Effect]:Pj,[SH.RaidBuffSkillEffect1]:Gj,[SH.RaidBuffSkillEffect2]:Uj,[SH.RaidBuffSkillEffect3]:Hj,[SH.RaidBuffSkillEffect4]:Wj,[SH.RaidBuffSkillEffect5]:Vj,[SH.BurntEffect1]:qj,[SH.BurnEffect1]:Yj,[SH.FireSpiritExplosion1]:Qj,[SH.FireSpiritPillar1]:tV,[SH.FireSpiritEmber1]:sV,[SH.FireSpiritOrbit1]:nV,[SH.GriffinSpearFlash1]:rV,[SH.MedusaCoilSnake1]:aV,[SH.MedusaSnakeCrawl1]:lV,[SH.MedusaSnakeStuck1]:dV,[SH.NagaFrost1]:pV,[SH.NagaIceSegment1]:mV,[SH.NagaIceSegment2]:vV}
- var Vj=(t=>(t.NormalArrow="NormalArrow",t.EnergyBall="EnergyBall",t.SpeedArrow="SpeedArrow",t.Bullet1="Bullet1",t.OrcSpearmanSpear1="OrcSpearmanSpear1",t.OrcIceMageFire1="OrcIceMageFire1",t.PoisonArcherArrow1="PoisonArcherArrow1",t.FireBirdBall1="FireBirdBall1",t.GreenEagleBall1="GreenEagleBall1",t.BlackMageBall1="BlackMageBall1",t.BlackMageDarkBall1="BlackMageDarkBall1",t.DarkMageBall1="DarkMageBall1",t.DarkMageSkillBall1="DarkMageSkillBall1",t.GreenEnergyBall="GreenEnergyBall",t.YellowEnergyBall="YellowEnergyBall",t.FairyMusicNote="FairyMusicNote",t.GhostBall1="GhostBall1",t.DarkArcherArrow1="DarkArcherArrow1",t.OrcWingBall1="OrcWingBall1",t.OrcAxeBall1="OrcAxeBall1",t.Twist="Twist",t.FlowerBullet="FlowerBullet",t.Rock="Rock",t.DarkHermitMissile="DarkHermitMissile",t.Pearl="Pearl",t.UniArrow="UniArrow",t.PowerArrow="PowerArrow",t.OrcBlizzardMageRain1="OrcBlizzardMageRain1",t.FireMagicBall1="FireMagicBall1",t.FireMageBird1="FireMageBird1",t.BomberSmallBomb1="BomberSmallBomb1",t.BomberBigBomb1="BomberBigBomb1",t.IceFlake="IceFlake",t.PoisonArcherArrowSkill1="PoisonArcherArrowSkill1",t.OrcIceMageFireSkill1="OrcIceMageFireSkill1",t.PilotMissile1="PilotMissile1",t.FireBullet="FireBullet",t.AntRock1="AntRock1",t.SpeedArrow2="SpeedArrow2",t.MoleFire="MoleFire",t.OrcRapterRiderSpear1="OrcRapterRiderSpear1",t.WyvernRiderThrowingKnife1="WyvernRiderThrowingKnife1",t.WyvernRiderThrowingKnifeS1="WyvernRiderThrowingKnifeS1",t.SuccubusBlade1="SuccubusBlade1",t.SuccubusWeapon="SuccubusWeapon",t.DarkChain1="DarkChain1",t.DruidTangle1="DruidTangle1",t.DruidDrill1="DruidDrill1",t.TigerRiderArrow1="TigerRiderArrow1",t.GriffinSpear1="GriffinSpear1",t.GriffinSuperSpear1="GriffinSuperSpear1",t.SteamFire1="SteamFire1",t.SteamMissile1="SteamMissile1",t.SylphidTornado1="SylphidTornado1",t.SylphidShuriken1="SylphidShuriken1",t.AladinCoin1="AladinCoin1",t.BladeWave1="BladeWave1",t.SpinBlade="SpinBlade",t.CrowKnightBullet1="CrowKnightBullet1",t.CrowCompanion1="CrowCompanion1",t.CrowGuidedBall1="CrowGuidedBall1",t.CrowFeatherShot1="CrowFeatherShot1",t.ScorpionPoisonBullet="ScorpionPoisonBullet",t.ScorpionPoisonArea="ScorpionPoisonArea",t.HarpyFeather="HarpyFeather",t.HarpyTornado="HarpyTornado",t.AladinGenieBoomerang="AladinGenieBoomerang",t.GolemStone="GolemStone",t.BerialLightning="BerialLightning",t.BerialLightningArea="BerialLightningArea",t.BerialFire="BerialFire",t.SummonDragon="SummonDragon",t.DKSpear="DKSpear",t))(Vj||{ + var MV=(t=>(t.NormalArrow="NormalArrow",t.EnergyBall="EnergyBall",t.SpeedArrow="SpeedArrow",t.Bullet1="Bullet1",t.OrcSpearmanSpear1="OrcSpearmanSpear1",t.OrcIceMageFire1="OrcIceMageFire1",t.PoisonArcherArrow1="PoisonArcherArrow1",t.FireBirdBall1="FireBirdBall1",t.GreenEagleBall1="GreenEagleBall1",t.BlackMageBall1="BlackMageBall1",t.BlackMageDarkBall1="BlackMageDarkBall1",t.DarkMageBall1="DarkMageBall1",t.DarkMageSkillBall1="DarkMageSkillBall1",t.GreenEnergyBall="GreenEnergyBall",t.YellowEnergyBall="YellowEnergyBall",t.FairyMusicNote="FairyMusicNote",t.GhostBall1="GhostBall1",t.DarkArcherArrow1="DarkArcherArrow1",t.OrcWingBall1="OrcWingBall1",t.OrcAxeBall1="OrcAxeBall1",t.Twist="Twist",t.FlowerBullet="FlowerBullet",t.Rock="Rock",t.DarkHermitMissile="DarkHermitMissile",t.Pearl="Pearl",t.UniArrow="UniArrow",t.PowerArrow="PowerArrow",t.OrcBlizzardMageRain1="OrcBlizzardMageRain1",t.FireMagicBall1="FireMagicBall1",t.FireMageBird1="FireMageBird1",t.BomberSmallBomb1="BomberSmallBomb1",t.BomberBigBomb1="BomberBigBomb1",t.IceFlake="IceFlake",t.PoisonArcherArrowSkill1="PoisonArcherArrowSkill1",t.OrcIceMageFireSkill1="OrcIceMageFireSkill1",t.PilotMissile1="PilotMissile1",t.FireBullet="FireBullet",t.AntRock1="AntRock1",t.SpeedArrow2="SpeedArrow2",t.MoleFire="MoleFire",t.OrcRapterRiderSpear1="OrcRapterRiderSpear1",t.WyvernRiderThrowingKnife1="WyvernRiderThrowingKnife1",t.WyvernRiderThrowingKnifeS1="WyvernRiderThrowingKnifeS1",t.SuccubusBlade1="SuccubusBlade1",t.SuccubusWeapon="SuccubusWeapon",t.DarkChain1="DarkChain1",t.DruidTangle1="DruidTangle1",t.DruidDrill1="DruidDrill1",t.TigerRiderArrow1="TigerRiderArrow1",t.GriffinSpear1="GriffinSpear1",t.GriffinSuperSpear1="GriffinSuperSpear1",t.FireAttack1="FireAttack1",t.FireTornado1="FireTornado1",t.FireOrb1="FireOrb1",t.MedusaArrow1="MedusaArrow1",t.NagaIceArrow1="NagaIceArrow1",t.HippogriffMissile1="HippogriffMissile1",t.HippogriffSpear1="HippogriffSpear1",t.SteamFire1="SteamFire1",t.SteamMissile1="SteamMissile1",t.SylphidTornado1="SylphidTornado1",t.SylphidShuriken1="SylphidShuriken1",t.AladinCoin1="AladinCoin1",t.BladeWave1="BladeWave1",t.SpinBlade="SpinBlade",t.CrowKnightBullet1="CrowKnightBullet1",t.CrowCompanion1="CrowCompanion1",t.CrowGuidedBall1="CrowGuidedBall1",t.CrowFeatherShot1="CrowFeatherShot1",t.ScorpionPoisonBullet="ScorpionPoisonBullet",t.ScorpionPoisonArea="ScorpionPoisonArea",t.HarpyFeather="HarpyFeather",t.HarpyTornado="HarpyTornado",t.AladinGenieBoomerang="AladinGenieBoomerang",t.GolemStone="GolemStone",t.BerialLightning="BerialLightning",t.BerialLightningArea="BerialLightningArea",t.BerialFire="BerialFire",t.SummonDragon="SummonDragon",t.DKSpear="DKSpear",t))(MV||{
SteamFire1 1 hunks, 2 statements
- constructor(){ - super(...arguments),Yt(this,"missileSpeed",10),Yt(this,"turnRate",.18),Yt(this,"maxAngleY",.54),Yt(this,"maxLifeTime",90),Yt(this,"heading",0)}
Druid1 1 hunks, 2 statements
+ remove(){ + this.cleanupAllVines(),this.tendrils.length=0,this.cleanupEagles(),super.remove()}
SpriteBattleReadyPopup 2 hunks, 2 statements
+ var t;
- )} + ,null==(t=e.body)?void 0:t.reward)}
MineRewardPopup 2 hunks, 2 statements
- if("petPiece"!==s.type)return!1; + if("petPiece"!==s.type&&"priestessPiece"!==s.type)return!1;
- case"petPiece":return{ + case"petPiece":case"priestestPiece":return{
CastleSubMenu 1 hunks, 2 statements
+ ,{ + kindNum:5,nameKey:"GAME_1700",defaultName:"정령의 성소",descKey:"GAME_1701",defaultDesc:"정령의 고원에서 펫 조각을 추가로 획득할 확률을 높여줍니다.",icon:"Citadel5",popupType:"sanctuary"}
GuildBarrackRowItemRenderer 2 hunks, 2 statements
- ...yL.DEFAULT_OUTLINE_FONT_OPTION_16,fontSize:14} + ...AL.DEFAULT_OUTLINE_FONT_OPTION_16,fontSize:14}
- ...yL.DEFAULT_OUTLINE_FONT_OPTION_16,fontSize:13} + ...AL.DEFAULT_OUTLINE_FONT_OPTION_16,fontSize:13}
GuildWarBattleReadyPopup 2 hunks, 2 statements
- ...yL.DEFAULT_OUTLINE_FONT_OPTION_16,fontSize:13} + ...AL.DEFAULT_OUTLINE_FONT_OPTION_16,fontSize:13}
- ...yL.DEFAULT_OUTLINE_FONT_OPTION_16,fontSize:i} + ...AL.DEFAULT_OUTLINE_FONT_OPTION_16,fontSize:i}
GuildWarSquadsPopup 2 hunks, 2 statements
- ...yL.DEFAULT_OUTLINE_FONT_OPTION_16,fontSize:14} + ...AL.DEFAULT_OUTLINE_FONT_OPTION_16,fontSize:14}
- ...yL.DEFAULT_OUTLINE_FONT_OPTION_16,fontSize:i} + ...AL.DEFAULT_OUTLINE_FONT_OPTION_16,fontSize:i}
GuildWarTierAssignPopup 2 hunks, 2 statements
- const i=[...jL.memberList??[]].sort((t,i)=>i.roleLevel!==t.roleLevel?i.roleLevel-t.roleLevel:(i.wave??0)-(t.wave??0)); + const i=[...zL.memberList??[]].sort((t,i)=>i.roleLevel!==t.roleLevel?i.roleLevel-t.roleLevel:(i.wave??0)-(t.wave??0));
- ...yL.DEFAULT_OUTLINE_FONT_OPTION_16,fontSize:i} + ...AL.DEFAULT_OUTLINE_FONT_OPTION_16,fontSize:i}
ObservablePoint 1 hunks, 1 statements
- var t,i,s,e,n,h,r,o,a,c,l,u,d,f,p,g,m,w,v,_,b,y,M,E,A,S,T,C,I,k,O,x,R,P,N,L,D,G,B,U,F,H,$,W,j,V,K,z,q,Y,X,J,Q,Z,tt,it,st,et,nt,ht,rt,ot,at,ct,lt,ut,dt,ft,pt,gt,mt,wt,vt,_t,bt,yt,Mt,Et,At,St,Tt,Ct,It,kt,Ot,xt,Rt,Pt,Nt,Lt,Dt,Gt,Bt,Ut,Ft,Ht,$t,Wt,jt,Vt,Kt,zt=Object.defineProperty,qt=(t,i)=>zt(t,"name",{ + var t,i,s,e,n,h,r,o,a,c,l,u,d,f,p,g,m,w,v,_,b,M,y,E,A,S,T,C,I,O,k,x,R,P,N,L,D,G,B,U,F,H,$,W,j,V,K,z,q,X,Y,J,Q,Z,tt,it,st,et,nt,ht,rt,ot,at,ct,lt,ut,dt,ft,pt,gt,mt,wt,vt,_t,bt,Mt,yt,Et,At,St,Tt,Ct,It,Ot,kt,xt,Rt,Pt,Nt,Lt,Dt,Gt,Bt,Ut,Ft,Ht,$t,Wt,jt,Vt,Kt,zt,qt=Object.defineProperty,Xt=(t,i)=>qt(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} + ...Zi.defaultOptions,autoLoad:!0,autoPlay:!0,updateFPS:0,crossorigin:!0,loop:!1,muted:!0,playsinline:!0,preload:!1}
ApplicationInitHook 1 hunks, 1 statements
- const i=[...Jr,...this.config.runners??[]]; + const i=[...Qr,...this.config.runners??[]];
DefaultShader 1 hunks, 1 statements
- name:i,...uc({ + name:i,...dc({
GpuGraphicsContext 1 hunks, 1 statements
- ..."radial"===i.type?b.defaultRadialOptions:b.defaultLinearOptions,...Ki(i)} + ..."radial"===i.type?b.defaultRadialOptions:b.defaultLinearOptions,...zi(i)}
AssetsClass 1 hunks, 1 statements
- ...wn.defaultOptions,resolution:(null==(e=i.data)?void 0:e.resolution)||Nu(t),alphaMode:(null==(n=i.data)?void 0:n.alphaMode)||await gn(),...i.data} + ...vn.defaultOptions,resolution:(null==(e=i.data)?void 0:e.resolution)||Lu(t),alphaMode:(null==(n=i.data)?void 0:n.alphaMode)||await mn(),...i.data}
WorkerInstance 1 hunks, 1 statements
- return bd=[..._d,...t],bd} + return Md=[...bd,...t],Md}
DOMPipe 1 hunks, 1 statements
- return Nd=Dd(i),[...Nd,...t]} + return Ld=Gd(i),[...Ld,...t]}
HTMLTextStyle 1 hunks, 1 statements
- ...Cg.defaultDropShadow,...t} + ...Ig.defaultDropShadow,...t}
GlUboSystem 1 hunks, 1 statements
- ...N_,"mat2x2<f32>":"\n data[offset] = v[0]; + ...L_,"mat2x2<f32>":"\n data[offset] = v[0];
FrameLoopManager 1 hunks, 1 statements
- __proto__:null,AbstractBitmapFont:Kg,AbstractRenderer:io,AbstractText:Sp,AbstractTextSystem:Ug,AccessibilitySystem:ph,AlphaMask:Xe,AlphaMaskPipe:Ym,AnimatedSprite:Vf,Application:wo,ApplicationInitHook:ao,Assets:cd,AssetsClass:ad,BLEND_TO_NPM:ya,BREAKING_SPACES:Vp,BREAKING_SPACES_SET:Kp,BREAK_AFTER_CHARS:Yp,BREAK_AFTER_CHARS_SET:Xp,BUFFER_TYPE:qv,BackgroundLoader:So,BackgroundSystem:zw,Batch:Ra,BatchGeometry:Xa,BatchTextureArray:Oa,BatchableGraphics:qc,BatchableHTMLText:vm,BatchableMesh:Wf,BatchableSprite:xg,BatchableText:Pg,Batcher:Ua,BatcherPipe:$m,BigPool:qs,BindGroup:ir,BindGroupSystem:ey,BitmapFont:xM,BitmapFontManager:sm,BlendModePipe:Lw,Bounds:as,BrowserAdapter:sn,Buffer:Ha,BufferImageSource:ts,BufferResource:V_,BufferUsage:Fa,CLEAR:qr,COLLAPSIBLE_SPACES:zp,COLLAPSIBLE_SPACES_SET:qp,Cache:bn,CanvasBatchAdaptor:Lm,CanvasColorMaskPipe:Jm,CanvasContextSystem:uw,CanvasGraphicsAdaptor:Ow,CanvasGraphicsContextSystem:Of,CanvasGraphicsPipe:Rf,CanvasLimitsSystem:fw,CanvasNineSliceSpritePipe:yM,CanvasObserver:Vn,CanvasPool:kp,CanvasPoolClass:Ip,CanvasRenderTargetAdaptor:Nv,CanvasRenderTargetSystem:Dv,CanvasRenderer:Kv,CanvasRendererTextSystem:Hg,CanvasSource:rn,CanvasStencilMaskPipe:nw,CanvasTextGenerator:Sg,CanvasTextMetrics:wg,CanvasTextPipe:Lg,CanvasTextSystem:Wg,CanvasTextureSystem:Bv,CanvasTilingSpritePipe:sp,Circle:ra,Color:Fs,ColorMask:Qe,ColorMaskPipe:Zm,ColorMatrixFilter:rf,CompressedSource:gd,Container:Fe,CustomRenderPipe:gw,DEG_TO_RAD:mi,DOMAdapter:nn,DOMPipe:Bd,DefaultBatcher:Fc,DefaultShader:Gc,DynamicBitmapFont:qg,Ellipse:aa,EventBoundary:Xd,EventEmitter:di,EventSystem:Zd,EventsTicker:Fd,ExtensionType:ti,ExtractSystem:Xw,FederatedContainer:tf,FederatedEvent:zn,FederatedMouseEvent:$d,FederatedPointerEvent:jd,FederatedWheelEvent:Kd,FillGradient:ul,FillPattern:wu,Filter:cr,FilterEffect:te,FilterPipe:df,FilterSystem:_f,FontStylePromiseCache:Sm,GCManagedHash:$c,GCSystem:ov,GL_FORMATS:e_,GL_TARGETS:n_,GL_TYPES:h_,GPUTextureGpuData:sM,GenerateTextureSystem:ev,Geometry:Ka,GlBackBufferSystem:g_,GlBatchAdaptor:Gm,GlBuffer:Xv,GlBufferSystem:Qv,GlColorMaskSystem:w_,GlContextSystem:t_,GlEncoderSystem:__,GlGeometryGpuData:l_,GlGeometrySystem:d_,GlGraphicsAdaptor:jb,GlLimitsSystem:y_,GlMeshAdaptor:Kb,GlProgram:Ph,GlProgramData:q_,GlRenderTarget:E_,GlRenderTargetAdaptor:H_,GlRenderTargetSystem:W_,GlShaderSystem:ub,GlStateSystem:_b,GlStencilSystem:T_,GlTexture:yb,GlTextureSystem:$b,GlUboSystem:U_,GlUniformGroupSystem:mb,GlobalResourceRegistry:js,GlobalUniformSystem:cv,GpuBatchAdaptor:Fm,GpuBlendModesToPixi:$y,GpuBufferData:hy,GpuBufferSystem:oy,GpuColorMaskSystem:uy,GpuDeviceSystem:fy,GpuEncoderSystem:gy,GpuGraphicsAdaptor:rM,GpuGraphicsContext:Tl,GpuLimitsSystem:wy,GpuMeshAdapter:aM,GpuMipmapGenerator:tM,GpuProgram:qh,GpuRenderTarget:Ly,GpuRenderTargetAdaptor:Gy,GpuRenderTargetSystem:Uy,GpuShaderSystem:Hy,GpuStateSystem:jy,GpuStencilModesToPixi:A_,GpuStencilSystem:_y,GpuTextureSystem:nM,GpuUboSystem:Sy,GpuUniformBatchPipe:Iy,Graphics:Uf,GraphicsContext:Pu,GraphicsContextRenderData:Il,GraphicsContextSystem:Ol,GraphicsGpuData:Lf,GraphicsPath:Zl,GraphicsPipe:Gf,HTMLText:Pm,HTMLTextPipe:bm,HTMLTextRenderData:gm,HTMLTextStyle:lm,HTMLTextSystem:xm,HelloSystem:mv,ImageSource:an,InstructionSet:Ie,Loader:Bo,LoaderParserPriority:Sn,MaskEffectManager:ee,MaskEffectManagerClass:se,MaskFilter:Af,Matrix:yi,MeshGeometry:Hf,NEWLINES:Wp,NEWLINES_SET:jp,NEWLINE_MATCH_REGEX:Qp,NEWLINE_SPLIT_REGEX:Jp,NOOP:Wi,NineSliceGeometry:EM,NineSliceSprite:kM,NineSliceSpriteGpuData:SM,NineSliceSpritePipe:CM,ObservablePoint:oi,PI_2:pi,PassthroughFilter:lf,PipelineSystem:Py,PlaneGeometry:_M,Point:vi,Polygon:ua,Pool:Vs,PoolGroupClass:zs,QuadGeometry:fp,RAD_TO_DEG:gi,Rectangle:Li,RenderGroup:Ne,RenderGroupPipe:vw,RenderGroupSystem:Vw,RenderTarget:Mv,RenderTargetSystem:Rv,RenderTexture:Qw,RenderableGCSystem:vv,RendererInitHook:lo,RendererType:sr,ResizePlugin:fo,Resolver:Dn,RoundedRectangle:pa,STENCIL_MODES:Ma,SVGParser:fu,SchedulerSystem:dv,Shader:nr,ShaderStage:$h,ShapePath:Jl,SharedRenderPipes:Iv,SharedSystems:Cv,Sprite:je,SpritePipe:Rw,Spritesheet:Fn,State:or,StencilMask:tn,StencilMaskPipe:rw,SystemRunner:Xr,Text:jg,TextStyle:Cg,Texture:ns,TextureGCSystem:bv,TextureMatrix:es,TexturePool:Re,TexturePoolClass:xe,TextureSource:Qi,TextureStyle:Xi,Ticker:pn,TickerListener:un,TickerPlugin:go,TilingSprite:Ep,TilingSpriteGpuData:_p,TilingSpritePipe:yp,TilingSpriteShader:up,Transform:qf,UNIFORM_TO_ARRAY_SETTERS:fb,UNIFORM_TO_SINGLE_SETTERS:db,UNIFORM_TYPES_MAP:Xh,UNIFORM_TYPES_VALUES:Yh,UPDATE_BLEND:2,UPDATE_COLOR:1,UPDATE_PRIORITY:cn,UPDATE_VISIBLE:4,UboBatch:cy,UboSystem:I_,UniformGroup:Zh,VERSION:ro,VideoSource:wn,ViewContainer:$e,ViewSystem:Tv,ViewableBuffer:_a,WGSL_ALIGN_SIZE_DATA:by,WGSL_TO_STD40_SIZE:k_,WebGLRenderer:ty,WebGPURenderer:mM,WorkerManager:Ku,accessibilityTarget:gh,addBits:Ja,addMaskBounds:Ke,addMaskLocalBounds:ze,addProgramDefines:Eh,appendSVGPath:du,applyMatrix:gp,applyStyleParams:Db,assignWithIgnore:Le,autoDetectRenderer:ho,bgr2rgb:me,bitmapFontCachePlugin:Mo,bitmapFontTextParser:vo,bitmapFontXMLParser:_o,bitmapFontXMLStringParser:bo,blockDataMap:Ky,boundsPool:oe,browserExt:ni,buildAdaptiveBezier:Rl,buildAdaptiveQuadratic:Ll,buildArc:Bl,buildArcTo:Ul,buildArcToSvg:Kl,buildCircle:Yc,buildContextBatches:yl,buildEllipse:Xc,buildLine:sl,buildPixelLine:el,buildPolygon:rl,buildRectangle:ol,buildRoundedRectangle:Jc,buildSimpleUvs:jc,buildTriangle:al,buildUvs:Wc,cacheAsTextureMixin:Ys,cacheTextureArray:To,calculatePathArea:uu,calculateProjection:kv,canUseNewCanvasBlendModes:Xf,canvasUtils:Jf,checkChildrenDidChange:be,checkDataUrl:Uo,checkExtension:Fo,checkForNestedPattern:cu,checkMaxIfStatementsInShader:Ta,childrenHelperMixin:Js,cleanArray:hv,cleanHash:nv,clearList:Dw,closePointEps:Qc,collapseNewlines:ng,collapseSpaces:eg,collectRenderablesMixin:Qs,color32BitToUniform:Pf,colorBit:Ec,colorBitGl:Ac,colorMatrixFilterFrag:ef,colorMatrixFilterWgsl:nf,compareModeToGlCompare:Lb,compileHighShader:lc,compileHighShaderGl:uc,compileHighShaderGlProgram:Mc,compileHighShaderGpuProgram:yc,compileHooks:Za,compileInputs:ic,compileOutputs:hc,compileShader:Y_,convertToList:vn,copySearchParams:Bn,createGlUploadCubeTextureResource:Tb,createGpuUploadCubeTextureResource:Xy,createIdFromString:vh,createStringVariations:Pn,createTexture:Lu,createUboElementsSTD40:O_,createUboElementsWGSL:yy,createUboSyncFunction:R_,createUboSyncFunctionSTD40:G_,createUboSyncFunctionWGSL:Ey,crossOrigin:td,cullingMixin:Hs,curveEps:1e-4,defaultFilterVert:sf,defaultValue:J_,definedProps:Ki,deprecation:$i,detectAvif:Io,detectCompressed:Ld,detectDefaults:Oo,detectMp4:Po,detectOgv:No,detectVideoAlphaMode:gn,detectWebm:Lo,detectWebp:Do,determineCrossOrigin:sd,earcut:zr,effectsMixin:ne,ensureAttributes:i_,ensureIsBuffer:$a,ensurePrecision:Ah,ensureTextOptions:Tp,executeInstructions:mw,extensions:ei,extractAttributesFromGlProgram:eb,extractAttributesFromGpuProgram:Fh,extractFontFamilies:Mm,extractStructAndGroups:Hh,extractSubpaths:lu,extractSvgUrlId:hu,fastCopy:ba,findMixin:he,fontStringFromTextStyle:_g,fragmentGPUTemplate:mc,fragmentGlTemplate:vc,generateArraySyncSTD40:D_,generateArraySyncWGSL:My,generateGpuLayoutGroups:Wh,generateLayoutHash:jh,generateProgram:ab,generateShaderSyncCode:K_,generateTextureBatchBit:Ic,generateTextureBatchBitGl:xc,generateTextureMatrix:wl,generateUniformsSync:pb,getAdjustedBlendModeBlend:Ea,getAttributeInfoFromFormat:Lh,getBatchSamplersUniformGroup:Lc,getBitmapTextLayout:Yg,getCanvasBoundingBox:Lp,getCanvasFillStyle:yg,getCanvasTexture:Av,getCharacterGroups:og,getDefaultUniformValue:Jh,getFastGlobalBoundsMixin:ce,getFontCss:Tm,getFontFamilyName:zo,getGeometryBounds:Wa,getGlTypeFromFormat:o_,getGlobalBounds:le,getGlobalMixin:we,getGlobalRenderableBounds:pf,getLocalBounds:ve,getMaxFragmentPrecision:Mh,getMaxMiterRatio:ku,getMaxTexturesPerBatch:Ia,getOrientationOfPoints:Zc,getPo2TextureFromSource:Gg,getResolutionOfUrl:Nu,getSVGUrl:Cm,getSupportedCompressedTextureFormats:vd,getSupportedGPUCompressedTextureFormats:wd,getSupportedGlCompressedTextureFormats:md,getSupportedTextureFormats:yd,getTemporaryCanvasFromImage:Im,getTestContext:yh,getTextureBatchBindGroup:ma,getUboData:nb,getUniformData:hb,getUrlExtension:Gn,glUploadBufferImageResource:Mb,glUploadCompressedTextureResource:Ab,glUploadImageResource:Cb,glUploadVideoResource:xb,globalUniformsBit:_c,globalUniformsBitGl:bc,gpuUploadBufferImageResource:Vy,gpuUploadCompressedTextureResource:qy,gpuUploadImageResource:Jy,gpuUploadVideoResource:Qy,groupD8:Ri,hasTagMarkup:Fp,hasTagStyles:Up,injectBits:rc,insertVersion:Sh,isBreakAfterChar:sg,isBreakingSpace:tg,isCollapsibleSpace:ig,isMobile:dh,isNewline:Zp,isPow2:Vi,isRenderingToScreen:Ov,isSafari:ym,isSingleItem:Nn,isWebGLSupported:so,isWebGPUSupported:eo,ktxTranscoderUrls:Sd,loadBitmapFont:Eo,loadEnvironmentExtensions:ur,loadFontAsBase64:Em,loadFontCSS:Am,loadImageBitmap:Yu,loadJson:Ho,loadKTX2:xd,loadKTX2onWorker:Od,loadSVGImage:km,loadSvg:Du,loadTextures:Xu,loadTxt:$o,loadVideoTextures:nd,loadWebFont:Xo,localUniformBit:ep,localUniformBitGl:hp,localUniformBitGroup2:np,logProgramError:ob,mapCanvasBlendModesToPixi:aw,mapFormatToGlFormat:Gb,mapFormatToGlInternalFormat:Bb,mapFormatToGlType:Ub,mapGlToVertexFormat:sb,mapType:ib,mapViewDimensionToGlTarget:Fb,mapWebGLBlendModesToPixi:wb,maskFrag:bf,maskVert:yf,maskWgsl:Mf,matrixPool:re,measureHtmlText:mm,measureMixin:Me,measureTaggedText:cg,mipmapScaleModeToGlFilter:Pb,multiplyColors:ge,multiplyHexColors:fe,nextPow2:ji,nonCompressedFormats:_d,normalizeExtensionPriority:si,onRenderMixin:Ee,parseSVGDefinitions:su,parseSVGFloatAttribute:iu,parseSVGPath:na,parseSVGStyle:ou,parseTaggedText:$p,passthroughFrag:of,passthroughWgsl:af,path:xn,preloadVideo:id,removeItems:Xs,removeStructAndGroupDuplicates:Vh,resolveCharacters:Zg,resolveCompressedTextureUrl:Pd,resolveJsonUrl:rd,resolveTextureUrl:hd,resourceToTexture:En,roundPixelsBit:Rc,roundPixelsBitGl:Pc,roundedShapeArc:zl,roundedShapeQuadraticCurve:ql,sayHello:pv,scaleModeToGlFilter:Rb,setPositions:pp,setProgramName:Ih,setUvs:mp,shapeBuilders:vl,sortMixin:Ae,spritesheetAsset:Wn,squaredDistanceToLineSegment:ca,stripVersion:kh,styleAttributes:ru,testImageFormat:Co,testVideoFormat:Ro,textStyleToCSS:em,textureBit:Wm,textureBitGl:jm,textureFrom:An,tilingBit:rp,tilingBitGl:op,toFillStyle:Cu,toLocalGlobalMixin:Te,toStrokeStyle:Iu,tokenize:rg,tokenizeTaggedRuns:ug,transformVertices:Vc,triangulateWithHoles:nl,trimRight:hg,uboSyncFunctionsSTD40:N_,uboSyncFunctionsWGSL:L_,uid:Gi,uniformParsers:x_,unsafeEvalSupported:fr,updateQuadBounds:hs,updateRenderGroupTransform:Uw,updateRenderGroupTransforms:Bw,updateTextBounds:kg,updateTransformAndChildren:Fw,updateTransformBackwards:de,v8_0_0:Ui,v8_3_4:Fi,validFormats:Rd,validateRenderables:$w,vertexGPUTemplate:gc,vertexGlTemplate:wc,warn:Ws,webworkerExt:hi,wordWrap:pg,wordWrapTaggedLines:lg,wrapModeToGlAddress:Nb} + __proto__:null,AbstractBitmapFont:zg,AbstractRenderer:so,AbstractText:Tp,AbstractTextSystem:Fg,AccessibilitySystem:gh,AlphaMask:Je,AlphaMaskPipe:Ym,AnimatedSprite:Kf,Application:vo,ApplicationInitHook:co,Assets:ld,AssetsClass:cd,BLEND_TO_NPM:ya,BREAKING_SPACES:Kp,BREAKING_SPACES_SET:zp,BREAK_AFTER_CHARS:Yp,BREAK_AFTER_CHARS_SET:Jp,BUFFER_TYPE:Xv,BackgroundLoader:To,BackgroundSystem:qw,Batch:Pa,BatchGeometry:Ja,BatchTextureArray:xa,BatchableGraphics:Xc,BatchableHTMLText:_m,BatchableMesh:jf,BatchableSprite:Rg,BatchableText:Ng,Batcher:Fa,BatcherPipe:Wm,BigPool:Xs,BindGroup:sr,BindGroupSystem:nM,BitmapFont:Ry,BitmapFontManager:em,BlendModePipe:Dw,Bounds:cs,BrowserAdapter:en,Buffer:$a,BufferImageSource:is,BufferResource:K_,BufferUsage:Ha,CLEAR:Xr,COLLAPSIBLE_SPACES:qp,COLLAPSIBLE_SPACES_SET:Xp,Cache:Mn,CanvasBatchAdaptor:Dm,CanvasColorMaskPipe:Qm,CanvasContextSystem:dw,CanvasGraphicsAdaptor:xw,CanvasGraphicsContextSystem:xf,CanvasGraphicsPipe:Pf,CanvasLimitsSystem:pw,CanvasNineSliceSpritePipe:yy,CanvasObserver:Kn,CanvasPool:kp,CanvasPoolClass:Op,CanvasRenderTargetAdaptor:Lv,CanvasRenderTargetSystem:Gv,CanvasRenderer:zv,CanvasRendererTextSystem:$g,CanvasSource:on,CanvasStencilMaskPipe:hw,CanvasTextGenerator:Tg,CanvasTextMetrics:vg,CanvasTextPipe:Dg,CanvasTextSystem:jg,CanvasTextureSystem:Uv,CanvasTilingSpritePipe:ep,Circle:oa,Color:Hs,ColorMask:Ze,ColorMaskPipe:tw,ColorMatrixFilter:of,CompressedSource:md,Container:He,CustomRenderPipe:mw,DEG_TO_RAD:wi,DOMAdapter:hn,DOMPipe:Ud,DefaultBatcher:Hc,DefaultShader:Bc,DynamicBitmapFont:Xg,Ellipse:ca,EventBoundary:Jd,EventEmitter:fi,EventSystem:tf,EventsTicker:Hd,ExtensionType:ii,ExtractSystem:Jw,FederatedContainer:sf,FederatedEvent:qn,FederatedMouseEvent:Wd,FederatedPointerEvent:Vd,FederatedWheelEvent:zd,FillGradient:dl,FillPattern:vu,Filter:lr,FilterEffect:ie,FilterPipe:ff,FilterSystem:bf,FontStylePromiseCache:Tm,GCManagedHash:Wc,GCSystem:av,GL_FORMATS:n_,GL_TARGETS:h_,GL_TYPES:r_,GPUTextureGpuData:ey,GenerateTextureSystem:nv,Geometry:za,GlBackBufferSystem:m_,GlBatchAdaptor:Bm,GlBuffer:Jv,GlBufferSystem:Zv,GlColorMaskSystem:v_,GlContextSystem:i_,GlEncoderSystem:b_,GlGeometryGpuData:u_,GlGeometrySystem:f_,GlGraphicsAdaptor:Vb,GlLimitsSystem:y_,GlMeshAdaptor:zb,GlProgram:Nh,GlProgramData:X_,GlRenderTarget:A_,GlRenderTargetAdaptor:$_,GlRenderTargetSystem:j_,GlShaderSystem:db,GlStateSystem:bb,GlStencilSystem:C_,GlTexture:yb,GlTextureSystem:Wb,GlUboSystem:F_,GlUniformGroupSystem:wb,GlobalResourceRegistry:Vs,GlobalUniformSystem:lv,GpuBatchAdaptor:Hm,GpuBlendModesToPixi:WM,GpuBufferData:rM,GpuBufferSystem:aM,GpuColorMaskSystem:dM,GpuDeviceSystem:pM,GpuEncoderSystem:mM,GpuGraphicsAdaptor:oy,GpuGraphicsContext:Cl,GpuLimitsSystem:vM,GpuMeshAdapter:cy,GpuMipmapGenerator:iy,GpuProgram:Xh,GpuRenderTarget:DM,GpuRenderTargetAdaptor:BM,GpuRenderTargetSystem:FM,GpuShaderSystem:$M,GpuStateSystem:VM,GpuStencilModesToPixi:S_,GpuStencilSystem:bM,GpuTextureSystem:hy,GpuUboSystem:TM,GpuUniformBatchPipe:OM,Graphics:Ff,GraphicsContext:Nu,GraphicsContextRenderData:Ol,GraphicsContextSystem:xl,GraphicsGpuData:Df,GraphicsPath:tu,GraphicsPipe:Bf,HTMLText:Nm,HTMLTextPipe:Mm,HTMLTextRenderData:mm,HTMLTextStyle:um,HTMLTextSystem:Rm,HelloSystem:wv,ImageSource:cn,InstructionSet:Oe,Loader:Uo,LoaderParserPriority:Tn,MaskEffectManager:ne,MaskEffectManagerClass:ee,MaskFilter:Sf,Matrix:yi,MeshGeometry:$f,NEWLINES:jp,NEWLINES_SET:Vp,NEWLINE_MATCH_REGEX:Zp,NEWLINE_SPLIT_REGEX:Qp,NOOP:ji,NineSliceGeometry:Ay,NineSliceSprite:ky,NineSliceSpriteGpuData:Ty,NineSliceSpritePipe:Iy,ObservablePoint:ai,PI_2:gi,PassthroughFilter:uf,PipelineSystem:NM,PlaneGeometry:by,Point:_i,Polygon:da,Pool:Ks,PoolGroupClass:qs,QuadGeometry:pp,RAD_TO_DEG:mi,Rectangle:Di,RenderGroup:Le,RenderGroupPipe:_w,RenderGroupSystem:Kw,RenderTarget:Ev,RenderTargetSystem:Pv,RenderTexture:Zw,RenderableGCSystem:_v,RendererInitHook:uo,RendererType:er,ResizePlugin:po,Resolver:Gn,RoundedRectangle:ga,STENCIL_MODES:Ea,SVGParser:pu,SchedulerSystem:fv,Shader:hr,ShaderStage:Wh,ShapePath:Ql,SharedRenderPipes:Ov,SharedSystems:Iv,Sprite:Ve,SpritePipe:Pw,Spritesheet:Hn,State:ar,StencilMask:sn,StencilMaskPipe:ow,SystemRunner:Jr,Text:Vg,TextStyle:Ig,Texture:hs,TextureGCSystem:Mv,TextureMatrix:ns,TexturePool:Pe,TexturePoolClass:Re,TextureSource:Zi,TextureStyle:Ji,Ticker:gn,TickerListener:dn,TickerPlugin:mo,TilingSprite:Ap,TilingSpriteGpuData:bp,TilingSpritePipe:yp,TilingSpriteShader:dp,Transform:Xf,UNIFORM_TO_ARRAY_SETTERS:pb,UNIFORM_TO_SINGLE_SETTERS:fb,UNIFORM_TYPES_MAP:Jh,UNIFORM_TYPES_VALUES:Yh,UPDATE_BLEND:2,UPDATE_COLOR:1,UPDATE_PRIORITY:ln,UPDATE_VISIBLE:4,UboBatch:lM,UboSystem:O_,UniformGroup:tr,VERSION:oo,VideoSource:vn,ViewContainer:We,ViewSystem:Cv,ViewableBuffer:ba,WGSL_ALIGN_SIZE_DATA:MM,WGSL_TO_STD40_SIZE:k_,WebGLRenderer:iM,WebGPURenderer:wy,WorkerManager:zu,accessibilityTarget:mh,addBits:Qa,addMaskBounds:ze,addMaskLocalBounds:qe,addProgramDefines:Ah,appendSVGPath:fu,applyMatrix:mp,applyStyleParams:Gb,assignWithIgnore:De,autoDetectRenderer:ro,bgr2rgb:we,bitmapFontCachePlugin:Eo,bitmapFontTextParser:_o,bitmapFontXMLParser:bo,bitmapFontXMLStringParser:Mo,blockDataMap:zM,boundsPool:ae,browserExt:hi,buildAdaptiveBezier:Pl,buildAdaptiveQuadratic:Dl,buildArc:Ul,buildArcTo:Fl,buildArcToSvg:zl,buildCircle:Yc,buildContextBatches:yl,buildEllipse:Jc,buildLine:el,buildPixelLine:nl,buildPolygon:ol,buildRectangle:al,buildRoundedRectangle:Qc,buildSimpleUvs:Vc,buildTriangle:cl,buildUvs:jc,cacheAsTextureMixin:Ys,cacheTextureArray:Co,calculatePathArea:du,calculateProjection:kv,canUseNewCanvasBlendModes:Jf,canvasUtils:Qf,checkChildrenDidChange:Me,checkDataUrl:Fo,checkExtension:Ho,checkForNestedPattern:lu,checkMaxIfStatementsInShader:Ca,childrenHelperMixin:Qs,cleanArray:rv,cleanHash:hv,clearList:Gw,closePointEps:Zc,collapseNewlines:hg,collapseSpaces:ng,collectRenderablesMixin:Zs,color32BitToUniform:Nf,colorBit:Ac,colorBitGl:Sc,colorMatrixFilterFrag:nf,colorMatrixFilterWgsl:hf,compareModeToGlCompare:Db,compileHighShader:uc,compileHighShaderGl:dc,compileHighShaderGlProgram:Ec,compileHighShaderGpuProgram:yc,compileHooks:tc,compileInputs:sc,compileOutputs:rc,compileShader:Y_,convertToList:_n,copySearchParams:Un,createGlUploadCubeTextureResource:Cb,createGpuUploadCubeTextureResource:JM,createIdFromString:_h,createStringVariations:Nn,createTexture:Du,createUboElementsSTD40:x_,createUboElementsWGSL:yM,createUboSyncFunction:P_,createUboSyncFunctionSTD40:B_,createUboSyncFunctionWGSL:AM,crossOrigin:id,cullingMixin:$s,curveEps:1e-4,defaultFilterVert:ef,defaultValue:Q_,definedProps:zi,deprecation:Wi,detectAvif:Oo,detectCompressed:Dd,detectDefaults:xo,detectMp4:No,detectOgv:Lo,detectVideoAlphaMode:mn,detectWebm:Do,detectWebp:Go,determineCrossOrigin:ed,earcut:qr,effectsMixin:he,ensureAttributes:s_,ensureIsBuffer:Wa,ensurePrecision:Sh,ensureTextOptions:Cp,executeInstructions:ww,extensions:ni,extractAttributesFromGlProgram:nb,extractAttributesFromGpuProgram:Hh,extractFontFamilies:Em,extractStructAndGroups:$h,extractSubpaths:uu,extractSvgUrlId:ru,fastCopy:Ma,findMixin:re,fontStringFromTextStyle:bg,fragmentGPUTemplate:wc,fragmentGlTemplate:_c,generateArraySyncSTD40:G_,generateArraySyncWGSL:EM,generateGpuLayoutGroups:jh,generateLayoutHash:Vh,generateProgram:cb,generateShaderSyncCode:z_,generateTextureBatchBit:Oc,generateTextureBatchBitGl:Rc,generateTextureMatrix:vl,generateUniformsSync:gb,getAdjustedBlendModeBlend:Aa,getAttributeInfoFromFormat:Dh,getBatchSamplersUniformGroup:Dc,getBitmapTextLayout:Yg,getCanvasBoundingBox:Dp,getCanvasFillStyle:yg,getCanvasTexture:Sv,getCharacterGroups:ag,getDefaultUniformValue:Qh,getFastGlobalBoundsMixin:le,getFontCss:Cm,getFontFamilyName:qo,getGeometryBounds:ja,getGlTypeFromFormat:a_,getGlobalBounds:ue,getGlobalMixin:ve,getGlobalRenderableBounds:gf,getLocalBounds:_e,getMaxFragmentPrecision:Eh,getMaxMiterRatio:ku,getMaxTexturesPerBatch:Oa,getOrientationOfPoints:tl,getPo2TextureFromSource:Bg,getResolutionOfUrl:Lu,getSVGUrl:Im,getSupportedCompressedTextureFormats:_d,getSupportedGPUCompressedTextureFormats:vd,getSupportedGlCompressedTextureFormats:wd,getSupportedTextureFormats:yd,getTemporaryCanvasFromImage:Om,getTestContext:yh,getTextureBatchBindGroup:wa,getUboData:hb,getUniformData:rb,getUrlExtension:Bn,glUploadBufferImageResource:Eb,glUploadCompressedTextureResource:Sb,glUploadImageResource:Ib,glUploadVideoResource:Rb,globalUniformsBit:bc,globalUniformsBitGl:Mc,gpuUploadBufferImageResource:KM,gpuUploadCompressedTextureResource:XM,gpuUploadImageResource:QM,gpuUploadVideoResource:ZM,groupD8:Pi,hasTagMarkup:Hp,hasTagStyles:Fp,injectBits:oc,insertVersion:Th,isBreakAfterChar:eg,isBreakingSpace:ig,isCollapsibleSpace:sg,isMobile:fh,isNewline:tg,isPow2:Ki,isRenderingToScreen:xv,isSafari:ym,isSingleItem:Ln,isWebGLSupported:eo,isWebGPUSupported:no,ktxTranscoderUrls:Td,loadBitmapFont:Ao,loadEnvironmentExtensions:dr,loadFontAsBase64:Am,loadFontCSS:Sm,loadImageBitmap:Yu,loadJson:$o,loadKTX2:Rd,loadKTX2onWorker:xd,loadSVGImage:km,loadSvg:Gu,loadTextures:Ju,loadTxt:Wo,loadVideoTextures:hd,loadWebFont:Jo,localUniformBit:np,localUniformBitGl:rp,localUniformBitGroup2:hp,logProgramError:ab,mapCanvasBlendModesToPixi:cw,mapFormatToGlFormat:Bb,mapFormatToGlInternalFormat:Ub,mapFormatToGlType:Fb,mapGlToVertexFormat:eb,mapType:sb,mapViewDimensionToGlTarget:Hb,mapWebGLBlendModesToPixi:vb,maskFrag:Mf,maskVert:yf,maskWgsl:Ef,matrixPool:oe,measureHtmlText:wm,measureMixin:Ee,measureTaggedText:lg,mipmapScaleModeToGlFilter:Nb,multiplyColors:me,multiplyHexColors:pe,nextPow2:Vi,nonCompressedFormats:bd,normalizeExtensionPriority:ei,onRenderMixin:Ae,parseSVGDefinitions:eu,parseSVGFloatAttribute:su,parseSVGPath:ha,parseSVGStyle:au,parseTaggedText:Wp,passthroughFrag:af,passthroughWgsl:cf,path:Rn,preloadVideo:sd,removeItems:Js,removeStructAndGroupDuplicates:Kh,resolveCharacters:tm,resolveCompressedTextureUrl:Nd,resolveJsonUrl:od,resolveTextureUrl:rd,resourceToTexture:An,roundPixelsBit:Pc,roundPixelsBitGl:Nc,roundedShapeArc:ql,roundedShapeQuadraticCurve:Xl,sayHello:gv,scaleModeToGlFilter:Pb,setPositions:gp,setProgramName:Oh,setUvs:wp,shapeBuilders:_l,sortMixin:Se,spritesheetAsset:jn,squaredDistanceToLineSegment:la,stripVersion:kh,styleAttributes:ou,testImageFormat:Io,testVideoFormat:Po,textStyleToCSS:nm,textureBit:jm,textureBitGl:Vm,textureFrom:Sn,tilingBit:op,tilingBitGl:ap,toFillStyle:Iu,toLocalGlobalMixin:Ce,toStrokeStyle:Ou,tokenize:og,tokenizeTaggedRuns:dg,transformVertices:Kc,triangulateWithHoles:hl,trimRight:rg,uboSyncFunctionsSTD40:L_,uboSyncFunctionsWGSL:D_,uid:Bi,uniformParsers:R_,unsafeEvalSupported:pr,updateQuadBounds:rs,updateRenderGroupTransform:Fw,updateRenderGroupTransforms:Uw,updateTextBounds:kg,updateTransformAndChildren:Hw,updateTransformBackwards:fe,v8_0_0:Fi,v8_3_4:Hi,validFormats:Pd,validateRenderables:Ww,vertexGPUTemplate:mc,vertexGlTemplate:vc,warn:js,webworkerExt:ri,wordWrap:gg,wordWrapTaggedLines:ug,wrapModeToGlAddress:Lb}
VersionManager 1 hunks, 1 statements
- qt(YA,"VersionManager"),Yt(YA,"gameId","ef2"),Yt(YA,"appVersion","1.14.45"); + Xt(JA,"VersionManager"),Yt(JA,"gameId","ef2"),Yt(JA,"appVersion","1.14.67");
EkkorrGame 1 hunks, 1 statements
- await iS.generateTexture("UI_Ekkorr",t,!0)} + await eS.generateTexture("UI_Ekkorr",t,!0),await eS.generateTexture("UI_Ekkorr2",t,!0)}
PetDataManager 1 hunks, 1 statements
- ),ux=(t=>(t.ElfTown5="ElfTown5",t.NWolf="NWolf",t.HorseKnight1="HorseKnight1",t.SkeletonX1="SkeletonX1",t.SkeletonMan1="SkeletonMan1",t.SkeletonMan2="SkeletonMan2",t.SkeletonWarrior1="SkeletonWarrior1",t.GreatHammer1="GreatHammer1",t.ElfArcher1="ElfArcher1",t.HighArcher1="HighArcher1",t.FootMan1="FootMan1",t.Gunner1="Gunner1",t.ElfWarrior1="ElfWarrior1",t.ElfSwordMan1="ElfSwordMan1",t.OrcFighter1="OrcFighter1",t.OrcSpearMan1="OrcSpearMan1",t.OrcHammer1="OrcHammer1",t.OrcHunter1="OrcHunter1",t.OrcIceMage1="OrcIceMage1",t.HeavyWarrior1="HeavyWarrior1",t.HammerKnight1="HammerKnight1",t.PoisonArcher1="PoisonArcher1",t.FireBird1="FireBird1",t.GreenEagle1="GreenEagle1",t.WindMage1="WindMage1",t.OrcFlower="OrcFlower",t.BlackMage1="BlackMage1",t.DarkMage1="DarkMage1",t.Priest1="Priest1",t.Fairy1="Fairy1",t.Ghost1="Ghost1",t.DarkArcher1="DarkArcher1",t.OrcWing1="OrcWing1",t.OrcAxe1="OrcAxe1",t.BigDrumer1="BigDrumer1",t.OrcWolfRider1="OrcWolfRider1",t.OrcBigFoot1="OrcBigFoot1",t.OrcBlizzardMage1="OrcBlizzardMage1",t.FlowerSoldier1="FlowerSoldier1",t.FlowerSoldier2="FlowerSoldier2",t.KingSlime="KingSlime",t.SlimeBlue="SlimeBlue",t.SlimeRed="SlimeRed",t.SlimeYellow="SlimeYellow",t.HammerMole="HammerMole",t.MoleSoldier1="MoleSoldier1",t.MoleSoldier2="MoleSoldier2",t.DarkHermit="DarkHermit",t.Crab="Crab",t.StarFish="StarFish",t.Unicorn1="Unicorn1",t.IceWolf="IceWolf",t.GoldGoblin="GoldGoblin",t.AdsGoblin="AdsGoblin",t.DeathKnight1="DeathKnight1",t.Golem1="Golem1",t.GreatMage1="GreatMage1",t.Ant1="Ant1",t.WolfWarrior1="WolfWarrior1",t.Artillery1="Artillery1",t.Bomber1="Bomber1",t.DeathHand1="DeathHand1",t.SSlime1="SSlime1",t.SSlime2="SSlime2",t.SSlime3="SSlime3",t.OrcIcePhantom1="OrcIcePhantom1",t.Pilot1="Pilot1",t.Spider1="Spider1",t.Spider2="Spider2",t.Boar1="Boar1",t.Boar2="Boar2",t.RoboBomb1="RoboBomb1",t.RoboBomb2="RoboBomb2",t.Frog1="Frog1",t.Frog2="Frog2",t.OrcRapterRider1="OrcRapterRider1",t.WyvernRider1="WyvernRider1",t.DarkNinja1="DarkNinja1",t.Succubus1="Succubus1",t.Druid1="Druid1",t.TigerRider1="TigerRider1",t.GriffinRider1="GriffinRider1",t.SteamPunk1="SteamPunk1",t.Castle0="Castle0",t.Castle1="Castle1",t.Castle2="Castle2",t.WingKnight1="WingKnight1",t.Abyss1="Abyss1",t.Sylphid1="Sylphid1",t.Aladin1="Aladin1",t.Druid2="Druid2",t.BladeMaster1="BladeMaster1",t.CrowKnight1="CrowKnight1",t.Succubus2="Succubus2",t.ScorpionKing="ScorpionKing",t.HarpyKing="HarpyKing",t.GolemKing="GolemKing",t.BerialKing="BerialKing",t.DragonKnight="DragonKnight",t))(ux||{ + ),fx=(t=>(t.ElfTown5="ElfTown5",t.NWolf="NWolf",t.HorseKnight1="HorseKnight1",t.SkeletonX1="SkeletonX1",t.SkeletonMan1="SkeletonMan1",t.SkeletonMan2="SkeletonMan2",t.SkeletonWarrior1="SkeletonWarrior1",t.GreatHammer1="GreatHammer1",t.ElfArcher1="ElfArcher1",t.HighArcher1="HighArcher1",t.FootMan1="FootMan1",t.Gunner1="Gunner1",t.ElfWarrior1="ElfWarrior1",t.ElfSwordMan1="ElfSwordMan1",t.OrcFighter1="OrcFighter1",t.OrcSpearMan1="OrcSpearMan1",t.OrcHammer1="OrcHammer1",t.OrcHunter1="OrcHunter1",t.OrcIceMage1="OrcIceMage1",t.HeavyWarrior1="HeavyWarrior1",t.HammerKnight1="HammerKnight1",t.PoisonArcher1="PoisonArcher1",t.FireBird1="FireBird1",t.GreenEagle1="GreenEagle1",t.WindMage1="WindMage1",t.OrcFlower="OrcFlower",t.BlackMage1="BlackMage1",t.DarkMage1="DarkMage1",t.Priest1="Priest1",t.Fairy1="Fairy1",t.Ghost1="Ghost1",t.DarkArcher1="DarkArcher1",t.OrcWing1="OrcWing1",t.OrcAxe1="OrcAxe1",t.BigDrumer1="BigDrumer1",t.OrcWolfRider1="OrcWolfRider1",t.OrcBigFoot1="OrcBigFoot1",t.OrcBlizzardMage1="OrcBlizzardMage1",t.FlowerSoldier1="FlowerSoldier1",t.FlowerSoldier2="FlowerSoldier2",t.KingSlime="KingSlime",t.SlimeBlue="SlimeBlue",t.SlimeRed="SlimeRed",t.SlimeYellow="SlimeYellow",t.HammerMole="HammerMole",t.MoleSoldier1="MoleSoldier1",t.MoleSoldier2="MoleSoldier2",t.DarkHermit="DarkHermit",t.Crab="Crab",t.StarFish="StarFish",t.Unicorn1="Unicorn1",t.IceWolf="IceWolf",t.GoldGoblin="GoldGoblin",t.AdsGoblin="AdsGoblin",t.DeathKnight1="DeathKnight1",t.Golem1="Golem1",t.GreatMage1="GreatMage1",t.Ant1="Ant1",t.WolfWarrior1="WolfWarrior1",t.Artillery1="Artillery1",t.Bomber1="Bomber1",t.DeathHand1="DeathHand1",t.SSlime1="SSlime1",t.SSlime2="SSlime2",t.SSlime3="SSlime3",t.OrcIcePhantom1="OrcIcePhantom1",t.Pilot1="Pilot1",t.Spider1="Spider1",t.Spider2="Spider2",t.Boar1="Boar1",t.Boar2="Boar2",t.RoboBomb1="RoboBomb1",t.RoboBomb2="RoboBomb2",t.Frog1="Frog1",t.Frog2="Frog2",t.OrcRapterRider1="OrcRapterRider1",t.WyvernRider1="WyvernRider1",t.DarkNinja1="DarkNinja1",t.Succubus1="Succubus1",t.Druid1="Druid1",t.TigerRider1="TigerRider1",t.GriffinRider1="GriffinRider1",t.SteamPunk1="SteamPunk1",t.Castle0="Castle0",t.Castle1="Castle1",t.Castle2="Castle2",t.WingKnight1="WingKnight1",t.Abyss1="Abyss1",t.Sylphid1="Sylphid1",t.Aladin1="Aladin1",t.Druid2="Druid2",t.BladeMaster1="BladeMaster1",t.CrowKnight1="CrowKnight1",t.Succubus2="Succubus2",t.FireSpirit1="FireSpirit1",t.Naga1="Naga1",t.Medusa1="Medusa1",t.Hippogriff1="Hippogriff1",t.ScorpionKing="ScorpionKing",t.HarpyKing="HarpyKing",t.GolemKing="GolemKing",t.BerialKing="BerialKing",t.DragonKnight="DragonKnight",t))(fx||{
UnitBookVO 1 hunks, 1 statements
- Yt(this,"kindNum",0),Yt(this,"className",ux.ElfTown5),Yt(this,"name",""),Yt(this,"tribe",0),Yt(this,"grade",0),Yt(this,"evolKindNum",0),Yt(this,"dmgType",ax.PHYSICAL),Yt(this,"isAir",!1),Yt(this,"unitType",rx.MELEE),Yt(this,"numBlock",0),Yt(this,"atkDmg",0),Yt(this,"def",0),Yt(this,"phyDef",0),Yt(this,"magDef",0),Yt(this,"hp",0),Yt(this,"atkSpd",0),Yt(this,"moveSpd",0),Yt(this,"atkRange",0),Yt(this,"magicShield",0),Yt(this,"physicalShield",0),Yt(this,"numRevive",0),Yt(this,"reviveTime",0),Yt(this,"recovery",0),Yt(this,"level",0),Yt(this,"enhance",0),Yt(this,"id",99999),Yt(this,"sex",lx.MALE),Yt(this,"detect",!1),Yt(this,"cloaking",!1),Yt(this,"canPurchase",!1),Yt(this,"honor",0),Yt(this,"base",0),Yt(this,"evolStage",0),Yt(this,"nAtk",""),Yt(this,"sAtk",""),Yt(this,"goldBuffIds",[]),Yt(this,"goldBuffValues",[]),Yt(this,"uniqueSkill",0),Yt(this,"stunImmune",!1),Yt(this,"freezeImmune",!1),Yt(this,"blowImmune",!1),Yt(this,"knockImmune",!1),Yt(this,"weight",1),Yt(this,"raidCc",[]),Yt(this,"maxTrans",0),Yt(this,"transMaterials",[[],[],[]])} + Yt(this,"kindNum",0),Yt(this,"className",fx.ElfTown5),Yt(this,"name",""),Yt(this,"tribe",0),Yt(this,"grade",0),Yt(this,"evolKindNum",0),Yt(this,"dmgType",lx.PHYSICAL),Yt(this,"isAir",!1),Yt(this,"unitType",ax.MELEE),Yt(this,"numBlock",0),Yt(this,"atkDmg",0),Yt(this,"def",0),Yt(this,"phyDef",0),Yt(this,"magDef",0),Yt(this,"hp",0),Yt(this,"atkSpd",0),Yt(this,"moveSpd",0),Yt(this,"atkRange",0),Yt(this,"magicShield",0),Yt(this,"physicalShield",0),Yt(this,"numRevive",0),Yt(this,"reviveTime",0),Yt(this,"recovery",0),Yt(this,"level",0),Yt(this,"enhance",0),Yt(this,"id",99999),Yt(this,"sex",dx.MALE),Yt(this,"detect",!1),Yt(this,"cloaking",!1),Yt(this,"canPurchase",!1),Yt(this,"honor",0),Yt(this,"base",0),Yt(this,"evolStage",0),Yt(this,"nAtk",""),Yt(this,"sAtk",""),Yt(this,"goldBuffIds",[]),Yt(this,"goldBuffValues",[]),Yt(this,"uniqueSkill",0),Yt(this,"uniqueSkill2",0),Yt(this,"stunImmune",!1),Yt(this,"freezeImmune",!1),Yt(this,"blowImmune",!1),Yt(this,"knockImmune",!1),Yt(this,"weight",1),Yt(this,"raidCc",[]),Yt(this,"maxTrans",0),Yt(this,"transMaterials",[[],[],[]])}
TreasureBuffAccessor 1 hunks, 1 statements
- ),DR=(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))(DR||{ + ),UR=(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.AncientForestLegend="ancientforestlegend",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.DawnChargePreserve="dawnchargepreserve",t.PactOfLife="pactoflife",t.PackOfWild="packofwild",t.CastleLevelUp="castlelevelup",t.Medal="medal",t.Core="core",t.StartWave="startwave",t.QuestMaxLv="questmaxlv",t))(UR||{
BuffManager 1 hunks, 1 statements
- return"pluslv"===i&&(s+=NR.getSylphidPlusLvContribution(),s+=NR.getSnorkOwnedPlusLvContribution()),"maxlv"===i&&(s+=NR.getGolemMaxLvContribution(),s+=NR.getBokbokMaxLvContribution()),"core"===i&&(s+=NR.getFinnyCoreContribution(),s+=NR.getUnipetCoreContribution()),"medal"===i&&(s+=NR.getWinkyOwnedMedalBuffContribution()),"wavecall"===i&&(s+=NR.getOwnedWaveCallContribution()),s} + return"pluslv"===i&&(s+=GR.getSylphidPlusLvContribution(),s+=GR.getSnorkOwnedPlusLvContribution()),"pactoflife"===i&&(s+=GR.getDruidOwnedPactLevelContribution()),"packofwild"===i&&(s+=GR.getBladeMasterOwnedPackLevelContribution()),i===Lx.CallOfDawn&&(s+=GR.getSuccubusOwnedCallOfDawnContribution()),"maxlv"===i&&(s+=GR.getGolemMaxLvContribution(),s+=GR.getBokbokMaxLvContribution()),"core"===i&&(s+=GR.getFinnyCoreContribution(),s+=GR.getUnipetCoreContribution()),"medal"===i&&(s+=GR.getWinkyOwnedMedalBuffContribution()),"wavecall"===i&&(s+=GR.getOwnedWaveCallContribution()),s}
EventDataManager 1 hunks, 1 statements
- s.type=4,s.id=i.id,s.startTime=i.startTime,s.endTime=i.endTime,s.seasonId=i.seasonId,s.petKindNums=i.petKindNums,this.objList[s.type]||(this.objList[s.type]=[]),this.objList[s.type].push(s),this.isValidEvent(4)} + s.type=4,s.id=i.id,s.startTime=i.startTime,s.endTime=i.endTime,s.seasonId=i.seasonId,s.petKindNums=i.petKindNums,s.priestessKindNums=i.priestessKindNums,this.objList[s.type]||(this.objList[s.type]=[]),this.objList[s.type].push(s),this.isValidEvent(4)}
EventVO 1 hunks, 1 statements
- Yt(this,"type",-1),Yt(this,"id",0),Yt(this,"startTime",""),Yt(this,"endTime",""),Yt(this,"day",""),Yt(this,"divide",1),Yt(this,"startHour",0),Yt(this,"endHour",0),Yt(this,"max",0),Yt(this,"multi",0),Yt(this,"userCount",0),Yt(this,"rewards",[]),Yt(this,"date",0),Yt(this,"amounts",[]),Yt(this,"rewardType",""),Yt(this,"userAmount",0),Yt(this,"subType",""),Yt(this,"seasonId",0),Yt(this,"petKindNums",[])} + Yt(this,"type",-1),Yt(this,"id",0),Yt(this,"startTime",""),Yt(this,"endTime",""),Yt(this,"day",""),Yt(this,"divide",1),Yt(this,"startHour",0),Yt(this,"endHour",0),Yt(this,"max",0),Yt(this,"multi",0),Yt(this,"userCount",0),Yt(this,"rewards",[]),Yt(this,"date",0),Yt(this,"amounts",[]),Yt(this,"rewardType",""),Yt(this,"userAmount",0),Yt(this,"subType",""),Yt(this,"seasonId",0),Yt(this,"petKindNums",[]),Yt(this,"priestessKindNums",[])}
MineDataManager 1 hunks, 1 statements
- Yt(this,"bookList",[]),Yt(this,"chestRewardList",[]),Yt(this,"bookMap",new Map),Yt(this,"chestRewardMap",new Map),Yt(this,"maxLevel",0),Yt(this,"status",new lB),Yt(this,"instance",null),Yt(this,"revealedChests",[]),Yt(this,"discoveredBoxes",[]),Yt(this,"isStatusLoaded",!1),Yt(this,"currentSeasonId",0)} + Yt(this,"bookList",[]),Yt(this,"chestRewardList",[]),Yt(this,"bookMap",new Map),Yt(this,"chestRewardMap",new Map),Yt(this,"maxLevel",0),Yt(this,"status",new fB),Yt(this,"instance",null),Yt(this,"revealedChests",[]),Yt(this,"discoveredBoxes",[]),Yt(this,"isStatusLoaded",!1),Yt(this,"currentSeasonId",0),Yt(this,"mine4XEnabled",!1)}
BackgroundLayer 1 hunks, 1 statements
- t?(this.fogFilter||(this.fogFilter=new rf,this.fogFilter.saturate(-.35,!1),this.fogFilter.brightness(.92,!0)),this.bg.filters=[this.fogFilter],this.fogOverlay?(this.addChild(this.fogOverlay),this.fogOverlay.visible=!0):(this.fogOverlay=(new Uf).rect(0,0,640,640).fill({ + t?(this.fogFilter||(this.fogFilter=new of,this.fogFilter.saturate(-.35,!1),this.fogFilter.brightness(.92,!0)),this.bg.filters=[this.fogFilter],this.fogOverlay?(this.addChild(this.fogOverlay),this.fogOverlay.visible=!0):(this.fogOverlay=(new Ff).rect(0,0,640,640).fill({
GameLayer 1 hunks, 1 statements
- super(),Yt(this,"titleBackground",null),Yt(this,"nightOverlay"),Yt(this,"colorFilter",new rf),t._instance=this,window.gameFx={ + super(),Yt(this,"titleBackground",null),Yt(this,"nightOverlay"),Yt(this,"colorFilter",new of),t._instance=this,window.gameFx={
AutoTogglePill 1 hunks, 1 statements
- ...yL.DEFAULT_FONT_OPTION_15,fontSize:t.FONT_SIZE,lineHeight:t.PILL_H} + ...AL.DEFAULT_FONT_OPTION_15,fontSize:t.FONT_SIZE,lineHeight:t.PILL_H}
BaseEffect 1 hunks, 1 statements
- var yH=(t=>(t.MagicalHitEffect="MagicalHitEffect",t.PhysicalHitEffect="PhysicalHitEffect",t.CriticalEffect="CriticalEffect",t.MissEffect="MissEffect",t.BlockEffect="BlockEffect",t.EvadeEffect="EvadeEffect",t.AkEffect="AkEffect",t.HukEffect="HukEffect",t.PakEffect="PakEffect",t.YapEffect="YapEffect",t.StunImmuneEffect="StunImmuneEffect",t.FreezeImmuneEffect="FreezeImmuneEffect",t.KnockbackImmuneEffect="KnockbackImmuneEffect",t.MagicalImmuneEffect="MagicalImmuneEffect",t.PhysicalImmuneEffect="PhysicalImmuneEffect",t.HumanSkillEffect="HumanSkillEffect",t.ElfSkillEffect="ElfSkillEffect",t.UndeadSkillEffect="UndeadSkillEffect",t.OrcSkillEffect="OrcSkillEffect",t.CurseEffect="CurseEffect",t.PowerShieldEffect="PowerShieldEffect",t.PhysicalShieldEffect="PhysicalShieldEffect",t.MagicalShieldEffect="MagicalShieldEffect",t.SilenceEffect="SilenceEffect",t.FreezeEffectL="FreezeEffectL",t.FreezeEffectM="FreezeEffectM",t.FreezeEffectS="FreezeEffectS",t.StunEffect="StunEffect",t.PoisonGreenEffect="PoisonGreenEffect",t.DarkArcherSkillEffect1="DarkArcherSkillEffect1",t.OrcIceExplodeEffect="OrcIceExplodeEffect",t.DeathHandSkillEffect1="DeathHandSkillEffect1",t.BomberBigBombExplode1="BomberBigBombExplode1",t.BomberSmallBombExplode1="BomberSmallBombExplode1",t.BlackMageBallExplode1="BlackMageBallExplode1",t.OrcHunterEvadeBuff="OrcHunterEvadeBuff",t.AggroEffect="AggroEffect",t.PriestLightEffect="PriestLightEffect",t.PriestStartEffect="PriestStartEffect",t.PriestShieldEffect="PriestShieldEffect",t.FairyWingEffect="FairyWingEffect",t.BindingEffect="BindingEffect",t.RockExplode="RockExplode",t.Smoke="Smoke",t.EvolEffect="EvolEffect",t.EvolEffect2="EvolEffect2",t.CastleFire1="CastleFire1",t.CastleFire2="CastleFire2",t.StoneEffect1="StoneEffect1",t.FireBallExplode="FireBallExplode",t.PilotMissileSmoke1="PilotMissileSmoke1",t.FireExplode="FireExplode",t.AntRockExplode="AntRockExplode",t.IceExplode2="IceExplode2",t.HealYellow="HealYellow",t.ElectricEffect="ElectricEffect",t.RoboExplode="RoboExplode",t.SuccubusLove="SuccubusLove",t.SuccubusEffect1="SuccubusEffect1",t.FallInLoveEffect="FallInLoveEffect",t.Accelerate="Accelerate",t.ElfGlowing1="ElfGlowing1",t.ElfMagicCircle1="ElfMagicCircle1",t.ElfExplodeEffect1="ElfExplodeEffect1",t.ElfBindEffect1="ElfBindEffect1",t.AbyssLightning1="AbyssLightning1",t.AbyssSkillExplosion1="AbyssSkillExplosion1",t.JudegmentMarkEffect1="JudegmentMarkEffect1",t.UndeadLightningExplosion1="UndeadLightningExplosion1",t.FireExplosion1="FireExplosion1",t.FireExplosion2="FireExplosion2",t.AladinGenie1="AladinGenie1",t.DruidVine1="DruidVine1",t.CrowExplosion1="CrowExplosion1",t.BladeMasterAfterImage="BladeMasterAfterImage",t.PoisonExplodeEffect="PoisonExplodeEffect",t.BackAttackEffect="BackAttackEffect",t.HeroAura1Effect="HeroAura1Effect",t.HeroAura2Effect="HeroAura2Effect",t.HeroAura3Effect="HeroAura3Effect",t.HeroAura4Effect="HeroAura4Effect",t.HeroAura5Effect="HeroAura5Effect",t.HeroAura6Effect="HeroAura6Effect",t.RaidBuffSkillEffect1="RaidBuffSkillEffect1",t.RaidBuffSkillEffect2="RaidBuffSkillEffect2",t.RaidBuffSkillEffect3="RaidBuffSkillEffect3",t.RaidBuffSkillEffect4="RaidBuffSkillEffect4",t.RaidBuffSkillEffect5="RaidBuffSkillEffect5",t))(yH||{ + var SH=(t=>(t.MagicalHitEffect="MagicalHitEffect",t.PhysicalHitEffect="PhysicalHitEffect",t.CriticalEffect="CriticalEffect",t.MissEffect="MissEffect",t.BlockEffect="BlockEffect",t.EvadeEffect="EvadeEffect",t.AkEffect="AkEffect",t.HukEffect="HukEffect",t.PakEffect="PakEffect",t.YapEffect="YapEffect",t.StunImmuneEffect="StunImmuneEffect",t.FreezeImmuneEffect="FreezeImmuneEffect",t.KnockbackImmuneEffect="KnockbackImmuneEffect",t.MagicalImmuneEffect="MagicalImmuneEffect",t.PhysicalImmuneEffect="PhysicalImmuneEffect",t.HumanSkillEffect="HumanSkillEffect",t.ElfSkillEffect="ElfSkillEffect",t.UndeadSkillEffect="UndeadSkillEffect",t.OrcSkillEffect="OrcSkillEffect",t.CurseEffect="CurseEffect",t.PowerShieldEffect="PowerShieldEffect",t.PhysicalShieldEffect="PhysicalShieldEffect",t.MagicalShieldEffect="MagicalShieldEffect",t.SilenceEffect="SilenceEffect",t.FreezeEffectL="FreezeEffectL",t.FreezeEffectM="FreezeEffectM",t.FreezeEffectS="FreezeEffectS",t.StunEffect="StunEffect",t.PoisonGreenEffect="PoisonGreenEffect",t.DarkArcherSkillEffect1="DarkArcherSkillEffect1",t.OrcIceExplodeEffect="OrcIceExplodeEffect",t.DeathHandSkillEffect1="DeathHandSkillEffect1",t.BomberBigBombExplode1="BomberBigBombExplode1",t.BomberSmallBombExplode1="BomberSmallBombExplode1",t.BlackMageBallExplode1="BlackMageBallExplode1",t.OrcHunterEvadeBuff="OrcHunterEvadeBuff",t.AggroEffect="AggroEffect",t.PriestLightEffect="PriestLightEffect",t.PriestStartEffect="PriestStartEffect",t.PriestShieldEffect="PriestShieldEffect",t.FairyWingEffect="FairyWingEffect",t.BindingEffect="BindingEffect",t.RockExplode="RockExplode",t.Smoke="Smoke",t.EvolEffect="EvolEffect",t.EvolEffect2="EvolEffect2",t.CastleFire1="CastleFire1",t.CastleFire2="CastleFire2",t.StoneEffect1="StoneEffect1",t.FireBallExplode="FireBallExplode",t.PilotMissileSmoke1="PilotMissileSmoke1",t.FireExplode="FireExplode",t.AntRockExplode="AntRockExplode",t.IceExplode2="IceExplode2",t.HealYellow="HealYellow",t.ElectricEffect="ElectricEffect",t.RoboExplode="RoboExplode",t.SuccubusLove="SuccubusLove",t.SuccubusEffect1="SuccubusEffect1",t.FallInLoveEffect="FallInLoveEffect",t.Accelerate="Accelerate",t.ElfGlowing1="ElfGlowing1",t.ElfMagicCircle1="ElfMagicCircle1",t.ElfExplodeEffect1="ElfExplodeEffect1",t.ElfBindEffect1="ElfBindEffect1",t.AbyssLightning1="AbyssLightning1",t.AbyssSkillExplosion1="AbyssSkillExplosion1",t.JudegmentMarkEffect1="JudegmentMarkEffect1",t.UndeadLightningExplosion1="UndeadLightningExplosion1",t.FireExplosion1="FireExplosion1",t.FireExplosion2="FireExplosion2",t.AladinGenie1="AladinGenie1",t.DruidVine1="DruidVine1",t.CrowExplosion1="CrowExplosion1",t.BladeMasterAfterImage="BladeMasterAfterImage",t.PoisonExplodeEffect="PoisonExplodeEffect",t.BackAttackEffect="BackAttackEffect",t.HeroAura1Effect="HeroAura1Effect",t.HeroAura2Effect="HeroAura2Effect",t.HeroAura3Effect="HeroAura3Effect",t.HeroAura4Effect="HeroAura4Effect",t.HeroAura5Effect="HeroAura5Effect",t.HeroAura6Effect="HeroAura6Effect",t.RaidBuffSkillEffect1="RaidBuffSkillEffect1",t.RaidBuffSkillEffect2="RaidBuffSkillEffect2",t.RaidBuffSkillEffect3="RaidBuffSkillEffect3",t.RaidBuffSkillEffect4="RaidBuffSkillEffect4",t.RaidBuffSkillEffect5="RaidBuffSkillEffect5",t.BurntEffect1="BurntEffect1",t.BurnEffect1="BurnEffect1",t.FireSpiritExplosion1="FireSpiritExplosion1",t.FireSpiritPillar1="FireSpiritPillar1",t.FireSpiritEmber1="FireSpiritEmber1",t.FireSpiritOrbit1="FireSpiritOrbit1",t.GriffinSpearFlash1="GriffinSpearFlash1",t.MedusaCoilSnake1="MedusaCoilSnake1",t.MedusaSnakeCrawl1="MedusaSnakeCrawl1",t.MedusaSnakeStuck1="MedusaSnakeStuck1",t.NagaFrost1="NagaFrost1",t.NagaIceSegment1="NagaIceSegment1",t.NagaIceSegment2="NagaIceSegment2",t))(SH||{
WeaponFactory 1 hunks, 1 statements
- [Vj.NormalArrow]:cV,[Vj.EnergyBall]:iV,[Vj.SpeedArrow]:fV,[Vj.Bullet1]:_V,[Vj.OrcSpearmanSpear1]:SV,[Vj.OrcIceMageFire1]:EV,[Vj.PoisonArcherArrow1]:uV,[Vj.GreenEagleBall1]:hV,[Vj.BlackMageBall1]:kV,[Vj.DarkMageBall1]:PV,[Vj.DarkMageSkillBall1]:LV,[Vj.GreenEnergyBall]:oV,[Vj.YellowEnergyBall]:wV,[Vj.FairyMusicNote]:eV,[Vj.GhostBall1]:GV,[Vj.DarkArcherArrow1]:xV,[Vj.OrcWingBall1]:CV,[Vj.OrcAxeBall1]:yV,[Vj.FlowerBullet]:Yj,[Vj.Rock]:Zj,[Vj.DarkHermitMissile]:Jj,[Vj.Pearl]:UV,[Vj.Twist]:gV,[Vj.UniArrow]:HV,[Vj.PowerArrow]:WV,[Vj.OrcBlizzardMageRain1]:VV,[Vj.FireMagicBall1]:zV,[Vj.FireMageBird1]:YV,[Vj.BomberSmallBomb1]:JV,[Vj.BomberBigBomb1]:ZV,[Vj.IceFlake]:iK,[Vj.FireBirdBall1]:eK,[Vj.BlackMageDarkBall1]:hK,[Vj.PoisonArcherArrowSkill1]:cK,[Vj.OrcIceMageFireSkill1]:oK,[Vj.PilotMissile1]:uK,[Vj.FireBullet]:fK,[Vj.AntRock1]:gK,[Vj.SpeedArrow2]:wK,[Vj.MoleFire]:_K,[Vj.OrcRapterRiderSpear1]:xK,[Vj.WyvernRiderThrowingKnife1]:CK,[Vj.WyvernRiderThrowingKnifeS1]:kK,[Vj.DarkChain1]:yK,[Vj.SuccubusBlade1]:EK,[Vj.SuccubusWeapon]:SK,[Vj.DruidTangle1]:PK,[Vj.DruidDrill1]:LK,[Vj.TigerRiderArrow1]:GK,[Vj.GriffinSpear1]:UK,[Vj.GriffinSuperSpear1]:HK,[Vj.SteamFire1]:WK,[Vj.SteamMissile1]:VK,[Vj.SylphidShuriken1]:zK,[Vj.SylphidTornado1]:YK,[Vj.AladinCoin1]:JK,[Vj.BladeWave1]:ZK,[Vj.SpinBlade]:iz,[Vj.CrowKnightBullet1]:ez,[Vj.CrowCompanion1]:hz,[Vj.CrowGuidedBall1]:oz,[Vj.CrowFeatherShot1]:cz,[Vj.ScorpionPoisonBullet]:dz,[Vj.ScorpionPoisonArea]:FQ,[Vj.HarpyFeather]:$Q,[Vj.HarpyTornado]:jQ,[Vj.AladinGenieBoomerang]:KQ,[Vj.GolemStone]:QQ,[Vj.BerialLightning]:tZ,[Vj.BerialLightningArea]:sZ,[Vj.BerialFire]:nZ,[Vj.SummonDragon]:rZ,[Vj.DKSpear]:aZ} + [MV.NormalArrow]:UV,[MV.EnergyBall]:xV,[MV.SpeedArrow]:WV,[MV.Bullet1]:XV,[MV.OrcSpearmanSpear1]:iK,[MV.OrcIceMageFire1]:ZV,[MV.PoisonArcherArrow1]:HV,[MV.GreenEagleBall1]:LV,[MV.BlackMageBall1]:hK,[MV.DarkMageBall1]:cK,[MV.DarkMageSkillBall1]:uK,[MV.GreenEnergyBall]:GV,[MV.YellowEnergyBall]:zV,[MV.FairyMusicNote]:PV,[MV.GhostBall1]:fK,[MV.DarkArcherArrow1]:oK,[MV.OrcWingBall1]:eK,[MV.OrcAxeBall1]:JV,[MV.FlowerBullet]:SV,[MV.Rock]:OV,[MV.DarkHermitMissile]:CV,[MV.Pearl]:gK,[MV.Twist]:VV,[MV.UniArrow]:wK,[MV.PowerArrow]:_K,[MV.OrcBlizzardMageRain1]:MK,[MV.FireMagicBall1]:EK,[MV.FireMageBird1]:SK,[MV.BomberSmallBomb1]:CK,[MV.BomberBigBomb1]:OK,[MV.IceFlake]:xK,[MV.FireBirdBall1]:PK,[MV.BlackMageDarkBall1]:LK,[MV.PoisonArcherArrowSkill1]:UK,[MV.OrcIceMageFireSkill1]:GK,[MV.PilotMissile1]:HK,[MV.FireBullet]:WK,[MV.AntRock1]:VK,[MV.SpeedArrow2]:zK,[MV.MoleFire]:XK,[MV.OrcRapterRiderSpear1]:oz,[MV.WyvernRiderThrowingKnife1]:ez,[MV.WyvernRiderThrowingKnifeS1]:hz,[MV.DarkChain1]:JK,[MV.SuccubusBlade1]:ZK,[MV.SuccubusWeapon]:iz,[MV.DruidTangle1]:cz,[MV.DruidDrill1]:uz,[MV.TigerRiderArrow1]:fz,[MV.GriffinSpear1]:gz,[MV.GriffinSuperSpear1]:wz,[MV.FireAttack1]:_z,[MV.FireTornado1]:VQ,[MV.FireOrb1]:zQ,[MV.MedusaArrow1]:XQ,[MV.NagaIceArrow1]:JQ,[MV.HippogriffMissile1]:ZQ,[MV.HippogriffSpear1]:iZ,[MV.SteamFire1]:eZ,[MV.SteamMissile1]:hZ,[MV.SylphidShuriken1]:oZ,[MV.SylphidTornado1]:cZ,[MV.AladinCoin1]:uZ,[MV.BladeWave1]:fZ,[MV.SpinBlade]:gZ,[MV.CrowKnightBullet1]:wZ,[MV.CrowCompanion1]:_Z,[MV.CrowGuidedBall1]:MZ,[MV.CrowFeatherShot1]:EZ,[MV.ScorpionPoisonBullet]:TZ,[MV.ScorpionPoisonArea]:kZ,[MV.HarpyFeather]:RZ,[MV.HarpyTornado]:NZ,[MV.AladinGenieBoomerang]:DZ,[MV.GolemStone]:$Z,[MV.BerialLightning]:jZ,[MV.BerialLightningArea]:KZ,[MV.BerialFire]:qZ,[MV.SummonDragon]:YZ,[MV.DKSpear]:QZ}
GreenEagle1 1 hunks, 1 statements
- )()),Yt(PZ,"attackableListPool",[]); + )()),Yt(E0,"attackableListPool",[]),Yt(E0,"BURN_EFFECT_OFFSET_Y",2);
UnitFactory 1 hunks, 1 statements
- [ux.NWolf]:l0,[ux.BlackMage1]:M0,[ux.SkeletonX1]:R0,[ux.SkeletonMan1]:T0,[ux.SkeletonMan2]:I0,[ux.SkeletonWarrior1]:O0,[ux.GreatHammer1]:A0,[ux.Ghost1]:j0,[ux.DarkMage1]:B0,[ux.DarkArcher1]:K0,[ux.Bomber1]:X1,[ux.DeathHand1]:Q1,[ux.DarkNinja1]:O2,[ux.Succubus1]:$2,[ux.Abyss1]:X2,[ux.CrowKnight1]:r5,[ux.Succubus2]:a5,[ux.FootMan1]:t0,[ux.Gunner1]:s0,[ux.HeavyWarrior1]:r0,[ux.HammerKnight1]:n0,[ux.HorseKnight1]:a0,[ux.FireBird1]:QZ,[ux.Priest1]:F0,[ux.GriffinRider1]:R2,[ux.SteamPunk1]:D2,[ux.WingKnight1]:N2,[ux.Aladin1]:t5,[ux.ElfArcher1]:N0,[ux.HighArcher1]:qZ,[ux.ElfWarrior1]:KZ,[ux.ElfSwordMan1]:jZ,[ux.PoisonArcher1]:XZ,[ux.GreenEagle1]:DZ,[ux.WindMage1]:D0,[ux.Fairy1]:$0,[ux.Druid1]:B2,[ux.Druid2]:s5,[ux.TigerRider1]:F2,[ux.Sylphid1]:Q2,[ux.OrcFighter1]:d0,[ux.OrcHunter1]:m0,[ux.OrcIceMage1]:v0,[ux.OrcWing1]:q0,[ux.OrcHammer1]:p0,[ux.OrcAxe1]:X0,[ux.OrcSpearMan1]:b0,[ux.BigDrumer1]:Q0,[ux.OrcWolfRider1]:t1,[ux.OrcBigFoot1]:N1,[ux.OrcBlizzardMage1]:D1,[ux.OrcIcePhantom1]:r2,[ux.OrcRapterRider1]:T2,[ux.WyvernRider1]:I2,[ux.BladeMaster1]:n5,[ux.ElfTown5]:FZ,[ux.OrcFlower]:$Z,[ux.FlowerSoldier1]:n1,[ux.FlowerSoldier2]:s1,[ux.KingSlime]:r1,[ux.SlimeBlue]:a1,[ux.SlimeRed]:l1,[ux.SlimeYellow]:d1,[ux.HammerMole]:p1,[ux.MoleSoldier1]:v1,[ux.MoleSoldier2]:m1,[ux.DarkHermit]:b1,[ux.Crab]:M1,[ux.StarFish]:A1,[ux.Unicorn1]:T1,[ux.IceWolf]:I1,[ux.GoldGoblin]:O1,[ux.AdsGoblin]:R1,[ux.DeathKnight1]:B1,[ux.Golem1]:F1,[ux.GreatMage1]:$1,[ux.Ant1]:j1,[ux.WolfWarrior1]:K1,[ux.Artillery1]:q1,[ux.SSlime1]:t2,[ux.SSlime2]:s2,[ux.SSlime3]:n2,[ux.Pilot1]:a2,[ux.Spider1]:p2,[ux.Spider2]:m2,[ux.Boar1]:d2,[ux.Boar2]:l2,[ux.RoboBomb1]:b2,[ux.RoboBomb2]:v2,[ux.Frog1]:M2,[ux.Frog2]:A2,[ux.Castle0]:q2,[ux.Castle1]:K2,[ux.Castle2]:j2,[ux.ScorpionKing]:m5,[ux.HarpyKing]:v5,[ux.GolemKing]:b5,[ux.BerialKing]:A5,[ux.DragonKnight]:I5} + [fx.NWolf]:a1,[fx.BlackMage1]:b1,[fx.SkeletonX1]:k1,[fx.SkeletonMan1]:A1,[fx.SkeletonMan2]:T1,[fx.SkeletonWarrior1]:I1,[fx.GreatHammer1]:y1,[fx.Ghost1]:$1,[fx.DarkMage1]:D1,[fx.DarkArcher1]:j1,[fx.Bomber1]:q2,[fx.DeathHand1]:Y2,[fx.DarkNinja1]:I5,[fx.Succubus1]:F5,[fx.Abyss1]:q5,[fx.CrowKnight1]:n3,[fx.Succubus2]:r3,[fx.FireSpirit1]:j0,[fx.Naga1]:K0,[fx.Medusa1]:q0,[fx.Hippogriff1]:Y0,[fx.FootMan1]:Q0,[fx.Gunner1]:t1,[fx.HeavyWarrior1]:n1,[fx.HammerKnight1]:s1,[fx.HorseKnight1]:r1,[fx.FireBird1]:$0,[fx.Priest1]:B1,[fx.GriffinRider1]:k5,[fx.SteamPunk1]:N5,[fx.WingKnight1]:R5,[fx.Aladin1]:Q5,[fx.ElfArcher1]:R1,[fx.HighArcher1]:B0,[fx.ElfWarrior1]:D0,[fx.ElfSwordMan1]:N0,[fx.PoisonArcher1]:F0,[fx.GreenEagle1]:T0,[fx.WindMage1]:N1,[fx.Fairy1]:F1,[fx.Druid1]:D5,[fx.Druid2]:t3,[fx.TigerRider1]:B5,[fx.Sylphid1]:Y5,[fx.OrcFighter1]:l1,[fx.OrcHunter1]:p1,[fx.OrcIceMage1]:m1,[fx.OrcWing1]:K1,[fx.OrcHammer1]:d1,[fx.OrcAxe1]:q1,[fx.OrcSpearMan1]:v1,[fx.BigDrumer1]:Y1,[fx.OrcWolfRider1]:Q1,[fx.OrcBigFoot1]:R2,[fx.OrcBlizzardMage1]:N2,[fx.OrcIcePhantom1]:n5,[fx.OrcRapterRider1]:A5,[fx.WyvernRider1]:T5,[fx.BladeMaster1]:s3,[fx.ElfTown5]:k0,[fx.OrcFlower]:R0,[fx.FlowerSoldier1]:s2,[fx.FlowerSoldier2]:t2,[fx.KingSlime]:n2,[fx.SlimeBlue]:r2,[fx.SlimeRed]:a2,[fx.SlimeYellow]:l2,[fx.HammerMole]:d2,[fx.MoleSoldier1]:m2,[fx.MoleSoldier2]:p2,[fx.DarkHermit]:v2,[fx.Crab]:b2,[fx.StarFish]:y2,[fx.Unicorn1]:A2,[fx.IceWolf]:T2,[fx.GoldGoblin]:I2,[fx.AdsGoblin]:k2,[fx.DeathKnight1]:D2,[fx.Golem1]:B2,[fx.GreatMage1]:F2,[fx.Ant1]:$2,[fx.WolfWarrior1]:j2,[fx.Artillery1]:K2,[fx.SSlime1]:Q2,[fx.SSlime2]:t5,[fx.SSlime3]:s5,[fx.Pilot1]:r5,[fx.Spider1]:d5,[fx.Spider2]:p5,[fx.Boar1]:l5,[fx.Boar2]:a5,[fx.RoboBomb1]:v5,[fx.RoboBomb2]:m5,[fx.Frog1]:b5,[fx.Frog2]:y5,[fx.Castle0]:K5,[fx.Castle1]:j5,[fx.Castle2]:$5,[fx.ScorpionKing]:p3,[fx.HarpyKing]:m3,[fx.GolemKing]:v3,[fx.BerialKing]:y3,[fx.DragonKnight]:T3}
Sr 1 hunks, 1 statements
- ...t,...Mit(i)} + ...t,...bst(i)}
Zr 1 hunks, 1 statements
- )(),est=sst.map((t,i)=>sst.indexOf(i)),nst=qt(t=>t<<24|t>>>8,"Vr"),hst=qt(t=>t<<8|t>>>24,"Gr"),rst=qt(t=>t<<24&4278190080|t<<8&16711680|t>>>8&65280|t>>>24&255,"Yr"); + )(),iet=tet.map((t,i)=>tet.indexOf(i)),set=Xt(t=>t<<24|t>>>8,"Vr"),eet=Xt(t=>t<<8|t>>>24,"Gr"),net=Xt(t=>t<<24&4278190080|t<<8&16711680|t>>>8&65280|t>>>24&255,"Yr");
Ma 1 hunks, 1 statements
- ...Lht,coercer:qt((t,i)=>znt(t,Dht)?Lht.coercer(Ght(t,i),i):Lht.coercer(t,i),"coercer")} + ...Prt,coercer:Xt((t,i)=>Vht(t,Nrt)?Prt.coercer(Lrt(t,i),i):Prt.coercer(t,i),"coercer")}
Yp 1 hunks, 1 statements
- const e=126,n=[71,73,70,56,55,97,...i,246,0,0,255,255,255,...wft(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,...gpt(381,0),44,0,0,0,0,...i,0,7],h=Math.floor(s.length/e);
SuiStandardProvider 1 hunks, 1 statements
- namespace:Iyt.NameSpaceKeyEip155,addresses:i,methods:[...xyt.Eip55Methods],extra:s} + namespace:Tyt.NameSpaceKeyEip155,addresses:i,methods:[...Oyt.Eip55Methods],extra:s}
AppReadyEvent 1 hunks, 1 statements
- return ZMt||(ZMt=[...zMt]),ZMt} + return JEt||(JEt=[...VEt]),JEt}
SolProvider 1 hunks, 1 statements
- namespace:nSt.NameSpaceKeySOL,addresses:i,methods:[...aSt.SOLANAMethods],extra:s} + namespace:sTt.NameSpaceKeySOL,addresses:i,methods:[...rTt.SOLANAMethods],extra:s}
OkxwalletInjectConnector 1 hunks, 1 statements
- namespace:DSt.NameSpaceKeyBtc,addresses:i,methods:[...BSt.BtcMethods],extra:s} + namespace:NTt.NameSpaceKeyBtc,addresses:i,methods:[...DTt.BtcMethods],extra:s}
TcRootElement 1 hunks, 1 statements
- return RDt()||(t.push(new qft.OKXAppConnector),t.push(new qft.OKXWalletAppConnector)),ODt()&&t.push(new qft.OkxwalletInjectConnector),t.push(...NDt()),t} + return kGt()||(t.push(new Kpt.OKXAppConnector),t.push(new Kpt.OKXWalletAppConnector)),IGt()&&t.push(new Kpt.OkxwalletInjectConnector),t.push(...RGt()),t}
WalletSelectPopup 1 hunks, 1 statements
- ...yL.ERROR_POPUP_LABEL_OPTION,fontSize:18} + ...AL.ERROR_POPUP_LABEL_OPTION,fontSize:18}
CheckBox 1 hunks, 1 statements
- ),this.bg.width=this.bg.height=24,this.bg.eventMode="none",this.addChild(this.bg),this.check=new je(iS.getTexture("UI_Ekkorr","Icon_Check_Green")),this.check.scale=.85,this.check.eventMode="none",this.check.x=.5*(this.bg.width-this.check.width)+2,this.check.y=this.bg.height-this.check.height-4,this.addChild(this.check),this.customHitArea=new je(iS.getTexture("UI_Ekkorr","Base_Tooltip")),this.customHitArea.tint=1708562,this.customHitArea.alpha=.1,this.customHitArea.x=-this.customHitAreaOffset,this.customHitArea.y=-this.customHitAreaOffset,this.customHitArea.width=this.bg.width+2*this.customHitAreaOffset,this.customHitArea.height=this.bg.height+2*this.customHitAreaOffset,this.addChildAt(this.customHitArea,0),this.customHitArea.eventMode="dynamic",this.customHitArea.on("pointertap",this.onTap,this),this.selected=!1,this.colorMatrix=new rf,this.colorMatrix.blackAndWhite(!0)} + ),this.bg.width=this.bg.height=24,this.bg.eventMode="none",this.addChild(this.bg),this.check=new Ve(eS.getTexture("UI_Ekkorr","Icon_Check_Green")),this.check.scale=.85,this.check.eventMode="none",this.check.x=.5*(this.bg.width-this.check.width)+2,this.check.y=this.bg.height-this.check.height-4,this.addChild(this.check),this.customHitArea=new Ve(eS.getTexture("UI_Ekkorr","Base_Tooltip")),this.customHitArea.tint=1708562,this.customHitArea.alpha=.1,this.customHitArea.x=-this.customHitAreaOffset,this.customHitArea.y=-this.customHitAreaOffset,this.customHitArea.width=this.bg.width+2*this.customHitAreaOffset,this.customHitArea.height=this.bg.height+2*this.customHitAreaOffset,this.addChildAt(this.customHitArea,0),this.customHitArea.eventMode="dynamic",this.customHitArea.on("pointertap",this.onTap,this),this.selected=!1,this.colorMatrix=new of,this.colorMatrix.blackAndWhite(!0)}
SpriteBattleController 1 hunks, 1 statements
- if(e)r1t.getInstance().showVictory(e,t,s); + if(e)n2t.getInstance().showVictory(e,t,s,i.body.reward);
FavoritePetSubView 1 hunks, 1 statements
- const t=[...LD.getInstance().favoritePets].sort((t,i)=>{ + const t=[...BD.getInstance().favoritePets].sort((t,i)=>{
TreasureSubView 1 hunks, 1 statements
- const t=[...Kx.getInstance().equipedList]; + const t=[...Xx.getInstance().equipedList];
GuildBarracksRaceView 1 hunks, 1 statements
- ...yL.DEFAULT_OUTLINE_FONT_OPTION_16,fontSize:i} + ...AL.DEFAULT_OUTLINE_FONT_OPTION_16,fontSize:i}
GuildCheckBox 1 hunks, 1 statements
- ),this.bg.width=this.bg.height=24,this.bg.eventMode="none",this.addChild(this.bg),this.check=new je(iS.getTexture("UI_Guild","Base_Check02")),this.check.scale=.85,this.check.eventMode="none",this.check.x=.5*(this.bg.width-this.check.width)+2,this.check.y=this.bg.height-this.check.height-2,this.addChild(this.check),this.customHitArea=new je(iS.getTexture("UI_Guild","whiteRect")),this.customHitArea.tint=1708562,this.customHitArea.alpha=.1,this.customHitArea.x=-this.customHitAreaOffset,this.customHitArea.y=-this.customHitAreaOffset,this.customHitArea.width=this.bg.width+2*this.customHitAreaOffset,this.customHitArea.height=this.bg.height+2*this.customHitAreaOffset,this.addChildAt(this.customHitArea,0),this.customHitArea.eventMode="dynamic",this.customHitArea.on("pointertap",this.onTap,this),this.selected=!1,this.colorMatrix=new rf,this.colorMatrix.blackAndWhite(!0)} + ),this.bg.width=this.bg.height=24,this.bg.eventMode="none",this.addChild(this.bg),this.check=new Ve(eS.getTexture("UI_Guild","Base_Check02")),this.check.scale=.85,this.check.eventMode="none",this.check.x=.5*(this.bg.width-this.check.width)+2,this.check.y=this.bg.height-this.check.height-2,this.addChild(this.check),this.customHitArea=new Ve(eS.getTexture("UI_Guild","whiteRect")),this.customHitArea.tint=1708562,this.customHitArea.alpha=.1,this.customHitArea.x=-this.customHitAreaOffset,this.customHitArea.y=-this.customHitAreaOffset,this.customHitArea.width=this.bg.width+2*this.customHitAreaOffset,this.customHitArea.height=this.bg.height+2*this.customHitAreaOffset,this.addChildAt(this.customHitArea,0),this.customHitArea.eventMode="dynamic",this.customHitArea.on("pointertap",this.onTap,this),this.selected=!1,this.colorMatrix=new of,this.colorMatrix.blackAndWhite(!0)}
GuildMainSubView 1 hunks, 1 statements
- const i=[...jL.guildList].sort((t,i)=>{ + const i=[...zL.guildList].sort((t,i)=>{
GuildRaidBattleReadyPopup 1 hunks, 1 statements
- ...yL.DEFAULT_OUTLINE_FONT_OPTION_16,fontSize:13} + ...AL.DEFAULT_OUTLINE_FONT_OPTION_16,fontSize:13}
GuildWarActiveItemRenderer 1 hunks, 1 statements
- super(),Yt(this,"bg"),Yt(this,"myEmblem"),Yt(this,"oppEmblem"),Yt(this,"lblMyName"),Yt(this,"lblMyLv"),Yt(this,"lblMyRank"),Yt(this,"lblMyEloValue"),Yt(this,"iconVs"),Yt(this,"lblOppName"),Yt(this,"lblOppLv"),Yt(this,"lblOppRank"),Yt(this,"lblOppEloValue"),Yt(this,"lblScore"),Yt(this,"iconClock"),Yt(this,"lblEndsIn"),Yt(this,"btnAttack"),Yt(this,"ticketIcons",[]),Yt(this,"ticketDimFilter",new rf),this.ticketDimFilter.desaturate(),this.bg=new XB,this.bg.setIndex(2),this.bg.width=t.ROW_W,this.bg.height=t.ROW_H,this.addChild(this.bg),this.myEmblem=new V7t,this.myEmblem.scale.set(t.EMBLEM_SCALE),this.myEmblem.x=t.PAD,this.myEmblem.y=10,this.addChild(this.myEmblem),this.oppEmblem=new V7t,this.oppEmblem.scale.set(t.EMBLEM_SCALE),this.oppEmblem.x=t.OPP_EMBLEM_X,this.oppEmblem.y=10,this.addChild(this.oppEmblem),this.lblMyLv=new wD("",14531464,yL.DEFAULT_FONT_OPTION_16),this.addChild(this.lblMyLv),this.lblOppLv=new wD("",14531464,yL.DEFAULT_FONT_OPTION_16),this.addChild(this.lblOppLv),this.lblMyName=new wD("",yL.DEFAULT_COLOR,yL.DEFAULT_OUTLINE_FONT_OPTION_17),this.lblMyName.textColor=yL.DEFAULT_COLOR,this.lblMyName.x=t.LEFT_TEXT_X,this.lblMyName.y=14,this.addChild(this.lblMyName),this.lblOppName=new wD("",yL.DEFAULT_COLOR,yL.DEFAULT_OUTLINE_FONT_OPTION_17),this.lblOppName.textColor=yL.DEFAULT_COLOR,this.lblOppName.y=14,this.addChild(this.lblOppName),this.lblMyRank=new wD("",16750899,yL.DEFAULT_OUTLINE_FONT_OPTION_16),this.lblMyRank.x=t.LEFT_TEXT_X,this.lblMyRank.y=36,this.addChild(this.lblMyRank),this.lblOppRank=new wD("",16750899,yL.DEFAULT_OUTLINE_FONT_OPTION_16),this.lblOppRank.y=36,this.addChild(this.lblOppRank),this.lblMyEloValue=new wD("",16750899,yL.DEFAULT_OUTLINE_FONT_OPTION_18),this.lblMyEloValue.textColor=16750899,this.lblMyEloValue.x=t.LEFT_TEXT_X,this.lblMyEloValue.y=58,this.addChild(this.lblMyEloValue),this.lblOppEloValue=new wD("",16750899,yL.DEFAULT_OUTLINE_FONT_OPTION_18),this.lblOppEloValue.textColor=16750899,this.lblOppEloValue.y=58,this.addChild(this.lblOppEloValue),this.iconVs=new je(iS.getTexture("UI_Ekkorr","UI_VS")),this.iconVs.scale.set(.506),this.iconVs.y=8,this.addChild(this.iconVs),this.lblScore=new wD("",16750899,yL.DEFAULT_OUTLINE_FONT_OPTION_24),this.lblScore.textColor=16750899,this.lblScore.y=51,this.addChild(this.lblScore),this.iconClock=new je(iS.getTexture("UI_Ekkorr","Icon_Time02")),this.iconClock.scale.set(.595),this.addChild(this.iconClock),this.lblEndsIn=new wD("",yL.DEFAULT_COLOR,yL.DEFAULT_OUTLINE_FONT_OPTION_16),this.lblEndsIn.y=t.TIME_GROUP_Y,this.iconClock.y=this.lblEndsIn.y+(this.lblEndsIn.height-this.iconClock.height)/2,this.addChild(this.lblEndsIn),this.btnAttack=new _G(YG.getText("GAME_1040","공격")),this.btnAttack.color=_G.RED,this.btnAttack.width=t.BTN_W,this.btnAttack.height=t.BTN_H,this.btnAttack.x=t.BTN_X,this.btnAttack.onClick=()=>this.onAttack(),this.addChild(this.btnAttack); + super(),Yt(this,"bg"),Yt(this,"myEmblem"),Yt(this,"oppEmblem"),Yt(this,"lblMyName"),Yt(this,"lblMyLv"),Yt(this,"lblMyRank"),Yt(this,"lblMyEloValue"),Yt(this,"iconVs"),Yt(this,"lblOppName"),Yt(this,"lblOppLv"),Yt(this,"lblOppRank"),Yt(this,"lblOppEloValue"),Yt(this,"lblScore"),Yt(this,"iconClock"),Yt(this,"lblEndsIn"),Yt(this,"btnAttack"),Yt(this,"ticketIcons",[]),Yt(this,"ticketDimFilter",new of),this.ticketDimFilter.desaturate(),this.bg=new tU,this.bg.setIndex(2),this.bg.width=t.ROW_W,this.bg.height=t.ROW_H,this.addChild(this.bg),this.myEmblem=new uti,this.myEmblem.scale.set(t.EMBLEM_SCALE),this.myEmblem.x=t.PAD,this.myEmblem.y=10,this.addChild(this.myEmblem),this.oppEmblem=new uti,this.oppEmblem.scale.set(t.EMBLEM_SCALE),this.oppEmblem.x=t.OPP_EMBLEM_X,this.oppEmblem.y=10,this.addChild(this.oppEmblem),this.lblMyLv=new bD("",14531464,AL.DEFAULT_FONT_OPTION_16),this.addChild(this.lblMyLv),this.lblOppLv=new bD("",14531464,AL.DEFAULT_FONT_OPTION_16),this.addChild(this.lblOppLv),this.lblMyName=new bD("",AL.DEFAULT_COLOR,AL.DEFAULT_OUTLINE_FONT_OPTION_17),this.lblMyName.textColor=AL.DEFAULT_COLOR,this.lblMyName.x=t.LEFT_TEXT_X,this.lblMyName.y=14,this.addChild(this.lblMyName),this.lblOppName=new bD("",AL.DEFAULT_COLOR,AL.DEFAULT_OUTLINE_FONT_OPTION_17),this.lblOppName.textColor=AL.DEFAULT_COLOR,this.lblOppName.y=14,this.addChild(this.lblOppName),this.lblMyRank=new bD("",16750899,AL.DEFAULT_OUTLINE_FONT_OPTION_16),this.lblMyRank.x=t.LEFT_TEXT_X,this.lblMyRank.y=36,this.addChild(this.lblMyRank),this.lblOppRank=new bD("",16750899,AL.DEFAULT_OUTLINE_FONT_OPTION_16),this.lblOppRank.y=36,this.addChild(this.lblOppRank),this.lblMyEloValue=new bD("",16750899,AL.DEFAULT_OUTLINE_FONT_OPTION_18),this.lblMyEloValue.textColor=16750899,this.lblMyEloValue.x=t.LEFT_TEXT_X,this.lblMyEloValue.y=58,this.addChild(this.lblMyEloValue),this.lblOppEloValue=new bD("",16750899,AL.DEFAULT_OUTLINE_FONT_OPTION_18),this.lblOppEloValue.textColor=16750899,this.lblOppEloValue.y=58,this.addChild(this.lblOppEloValue),this.iconVs=new Ve(eS.getTexture("UI_Ekkorr","UI_VS")),this.iconVs.scale.set(.506),this.iconVs.y=8,this.addChild(this.iconVs),this.lblScore=new bD("",16750899,AL.DEFAULT_OUTLINE_FONT_OPTION_24),this.lblScore.textColor=16750899,this.lblScore.y=51,this.addChild(this.lblScore),this.iconClock=new Ve(eS.getTexture("UI_Ekkorr","Icon_Time02")),this.iconClock.scale.set(.595),this.addChild(this.iconClock),this.lblEndsIn=new bD("",AL.DEFAULT_COLOR,AL.DEFAULT_OUTLINE_FONT_OPTION_16),this.lblEndsIn.y=t.TIME_GROUP_Y,this.iconClock.y=this.lblEndsIn.y+(this.lblEndsIn.height-this.iconClock.height)/2,this.addChild(this.lblEndsIn),this.btnAttack=new yG(QG.getText("GAME_1040","공격")),this.btnAttack.color=yG.RED,this.btnAttack.width=t.BTN_W,this.btnAttack.height=t.BTN_H,this.btnAttack.x=t.BTN_X,this.btnAttack.onClick=()=>this.onAttack(),this.addChild(this.btnAttack);
GuildWarHistoryItemRenderer 1 hunks, 1 statements
- ...yL.DEFAULT_OUTLINE_FONT_OPTION_16,fontSize:i} + ...AL.DEFAULT_OUTLINE_FONT_OPTION_16,fontSize:i}
GuildWarTournamentRewardGuidePopup 1 hunks, 1 statements
- let e=[...jL.rewardBattleList.sort((t,i)=>i.kindNum-t.kindNum)].concat([...jL.rewardBattleLostList.sort((t,i)=>i.kindNum-t.kindNum)]); + let e=[...zL.rewardBattleList.sort((t,i)=>i.kindNum-t.kindNum)].concat([...zL.rewardBattleLostList.sort((t,i)=>i.kindNum-t.kindNum)]);
GuildWarCombatLogItemRenderer 1 hunks, 1 statements
- ...yL.DEFAULT_FONT_OPTION_15,fontSize:14} + ...AL.DEFAULT_FONT_OPTION_15,fontSize:14}
GuildWarMemberStatusItemRenderer 1 hunks, 1 statements
- ...yL.DEFAULT_FONT_OPTION_15,fontSize:14} + ...AL.DEFAULT_FONT_OPTION_15,fontSize:14}
GuildWarTargetMarkerItemRenderer 1 hunks, 1 statements
- ...yL.DEFAULT_FONT_OPTION_15,fontSize:14} + ...AL.DEFAULT_FONT_OPTION_15,fontSize:14}
Delay 1 hunks, 1 statements
- ...kyi(),[i]:s} + ...nEi(),[i]:s}
NetworkTimeout 1 hunks, 1 statements
- ...Zyi,...i} + ...IEi,...i}
RecaptchaVerifier 1 hunks, 1 statements
- ...NTi} + ...cIi}
BrowserPopupRedirectResolver 1 hunks, 1 statements
- ...BCi,width:e.toString(),height:n.toString(),top:h,left:r} + ...fOi,width:e.toString(),height:n.toString(),top:h,left:r}

