Builds / 1.14.82
Update 1.14.82
Compared with 1.14.81 · published Sat, 26 Sep 2026 02:12:49 GMT · live channel
No summary yet.
Text changes 6
| Key | Text | |
|---|---|---|
| GAME_1845 | + | Both |
| GAME_1846 | + | Soldier class change |
| GAME_1847 | + | Level and count retained\nEvolution and ascension retained |
| GAME_1848 | + | Hero level up |
| GAME_1849 | + | Soldier level up |
| GAME_1770 | ~ |
|
Translations touched: de (6), es (6), fr (6), id (6), it (6), ja (6), ko (6), pl (6), pt (6), ru (6), th (6), tr (6), vi (6), zh-CN (6), zh-TW (6)
Assets 4
Code 26 changes in 8 classes
Minified client code with short names blanked for diffing. Class names are real.
- MiniAscentCardPickPopup 25
- MiniAscentCorpsPanel 20
- MiniAscentRelicsPage 16
- MiniAscentAssets 7
- MiniAscentBookDataManager 2
- VersionManager 1
- MiniAscentChapterRewardItem 1
- MiniAscentLobbyPopup 1
MiniAscentCardPickPopup 8 hunks, 25 statements
- s.lblRarity.text=oNi(e),s.lblRarity.textColor=n.accent,s.lblRarity.x=(g-s.lblRarity.width)/2,s.lblHeading.y=s.lblRarity.y+s.lblRarity.height+6,s.lblHeading.textColor=n.accent,s.lblTitle.textColor=e.rarity&&"normal"!==e.rarity?n.accent:Lvi.text,s.lblHeading.text=uNi(i.offer[t],i.corps),s.lblHeading.x=(g-s.lblHeading.width)/2,this.iconTop=Math.max(this.iconTop,s.lblHeading.y+s.lblHeading.height+10),this.setTags(s,fNi(i.offer[t])),w=Math.max(w,s.tags.height)} + s.lblRarity.text=oNi(e),s.lblRarity.textColor=n.accent,s.lblRarity.x=(g-s.lblRarity.width)/2,s.lblHeading.y=s.lblRarity.y+s.lblRarity.height+6,s.lblHeading.textColor=n.accent,s.lblHeading.text=uNi(i.offer[t],i.corps),s.lblHeading.x=(g-s.lblHeading.width)/2,this.iconTop=Math.max(this.iconTop,s.lblHeading.y+s.lblHeading.height+10),this.setTags(s,fNi(i.offer[t])),w=Math.max(w,s.tags.height)}
+ s.tags.visible&&s.tags.height<w&&this.setTags(s,fNi(e),w);
- const l="heroUp"===e.type||"soldierUp"===e.type||"soldierAllUp"===e.type||"soldierChange"===e.type; + const l="heroUp"===e.type||"soldierUp"===e.type||"soldierAllUp"===e.type||"soldierChange"===e.type,u="newHero"===e.type;
- ...s.lblTitle.getStyle(),fontSize:l?22:28,lineHeight:l?28:34} - ),s.lblTitle.text=pNi(e,i.corps),s.lblTitle.x=(g-s.lblTitle.width)/2,s.lblTitle.y=s.tags.y+w+10,s.lblDesc.text=gNi(e,i.corps),s.lblDesc.visible=!!s.lblDesc.text,s.lblDesc.x=(g-s.lblDesc.width)/2,s.lblDesc.y=s.lblTitle.y+s.lblTitle.height+8,this.setConditions(s,e),"newHero"===e.type&&n?this.setTargetSummary(s,{ + ...s.lblTitle.getStyle(),fontSize:u?30:l?22:28,lineHeight:u?36:l?28:34} + ); + const d=Dvi[e.rarity??"normal"]??Dvi.normal; + s.lblTitle.textColor=u?16769902:e.rarity&&"normal"!==e.rarity?d.accent:Lvi.text,s.lblTitle.text=pNi(e,i.corps),s.lblTitle.x=(g-s.lblTitle.width)/2,s.lblTitle.y=s.tags.y+w+10,s.lblDesc.text=gNi(e,i.corps),s.lblDesc.visible=!!s.lblDesc.text,s.lblDesc.x=(g-s.lblDesc.width)/2,s.lblDesc.y=s.lblTitle.y+s.lblTitle.height+8,this.setConditions(s,e),"newHero"===e.type&&n?this.setTargetSummary(s,{
- setTags(i,s){ + setTags(i,s,e=26){
- const e=t.CARD_W-32,n=[[]]; - let h=0; - s.forEach(t=>{ - const s=new He,r=new yD(t,osi,{ + if(i.tags.visible=s.length>0,!s.length)return; + const n=(t.CARD_W-24-6)/2,h=s.map(t=>{ + const i=new yD(t,2502713,{
- r.align="center",r.setWrapWidth(e-16); - const o=Math.ceil(r.width)+16,a=Math.max(22,r.height+6),c=(new Ff).roundRect(0,0,o,a,11).fill({ - color:osi,alpha:.18} + return i.align="center",i.setWrapWidth(n-10),i} + ),r=Math.max(e,...h.map(t=>t.height+8)); + h.forEach((t,s)=>{ + const e=new He,h=(new Ff).roundRect(0,0,n,r,5).fill(0===s?15915151:9754344).stroke({ + color:0===s?9204033:4357008,width:1}
- r.position.set((o-r.width)/2,(a-r.height)/2),s.addChild(c,r),h&&h+4+s.width>e&&(n.push([]),h=0),n[n.length-1].push(s),h+=(h?4:0)+s.width,i.tags.addChild(s)} - ); - let r=0; - n.forEach(i=>{ - const s=i.reduce((t,i)=>t+i.width,0)+4*Math.max(0,i.length-1); - let e=(t.CARD_W-s)/2; - for(const t of i)t.position.set(e,r),e+=t.width+4; - r+=Math.max(0,...i.map(t=>t.height))+5} + t.position.set((n-t.width)/2,(r-t.height)/2),e.addChild(h,t),e.position.set(12+s*(n+6),0),i.tags.addChild(e)}
MiniAscentCorpsPanel 6 hunks, 20 statements
- return"armyLevel"===t.type||"armyBuff"===t.type?[Rvi("ARMY_ALL")]:[..."heroLevel"===t.type||"heroUp"===t.type?[Rvi("HERO")]:"soldierLevel"===t.type||"soldierUp"===t.type||"soldierAllUp"===t.type?[Rvi("SOLDIERS")]:[],...[t.corp,...void 0!==t.partner?[t.partner]:[]].map(t=>Rvi("LEGION",t+1))]} + if("newHero"===t.type)return[]; + const i=[...new Set([t.corp,...void 0!==t.partner?[t.partner]:[]])]; + return["armyLevel"===t.type||"armyBuff"===t.type?Rvi("ARMY_ALL"):Rvi("LEGION",i.map(t=>t+1).join("·")),Rvi({ + armyLevel:"CARD_TARGET_BOTH",armyBuff:"CARD_TARGET_BOTH",legionLevel:"CARD_TARGET_BOTH",dualLevel:"CARD_TARGET_BOTH",tactic:"CARD_TARGET_BOTH",heroLevel:"HERO",heroUp:"HERO",soldierLevel:"SOLDIERS",soldierUp:"SOLDIERS",soldierAllUp:"SOLDIERS",soldierAdd:"SOLDIERS",dualSoldier:"SOLDIERS",soldierChange:"SOLDIERS"} + [t.type])]}
- case"newHero":return"+1"; + case"newHero":return"NEW!";
- const s=i[t.corp],e=`${ - Rvi("HERO")} - · ${ - Rvi("SOLDIERS")} - `; + const s=i[t.corp];
- case"armyLevel":case"legionLevel":return e; - case"armyBuff":return Rvi("ARMY_BUFF_RULES"); + case"armyLevel":case"armyBuff":case"legionLevel":case"heroLevel":case"soldierLevel":case"soldierAdd":case"heroUp":return"";
- case"dualLevel":return`${ - e} - \n${ - Rvi("CARD_EACH")} - `; - case"dualSoldier":return Rvi("CARD_EACH"); + case"dualLevel":case"dualSoldier":return Rvi("CARD_EACH");
- case"heroLevel":case"soldierLevel":case"soldierAdd":case"heroUp":return"";
MiniAscentRelicsPage 3 hunks, 16 statements
- a.position.set(194,o),h.addChild(a),o+=136; - const c=["sealBonus","armyAttackSpeed","armyMoveSpeed"].includes(t.effect)?"%":"",l=t.level*t.step,u="fifthLegion"===t.effect||"soldierChange"===t.effect?Rvi(t.level?"RELIC_UNLOCKED":"RELIC_LOCKED"):`+${ - l} - ${ - c} - `; - o+=r(Rvi("RELIC_EFFECT_SUMMARY",BNi(t),u),o,21,Lvi.accent).height+18,o+=r(Rvi("RELIC_OWNED_COPIES",t.copies??0),o,18,Lvi.text).height+10,o+=r(Rvi("RELIC_REQUIRED_COPIES",t.requiredCopies??Math.ceil((t.level+1)/2)),o,18,Lvi.text).height+28,n.addChild((new Ff).roundRect(0,0,500,o,16).fill(Lvi.surface).stroke({ + a.position.set(194,o),h.addChild(a),o+=136,o+=r(Rvi("RELIC_EFFECT_SUMMARY",BNi(t),this.effectText(t,t.level)),o,21,Lvi.accent).height+18,o+=r(Rvi("RELIC_OWNED_COPIES",t.copies??0),o,18,Lvi.text).height+10,o+=r(Rvi("RELIC_REQUIRED_COPIES",t.requiredCopies??Math.ceil((t.level+1)/2)),o,18,Lvi.text).height+28,n.addChild((new Ff).roundRect(0,0,500,o,16).fill(Lvi.surface).stroke({
+ effectText(t,i){ + if("fifthLegion"===t.effect||"soldierChange"===t.effect)return Rvi(i?"RELIC_UNLOCKED":"RELIC_LOCKED"); + const s=["sealBonus","armyAttackSpeed","armyMoveSpeed"].includes(t.effect)?"%":""; + return`+${ + i*t.step} + ${ + s} + `}
- e&&t&&(this.result=Rvi("RELIC_DRAW_RESULT",BNi(e),t.level),t.leveledUp&&(this.result+=" ↑"),this.selectedId=e.id,pH.getInstance().showMessage(this.result))} + e&&t&&(this.result=Rvi("RELIC_DRAW_RESULT",BNi(e),this.effectText(e,t.level),t.level),t.leveledUp&&(this.result+=" ↑"),this.selectedId=e.id,pH.getInstance().showMessage(this.result))}
MiniAscentAssets 4 hunks, 7 statements
- static loadChapterArt(){ - return this.chapterArtRequest??(this.chapterArtRequest=ld.load(tS.getAssetPath("mini-ascent-chapter-journey.png?v=20260923-1")).catch(t=>{ - throw this.chapterArtRequest=null,t} - ))} + static async loadChapterArt(){ + return await this.ensure(),this.texture("chapter_journey")}
- &atlas=20260926-energy-icon`,i=await fetch(tS.getAssetPath(`UI_MINI.json${ + &atlas=20260926-chapter-art`,i=await fetch(tS.getAssetPath(`UI_MINI.json${
- for(const h of["background_map","encounter_battle","encounter_elite","encounter_boss","encounter_event","encounter_shop","encounter_gambling","ui_arrow_up","ui_button_lobby_blank","ui_close","ui_coin","ui_energy","ui_challenge_seal","ui_divider","UI_VS","UI_Check1","UI_Check2",...uvi,...vvi])if(!n.textures[h])throw new Error(`UI_MINI: missing ${ + for(const h of["background_map","chapter_journey","encounter_battle","encounter_elite","encounter_boss","encounter_event","encounter_shop","encounter_gambling","ui_arrow_up","ui_button_lobby_blank","ui_close","ui_coin","ui_energy","ui_challenge_seal","ui_divider","UI_VS","UI_Check1","UI_Check2",...uvi,...vvi])if(!n.textures[h])throw new Error(`UI_MINI: missing ${
- qt(_vi,"MiniAscentAssets"),Xt(_vi,"sheet",null),Xt(_vi,"pending",null),Xt(_vi,"chapterArtRequest",null); + qt(_vi,"MiniAscentAssets"),Xt(_vi,"sheet",null),Xt(_vi,"pending",null);
MiniAscentBookDataManager 2 hunks, 2 statements
- CRYSTAL_TRIGGER_NORMAL:"Normal attack",CRYSTAL_TRIGGER_SKILL:"Skill attack",CRYSTAL_DESC_STAT:"Increases ## by @@%.",CRYSTAL_DESC_CAPACITY:"Increases the soldier recruitment cap by ## (up to 40).",CRYSTAL_DESC_PROMOTION:"While equipped, increases evolution/ascension by ## stage(s).",CRYSTAL_DESC_STUN:"## hits have a @@% chance to stun the enemy for %% seconds.",CRYSTAL_DESC_FREEZE:"## hits have a @@% chance to freeze the enemy for %% seconds, stopping movement and attacks.",CRYSTAL_DESC_SHOCK:"## hits have a @@% chance to reduce enemy attack speed by 30% for %% seconds.",CRYSTAL_DESC_POISON:"## hits have a @@% chance to poison the enemy for %% seconds, dealing 25% of attack as damage each second.",CRYSTAL_RANDOM_SECONDARY:"Random Secondary (##★)",CRYSTAL_SECONDARY:"Secondary (##★)",CRYSTAL_PRIMARY:"Primary (##★)",CRYSTAL_PROMOTION:"Promotion",CRYSTAL_CAPACITY:"Soldier capacity",TAB_CRYSTALS:"Crystals",CRYSTAL_SUMMON_TICKETS:"Crystal Summon Tickets · ##",CRYSTAL_DRAW_FIVE:"×5",CRYSTAL_CLAIM:"Claim",CRYSTAL_CLAIMED:"Claimed",CRYSTAL_ATTACK:"Attack",CRYSTAL_HEALTH:"Vitality",CRYSTAL_HASTE:"Attack speed",CRYSTAL_MOVE:"Movement",CRYSTAL_RANGE:"Reach",CRYSTAL_STUN:"Stun",CRYSTAL_POISON:"Poison",CRYSTAL_PARALYSIS:"Shock",CRYSTAL_CHILL:"Freeze",CRYSTAL_IN_BATTLE:"Change equipment after the battle ends.",CRYSTAL_REFRESHED:"Your collection changed. Review it and try again.",CRYSTAL_NO_TICKETS:"Not enough draw tickets.",CRYSTAL_PROTECTED:"Equipped crystals cannot be merged.",CRYSTAL_MERGE_RULE:"4 crystals for the same legion and rarity → 1 higher rarity",CRYSTAL_DUPLICATE:"4 slots per legion · No duplicate target/primary option",CRYSTAL_ERROR:"Could not complete the action. Reload and try again.",CRYSTAL_LOAD_FAILED:"Could not load crystals.",CRYSTAL_LOADING:"Loading crystals…",CRYSTAL_COLLECTION:"Collection · ##",CRYSTAL_CANCEL:"Cancel",CRYSTAL_MERGE:"Merge",CRYSTAL_EMPTY:"No crystals for this legion yet.\nDefeat bosses to earn crystals.",CRYSTAL_DRAW_ONE:"×1",CRYSTAL_UNEQUIP:"Unequip",CRYSTAL_SLOT:"Slot ##",CRYSTAL_REPLACE:"Replace selected slot",CRYSTAL_EQUIP:"Equip",CRYSTAL_MERGE_CONFIRM:"Consume these four crystals?\nReceive one higher-rarity crystal for this legion.",CRYSTAL_RECEIVED:"Crystals acquired",CRYSTAL_CONFIRM:"Confirm",CRYSTAL_BOSS_REWARD:"Boss rewards",CRYSTAL_FIRST_CLEAR:"First-clear reward · Crystal Summon Tickets ×##",CRYSTAL_TICKETS_GRANTED:"Crystal Summon Tickets ×## received",RELIC_ARMY_START_LEVEL:"All legions: hero and soldier level",RELIC_ARMY_ATTACK_SPEED:"All legions: attack speed",RELIC_ARMY_MOVE_SPEED:"All legions: movement speed",CARD_TRANSCEND:"Ascend ##",CARD_HERO_LEVEL_UP:"Hero level up",CARD_SOLDIER_LEVEL_UP:"Soldier level up",CARD_LEGION_LEVEL_UP:"Legion level up",CARD_ARMY_LEVEL_UP:"All legions level up",CARD_HERO_UPGRADE:"Hero ##",CARD_SOLDIER_UPGRADE:"Soldier ##",CARD_SOLDIER_CHANGE:"Soldier class change",CARD_SOLDIER_CHANGE_KEEP:"Level and count retained\nEvolution and ascension retained",CARD_AUTO_PICK:"Auto-select in ##s",AUTO_CARD_RULES:"Choose a card after each battle. After 7 seconds, one of the highest-rarity cards is selected automatically.",ARMY_ALL:"All legions",ARMY_ATK_SPEED:"Attack speed",ARMY_MOVE_SPEED:"Movement speed",ARMY_RANGE:"Attack range",ARMY_ATTACK:"Attack",ARMY_HP:"Health",ARMY_BUFF_RULES:"All heroes and soldiers",CARD_ALL_SOLDIERS_UP:"All current soldiers in this legion advance one stage.",EVENT_SHOP_HINT:"Exchange seals for main-game rewards. Purchases are sent to your mailbox.",EVENT_SHOP_EMPTY:"No products are currently available.",EVENT_SHOP_LIMIT:"( ## / @@ )",EVENT_SHOP_BUY:"Buy",EVENT_SHOP_DELIVERED:"Rewards sent to your mailbox.",CARD_NORMAL:"Normal",CARD_RARE:"Rare",CARD_EPIC:"Epic",CARDS_CURRENT:"Current card reward",CARDS_RECEIVE:"Receive",CARDS_WAVE:"Wave ## reward",CARDS_SEQUENTIAL_RULES:"Receive to reveal the current cards. Choose one before receiving the next reward.",CARDS_ALL_CLAIMED:"All card rewards have been chosen.",AUTO_BATTLE:"Auto battle",AUTO_TARGET:"Through wave ##",AUTO_NORMAL:"Normal first",AUTO_ELITE:"Elite first",AUTO_START:"Start auto battle",AUTO_STOP:"Stop after this battle",AUTO_STOPPING:"Stopping after this battle",AUTO_STATUS:"Through wave ## · @@",AUTO_SAVING:"Saving data…",AUTO_UNAVAILABLE:"Auto battle is unavailable right now.",AUTO_NO_BATTLE:"Auto battle stopped. Choose the next destination.",CARDS_RULES:"Choose one card per cleared wave. Effects apply when chosen. Unclaimed cards expire when this run ends.",CARDS_EMPTY:"No cards yet. Win a battle to earn cards.",CARDS_CHOOSE:"Choose a card",CARDS_APPLY:"Apply card",SHOP_ALL:"All legions",SHOP_REPLACE:"Replace hero",SHOP_HERO_UP:"Upgrade hero",SHOP_SOLDIER_UP:"Upgrade ## soldiers",SHOP_UPGRADE_DESC:"Upgrade up to ## soldiers, lowest tiers first",SHOP_ADD_LIMIT:"Legions at or below the soldier limit",SHOP_RUN_ONLY:"Applies to this run only",SHOP_RUN_BUFF:"Heroes & soldiers · Stacks this run",FOCUS_SOLDIERS:"Soldiers +##",DUAL_LEVEL:"Both legions: level +##",ASSAULT:"Combined attack",GUARD:"Cover",PAIR_LEGIONS:"Legions ## & @@",ATTACK_EFFECT:"Attack +##%",GUARD_EFFECT:"Damage taken −##%",TACTIC_REQUIRE:"Both: ## soldiers / Lv.@@",TACTIC_REQUIRE_HEADER:"Requirements",TACTIC_REQUIRE_BODY:"Each legion\n##+ soldiers\nHero & soldiers: Lv.@@+",CARD_SOLDIER_ADD:"Add soldiers",CARD_RECRUIT:"New legion",CARD_EACH:"Applies to each legion",CARD_SOLDIER_COUNT:"## soldiers",CARD_DAMAGE_TAKEN:"Damage taken",LEGION_TRAIN:"Legion ##: Hero and soldier levels +@@",CHAPTER_NAME:"Chapter ##",CHAPTER_WAVES:"## waves",CHAPTER_PROGRESS:"Chapter ## · Wave @@",NORMAL_MODE:"Normal",HARD_MODE:"Hard",HARD_CHAPTER_NAME:"Hard Chapter ##",HARD_LOCKED:"Clear Chapter ## to unlock Hard",HARD_CHAPTER_PROGRESS:"Hard Chapter ## · Wave @@",ENERGY_STATUS:"Energy ##/@@",ENERGY_NEXT:"Next +1 in ## min",ENERGY_SHORT:"Not enough energy (## needed)",ENERGY_FULL:"Full",CHAPTER_CLEAR:"Chapter ## cleared!",CHAPTER_STAGE_REWARDS:"First-clear stage rewards",CHAPTER_REWARD_RECEIVED:"Rewards claimed. Check your mailbox for main-game rewards.",TAB_RELICS:"Relics",RELIC_SUMMON:"Summon relic",RELIC_SUMMON_TEN:"Summon relic (×10)",RELIC_SUMMON_RESULT:"Relic summon results",RELIC_EFFECT_SUMMARY:"##: @@",RELIC_OWNED_COPIES:"Copies owned: ##",RELIC_REQUIRED_COPIES:"Copies needed for next level: ##",RELIC_LOADING:"Loading relics…",RELIC_LOAD_FAILED:"Could not load relics",RELIC_RELOAD:"Reload",RELIC_DRAW_RESULT:"## +1 · Lv.@@",RELIC_LIFE:"Extra life",RELIC_SOLDIER_LEVEL:"Legion ##: soldier level",RELIC_HERO_LEVEL:"Legion ##: hero level",RELIC_START_GOLD:"First-wave gold: once per chapter each season",RELIC_CLEAR_GOLD:"Gold per battle won",RELIC_SEAL_BONUS:"Seal rewards",RELIC_SOLDIER_COUNT:"Legion ##: soldiers",RELIC_LEVEL_GAIN:"Level-up gains for all legions",RELIC_FIFTH_LEGION:"Start with Legion 5",RELIC_SOLDIER_CHANGE:"Legion ##: choose soldier type",RELIC_LOCKED:"Not owned",RELIC_UNLOCKED:"Unlocked",RELIC_RETRY_LIFE:"Life used. ## remaining. Retry this stage.",RELIC_SEALS_EARNED:"Seals earned +##",RELIC_GRID_HINT:"Tap a relic to view its details.",TAB_BATTLE:"Battle",TAB_CORPS:"Legions",TAB_SHOP:"Shop",EMPTY_CORPS:"Start a run in the Battle tab to form your legions.",SHOP_LOCKED:"Choose a shop on the route to purchase items.",TIER_NORMAL:"Normal",TIER_EVOLVED:"Evolved",TIER_TRANS:"##◆",SOLDIERS:"Soldiers",HERO:"Hero",LEGION:"Legion ##",MY_CORPS:"My legions",BEST:"Best: Stage ##",RESULT_TITLE:"Challenge result",START:"Start",CURRENT_POSITION:"You are here",ASSET_ERROR:"Could not load minigame images. Please try again.",RESULT_DONE:"Reward received",RESULT_LOSS:"You lost",RESULT_WIN:"You won!",NO_COINS:"Not enough coins",WAGER_SKIP:"Pass without betting",WAGER_BET:"Bet ## coins",WAGER_LOSS:"Lose: spend ## coins",WAGER_WIN:"Win: receive ## coins (net +@@)",WAGER_ODDS:"Win chance: ##%",WAGER_ROUNDS:"Played ## / @@ rounds",WAGER_RETURN:"Bet → Return on a win",WAGER_LOSS_RULE:"If you lose, you lose the coins you bet.",WAGER:"Coin wager",TAKE_REWARD:"Take reward",SUPPLY_DESC:"Supplies and training apply to this run only",SUPPLY_COINS:"Receive funds",TITLE:"Legion Challenge",ROUTE:"Choose a route",DEPTH:"Stage ##",SHOP:"Shop",NEXT:"Next destination",CONTINUE:"Continue",EVENT_HINT:"Choose one reward without a battle",COINS:"Coins +##",HERO_TRAIN:"Legion ##: Hero level +@@",SOLDIER_TRAIN:"Legion ##: All soldiers level +@@",SHOP_HINT:"This run only · 3 random offers",RESET:"Legions reset after defeat. Gold and seals are kept.",DEFEAT:"Defeated at stage ##.",SUMMARY:"Stages cleared: ## · Coins earned: @@",RESTART:"New run",BATTLE_GIVEUP:"Give up",BATTLE_GIVEUP_QUESTION:"Give up this battle?\nThis will end the current run.",RECORD:"Run coins: ## · Best stage: @@",PROGRESS:"Stage ##",SAME_RACE:"Hero level and upgrades are retained"} + CRYSTAL_TRIGGER_NORMAL:"Normal attack",CRYSTAL_TRIGGER_SKILL:"Skill attack",CRYSTAL_DESC_STAT:"Increases ## by @@%.",CRYSTAL_DESC_CAPACITY:"Increases the soldier recruitment cap by ## (up to 40).",CRYSTAL_DESC_PROMOTION:"While equipped, increases evolution/ascension by ## stage(s).",CRYSTAL_DESC_STUN:"## hits have a @@% chance to stun the enemy for %% seconds.",CRYSTAL_DESC_FREEZE:"## hits have a @@% chance to freeze the enemy for %% seconds, stopping movement and attacks.",CRYSTAL_DESC_SHOCK:"## hits have a @@% chance to reduce enemy attack speed by 30% for %% seconds.",CRYSTAL_DESC_POISON:"## hits have a @@% chance to poison the enemy for %% seconds, dealing 25% of attack as damage each second.",CRYSTAL_RANDOM_SECONDARY:"Random Secondary (##★)",CRYSTAL_SECONDARY:"Secondary (##★)",CRYSTAL_PRIMARY:"Primary (##★)",CRYSTAL_PROMOTION:"Promotion",CRYSTAL_CAPACITY:"Soldier capacity",TAB_CRYSTALS:"Crystals",CRYSTAL_SUMMON_TICKETS:"Crystal Summon Tickets · ##",CRYSTAL_DRAW_FIVE:"×5",CRYSTAL_CLAIM:"Claim",CRYSTAL_CLAIMED:"Claimed",CRYSTAL_ATTACK:"Attack",CRYSTAL_HEALTH:"Vitality",CRYSTAL_HASTE:"Attack speed",CRYSTAL_MOVE:"Movement",CRYSTAL_RANGE:"Reach",CRYSTAL_STUN:"Stun",CRYSTAL_POISON:"Poison",CRYSTAL_PARALYSIS:"Shock",CRYSTAL_CHILL:"Freeze",CRYSTAL_IN_BATTLE:"Change equipment after the battle ends.",CRYSTAL_REFRESHED:"Your collection changed. Review it and try again.",CRYSTAL_NO_TICKETS:"Not enough draw tickets.",CRYSTAL_PROTECTED:"Equipped crystals cannot be merged.",CRYSTAL_MERGE_RULE:"4 crystals for the same legion and rarity → 1 higher rarity",CRYSTAL_DUPLICATE:"4 slots per legion · No duplicate target/primary option",CRYSTAL_ERROR:"Could not complete the action. Reload and try again.",CRYSTAL_LOAD_FAILED:"Could not load crystals.",CRYSTAL_LOADING:"Loading crystals…",CRYSTAL_COLLECTION:"Collection · ##",CRYSTAL_CANCEL:"Cancel",CRYSTAL_MERGE:"Merge",CRYSTAL_EMPTY:"No crystals for this legion yet.\nDefeat bosses to earn crystals.",CRYSTAL_DRAW_ONE:"×1",CRYSTAL_UNEQUIP:"Unequip",CRYSTAL_SLOT:"Slot ##",CRYSTAL_REPLACE:"Replace selected slot",CRYSTAL_EQUIP:"Equip",CRYSTAL_MERGE_CONFIRM:"Consume these four crystals?\nReceive one higher-rarity crystal for this legion.",CRYSTAL_RECEIVED:"Crystals acquired",CRYSTAL_CONFIRM:"Confirm",CRYSTAL_BOSS_REWARD:"Boss rewards",CRYSTAL_FIRST_CLEAR:"First-clear reward · Crystal Summon Tickets ×##",CRYSTAL_TICKETS_GRANTED:"Crystal Summon Tickets ×## received",RELIC_ARMY_START_LEVEL:"All legions: hero and soldier level",RELIC_ARMY_ATTACK_SPEED:"All legions: attack speed",RELIC_ARMY_MOVE_SPEED:"All legions: movement speed",CARD_TRANSCEND:"Ascend ##",CARD_HERO_LEVEL_UP:"Hero level up",CARD_SOLDIER_LEVEL_UP:"Soldier level up",CARD_LEGION_LEVEL_UP:"Legion level up",CARD_ARMY_LEVEL_UP:"All legions level up",CARD_HERO_UPGRADE:"Hero ##",CARD_SOLDIER_UPGRADE:"Soldier ##",CARD_SOLDIER_CHANGE:"Soldier class change",CARD_SOLDIER_CHANGE_KEEP:"Level and count retained\nEvolution and ascension retained",CARD_AUTO_PICK:"Auto-select in ##s",AUTO_CARD_RULES:"Choose a card after each battle. After 7 seconds, one of the highest-rarity cards is selected automatically.",ARMY_ALL:"All legions",CARD_TARGET_BOTH:"Both",ARMY_ATK_SPEED:"Attack speed",ARMY_MOVE_SPEED:"Movement speed",ARMY_RANGE:"Attack range",ARMY_ATTACK:"Attack",ARMY_HP:"Health",ARMY_BUFF_RULES:"All heroes and soldiers",CARD_ALL_SOLDIERS_UP:"All current soldiers in this legion advance one stage.",EVENT_SHOP_HINT:"Exchange seals for main-game rewards. Purchases are sent to your mailbox.",EVENT_SHOP_EMPTY:"No products are currently available.",EVENT_SHOP_LIMIT:"( ## / @@ )",EVENT_SHOP_BUY:"Buy",EVENT_SHOP_DELIVERED:"Rewards sent to your mailbox.",CARD_NORMAL:"Normal",CARD_RARE:"Rare",CARD_EPIC:"Epic",CARDS_CURRENT:"Current card reward",CARDS_RECEIVE:"Receive",CARDS_WAVE:"Wave ## reward",CARDS_SEQUENTIAL_RULES:"Receive to reveal the current cards. Choose one before receiving the next reward.",CARDS_ALL_CLAIMED:"All card rewards have been chosen.",AUTO_BATTLE:"Auto battle",AUTO_TARGET:"Through wave ##",AUTO_NORMAL:"Normal first",AUTO_ELITE:"Elite first",AUTO_START:"Start auto battle",AUTO_STOP:"Stop after this battle",AUTO_STOPPING:"Stopping after this battle",AUTO_STATUS:"Through wave ## · @@",AUTO_SAVING:"Saving data…",AUTO_UNAVAILABLE:"Auto battle is unavailable right now.",AUTO_NO_BATTLE:"Auto battle stopped. Choose the next destination.",CARDS_RULES:"Choose one card per cleared wave. Effects apply when chosen. Unclaimed cards expire when this run ends.",CARDS_EMPTY:"No cards yet. Win a battle to earn cards.",CARDS_CHOOSE:"Choose a card",CARDS_APPLY:"Apply card",SHOP_ALL:"All legions",SHOP_REPLACE:"Replace hero",SHOP_HERO_UP:"Upgrade hero",SHOP_SOLDIER_UP:"Upgrade ## soldiers",SHOP_UPGRADE_DESC:"Upgrade up to ## soldiers, lowest tiers first",SHOP_ADD_LIMIT:"Legions at or below the soldier limit",SHOP_RUN_ONLY:"Applies to this run only",SHOP_RUN_BUFF:"Heroes & soldiers · Stacks this run",FOCUS_SOLDIERS:"Soldiers +##",DUAL_LEVEL:"Both legions: level +##",ASSAULT:"Combined attack",GUARD:"Cover",PAIR_LEGIONS:"Legions ## & @@",ATTACK_EFFECT:"Attack +##%",GUARD_EFFECT:"Damage taken −##%",TACTIC_REQUIRE:"Both: ## soldiers / Lv.@@",TACTIC_REQUIRE_HEADER:"Requirements",TACTIC_REQUIRE_BODY:"Each legion\n##+ soldiers\nHero & soldiers: Lv.@@+",CARD_SOLDIER_ADD:"Add soldiers",CARD_RECRUIT:"New legion",CARD_EACH:"Applies to each legion",CARD_SOLDIER_COUNT:"## soldiers",CARD_DAMAGE_TAKEN:"Damage taken",LEGION_TRAIN:"Legion ##: Hero and soldier levels +@@",CHAPTER_NAME:"Chapter ##",CHAPTER_WAVES:"## waves",CHAPTER_PROGRESS:"Chapter ## · Wave @@",NORMAL_MODE:"Normal",HARD_MODE:"Hard",HARD_CHAPTER_NAME:"Hard Chapter ##",HARD_LOCKED:"Clear Chapter ## to unlock Hard",HARD_CHAPTER_PROGRESS:"Hard Chapter ## · Wave @@",ENERGY_STATUS:"Energy ##/@@",ENERGY_NEXT:"Next +1 in ## min",ENERGY_SHORT:"Not enough energy (## needed)",ENERGY_FULL:"Full",CHAPTER_CLEAR:"Chapter ## cleared!",CHAPTER_STAGE_REWARDS:"First-clear stage rewards",CHAPTER_REWARD_RECEIVED:"Rewards claimed. Check your mailbox for main-game rewards.",TAB_RELICS:"Relics",RELIC_SUMMON:"Summon relic",RELIC_SUMMON_TEN:"Summon relic (×10)",RELIC_SUMMON_RESULT:"Relic summon results",RELIC_EFFECT_SUMMARY:"##: @@",RELIC_OWNED_COPIES:"Copies owned: ##",RELIC_REQUIRED_COPIES:"Copies needed for next level: ##",RELIC_LOADING:"Loading relics…",RELIC_LOAD_FAILED:"Could not load relics",RELIC_RELOAD:"Reload",RELIC_DRAW_RESULT:"## @@ · Lv.%%",RELIC_LIFE:"Extra life",RELIC_SOLDIER_LEVEL:"Legion ##: soldier level",RELIC_HERO_LEVEL:"Legion ##: hero level",RELIC_START_GOLD:"First-wave gold: once per chapter each season",RELIC_CLEAR_GOLD:"Gold per battle won",RELIC_SEAL_BONUS:"Seal rewards",RELIC_SOLDIER_COUNT:"Legion ##: soldiers",RELIC_LEVEL_GAIN:"Level-up gains for all legions",RELIC_FIFTH_LEGION:"Start with Legion 5",RELIC_SOLDIER_CHANGE:"Legion ##: choose soldier type",RELIC_LOCKED:"Not owned",RELIC_UNLOCKED:"Unlocked",RELIC_RETRY_LIFE:"Life used. ## remaining. Retry this stage.",RELIC_SEALS_EARNED:"Seals earned +##",RELIC_GRID_HINT:"Tap a relic to view its details.",TAB_BATTLE:"Battle",TAB_CORPS:"Legions",TAB_SHOP:"Shop",EMPTY_CORPS:"Start a run in the Battle tab to form your legions.",SHOP_LOCKED:"Choose a shop on the route to purchase items.",TIER_NORMAL:"Normal",TIER_EVOLVED:"Evolved",TIER_TRANS:"##◆",SOLDIERS:"Soldiers",HERO:"Hero",LEGION:"Legion ##",MY_CORPS:"My legions",BEST:"Best: Stage ##",RESULT_TITLE:"Challenge result",START:"Start",CURRENT_POSITION:"You are here",ASSET_ERROR:"Could not load minigame images. Please try again.",RESULT_DONE:"Reward received",RESULT_LOSS:"You lost",RESULT_WIN:"You won!",NO_COINS:"Not enough coins",WAGER_SKIP:"Pass without betting",WAGER_BET:"Bet ## coins",WAGER_LOSS:"Lose: spend ## coins",WAGER_WIN:"Win: receive ## coins (net +@@)",WAGER_ODDS:"Win chance: ##%",WAGER_ROUNDS:"Played ## / @@ rounds",WAGER_RETURN:"Bet → Return on a win",WAGER_LOSS_RULE:"If you lose, you lose the coins you bet.",WAGER:"Coin wager",TAKE_REWARD:"Take reward",SUPPLY_DESC:"Supplies and training apply to this run only",SUPPLY_COINS:"Receive funds",TITLE:"Legion Challenge",ROUTE:"Choose a route",DEPTH:"Stage ##",SHOP:"Shop",NEXT:"Next destination",CONTINUE:"Continue",EVENT_HINT:"Choose one reward without a battle",COINS:"Coins +##",HERO_TRAIN:"Legion ##: Hero level +@@",SOLDIER_TRAIN:"Legion ##: All soldiers level +@@",SHOP_HINT:"This run only · 3 random offers",RESET:"Legions reset after defeat. Gold and seals are kept.",DEFEAT:"Defeated at stage ##.",SUMMARY:"Stages cleared: ## · Coins earned: @@",RESTART:"New run",BATTLE_GIVEUP:"Give up",BATTLE_GIVEUP_QUESTION:"Give up this battle?\nThis will end the current run.",RECORD:"Run coins: ## · Best stage: @@",PROGRESS:"Stage ##",SAME_RACE:"Hero level and upgrades are retained"}
- TAB_CRYSTALS:"GAME_1713",TAB_RELICS:"GAME_4",TAB_BATTLE:"COMMON_378",TAB_CORPS:"GAME_1714",TAB_SHOP:"COMMON_356",BEST:"GAME_1715",TITLE:"GAME_1716",DEPTH:"COMMON_397",ASSET_ERROR:"GAME_1717",CHAPTER_NAME:"GAME_1718",CHAPTER_WAVES:"GAME_1590",CHAPTER_PROGRESS:"GAME_1719",CHAPTER_STAGE_REWARDS:"GAME_1720",CHAPTER_REWARD_RECEIVED:"GAME_1721",CONTINUE:"GAME_1722",RESET:"GAME_1723",RESTART:"GAME_1724",PROGRESS:"GAME_1725",BATTLE_GIVEUP:"GAME_1726",BATTLE_GIVEUP_QUESTION:"GAME_1727",CHAPTER_CLEAR:"GAME_1728",RELIC_SEALS_EARNED:"GAME_1729",RESULT_TITLE:"GAME_1730",DEFEAT:"GAME_1731",SUMMARY:"GAME_1732",CARD_TRANSCEND:"GAME_1173",CARD_LEGION_LEVEL_UP:"GAME_1733",CARD_ARMY_LEVEL_UP:"GAME_1734",CARD_HERO_UPGRADE:"GAME_1735",CARD_SOLDIER_UPGRADE:"GAME_1736",CARD_AUTO_PICK:"GAME_1737",ARMY_ALL:"GAME_1738",ARMY_ATK_SPEED:"GAME_21",ARMY_MOVE_SPEED:"GAME_22",ARMY_RANGE:"GAME_1739",ARMY_ATTACK:"GAME_19",ARMY_HP:"CombatBuffType_HU",ARMY_BUFF_RULES:"GAME_1740",CARD_ALL_SOLDIERS_UP:"GAME_1741",CARD_NORMAL:"EmblemGradeName1",CARD_RARE:"GAME_1742",CARD_EPIC:"EmblemGradeName4",CARDS_CURRENT:"GAME_1743",CARDS_RECEIVE:"COMMON_8",CARDS_WAVE:"GAME_1744",CARDS_SEQUENTIAL_RULES:"GAME_1745",CARDS_ALL_CLAIMED:"GAME_1746",CARDS_RULES:"GAME_1747",CARDS_EMPTY:"GAME_1748",CARDS_CHOOSE:"GAME_1749",CARDS_APPLY:"GAME_1750",CARD_SOLDIER_ADD:"GAME_1751",CARD_RECRUIT:"GAME_1752",CARD_SOLDIER_COUNT:"GAME_1753",SOLDIERS:"GAME_175",HERO:"GAME_3",LEGION:"GAME_1754",EMPTY_CORPS:"GAME_1755",TIER_NORMAL:"EmblemGradeName1",TIER_EVOLVED:"GAME_67",TIER_TRANS:"GAME_1756",MY_CORPS:"GAME_1757",CRYSTAL_CONFIRM:"COMMON_1",RELIC_ARMY_START_LEVEL:"GAME_1758",RELIC_ARMY_ATTACK_SPEED:"GAME_1759",RELIC_ARMY_MOVE_SPEED:"GAME_1760",RELIC_SUMMON:"GAME_1761",RELIC_SUMMON_TEN:"GAME_1762",RELIC_SUMMON_RESULT:"GAME_1763",RELIC_EFFECT_SUMMARY:"GAME_1764",RELIC_OWNED_COPIES:"GAME_1765",RELIC_REQUIRED_COPIES:"GAME_1766",RELIC_LOADING:"GAME_1767",RELIC_LOAD_FAILED:"GAME_1768",RELIC_RELOAD:"GAME_1769",RELIC_DRAW_RESULT:"GAME_1770",RELIC_SOLDIER_LEVEL:"GAME_1771",RELIC_HERO_LEVEL:"GAME_1772",RELIC_SOLDIER_COUNT:"GAME_1773",RELIC_LOCKED:"GAME_1774",RELIC_UNLOCKED:"GAME_1775",RELIC_GRID_HINT:"GAME_1776",CRYSTAL_TRIGGER_NORMAL:"GAME_26",CRYSTAL_TRIGGER_SKILL:"GAME_27",CRYSTAL_DESC_STAT:"GAME_1777",CRYSTAL_DESC_CAPACITY:"GAME_1778",CRYSTAL_DESC_PROMOTION:"GAME_1779",CRYSTAL_DESC_STUN:"GAME_1780",CRYSTAL_DESC_FREEZE:"GAME_1781",CRYSTAL_DESC_SHOCK:"GAME_1782",CRYSTAL_DESC_POISON:"GAME_1783",CRYSTAL_RANDOM_SECONDARY:"GAME_1784",CRYSTAL_SECONDARY:"GAME_1785",CRYSTAL_PRIMARY:"GAME_1786",CRYSTAL_PROMOTION:"GAME_1787",CRYSTAL_CAPACITY:"GAME_1788",CRYSTAL_SUMMON_TICKETS:"GAME_1789",CRYSTAL_DRAW_FIVE:"GAME_1790",CRYSTAL_CLAIM:"COMMON_223",CRYSTAL_CLAIMED:"COMMON_319",CRYSTAL_ATTACK:"GAME_19",CRYSTAL_HEALTH:"GAME_1791",CRYSTAL_HASTE:"GAME_21",CRYSTAL_MOVE:"GAME_22",CRYSTAL_RANGE:"GAME_1792",CRYSTAL_STUN:"GAME_1388",CRYSTAL_POISON:"GAME_1390",CRYSTAL_PARALYSIS:"GAME_1793",CRYSTAL_CHILL:"GAME_1794",CRYSTAL_IN_BATTLE:"GAME_1795",CRYSTAL_REFRESHED:"GAME_1796",CRYSTAL_NO_TICKETS:"GAME_1348",CRYSTAL_PROTECTED:"GAME_1797",CRYSTAL_MERGE_RULE:"GAME_1798",CRYSTAL_DUPLICATE:"GAME_1799",CRYSTAL_ERROR:"GAME_1800",CRYSTAL_LOAD_FAILED:"GAME_1801",CRYSTAL_LOADING:"GAME_1802",CRYSTAL_COLLECTION:"GAME_1803",CRYSTAL_CANCEL:"COMMON_2",CRYSTAL_MERGE:"GAME_1328",CRYSTAL_EMPTY:"GAME_1804",CRYSTAL_DRAW_ONE:"GAME_1805",CRYSTAL_UNEQUIP:"GAME_150",CRYSTAL_SLOT:"GAME_1806",CRYSTAL_REPLACE:"GAME_1807",CRYSTAL_EQUIP:"GAME_149",CRYSTAL_MERGE_CONFIRM:"GAME_1808",CRYSTAL_RECEIVED:"GAME_1809",CRYSTAL_BOSS_REWARD:"GAME_1810",CRYSTAL_FIRST_CLEAR:"GAME_1811",EVENT_SHOP_HINT:"GAME_1812",EVENT_SHOP_EMPTY:"GAME_1813",EVENT_SHOP_LIMIT:"GAME_1814",EVENT_SHOP_BUY:"COMMON_7",EVENT_SHOP_DELIVERED:"GAME_1815",SHOP:"COMMON_356",NORMAL_MODE:"GAME_1834",HARD_MODE:"GAME_1835",HARD_CHAPTER_NAME:"GAME_1836",HARD_LOCKED:"GAME_1837",HARD_CHAPTER_PROGRESS:"GAME_1838",ENERGY_STATUS:"GAME_1839",ENERGY_NEXT:"GAME_1840",ENERGY_SHORT:"GAME_1841",ENERGY_FULL:"GAME_1842",CRYSTAL_TICKETS_GRANTED:"GAME_1843"} + TAB_CRYSTALS:"GAME_1713",TAB_RELICS:"GAME_4",TAB_BATTLE:"COMMON_378",TAB_CORPS:"GAME_1714",TAB_SHOP:"COMMON_356",BEST:"GAME_1715",TITLE:"GAME_1716",DEPTH:"COMMON_397",ASSET_ERROR:"GAME_1717",CHAPTER_NAME:"GAME_1718",CHAPTER_WAVES:"GAME_1590",CHAPTER_PROGRESS:"GAME_1719",CHAPTER_STAGE_REWARDS:"GAME_1720",CHAPTER_REWARD_RECEIVED:"GAME_1721",CONTINUE:"GAME_1722",RESET:"GAME_1723",RESTART:"GAME_1724",PROGRESS:"GAME_1725",BATTLE_GIVEUP:"GAME_1726",BATTLE_GIVEUP_QUESTION:"GAME_1727",CHAPTER_CLEAR:"GAME_1728",RELIC_SEALS_EARNED:"GAME_1729",RESULT_TITLE:"GAME_1730",DEFEAT:"GAME_1731",SUMMARY:"GAME_1732",CARD_TRANSCEND:"GAME_1173",CARD_LEGION_LEVEL_UP:"GAME_1733",CARD_ARMY_LEVEL_UP:"GAME_1734",CARD_HERO_UPGRADE:"GAME_1735",CARD_SOLDIER_UPGRADE:"GAME_1736",CARD_AUTO_PICK:"GAME_1737",ARMY_ALL:"GAME_1738",CARD_TARGET_BOTH:"GAME_1845",CARD_SOLDIER_CHANGE:"GAME_1846",CARD_SOLDIER_CHANGE_KEEP:"GAME_1847",CARD_HERO_LEVEL_UP:"GAME_1848",CARD_SOLDIER_LEVEL_UP:"GAME_1849",ARMY_ATK_SPEED:"GAME_21",ARMY_MOVE_SPEED:"GAME_22",ARMY_RANGE:"GAME_1739",ARMY_ATTACK:"GAME_19",ARMY_HP:"CombatBuffType_HU",ARMY_BUFF_RULES:"GAME_1740",CARD_ALL_SOLDIERS_UP:"GAME_1741",CARD_NORMAL:"EmblemGradeName1",CARD_RARE:"GAME_1742",CARD_EPIC:"EmblemGradeName4",CARDS_CURRENT:"GAME_1743",CARDS_RECEIVE:"COMMON_8",CARDS_WAVE:"GAME_1744",CARDS_SEQUENTIAL_RULES:"GAME_1745",CARDS_ALL_CLAIMED:"GAME_1746",CARDS_RULES:"GAME_1747",CARDS_EMPTY:"GAME_1748",CARDS_CHOOSE:"GAME_1749",CARDS_APPLY:"GAME_1750",CARD_SOLDIER_ADD:"GAME_1751",CARD_RECRUIT:"GAME_1752",CARD_SOLDIER_COUNT:"GAME_1753",SOLDIERS:"GAME_175",HERO:"GAME_3",LEGION:"GAME_1754",EMPTY_CORPS:"GAME_1755",TIER_NORMAL:"EmblemGradeName1",TIER_EVOLVED:"GAME_67",TIER_TRANS:"GAME_1756",MY_CORPS:"GAME_1757",CRYSTAL_CONFIRM:"COMMON_1",RELIC_ARMY_START_LEVEL:"GAME_1758",RELIC_ARMY_ATTACK_SPEED:"GAME_1759",RELIC_ARMY_MOVE_SPEED:"GAME_1760",RELIC_SUMMON:"GAME_1761",RELIC_SUMMON_TEN:"GAME_1762",RELIC_SUMMON_RESULT:"GAME_1763",RELIC_EFFECT_SUMMARY:"GAME_1764",RELIC_OWNED_COPIES:"GAME_1765",RELIC_REQUIRED_COPIES:"GAME_1766",RELIC_LOADING:"GAME_1767",RELIC_LOAD_FAILED:"GAME_1768",RELIC_RELOAD:"GAME_1769",RELIC_DRAW_RESULT:"GAME_1770",RELIC_SOLDIER_LEVEL:"GAME_1771",RELIC_HERO_LEVEL:"GAME_1772",RELIC_SOLDIER_COUNT:"GAME_1773",RELIC_LOCKED:"GAME_1774",RELIC_UNLOCKED:"GAME_1775",RELIC_GRID_HINT:"GAME_1776",CRYSTAL_TRIGGER_NORMAL:"GAME_26",CRYSTAL_TRIGGER_SKILL:"GAME_27",CRYSTAL_DESC_STAT:"GAME_1777",CRYSTAL_DESC_CAPACITY:"GAME_1778",CRYSTAL_DESC_PROMOTION:"GAME_1779",CRYSTAL_DESC_STUN:"GAME_1780",CRYSTAL_DESC_FREEZE:"GAME_1781",CRYSTAL_DESC_SHOCK:"GAME_1782",CRYSTAL_DESC_POISON:"GAME_1783",CRYSTAL_RANDOM_SECONDARY:"GAME_1784",CRYSTAL_SECONDARY:"GAME_1785",CRYSTAL_PRIMARY:"GAME_1786",CRYSTAL_PROMOTION:"GAME_1787",CRYSTAL_CAPACITY:"GAME_1788",CRYSTAL_SUMMON_TICKETS:"GAME_1789",CRYSTAL_DRAW_FIVE:"GAME_1790",CRYSTAL_CLAIM:"COMMON_223",CRYSTAL_CLAIMED:"COMMON_319",CRYSTAL_ATTACK:"GAME_19",CRYSTAL_HEALTH:"GAME_1791",CRYSTAL_HASTE:"GAME_21",CRYSTAL_MOVE:"GAME_22",CRYSTAL_RANGE:"GAME_1792",CRYSTAL_STUN:"GAME_1388",CRYSTAL_POISON:"GAME_1390",CRYSTAL_PARALYSIS:"GAME_1793",CRYSTAL_CHILL:"GAME_1794",CRYSTAL_IN_BATTLE:"GAME_1795",CRYSTAL_REFRESHED:"GAME_1796",CRYSTAL_NO_TICKETS:"GAME_1348",CRYSTAL_PROTECTED:"GAME_1797",CRYSTAL_MERGE_RULE:"GAME_1798",CRYSTAL_DUPLICATE:"GAME_1799",CRYSTAL_ERROR:"GAME_1800",CRYSTAL_LOAD_FAILED:"GAME_1801",CRYSTAL_LOADING:"GAME_1802",CRYSTAL_COLLECTION:"GAME_1803",CRYSTAL_CANCEL:"COMMON_2",CRYSTAL_MERGE:"GAME_1328",CRYSTAL_EMPTY:"GAME_1804",CRYSTAL_DRAW_ONE:"GAME_1805",CRYSTAL_UNEQUIP:"GAME_150",CRYSTAL_SLOT:"GAME_1806",CRYSTAL_REPLACE:"GAME_1807",CRYSTAL_EQUIP:"GAME_149",CRYSTAL_MERGE_CONFIRM:"GAME_1808",CRYSTAL_RECEIVED:"GAME_1809",CRYSTAL_BOSS_REWARD:"GAME_1810",CRYSTAL_FIRST_CLEAR:"GAME_1811",EVENT_SHOP_HINT:"GAME_1812",EVENT_SHOP_EMPTY:"GAME_1813",EVENT_SHOP_LIMIT:"GAME_1814",EVENT_SHOP_BUY:"COMMON_7",EVENT_SHOP_DELIVERED:"GAME_1815",SHOP:"COMMON_356",NORMAL_MODE:"GAME_1834",HARD_MODE:"GAME_1835",HARD_CHAPTER_NAME:"GAME_1836",HARD_LOCKED:"GAME_1837",HARD_CHAPTER_PROGRESS:"GAME_1838",ENERGY_STATUS:"GAME_1839",ENERGY_NEXT:"GAME_1840",ENERGY_SHORT:"GAME_1841",ENERGY_FULL:"GAME_1842",CRYSTAL_TICKETS_GRANTED:"GAME_1843"}
VersionManager 1 hunks, 1 statements
- qt(Jy,"VersionManager"),Xt(Jy,"gameId","ef2"),Xt(Jy,"appVersion","1.14.81"); + qt(Jy,"VersionManager"),Xt(Jy,"gameId","ef2"),Xt(Jy,"appVersion","1.14.82");
MiniAscentChapterRewardItem 1 hunks, 1 statements
- h.position.set(35,(30-h.height)/2),e.addChild(n,h),e.position.set((s-e.width)/2,96-32*(c.length-1-i)),e.label=t.label,this.addChild(e)} + h.position.set(35,(30-h.height)/2),e.addChild(n,h),e.position.set((s-e.width)/2,98-32*(c.length-1-i)),e.label=t.label,this.addChild(e)}
MiniAscentLobbyPopup 1 hunks, 1 statements
- this.art.scale.set(Math.min(t/this.art.texture.width,i/this.art.texture.height)),this.art.position.set((this.width-this.art.width)/2,this.artTop+(i-this.art.height)/2)} + this.art.scale.set(Math.min(1,t/this.art.texture.width,i/this.art.texture.height)),this.art.position.set((this.width-this.art.width)/2,this.artTop+(i-this.art.height)/2)}


