From 37ed981be20e185fe273228eb0b6bdc310c05c91 Mon Sep 17 00:00:00 2001 From: milimoe Date: Tue, 12 Nov 2024 20:25:16 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E5=88=9B=E5=BB=BA=E9=AD=94?= =?UTF-8?q?=E6=B3=95=E5=8D=A1=E5=92=8C=E9=AD=94=E6=B3=95=E5=8D=A1=E5=8C=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- OshimaCore/Controllers/TestController.cs | 2 +- OshimaCore/OshimaWebAPI.cs | 4 +- OshimaCore/Utils/FunGameUtil.cs | 435 +++++++++++++++--- .../OpenEffects/AccelerationCoefficient.cs | 3 +- OshimaModules/Effects/OpenEffects/ExAGI.cs | 3 +- OshimaModules/Effects/OpenEffects/ExAGI2.cs | 3 +- OshimaModules/Effects/OpenEffects/ExATK.cs | 3 +- OshimaModules/Effects/OpenEffects/ExATK2.cs | 3 +- .../OpenEffects/ExActionCoefficient.cs | 3 +- OshimaModules/Effects/OpenEffects/ExCDR.cs | 3 +- .../Effects/OpenEffects/ExCritDMG.cs | 3 +- .../Effects/OpenEffects/ExCritRate.cs | 3 +- OshimaModules/Effects/OpenEffects/ExDEF.cs | 3 +- OshimaModules/Effects/OpenEffects/ExDEF2.cs | 3 +- .../Effects/OpenEffects/ExEvadeRate.cs | 3 +- OshimaModules/Effects/OpenEffects/ExHR.cs | 3 +- OshimaModules/Effects/OpenEffects/ExINT.cs | 3 +- OshimaModules/Effects/OpenEffects/ExINT2.cs | 3 +- OshimaModules/Effects/OpenEffects/ExMDF.cs | 3 +- OshimaModules/Effects/OpenEffects/ExMR.cs | 3 +- OshimaModules/Effects/OpenEffects/ExMaxHP.cs | 3 +- OshimaModules/Effects/OpenEffects/ExMaxHP2.cs | 3 +- OshimaModules/Effects/OpenEffects/ExMaxMP.cs | 3 +- OshimaModules/Effects/OpenEffects/ExMaxMP2.cs | 3 +- OshimaModules/Effects/OpenEffects/ExPDR.cs | 3 +- OshimaModules/Effects/OpenEffects/ExSPD.cs | 3 +- OshimaModules/Effects/OpenEffects/ExSTR.cs | 1 + OshimaModules/Effects/OpenEffects/ExSTR2.cs | 3 +- .../Effects/OpenEffects/MagicalPenetration.cs | 3 +- .../OpenEffects/NormalAttackHardTimeReduce.cs | 2 +- .../NormalAttackHardTimeReduce2.cs | 2 +- .../OpenEffects/PhysicalPenetration.cs | 3 +- .../OpenEffects/SkillHardTimeReduce.cs | 2 +- 33 files changed, 434 insertions(+), 92 deletions(-) diff --git a/OshimaCore/Controllers/TestController.cs b/OshimaCore/Controllers/TestController.cs index 69cca6e..d496317 100644 --- a/OshimaCore/Controllers/TestController.cs +++ b/OshimaCore/Controllers/TestController.cs @@ -28,7 +28,7 @@ namespace Oshima.Core.Controllers { try { - SQLHelper? sql = Statics.RunningPlugin.SQLHelper; + SQLHelper? sql = Statics.RunningPlugin.Controller.SQLHelper; if (sql != null) { sql.ExecuteDataSet(ServerLoginLogs.Select_GetLastLoginTime()); diff --git a/OshimaCore/OshimaWebAPI.cs b/OshimaCore/OshimaWebAPI.cs index e1b1a8c..8a7d2ef 100644 --- a/OshimaCore/OshimaWebAPI.cs +++ b/OshimaCore/OshimaWebAPI.cs @@ -33,6 +33,8 @@ namespace Oshima.Core.WebAPI public override void AfterLoad(params object[] objs) { Statics.RunningPlugin = this; + Controller.NewSQLHelper(); + Controller.NewMailSender(); GeneralSettings.LoadSetting(); GeneralSettings.SaveConfig(); QQOpenID.LoadConfig(); @@ -40,7 +42,7 @@ namespace Oshima.Core.WebAPI Daily.InitDaily(); SayNo.InitSayNo(); Ignore.InitIgnore(); - FunGameSimulation.InitCharacter(); + FunGameSimulation.InitFunGame(); Task taskTime = Task.Factory.StartNew(async () => { while (true) diff --git a/OshimaCore/Utils/FunGameUtil.cs b/OshimaCore/Utils/FunGameUtil.cs index c41b452..94e1edc 100644 --- a/OshimaCore/Utils/FunGameUtil.cs +++ b/OshimaCore/Utils/FunGameUtil.cs @@ -1,6 +1,7 @@ using System.Text; 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; @@ -27,6 +28,60 @@ namespace Oshima.Core.Utils public static bool DeathMatchRoundDetail { get; set; } = false; public static string Msg { get; set; } = ""; + public static void InitFunGame() + { + Characters.Add(new OshimaShiya()); + Characters.Add(new XinYin()); + Characters.Add(new Yang()); + Characters.Add(new NanGanYu()); + Characters.Add(new NiuNan()); + Characters.Add(new DokyoMayor()); + Characters.Add(new MagicalGirl()); + Characters.Add(new QingXiang()); + Characters.Add(new QWQAQW()); + Characters.Add(new ColdBlue()); + Characters.Add(new dddovo()); + Characters.Add(new Quduoduo()); + + foreach (Character c in Characters) + { + CharacterStatistics.Add(c, new()); + } + + StatsConfig.LoadConfig(); + foreach (Character character in CharacterStatistics.Keys) + { + if (StatsConfig.ContainsKey(character.ToStringWithOutUser())) + { + CharacterStatistics[character] = StatsConfig.Get(character.ToStringWithOutUser()) ?? CharacterStatistics[character]; + } + } + + foreach (Character c in Characters) + { + TeamCharacterStatistics.Add(c, new()); + } + + TeamStatsConfig.LoadConfig(); + foreach (Character character in TeamCharacterStatistics.Keys) + { + if (TeamStatsConfig.ContainsKey(character.ToStringWithOutUser())) + { + TeamCharacterStatistics[character] = TeamStatsConfig.Get(character.ToStringWithOutUser()) ?? TeamCharacterStatistics[character]; + } + } + + Dictionary exItems = Factory.GetGameModuleInstances(OshimaGameModuleConstant.General, OshimaGameModuleConstant.Item); + Equipment.AddRange(exItems.Values.Where(i => (int)i.ItemType >= 0 && (int)i.ItemType < 5)); + Equipment.AddRange([new 攻击之爪10(), new 攻击之爪30(), new 攻击之爪50()]); + + Items.AddRange(exItems.Values.Where(i => (int)i.ItemType > 4)); + + Skills.AddRange([new 疾风步()]); + + Magics.AddRange([new 冰霜攻击(), new 火之矢(), new 水之矢(), new 风之轮(), new 石之锤(), new 心灵之霞(), new 次元上升(), new 暗物质(), new 回复术(), new 治愈术()]); + } + public static List StartGame(bool printout, bool isWeb = false, bool isTeam = false, bool deathMatchRoundDetail = false) { PrintOut = printout; @@ -88,14 +143,14 @@ namespace Oshima.Core.Utils c.Level = clevel; c.NormalAttack.Level = mlevel; - IEnumerable magics = Magics.OrderBy(x => Random.Shared.Next()).Take(3); - foreach (Skill magic in magics) - { - Skill m = magic.Copy(); - m.Character = c; - m.Level = mlevel; - c.Skills.Add(m); - } + //IEnumerable magics = Magics.OrderBy(x => Random.Shared.Next()).Take(3); + //foreach (Skill magic in magics) + //{ + // Skill m = magic.Copy(); + // m.Character = c; + // m.Level = mlevel; + // c.Skills.Add(m); + //} Skill 疾风步 = new 疾风步(c) { @@ -298,13 +353,18 @@ namespace Oshima.Core.Utils // 开始空投 Msg = ""; + int 发放的卡包品质 = 0; int 发放的武器品质 = 0; int 发放的防具品质 = 0; int 发放的鞋子品质 = 0; int 发放的饰品品质 = 0; - 空投(actionQueue, 发放的武器品质, 发放的防具品质, 发放的鞋子品质, 发放的饰品品质); + 空投(actionQueue, 发放的卡包品质, 发放的武器品质, 发放的防具品质, 发放的鞋子品质, 发放的饰品品质); if (isWeb) result.Add("=== 空投 ===\r\n" + Msg); double 下一次空投 = isTeam ? 80 : 40; + if (发放的卡包品质 < 4) + { + 发放的卡包品质++; + } if (发放的武器品质 < 4) { 发放的武器品质++; @@ -514,9 +574,13 @@ namespace Oshima.Core.Utils { // 空投 Msg = ""; - 空投(actionQueue, 发放的武器品质, 发放的防具品质, 发放的鞋子品质, 发放的饰品品质); + 空投(actionQueue, 发放的卡包品质, 发放的武器品质, 发放的防具品质, 发放的鞋子品质, 发放的饰品品质); if (isWeb) result.Add("=== 空投 ===\r\n" + Msg); 下一次空投 = isTeam ? 100 : 40; + if (发放的卡包品质 < 4) + { + 发放的卡包品质++; + } if (发放的武器品质 < 4) { 发放的武器品质++; @@ -723,7 +787,7 @@ namespace Oshima.Core.Utils if (PrintOut) Console.WriteLine(str); } - public static void 空投(ActionQueue queue, int wQuality, int aQuality, int sQuality, int acQuality) + public static void 空投(ActionQueue queue, int mQuality, int wQuality, int aQuality, int sQuality, int acQuality) { WriteLine($"社区送温暖了,现在随机发放空投!!"); foreach (Character character in queue.Queue) @@ -754,71 +818,295 @@ namespace Oshima.Core.Utils if (b != null) 这次发放的空投.Add(b); if (c != null) 这次发放的空投.Add(c); if (d != null) 这次发放的空投.Add(d); + Item? 魔法卡包 = GenerateMagicCardPack(3, (QualityType)mQuality); + if (魔法卡包 != null) + { + foreach (Skill magic in 魔法卡包.Skills.Magics) + { + magic.Level = 8; + } + 魔法卡包.SetGamingQueue(queue); + queue.Equip(character, 魔法卡包); + } foreach (Item item in 这次发放的空投) { Item realItem = item.Copy(); realItem.SetGamingQueue(queue); - realItem.SetLevel(1); queue.Equip(character, realItem); } } WriteLine(""); } - public static void InitCharacter() + public static List GenerateMagicCards(int count, QualityType? qualityType = null) { - Characters.Add(new OshimaShiya()); - Characters.Add(new XinYin()); - Characters.Add(new Yang()); - Characters.Add(new NanGanYu()); - Characters.Add(new NiuNan()); - Characters.Add(new DokyoMayor()); - Characters.Add(new MagicalGirl()); - Characters.Add(new QingXiang()); - Characters.Add(new QWQAQW()); - Characters.Add(new ColdBlue()); - Characters.Add(new dddovo()); - Characters.Add(new Quduoduo()); + List items = []; - foreach (Character c in Characters) + for (int i = 0; i < count; i++) { - CharacterStatistics.Add(c, new()); - } - - StatsConfig.LoadConfig(); - foreach (Character character in CharacterStatistics.Keys) - { - if (StatsConfig.ContainsKey(character.ToStringWithOutUser())) - { - CharacterStatistics[character] = StatsConfig.Get(character.ToStringWithOutUser()) ?? CharacterStatistics[character]; - } + items.Add(GenerateMagicCard(qualityType)); } - foreach (Character c in Characters) - { - TeamCharacterStatistics.Add(c, new()); - } - - TeamStatsConfig.LoadConfig(); - foreach (Character character in TeamCharacterStatistics.Keys) - { - if (TeamStatsConfig.ContainsKey(character.ToStringWithOutUser())) - { - TeamCharacterStatistics[character] = TeamStatsConfig.Get(character.ToStringWithOutUser()) ?? TeamCharacterStatistics[character]; - } - } - - Dictionary exItems = Factory.GetGameModuleInstances(OshimaGameModuleConstant.General, OshimaGameModuleConstant.Item); - Equipment.AddRange(exItems.Values.Where(i => (int)i.ItemType >= 0 && (int)i.ItemType < 5)); - Equipment.AddRange([new 攻击之爪10(), new 攻击之爪30(), new 攻击之爪50()]); - - Items.AddRange(exItems.Values.Where(i => (int)i.ItemType > 4)); - - Skills.AddRange([new 疾风步()]); - - Magics.AddRange([new 冰霜攻击(), new 火之矢(), new 水之矢(), new 风之轮(), new 石之锤(), new 心灵之霞(), new 次元上升(), new 暗物质(), new 回复术(), new 治愈术()]); + return items; } + public static Item GenerateMagicCard(QualityType? qualityType = null) + { + Item item = Factory.GetItem(); + item.Id = Convert.ToInt64("16" + Verification.CreateVerifyCode(VerifyCodeType.NumberVerifyCode, 8)); + item.Name = GenerateRandomChineseName(); + item.ItemType = ItemType.MagicCard; + item.BackgroundStory = "这是一张随机生成的魔法卡。"; + + int total; + if (qualityType != null) + { + total = qualityType switch + { + QualityType.Green => Random.Shared.Next(7, 13), + QualityType.Blue => Random.Shared.Next(13, 19), + QualityType.Purple => Random.Shared.Next(19, 25), + QualityType.Orange => Random.Shared.Next(25, 31), + _ => Random.Shared.Next(1, 7) + }; + item.QualityType = (QualityType)qualityType; + } + else + { + total = Random.Shared.Next(1, 31); + if (total > 6 && total <= 12) + { + item.QualityType = QualityType.Green; + } + else if (total > 12 && total <= 18) + { + item.QualityType = QualityType.Blue; + } + else if (total > 18 && total <= 24) + { + item.QualityType = QualityType.Purple; + } + else if (total > 24 && total <= 30) + { + item.QualityType = QualityType.Orange; + } + } + + GenerateAndAddSkillToMagicCard(item, total); + + return item; + } + + public static void GenerateAndAddSkillToMagicCard(Item item, int total) + { + Skill magic = Magics[Random.Shared.Next(Magics.Count)].Copy(); + magic.Level = (int)item.QualityType switch + { + 2 => 2, + 4 => 3, + 6 => 4, + _ => 1 + }; + item.Skills.Active = magic; + + // 初始化属性值 + int str = 0, agi = 0, intelligence = 0; + + // 随机决定将多少个属性赋给其中一个属性,确保至少一个不为零 + int nonZeroAttributes = Random.Shared.Next(1, Math.Min(4, total + 1)); // 随机决定非零属性的数量,确保在 total = 1 时最多只有1个非零属性 + + // 根据非零属性数量分配属性点 + if (nonZeroAttributes == 1) + { + // 只有一个属性不为零 + int attribute = Random.Shared.Next(0, 3); + if (attribute == 0) str = total; + else if (attribute == 1) agi = total; + else intelligence = total; + } + else if (nonZeroAttributes == 2 && total >= 2) + { + // 两个属性不为零 + int first = Random.Shared.Next(1, total); // 第一个属性的值 + int second = total - first; // 第二个属性的值 + + int attribute = Random.Shared.Next(0, 3); + if (attribute == 0) + { + str = first; + } + else if (attribute == 1) + { + agi = first; + } + else + { + intelligence = first; + } + + attribute = Random.Shared.Next(0, 3); + while ((attribute == 0 && str > 0) || (attribute == 1 && agi > 0) || (attribute == 2 && intelligence > 0)) + { + attribute = Random.Shared.Next(0, 3); + } + + if (attribute == 0) + { + str = second; + } + else if (attribute == 1) + { + agi = second; + } + else + { + intelligence = second; + } + } + else if (total >= 3) + { + // 三个属性都不为零 + str = Random.Shared.Next(1, total - 1); // 第一个属性的值 + agi = Random.Shared.Next(1, total - str); // 第二个属性的值 + intelligence = total - str - agi; // 剩下的值给第三个属性 + } + + Skill skill = Factory.OpenFactory.GetInstance(item.Id, item.Name, []); + GenerateAndAddEffectsToMagicCard(skill, str, agi, intelligence); + + if (magic.Level > 1) item.Name += $" +{magic.Level - 1}"; + skill.Level = 1; + item.Skills.Passives.Add(skill); + } + + public static void GenerateAndAddEffectsToMagicCard(Skill skill, int str, int agi, int intelligence) + { + if (str > 0) + { + skill.Effects.Add(Factory.OpenFactory.GetInstance((long)EffectID.ExSTR, "", new() + { + { "skill", skill }, + { + "values", new Dictionary() + { + { "exstr", str } + } + } + })); + } + + if (agi > 0) + { + skill.Effects.Add(Factory.OpenFactory.GetInstance((long)EffectID.ExAGI, "", new() + { + { "skill", skill }, + { + "values", new Dictionary() + { + { "exagi", agi } + } + } + })); + } + + if (intelligence > 0) + { + skill.Effects.Add(Factory.OpenFactory.GetInstance((long)EffectID.ExINT, "", new() + { + { "skill", skill }, + { + "values", new Dictionary() + { + { "exint", intelligence } + } + } + })); + } + } + + public static Item? ConflateMagicCardPack(IEnumerable magicCards) + { + if (magicCards.Any()) + { + List magics = [.. magicCards.Where(i => i.Skills.Active != null).Select(i => i.Skills.Active)]; + List passives = [.. magicCards.SelectMany(i => i.Skills.Passives)]; + Item item = Factory.GetItem(); + item.Id = Convert.ToInt64("10" + Verification.CreateVerifyCode(VerifyCodeType.NumberVerifyCode, 8)); + item.Name = GenerateRandomChineseName(); + item.ItemType = ItemType.MagicCardPack; + item.BackgroundStory = "这是一个由三张魔法卡合成而来的魔法卡包。"; + double str = 0, agi = 0, intelligence = 0; + foreach (Skill skill in passives) + { + Skill newSkill = skill.Copy(); + foreach (Effect effect in newSkill.Effects) + { + switch ((EffectID)effect.Id) + { + case EffectID.ExSTR: + if (effect is ExSTR exstr) + { + str += exstr.Value; + } + break; + case EffectID.ExAGI: + if (effect is ExAGI exagi) + { + agi += exagi.Value; + } + break; + case EffectID.ExINT: + if (effect is ExINT exint) + { + intelligence += exint.Value; + } + break; + } + } + newSkill.Level = skill.Level; + item.Skills.Passives.Add(newSkill); + } + List strings = []; + if (str > 0) strings.Add($"{str:0.##} 点力量"); + if (agi > 0) strings.Add($"{agi:0.##} 点敏捷"); + if (intelligence > 0) strings.Add($"{intelligence:0.##} 点智力"); + foreach (Skill skill in magics) + { + Skill magic = skill.Copy(); + magic.Level = skill.Level; + item.Skills.Magics.Add(magic); + } + item.Description = $"包含魔法:{string.Join(",", item.Skills.Magics.Select(m => m.Name + $" +{m.Level - 1}"))}\r\n" + + $"增加角色属性:{string.Join(",", strings)}"; + double total = str + agi + intelligence; + if (total > 18 && total <= 36) + { + item.QualityType = QualityType.Green; + } + else if (total > 36 && total <= 54) + { + item.QualityType = QualityType.Blue; + } + else if (total > 54 && total <= 72) + { + item.QualityType = QualityType.Purple; + } + else if (total > 72 && total <= 90) + { + item.QualityType = QualityType.Orange; + } + return item; + } + return null; + } + + public static Item? GenerateMagicCardPack(int magicCardCount, QualityType? qualityType = null) + { + List magicCards = GenerateMagicCards(magicCardCount, qualityType); + Item? magicCardPack = ConflateMagicCardPack(magicCards); + return magicCardPack; + } + public static void Reload() { Characters.Clear(); @@ -828,7 +1116,7 @@ namespace Oshima.Core.Utils Skills.Clear(); Magics.Clear(); - InitCharacter(); + InitFunGame(); } public static Dictionary> RoundRewards @@ -1012,7 +1300,7 @@ namespace Oshima.Core.Utils { baseScore = baseScore * 0.6 + 0.4 * (stats.Kills / (stats.Kills + stats.Deaths + 0.01)); } - + // 伤害贡献 double logDamageContribution = Math.Log(1 + (stats.TotalDamage / (stats.TotalTakenDamage + 1e-6))); @@ -1041,5 +1329,30 @@ namespace Oshima.Core.Utils // 确保评分在合理范围内 return Math.Max(0.01, rating); } + + public static string GenerateRandomChineseName() + { + // 定义一个包含常用汉字的字符串 + string commonChineseCharacters = "云星宝灵梦龙花雨风叶山川月石羽水竹金" + + "玉海火雷光天地云凤虎虹珠华霞鹏雪银沙松桃兰竹青霜鸿康龙骏波泉河湖江泽" + + "洋林枫梅桂樱桐竹晴韵凌兰若悠碧涛渊风雷壁石剑影霖玄承珍雅耀星瑞龙鹤烟" + + "影凤燕霏翼羽翔璃绮纱绫绣锦瑜琼瑾璇璧琳琪琳瑶瑛芝杏茜荷莉莹菡莲诗羽珍" + + "瑰翠椒槐榆槿柱梧桐曜曙晶暖智煌熙灵霓珠熠燕熹熠碧瑶琳嘉琪瑶琴瑶琴碧曼" + + "菁蓉菲瑾淑妙惠嘉华秋涵智映巧慧茹瑜瑶荣菱霏曦容芬玲瑛琪瑜澜碧影凌清涛" + + "湘泽澄泓泓翠澜润璇珺湘晨曦晶翠瑾澜涟润淑洁悠雅翠霏涵淑珍绮翠润"; + + // 随机生成名字长度,2到5个字 + int nameLength = Random.Shared.Next(2, 6); + StringBuilder name = new(); + + for (int i = 0; i < nameLength; i++) + { + // 从常用汉字集中随机选择一个汉字 + char chineseCharacter = commonChineseCharacters[Random.Shared.Next(commonChineseCharacters.Length)]; + name.Append(chineseCharacter); + } + + return name.ToString(); + } } } diff --git a/OshimaModules/Effects/OpenEffects/AccelerationCoefficient.cs b/OshimaModules/Effects/OpenEffects/AccelerationCoefficient.cs index 3acf860..4c968d5 100644 --- a/OshimaModules/Effects/OpenEffects/AccelerationCoefficient.cs +++ b/OshimaModules/Effects/OpenEffects/AccelerationCoefficient.cs @@ -9,7 +9,8 @@ namespace Oshima.FunGame.OshimaModules.Effects.OpenEffects public override string Name => "加速系数加成"; public override string Description => $"{(实际加成 >= 0 ? "增加" : "减少")}角色 {Math.Abs(实际加成) * 100:0.##}% 加速系数。" + (Source != null && Skill.Character != Source ? $"来自:[ {Source} ]" + (Skill.Item != null ? $" 的 [ {Skill.Item.Name} ]" : "") : ""); public override EffectType EffectType => EffectType.Item; - + public double Value => 实际加成; + private readonly double 实际加成 = 0; public override void OnEffectGained(Character character) diff --git a/OshimaModules/Effects/OpenEffects/ExAGI.cs b/OshimaModules/Effects/OpenEffects/ExAGI.cs index e969c85..f11632b 100644 --- a/OshimaModules/Effects/OpenEffects/ExAGI.cs +++ b/OshimaModules/Effects/OpenEffects/ExAGI.cs @@ -9,7 +9,8 @@ namespace Oshima.FunGame.OshimaModules.Effects.OpenEffects public override string Name => "敏捷加成"; public override string Description => $"{(实际加成 >= 0 ? "增加" : "减少")}角色 {Math.Abs(实际加成):0.##} 点敏捷。" + (Source != null && Skill.Character != Source ? $"来自:[ {Source} ]" + (Skill.Item != null ? $" 的 [ {Skill.Item.Name} ]" : "") : ""); public override EffectType EffectType => EffectType.Item; - + public double Value => 实际加成; + private readonly double 实际加成 = 0; public override void OnEffectGained(Character character) diff --git a/OshimaModules/Effects/OpenEffects/ExAGI2.cs b/OshimaModules/Effects/OpenEffects/ExAGI2.cs index 43db8b0..84aa0b0 100644 --- a/OshimaModules/Effects/OpenEffects/ExAGI2.cs +++ b/OshimaModules/Effects/OpenEffects/ExAGI2.cs @@ -9,7 +9,8 @@ namespace Oshima.FunGame.OshimaModules.Effects.OpenEffects public override string Name => "敏捷加成"; public override string Description => $"{(实际加成 >= 0 ? "增加" : "减少")}角色 {Math.Abs(加成比例) * 100:0.##}% [ {Math.Abs(实际加成):0.##} ] 点敏捷。" + (Source != null && Skill.Character != Source ? $"来自:[ {Source} ]" + (Skill.Item != null ? $" 的 [ {Skill.Item.Name} ]" : "") : ""); public override EffectType EffectType => EffectType.Item; - + public double Value => 实际加成; + private readonly double 加成比例 = 0; private double 实际加成 = 0; diff --git a/OshimaModules/Effects/OpenEffects/ExATK.cs b/OshimaModules/Effects/OpenEffects/ExATK.cs index 6fd6adc..76fd4c4 100644 --- a/OshimaModules/Effects/OpenEffects/ExATK.cs +++ b/OshimaModules/Effects/OpenEffects/ExATK.cs @@ -9,7 +9,8 @@ namespace Oshima.FunGame.OshimaModules.Effects.OpenEffects public override string Name => "攻击力加成"; public override string Description => $"{(实际加成 >= 0 ? "增加" : "减少")}角色 {Math.Abs(实际加成):0.##} 点攻击力。" + (Source != null && Skill.Character != Source ? $"来自:[ {Source} ]" + (Skill.Item != null ? $" 的 [ {Skill.Item.Name} ]" : "") : ""); public override EffectType EffectType => EffectType.Item; - + public double Value => 实际加成; + private readonly double 实际加成 = 0; public override void OnEffectGained(Character character) diff --git a/OshimaModules/Effects/OpenEffects/ExATK2.cs b/OshimaModules/Effects/OpenEffects/ExATK2.cs index 08ad5b9..4b58538 100644 --- a/OshimaModules/Effects/OpenEffects/ExATK2.cs +++ b/OshimaModules/Effects/OpenEffects/ExATK2.cs @@ -9,7 +9,8 @@ namespace Oshima.FunGame.OshimaModules.Effects.OpenEffects public override string Name => "攻击力加成"; public override string Description => $"{(实际加成 >= 0 ? "增加" : "减少")}角色 {Math.Abs(加成比例) * 100:0.##}% [ {Math.Abs(实际加成):0.##} ] 点攻击力。" + (Source != null && Source != null && Skill.Character != Source ? $"来自:[ {Source} ]" + (Skill.Item != null ? $" 的 [ {Skill.Item.Name} ]" : "") : ""); public override EffectType EffectType => EffectType.Item; - + public double Value => 实际加成; + private readonly double 加成比例 = 0; private double 实际加成 = 0; diff --git a/OshimaModules/Effects/OpenEffects/ExActionCoefficient.cs b/OshimaModules/Effects/OpenEffects/ExActionCoefficient.cs index 766fdbc..90aca2c 100644 --- a/OshimaModules/Effects/OpenEffects/ExActionCoefficient.cs +++ b/OshimaModules/Effects/OpenEffects/ExActionCoefficient.cs @@ -9,7 +9,8 @@ namespace Oshima.FunGame.OshimaModules.Effects.OpenEffects public override string Name => "行动系数加成"; public override string Description => $"{(实际加成 >= 0 ? "增加" : "减少")}角色 {Math.Abs(实际加成) * 100:0.##}% 行动系数。" + (Source != null && Skill.Character != Source ? $"来自:[ {Source} ]" + (Skill.Item != null ? $" 的 [ {Skill.Item.Name} ]" : "") : ""); public override EffectType EffectType => EffectType.Item; - + public double Value => 实际加成; + private readonly double 实际加成 = 0; public override void OnEffectGained(Character character) diff --git a/OshimaModules/Effects/OpenEffects/ExCDR.cs b/OshimaModules/Effects/OpenEffects/ExCDR.cs index 0377e0d..49bac21 100644 --- a/OshimaModules/Effects/OpenEffects/ExCDR.cs +++ b/OshimaModules/Effects/OpenEffects/ExCDR.cs @@ -9,7 +9,8 @@ namespace Oshima.FunGame.OshimaModules.Effects.OpenEffects public override string Name => "冷却缩减加成"; public override string Description => $"{(实际加成 >= 0 ? "增加" : "减少")}角色 {Math.Abs(实际加成) * 100:0.##}% 冷却缩减。" + (Source != null && Skill.Character != Source ? $"来自:[ {Source} ]" + (Skill.Item != null ? $" 的 [ {Skill.Item.Name} ]" : "") : ""); public override EffectType EffectType => EffectType.Item; - + public double Value => 实际加成; + private readonly double 实际加成 = 0; public override void OnEffectGained(Character character) diff --git a/OshimaModules/Effects/OpenEffects/ExCritDMG.cs b/OshimaModules/Effects/OpenEffects/ExCritDMG.cs index 76ba7f2..87e6de5 100644 --- a/OshimaModules/Effects/OpenEffects/ExCritDMG.cs +++ b/OshimaModules/Effects/OpenEffects/ExCritDMG.cs @@ -9,7 +9,8 @@ namespace Oshima.FunGame.OshimaModules.Effects.OpenEffects public override string Name => "暴击伤害加成"; public override string Description => $"{(实际加成 >= 0 ? "增加" : "减少")}角色 {Math.Abs(实际加成) * 100:0.##}% 暴击伤害。" + (Source != null && Skill.Character != Source ? $"来自:[ {Source} ]" + (Skill.Item != null ? $" 的 [ {Skill.Item.Name} ]" : "") : ""); public override EffectType EffectType => EffectType.Item; - + public double Value => 实际加成; + private readonly double 实际加成 = 0; public override void OnEffectGained(Character character) diff --git a/OshimaModules/Effects/OpenEffects/ExCritRate.cs b/OshimaModules/Effects/OpenEffects/ExCritRate.cs index e539163..d1037be 100644 --- a/OshimaModules/Effects/OpenEffects/ExCritRate.cs +++ b/OshimaModules/Effects/OpenEffects/ExCritRate.cs @@ -9,7 +9,8 @@ namespace Oshima.FunGame.OshimaModules.Effects.OpenEffects public override string Name => "暴击率加成"; public override string Description => $"{(实际加成 >= 0 ? "增加" : "减少")}角色 {Math.Abs(实际加成) * 100:0.##}% 暴击率。" + (Source != null && Skill.Character != Source ? $"来自:[ {Source} ]" + (Skill.Item != null ? $" 的 [ {Skill.Item.Name} ]" : "") : ""); public override EffectType EffectType => EffectType.Item; - + public double Value => 实际加成; + private readonly double 实际加成 = 0; public override void OnEffectGained(Character character) diff --git a/OshimaModules/Effects/OpenEffects/ExDEF.cs b/OshimaModules/Effects/OpenEffects/ExDEF.cs index 6897c8f..cca3ac2 100644 --- a/OshimaModules/Effects/OpenEffects/ExDEF.cs +++ b/OshimaModules/Effects/OpenEffects/ExDEF.cs @@ -9,7 +9,8 @@ namespace Oshima.FunGame.OshimaModules.Effects.OpenEffects public override string Name => "物理护甲加成"; public override string Description => $"{(实际加成 >= 0 ? "增加" : "减少")}角色 {Math.Abs(实际加成):0.##} 点物理护甲。" + (Source != null && Skill.Character != Source ? $"来自:[ {Source} ]" + (Skill.Item != null ? $" 的 [ {Skill.Item.Name} ]" : "") : ""); public override EffectType EffectType => EffectType.Item; - + public double Value => 实际加成; + private readonly double 实际加成 = 0; public override void OnEffectGained(Character character) diff --git a/OshimaModules/Effects/OpenEffects/ExDEF2.cs b/OshimaModules/Effects/OpenEffects/ExDEF2.cs index c9e21b1..a690286 100644 --- a/OshimaModules/Effects/OpenEffects/ExDEF2.cs +++ b/OshimaModules/Effects/OpenEffects/ExDEF2.cs @@ -9,7 +9,8 @@ namespace Oshima.FunGame.OshimaModules.Effects.OpenEffects public override string Name => "物理护甲加成"; public override string Description => $"{(实际加成 >= 0 ? "增加" : "减少")}角色 {Math.Abs(加成比例) * 100:0.##}% [ {实际加成:0.##} ] 点物理护甲。" + (Source != null && Skill.Character != Source ? $"来自:[ {Source} ]" + (Skill.Item != null ? $" 的 [ {Skill.Item.Name} ]" : "") : ""); public override EffectType EffectType => EffectType.Item; - + public double Value => 实际加成; + private readonly double 加成比例 = 0; private double 实际加成 = 0; diff --git a/OshimaModules/Effects/OpenEffects/ExEvadeRate.cs b/OshimaModules/Effects/OpenEffects/ExEvadeRate.cs index 665a66a..9e17876 100644 --- a/OshimaModules/Effects/OpenEffects/ExEvadeRate.cs +++ b/OshimaModules/Effects/OpenEffects/ExEvadeRate.cs @@ -9,7 +9,8 @@ namespace Oshima.FunGame.OshimaModules.Effects.OpenEffects public override string Name => "闪避率加成"; public override string Description => $"{(实际加成 >= 0 ? "增加" : "减少")}角色 {Math.Abs(实际加成) * 100:0.##}% 闪避率。" + (Source != null && Skill.Character != Source ? $"来自:[ {Source} ]" + (Skill.Item != null ? $" 的 [ {Skill.Item.Name} ]" : "") : ""); public override EffectType EffectType => EffectType.Item; - + public double Value => 实际加成; + private readonly double 实际加成 = 0; public override void OnEffectGained(Character character) diff --git a/OshimaModules/Effects/OpenEffects/ExHR.cs b/OshimaModules/Effects/OpenEffects/ExHR.cs index 36546bd..a32c846 100644 --- a/OshimaModules/Effects/OpenEffects/ExHR.cs +++ b/OshimaModules/Effects/OpenEffects/ExHR.cs @@ -9,7 +9,8 @@ namespace Oshima.FunGame.OshimaModules.Effects.OpenEffects public override string Name => "生命回复加成"; public override string Description => $"{(实际加成 >= 0 ? "增加" : "减少")}角色 {Math.Abs(实际加成):0.##} 点生命回复。" + (Source != null && Skill.Character != Source ? $"来自:[ {Source} ]" + (Skill.Item != null ? $" 的 [ {Skill.Item.Name} ]" : "") : ""); public override EffectType EffectType => EffectType.Item; - + public double Value => 实际加成; + private readonly double 实际加成 = 0; public override void OnEffectGained(Character character) diff --git a/OshimaModules/Effects/OpenEffects/ExINT.cs b/OshimaModules/Effects/OpenEffects/ExINT.cs index 34eda46..5b9b8e5 100644 --- a/OshimaModules/Effects/OpenEffects/ExINT.cs +++ b/OshimaModules/Effects/OpenEffects/ExINT.cs @@ -9,7 +9,8 @@ namespace Oshima.FunGame.OshimaModules.Effects.OpenEffects public override string Name => "智力加成"; public override string Description => $"{(实际加成 >= 0 ? "增加" : "减少")}角色 {Math.Abs(实际加成):0.##} 点智力。" + (Source != null && Skill.Character != Source ? $"来自:[ {Source} ]" + (Skill.Item != null ? $" 的 [ {Skill.Item.Name} ]" : "") : ""); public override EffectType EffectType => EffectType.Item; - + public double Value => 实际加成; + private readonly double 实际加成 = 0; public override void OnEffectGained(Character character) diff --git a/OshimaModules/Effects/OpenEffects/ExINT2.cs b/OshimaModules/Effects/OpenEffects/ExINT2.cs index a7f8e34..3188be5 100644 --- a/OshimaModules/Effects/OpenEffects/ExINT2.cs +++ b/OshimaModules/Effects/OpenEffects/ExINT2.cs @@ -9,7 +9,8 @@ namespace Oshima.FunGame.OshimaModules.Effects.OpenEffects public override string Name => "智力加成"; public override string Description => $"{(实际加成 >= 0 ? "增加" : "减少")}角色 {Math.Abs(加成比例) * 100:0.##}% [ {Math.Abs(实际加成):0.##} ] 点智力。" + (Source != null && Skill.Character != Source ? $"来自:[ {Source} ]" + (Skill.Item != null ? $" 的 [ {Skill.Item.Name} ]" : "") : ""); public override EffectType EffectType => EffectType.Item; - + public double Value => 实际加成; + private readonly double 加成比例 = 0; private double 实际加成 = 0; diff --git a/OshimaModules/Effects/OpenEffects/ExMDF.cs b/OshimaModules/Effects/OpenEffects/ExMDF.cs index 95b825b..3f03e08 100644 --- a/OshimaModules/Effects/OpenEffects/ExMDF.cs +++ b/OshimaModules/Effects/OpenEffects/ExMDF.cs @@ -9,7 +9,8 @@ namespace Oshima.FunGame.OshimaModules.Effects.OpenEffects public override string Name => "魔法抗性加成"; public override string Description => $"{(实际加成 >= 0 ? "增加" : "减少")}角色 {Math.Abs(实际加成) * 100:0.##}% {CharacterSet.GetMagicResistanceName(魔法类型)}。" + (Source != null && Skill.Character != Source ? $"来自:[ {Source} ]" + (Skill.Item != null ? $" 的 [ {Skill.Item.Name} ]" : "") : ""); public override EffectType EffectType => EffectType.Item; - + public double Value => 实际加成; + private readonly double 实际加成 = 0; private readonly MagicType 魔法类型 = MagicType.None; diff --git a/OshimaModules/Effects/OpenEffects/ExMR.cs b/OshimaModules/Effects/OpenEffects/ExMR.cs index 1bc8f8c..0f2f4f8 100644 --- a/OshimaModules/Effects/OpenEffects/ExMR.cs +++ b/OshimaModules/Effects/OpenEffects/ExMR.cs @@ -9,7 +9,8 @@ namespace Oshima.FunGame.OshimaModules.Effects.OpenEffects public override string Name => "魔法回复加成"; public override string Description => $"{(实际加成 >= 0 ? "增加" : "减少")}角色 {Math.Abs(实际加成):0.##} 点魔法回复。" + (Source != null && Skill.Character != Source ? $"来自:[ {Source} ]" + (Skill.Item != null ? $" 的 [ {Skill.Item.Name} ]" : "") : ""); public override EffectType EffectType => EffectType.Item; - + public double Value => 实际加成; + private readonly double 实际加成 = 0; public override void OnEffectGained(Character character) diff --git a/OshimaModules/Effects/OpenEffects/ExMaxHP.cs b/OshimaModules/Effects/OpenEffects/ExMaxHP.cs index a1763ba..fc03581 100644 --- a/OshimaModules/Effects/OpenEffects/ExMaxHP.cs +++ b/OshimaModules/Effects/OpenEffects/ExMaxHP.cs @@ -9,7 +9,8 @@ namespace Oshima.FunGame.OshimaModules.Effects.OpenEffects public override string Name => "最大生命值加成"; public override string Description => $"{(实际加成 >= 0 ? "增加" : "减少")}角色 {Math.Abs(实际加成):0.##} 点最大生命值。" + (Source != null && Skill.Character != Source ? $"来自:[ {Source} ]" + (Skill.Item != null ? $" 的 [ {Skill.Item.Name} ]" : "") : ""); public override EffectType EffectType => EffectType.Item; - + public double Value => 实际加成; + private readonly double 实际加成 = 0; public override void OnEffectGained(Character character) diff --git a/OshimaModules/Effects/OpenEffects/ExMaxHP2.cs b/OshimaModules/Effects/OpenEffects/ExMaxHP2.cs index 608310d..17e2b89 100644 --- a/OshimaModules/Effects/OpenEffects/ExMaxHP2.cs +++ b/OshimaModules/Effects/OpenEffects/ExMaxHP2.cs @@ -9,7 +9,8 @@ namespace Oshima.FunGame.OshimaModules.Effects.OpenEffects public override string Name => "最大生命值加成"; public override string Description => $"{(实际加成 >= 0 ? "增加" : "减少")}角色 {Math.Abs(加成比例) * 100:0.##}% [ {Math.Abs(实际加成):0.##} ] 点最大生命值。" + (Source != null && Skill.Character != Source ? $"来自:[ {Source} ]" + (Skill.Item != null ? $" 的 [ {Skill.Item.Name} ]" : "") : ""); public override EffectType EffectType => EffectType.Item; - + public double Value => 实际加成; + private readonly double 加成比例 = 0; private double 实际加成 = 0; diff --git a/OshimaModules/Effects/OpenEffects/ExMaxMP.cs b/OshimaModules/Effects/OpenEffects/ExMaxMP.cs index 66a5edb..53715cb 100644 --- a/OshimaModules/Effects/OpenEffects/ExMaxMP.cs +++ b/OshimaModules/Effects/OpenEffects/ExMaxMP.cs @@ -9,7 +9,8 @@ namespace Oshima.FunGame.OshimaModules.Effects.OpenEffects public override string Name => "最大魔法值加成"; public override string Description => $"{(实际加成 >= 0 ? "增加" : "减少")}角色 {Math.Abs(实际加成):0.##} 点最大魔法值。" + (Source != null && Skill.Character != Source ? $"来自:[ {Source} ]" + (Skill.Item != null ? $" 的 [ {Skill.Item.Name} ]" : "") : ""); public override EffectType EffectType => EffectType.Item; - + public double Value => 实际加成; + private readonly double 实际加成 = 0; public override void OnEffectGained(Character character) diff --git a/OshimaModules/Effects/OpenEffects/ExMaxMP2.cs b/OshimaModules/Effects/OpenEffects/ExMaxMP2.cs index 66f509d..7814e6a 100644 --- a/OshimaModules/Effects/OpenEffects/ExMaxMP2.cs +++ b/OshimaModules/Effects/OpenEffects/ExMaxMP2.cs @@ -9,7 +9,8 @@ namespace Oshima.FunGame.OshimaModules.Effects.OpenEffects public override string Name => "最大魔法值加成"; public override string Description => $"{(实际加成 >= 0 ? "增加" : "减少")}角色 {Math.Abs(加成比例) * 100:0.##}% [ {Math.Abs(实际加成):0.##} ] 点最大魔法值。" + (Source != null && Skill.Character != Source ? $"来自:[ {Source} ]" + (Skill.Item != null ? $" 的 [ {Skill.Item.Name} ]" : "") : ""); public override EffectType EffectType => EffectType.Item; - + public double Value => 实际加成; + private readonly double 加成比例 = 0; private double 实际加成 = 0; diff --git a/OshimaModules/Effects/OpenEffects/ExPDR.cs b/OshimaModules/Effects/OpenEffects/ExPDR.cs index 72a5fbb..042fd6d 100644 --- a/OshimaModules/Effects/OpenEffects/ExPDR.cs +++ b/OshimaModules/Effects/OpenEffects/ExPDR.cs @@ -9,7 +9,8 @@ namespace Oshima.FunGame.OshimaModules.Effects.OpenEffects public override string Name => "物理伤害减免加成"; public override string Description => $"{(实际加成 >= 0 ? "增加" : "减少")}角色 {Math.Abs(实际加成) * 100:0.##}% 物理伤害减免。" + (Source != null && Skill.Character != Source ? $"来自:[ {Source} ]" + (Skill.Item != null ? $" 的 [ {Skill.Item.Name} ]" : "") : ""); public override EffectType EffectType => EffectType.Item; - + public double Value => 实际加成; + private readonly double 实际加成 = 0; public override void OnEffectGained(Character character) diff --git a/OshimaModules/Effects/OpenEffects/ExSPD.cs b/OshimaModules/Effects/OpenEffects/ExSPD.cs index 4785668..8068629 100644 --- a/OshimaModules/Effects/OpenEffects/ExSPD.cs +++ b/OshimaModules/Effects/OpenEffects/ExSPD.cs @@ -9,7 +9,8 @@ namespace Oshima.FunGame.OshimaModules.Effects.OpenEffects public override string Name => "行动速度加成"; public override string Description => $"{(实际加成 >= 0 ? "增加" : "减少")}角色 {Math.Abs(实际加成):0.##} 点行动速度。" + (Source != null && Skill.Character != Source ? $"来自:[ {Source} ]" + (Skill.Item != null ? $" 的 [ {Skill.Item.Name} ]" : "") : ""); public override EffectType EffectType => EffectType.Item; - + public double Value => 实际加成; + private readonly double 实际加成 = 0; public override void OnEffectGained(Character character) diff --git a/OshimaModules/Effects/OpenEffects/ExSTR.cs b/OshimaModules/Effects/OpenEffects/ExSTR.cs index 3eb2715..49661fc 100644 --- a/OshimaModules/Effects/OpenEffects/ExSTR.cs +++ b/OshimaModules/Effects/OpenEffects/ExSTR.cs @@ -9,6 +9,7 @@ namespace Oshima.FunGame.OshimaModules.Effects.OpenEffects public override string Name => "力量加成"; public override string Description => $"{(实际加成 >= 0 ? "增加" : "减少")}角色 {Math.Abs(实际加成):0.##} 点力量。" + (Source != null && Skill.Character != Source ? $"来自:[ {Source} ]" + (Skill.Item != null ? $" 的 [ {Skill.Item.Name} ]" : "") : ""); public override EffectType EffectType => EffectType.Item; + public double Value => 实际加成; private readonly double 实际加成 = 0; diff --git a/OshimaModules/Effects/OpenEffects/ExSTR2.cs b/OshimaModules/Effects/OpenEffects/ExSTR2.cs index f1e4433..423a8c1 100644 --- a/OshimaModules/Effects/OpenEffects/ExSTR2.cs +++ b/OshimaModules/Effects/OpenEffects/ExSTR2.cs @@ -9,7 +9,8 @@ namespace Oshima.FunGame.OshimaModules.Effects.OpenEffects public override string Name => "力量加成"; public override string Description => $"{(实际加成 >= 0 ? "增加" : "减少")}角色 {Math.Abs(加成比例) * 100:0.##}% [ {Math.Abs(实际加成):0.##} ] 点力量。" + (Source != null && Skill.Character != Source ? $"来自:[ {Source} ]" + (Skill.Item != null ? $" 的 [ {Skill.Item.Name} ]" : "") : ""); public override EffectType EffectType => EffectType.Item; - + public double Value => 实际加成; + private readonly double 加成比例 = 0; private double 实际加成 = 0; diff --git a/OshimaModules/Effects/OpenEffects/MagicalPenetration.cs b/OshimaModules/Effects/OpenEffects/MagicalPenetration.cs index 77d99c7..45eb656 100644 --- a/OshimaModules/Effects/OpenEffects/MagicalPenetration.cs +++ b/OshimaModules/Effects/OpenEffects/MagicalPenetration.cs @@ -9,7 +9,8 @@ namespace Oshima.FunGame.OshimaModules.Effects.OpenEffects public override string Name => "魔法穿透加成"; public override string Description => $"{(实际加成 >= 0 ? "增加" : "减少")}角色 {Math.Abs(实际加成) * 100:0.##}% 魔法穿透。" + (Source != null && Skill.Character != Source ? $"来自:[ {Source} ]" + (Skill.Item != null ? $" 的 [ {Skill.Item.Name} ]" : "") : ""); public override EffectType EffectType => EffectType.Item; - + public double Value => 实际加成; + private readonly double 实际加成 = 0; public override void OnEffectGained(Character character) diff --git a/OshimaModules/Effects/OpenEffects/NormalAttackHardTimeReduce.cs b/OshimaModules/Effects/OpenEffects/NormalAttackHardTimeReduce.cs index 6a30fc7..88ec8d6 100644 --- a/OshimaModules/Effects/OpenEffects/NormalAttackHardTimeReduce.cs +++ b/OshimaModules/Effects/OpenEffects/NormalAttackHardTimeReduce.cs @@ -9,7 +9,7 @@ namespace Oshima.FunGame.OshimaModules.Effects.OpenEffects public override string Name => Skill.Name; public override string Description => $"减少角色的普通攻击 {实际硬直时间减少:0.##} 硬直时间。" + (Source != null && Skill.Character != Source ? $"来自:[ {Source} ]" + (Skill.Item != null ? $" 的 [ {Skill.Item.Name} ]" : "") : ""); public override EffectType EffectType => EffectType.Item; - + private readonly double 实际硬直时间减少 = 0; public override void OnEffectGained(Character character) diff --git a/OshimaModules/Effects/OpenEffects/NormalAttackHardTimeReduce2.cs b/OshimaModules/Effects/OpenEffects/NormalAttackHardTimeReduce2.cs index 265eaaa..050317d 100644 --- a/OshimaModules/Effects/OpenEffects/NormalAttackHardTimeReduce2.cs +++ b/OshimaModules/Effects/OpenEffects/NormalAttackHardTimeReduce2.cs @@ -9,7 +9,7 @@ namespace Oshima.FunGame.OshimaModules.Effects.OpenEffects public override string Name => Skill.Name; public override string Description => $"减少角色的普通攻击 {减少比例 * 100:0.##}% 硬直时间。" + (Source != null && Skill.Character != Source ? $"来自:[ {Source} ]" + (Skill.Item != null ? $" 的 [ {Skill.Item.Name} ]" : "") : ""); public override EffectType EffectType => EffectType.Item; - + private readonly double 减少比例 = 0; public override void OnEffectGained(Character character) diff --git a/OshimaModules/Effects/OpenEffects/PhysicalPenetration.cs b/OshimaModules/Effects/OpenEffects/PhysicalPenetration.cs index a6a4b2d..8b6c270 100644 --- a/OshimaModules/Effects/OpenEffects/PhysicalPenetration.cs +++ b/OshimaModules/Effects/OpenEffects/PhysicalPenetration.cs @@ -9,7 +9,8 @@ namespace Oshima.FunGame.OshimaModules.Effects.OpenEffects public override string Name => "物理穿透加成"; public override string Description => $"{(实际加成 >= 0 ? "增加" : "减少")}角色 {Math.Abs(实际加成) * 100:0.##}% 物理穿透。" + (Source != null && Skill.Character != Source ? $"来自:[ {Source} ]" + (Skill.Item != null ? $" 的 [ {Skill.Item.Name} ]" : "") : ""); public override EffectType EffectType => EffectType.Item; - + public double Value => 实际加成; + private readonly double 实际加成 = 0; public override void OnEffectGained(Character character) diff --git a/OshimaModules/Effects/OpenEffects/SkillHardTimeReduce.cs b/OshimaModules/Effects/OpenEffects/SkillHardTimeReduce.cs index b8b3928..7045fad 100644 --- a/OshimaModules/Effects/OpenEffects/SkillHardTimeReduce.cs +++ b/OshimaModules/Effects/OpenEffects/SkillHardTimeReduce.cs @@ -9,7 +9,7 @@ namespace Oshima.FunGame.OshimaModules.Effects.OpenEffects public override string Name => Skill.Name; public override string Description => $"减少角色的所有主动技能 {实际硬直时间减少:0.##} 硬直时间。" + (Source != null && Skill.Character != Source ? $"来自:[ {Source} ]" + (Skill.Item != null ? $" 的 [ {Skill.Item.Name} ]" : "") : ""); public override EffectType EffectType => EffectType.Item; - + private readonly double 实际硬直时间减少 = 0; public override void OnEffectGained(Character character)