From 182f5d4e075bdadfc345f6e900b150e97cf30d40 Mon Sep 17 00:00:00 2001 From: milimoe Date: Thu, 3 Jul 2025 00:41:56 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E6=8A=80=E8=83=BD=E8=B7=AF=E7=BA=BF?= =?UTF-8?q?=E5=9B=BE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- OshimaModules/Modules/SkillModule.cs | 1 + OshimaModules/Skills/SkillID.cs | 74 +++++++++++++++++++++---- OshimaModules/Skills/魔法/回复术.cs | 2 +- OshimaModules/Skills/魔法/回复术改.cs | 27 +++++++++ OshimaModules/Skills/魔法/圣灵术.cs | 6 +- OshimaModules/Skills/魔法/复苏术.cs | 2 +- OshimaModules/Skills/魔法/次元上升.cs | 2 +- OshimaModules/Skills/魔法/水之矢.cs | 2 +- OshimaModules/Skills/魔法/治愈术.cs | 7 ++- OshimaModules/Skills/魔法/火之矢.cs | 2 +- OshimaServers/Service/FunGameService.cs | 2 +- 11 files changed, 105 insertions(+), 22 deletions(-) create mode 100644 OshimaModules/Skills/魔法/回复术改.cs diff --git a/OshimaModules/Modules/SkillModule.cs b/OshimaModules/Modules/SkillModule.cs index 662a18e..769146f 100644 --- a/OshimaModules/Modules/SkillModule.cs +++ b/OshimaModules/Modules/SkillModule.cs @@ -73,6 +73,7 @@ namespace Oshima.FunGame.OshimaModules (long)MagicID.根源屏障 => new 根源屏障(), (long)MagicID.灾难冲击波 => new 灾难冲击波(), (long)MagicID.银色荆棘 => new 银色荆棘(), + (long)MagicID.回复术改 => new 回复术改(), (long)SkillID.疾风步 => new 疾风步(), (long)SuperSkillID.力量爆发 => new 力量爆发(), (long)SuperSkillID.天赐之力 => new 天赐之力(), diff --git a/OshimaModules/Skills/SkillID.cs b/OshimaModules/Skills/SkillID.cs index 102d978..ee7375e 100644 --- a/OshimaModules/Skills/SkillID.cs +++ b/OshimaModules/Skills/SkillID.cs @@ -11,10 +11,10 @@ namespace Oshima.FunGame.OshimaModules.Skills * 次元上升 = 单体伤害+眩晕(时间型),需强驱散 * 暗物质 = 单体伤害 * - * 回复术 = 我方·单体回复 - * 治愈术 = 我方·单体回复 - * 复苏术 = 我方·单体弱驱散+回复+复苏 - * 圣灵术 = 我方·全体弱驱散+回复+复苏 + * 回复术 = 我方·单体回复(数值) + * 治愈术 = 我方·单体弱驱散+回复(百分比) + * 复苏术 = 我方·单体强驱散+回复(百分比)+复苏 + * 圣灵术 = 我方·全体强驱散+回复(数值)+复苏 * 时间加速 = 我方·单体速度提升(时间型) * 时间减速 = 单体速度减少(时间型) * 反魔法领域 = 多目标封技(技能受限,时间型)+施法解除,可弱驱散 @@ -32,7 +32,34 @@ namespace Oshima.FunGame.OshimaModules.Skills * 根源屏障 = 我方·技能免疫+魔法免疫(回合型) * * 灾难冲击波 = 多目标伤害+魔抗降低(回合型),可弱驱散 - * 银色荆棘 = 多目标伤害,90%概率混乱(行动受限,如同AI控制行动),需强驱散 + * 银色荆棘 = 多目标伤害,概率混乱(行动受限,如同AI控制行动,回合型),需强驱散 + * 等离子之波 = 多目标伤害,概率封技(技能受限,回合型)+施法解除,可弱驱散 + * 地狱之门 = 多目标伤害,概率气绝(行动受限+持续伤害,时间型),需强驱散 + * 钻石星尘 = 多目标伤害,概率冻结(完全行动不能+魔法易伤,回合型),需强驱散 + * 死亡咆哮 = 多目标伤害,概率战斗不能(时间型),需强驱散 + * 鬼魅之痛 = 多目标伤害,概率眩晕(时间型),需强驱散 + * 导力停止 = 全体封技(技能受限)+施法解除+魔抗降低,时间型,可弱驱散 + * + * 冰狱冥嚎 = 多目标伤害(冰霜攻击·复) + * 火山咆哮 = 多目标伤害(火之矢·复) + * 水蓝轰炸 = 多目标伤害(水之矢·复) + * 岩石之息 = 多目标伤害(石之锤·复) + * 弧形日珥 = 多目标伤害(风之轮·复) + * 苍白地狱 = 多目标伤害(心灵之霞·复) + * 破碎虚空 = 多目标伤害(暗物质·复) + * 弧光消耗 = 多目标吸取MP和EP + * + * 回复术·改 = 我方·单体回复(百分比) + * 回复术·复 = 我方·多目标回复(百分比) + * 治愈术·复 = 我方·多目标弱驱散+回复(数值) + * 风之守护·复 = 我方·多目标暴击率+闪避提升(回合型) + * 强音之力·复 = 我方·多目标攻击提升(回合型) + * 结晶防护·复 = 我方·多目标护甲+魔抗提升(回合型) + * 神圣祝福·复 = 我方·多目标攻击+护甲+魔抗提升(回合型) + * 时间加速·改 = 我方·单体速度+加速系数提升(回合型) + * 时间减速·改 = 单体速度+加速系数减少(回合型) + * 时间加速·复 = 我方·多目标速度+加速系数提升(回合型) + * 时间减速·复 = 多目标速度+加速系数减少(回合型) */ public enum MagicID : long { @@ -66,7 +93,34 @@ namespace Oshima.FunGame.OshimaModules.Skills 根源屏障 = 1026, 灾难冲击波 = 1027, - 银色荆棘 = 1028 + 银色荆棘 = 1028, + 等离子之波 = 1029, + 地狱之门 = 1030, + 钻石星尘 = 1031, + 死亡咆哮 = 1032, + 鬼魅之痛 = 1033, + 导力停止 = 1034, + + 冰狱冥嚎 = 1035, + 火山咆哮 = 1036, + 水蓝轰炸 = 1037, + 岩石之息 = 1038, + 弧形日珥 = 1039, + 苍白地狱 = 1040, + 破碎虚空 = 1041, + 弧光消耗 = 1042, + + 回复术改 = 1043, + 回复术复 = 1044, + 治愈术复 = 1045, + 风之守护复 = 1046, + 强音之力复 = 1047, + 结晶防护复 = 1048, + 神圣祝福复 = 1049, + 时间加速改 = 1050, + 时间减速改 = 1051, + 时间加速复 = 1052, + 时间减速复 = 1053 } /** @@ -80,14 +134,14 @@ namespace Oshima.FunGame.OshimaModules.Skills * 双连击 = 单体2次普通攻击 * 绝影 = 单体伤害+迟滞(硬直时间延长),可弱驱散 * 胧 = 单体攻击,20%几率战斗不能(攻击不能+施法不能),需强驱散 - * 魔眼 = 单体迟滞(硬直时间延长)、30%概率混乱(行动受限,如同AI控制行动),需强驱散 + * 魔眼 = 单体迟滞(硬直时间延长)、30%概率混乱(行动受限,如同AI控制行动,回合型),需强驱散 * 漆黑之牙 = 全体伤害 * 风之鞭 = 多目标伤害 * 拘束之鞭 = 单体伤害+施法解除 * 天堂之吻 = 我方·硬直时间提前(时间型) * 狐媚暗随 = 单体伤害 * 女王之怒 = 单体伤害+虚弱(伤害降低+护甲魔抗降低+重伤,回合型),可弱驱散 - * 裁决塔罗 = 多目标伤害+以下状态之一:冻结(完全行动不能)/混乱(行动受限,如同AI控制行动)/战斗不能(攻击不能+施法不能),需强驱散 + * 裁决塔罗 = 多目标伤害+以下状态之一:冻结(完全行动不能+魔法易伤)/混乱(行动受限,如同AI控制行动,回合型)/战斗不能(攻击不能+施法不能),需强驱散 * 快速狙击 = 随机单体目标伤害 * 精准射击 = 单体伤害+施法解除 * 欢乐激发 = 我方·多目标回复 @@ -108,7 +162,7 @@ namespace Oshima.FunGame.OshimaModules.Skills * 强打 = 单体伤害,20%几率气绝(行动受限+持续伤害,时间型),需强驱散 * 龙神功 = 自身·攻击力提升+护甲魔抗提升(回合型) * 养命功 = 自身·持续性弱驱散+回复(回合型) - * 月华掌 = 单体伤害,50%几率混乱(行动受限,如同AI控制行动),需强驱散 + * 月华掌 = 单体伤害,50%几率混乱(行动受限,如同AI控制行动,回合型),需强驱散 * 雷神脚 = 多目标伤害 * 泰山玄武靠 = 多目标伤害 * 弓刃交错 = 单体伤害+迟滞(硬直时间延长),可弱驱散 @@ -129,7 +183,7 @@ namespace Oshima.FunGame.OshimaModules.Skills * 光鬼斩 = 单体伤害,30%几率气绝(行动受限+持续伤害,时间型),需强驱散 * 樱花残月 = 单体伤害 * 雷索吸缚 = 单体愤怒(嘲讽,回合型)、30%几率气绝(行动受限+持续伤害,时间型),需强驱散 - * 狂刃剑舞 = 敌方·单体攻击,20%几率混乱(行动受限,如同AI控制行动),需强驱散 + * 狂刃剑舞 = 敌方·单体攻击,20%几率混乱(行动受限,如同AI控制行动,回合型),需强驱散 * 无相飞刀 = 单体封技+施法解除,可弱驱散 * 破邪显正 = 多目标伤害 * 镜花水月 = 自身·完全免疫,回合型 diff --git a/OshimaModules/Skills/魔法/回复术.cs b/OshimaModules/Skills/魔法/回复术.cs index f1e6e1b..ba3ad42 100644 --- a/OshimaModules/Skills/魔法/回复术.cs +++ b/OshimaModules/Skills/魔法/回复术.cs @@ -21,7 +21,7 @@ namespace Oshima.FunGame.OshimaModules.Skills public 回复术(Character? character = null) : base(SkillType.Magic, character) { SelectTargetPredicates.Add(c => c.HP > 0 && c.HP < c.MaxHP); - Effects.Add(new 纯数值回复生命(this, 540, 360)); + Effects.Add(new 纯数值回复生命(this, 540, 430)); } } } diff --git a/OshimaModules/Skills/魔法/回复术改.cs b/OshimaModules/Skills/魔法/回复术改.cs new file mode 100644 index 0000000..cd0f337 --- /dev/null +++ b/OshimaModules/Skills/魔法/回复术改.cs @@ -0,0 +1,27 @@ +using Milimoe.FunGame.Core.Entity; +using Milimoe.FunGame.Core.Library.Constant; +using Oshima.FunGame.OshimaModules.Effects.SkillEffects; + +namespace Oshima.FunGame.OshimaModules.Skills +{ + public class 回复术改 : Skill + { + public override long Id => (long)MagicID.回复术改; + public override string Name => "回复术·改"; + public override string Description => Effects.Count > 0 ? Effects.First().Description : ""; + public override double MPCost => Level > 0 ? 80 + (80 * (Level - 1)) : 80; + public override double CD => 80; + public override double CastTime => 3; + public override double HardnessTime { get; set; } = 7; + public override bool CanSelectSelf => true; + public override bool CanSelectEnemy => false; + public override bool CanSelectTeammate => true; + public override int CanSelectTargetCount => 1; + + public 回复术改(Character? character = null) : base(SkillType.Magic, character) + { + SelectTargetPredicates.Add(c => c.HP > 0 && c.HP < c.MaxHP); + Effects.Add(new 百分比回复生命值(this, 0.36, 0.04)); + } + } +} diff --git a/OshimaModules/Skills/魔法/圣灵术.cs b/OshimaModules/Skills/魔法/圣灵术.cs index 62333c0..331f167 100644 --- a/OshimaModules/Skills/魔法/圣灵术.cs +++ b/OshimaModules/Skills/魔法/圣灵术.cs @@ -12,8 +12,8 @@ namespace Oshima.FunGame.OshimaModules.Skills public override string DispelDescription => Effects.FirstOrDefault(e => e is 弱驱散特效)?.DispelDescription ?? ""; public override double MPCost => Level > 0 ? 110 + (95 * (Level - 1)) : 110; public override double CD => Level > 0 ? 110 - (2 * (Level - 1)) : 110; - public override double CastTime => 12; - public override double HardnessTime { get; set; } = 2; + public override double CastTime => 7; + public override double HardnessTime { get; set; } = 7; public override bool CanSelectSelf => true; public override bool CanSelectEnemy => false; public override bool CanSelectTeammate => true; @@ -22,7 +22,7 @@ namespace Oshima.FunGame.OshimaModules.Skills public 圣灵术(Character? character = null) : base(SkillType.Magic, character) { SelectTargetPredicates.Add(c => c.HP >= 0 && c.HP < c.MaxHP); - Effects.Add(new 弱驱散特效(this)); + Effects.Add(new 强驱散特效(this)); Effects.Add(new 纯数值回复生命(this, 380, 270, true)); } diff --git a/OshimaModules/Skills/魔法/复苏术.cs b/OshimaModules/Skills/魔法/复苏术.cs index 4d156fd..bc2e476 100644 --- a/OshimaModules/Skills/魔法/复苏术.cs +++ b/OshimaModules/Skills/魔法/复苏术.cs @@ -22,7 +22,7 @@ namespace Oshima.FunGame.OshimaModules.Skills public 复苏术(Character? character = null) : base(SkillType.Magic, character) { SelectTargetPredicates.Add(c => c.HP >= 0 && c.HP < c.MaxHP); - Effects.Add(new 弱驱散特效(this)); + Effects.Add(new 强驱散特效(this)); Effects.Add(new 百分比回复生命值(this, 0.24, 0.02, true)); } diff --git a/OshimaModules/Skills/魔法/次元上升.cs b/OshimaModules/Skills/魔法/次元上升.cs index 4fcea42..51534e6 100644 --- a/OshimaModules/Skills/魔法/次元上升.cs +++ b/OshimaModules/Skills/魔法/次元上升.cs @@ -17,7 +17,7 @@ namespace Oshima.FunGame.OshimaModules.Skills public 次元上升(Character? character = null) : base(SkillType.Magic, character) { - Effects.Add(new 基于攻击力的伤害_带基础伤害(this, 40, 40, 0.3, 0.25)); + Effects.Add(new 基于攻击力的伤害_带基础伤害(this, 35, 25, 0.3, 0.25)); Effects.Add(new 造成眩晕(this, true, 10, 0)); } } diff --git a/OshimaModules/Skills/魔法/水之矢.cs b/OshimaModules/Skills/魔法/水之矢.cs index 1b4bb03..967649a 100644 --- a/OshimaModules/Skills/魔法/水之矢.cs +++ b/OshimaModules/Skills/魔法/水之矢.cs @@ -16,7 +16,7 @@ namespace Oshima.FunGame.OshimaModules.Skills public 水之矢(Character? character = null) : base(SkillType.Magic, character) { - Effects.Add(new 基于核心属性的伤害(this, 85, 65, 0.35, 0.45)); + Effects.Add(new 基于核心属性的伤害(this, 65, 45, 0.35, 0.45)); } } } diff --git a/OshimaModules/Skills/魔法/治愈术.cs b/OshimaModules/Skills/魔法/治愈术.cs index 99574da..7dd4c39 100644 --- a/OshimaModules/Skills/魔法/治愈术.cs +++ b/OshimaModules/Skills/魔法/治愈术.cs @@ -11,8 +11,8 @@ namespace Oshima.FunGame.OshimaModules.Skills public override string Description => Effects.Count > 0 ? Effects.First().Description : ""; public override double MPCost => Level > 0 ? 80 + (85 * (Level - 1)) : 80; public override double CD => Level > 0 ? 80 - (1 * (Level - 1)) : 80; - public override double CastTime => Level > 0 ? 5 + (0.5 * (Level - 1)) : 5; - public override double HardnessTime { get; set; } = 7; + public override double CastTime => Level > 0 ? 5 + (0.25 * (Level - 1)) : 5; + public override double HardnessTime { get; set; } = 6; public override bool CanSelectSelf => true; public override bool CanSelectEnemy => false; public override bool CanSelectTeammate => true; @@ -21,7 +21,8 @@ namespace Oshima.FunGame.OshimaModules.Skills public 治愈术(Character? character = null) : base(SkillType.Magic, character) { SelectTargetPredicates.Add(c => c.HP > 0 && c.HP < c.MaxHP); - Effects.Add(new 百分比回复生命值(this, 0.3, 0.03)); + Effects.Add(new 弱驱散特效(this)); + Effects.Add(new 百分比回复生命值(this, 0.28, 0.03)); } } } diff --git a/OshimaModules/Skills/魔法/火之矢.cs b/OshimaModules/Skills/魔法/火之矢.cs index 9ff0699..0441fa0 100644 --- a/OshimaModules/Skills/魔法/火之矢.cs +++ b/OshimaModules/Skills/魔法/火之矢.cs @@ -16,7 +16,7 @@ namespace Oshima.FunGame.OshimaModules.Skills public 火之矢(Character? character = null) : base(SkillType.Magic, character) { - Effects.Add(new 基于核心属性的伤害(this, 80, 65, 0.45, 0.35)); + Effects.Add(new 基于核心属性的伤害(this, 45, 65, 0.45, 0.35)); } } } diff --git a/OshimaServers/Service/FunGameService.cs b/OshimaServers/Service/FunGameService.cs index df1ec47..6b41784 100644 --- a/OshimaServers/Service/FunGameService.cs +++ b/OshimaServers/Service/FunGameService.cs @@ -51,7 +51,7 @@ namespace Oshima.FunGame.OshimaServers.Service FunGameConstant.Magics.AddRange([new 冰霜攻击(), new 火之矢(), new 水之矢(), new 风之轮(), new 石之锤(), new 心灵之霞(), new 次元上升(), new 暗物质(), new 回复术(), new 治愈术(), new 复苏术(), new 圣灵术(), new 时间加速(), new 时间减速(), new 反魔法领域(), new 沉默十字(), new 虚弱领域(), new 混沌烙印(), new 凝胶稠絮(), - new 大地之墙(), new 盖亚之盾(), new 风之守护(), new 结晶防护(), new 强音之力(), new 神圣祝福(), new 根源屏障(), new 灾难冲击波(), new 银色荆棘()]); + new 大地之墙(), new 盖亚之盾(), new 风之守护(), new 结晶防护(), new 强音之力(), new 神圣祝福(), new 根源屏障(), new 灾难冲击波(), new 银色荆棘(), new 回复术改()]); Dictionary exItems = Factory.GetGameModuleInstances(OshimaGameModuleConstant.General, OshimaGameModuleConstant.Item); FunGameConstant.Equipment.AddRange(exItems.Values.Where(i => (int)i.ItemType >= 0 && (int)i.ItemType < 5));