From 8225daf07312ecfc66368f15207147421ba7c768 Mon Sep 17 00:00:00 2001 From: milimoe Date: Thu, 5 Dec 2024 01:24:47 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E6=94=BB=E5=87=BB=E5=8A=9B?= =?UTF-8?q?=E3=80=81=E6=8A=A4=E7=94=B2=E3=80=81=E4=B8=89=E5=9B=B4=E7=9A=84?= =?UTF-8?q?=E7=99=BE=E5=88=86=E6=AF=94=E5=B1=9E=E6=80=A7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- OshimaCore/Controllers/FunGameController.cs | 107 ++++++++++++++++++++ OshimaCore/Utils/FunGameService.cs | 13 +-- OshimaCore/Utils/FunGameSimulation.cs | 3 - OshimaModules/Effects/OpenEffects/ExAGI2.cs | 4 +- OshimaModules/Effects/OpenEffects/ExATK2.cs | 4 +- OshimaModules/Effects/OpenEffects/ExDEF2.cs | 4 +- OshimaModules/Effects/OpenEffects/ExINT2.cs | 4 +- OshimaModules/Effects/OpenEffects/ExSTR2.cs | 4 +- 8 files changed, 124 insertions(+), 19 deletions(-) diff --git a/OshimaCore/Controllers/FunGameController.cs b/OshimaCore/Controllers/FunGameController.cs index 34e3ff1..76373d8 100644 --- a/OshimaCore/Controllers/FunGameController.cs +++ b/OshimaCore/Controllers/FunGameController.cs @@ -783,6 +783,113 @@ namespace Oshima.Core.Controllers return NetworkUtility.JsonSerialize(e.ToString()); } } + + [HttpPost("zb")] + public string EquipItem([FromQuery] long? qq = null, [FromQuery] int? c = null, [FromQuery] int? i = null) + { + try + { + long userid = qq ?? Convert.ToInt64("10" + Verification.CreateVerifyCode(VerifyCodeType.NumberVerifyCode, 11)); + int characterIndex = c ?? 0; + int itemIndex = i ?? 0; + + PluginConfig pc = new("saved", userid.ToString()); + pc.LoadConfig(); + + if (pc.Count > 0) + { + User user = FunGameService.GetUser(pc); + + Character? character = null; + Item? item = null; + if (characterIndex > 0 && characterIndex <= user.Inventory.Characters.Count) + { + character = user.Inventory.Characters.ToList()[characterIndex - 1]; + } + else + { + return NetworkUtility.JsonSerialize($"没有找到与这个序号相对应的角色!"); + } + if (itemIndex > 0 && itemIndex <= user.Inventory.Items.Count) + { + item = user.Inventory.Items.ToList()[itemIndex - 1]; + if ((int)item.ItemType >= (int)ItemType.MagicCardPack && (int)item.ItemType <= (int)ItemType.Accessory && item.EquipSlotType == EquipSlotType.None) + { + // nothing + } + else + { + return NetworkUtility.JsonSerialize($"这个物品无法被装备!"); + } + } + else + { + return NetworkUtility.JsonSerialize($"没有找到与这个序号相对应的物品!"); + } + if (character != null && item != null && character.Equip(item)) + { + return NetworkUtility.JsonSerialize($"装备成功!"); + } + else + { + return NetworkUtility.JsonSerialize($"装备失败!可能是角色、物品不存在或者其他原因。"); + } + } + else + { + return NetworkUtility.JsonSerialize(noSaved); + } + } + catch (Exception e) + { + return NetworkUtility.JsonSerialize(e.ToString()); + } + } + + [HttpPost("qxzb")] + public string UnEquipItem([FromQuery] long? qq = null, [FromQuery] int? c = null, [FromQuery] int? i = null) + { + try + { + long userid = qq ?? Convert.ToInt64("10" + Verification.CreateVerifyCode(VerifyCodeType.NumberVerifyCode, 11)); + int characterIndex = c ?? 0; + EquipSlotType type = (EquipSlotType)(i ?? 0); + + PluginConfig pc = new("saved", userid.ToString()); + pc.LoadConfig(); + + if (pc.Count > 0) + { + User user = FunGameService.GetUser(pc); + + Character? character = null; + if (characterIndex > 0 && characterIndex <= user.Inventory.Characters.Count) + { + character = user.Inventory.Characters.ToList()[characterIndex - 1]; + } + else + { + return NetworkUtility.JsonSerialize($"没有找到与这个序号相对应的角色!"); + } + if (character != null && character.UnEquip(type) != null) + { + return NetworkUtility.JsonSerialize($"取消装备成功!"); + } + else + { + return NetworkUtility.JsonSerialize($"取消装备失败!可能是角色、物品不存在或者其他原因。"); + } + } + else + { + return NetworkUtility.JsonSerialize(noSaved); + } + } + catch (Exception e) + { + return NetworkUtility.JsonSerialize(e.ToString()); + } + } [HttpGet("reload")] public string Relaod([FromQuery] long? master = null) diff --git a/OshimaCore/Utils/FunGameService.cs b/OshimaCore/Utils/FunGameService.cs index 92f116d..0725da1 100644 --- a/OshimaCore/Utils/FunGameService.cs +++ b/OshimaCore/Utils/FunGameService.cs @@ -110,10 +110,16 @@ namespace Oshima.Core.Utils magic.Level = (int)item.QualityType switch { 2 => 2, + 3 => 2, 4 => 3, + 5 => 3, 6 => 4, _ => 1 }; + if (magic.Level > 1) + { + item.Name += $" +{magic.Level - 1}"; + } item.Skills.Active = magic; // 鍒濆鍖栧睘鎬у @@ -181,17 +187,12 @@ namespace Oshima.Core.Utils Skill skill = Factory.OpenFactory.GetInstance(item.Id, item.Name, []); GenerateAndAddEffectsToMagicCard(skill, str, agi, intelligence); - if (magic.Level > 1) - { - item.Name += $" +{magic.Level - 1}"; - magic.Name += $" +{magic.Level - 1}"; - } skill.Level = 1; List strings = []; if (str > 0) strings.Add($"{str:0.##} 鐐瑰姏閲"); if (agi > 0) strings.Add($"{agi:0.##} 鐐规晱鎹"); if (intelligence > 0) strings.Add($"{intelligence:0.##} 鐐规櫤鍔"); - item.Description = $"鍖呭惈榄旀硶锛歿item.Skills.Active.Name}\r\n" + + item.Description = $"鍖呭惈榄旀硶锛歿item.Skills.Active.Name + (item.Skills.Active.Level > 1 ? $" +{item.Skills.Active.Level - 1}" : "")}\r\n" + $"澧炲姞瑙掕壊灞炴э細{string.Join("锛", strings)}"; item.Skills.Passives.Add(skill); } diff --git a/OshimaCore/Utils/FunGameSimulation.cs b/OshimaCore/Utils/FunGameSimulation.cs index 9491aee..f030281 100644 --- a/OshimaCore/Utils/FunGameSimulation.cs +++ b/OshimaCore/Utils/FunGameSimulation.cs @@ -3,10 +3,7 @@ using Milimoe.FunGame.Core.Api.Utility; using Milimoe.FunGame.Core.Entity; using Milimoe.FunGame.Core.Library.Constant; using Milimoe.FunGame.Core.Model; -using Oshima.FunGame.OshimaModules; -using Oshima.FunGame.OshimaModules.Characters; using Oshima.FunGame.OshimaModules.Effects.OpenEffects; -using Oshima.FunGame.OshimaModules.Items; using Oshima.FunGame.OshimaModules.Skills; namespace Oshima.Core.Utils diff --git a/OshimaModules/Effects/OpenEffects/ExAGI2.cs b/OshimaModules/Effects/OpenEffects/ExAGI2.cs index fc15017..af50848 100644 --- a/OshimaModules/Effects/OpenEffects/ExAGI2.cs +++ b/OshimaModules/Effects/OpenEffects/ExAGI2.cs @@ -17,12 +17,12 @@ namespace Oshima.FunGame.OshimaModules.Effects.OpenEffects public override void OnEffectGained(Character character) { 瀹為檯鍔犳垚 = character.BaseAGI * 鍔犳垚姣斾緥; - character.ExAGI += 瀹為檯鍔犳垚; + character.ExAGIPercentage += 鍔犳垚姣斾緥; } public override void OnEffectLost(Character character) { - character.ExAGI -= 瀹為檯鍔犳垚; + character.ExAGIPercentage -= 鍔犳垚姣斾緥; } public override void OnAttributeChanged(Character character) diff --git a/OshimaModules/Effects/OpenEffects/ExATK2.cs b/OshimaModules/Effects/OpenEffects/ExATK2.cs index 36c1115..f061305 100644 --- a/OshimaModules/Effects/OpenEffects/ExATK2.cs +++ b/OshimaModules/Effects/OpenEffects/ExATK2.cs @@ -17,12 +17,12 @@ namespace Oshima.FunGame.OshimaModules.Effects.OpenEffects public override void OnEffectGained(Character character) { 瀹為檯鍔犳垚 = character.BaseATK * 鍔犳垚姣斾緥; - character.ExATK2 += 瀹為檯鍔犳垚; + character.ExATKPercentage += 鍔犳垚姣斾緥; } public override void OnEffectLost(Character character) { - character.ExATK2 -= 瀹為檯鍔犳垚; + character.ExATKPercentage -= 鍔犳垚姣斾緥; } public override void OnAttributeChanged(Character character) diff --git a/OshimaModules/Effects/OpenEffects/ExDEF2.cs b/OshimaModules/Effects/OpenEffects/ExDEF2.cs index 13146e8..30b5ce8 100644 --- a/OshimaModules/Effects/OpenEffects/ExDEF2.cs +++ b/OshimaModules/Effects/OpenEffects/ExDEF2.cs @@ -17,12 +17,12 @@ namespace Oshima.FunGame.OshimaModules.Effects.OpenEffects public override void OnEffectGained(Character character) { 瀹為檯鍔犳垚 = character.BaseDEF * 鍔犳垚姣斾緥; - character.ExDEF2 += 瀹為檯鍔犳垚; + character.ExDEFPercentage += 鍔犳垚姣斾緥; } public override void OnEffectLost(Character character) { - character.ExDEF2 -= 瀹為檯鍔犳垚; + character.ExDEFPercentage -= 鍔犳垚姣斾緥; } public override void OnAttributeChanged(Character character) diff --git a/OshimaModules/Effects/OpenEffects/ExINT2.cs b/OshimaModules/Effects/OpenEffects/ExINT2.cs index c5b585d..63d5774 100644 --- a/OshimaModules/Effects/OpenEffects/ExINT2.cs +++ b/OshimaModules/Effects/OpenEffects/ExINT2.cs @@ -17,12 +17,12 @@ namespace Oshima.FunGame.OshimaModules.Effects.OpenEffects public override void OnEffectGained(Character character) { 瀹為檯鍔犳垚 = character.BaseINT * 鍔犳垚姣斾緥; - character.ExINT += 瀹為檯鍔犳垚; + character.ExINTPercentage += 鍔犳垚姣斾緥; } public override void OnEffectLost(Character character) { - character.ExINT -= 瀹為檯鍔犳垚; + character.ExINTPercentage -= 鍔犳垚姣斾緥; } public override void OnAttributeChanged(Character character) diff --git a/OshimaModules/Effects/OpenEffects/ExSTR2.cs b/OshimaModules/Effects/OpenEffects/ExSTR2.cs index 4c20968..1e79e8e 100644 --- a/OshimaModules/Effects/OpenEffects/ExSTR2.cs +++ b/OshimaModules/Effects/OpenEffects/ExSTR2.cs @@ -17,12 +17,12 @@ namespace Oshima.FunGame.OshimaModules.Effects.OpenEffects public override void OnEffectGained(Character character) { 瀹為檯鍔犳垚 = character.BaseSTR * 鍔犳垚姣斾緥; - character.ExSTR += 瀹為檯鍔犳垚; + character.ExSTRPercentage += 鍔犳垚姣斾緥; } public override void OnEffectLost(Character character) { - character.ExSTR -= 瀹為檯鍔犳垚; + character.ExSTRPercentage -= 鍔犳垚姣斾緥; } public override void OnAttributeChanged(Character character)