From 6d4a953a2ac1b3ca343345f78de4202ba0e6996d Mon Sep 17 00:00:00 2001 From: milimoe Date: Fri, 27 Dec 2024 01:57:33 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E8=AE=A8=E4=BC=90=20Boss?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- OshimaCore/Controllers/FunGameController.cs | 77 +++ OshimaCore/OshimaWebAPI.cs | 5 + OshimaCore/Utils/FunGameActionQueue.cs | 6 +- OshimaCore/Utils/FunGameService.cs | 507 ++++++++++++-------- 4 files changed, 385 insertions(+), 210 deletions(-) diff --git a/OshimaCore/Controllers/FunGameController.cs b/OshimaCore/Controllers/FunGameController.cs index 0f9ab26..ec58faf 100644 --- a/OshimaCore/Controllers/FunGameController.cs +++ b/OshimaCore/Controllers/FunGameController.cs @@ -2792,6 +2792,83 @@ namespace Oshima.Core.Controllers } } + [HttpGet("getboss")] + public List GetBoss([FromQuery] int? index = null) + { + List bosses = []; + if (index != null) + { + if (FunGameService.Bosses.Values.FirstOrDefault(kv => kv.Id == index) is Character boss) + { + bosses.Add(boss.GetInfo(false)); + } + else + { + bosses.Add($"找不到指定编号的 Boss!"); + } + } + else if (FunGameService.Bosses.Count > 0) + { + bosses.Add($"Boss 列表:"); + foreach (int i in FunGameService.Bosses.Keys) + { + Character boss = FunGameService.Bosses[i]; + bosses.Add($"{i}. {boss.ToStringWithLevelWithOutUser()}"); + } + } + else + { + bosses.Add($"现在没有任何 Boss,请等待刷新~"); + } + return bosses; + } + + [HttpPost("fightboss")] + public List FightBoss([FromQuery] long? qq = null, [FromQuery] int? index = null, [FromQuery] bool? all = null) + { + long userid = qq ?? Convert.ToInt64("10" + Verification.CreateVerifyCode(VerifyCodeType.NumberVerifyCode, 11)); + int bossIndex = index ?? 0; + bool showAllRound = all ?? false; + + PluginConfig pc = new("saved", userid.ToString()); + pc.LoadConfig(); + + if (pc.Count > 0) + { + User user = FunGameService.GetUser(pc); + + if (FunGameService.Bosses.Values.FirstOrDefault(kv => kv.Id == index) is Character boss) + { + List msgs = FunGameActionQueue.StartGame([user.Inventory.MainCharacter, boss], false, false, false, false, false, showAllRound); + + if (boss.HP <= 0) + { + FunGameService.Bosses.Remove(bossIndex); + double gained = 8 * boss.Level; + user.Inventory.Materials += gained; + msgs.Add($"恭喜你击败了 Boss,获得 {gained} 材料奖励!"); + } + else + { + msgs.Add($"挑战 Boss 失败,请稍后再来!"); + } + user.LastTime = DateTime.Now; + pc.Add("user", user); + pc.SaveConfig(); + + return msgs; + } + else + { + return [$"找不到指定编号的 Boss!"]; + } + } + else + { + return [noSaved]; + } + } + [HttpGet("reload")] public string Relaod([FromQuery] long? master = null) { diff --git a/OshimaCore/OshimaWebAPI.cs b/OshimaCore/OshimaWebAPI.cs index 4b7a6dd..32aad35 100644 --- a/OshimaCore/OshimaWebAPI.cs +++ b/OshimaCore/OshimaWebAPI.cs @@ -82,6 +82,11 @@ namespace Oshima.Core.WebAPI Controller.WriteLine("璇诲彇 FunGame 瀛樻。缂撳瓨"); } }, true); + TaskScheduler.Shared.AddRecurringTask("鍒锋柊boss", TimeSpan.FromHours(1), () => + { + FunGameService.GenerateBoss(); + Controller.WriteLine("鍒锋柊boss"); + }, true); } } } diff --git a/OshimaCore/Utils/FunGameActionQueue.cs b/OshimaCore/Utils/FunGameActionQueue.cs index 257338c..37fe23e 100644 --- a/OshimaCore/Utils/FunGameActionQueue.cs +++ b/OshimaCore/Utils/FunGameActionQueue.cs @@ -136,7 +136,9 @@ namespace Oshima.Core.Utils int 鍙戞斁鐨勯槻鍏峰搧璐 = 0; int 鍙戞斁鐨勯瀷瀛愬搧璐 = 0; int 鍙戞斁鐨勯グ鍝佸搧璐 = 0; + WriteLine($"绀惧尯閫佹俯鏆栦簡锛岀幇鍦ㄩ殢鏈哄彂鏀剧┖鎶曪紒锛"); 绌烘姇(actionQueue, 鍙戞斁鐨勫崱鍖呭搧璐, 鍙戞斁鐨勬鍣ㄥ搧璐, 鍙戞斁鐨勯槻鍏峰搧璐, 鍙戞斁鐨勯瀷瀛愬搧璐, 鍙戞斁鐨勯グ鍝佸搧璐); + WriteLine(""); if (isWeb) result.Add("=== 绌烘姇 ===\r\n" + Msg); double 涓嬩竴娆$┖鎶 = isTeam ? 80 : 40; if (鍙戞斁鐨勫崱鍖呭搧璐 < 4) @@ -352,7 +354,9 @@ namespace Oshima.Core.Utils { // 绌烘姇 Msg = ""; + WriteLine($"绀惧尯閫佹俯鏆栦簡锛岀幇鍦ㄩ殢鏈哄彂鏀剧┖鎶曪紒锛"); 绌烘姇(actionQueue, 鍙戞斁鐨勫崱鍖呭搧璐, 鍙戞斁鐨勬鍣ㄥ搧璐, 鍙戞斁鐨勯槻鍏峰搧璐, 鍙戞斁鐨勯瀷瀛愬搧璐, 鍙戞斁鐨勯グ鍝佸搧璐); + WriteLine(""); if (isWeb) result.Add("=== 绌烘姇 ===\r\n" + Msg); 涓嬩竴娆$┖鎶 = isTeam ? 100 : 40; if (鍙戞斁鐨勫崱鍖呭搧璐 < 4) @@ -914,7 +918,6 @@ namespace Oshima.Core.Utils public static void 绌烘姇(ActionQueue queue, int mQuality, int wQuality, int aQuality, int sQuality, int acQuality) { - WriteLine($"绀惧尯閫佹俯鏆栦簡锛岀幇鍦ㄩ殢鏈哄彂鏀剧┖鎶曪紒锛"); foreach (Character character in queue.Queue) { Item[] 姝﹀櫒 = FunGameService.Equipment.Where(i => i.Id.ToString().StartsWith("11") && (int)i.QualityType == wQuality).ToArray(); @@ -960,7 +963,6 @@ namespace Oshima.Core.Utils queue.Equip(character, realItem); } } - WriteLine(""); } public static Dictionary> RoundRewards diff --git a/OshimaCore/Utils/FunGameService.cs b/OshimaCore/Utils/FunGameService.cs index ba29856..80ee2b0 100644 --- a/OshimaCore/Utils/FunGameService.cs +++ b/OshimaCore/Utils/FunGameService.cs @@ -21,214 +21,7 @@ namespace Oshima.Core.Utils public static List AllItems { get; } = []; public static List AllSkills { get; } = []; public static Dictionary UserIdAndUsername { get; } = []; - public static Dictionary> LevelBreakNeedyList - { - get - { - return new() - { - { - 0, new() - { - { General.GameplayEquilibriumConstant.InGameMaterial, 80 }, - { nameof(鍗囧崕涔嬪嵃), 10 } - } - }, - { - 1, new() - { - { General.GameplayEquilibriumConstant.InGameMaterial, 400 }, - { nameof(鍗囧崕涔嬪嵃), 20 } - } - }, - { - 2, new() - { - { General.GameplayEquilibriumConstant.InGameMaterial, 960 }, - { nameof(鍗囧崕涔嬪嵃), 30 }, - { nameof(娴佸厜涔嬪嵃), 10 } - } - }, - { - 3, new() - { - { General.GameplayEquilibriumConstant.InGameMaterial, 1760 }, - { nameof(鍗囧崕涔嬪嵃), 40 }, - { nameof(娴佸厜涔嬪嵃), 20 } - } - }, - { - 4, new() - { - { General.GameplayEquilibriumConstant.InGameMaterial, 2800 }, - { nameof(鍗囧崕涔嬪嵃), 50 }, - { nameof(娴佸厜涔嬪嵃), 30 }, - { nameof(姘告亽涔嬪嵃), 10 } - } - }, - { - 5, new() - { - { General.GameplayEquilibriumConstant.InGameMaterial, 4080 }, - { nameof(鍗囧崕涔嬪嵃), 60 }, - { nameof(娴佸厜涔嬪嵃), 40 }, - { nameof(姘告亽涔嬪嵃), 20 } - } - }, - }; - } - } - public static Dictionary> SkillLevelUpList - { - get - { - return new() - { - { - 1, new() - { - { "瑙掕壊绛夌骇", 1 }, - { General.GameplayEquilibriumConstant.InGameCurrency, 2000 }, - { General.GameplayEquilibriumConstant.InGameMaterial, 10 }, - { nameof(鎶鑳藉嵎杞), 1 }, - } - }, - { - 2, new() - { - { "瑙掕壊绛夌骇", 12 }, - { General.GameplayEquilibriumConstant.InGameCurrency, 5000 }, - { General.GameplayEquilibriumConstant.InGameMaterial, 30 }, - { nameof(鎶鑳藉嵎杞), 2 }, - } - }, - { - 3, new() - { - { "瑙掕壊绛夌骇", 24 }, - { General.GameplayEquilibriumConstant.InGameCurrency, 10000 }, - { General.GameplayEquilibriumConstant.InGameMaterial, 60 }, - { nameof(鎶鑳藉嵎杞), 3 }, - { nameof(鏅烘収涔嬫灉), 1 }, - } - }, - { - 4, new() - { - { "瑙掕壊绛夌骇", 36 }, - { General.GameplayEquilibriumConstant.InGameCurrency, 18000 }, - { General.GameplayEquilibriumConstant.InGameMaterial, 100 }, - { nameof(鎶鑳藉嵎杞), 4 }, - { nameof(鏅烘収涔嬫灉), 2 }, - } - }, - { - 5, new() - { - { "瑙掕壊绛夌骇", 48 }, - { General.GameplayEquilibriumConstant.InGameCurrency, 30000 }, - { General.GameplayEquilibriumConstant.InGameMaterial, 150 }, - { nameof(鎶鑳藉嵎杞), 5 }, - { nameof(鏅烘収涔嬫灉), 3 }, - { nameof(濂ユ湳绗︽枃), 1 } - } - }, - { - 6, new() - { - { "瑙掕壊绛夌骇", 60 }, - { General.GameplayEquilibriumConstant.InGameCurrency, 47000 }, - { General.GameplayEquilibriumConstant.InGameMaterial, 210 }, - { nameof(鎶鑳藉嵎杞), 6 }, - { nameof(鏅烘収涔嬫灉), 4 }, - { nameof(濂ユ湳绗︽枃), 2 } - } - } - }; - } - } - public static Dictionary> NormalAttackLevelUpList - { - get - { - return new() - { - { - 2, new() - { - { "瑙掕壊绛夌骇", 8 }, - { General.GameplayEquilibriumConstant.InGameCurrency, 2000 }, - { General.GameplayEquilibriumConstant.InGameMaterial, 10 }, - { nameof(鎶鑳藉嵎杞), 1 }, - } - }, - { - 3, new() - { - { "瑙掕壊绛夌骇", 16 }, - { General.GameplayEquilibriumConstant.InGameCurrency, 5000 }, - { General.GameplayEquilibriumConstant.InGameMaterial, 30 }, - { nameof(鎶鑳藉嵎杞), 2 }, - } - }, - { - 4, new() - { - { "瑙掕壊绛夌骇", 24 }, - { General.GameplayEquilibriumConstant.InGameCurrency, 10000 }, - { General.GameplayEquilibriumConstant.InGameMaterial, 60 }, - { nameof(鎶鑳藉嵎杞), 3 }, - { nameof(鏅烘収涔嬫灉), 1 }, - } - }, - { - 5, new() - { - { "瑙掕壊绛夌骇", 32 }, - { General.GameplayEquilibriumConstant.InGameCurrency, 18000 }, - { General.GameplayEquilibriumConstant.InGameMaterial, 100 }, - { nameof(鎶鑳藉嵎杞), 4 }, - { nameof(鏅烘収涔嬫灉), 2 }, - } - }, - { - 6, new() - { - { "瑙掕壊绛夌骇", 40 }, - { "瑙掕壊绐佺牬杩涘害", 4 }, - { General.GameplayEquilibriumConstant.InGameCurrency, 30000 }, - { General.GameplayEquilibriumConstant.InGameMaterial, 150 }, - { nameof(鎶鑳藉嵎杞), 5 }, - { nameof(鏅烘収涔嬫灉), 3 }, - { nameof(濂ユ湳绗︽枃), 1 } - } - }, - { - 7, new() - { - { "瑙掕壊绛夌骇", 48 }, - { General.GameplayEquilibriumConstant.InGameCurrency, 47000 }, - { General.GameplayEquilibriumConstant.InGameMaterial, 210 }, - { nameof(鎶鑳藉嵎杞), 6 }, - { nameof(鏅烘収涔嬫灉), 4 }, - { nameof(濂ユ湳绗︽枃), 2 } - } - }, - { - 8, new() - { - { "瑙掕壊绛夌骇", 56 }, - { General.GameplayEquilibriumConstant.InGameCurrency, 70000 }, - { General.GameplayEquilibriumConstant.InGameMaterial, 280 }, - { nameof(鎶鑳藉嵎杞), 7 }, - { nameof(鏅烘収涔嬫灉), 5 }, - { nameof(濂ユ湳绗︽枃), 3 }, - { nameof(娣锋矊涔嬫牳), 1 } - } - } - }; - } - } + public static Dictionary Bosses { get; } = []; public static void InitFunGame() { @@ -1213,5 +1006,303 @@ namespace Oshima.Core.Utils } return str; } + + public static void GenerateBoss() + { + if (Bosses.Count < 10) + { + int genCount = 10 - Bosses.Count; + for (int i = 0; i < genCount; i++) + { + int nowIndex = Bosses.Count > 0 ? Bosses.Keys.Max() + 1 : 1; + Character boss = new CustomCharacter(nowIndex, GenerateRandomChineseUserName(), "", "Boss"); + int cLevel, sLevel, mLevel, naLevel; + switch (Random.Shared.Next(3)) + { + case 0: + cLevel = General.GameplayEquilibriumConstant.MaxLevel; + sLevel = General.GameplayEquilibriumConstant.MaxSkillLevel; + mLevel = General.GameplayEquilibriumConstant.MaxMagicLevel; + naLevel = General.GameplayEquilibriumConstant.MaxNormalAttackLevel; + break; + case 1: + cLevel = General.GameplayEquilibriumConstant.MaxLevel / 2; + sLevel = General.GameplayEquilibriumConstant.MaxSkillLevel / 2; + mLevel = General.GameplayEquilibriumConstant.MaxMagicLevel / 2; + naLevel = General.GameplayEquilibriumConstant.MaxNormalAttackLevel / 2; + break; + case 2: + default: + cLevel = General.GameplayEquilibriumConstant.MaxLevel / 4; + sLevel = General.GameplayEquilibriumConstant.MaxSkillLevel / 4; + mLevel = General.GameplayEquilibriumConstant.MaxMagicLevel / 4; + naLevel = General.GameplayEquilibriumConstant.MaxNormalAttackLevel / 4; + break; + } + Item[] 姝﹀櫒 = Equipment.Where(i => i.Id.ToString().StartsWith("11") && (int)i.QualityType == 4).ToArray(); + Item[] 闃插叿 = Equipment.Where(i => i.Id.ToString().StartsWith("12") && (int)i.QualityType == 1).ToArray(); + Item[] 闉嬪瓙 = Equipment.Where(i => i.Id.ToString().StartsWith("13") && (int)i.QualityType == 1).ToArray(); + Item[] 楗板搧 = Equipment.Where(i => i.Id.ToString().StartsWith("14") && (int)i.QualityType == 3).ToArray(); + Item? a = null, b = null, c = null, d = null; + if (姝﹀櫒.Length > 0) + { + a = 姝﹀櫒[Random.Shared.Next(姝﹀櫒.Length)]; + } + if (闃插叿.Length > 0) + { + b = 闃插叿[Random.Shared.Next(闃插叿.Length)]; + } + if (闉嬪瓙.Length > 0) + { + c = 闉嬪瓙[Random.Shared.Next(闉嬪瓙.Length)]; + } + if (楗板搧.Length > 0) + { + d = 楗板搧[Random.Shared.Next(楗板搧.Length)]; + } + List 杩欐鍙戞斁鐨勭┖鎶 = []; + if (a != null) 杩欐鍙戞斁鐨勭┖鎶.Add(a); + if (b != null) 杩欐鍙戞斁鐨勭┖鎶.Add(b); + if (c != null) 杩欐鍙戞斁鐨勭┖鎶.Add(c); + if (d != null) 杩欐鍙戞斁鐨勭┖鎶.Add(d); + Item? 榄旀硶鍗″寘 = GenerateMagicCardPack(3, (QualityType)4); + if (榄旀硶鍗″寘 != null) + { + foreach (Skill magic in 榄旀硶鍗″寘.Skills.Magics) + { + magic.Level = mLevel; + } + boss.Equip(榄旀硶鍗″寘); + } + foreach (Item item in 杩欐鍙戞斁鐨勭┖鎶) + { + Item realItem = item.Copy(); + boss.Equip(realItem); + } + boss.Level = cLevel; + boss.NormalAttack.Level = naLevel; + boss.NormalAttack.HardnessTime = 7; + if (boss.CritRate < 65) boss.ExCritRate = 65 - boss.CritRate; + if (boss.CritDMG < 200) boss.ExCritDMG = 200 - boss.CritDMG; + if (boss.AccelerationCoefficient < 0.4) boss.ExAccelerationCoefficient = 0.4 - boss.AccelerationCoefficient; + boss.ExATK2 += boss.PrimaryAttributeValue; + boss.ExDEF2 += boss.PrimaryAttributeValue; + boss.MDF.None += 0.25; + boss.ExHPPercentage += 0.8; + Bosses[nowIndex] = boss; + } + } + } + + public static Dictionary> LevelBreakNeedyList + { + get + { + return new() + { + { + 0, new() + { + { General.GameplayEquilibriumConstant.InGameMaterial, 80 }, + { nameof(鍗囧崕涔嬪嵃), 10 } + } + }, + { + 1, new() + { + { General.GameplayEquilibriumConstant.InGameMaterial, 400 }, + { nameof(鍗囧崕涔嬪嵃), 20 } + } + }, + { + 2, new() + { + { General.GameplayEquilibriumConstant.InGameMaterial, 960 }, + { nameof(鍗囧崕涔嬪嵃), 30 }, + { nameof(娴佸厜涔嬪嵃), 10 } + } + }, + { + 3, new() + { + { General.GameplayEquilibriumConstant.InGameMaterial, 1760 }, + { nameof(鍗囧崕涔嬪嵃), 40 }, + { nameof(娴佸厜涔嬪嵃), 20 } + } + }, + { + 4, new() + { + { General.GameplayEquilibriumConstant.InGameMaterial, 2800 }, + { nameof(鍗囧崕涔嬪嵃), 50 }, + { nameof(娴佸厜涔嬪嵃), 30 }, + { nameof(姘告亽涔嬪嵃), 10 } + } + }, + { + 5, new() + { + { General.GameplayEquilibriumConstant.InGameMaterial, 4080 }, + { nameof(鍗囧崕涔嬪嵃), 60 }, + { nameof(娴佸厜涔嬪嵃), 40 }, + { nameof(姘告亽涔嬪嵃), 20 } + } + }, + }; + } + } + + public static Dictionary> SkillLevelUpList + { + get + { + return new() + { + { + 1, new() + { + { "瑙掕壊绛夌骇", 1 }, + { General.GameplayEquilibriumConstant.InGameCurrency, 2000 }, + { General.GameplayEquilibriumConstant.InGameMaterial, 10 }, + { nameof(鎶鑳藉嵎杞), 1 }, + } + }, + { + 2, new() + { + { "瑙掕壊绛夌骇", 12 }, + { General.GameplayEquilibriumConstant.InGameCurrency, 5000 }, + { General.GameplayEquilibriumConstant.InGameMaterial, 30 }, + { nameof(鎶鑳藉嵎杞), 2 }, + } + }, + { + 3, new() + { + { "瑙掕壊绛夌骇", 24 }, + { General.GameplayEquilibriumConstant.InGameCurrency, 10000 }, + { General.GameplayEquilibriumConstant.InGameMaterial, 60 }, + { nameof(鎶鑳藉嵎杞), 3 }, + { nameof(鏅烘収涔嬫灉), 1 }, + } + }, + { + 4, new() + { + { "瑙掕壊绛夌骇", 36 }, + { General.GameplayEquilibriumConstant.InGameCurrency, 18000 }, + { General.GameplayEquilibriumConstant.InGameMaterial, 100 }, + { nameof(鎶鑳藉嵎杞), 4 }, + { nameof(鏅烘収涔嬫灉), 2 }, + } + }, + { + 5, new() + { + { "瑙掕壊绛夌骇", 48 }, + { General.GameplayEquilibriumConstant.InGameCurrency, 30000 }, + { General.GameplayEquilibriumConstant.InGameMaterial, 150 }, + { nameof(鎶鑳藉嵎杞), 5 }, + { nameof(鏅烘収涔嬫灉), 3 }, + { nameof(濂ユ湳绗︽枃), 1 } + } + }, + { + 6, new() + { + { "瑙掕壊绛夌骇", 60 }, + { General.GameplayEquilibriumConstant.InGameCurrency, 47000 }, + { General.GameplayEquilibriumConstant.InGameMaterial, 210 }, + { nameof(鎶鑳藉嵎杞), 6 }, + { nameof(鏅烘収涔嬫灉), 4 }, + { nameof(濂ユ湳绗︽枃), 2 } + } + } + }; + } + } + + public static Dictionary> NormalAttackLevelUpList + { + get + { + return new() + { + { + 2, new() + { + { "瑙掕壊绛夌骇", 8 }, + { General.GameplayEquilibriumConstant.InGameCurrency, 2000 }, + { General.GameplayEquilibriumConstant.InGameMaterial, 10 }, + { nameof(鎶鑳藉嵎杞), 1 }, + } + }, + { + 3, new() + { + { "瑙掕壊绛夌骇", 16 }, + { General.GameplayEquilibriumConstant.InGameCurrency, 5000 }, + { General.GameplayEquilibriumConstant.InGameMaterial, 30 }, + { nameof(鎶鑳藉嵎杞), 2 }, + } + }, + { + 4, new() + { + { "瑙掕壊绛夌骇", 24 }, + { General.GameplayEquilibriumConstant.InGameCurrency, 10000 }, + { General.GameplayEquilibriumConstant.InGameMaterial, 60 }, + { nameof(鎶鑳藉嵎杞), 3 }, + { nameof(鏅烘収涔嬫灉), 1 }, + } + }, + { + 5, new() + { + { "瑙掕壊绛夌骇", 32 }, + { General.GameplayEquilibriumConstant.InGameCurrency, 18000 }, + { General.GameplayEquilibriumConstant.InGameMaterial, 100 }, + { nameof(鎶鑳藉嵎杞), 4 }, + { nameof(鏅烘収涔嬫灉), 2 }, + } + }, + { + 6, new() + { + { "瑙掕壊绛夌骇", 40 }, + { "瑙掕壊绐佺牬杩涘害", 4 }, + { General.GameplayEquilibriumConstant.InGameCurrency, 30000 }, + { General.GameplayEquilibriumConstant.InGameMaterial, 150 }, + { nameof(鎶鑳藉嵎杞), 5 }, + { nameof(鏅烘収涔嬫灉), 3 }, + { nameof(濂ユ湳绗︽枃), 1 } + } + }, + { + 7, new() + { + { "瑙掕壊绛夌骇", 48 }, + { General.GameplayEquilibriumConstant.InGameCurrency, 47000 }, + { General.GameplayEquilibriumConstant.InGameMaterial, 210 }, + { nameof(鎶鑳藉嵎杞), 6 }, + { nameof(鏅烘収涔嬫灉), 4 }, + { nameof(濂ユ湳绗︽枃), 2 } + } + }, + { + 8, new() + { + { "瑙掕壊绛夌骇", 56 }, + { General.GameplayEquilibriumConstant.InGameCurrency, 70000 }, + { General.GameplayEquilibriumConstant.InGameMaterial, 280 }, + { nameof(鎶鑳藉嵎杞), 7 }, + { nameof(鏅烘収涔嬫灉), 5 }, + { nameof(濂ユ湳绗︽枃), 3 }, + { nameof(娣锋矊涔嬫牳), 1 } + } + } + }; + } + } } }