diff --git a/OshimaModules/Characters/QWQAQW.cs b/OshimaModules/Characters/QWQAQW.cs index 10d3f10..e251ca1 100644 --- a/OshimaModules/Characters/QWQAQW.cs +++ b/OshimaModules/Characters/QWQAQW.cs @@ -13,7 +13,7 @@ namespace Oshima.FunGame.OshimaModules.Characters NickName = "LUOLI66"; PrimaryAttribute = PrimaryAttribute.INT; InitialATK = 18; - InitialHP = 125; + InitialHP = 95; InitialMP = 45; InitialSTR = 0; STRGrowth = 0; diff --git a/OshimaModules/Characters/XinYin.cs b/OshimaModules/Characters/XinYin.cs index cce0dd5..274c18a 100644 --- a/OshimaModules/Characters/XinYin.cs +++ b/OshimaModules/Characters/XinYin.cs @@ -13,7 +13,7 @@ namespace Oshima.FunGame.OshimaModules.Characters NickName = "心音"; PrimaryAttribute = PrimaryAttribute.AGI; InitialATK = 22; - InitialHP = 80; + InitialHP = 85; InitialMP = 60; InitialSTR = 8; STRGrowth = 0.9; diff --git a/OshimaModules/Skills/NanGanyu/灵能反射.cs b/OshimaModules/Skills/NanGanyu/灵能反射.cs index 1a33936..e38acc3 100644 --- a/OshimaModules/Skills/NanGanyu/灵能反射.cs +++ b/OshimaModules/Skills/NanGanyu/灵能反射.cs @@ -46,7 +46,7 @@ namespace Oshima.FunGame.OshimaModules.Skills scd.Enable = true; } } - WriteLine($"[ {character} ] 发动了灵能反射!额外获得了 {实际获得能量值:0.##} 能量,并消除了 2 {GameplayEquilibriumConstant.InGameTime} 冷却时间!"); + WriteLine($"[ {character} ] 发动了灵能反射!额外获得了 {实际获得能量值:0.##} 能量,并消除了 2 {GameplayEquilibriumConstant.InGameTime}冷却时间!"); IEnumerable effects = character.Effects.Where(e => e is 三重叠加特效); if (effects.Any() && effects.First() is 三重叠加特效 e) { diff --git a/OshimaModules/Skills/Yang/魔法涌流.cs b/OshimaModules/Skills/Yang/魔法涌流.cs index 3fda2c5..3dcdaf7 100644 --- a/OshimaModules/Skills/Yang/魔法涌流.cs +++ b/OshimaModules/Skills/Yang/魔法涌流.cs @@ -60,7 +60,7 @@ namespace Oshima.FunGame.OshimaModules.Skills { if (enemy == Skill.Character) { - return damage * (1 - 实际比例); + return -(damage * 实际比例); } return 0; } diff --git a/OshimaServers/Service/FunGameSimulation.cs b/OshimaServers/Service/FunGameSimulation.cs index 13a3ab8..5a2055c 100644 --- a/OshimaServers/Service/FunGameSimulation.cs +++ b/OshimaServers/Service/FunGameSimulation.cs @@ -223,7 +223,7 @@ namespace Oshima.FunGame.OshimaServers.Service // 创建角色的用户,用于绑定金币 User user = Factory.GetUser(); user.Username = FunGameService.GenerateRandomChineseUserName(); - user.Inventory.Credits = 255; + user.Inventory.Credits = 20; Character thisCharacter = shuffledCharacters[cid]; thisCharacter.User = user; @@ -313,7 +313,7 @@ namespace Oshima.FunGame.OshimaServers.Service // 处理回合 if (characterToAct != null) { - WriteLine($"=== Round {i++} ==="); + WriteLine($"=== Round {i++} [ Time: {totalTime} ] ==="); WriteLine("现在是 [ " + characterToAct + (tgq != null ? "(" + (tgq.GetTeam(characterToAct)?.Name ?? "") + ")" : "") + " ] 的回合!"); bool isGameEnd = await actionQueue.ProcessTurnAsync(characterToAct); @@ -342,7 +342,7 @@ namespace Oshima.FunGame.OshimaServers.Service // 模拟时间流逝 double timeLapse = await actionQueue.TimeLapse(); - totalTime += timeLapse; + totalTime = actionQueue.TotalTime; nextDropTime -= timeLapse; if (roundMsg != "") @@ -354,13 +354,13 @@ namespace Oshima.FunGame.OshimaServers.Service result.Add(roundMsg); } - // 模拟商店购买,死的人不能买 + // 模拟商店购买 if (useStore) { - // 发钱了,1.5/秒 + // 发钱了 foreach (Character character in actionQueue.HardnessTime.Keys) { - character.User.Inventory.Credits += 1.5 * timeLapse; + character.User.Inventory.Credits += 3 * timeLapse; } BuyItems(actionQueue, store); } @@ -492,10 +492,13 @@ namespace Oshima.FunGame.OshimaServers.Service if (PrintOut) Console.WriteLine(builder.ToString()); } - CharacterStatistics? totalStats = TeamCharacterStatistics.Where(kv => kv.Key.GetName() == character.GetName()).Select(kv => kv.Value).FirstOrDefault(); - if (totalStats != null) + if (!useStore) { - UpdateStatistics(totalStats, stats); + CharacterStatistics? totalStats = TeamCharacterStatistics.Where(kv => kv.Key.GetName() == character.GetName()).Select(kv => kv.Value).FirstOrDefault(); + if (totalStats != null) + { + UpdateStatistics(totalStats, stats); + } } } } @@ -521,10 +524,13 @@ namespace Oshima.FunGame.OshimaServers.Service if (PrintOut) Console.WriteLine(builder.ToString()); } - CharacterStatistics? totalStats = CharacterStatistics.Where(kv => kv.Key.GetName() == character.GetName()).Select(kv => kv.Value).FirstOrDefault(); - if (totalStats != null) + if (!useStore) { - UpdateStatistics(totalStats, stats); + CharacterStatistics? totalStats = CharacterStatistics.Where(kv => kv.Key.GetName() == character.GetName()).Select(kv => kv.Value).FirstOrDefault(); + if (totalStats != null) + { + UpdateStatistics(totalStats, stats); + } } } } @@ -579,26 +585,29 @@ namespace Oshima.FunGame.OshimaServers.Service } } - if (isTeam) + if (!useStore) { - lock (TeamStatsConfig) + if (isTeam) { - foreach (Character c in TeamCharacterStatistics.Keys) + lock (TeamStatsConfig) { - TeamStatsConfig.Add(c.ToStringWithOutUser(), TeamCharacterStatistics[c]); + foreach (Character c in TeamCharacterStatistics.Keys) + { + TeamStatsConfig.Add(c.ToStringWithOutUser(), TeamCharacterStatistics[c]); + } + TeamStatsConfig.SaveConfig(); } - TeamStatsConfig.SaveConfig(); } - } - else - { - lock (StatsConfig) + else { - foreach (Character c in CharacterStatistics.Keys) + lock (StatsConfig) { - StatsConfig.Add(c.ToStringWithOutUser(), CharacterStatistics[c]); + foreach (Character c in CharacterStatistics.Keys) + { + StatsConfig.Add(c.ToStringWithOutUser(), CharacterStatistics[c]); + } + StatsConfig.SaveConfig(); } - StatsConfig.SaveConfig(); } } @@ -634,7 +643,7 @@ namespace Oshima.FunGame.OshimaServers.Service { Item realItem = item.Copy(); realItem.SetGamingQueue(queue); - realItem.Price = Random.Shared.Next(5, 20) * ((int)item.QualityType + 1) * 2; + realItem.Price = Random.Shared.Next(1, 10) * ((int)item.QualityType + 1) * 2; store.Add(realItem); } } @@ -642,19 +651,19 @@ namespace Oshima.FunGame.OshimaServers.Service public static void BuyItems(GamingQueue queue, List store) { // 升级成本 - double costLevel = 200; + double costLevel = 20; // 卡包购买/升级成本 Dictionary costMCP = new() { - { QualityType.White, 20 }, // 普通 - { QualityType.Green, 50 }, // 优秀 - { QualityType.Blue, 80 }, // 稀有 - { QualityType.Purple, 120 }, // 史诗 - { QualityType.Orange, 160 }, // 传说 + { QualityType.White, 5 }, // 普通 + { QualityType.Green, 10 }, // 优秀 + { QualityType.Blue, 15 }, // 稀有 + { QualityType.Purple, 20 }, // 史诗 + { QualityType.Orange, 25 }, // 传说 }; - foreach (Character character in queue.Queue) + foreach (Character character in queue.HardnessTime.Keys) { // 购买欲望,可以加多个判断 List> funcs = [ @@ -778,7 +787,7 @@ namespace Oshima.FunGame.OshimaServers.Service skill.Level += 2; } } - WriteLine($"[ {character} ] 消费了 {costLevel},购买了【升级角色】!当前角色 {character.Level} 级,技能 {character.NormalAttack.Level} 级(战技、爆发技最高 6 级)。"); + WriteLine($"[ {character} ] 消费了 {costLevel} {General.GameplayEquilibriumConstant.InGameCurrency},购买了【升级角色】!当前角色 {character.Level} 级,技能 {character.NormalAttack.Level} 级(战技、爆发技最高 6 级)。"); } else failedBuyTimes++; break; @@ -799,9 +808,9 @@ namespace Oshima.FunGame.OshimaServers.Service magic.Level = character.NormalAttack.Level; } mcp.SetGamingQueue(queue); + WriteLine($"[ {character} ] 消费了 {mcpCost} {General.GameplayEquilibriumConstant.InGameCurrency},购买了【卡包-{mcp.Name}】!详细说明:\r\n{mcp}"); queue.Equip(character, mcp); } - WriteLine($"[ {character} ] 消费了 {mcpCost},购买了【卡包】!详细说明:\r\n{mcp}"); } else failedBuyTimes++; break; @@ -814,7 +823,7 @@ namespace Oshima.FunGame.OshimaServers.Service operation["买武器"] = true; Item realItem = weapon.Copy(); realItem.SetGamingQueue(queue); - WriteLine($"[ {character} ] 消费了 {wCost},购买了武器!详细说明:\r\n{realItem}"); + WriteLine($"[ {character} ] 消费了 {wCost} {General.GameplayEquilibriumConstant.InGameCurrency},购买了武器-{realItem.Name}!详细说明:\r\n{realItem}"); queue.Equip(character, realItem); } else failedBuyTimes++; @@ -828,7 +837,7 @@ namespace Oshima.FunGame.OshimaServers.Service operation["买防具"] = true; Item realItem = armor.Copy(); realItem.SetGamingQueue(queue); - WriteLine($"[ {character} ] 消费了 {aCost},购买了防具!详细说明:\r\n{realItem}"); + WriteLine($"[ {character} ] 消费了 {aCost} {General.GameplayEquilibriumConstant.InGameCurrency},购买了防具-{realItem.Name}!详细说明:\r\n{realItem}"); queue.Equip(character, realItem); } else failedBuyTimes++; @@ -842,7 +851,7 @@ namespace Oshima.FunGame.OshimaServers.Service operation["买鞋子"] = true; Item realItem = shoe.Copy(); realItem.SetGamingQueue(queue); - WriteLine($"[ {character} ] 消费了 {sCost},购买了鞋子!详细说明:\r\n{realItem}"); + WriteLine($"[ {character} ] 消费了 {sCost} {General.GameplayEquilibriumConstant.InGameCurrency},购买了鞋子-{realItem.Name}!详细说明:\r\n{realItem}"); queue.Equip(character, realItem); } else failedBuyTimes++; @@ -856,7 +865,7 @@ namespace Oshima.FunGame.OshimaServers.Service operation["买饰品"] = true; Item realItem = accessory.Copy(); realItem.SetGamingQueue(queue); - WriteLine($"[ {character} ] 消费了 {acCost},购买了饰品!详细说明:\r\n{realItem}"); + WriteLine($"[ {character} ] 消费了 {acCost} {General.GameplayEquilibriumConstant.InGameCurrency},购买了饰品-{realItem.Name}!详细说明:\r\n{realItem}"); queue.Equip(character, realItem); } else failedBuyTimes++;