新技能路线图

This commit is contained in:
milimoe 2025-07-03 00:41:56 +08:00
parent 2750bf1d01
commit 182f5d4e07
Signed by: milimoe
GPG Key ID: 9554D37E4B8991D0
11 changed files with 105 additions and 22 deletions

View File

@ -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 (),

View File

@ -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控制行动)
* = +
* =
* = ·

View File

@ -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));
}
}
}

View File

@ -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));
}
}
}

View File

@ -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));
}

View File

@ -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));
}

View File

@ -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));
}
}

View File

@ -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));
}
}
}

View File

@ -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));
}
}
}

View File

@ -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));
}
}
}

View File

@ -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<string, Item> exItems = Factory.GetGameModuleInstances<Item>(OshimaGameModuleConstant.General, OshimaGameModuleConstant.Item);
FunGameConstant.Equipment.AddRange(exItems.Values.Where(i => (int)i.ItemType >= 0 && (int)i.ItemType < 5));