Hotfix - 2.0.0.144

EN: 2.0.0.144
CN: 2.0.0.143
JP: 2.0.0.146
KR: 2.0.0.151
This commit is contained in:
SL1900
2026-10-21 21:38:00 +09:00
parent 08b515afd9
commit 44f0ab2bc5
63 changed files with 392 additions and 313 deletions
+2 -2
View File
@@ -147786,7 +147786,7 @@
"SupCharge": 2,
"IsShowRng": false,
"Weight": 0,
"ToughnessBrokenTime": 3,
"ToughnessBrokenTime": 4,
"IsToughnessRecorver": true,
"Tag1": "",
"Tag2": "",
@@ -147924,7 +147924,7 @@
"SupCharge": 2,
"IsShowRng": false,
"Weight": 0,
"ToughnessBrokenTime": 3,
"ToughnessBrokenTime": 4,
"IsToughnessRecorver": true,
"Tag1": "",
"Tag2": "",
+8
View File
@@ -18794,5 +18794,13 @@
"ItemStype_55": {
"Id": "ItemStype_55",
"Text": "UIText.ItemStype_55.1"
},
"Dorm_Go": {
"Id": "Dorm_Go",
"Text": "UIText.Dorm_Go.1"
},
"DormFriend_Visit": {
"Id": "DormFriend_Visit",
"Text": "UIText.DormFriend_Visit.1"
}
}
Binary file not shown.
Binary file not shown.
+9 -9
View File
@@ -42,7 +42,7 @@
"ActivityGoods.100201.1": "Fist of Courage",
"ActivityGoods.100201.2": "A Runic Disc titled [Fist of Courage]. It can unleash great power.",
"ActivityGoods.100202.1": "Fist of Courage Melody",
"ActivityGoods.100202.2": "Material required for the Crescendo of this Disc: Fist of Courage.",
"ActivityGoods.100202.2": "Material required for the Crescendo of the Disc: Fist of Courage.",
"ActivityGoods.100203.1": "Guild Sweet Guild",
"ActivityGoods.100203.2": "Unlocks the Honor Title: Guild Sweet Guild.",
"ActivityGoods.100204.1": "Colossus Core",
@@ -134,7 +134,7 @@
"ActivityGoods.100401.1": "A Gift for the Journey",
"ActivityGoods.100401.2": "A Runic Disc titled [A Gift for the Journey]. It can unleash great power.",
"ActivityGoods.100402.1": "A Gift for the Journey Melody",
"ActivityGoods.100402.2": "Material required for the Crescendo of the [A Gift for the Journey] Disc.",
"ActivityGoods.100402.2": "Material required for the Crescendo of the Disc: A Gift for the Journey.",
"ActivityGoods.100403.1": "Radiant Messenger, Holy Night Spirit",
"ActivityGoods.100403.2": "Unlocks the Honor Title: Radiant Messenger, Holy Night Spirit.",
"ActivityGoods.100404.1": "Colossus Essence",
@@ -180,7 +180,7 @@
"ActivityGoods.100501.1": "The Bud of Change",
"ActivityGoods.100501.2": "A Runic Disc titled [The Bud of Change]. It can unleash great power.",
"ActivityGoods.100502.1": "The Bud of Change Melody",
"ActivityGoods.100502.2": "Material required for the Crescendo of this Disc: The Bud of Change.",
"ActivityGoods.100502.2": "Material required for the Crescendo of the Disc: The Bud of Change.",
"ActivityGoods.100503.1": "Miracle of a Flicker",
"ActivityGoods.100503.2": "Unlocks the Honor Title: Miracle of a Flicker.",
"ActivityGoods.100504.1": "Crimson Tempter",
@@ -226,7 +226,7 @@
"ActivityGoods.100601.1": "Wine Warm, Lamps Alight",
"ActivityGoods.100601.2": "A Runic Disc titled [Wine Warm, Lamps Alight]. It can unleash great power.",
"ActivityGoods.100602.1": "Wine Warm, Lamps Alight Melody",
"ActivityGoods.100602.2": "Material required for the Crescendo of this Disc: Wine Warm, Lamps Alight.",
"ActivityGoods.100602.2": "Material required for the Crescendo of the Disc: Wine Warm, Lamps Alight.",
"ActivityGoods.100603.1": "Crackling Hint of Spring",
"ActivityGoods.100603.2": "Unlocks the Honor Title: Crackling Hint of Spring.",
"ActivityGoods.100604.1": "Forest Elf Essence",
@@ -272,7 +272,7 @@
"ActivityGoods.100701.1": "Dawn After Winter",
"ActivityGoods.100701.2": "A Runic Disc titled [The Break of Frost]. It can unleash great power.",
"ActivityGoods.100702.1": "The Break of Frost Melody",
"ActivityGoods.100702.2": "Material required for the Crescendo of this Disc: The Break of Frost.",
"ActivityGoods.100702.2": "Material required for the Crescendo of the Disc: The Break of Frost.",
"ActivityGoods.100703.1": "Winter Requiem and the Trigger of Dawn",
"ActivityGoods.100703.2": "Unlocks the Honor Title: Winter Requiem and the Trigger of Dawn.",
"ActivityGoods.100704.1": "Wrath Beauty",
@@ -410,7 +410,7 @@
"ActivityGoods.101001.1": "Seed Alike",
"ActivityGoods.101001.2": "A Runic Disc titled [Seed Alike]. It can unleash great power.",
"ActivityGoods.101002.1": "Seed Alike Melody",
"ActivityGoods.101002.2": "Material required to Crescendo the Disc \"Seed Alike\".",
"ActivityGoods.101002.2": "Material required to Crescendo the Disc: Seed Alike.",
"ActivityGoods.101003.1": "Framing the Feelings Unseen",
"ActivityGoods.101003.2": "Unlocks the Honor Title: Framing the Feelings Unseen",
"ActivityGoods.101004.1": "Radiant Crown Essence",
@@ -456,7 +456,7 @@
"ActivityGoods.101101.1": "Touch of Miracle",
"ActivityGoods.101101.2": "A Disc Record titled \"Touch of Miracle\". It can unleash great power.",
"ActivityGoods.101102.1": "Touch of Miracle Melody",
"ActivityGoods.101102.2": "Material required for the Crescendo of this Disc: \"Touch of Miracle\"",
"ActivityGoods.101102.2": "Material required for the Crescendo of the Disc: Touch of Miracle.",
"ActivityGoods.101103.1": "Heartbeat! Neo-Inspired Rhapsody",
"ActivityGoods.101103.2": "Unlocks the Honor Title \"Heartbeat! Neo-Inspired Rhapsody\"",
"ActivityGoods.101104.1": "Forest Elf Fang",
@@ -732,7 +732,7 @@
"ActivityGoods.101701.1": "All That Was Beautiful",
"ActivityGoods.101701.2": "A Runic Disc titled [All That Was Beautiful]. It can unleash great power.",
"ActivityGoods.101702.1": "All That Was Beautiful Melody",
"ActivityGoods.101702.2": "Material required for the Crescendo of this Disc: All That Was Beautiful.",
"ActivityGoods.101702.2": "Material required for the Crescendo of the Disc: All That Was Beautiful.",
"ActivityGoods.101703.1": "A Monolith Too Far",
"ActivityGoods.101703.2": "Unlocks the Honor Title: A Monolith Too Far.",
"ActivityGoods.101704.1": "Tidal Essence",
@@ -782,7 +782,7 @@
"ActivityGoods.101803.1": "Wholeness at Reunion's Dawn",
"ActivityGoods.101803.2": "Unlocks the Honor Title: Wholeness at Reunion's Dawn.",
"ActivityGoods.101804.1": "Knight's Display Cabinet",
"ActivityGoods.101804.2": "Used for certain Trekker skill upgrade (Lv.7 to Lv.10).",
"ActivityGoods.101804.2": "Firstlight Noya's favorite furniture. Used to decorate the Tyrant's Tower.",
"ActivityGoods.101805.1": "Radiant Feather Crown",
"ActivityGoods.101805.2": "Used for certain Trekker skill upgrade (Lv.7 to Lv.10).",
"ActivityGoods.101806.1": "Cerulean Ticket",
@@ -517,7 +517,7 @@
"DatingCharacterEvent.144302.7": "At the dessert shop with Chitose, she said she didn't deserve such fine treatment, but you got her to see it differently.\n\n\"I do not care for such indulgence,\" she said—yet all afternoon, she had been smiling.",
"DatingCharacterEvent.144303.1": "The market is packed today, likely thanks to a massive new Stella Drama. Shops lining the street are overflowing with merchandise from the show.\nChitose hasn't seen it, so you fill her in on the plot as you walk together.",
"DatingCharacterEvent.144303.2": "The most famous scene is undoubtedly an epic lightsaber duel. Right as you reach this climax in your story, you pass a small stall displaying a replica of that iconic lightsaber in its window.\nThe model is incredibly realistic. It looks flawless and matches the drama perfectly—you just can't actually cut anything with it.",
"DatingCharacterEvent.144303.3": "You admire the replica, oblivious to Chitose glaring at it with burning jealousy.\n\"Since my ==SEX11== favors this blade so much, let us see how it fares against my own.\"\nYou turn around and realize Chitose already has her hand on her hilt, her eyes locked in a death stare on the toy in your hands.\nYou immediately put the lightsaber down. Instantly, Chitose's expression returns to normal.",
"DatingCharacterEvent.144303.3": "You admire the replica, oblivious to Chitose glaring at it with burning jealousy.\n\"Since you favor this blade so much, let us see how it fares against my own.\"\nYou turn around and realize Chitose already has her hand on her hilt, her eyes locked in a death stare on the toy in your hands.\nYou immediately put the lightsaber down. Instantly, Chitose's expression returns to normal.",
"DatingCharacterEvent.144303.5": "A Hint of Jealousy",
"DatingCharacterEvent.144303.6": "Visit the Market to unlock",
"DatingCharacterEvent.144303.7": "The market was bustling today, packed with shops selling merchandise for a popular Stella Drama. You walked through the crowd with Chitose, explaining the plot to her. Suddenly, a highly detailed lightsaber replica caught your eye. It looked exactly like the one from the drama, but your fascination ended up stirring up a bit of jealousy in Chitose.",
+1 -1
View File
@@ -126,7 +126,7 @@
"DatingLandmarkEvent.2001.1": "Alina is waiting for you on the steps. The morning wind catches her, blowing the hair at the nape of her neck and whipping her shawl around like a flag.",
"DatingLandmarkEvent.2001.2": "It rained earlier. Leftover puddles drip from the roof, catching the sunlight and sparkling as they fall.",
"DatingLandmarkEvent.2001.3": "\"I've been waiting forever!\" Alina says, pulling you inside.",
"DatingLandmarkEvent.2002.1": "It's freezing inside. Your nose even feels a little numb. A thin layer of sunlight paints the walls. Noticing your \"distress\", Alina crouches by the fireplace and gets a fire going.",
"DatingLandmarkEvent.2002.1": "It's freezing inside. Your nose even feels a little numb. A thin layer of sunlight paints the walls. Noticing your \"distress,\" Alina crouches by the fireplace and gets a fire going.",
"DatingLandmarkEvent.2002.2": "It finally warms up. You lean close to the hearth, letting the hot air caress your face.\n\"Don't get your face dirty!\" Alina pulls you back. \"You're going to get covered in soot.\"",
"DatingLandmarkEvent.2002.3": "She exhales slowly into her palms, then rubs your cheeks. \"Your face is freezing!\" she gasps softly.\nHer hands are warm, like a vortex of light, pulling you into a perfectly curated summer evening.",
"DatingLandmarkEvent.2003.1": "You sit at the table drinking tea with Alina while the fire crackles nearby. Suddenly, you both feel each other's gaze and lock eyes for a split second.",
+3 -3
View File
@@ -1180,7 +1180,7 @@
"Item.199030.3": "Limited-Time Avatar: Tit-for-Tat",
"Item.2.1": "Stellanite Dust",
"Item.2.2": "A rare crystal that can be exchanged for vouchers in the Shop.",
"Item.2.3": "This shard vibrates with the power of Stellnanite Veins, exhibiting purity yet bearing the hallmarks of human craftsmanship.\u000bThough not as pristine as natural crystals, it holds immense value.",
"Item.2.3": "This shard vibrates with the power of Stellanite Veins, exhibiting purity yet bearing the hallmarks of human craftsmanship.\u000bThough not as pristine as natural crystals, it holds immense value.",
"Item.20.1": "Vigor",
"Item.20.2": "Stamina used for engaging in various game modes.",
"Item.20.3": "Taking on commissions and completing quests becomes doubly hard without enthusiasm.\u000bDon't forget to pep up your Trekkers before embarking on your journey!",
@@ -1901,7 +1901,7 @@
"Item.29.3": "Once you have obtained the \"Key to the Monolith Stairs,\" you can use the pass to go straight to the top and snag the ultimate \"Record\"... Yeah, like luck ever works that way.\u000bYou still have to face every single twist and turn. This just saves you a bit of the boring slog.",
"Item.3.1": "Stellanite Lumina",
"Item.3.2": "An extremely rare crystal of immense value.",
"Item.3.3": "A condensed mass imbued with the power of Stellnanite Vein, both hard and clear.\u000bFor centuries, it has been revered as the material for crafting Soul Stones, carrying immense value.",
"Item.3.3": "A condensed mass imbued with the power of Stellanite Vein, both hard and clear.\u000bFor centuries, it has been revered as the material for crafting Soul Stones, carrying immense value.",
"Item.30.1": "Monolith Stairs Pass",
"Item.30.2": "A pass used to initiate a Monolith Express.",
"Item.30.3": "Once you have obtained the \"Key to the Monolith Stairs,\" you can use the pass to go straight to the top and snag the ultimate \"Record\"... Yeah, like luck ever works that way.\u000bYou still have to face every single twist and turn. This just saves you a bit of the boring slog.",
@@ -2098,7 +2098,7 @@
"Item.39.3": "Allows participation in ongoing siege operations initiated by other Guilds.",
"Item.4.1": "Stellanite Lumina",
"Item.4.2": "An extremely rare crystal of immense value.",
"Item.4.3": "A condensed mass imbued with the power of Stellnanite Vein, both hard and clear.\u000bFor centuries, it has been revered as the material for crafting Soul Stones, carrying immense value.",
"Item.4.3": "A condensed mass imbued with the power of Stellanite Vein, both hard and clear.\u000bFor centuries, it has been revered as the material for crafting Soul Stones, carrying immense value.",
"Item.40.1": "Talent Gold",
"Item.40.2": "Used in Through Hostile Depths.",
"Item.40.3": "An exquisitely carved gold coin said to be a token that allows one to seek assistance from the Tyrant.",
+5 -5
View File
@@ -32,11 +32,11 @@
"ResidentGoods.10204.1": "Summer Sanctuary",
"ResidentGoods.10204.2": "A Runic Disc titled [Summer Sanctuary]. It can unleash great power.",
"ResidentGoods.10205.1": "Summer Sanctuary Melody",
"ResidentGoods.10205.2": "Material required for the Crescendo of Summer Sanctuary.",
"ResidentGoods.10205.2": "Material required for the Crescendo of the Disc: Summer Sanctuary.",
"ResidentGoods.10206.1": "Fist of Courage Melody",
"ResidentGoods.10206.2": "A Runic Disc titled [Fist of Courage]. It can unleash great power.",
"ResidentGoods.10207.1": "Fist of Courage Melody",
"ResidentGoods.10207.2": "Material required for the Crescendo of this Disc: Fist of Courage.",
"ResidentGoods.10207.2": "Material required for the Crescendo of the Disc: Fist of Courage.",
"ResidentGoods.10208.1": "One, Two, Three, Jump!",
"ResidentGoods.10208.2": "A Runic Disc titled [One, Two, Three, Jump!]. It can unleash great power.",
"ResidentGoods.10209.1": "One, Two, Three, Jump! Melody",
@@ -44,15 +44,15 @@
"ResidentGoods.10210.1": "A Gift for the Journey",
"ResidentGoods.10210.2": "A Runic Disc titled [A Gift for the Journey]. It can unleash great power.",
"ResidentGoods.10211.1": "A Gift for the Journey Melody",
"ResidentGoods.10211.2": "Material required for the Crescendo of the [A Gift for the Journey] Disc.",
"ResidentGoods.10211.2": "Material required for the Crescendo of the Disc: A Gift for the Journey.",
"ResidentGoods.10212.1": "The Bud of Change",
"ResidentGoods.10212.2": "A Runic Disc titled [The Bud of Change]. It can unleash great power.",
"ResidentGoods.10213.1": "The Bud of Change Melody",
"ResidentGoods.10213.2": "Material required for the Crescendo of this Disc: The Bud of Change.",
"ResidentGoods.10213.2": "Material required for the Crescendo of the Disc: The Bud of Change.",
"ResidentGoods.10214.1": "Seed Alike",
"ResidentGoods.10214.2": "A Runic Disc titled [Seed Alike]. It can unleash great power.",
"ResidentGoods.10215.1": "Seed Alike Melody",
"ResidentGoods.10215.2": "Material required to Crescendo the Disc \"Seed Alike\"",
"ResidentGoods.10215.2": "Material required to Crescendo the Disc: Seed Alike.",
"ResidentGoods.103.1": "Exquisite Gift Box",
"ResidentGoods.103.2": "Grants a random exquisite gift.",
"ResidentGoods.104.1": "Novice Trekker Promotion Box",
+1 -1
View File
@@ -1,7 +1,7 @@
{
"ScoreBossAbility.100000.1": "!NONEED!",
"ScoreBossAbility.100000.2": "None",
"ScoreBossAbility.100001.1": "Stellnanite Berserk",
"ScoreBossAbility.100001.1": "Stellanite Berserk",
"ScoreBossAbility.100001.2": "The boss starts with 1 stack of Berserk and gains 1 stack every 10s (up to 5 stacks). Each stack increases the boss' DMG by <color=#ec6d21>&Param1&</color>.\nDealing 10 hits to the boss within 2s removes all Berserk stacks. The main Trekker then gains 10 stacks of Amplify (up to 10 stacks). Each hit dealt consumes 1 Amplify stack to increase that hit's DMG by <color=#ec6d21>&Param2&</color>.",
"ScoreBossAbility.100002.1": "Pyro Blight",
"ScoreBossAbility.100002.2": "The boss gains a Fire Ring, increasing their DMG dealt by <color=#ec6d21>&Param1&</color> and continuously dealing DMG to your squad within the ring.\nTriggering 3 Elemental Marks on the boss within 5s grants the squad Enhancement, increasing Auto Attack DMG by <color=#ec6d21>&Param2&</color> for 10s, and disables the boss's Fire Ring for 10s.",
+2 -2
View File
@@ -1372,8 +1372,8 @@
"Skill.8211501.13": "Shoots a beam forward.\nAfter casting a skill, Firefly becomes immune to all DMG for a period of time.",
"Skill.8211501.2": "Shoots a beam forward.\nAfter casting a skill, Firefly becomes immune to all DMG for a period of time.",
"Skill.8213901.1": "Sweeping Slashes",
"Skill.8213901.13": "Each time an item is picked up, generates 1 Sweep Mark, stacking up to 3 times.\nWhen casting the skill, Allie wields the long blade to perform Cycling Slashes, continuously firing Frost Blades to deal AoE DMG\nWhen casting the skill, if she already has 3 Sweep Marks, additionally generates a long blade phantom after Cycling Slashes ends to deal DMG.",
"Skill.8213901.2": "Each time an item is picked up, generates 1 Sweep Mark, stacking up to 3 times.\nWhen casting the skill, Allie wields the long blade to perform Cycling Slashes, continuously firing Frost Blades to deal AoE DMG\nWhen casting the skill, if she already has 3 Sweep Marks, additionally generates a long blade phantom after Cycling Slashes ends to deal DMG.",
"Skill.8213901.13": "Each time an item is picked up, fires Frost Blades upwards and generates 1 Sweep Mark, stacking up to 3 times.\nWhen casting the skill, Allie wields the long blade to perform Cycling Slashes, continuously firing Frost Blades to deal AoE DMG\nWhen casting the skill, if she already has 3 Sweep Marks, additionally generates a long blade phantom after Cycling Slashes ends to deal DMG.",
"Skill.8213901.2": "Each time an item is picked up, fires Frost Blades upwards and generates 1 Sweep Mark, stacking up to 3 times.\nWhen casting the skill, Allie wields the long blade to perform Cycling Slashes, continuously firing Frost Blades to deal AoE DMG\nWhen casting the skill, if she already has 3 Sweep Marks, additionally generates a long blade phantom after Cycling Slashes ends to deal DMG.",
"Skill.8214501.1": "Void Blossom",
"Skill.8214501.13": "Detonates the marbles, then fires multiple kunai in all directions.\nOtoha fires a kunai forward when picking up an item.",
"Skill.8214501.2": "Detonates the marbles, then fires multiple kunai in all directions.\nOtoha fires a kunai forward when picking up an item.",
+1 -1
View File
@@ -2,5 +2,5 @@
"StoryLine.1.1": "I Think,\nSo the Tyrant Is",
"StoryLine.1.2": "Monolith Calendar Year 996",
"StoryLine.2.1": "Tyrant,\nHear My Prayer",
"StoryLine.2.2": "Monolith Calendar Year 4"
"StoryLine.2.2": "Before Monolith Calendar Year 4"
}
+5 -3
View File
@@ -1023,6 +1023,7 @@
"UIText.DormBtn_ViewMode.1": "Tower Mode",
"UIText.DormBtn_Visit.1": "Visit",
"UIText.DormFriend_EmptyHint.1": "No friends",
"UIText.DormFriend_Visit.1": "Visit",
"UIText.DormMainMenu_Knowledge.1": "Trekker Encyclopedia",
"UIText.DormQuest_Title.1": "Path of Wealth",
"UIText.DormReward_FastReceive.1": "Claim Gifts",
@@ -1052,7 +1053,7 @@
"UIText.Dorm_Editor_SaveSuccess.1": "Saved!",
"UIText.Dorm_FriendRoot_Elevator.1": "Elevator",
"UIText.Dorm_FriendRoot_Visit.1": "Visit",
"UIText.Dorm_Friend_LikeLimit.1": "No likes left today.",
"UIText.Dorm_Friend_LikeLimit.1": "You can only like 3 friends per day.",
"UIText.Dorm_Friend_PanelTitle.1": "Visit Friends",
"UIText.Dorm_FurnitreSaveCDHint.1": "Too fast. Try again in 5s.",
"UIText.Dorm_FurnitureList_Tog1.1": "Furniture",
@@ -1069,6 +1070,7 @@
"UIText.Dorm_GiftCountMaxHint.1": "You've already gifted this Trekker today.",
"UIText.Dorm_GiftDesc.1": "You can gift 6 Trekkers a day, one gift per Trekker. These gifts don't count toward your Heartlink gifts.",
"UIText.Dorm_GiftEmptyTitle.1": "No gifts to give.",
"UIText.Dorm_Go.1": "Go",
"UIText.Dorm_HandBook_Title.1": "Treasure Registry",
"UIText.Dorm_HandBook_Tog1.1": "Grand Feats",
"UIText.Dorm_HandBook_Tog2.1": "Treasure Sets",
@@ -1078,7 +1080,7 @@
"UIText.Dorm_Hint_Err_FurniturePos.1": "Furniture is overlapping. Layout cannot be saved.",
"UIText.Dorm_Hint_Err_NoNeedToSave.1": "No changes made.",
"UIText.Dorm_Interaction_DayLimitHint.1": "No more pats today.",
"UIText.Dorm_Interaction_NoCharHint.1": "No one in the Tower to interact with right now.",
"UIText.Dorm_Interaction_NoCharHint.1": "There are currently no Trekkers available for batch patting.",
"UIText.Dorm_Interactive_GroupTitle.1": "Complete all chapter missions to advance.",
"UIText.Dorm_ItemHint_RoomType1.1": "Available\nIndoors",
"UIText.Dorm_ItemHint_RoomType2.1": "Available\nOutdoors",
@@ -1932,7 +1934,7 @@
"UIText.Guide_51_2.1": "You can increase a Trekker's Affinity through completing Companion Targets, gift-giving, or sending invitations.",
"UIText.Guide_51_3.1": "With increased Affinity, the Trekker's combat power will increase slightly, and more archive entries and voiceovers will be unlocked.",
"UIText.Guide_51_4.1": "Increased Affinity level will also unlock the Trekker's personal stories.\u000bFinishing the key stories unlocks Memory Snapshots, which can be set as your main screen.",
"UIText.Guide_521_1.1": "<color=#EA5946>Tyrant's Tower</color> is now available. Here, you can freely decorate a cozy space of your own.\nSelect the <color=#EA5946>Tyrant’s Tower</color> button on the home screen to enter.",
"UIText.Guide_521_1.1": "<color=#EA5946>Tyrant's Tower</color> is now available. Here, you can freely decorate a cozy space of your own.\nSelect the <color=#EA5946>Tyrant's Tower</color> button on the home screen to enter.",
"UIText.Guide_521_5.1": "Follow the guide and explore your very own Tyrant's Tower!",
"UIText.Guide_522_1.1": "It's time to start decorating the campsite!\nTap <color=#EA5946>Display</color> to see what furniture you can place.",
"UIText.Guide_522_4.1": "Oh, isn't that the <color=#EA5946>Sherlock Statue</color>? So this is where it was hidden! Let's place it.",
+5 -5
View File
@@ -24,7 +24,7 @@
"BreakOutLevel.301020122.1": "星環探索",
"BreakOutLevel.301020122.2": "硬いブロックが行く手を阻む、何度も攻撃して破壊しよう!\r\n落ちてくるアイテムにも注意しよう。\r\n新しく追加された爆発弾は敵やブロックに直撃すると周囲に爆発を起こすよ!",
"BreakOutLevel.301020131.1": "光年の砕影",
"BreakOutLevel.301020131.2": "複雑なフィールドでも落ち着いて戦おう。\r\n落ちてくるアイテムにも注意し、高威力の炎のボールは貫通効果もあるよ!\r\n新しく追加されたスターを獲得すると、ボールの速度を速め、全てのダメージに対して免疫を持つようになるぞ!",
"BreakOutLevel.301020131.2": "複雑なフィールドでも落ち着いて戦おう。\r\n落ちてくるアイテムにも注意し、高威力の炎のボールは貫通効果もあるよ!\r\n新しく追加された無敵スターを獲得すると、ボールの速度を速め、全てのダメージに対して免疫を持つようになるぞ!",
"BreakOutLevel.301020132.1": "引力の小波",
"BreakOutLevel.301020132.2": "新たな天文現象「重力井戸」を観測!\r\n重力井戸は自身の状態に応じて、ボールを引き寄せたり弾き飛ばしたりして軌道を変化させる。\r\nドロップアイテムの種類にも注目しましょう。新しく追加されたマルチボールを獲得すると、ボールが3つに分裂します!",
"BreakOutLevel.301020141.1": "夜空の暗流",
@@ -48,17 +48,17 @@
"BreakOutLevel.301030142.1": "銀河の伝説",
"BreakOutLevel.301030142.2": "チャレンジステージへようこそ!\r\n己の知恵を振り絞り、最強の敵に立ち向かえ!",
"BreakOutLevel.301040111.1": "星屑の囁き",
"BreakOutLevel.301040111.2": "「ブロックくずし」へようこそ!まずは基本操作を覚えよう!\n1.バーを動かして、ボールを発射・打ち返そう!\n2.巡遊者のスキルでブロックを壊そう!\n3.壊せるものが残り5個以下になると、第2ウェーブが始まるぞ!",
"BreakOutLevel.301040111.2": "「ブロックくずし」へようこそ!まずは基本操作を覚えよう!\n1.バーを動かして、ボールを発射したり、打ち返したりしよう!\n2.巡遊者のスキルでブロックを壊そう!\n3.壊せるものが残り5個以下になると、第2ウェーブが始まるぞ!",
"BreakOutLevel.301040112.1": "極光の幻舞",
"BreakOutLevel.301040112.2": "ステップアップチュートリアル!\n1.動き回る敵が登場!\n2.ボールの直撃や巡遊者のスキルで敵にダメージを与えよう!\n3.ドロップアイテムの効果を確かめよう!\n4.特殊なエネルギーボールも使ってみよう!",
"BreakOutLevel.301040121.1": "新星の讃歌",
"BreakOutLevel.301040121.2": "敵はブロックの奥にいるため、直接倒せない。敵の弾を避けながらブロックを壊そう!敵は一定距離を移動するたびに、下へ爆弾を1個落とすぞ!\n新登場のスプリットボールは、強化ボールと組み合わせると画面全体を巻き込む強力な攻撃を繰り出せる!",
"BreakOutLevel.301040121.2": "敵はブロックの奥にいるため、直接倒せない。敵の弾を避けながらブロックを壊そう!\n敵は一定距離を移動するたびに、下へ爆弾を1個落とすぞ!\n新登場のスプリットボールは、強化ボールと組み合わせると画面全体を巻き込む強力な攻撃を繰り出せる!",
"BreakOutLevel.301040122.1": "流星の調べ",
"BreakOutLevel.301040122.2": "高耐久のブロックが登場!何度も攻撃して壊そう!\n落ちてくるアイテムを見極めよう。新登場の雷のボールは、ぶつかった場所から電撃の輪を広げるぞ!縦・横のレーザーボールと組み合わせれば、さらに強化できる。\n新たなドロップアイテム「スター」も登場!",
"BreakOutLevel.301040122.2": "高耐久のブロックが登場!何度も攻撃して壊そう!\n落ちてくるアイテムを見極めよう。新登場の雷のボールは、ぶつかった場所から電撃の輪を広げるぞ!縦・横のレーザーボールと合成すれば、さらに強化できる。\n新たなドロップアイテム「無敵スター」も登場!",
"BreakOutLevel.301040131.1": "パルス序曲",
"BreakOutLevel.301040131.2": "新たなギミック「バウンドピラー」が登場!\n決まった位置にあるバウンドピラーにボールが当たると、一気に加速!速度は徐々に元に戻るが、加速中は打ち返すのが難しくなるぞ!",
"BreakOutLevel.301040132.1": "時空の視線",
"BreakOutLevel.301040132.2": "新たなギミック「スプリットピラー」が登場!\n決まった位置にあるスプリットピラーにボールが当たると、小さなボールが1個分裂するぞ!",
"BreakOutLevel.301040132.2": "新たなギミック「スプリットピラー」が登場!\n決まった位置にあるスプリットピラーにボールが当たると、小さなボールが1個生まれるぞ!",
"BreakOutLevel.301040141.1": "虚空の残響",
"BreakOutLevel.301040141.2": "ブラックホールが出現!ボールを引き寄せて軌道を変えるぞ。打ち返すときは気をつけよう!",
"BreakOutLevel.301040142.1": "銀河漫遊",
+1 -1
View File
@@ -302,7 +302,7 @@
"DictionaryDiagram.40040401.1": "ブロックくずし-ギミック",
"DictionaryDiagram.40040401.2": "一部のステージにはフィールドギミックが存在します。\r\nギミックに当たったボールを加速させて弾き飛ばすものや、\r\nギミックの周囲を通過したボールの軌道を変化させるものがあります。",
"DictionaryDiagram.40040402.1": "ブロックくずし-ギミック2",
"DictionaryDiagram.40040402.2": "重力井戸ギミックは自身の状態に応じて、通過するボールの移動軌跡を変化させます。\r\n青色のギミックはボールは引き寄せ、赤色のギミックは弾き飛ばします。",
"DictionaryDiagram.40040402.2": "重力井戸ギミックは自身の状態に応じて、通過するボールの移動軌跡を変化させます。\r\n青色のギミックはボールを引き寄せ、赤色のギミックはボールを弾き飛ばします。",
"DictionaryDiagram.40040501.1": "ブロックくずし-ワープゲート",
"DictionaryDiagram.40040501.2": "ボールがワープゲートに入ると、即座に反対側のゲートへ転送されます。",
"DictionaryDiagram.40040601.1": "ブロックくずし-重力ボタン",
+1 -1
View File
@@ -17,7 +17,7 @@
"PenguinCardBuff.2114.2": "所持しているシャロットカードのうち、ランダムに選ばれた<color=#ec6b2a>{EffectParam_1}</color>枚のレベルが<color=#ec6b2a>{EffectParam_2}</color>低下する。",
"PenguinCardBuff.2115.2": "所持しているシャロットカードのうち、ランダムに選ばれた<color=#ec6b2a>{EffectParam_1}</color>枚のレベルが<color=#ec6b2a>{EffectParam_2}</color>低下する。",
"PenguinCardBuff.2116.2": "所持しているシャロットカードのうち、ランダムに選ばれた<color=#ec6b2a>{EffectParam_1}</color>枚のレベルが<color=#ec6b2a>{EffectParam_2}</color>低下する。",
"PenguinCardBuff.2121.2": "所持しているシャロットカードのうち、ランダムに選ばれた<color=#ec6b2a>{EffectParam_1}</color>枚のレベルが<color=#ec6b2a>{EffectParam_2}</color>低下する。",
"PenguinCardBuff.2121.2": "アップグレードに必要な<sprite name=\"icon_pengbuildcard_coin\">が<color=#ec6b2a>{EffectParam_1}%</color>増加する。",
"PenguinCardBuff.2131.2": "ラウンド数<color=#ec6b2a>-{EffectParam_1}</color>。",
"PenguinCardBuff.2132.2": "ラウンド数<color=#ec6b2a>-{EffectParam_1}</color>。",
"PenguinCardBuff.2133.2": "ラウンド数<color=#ec6b2a>-{EffectParam_1}</color>。",
+8 -8
View File
@@ -1372,17 +1372,17 @@
"Skill.8211501.13": "前方に向けて光線を放つ。 \r\nホタルはスキル発動後、一定時間すべてのダメージを無効化する。",
"Skill.8211501.2": "前方に向けて光線を放つ。 \r\nホタルはスキル発動後、一定時間すべてのダメージを無効化する。",
"Skill.8213901.1": "プロのお片付け",
"Skill.8213901.13": "アイテムを拾うたびに「愛のしるし」を1獲得する(上限3)。\nスキル発動時、エリーが薙刀で「スイープスラッシュ」を繰り出し、アイスエッジを連続で放って範囲内の敵にダメージを与える。\nスキル発動時に「愛のしるし」を3持っている場合、「スイープスラッシュ」の終了後に薙刀の幻影が追加で出現し、ダメージを与える。",
"Skill.8213901.2": "アイテムを拾うたびに「愛のしるし」を1獲得する(上限3)。\nスキル発動時、エリーが薙刀で「スイープスラッシュ」を繰り出し、アイスエッジを連続で放って範囲内の敵にダメージを与える。\nスキル発動時に「愛のしるし」を3持っている場合、「スイープスラッシュ」の終了後に薙刀の幻影が追加で出現し、ダメージを与える。",
"Skill.8213901.13": "アイテムを拾うたびに、アイスエッジを発射して「愛のしるし」を1獲得する(上限3)。\nスキル発動時、エリーが薙刀で「スイープスラッシュ」を繰り出し、アイスエッジを連続で放って範囲内の敵にダメージを与える。\nスキル発動時に「愛のしるし」を3持っている場合、「スイープスラッシュ」の終了後に薙刀の幻影が追加で出現し、ダメージを与える。",
"Skill.8213901.2": "アイテムを拾うたびに、アイスエッジを発射して「愛のしるし」を1獲得する(上限3)。\nスキル発動時、エリーが薙刀で「スイープスラッシュ」を繰り出し、アイスエッジを連続で放って範囲内の敵にダメージを与える。\nスキル発動時に「愛のしるし」を3持っている場合、「スイープスラッシュ」の終了後に薙刀の幻影が追加で出現し、ダメージを与える。",
"Skill.8214501.1": "空華",
"Skill.8214501.13": "ボールを爆発させ、周囲に複数の苦無を放つ。\r\nオトハがアイテムを拾った時、前方に向けて苦無を1枚放つ。",
"Skill.8214501.2": "ボールを爆発させ、周囲に複数の苦無を放つ。\r\nオトハがアイテムを拾った時、前方に向けて苦無を1枚放つ。",
"Skill.8214501.13": "ボールを爆発させ、周囲に複数の苦無を放つ。\r\nオトハがアイテムを拾った時、前方に向けて苦無を1本放つ。",
"Skill.8214501.2": "ボールを爆発させ、周囲に複数の苦無を放つ。\r\nオトハがアイテムを拾った時、前方に向けて苦無を1本放つ。",
"Skill.8215701.1": "怒涛の追撃",
"Skill.8215701.13": "前方にモリを発射し、一定時間、ボールをモリの爆発位置へ誘導する。\nボールを受け止めるたびに、前方へ矢を1本発射する(3秒ごと1回まで)。",
"Skill.8215701.2": "前方にモリを発射し、一定時間、ボールをモリの爆発位置へ誘導する。\nボールを受け止めるたびに、前方へ矢を1本発射する(3秒ごと1回まで)。",
"Skill.8215701.13": "前方にモリを発射し、一定時間、ボールをモリの爆発位置へ誘導する。\nボールを受け止めるたびに、前方へ矢を1本発射する(3秒に1回まで)。",
"Skill.8215701.2": "前方にモリを発射し、一定時間、ボールをモリの爆発位置へ誘導する。\nボールを受け止めるたびに、前方へ矢を1本発射する(3秒に1回まで)。",
"Skill.8216001.1": "瑠璃色バブルフロッグ",
"Skill.8216001.13": "ランダムなボールの位置に、ボールを跳ね返すバブルを生成する。\nボールはバブルに保護され、1回分の無敵効果が付与される。",
"Skill.8216001.2": "ランダムなボールの位置に、ボールを跳ね返すバブルを生成する。\nボールはバブルに保護され、1回分の無敵効果が付与される。",
"Skill.8216001.13": "ランダムに選ばれたボール1個の位置に、、ボールを跳ね返すバブルを生成する。\nボールはバブルに保護され、1回分の無敵効果が付与される。",
"Skill.8216001.2": "ランダムに選ばれたボール1個の位置に、、ボールを跳ね返すバブルを生成する。\nボールはバブルに保護され、1回分の無敵効果が付与される。",
"Skill.8216201.1": "砕耀斬",
"Skill.8216201.13": "ボールがブロックを壊すか敵を倒すたびに、セイナの周囲に墜星を1つ生成する。\nスキル発動時、降り注ぐ光の刃で範囲ダメージを与え、すべての墜星を消費する。消費した数に応じてボールが強化され、衝突時に追加の範囲ダメージを与える。",
"Skill.8216201.2": "ボールがブロックを壊すか敵を倒すたびに、セイナの周囲に墜星を1つ生成する。\nスキル発動時、降り注ぐ光の刃で範囲ダメージを与え、すべての墜星を消費する。消費した数に応じてボールが強化され、衝突時に追加の範囲ダメージを与える。",
+2
View File
@@ -1023,6 +1023,7 @@
"UIText.DormBtn_ViewMode.1": "塔ノ主モード",
"UIText.DormBtn_Visit.1": "訪問",
"UIText.DormFriend_EmptyHint.1": "フレンドがいません",
"UIText.DormFriend_Visit.1": "訪問",
"UIText.DormMainMenu_Knowledge.1": "ガイド",
"UIText.DormQuest_Title.1": "家具集めの道",
"UIText.DormReward_FastReceive.1": "贈り物受取",
@@ -1069,6 +1070,7 @@
"UIText.Dorm_GiftCountMaxHint.1": "この巡遊者には今日すでにギフトを贈っています",
"UIText.Dorm_GiftDesc.1": "1日に最大6人の巡遊者へギフトを贈れます。同じ巡遊者には1日1回まで。ここでの回数は、ココチャ内のものとは別にカウントします。",
"UIText.Dorm_GiftEmptyTitle.1": "ギフトがありません",
"UIText.Dorm_Go.1": "出発",
"UIText.Dorm_HandBook_Title.1": "家具図鑑",
"UIText.Dorm_HandBook_Tog1.1": "偉業",
"UIText.Dorm_HandBook_Tog2.1": "家具セット",
+3 -3
View File
@@ -1413,7 +1413,7 @@
"Item.214023.1": "그래피티 무지개",
"Item.214023.3": "가끔은 하루쯤 비워내자.\n패거리 싸움도, 지루한 일상도 모두 내려놓고.\n맑게 개인 하늘 위로 우리 만의 색을 담은 무지개를 그려내자.",
"Item.214024.1": "하나, 둘, 셋, 점프!",
"Item.214024.3": "한 가닥의 밧줄이\n햇살 내리쬐는 곳에서 뻗어 나가\n오랜 시간 잊혀진 유적지로 이어진다.\n밧줄을 움켜쥔 소녀가\n하늘에서 뛰어내린다.\n“……결국 보물이잖아?\n내가 가져가면 그만이지!”",
"Item.214024.3": "한 가닥의 밧줄이\n햇살 내리쬐는 곳에서 뻗어 나가\n오랜 시간 잊힌 유적지로 이어진다.\n밧줄을 움켜쥔 소녀가\n하늘에서 뛰어내린다.\n“……결국 보물이잖아?\n내가 가져가면 그만이지!”",
"Item.214026.1": "반짝이는 옛 연못",
"Item.214026.3": "젖은 머리카락이 등 뒤에 어지럽게 흩어지고,\n옷매무새는 흐트러졌지만 한 줄기 바람조차 스며들 틈 없다.\n마음이 번잡하니 떨어지는 꽃잎조차 무겁게 느껴지는구나.\n비가 끊임없이 쏟아지는 나날, 너의 윤곽은 조금씩 희미해져 간다.",
"Item.214027.1": "용과 봉황",
@@ -1693,7 +1693,7 @@
"Item.224023.3": "가끔은 하루쯤 비워내자. \u000b패거리 싸움도, 지루한 일상도 모두 내려놓고. \u000b맑게 개인 하늘 위로 우리 만의 색을 담은 무지개를 그려내자.",
"Item.224024.1": "하나, 둘, 셋, 점프! 멜로디",
"Item.224024.2": "특정 레코드 한계 돌파에 사용되는 재료",
"Item.224024.3": "한 가닥의 밧줄이\u000b햇살 내리쬐는 곳에서 뻗어 나가\u000b오랜 시간 잊혀진 유적지로 이어진다. \u000b밧줄을 움켜쥔 소녀가\u000b하늘에서 뛰어내린다. \u000b“……결국 보물이잖아? \u000b내가 가져가면 그만이지!”",
"Item.224024.3": "한 가닥의 밧줄이\u000b햇살 내리쬐는 곳에서 뻗어 나가\u000b오랜 시간 잊힌 유적지로 이어진다. \u000b밧줄을 움켜쥔 소녀가\u000b하늘에서 뛰어내린다. \u000b“……결국 보물이잖아? \u000b내가 가져가면 그만이지!”",
"Item.224026.1": "반짝이는 옛 연못 멜로디",
"Item.224026.2": "특정 레코드 한계 돌파에 사용되는 재료",
"Item.224026.3": "젖은 머리카락이 등 뒤에 어지럽게 흩어지고, \u000b옷매무새는 흐트러졌지만 한 줄기 바람조차 스며들 틈 없다. \u000b마음이 번잡하니 떨어지는 꽃잎조차 무겁게 느껴지는구나. \u000b비가 끊임없이 쏟아지는 나날, 너의 윤곽은 조금씩 희미해져 간다.",
@@ -4035,7 +4035,7 @@
"Item.81010.2": "사용 후 활력 60 회복",
"Item.81010.3": "유명한 에너지 드링크 「파워 부스터」! \u000b한 병이면 피로가 싹, 활력 맥스! \u000b※ 본 제품은 기능성 음료이며, 의약품을 대체할 수 없습니다.",
"Item.81011.1": "토큰 보급",
"Item.81011.2": "「비타」 30%에 해당하는 토큰을 보충한다. \n토큰은 「별의 탑 스피드런」 의뢰에서 비타 의뢰에 소모할 수 있다.",
"Item.81011.2": "「비타」 30%에 해당하는 토큰을 보충한다. \n토큰은 「별의 탑 빠른 클리어」 의뢰에서 비타 의뢰에 소모할 수 있다.",
"Item.81011.3": "비타는 배고픔을 느끼지 않지만, 그래도 토큰 보급은 필요하다고 한다. 이런 걸 두고 ‘말도 안 된다’고 하는 거겠지. 하하하 :)",
"Item.82001.1": "신입 여행가 성장 패키지",
"Item.82001.2": "모든 승급 시련 초급 여행가 승급 재료 중 1개 선택 가능",
+4 -4
View File
@@ -2357,8 +2357,8 @@
"Potential.516223.2": "지원 스킬 「신뢰격·파」의 장검 공격 시 「섬광」을 지속 발사한다. 1개마다 최대 HP <color=#0abec5>&Param1&</color>의 빛 속성 스킬 피해를 입힌다.",
"Potential.516224.1": "지원 스킬 「신뢰격·파」의 장검 공격 횟수가 증가한다.",
"Potential.516224.2": "지원 스킬 「신뢰격·파」의 장검 공격 횟수가 <color=#0abec5>10</color>회 증가한다.",
"Potential.516225.1": "지원 스킬 「신뢰격·파」가 생성하는 「낙성」의 피해 범위가 증가한다. 「낙성」 생성 시 세이나의 &Param1_kr1& 증가한다.",
"Potential.516225.2": "지원 스킬 「신뢰격·파」가 생성하는 「낙성」의 피해 범위가 증가한다. \u000b「낙성」 1회 생성 시마다 세이나의 &Param1_kr1& <color=#fb8037>&Param2&</color> 증가한다. &Param3&초간 지속되며, 최대 &Param4&스택 중첩된다.",
"Potential.516225.1": "지원 스킬 「신뢰격·파」가 생성하는 「낙성」의 피해 범위가 증가한다. 「낙성」 생성 시 세이나(기원)의 &Param1_kr1& 증가한다.",
"Potential.516225.2": "지원 스킬 「신뢰격·파」가 생성하는 「낙성」의 피해 범위가 증가한다. \u000b「낙성」 1회 생성 시마다 세이나(기원)의 &Param1_kr1& <color=#fb8037>&Param2&</color> 증가한다. &Param3&초간 지속되며, 최대 &Param4&스택 중첩된다.",
"Potential.516226.1": "지원 스킬 「신뢰격·파」의 대검 공격 후 세이나(기원)의 필살기가 대검 형태로 변경된다. 세이나(기원)의 장검 공격이 피해를 입히면 자신의 &Param1_kr1& 증가한다.",
"Potential.516226.2": "지원 스킬 「신뢰격·파」의 대검 공격 후 세이나(기원)의 필살기가 대검 형태로 변경된다. \u000b세이나(기원)의 장검 공격이 피해를 입히면 자신의 &Param1_kr1& <color=#fb8037>&Param2&</color> 증가한다. &Param3&초간 지속되며, 최대 &Param4&스택 중첩된다.",
"Potential.516227.1": "세이나(기원)의 대검 공격과 「낙성」이 입히는 &Param1_kr1& 증가한다.",
@@ -2379,6 +2379,6 @@
"Potential.516241.2": "세이나(기원)가 장검 형태의 필살기 「극성섬광 파열참」을 시전하면 「섬광」을 7개 발사해, 1개마다 최대 HP <color=#fb8037>&Param1&</color>의 빛 속성 스킬 피해를 입힌다. \u000b세이나(기원)의 &Param2_kr1& <color=#fb8037>&Param3&</color> 증가한다.",
"Potential.516242.1": "세이나(기원)가 대검 형태의 필살기 「극성섬광 파열참」을 시전한 후 영역을 생성해 목표를 공격한다. 세이나(기원)의 &Param2_kr1& 증가한다.",
"Potential.516242.2": "세이나(기원)가 대검 형태의 필살기 「극성섬광 파열참」을 시전한 후 영역을 생성해 최대 HP <color=#fb8037>&Param1&x6</color>의 빛 속성 일반 공격 피해를 입힌다. \u000b세이나(기원)의 &Param2_kr1& <color=#fb8037>&Param3&</color> 증가한다.",
"Potential.516243.1": "세이나가 「극성」 상태일 때 자신의 &Param1_kr1& 추가로 증가한다. 동시에 일정 시간마다 SP를 회복한다.",
"Potential.516243.2": "세이나가 「극성」 상태일 때 자신의 &Param1_kr1& <color=#fb8037>&Param2&</color> 추가로 증가한다. 동시에 &Param3&초마다 SP를 <color=#fb8037>&Param4&</color> 회복한다."
"Potential.516243.1": "세이나(기원)가 「극성」 상태일 때 자신의 &Param1_kr1& 추가로 증가한다. 동시에 일정 시간마다 SP를 회복한다.",
"Potential.516243.2": "세이나(기원)가 「극성」 상태일 때 자신의 &Param1_kr1& <color=#fb8037>&Param2&</color> 추가로 증가한다. 동시에 &Param3&초마다 SP를 <color=#fb8037>&Param4&</color> 회복한다."
}
+2 -2
View File
@@ -1372,8 +1372,8 @@
"Skill.8211501.13": "전방에 레이저 빔을 발사한다. \n호타루가 스킬을 시전한 후 모든 피해에 면역된다. 일정 시간 지속된다.",
"Skill.8211501.2": "전방에 레이저 빔을 발사한다. \n호타루가 스킬을 시전한 후 모든 피해에 면역된다. 일정 시간 지속된다.",
"Skill.8213901.1": "전문가의 마무리 작업",
"Skill.8213901.13": "아이템을 획득할 때마다 「청소 표식」 1개를 생성한다. 최대 3스택 중첩된다. \n스킬 시전 시 엘리가 장검을 휘둘러 순환 참격을 시전해 계속하며, 서리의 칼날을 발사해 범위 피해를 입힌다. \n스킬 시전 시 「청소 표식」 3개를 보유하고 있다면, 순환 참격 종료 후 장검의 환영을 추가로 생성해 피해를 입힌다.",
"Skill.8213901.2": "아이템을 획득할 때마다 「청소 표식」 1개를 생성한다. 최대 3스택 중첩된다. \n스킬 시전 시 엘리가 장검을 휘둘러 순환 참격을 시전해 계속하며, 서리의 칼날을 발사해 범위 피해를 입힌다. \n스킬 시전 시 「청소 표식」 3개를 보유하고 있다면, 순환 참격 종료 후 장검의 환영을 추가로 생성해 피해를 입힌다.",
"Skill.8213901.13": "아이템을 획득할 때마다 위로 서리의 칼날을 발사하며 「청소 표식」 1개를 생성한다. 최대 3스택 중첩된다. \n스킬 시전 시 엘리가 장검을 휘둘러 순환 참격을 시전해 계속하며, 서리의 칼날을 발사해 범위 피해를 입힌다. \n스킬 시전 시 「청소 표식」 3개를 보유하고 있다면, 순환 참격 종료 후 장검의 환영을 추가로 생성해 피해를 입힌다.",
"Skill.8213901.2": "아이템을 획득할 때마다 위로 서리의 칼날을 발사하며 「청소 표식」 1개를 생성한다. 최대 3스택 중첩된다. \n스킬 시전 시 엘리가 장검을 휘둘러 순환 참격을 시전해 계속하며, 서리의 칼날을 발사해 범위 피해를 입힌다. \n스킬 시전 시 「청소 표식」 3개를 보유하고 있다면, 순환 참격 종료 후 장검의 환영을 추가로 생성해 피해를 입힌다.",
"Skill.8214501.1": "허공의 꽃",
"Skill.8214501.13": "구슬을 제어하여 폭발시키고, 이후 사방으로 여러 개의 쿠나이를 발사한다. \n오토하가 아이템을 획득하면 전방으로 쿠나이 1개를 발사한다.",
"Skill.8214501.2": "구슬을 제어하여 폭발시키고, 이후 사방으로 여러 개의 쿠나이를 발사한다. \n오토하가 아이템을 획득하면 전방으로 쿠나이 1개를 발사한다.",
+1 -1
View File
@@ -135,7 +135,7 @@
"Story.1108.2": "옷이 날개라는 말은…… 이곳에선 오직 옷차림밖에 볼 수 없기 때문이야.",
"Story.1108.4": "07",
"Story.1109.1": "금기의 소원",
"Story.1109.2": "그것과 함께 깊이 묻혀진 건 그녀의 지난날과 아픔이었다.",
"Story.1109.2": "그것과 함께 깊이 파묻힌 건 그녀의 지난날과 아픔이었다.",
"Story.1109.4": "08",
"Story.111.1": "기억을 채우는 방식",
"Story.111.2": "기억상실을 막는 방법은 더 많은 재미있는 기억을 만드는 것이다.",
+7 -5
View File
@@ -1021,8 +1021,9 @@
"UIText.DormBtn_ShowFurniture.1": "가구 표시",
"UIText.DormBtn_UIShow.1": "다이얼 열기",
"UIText.DormBtn_ViewMode.1": "감상 모드",
"UIText.DormBtn_Visit.1": "방문",
"UIText.DormBtn_Visit.1": "친구 방문",
"UIText.DormFriend_EmptyHint.1": "친구가 없습니다",
"UIText.DormFriend_Visit.1": "방문",
"UIText.DormMainMenu_Knowledge.1": "여행가 백과",
"UIText.DormQuest_Title.1": "보물 수집의 길",
"UIText.DormReward_FastReceive.1": "선물 받기",
@@ -1052,7 +1053,7 @@
"UIText.Dorm_Editor_SaveSuccess.1": "저장 완료",
"UIText.Dorm_FriendRoot_Elevator.1": "친구 승강기",
"UIText.Dorm_FriendRoot_Visit.1": "친구 방문",
"UIText.Dorm_Friend_LikeLimit.1": "좋아요 횟수를 모두 사용하였습니다",
"UIText.Dorm_Friend_LikeLimit.1": "일일 최대 좋아요 횟수는 3회입니다.",
"UIText.Dorm_Friend_PanelTitle.1": "친구 방문",
"UIText.Dorm_FurnitreSaveCDHint.1": "조작이 너무 빠릅니다. 5초 후 다시 시도해 주세요.",
"UIText.Dorm_FurnitureList_Tog1.1": "가구",
@@ -1069,6 +1070,7 @@
"UIText.Dorm_GiftCountMaxHint.1": "오늘 이미 해당 여행가에게 선물을 보냈습니다.",
"UIText.Dorm_GiftDesc.1": "매일 여행가 6명에게 선물을 줄 수 있으며, 각 여행가는 매일 1회 선물을 받을 수 있습니다. 선물은 하트챗 선물과 별도로 계산됩니다.",
"UIText.Dorm_GiftEmptyTitle.1": "줄 수 있는 선물이 없습니다.",
"UIText.Dorm_Go.1": "이 동",
"UIText.Dorm_HandBook_Title.1": "보물 목록",
"UIText.Dorm_HandBook_Tog1.1": "업적",
"UIText.Dorm_HandBook_Tog2.1": "보물 세트",
@@ -1078,7 +1080,7 @@
"UIText.Dorm_Hint_Err_FurniturePos.1": "현재 배치된 가구가 겹쳐 플랜을 저장할 수 없습니다.",
"UIText.Dorm_Hint_Err_NoNeedToSave.1": "수정된 사항이 없습니다",
"UIText.Dorm_Interaction_DayLimitHint.1": "오늘 쓰다듬기 횟수를 전부 사용했습니다.",
"UIText.Dorm_Interaction_NoCharHint.1": "현재 마왕의 탑에 상호작용할 수 있는 캐릭터가 없습니다.",
"UIText.Dorm_Interaction_NoCharHint.1": "현재 일괄 쓰다듬을 수 있는 여행가가 없습니다.",
"UIText.Dorm_Interactive_GroupTitle.1": "이번 챕터 모든 임무 완료",
"UIText.Dorm_ItemHint_RoomType1.1": "「실내」\n사용 가능",
"UIText.Dorm_ItemHint_RoomType2.1": "「실외」\n사용 가능",
@@ -1821,9 +1823,9 @@
"UIText.Guide_303_2.1": "턴이 끝나기 전에 최대한 많은 페이트 코인을 모아 스테이지를 클리어하는 것이 목표라는 거야.",
"UIText.Guide_303_3.1": "때로는 페이트 코인을 소모해 다양한 버프 효과를 해제하는 것이 더 유리할 수 있다는 거예요. \u000b활약을 기대하겠다는 거예요!",
"UIText.Guide_305_1.1": "새로운 도전을 맞이할 준비가 되었나요? \u000b그럼 바로 시작하죠.",
"UIText.Guide_305_2.1": "도전 모드에서는 각 난이도를 차례로 클리어해야 하며, 난이도마다 서로 다른 디버프가 적용됩니다.",
"UIText.Guide_305_2.1": "도전 모드에서는 각 난이도를 차례로 클리어해야 하며, 난이도마다 서로 다른 디버프가 적용된다는 거야.",
"UIText.Guide_305_3.1": "이 모드에서는 칩이 유지되지 않으니, 이후 수익을 늘릴 수 있도록 칩을 사용해 보세요.",
"UIText.Guide_305_5.1": "난이도마다 조수 1명을 모집할 수 있습니다. 조수마다 다른 특성을 잘 활용해 익스트림의 거울을 정복해 보세요~",
"UIText.Guide_305_5.1": "난이도마다 조수 1명을 모집할 수 있어. 조수마다 다른 특성을 잘 활용해 익스트림의 거울을 정복해 보라는 거야~",
"UIText.Guide_32_1.1": "이것은 이번 탐색 중 획득한 모든 소리입니다.",
"UIText.Guide_32_2.1": "특정한 소리의 조합으로 협주 스킬을 활성화할 수 있습니다.",
"UIText.Guide_32_3.1": "매 탐색마다 다시 소리를 수집해야 하며,\r\n소리와 협주 스킬은 ‘기록’에서 중요한 부분입니다.",
+6 -4
View File
@@ -1021,8 +1021,9 @@
"UIText.DormBtn_ShowFurniture.1": "显示家具",
"UIText.DormBtn_UIShow.1": "唤出仪盘",
"UIText.DormBtn_ViewMode.1": "观赏模式",
"UIText.DormBtn_Visit.1": "巡访",
"UIText.DormBtn_Visit.1": "出巡好友",
"UIText.DormFriend_EmptyHint.1": "暂无好友",
"UIText.DormFriend_Visit.1": "巡访",
"UIText.DormMainMenu_Knowledge.1": "旅人百科",
"UIText.DormQuest_Title.1": "聚宝之路",
"UIText.DormReward_FastReceive.1": "领取馈赠",
@@ -1051,8 +1052,8 @@
"UIText.Dorm_Editor_Save.1": "保存",
"UIText.Dorm_Editor_SaveSuccess.1": "保存成功",
"UIText.Dorm_FriendRoot_Elevator.1": "好友升降梯",
"UIText.Dorm_FriendRoot_Visit.1": "好友拜访",
"UIText.Dorm_Friend_LikeLimit.1": "点赞次数达到上限",
"UIText.Dorm_FriendRoot_Visit.1": "出巡好友",
"UIText.Dorm_Friend_LikeLimit.1": "每日只可以给3位好友点赞",
"UIText.Dorm_Friend_PanelTitle.1": "出巡好友",
"UIText.Dorm_FurnitreSaveCDHint.1": "操作过快,请5s后重试",
"UIText.Dorm_FurnitureList_Tog1.1": "家具",
@@ -1069,6 +1070,7 @@
"UIText.Dorm_GiftCountMaxHint.1": "今天已经给该旅人送过礼物了",
"UIText.Dorm_GiftDesc.1": "每日可以6位旅人赠礼,每位旅人每日可以被赠送一次礼物。赠礼与心链赠礼不共享次数。",
"UIText.Dorm_GiftEmptyTitle.1": "没有礼物可以赠予",
"UIText.Dorm_Go.1": "前 往",
"UIText.Dorm_HandBook_Title.1": "宝物名册",
"UIText.Dorm_HandBook_Tog1.1": "伟业",
"UIText.Dorm_HandBook_Tog2.1": "宝物套装",
@@ -1078,7 +1080,7 @@
"UIText.Dorm_Hint_Err_FurniturePos.1": "当前布置存在家具重叠,方案无法保存",
"UIText.Dorm_Hint_Err_NoNeedToSave.1": "当前无修改",
"UIText.Dorm_Interaction_DayLimitHint.1": "今日轻抚次数已达上限",
"UIText.Dorm_Interaction_NoCharHint.1": "当前魔王之塔内没有可交互的角色",
"UIText.Dorm_Interaction_NoCharHint.1": "当前没有可批量轻抚的旅人",
"UIText.Dorm_Interactive_GroupTitle.1": "完成本章所有任务",
"UIText.Dorm_ItemHint_RoomType1.1": "【室内】\n可用",
"UIText.Dorm_ItemHint_RoomType2.1": "【室外】\n可用",
@@ -134,7 +134,7 @@ function InfinityTowerLevel:OnEvent_UnloadComplete()
self.parent:EnterInfinityTowerAgainNext()
end
function InfinityTowerLevel:OnEvnet_Pause()
EventManager.Hit("show_Infinity_Pause", self.lvRunTime, self.tbCharId)
EventManager.Hit("show_Infinity_Pause", self.lvRunTime, self.tbCharId, self.tbCharTrialId)
end
function InfinityTowerLevel:OnEvent_AbandonBattle()
self:OnEvent_InfinityTowerEnd(3)
@@ -112,7 +112,7 @@ function TraceHuntLevel:SetDiscInfo()
end
function TraceHuntLevel:OnEvent_Pause()
if self.isCanPause then
EventManager.Hit("OpenTraceHuntPause", self.LevelId, self.tbCharId, self.parent.bSelfBoss)
EventManager.Hit("OpenTraceHuntPause", self.LevelId, self.tbCharId, self.parent.bSelfBoss, self.tbCharTrialId)
end
end
function TraceHuntLevel:OnEvent_AbandonBattle()
+3 -2
View File
@@ -45,8 +45,9 @@ function JumpUtil.JumpTo(jumpId, ...)
local transitionOpenCallback = function()
JumpUtil.DoJump(jumpId, table.unpack(args))
end
local nUseTransitionId = nTransitionId == 0 and 1 or nTransitionId
if bNeedTransition then
EventManager.Hit(EventId.SetTransition, nTransitionId, transitionOpenCallback, nTransitionType)
EventManager.Hit(EventId.SetTransition, nUseTransitionId, transitionOpenCallback, nTransitionType)
else
transitionOpenCallback()
end
@@ -138,7 +139,7 @@ function JumpUtil.JumpCheckAndTransition(jumpId, callback, ...)
end
callback(true, false, 0)
elseif nType == GameEnum.jumpType.InfinityTower then
callback(true, true, 0)
callback(true, true, 8)
elseif nType == GameEnum.jumpType.Phone then
local openCallback = function()
callback(true, false, 0)
@@ -25,7 +25,7 @@ ReengagementBDPreviewItemCtrl._mapNodeConfig = {
}
ReengagementBDPreviewItemCtrl._mapEventConfig = {}
function ReengagementBDPreviewItemCtrl:Refresh(nTrialBuildId)
self.mapBuildData = PlayerData.Build:GetTrialBuild(nTrialBuildId)
self.mapBuildData = PlayerData.Build:GetLimitedTrialBuild(nTrialBuildId)
if self.mapBuildData == nil then
self.gameObject:SetActive(false)
return
@@ -70,7 +70,7 @@ function ReengagementBDPreviewItemCtrl:OnClickItem()
if self.mapBuildData == nil then
return
end
self.mapBuildData = PlayerData.Build:GetTrialBuild(self.mapBuildData.nBuildId)
self.mapBuildData = PlayerData.Build:GetLimitedTrialBuild(self.mapBuildData.nBuildId)
if self.mapBuildData == nil then
return
end
@@ -233,7 +233,7 @@ end
function ActivityLevelsInstancePauseCtrl:OnBtnClick_Char(btn, nIndex)
end
function ActivityLevelsInstancePauseCtrl:OnBtnClick_Skill(btn)
EventManager.Hit(EventId.OpenPanel, PanelId.PopupSkillPanel, self.tbChar)
EventManager.Hit(EventId.OpenPanel, PanelId.PopupSkillPanel, self.tbChar, false, self._mapCharTrialId)
self._mapNode.ActionBar.gameObject:SetActive(false)
end
function ActivityLevelsInstancePauseCtrl:OnBtnClick_Settings(btn)
+1 -1
View File
@@ -3999,7 +3999,7 @@ return {
"",
false,
"",
"Elena's so fired up. I'd better do my best to help her out.",
"Alina's so fired up. I'd better do my best to help her out.",
""
}
},
+1 -1
View File
@@ -7464,7 +7464,7 @@ return {
"vo_STm10_05_068",
false,
"",
"That was also the name \"Alina Colossi\" was born into this world.",
"That was also when the name \"Alina Colossi\" was born into this world.",
""
}
},
+2 -2
View File
@@ -948,7 +948,7 @@ return {
"",
false,
"",
"그래서…… 앞으로의 일 얘기인데, 마왕님 생각을 들려주지 않을래?",
"그래서…… 앞으로의 일 얘기인데, ==PLAYER_NAME==의 생각을 들려주지 않을래?",
""
}
},
@@ -1037,7 +1037,7 @@ return {
"",
false,
"",
"피킨을 궁지에 몰아붙인 그 멋진 추리는, 마왕님만이 할 수 있는 거야!",
"피킨을 궁지에 몰아붙인 그 멋진 추리는, ==PLAYER_NAME==만이 할 수 있는 거야!",
""
}
},
+3 -3
View File
@@ -198,14 +198,14 @@ end
function ChapterPauseCtrl:OnBtnClick_Char(btn, nIndex)
end
function ChapterPauseCtrl:OnBtnClick_Skill(btn)
local tbCharId, tbTrial = {}, {}
local tbCharId, mapCharTrialId = {}, {}
for _, v in ipairs(self.tbChar) do
table.insert(tbCharId, v.nTid)
if v.nTrialId then
table.insert(tbTrial, v.nTrialId)
mapCharTrialId[v.nTid] = v.nTrialId
end
end
EventManager.Hit(EventId.OpenPanel, PanelId.PopupSkillPanel, tbCharId, false, tbTrial)
EventManager.Hit(EventId.OpenPanel, PanelId.PopupSkillPanel, tbCharId, false, mapCharTrialId)
self._mapNode.ActionBar.gameObject:SetActive(false)
end
function ChapterPauseCtrl:OnBtnClick_Settings(btn)
+3 -3
View File
@@ -202,14 +202,14 @@ end
function MainBattlePauseCtrl:OnBtnClick_Char(btn, nIndex)
end
function MainBattlePauseCtrl:OnBtnClick_Skill(btn)
local tbCharId, tbTrial = {}, {}
local tbCharId, mapCharTrialId = {}, {}
for _, v in ipairs(self.tbChar) do
table.insert(tbCharId, v.nTid)
if v.nTrialId then
table.insert(tbTrial, v.nTrialId)
mapCharTrialId[v.nTid] = v.nTrialId
end
end
EventManager.Hit(EventId.OpenPanel, PanelId.PopupSkillPanel, tbCharId, false, tbTrial)
EventManager.Hit(EventId.OpenPanel, PanelId.PopupSkillPanel, tbCharId, false, mapCharTrialId)
self._mapNode.ActionBar.gameObject:SetActive(false)
end
function MainBattlePauseCtrl:OnBtnClick_Settings(btn)
+5 -5
View File
@@ -177,20 +177,20 @@ function PopupSkillCtrl:OnEnable()
local tbParam = self:GetPanelParam()
self.tbChar = tbParam[1]
local bNoMask = tbParam[2]
local tbTrialId = tbParam[3]
local mapCharTrialId = tbParam[3]
self.mapCharInfo = tbParam[4]
local nSelectCharId = tbParam[5]
self.bOutBattle = tbParam[6]
self._mapNode.aniBlur.gameObject:SetActive(not bNoMask)
self._mapNode.aniBlur2.gameObject:SetActive(bNoMask)
self.mapCharSkill = {}
local bTrial = tbTrialId and 0 < #tbTrialId
for k, nCharId in ipairs(self.tbChar) do
for _, nCharId in ipairs(self.tbChar) do
local mapChar = self.mapCharInfo and self.mapCharInfo[nCharId]
local nTrialId = mapCharTrialId and mapCharTrialId[nCharId]
if mapChar and mapChar.tbSkillAddedLvs then
self.mapCharSkill[nCharId] = clone(mapChar.tbSkillAddedLvs)
elseif bTrial then
self.mapCharSkill[nCharId] = PlayerData.Char:GetTrialCharSkillAddedLevel(tbTrialId[k])
elseif type(nTrialId) == "number" and 0 < nTrialId then
self.mapCharSkill[nCharId] = PlayerData.Char:GetAnyTrialCharSkillAddedLevel(nTrialId)
elseif self.mapCharInfo == nil or next(self.mapCharInfo) == nil then
self.mapCharSkill[nCharId] = PlayerData.Char:GetCharSkillAddedLevel(nCharId)
else
@@ -231,7 +231,7 @@ end
function DailyInstancePauseCtrl:OnBtnClick_Char(btn, nIndex)
end
function DailyInstancePauseCtrl:OnBtnClick_Skill(btn)
EventManager.Hit(EventId.OpenPanel, PanelId.PopupSkillPanel, self.tbChar)
EventManager.Hit(EventId.OpenPanel, PanelId.PopupSkillPanel, self.tbChar, false, self._mapCharTrialId)
self._mapNode.ActionBar.gameObject:SetActive(false)
end
function DailyInstancePauseCtrl:OnBtnClick_Settings(btn)
@@ -242,20 +242,16 @@ function DormSelectCharCtrl:FilterChar()
self.tbSortedChar = {}
for _, data in pairs(self.tbAllChar) do
local mapCharCfgData = ConfigTable.GetData_Character(data.nId)
local mapDormCharCfgData = ConfigTable.GetData("DormRole", data.nId, false)
local mapDormCharCfgData = ConfigTable.GetData("DormRole", data.nId, true)
local bAvailable = mapCharCfgData.Available and mapDormCharCfgData ~= nil
if bAvailable then
local isFilter = PlayerData.Filter:CheckFilterByChar(data.nId)
local bCur = table.indexof(self.curChar, data.nId) > 0
if isFilter or bCur then
local mapSkill = PlayerData.Char:GetCharSkillUpgradeData(data.nId)
local nSkillLevelSum = 0
for k, v in pairs(mapSkill) do
nSkillLevelSum = nSkillLevelSum + v.nLv
end
data.SkillLevel = nSkillLevelSum
table.insert(self.tbSortedChar, data)
local mapSkill = PlayerData.Char:GetCharSkillUpgradeData(data.nId)
local nSkillLevelSum = 0
for k, v in pairs(mapSkill) do
nSkillLevelSum = nSkillLevelSum + v.nLv
end
data.SkillLevel = nSkillLevelSum
table.insert(self.tbSortedChar, data)
end
end
print("过滤后 charCount:" .. #self.tbSortedChar)
@@ -155,8 +155,27 @@ function DormContactBtnListCtrl:RemoveRewardHud(nEntityId, nFurId)
removedIdx = nIdx
end
end
local removedInfo = table.remove(self.mapListBtn[nEntityId], removedIdx)
self:RecycleBtnItem(removedInfo.goItem)
if 0 < removedIdx then
local removedInfo = table.remove(self.mapListBtn[nEntityId], removedIdx)
self:RecycleBtnItem(removedInfo.goItem)
end
end
function DormContactBtnListCtrl:RemoveAllRewardHud()
if self.mapListBtn == nil then
return
end
for _, tbBtnInfo in pairs(self.mapListBtn) do
local removedIdx = 0
for nIdx, mapInfo in ipairs(tbBtnInfo) do
if mapInfo.nType == 4 then
removedIdx = nIdx
end
end
if 0 < removedIdx then
local removedInfo = table.remove(tbBtnInfo, removedIdx)
self:RecycleBtnItem(removedInfo.goItem)
end
end
end
function DormContactBtnListCtrl:RemoveInteractiveBtn(nEntityId)
if self.mapListBtn[nEntityId] ~= nil then
@@ -24,7 +24,7 @@ DormFriendGridCtrl._mapNodeConfig = {
imgHead = {sComponentName = "Image"},
TMPBtnVisit = {
sComponentName = "TMP_Text",
sLanguageId = "DormBtn_Visit"
sLanguageId = "DormFriend_Visit"
}
}
DormFriendGridCtrl._mapEventConfig = {}
@@ -597,6 +597,7 @@ function DormInteractiveCtrl:OnBtnClick_ReceiveDormReward()
local afterIds = self._panel:GetDormRewardId()
self._mapNode.rtGiftHint:SetActive(0 < #afterIds)
self:CheckRewardFurnitureHuds()
self._mapNode.rtContact:RemoveAllRewardHud()
UTILS.OpenReceiveByChangeInfo(changeInfo)
DormGuideAdapter.NoteQuest(nil, true)
end
@@ -6,15 +6,9 @@ DormRoomGridCtrl._mapNodeConfig = {
imgNameBg = {},
imgLock = {},
TMPRoomName = {sComponentName = "TMP_Text"},
txtBtnGo = {
sComponentName = "TMP_Text",
sLanguageId = "MainView_Go"
},
txtBtnGo = {sComponentName = "TMP_Text", sLanguageId = "Dorm_Go"},
TMPRoomNotAvailable = {sComponentName = "TMP_Text"},
txtBtnGoGray = {
sComponentName = "TMP_Text",
sLanguageId = "MainView_Go"
},
txtBtnGoGray = {sComponentName = "TMP_Text", sLanguageId = "Dorm_Go"},
btnGo = {
sComponentName = "UIButton",
callback = "OnBtnClick_Go"
@@ -96,10 +96,7 @@ function DormMusicSelectCtrl:FilterDisc()
for _, data in pairs(self.tbAllDisc) do
local mapCfg = ConfigTable.GetData("Disc", data.nId)
if mapCfg.Visible then
local isFilter = PlayerData.Filter:CheckFilterByDisc(data.nId)
if isFilter then
table.insert(self.tbSortedDisc, data)
end
table.insert(self.tbSortedDisc, data)
end
end
end
@@ -236,7 +236,7 @@ end
function EquipmentInstancePauseCtrl:OnBtnClick_Char(btn, nIndex)
end
function EquipmentInstancePauseCtrl:OnBtnClick_Skill(btn)
EventManager.Hit(EventId.OpenPanel, PanelId.PopupSkillPanel, self.tbChar)
EventManager.Hit(EventId.OpenPanel, PanelId.PopupSkillPanel, self.tbChar, false, self._mapCharTrialId)
self._mapNode.ActionBar.gameObject:SetActive(false)
end
function EquipmentInstancePauseCtrl:OnBtnClick_Settings(btn)
+10 -2
View File
@@ -668,7 +668,11 @@ function GachaCtrl:GachaOneExchangeCoin(mapGacha)
else
sTips = orderedFormat(ConfigTable.GetUIText("Recruit_Exchange"), nNeedCount, mapCostCfgData.Id, mapGachaStorage.DefaultQty - nDefaultCount, mapDefaultCfgData.Id)
end
ConfirmPanel(sTips, confirmCallback, "GachaShowTicketExchange")
local tips = "GachaShowTicketExchange"
if mapGacha.Id == 1001 then
tips = nil
end
ConfirmPanel(sTips, confirmCallback, tips)
else
EventManager.Hit(EventId.OpenMessageBox, ConfigTable.GetUIText("NotEnoughItem"))
end
@@ -786,7 +790,11 @@ function GachaCtrl:GachaTenExchangeCoin(mapGacha)
else
sTips = orderedFormat(ConfigTable.GetUIText("Recruit_Exchange"), nNeedCount, mapCostCfgData.Id, mapGachaStorage.DefaultQty * 10 - nSpecificCount - nDefaultCount, mapDefaultCfgData.Id)
end
ConfirmPanel(sTips, confirmCallback, "GachaShowTicketExchange")
local tips = "GachaShowTicketExchange"
if mapGacha.Id == 1001 then
tips = nil
end
ConfirmPanel(sTips, confirmCallback, tips)
else
EventManager.Hit(EventId.OpenMessageBox, ConfigTable.GetUIText("NotEnoughItem"))
end
@@ -124,8 +124,9 @@ function InfinityTowerPauseCtrl:OnDestroy()
end
function InfinityTowerPauseCtrl:OnRelease()
end
function InfinityTowerPauseCtrl:OnEvent_ShowInfinityPause(runTime, tbChar)
function InfinityTowerPauseCtrl:OnEvent_ShowInfinityPause(runTime, tbChar, mapCharTrialId)
self.tbChar = tbChar
self._mapCharTrialId = mapCharTrialId
EventManager.Hit(EventId.BattleDashboardVisible, false)
PanelManager.InputDisable()
local lvId = PlayerData.InfinityTower:GetCurrentLv()
@@ -341,7 +342,7 @@ function InfinityTowerPauseCtrl:OnPanelClose(_, bGiveUp)
end
end
function InfinityTowerPauseCtrl:OnBtnClick_Skill(btn)
EventManager.Hit(EventId.OpenPanel, PanelId.PopupSkillPanel, self.tbChar, true)
EventManager.Hit(EventId.OpenPanel, PanelId.PopupSkillPanel, self.tbChar, true, self._mapCharTrialId)
self._mapNode.ActionBar.gameObject:SetActive(false)
end
function InfinityTowerPauseCtrl:OnBtnClick_Settings(btn)
@@ -227,7 +227,7 @@ function MainlineEx_DustDawnStoryCtrl:RefreshStoryList()
if recentStoryId ~= 0 then
for i = 1, #self.tbChapterStoryNumIds do
if self.tbChapterStoryNumIds[i] == recentStoryId then
self:AddTimer(1, 0.1, function()
self:AddTimer(1, 0.01, function()
local time = self.bInit and 0 or self.nScrollTime
self._mapNode.svStory:SetScrollGridPos(i, time, 0)
self.bInit = true
@@ -277,7 +277,7 @@ end
function RegionBossPauseCtrl:OnBtnClick_Char(btn, nIndex)
end
function RegionBossPauseCtrl:OnBtnClick_Skill(btn)
EventManager.Hit(EventId.OpenPanel, PanelId.PopupSkillPanel, self.tbChar)
EventManager.Hit(EventId.OpenPanel, PanelId.PopupSkillPanel, self.tbChar, false, self._mapCharTrialId)
self._mapNode.ActionBar.gameObject:SetActive(false)
end
function RegionBossPauseCtrl:OnBtnClick_Settings(btn)
@@ -236,7 +236,7 @@ end
function SkillInstancePauseCtrl:OnBtnClick_Char(btn, nIndex)
end
function SkillInstancePauseCtrl:OnBtnClick_Skill(btn)
EventManager.Hit(EventId.OpenPanel, PanelId.PopupSkillPanel, self.tbChar)
EventManager.Hit(EventId.OpenPanel, PanelId.PopupSkillPanel, self.tbChar, false, self._mapCharTrialId)
self._mapNode.ActionBar.gameObject:SetActive(false)
end
function SkillInstancePauseCtrl:OnBtnClick_Settings(btn)
@@ -1,64 +1,101 @@
local SoldierCharCardItemCtrl = require("Game.UI.Soldier.Template.Character.SoldierCharCardItemCtrl")
local SoldierRecommendCharItemCtrl = class("SoldierRecommendCharItemCtrl", SoldierCharCardItemCtrl)
local SoldierRecommendCharItemCtrl = class("SoldierRecommendCharItemCtrl", BaseCtrl)
local MAX_STAR = 5
local SetActiveIfChanged = function(goNode, bActive)
if goNode.activeSelf ~= bActive then
goNode:SetActive(bActive)
end
end
SoldierRecommendCharItemCtrl._mapNodeConfig = {
btnItem = {
sComponentName = "UIButton",
callback = "OnBtnItemClick"
},
Star = {nCount = MAX_STAR},
goChar = {},
imgEmpty = {},
imageIcon = {sComponentName = "Image"},
imageRarity = {sComponentName = "Image"},
img_Position = {sComponentName = "Image"}
}
SoldierRecommendCharItemCtrl._mapEventConfig = {}
SoldierRecommendCharItemCtrl._mapRedDotConfig = {}
function SoldierRecommendCharItemCtrl:Awake()
SoldierCharCardItemCtrl.Awake(self)
self._mapSpritePath = {}
self._mapNode.animRoot.enabled = false
local trAttribute = self._mapNode.goChar.transform:Find("imgAttribute")
if trAttribute ~= nil then
self._imgAttribute = trAttribute:GetComponent("Image")
end
local trAnimRoot = self._mapNode.btnItem.transform:Find("AnimRoot")
if trAnimRoot ~= nil then
local objAnimator = trAnimRoot:GetComponent("Animator")
if objAnimator ~= nil then
objAnimator.enabled = false
end
end
end
function SoldierRecommendCharItemCtrl:OnEnable()
SoldierCharCardItemCtrl.OnEnable(self)
self:SetAttribute(self._nRecommendPosition)
end
function SoldierRecommendCharItemCtrl:OnDisable()
self.bActive = false
end
function SoldierRecommendCharItemCtrl:OnDestroy()
SoldierCharCardItemCtrl.OnDestroy(self)
self._mapSpritePath = nil
self._imgAttribute = nil
self._objClickCallback = nil
self._fnClickCallback = nil
end
function SoldierRecommendCharItemCtrl:SetRecommendData(mapCharData, nPosition)
self._nRecommendPosition = nPosition
if mapCharData == nil or mapCharData.nId == nil or mapCharData.nId == 0 then
self._nRecommendPosition = nil
SoldierCharCardItemCtrl.SetItemData(self, nil)
self.nCharId = nil
self.bInSandland = false
self._nRecommendStar = 0
self:SetStar(0)
self._nRecommendPosition = nil
SetActiveIfChanged(self._mapNode.goChar, false)
SetActiveIfChanged(self._mapNode.imgEmpty, true)
self:SetAttribute(nil)
self._mapNode.imgRecommend.gameObject:SetActive(false)
self:SetLock(false)
self:SetClickCallback(nil, nil)
return
end
self._nRecommendStar = mapCharData.nStar or 0
SetActiveIfChanged(self._mapNode.imgEmpty, false)
SetActiveIfChanged(self._mapNode.goChar, true)
if self.nCharId ~= mapCharData.nId then
SoldierCharCardItemCtrl.SetItemData(self, mapCharData.nId)
else
self:SetStar(self._nRecommendStar)
self.nCharId = mapCharData.nId
self:SetCharConfig(mapCharData.nId)
end
self:SetStar(mapCharData.nStar or 0)
self._nRecommendPosition = nPosition
self:SetAttribute(nPosition)
end
function SoldierRecommendCharItemCtrl:SetCharConfig(nCharId)
local mapCharConfig = ConfigTable.GetData("SoldierCharacter", nCharId)
if mapCharConfig == nil then
return
end
if mapCharConfig.Rarity ~= nil then
self:SetPngSprite(self._mapNode.imageRarity, "Icon/SoldierOtherIcon/" .. AllEnum.SoldierChessRarityIcon[mapCharConfig.Rarity] .. AllEnum.SoldierChessIconSurfix.M)
end
local mapSkinConfig = ConfigTable.GetData("SoldierSkin", mapCharConfig.Skin)
if mapSkinConfig ~= nil then
self:SetPngSprite(self._mapNode.imageIcon, mapSkinConfig.Icon .. AllEnum.SoldierChessIconSurfix.M)
end
if mapCharConfig.Type ~= nil then
local mapChessType = CacheTable.GetData("_SoldierChessType", mapCharConfig.Type)
local sIcon = mapChessType ~= nil and mapChessType.Icon or ""
self:SetPngSprite(self._mapNode.img_Position, "Icon/SoldierOtherIcon/" .. sIcon)
end
end
function SoldierRecommendCharItemCtrl:SetStar(nStar)
nStar = self._nRecommendStar or nStar or 0
if self.nStar == nStar then
return
end
self.nStar = nStar
for nIndex = 1, self.MAX_STAR do
local bActive = nIndex <= nStar
for nIndex = 1, MAX_STAR do
local goStar = self._mapNode.Star[nIndex]
local goFxStar = self._mapNode.FxStar[nIndex]
if goStar ~= nil and goStar.activeSelf ~= bActive then
goStar:SetActive(bActive)
end
if goFxStar ~= nil and goFxStar.activeSelf ~= bActive then
goFxStar:SetActive(bActive)
if goStar ~= nil then
SetActiveIfChanged(goStar, nIndex <= nStar)
end
end
end
function SoldierRecommendCharItemCtrl:SetAttribute(nPosition)
local imgAttribute = self._imgAttribute
if imgAttribute == nil then
return
end
local bUnlock = false
local sIcon
if nPosition ~= nil and 1 <= nPosition and nPosition <= 3 then
@@ -69,14 +106,20 @@ function SoldierRecommendCharItemCtrl:SetAttribute(nPosition)
sIcon = "Icon/SoldierOtherIcon/" .. mapConfig.Icon
end
end
local imgAttribute = self._mapNode.imgAttribute
if imgAttribute.gameObject.activeSelf ~= bUnlock then
imgAttribute.gameObject:SetActive(bUnlock)
end
SetActiveIfChanged(imgAttribute.gameObject, bUnlock)
if bUnlock then
self:SetPngSprite(imgAttribute, sIcon)
end
end
function SoldierRecommendCharItemCtrl:SetClickCallback(obj, fn)
self._objClickCallback = obj
self._fnClickCallback = fn
end
function SoldierRecommendCharItemCtrl:OnBtnItemClick()
if self._fnClickCallback ~= nil and self.nCharId ~= nil then
self._fnClickCallback(self._objClickCallback, self.nCharId)
end
end
function SoldierRecommendCharItemCtrl:SetPngSprite(imgObj, sPath, sSurfix)
if sSurfix ~= nil then
return BaseCtrl.SetPngSprite(self, imgObj, sPath, sSurfix)
@@ -1,5 +1,6 @@
local SoldierRecommendCtrl = class("SoldierRecommendCtrl", BaseCtrl)
local SDKManager = CS.SDKManager.Instance
local HIDE_CELL_POS_Y = 100000
SoldierRecommendCtrl._mapNodeConfig = {
Topbar = {
sNodeName = "TopBarPanel",
@@ -106,25 +107,40 @@ function SoldierRecommendCtrl:Awake()
end
function SoldierRecommendCtrl:OnEnable()
self._bListActive = true
self._bWaitingEnterAnim = true
self:SetListInputBlocked(true)
self._mapNode.btnHome.gameObject:SetActive(not self.bInSoldier)
self:RefreshListHeader()
local canvas = self.gameObject:GetComponent("Canvas")
NovaAPI.SetCanvasSortingOrder(canvas, self._nSortingOrder + 1)
local bNewCache = self._tbListCache == nil
if bNewCache then
self.tbRecommendCellCtrl = {}
self.tbRecommendData = {}
self._tbListCache = {}
self._tbCellPool = {}
self._tbSlotIndex = {}
self._nPoolSize = nil
self._nVisibleListState = nil
end
local svList = self._mapNode.sv_recommend
self._svRecommend = svList
self._goRecommendTemplate = svList.transform:Find("grid").gameObject
self._goRecommendTemplate:SetActive(false)
self._rtRecommendContent = svList.content
self._objRecommendLayout = self._rtRecommendContent:GetComponent("GridLayoutGroup")
self._objRecommendLayout.enabled = false
local objLayout = self._objRecommendLayout
self._v2CellSize = objLayout.cellSize
self._nCellLeft = objLayout.padding.left
self._nCellTop = objLayout.padding.top
self._nCellBottom = objLayout.padding.bottom
self._nCellSpacing = objLayout.spacing.y
self._nCellStep = self._v2CellSize.y + self._nCellSpacing
if not self._bScrollListening then
self._fnOnListScroll = self._fnOnListScroll or function()
self:OnListScroll()
end
svList.onValueChanged:AddListener(self._fnOnListScroll)
self._bScrollListening = true
end
local objFitter = self._rtRecommendContent:GetComponent("ContentSizeFitter")
if objFitter ~= nil then
objFitter.enabled = false
@@ -132,9 +148,6 @@ function SoldierRecommendCtrl:OnEnable()
self._rtRecommendContent.pivot = Vector2(0, 1)
self._rtRecommendContent.anchorMin = Vector2(0, 1)
self._rtRecommendContent.anchorMax = Vector2(1, 1)
self._rtRecommendContent.gameObject:SetActive(false)
NovaAPI.SetTMPText(self._mapNode.txtNoRcmd, ConfigTable.GetUIText("Soldier_Recommend_Loading"))
self._mapNode.rtEmpty.gameObject:SetActive(true)
EventManager.Hit("SoldierRecommendPanel_Open")
self._mapNode.goImport:SetActive(false)
local tbListCache = self._tbListCache
@@ -145,28 +158,10 @@ function SoldierRecommendCtrl:OnEnable()
end
end)
end
if tbListCache[1] ~= nil and tbListCache[1].bLoaded and tbListCache[2] ~= nil and tbListCache[2].bLoaded then
self:ShowRecommendList()
end
local wait = function()
coroutine.yield(CS.UnityEngine.WaitForEndOfFrame())
if not self._bListActive then
return
end
while self._bListActive and self.animator ~= nil and self.animator.isActiveAndEnabled do
local objState = self.animator:GetCurrentAnimatorStateInfo(0)
if not objState:IsName("SoldierRecommendPanel_in") or objState.normalizedTime >= 1 then
break
end
coroutine.yield(nil)
end
if not self._bListActive then
return
end
self._bWaitingEnterAnim = false
self:RefreshRecommendList()
end
self._coOpenList = cs_coroutine.start(wait)
self:RefreshRecommendList()
self:AddTimer(1, 0, function()
self:OnListScroll()
end, true, true, true)
end
function SoldierRecommendCtrl:OnPreExit()
if self._bListActive and self._nVisibleListState ~= nil then
@@ -175,25 +170,11 @@ function SoldierRecommendCtrl:OnPreExit()
mapCache.v2Size = self._rtRecommendContent.sizeDelta
end
self._bListActive = false
self._bWaitingEnterAnim = false
if self._coOpenList ~= nil then
cs_coroutine.stop(self._coOpenList)
self._coOpenList = nil
end
self:StopListLoading()
self:SetListInputBlocked(false)
end
function SoldierRecommendCtrl:SetListInputBlocked(bBlocked)
if self._bListInputBlocked == true == bBlocked then
return
end
self._bListInputBlocked = bBlocked
EventManager.Hit(EventId.BlockInput, bBlocked)
end
function SoldierRecommendCtrl:StopListLoading()
if self._coLoadList ~= nil then
cs_coroutine.stop(self._coLoadList)
self._coLoadList = nil
if self._bScrollListening then
self._bScrollListening = false
if self._svRecommend ~= nil and not self._svRecommend:IsNull() then
self._svRecommend.onValueChanged:RemoveListener(self._fnOnListScroll)
end
end
end
function SoldierRecommendCtrl:OnDisable()
@@ -207,8 +188,11 @@ end
function SoldierRecommendCtrl:ClearListCache()
self._tbListCache = nil
self._nVisibleListState = nil
self.tbRecommendCellCtrl = nil
self._tbCellPool = nil
self._tbSlotIndex = nil
self._nPoolSize = nil
self.tbRecommendData = nil
self._svRecommend = nil
self._goRecommendTemplate = nil
self._rtRecommendContent = nil
self._objRecommendLayout = nil
@@ -232,102 +216,129 @@ function SoldierRecommendCtrl:RefreshRecommendList()
return
end
self:RefreshListHeader()
if self._bWaitingEnterAnim then
return
end
local tbSources = {
PlayerData.SoldierData:GetSystemRecommendList(),
PlayerData.SoldierData:GetCollectRecommendList()
}
local tbPending = {}
local mapPrevious = self._tbListCache[self._nVisibleListState]
if mapPrevious ~= nil then
mapPrevious.v2Position = self._rtRecommendContent.anchoredPosition
end
local bChanged = false
for nState = 1, 2 do
local mapCache = self._tbListCache[nState]
if mapCache == nil then
mapCache = {
tbCellCtrl = {},
tbData = {}
}
self._tbListCache[nState] = mapCache
end
if not mapCache.bLoaded or mapCache.tbSource ~= tbSources[nState] then
table.insert(tbPending, nState)
self:LoadRecommendList(mapCache, tbSources[nState])
bChanged = true
end
end
if #tbPending == 0 and self._nVisibleListState == self.nListState then
self:SetListInputBlocked(false)
if not bChanged and self._nVisibleListState == self.nListState then
return
end
self:StopListLoading()
self._mapNode.sv_recommend:StopMovement()
local mapPrevious = self._tbListCache[self._nVisibleListState]
if mapPrevious ~= nil then
mapPrevious.v2Position = self._rtRecommendContent.anchoredPosition
mapPrevious.v2Size = self._rtRecommendContent.sizeDelta
end
self._rtRecommendContent.gameObject:SetActive(false)
if #tbPending == 0 then
self:ShowRecommendList()
self:SetListInputBlocked(false)
return
end
self:SetListInputBlocked(true)
NovaAPI.SetTMPText(self._mapNode.txtNoRcmd, ConfigTable.GetUIText("Soldier_Recommend_Loading"))
self._mapNode.rtEmpty.gameObject:SetActive(true)
self._coLoadList = cs_coroutine.start(function()
coroutine.yield(CS.UnityEngine.WaitForEndOfFrame())
coroutine.yield(nil)
if not self._bListActive then
self:SetListInputBlocked(false)
return
end
local bSuccess, sError = pcall(function()
for _, nState in ipairs(tbPending) do
self:LoadRecommendList(self._tbListCache[nState], tbSources[nState])
end
self:ShowRecommendList()
end)
self._coLoadList = nil
self:SetListInputBlocked(false)
if not bSuccess then
printError(sError)
end
end)
self._svRecommend:StopMovement()
self:ShowRecommendList()
end
function SoldierRecommendCtrl:ShowRecommendList()
local mapCache = self._tbListCache[self.nListState]
for nState, mapTabCache in pairs(self._tbListCache) do
for nIndex, objCell in ipairs(mapTabCache.tbCellCtrl) do
local bActive = nState == self.nListState and nIndex <= #mapTabCache.tbData
if objCell.gameObject.activeSelf ~= bActive then
objCell.gameObject:SetActive(bActive)
end
end
end
self._nVisibleListState = self.nListState
self.tbRecommendCellCtrl = mapCache.tbCellCtrl
self.tbRecommendData = mapCache.tbData
self._rtRecommendContent.sizeDelta = mapCache.v2Size
self._rtRecommendContent.anchoredPosition = mapCache.v2Position
local bHasData = #mapCache.tbData > 0
self._rtRecommendContent.gameObject:SetActive(bHasData)
if not mapCache.bAnimationReady then
for nIndex = 1, #mapCache.tbData do
local objAnimator = mapCache.tbCellCtrl[nIndex].gameObject:GetComponent("Animator")
if objAnimator ~= nil then
objAnimator.enabled = true
objAnimator:Play("go", 0, 1)
objAnimator:Update(0)
objAnimator.enabled = false
if self._rtRecommendContent.gameObject.activeSelf ~= bHasData then
self._rtRecommendContent.gameObject:SetActive(bHasData)
end
self:RefreshVisibleCells(true)
self._mapNode.rtEmpty.gameObject:SetActive(not bHasData)
end
function SoldierRecommendCtrl:OnListScroll()
if not self._bListActive or self._nVisibleListState == nil then
return
end
self:RefreshVisibleCells(false)
end
function SoldierRecommendCtrl:GetCellPosition(nIndex)
return Vector2(self._nCellLeft, -self._nCellTop - (nIndex - 1) * self._nCellStep)
end
function SoldierRecommendCtrl:CreateRecommendCell()
local goItem = instantiate(self._goRecommendTemplate, self._rtRecommendContent)
local rtItem = goItem:GetComponent("RectTransform")
rtItem.pivot = Vector2(0, 1)
rtItem.anchorMin = Vector2(0, 1)
rtItem.anchorMax = Vector2(0, 1)
rtItem.localScale = Vector3.one
rtItem.sizeDelta = self._v2CellSize
goItem:SetActive(true)
local objCell = self._panel:BindRecommendCtrl(goItem, "Game.UI.Soldier.Recommend.SoldierRecommendCellCtrl")
objCell._rtCell = rtItem
objCell._nBindIndex = nil
objCell._bAnimationReady = false
return objCell
end
function SoldierRecommendCtrl:PrepareCellAnimator(objCell)
if objCell._bAnimationReady or not objCell.gameObject.activeInHierarchy then
return
end
local objAnimator = objCell.gameObject:GetComponent("Animator")
if objAnimator ~= nil then
objAnimator.enabled = true
objAnimator:Play("go", 0, 1)
objAnimator:Update(0)
objAnimator.enabled = false
end
objCell._bAnimationReady = true
end
function SoldierRecommendCtrl:RefreshVisibleCells(bForce)
local tbData = self.tbRecommendData
local nCount = #tbData
local rtViewport = self._svRecommend.viewport or self._svRecommend:GetComponent("RectTransform")
local nPoolSize = math.max(1, math.ceil(rtViewport.rect.height / self._nCellStep)) + 2
if self._nPoolSize == nil or nPoolSize > self._nPoolSize then
self._nPoolSize = nPoolSize
bForce = true
else
nPoolSize = self._nPoolSize
end
local nFirst = math.floor((self._rtRecommendContent.anchoredPosition.y - self._nCellTop) / self._nCellStep) + 1
nFirst = math.max(1, math.min(nFirst, nCount - nPoolSize + 1))
local nLast = math.min(nCount, nFirst + nPoolSize - 1)
local tbSlotIndex = self._tbSlotIndex
for nSlot = 1, nPoolSize do
tbSlotIndex[nSlot] = nil
end
for nIndex = nFirst, nLast do
tbSlotIndex[(nIndex - 1) % nPoolSize + 1] = nIndex
end
for nSlot = 1, nPoolSize do
local nIndex = tbSlotIndex[nSlot]
local objCell = self._tbCellPool[nSlot]
if objCell == nil and nIndex ~= nil then
objCell = self:CreateRecommendCell()
self._tbCellPool[nSlot] = objCell
end
if objCell ~= nil and (bForce or objCell._nBindIndex ~= nIndex) then
objCell._nBindIndex = nIndex
if nIndex ~= nil then
objCell:SetDetailCallback(self, nIndex)
objCell:SetItemData(tbData[nIndex], self.bInSoldier)
objCell._rtCell.anchoredPosition = self:GetCellPosition(nIndex)
else
objCell._rtCell.anchoredPosition = Vector2(self._nCellLeft, HIDE_CELL_POS_Y)
end
end
mapCache.bAnimationReady = true
if objCell ~= nil then
self:PrepareCellAnimator(objCell)
end
end
NovaAPI.SetTMPText(self._mapNode.txtNoRcmd, ConfigTable.GetUIText("Soldier_Recommend_NoRcmd"))
self._mapNode.rtEmpty.gameObject:SetActive(not bHasData)
end
function SoldierRecommendCtrl:LoadRecommendList(mapCache, tbSource)
mapCache.bLoaded = false
mapCache.bAnimationReady = false
mapCache.tbData = {}
for _, mapData in ipairs(tbSource or {}) do
table.insert(mapCache.tbData, mapData)
@@ -347,29 +358,8 @@ function SoldierRecommendCtrl:LoadRecommendList(mapCache, tbSource)
return mapFirst.nRecommendId < mapSecond.nRecommendId
end)
end
local objLayout = self._objRecommendLayout
local v2CellSize = objLayout.cellSize
local nSpacing = objLayout.spacing.y
local nTop = objLayout.padding.top
for nIndex, mapData in ipairs(mapCache.tbData) do
local objCell = mapCache.tbCellCtrl[nIndex]
if objCell == nil then
local goItem = instantiate(self._goRecommendTemplate, self._rtRecommendContent)
local rtItem = goItem:GetComponent("RectTransform")
rtItem.pivot = Vector2(0, 1)
rtItem.anchorMin = Vector2(0, 1)
rtItem.anchorMax = Vector2(0, 1)
rtItem.localScale = Vector3.one
rtItem.sizeDelta = v2CellSize
rtItem.anchoredPosition = Vector2(objLayout.padding.left, -nTop - (nIndex - 1) * (v2CellSize.y + nSpacing))
objCell = self._panel:BindRecommendCtrl(goItem, "Game.UI.Soldier.Recommend.SoldierRecommendCellCtrl")
mapCache.tbCellCtrl[nIndex] = objCell
objCell:SetDetailCallback(self, nIndex)
end
objCell:SetItemData(mapData, self.bInSoldier)
end
local nCount = #mapCache.tbData
mapCache.v2Size = Vector2(0, nTop + nCount * v2CellSize.y + math.max(0, nCount - 1) * nSpacing + objLayout.padding.bottom)
mapCache.v2Size = Vector2(0, self._nCellTop + nCount * self._v2CellSize.y + math.max(0, nCount - 1) * self._nCellSpacing + self._nCellBottom)
mapCache.v2Position = Vector2.zero
mapCache.tbSource = tbSource
mapCache.bLoaded = true
@@ -14,7 +14,7 @@ SoldierRecommendDetailCtrl._mapNodeConfig = {
},
MainChar = {
nCount = 3,
sCtrlName = "Game.UI.Soldier.Template.Character.SoldierCharSupportCardItemCtrl"
sCtrlName = "Game.UI.Soldier.Recommend.SoldierRecommendCharItemCtrl"
},
sv_backChar = {
sComponentName = "LoopScrollView"
@@ -191,25 +191,17 @@ function SoldierRecommendDetailCtrl:OnBackCharRefreshGrid(goGrid, nGridIndex)
local nInstanceId = goGrid:GetInstanceID()
local objCharCard = self.mapBackCharCtrl[nInstanceId]
if objCharCard == nil then
objCharCard = self:BindCtrlByNode(goGrid, "Game.UI.Soldier.Template.Character.SoldierCharSupportCardItemCtrl")
objCharCard = self:BindCtrlByNode(goGrid, "Game.UI.Soldier.Recommend.SoldierRecommendCharItemCtrl")
self.mapBackCharCtrl[nInstanceId] = objCharCard
end
self:RefreshCharCard(objCharCard, self.tbBackCharData[nIndex])
end
function SoldierRecommendDetailCtrl:RefreshCharCard(objCharCard, mapCharData)
objCharCard:_RemoveAllTimer()
objCharCard.nStar = nil
objCharCard:SetRecommendData(mapCharData, nil)
if mapCharData == nil or mapCharData.nId == nil or mapCharData.nId == 0 then
objCharCard:SetItemData(nil)
objCharCard:SetStar(0)
objCharCard:SetChessPosition(nil)
objCharCard._mapNode.Fx_warrior.gameObject:SetActive(false)
objCharCard:SetClickCallback(nil, nil)
return
end
objCharCard:SetItemData(mapCharData.nId)
objCharCard:SetStar(mapCharData.nStar)
objCharCard.nStar = mapCharData.nStar or 0
objCharCard:SetClickCallback(self, function()
local mapChessData = {
nId = mapCharData.nId,
@@ -341,6 +341,7 @@ end
function StarTowerAutoDecisionSettingCtrl:Awake()
self._mapNode.imgBlurredBg:SetActive(false)
self._mapNode.goContentAnim:SetActive(false)
self:RefreshPresetBase()
end
function StarTowerAutoDecisionSettingCtrl:OnEnable()
self._bSettingActive = true
@@ -368,7 +369,6 @@ function StarTowerAutoDecisionSettingCtrl:OnEnable()
self:ShowPhoneTime()
self:RefreshTokenValue()
self:RefreshPresetList()
self:RefreshPresetBase()
self:RefreshPresetDetail()
self:CacheOriginalServerProject()
end
+6 -1
View File
@@ -332,7 +332,12 @@ function TopBarCtrl:OnBtnClick_Home()
if self.bEvent == true then
EventManager.Hit(EventId.UIHomeConfirm, self._panel._nPanelId)
else
PanelManager.Home()
local ModuleManager = require("GameCore.Module.ModuleManager")
if ModuleManager.GetCurModuleName() == "DormModuleScene" then
PlayerData.Base:GoHomeFromCurModule()
else
PanelManager.Home()
end
end
end
function TopBarCtrl:OnBtnClick_Help()
+3 -2
View File
@@ -127,8 +127,9 @@ function TraceHuntPauseCtrl:Awake()
end
function TraceHuntPauseCtrl:OnDisable()
end
function TraceHuntPauseCtrl:Pause(nLevelId, tbCharId, bSelfBoss)
function TraceHuntPauseCtrl:Pause(nLevelId, tbCharId, bSelfBoss, mapCharTrialId)
self.tbChar = tbCharId
self._mapCharTrialId = mapCharTrialId
self.nLevelId = nLevelId
self.bSelfBoss = bSelfBoss
EventManager.Hit(EventId.BattleDashboardVisible, false)
@@ -235,7 +236,7 @@ function TraceHuntPauseCtrl:OnBtnClick_Settings(btn)
self._mapNode.ActionBar.gameObject:SetActive(false)
end
function TraceHuntPauseCtrl:OnBtnClick_Skill(btn)
EventManager.Hit(EventId.OpenPanel, PanelId.PopupSkillPanel, self.tbChar)
EventManager.Hit(EventId.OpenPanel, PanelId.PopupSkillPanel, self.tbChar, false, self._mapCharTrialId)
self._mapNode.ActionBar.gameObject:SetActive(false)
end
function TraceHuntPauseCtrl:OnEvent_Reopen(sName)
@@ -239,7 +239,7 @@ end
function TDPauseCtrl:OnBtnClick_Char(btn, nIndex)
end
function TDPauseCtrl:OnBtnClick_Skill(btn)
EventManager.Hit(EventId.OpenPanel, PanelId.PopupSkillPanel, self.tbChar)
EventManager.Hit(EventId.OpenPanel, PanelId.PopupSkillPanel, self.tbChar, false, self._mapCharTrialId)
self._mapNode.ActionBar.gameObject:SetActive(false)
end
function TDPauseCtrl:OnBtnClick_Settings(btn)
@@ -217,7 +217,8 @@ function DepotCharInfoCtrl:OnBtnClick_Char(btn, nIndex)
self:SwitchChar()
end
function DepotCharInfoCtrl:OnBtnClick_Skill(btn)
EventManager.Hit(EventId.OpenPanel, PanelId.PopupSkillPanel, self.tbTeam, false, {}, {}, self.nCharId)
local mapCharData = self._panel._bTrialBuild and self.mapCharData or {}
EventManager.Hit(EventId.OpenPanel, PanelId.PopupSkillPanel, self.tbTeam, false, {}, mapCharData, self.nCharId)
end
function DepotCharInfoCtrl:OnBtnClick_Detail()
local HealthInfo = self.tbActorHealthInfo[self.nCharId]
@@ -245,7 +245,7 @@ function VampireSurvivorPauseCtrl:OnBtnClick_Char(btn, nIndex)
end
function VampireSurvivorPauseCtrl:OnBtnClick_Skill(btn)
local mapCharData = self._panel._bTrialBuild and self._panel.mapCharData or nil
EventManager.Hit(EventId.OpenPanel, PanelId.PopupSkillPanel, self.tbChar, false, nil, mapCharData)
EventManager.Hit(EventId.OpenPanel, PanelId.PopupSkillPanel, self.tbChar, false, self._mapCharTrialId or {}, mapCharData)
self._mapNode.ActionBar.gameObject:SetActive(false)
end
function VampireSurvivorPauseCtrl:OnBtnClick_Settings(btn)
+1 -1
View File
@@ -1094,7 +1094,7 @@ function AvgData:SendMsg_STORY_DONE(callBack, tbBattleEvents)
if self.tbLastEndStoryIds ~= nil then
for _, nLastEndStoryId in ipairs(self.tbLastEndStoryIds) do
local mapLastEndStoryCfg = ConfigTable.GetData_Story(nLastEndStoryId)
if mapLastEndStoryCfg ~= nil and 0 < table.indexof(self.tbTempStoryIds, mapLastEndStoryCfg.StoryId) then
if mapLastEndStoryCfg ~= nil then
self:SetLastEndState(nLastEndStoryId)
end
end
@@ -855,6 +855,10 @@ function PlayerBuildData:SyncLimitedTrialBuildCache()
end
self:RefreshLimitedTrialBuildCache(tbTrialBuildId)
end
function PlayerBuildData:GetLimitedTrialBuild(nBuildId)
self:SyncLimitedTrialBuildCache()
return self._MapLimitedTrialBuildData[nBuildId]
end
function PlayerBuildData:GetActiveLimitedTrialBuilds(nType, bIncludeUnsupported)
local tbRet = {}
local mapRet = {}
@@ -738,6 +738,12 @@ function PlayerCharData:GetLimitedTrialCharSkillAddedLevel(nTrialId)
end
return tbSkillLevel
end
function PlayerCharData:GetAnyTrialCharSkillAddedLevel(nTrialId)
if self._mapLimitedTrialChar[nTrialId] ~= nil then
return self:GetLimitedTrialCharSkillAddedLevel(nTrialId)
end
return self:GetTrialCharSkillAddedLevel(nTrialId)
end
function PlayerCharData:GetCharPlotDataById(charId)
return CacheTable.GetData("_Plot", charId)
end
+2 -1
View File
@@ -1371,7 +1371,8 @@ local BindProcessFunction = function()
[NetMsgId.Id.clear_all_activity_mathParkour_levels_notify] = HttpNetHandlerPlus.clear_all_activity_mathParkour_levels_notify,
[NetMsgId.Id.activity_mail_bind_reward_receive_succeed_ack] = HttpNetHandlerPlus.activity_mail_bind_reward_receive_succeed_ack,
[NetMsgId.Id.activity_mail_bind_reward_receive_failed_ack] = NOTHING_NEED_TO_BE_DONE,
[NetMsgId.Id.handbook_complete_notify] = HttpNetHandlerPlus.handbook_complete_notify
[NetMsgId.Id.handbook_complete_notify] = HttpNetHandlerPlus.handbook_complete_notify,
[NetMsgId.Id.guide_mission_state_notify] = HttpNetHandlerPlus.guide_mission_state_notify
}
end
function HttpNetHandler.Init()
@@ -483,4 +483,7 @@ function HttpNetHandlerPlus.handbook_complete_notify(mapMsgData)
PlayerData.Handbook:UpdateHandbook(v)
end
end
function HttpNetHandlerPlus.guide_mission_state_notify(mapMsgData)
RedDotManager.SetValid(RedDotDefine.GuideMission_Server, nil, mapMsgData.New)
end
return HttpNetHandlerPlus
+4 -4
View File
@@ -1,4 +1,4 @@
EN: 2.0.0.143
CN: 2.0.0.142
JP: 2.0.0.145
KR: 2.0.0.150
EN: 2.0.0.144
CN: 2.0.0.143
JP: 2.0.0.146
KR: 2.0.0.151