mirror of
https://github.com/oshima-studios/OshimaGameModule.git
synced 2026-01-19 14:08:23 +00:00
完善瓶颈和效能;修复装备主动技能无法触发的问题
This commit is contained in:
parent
e8af2eb243
commit
86b86a19e2
@ -135,7 +135,7 @@ namespace Oshima.FunGame.OshimaModules.Skills
|
|||||||
damage *= 分裂伤害系数;
|
damage *= 分裂伤害系数;
|
||||||
foreach (Character target in targets)
|
foreach (Character target in targets)
|
||||||
{
|
{
|
||||||
DamageToEnemy(character, target, damageType, magicType, damage, new()
|
DamageToEnemy(character, target, damageType, magicType, damage, new(character)
|
||||||
{
|
{
|
||||||
CalculateCritical = false,
|
CalculateCritical = false,
|
||||||
CalculateReduction = true,
|
CalculateReduction = true,
|
||||||
|
|||||||
@ -80,7 +80,7 @@ namespace Oshima.FunGame.OshimaModules.Skills
|
|||||||
double 分裂伤害 = actualDamage * 分裂百分比;
|
double 分裂伤害 = actualDamage * 分裂百分比;
|
||||||
foreach (Character target in targets)
|
foreach (Character target in targets)
|
||||||
{
|
{
|
||||||
DamageToEnemy(character, target, damageType, magicType, 分裂伤害, new()
|
DamageToEnemy(character, target, damageType, magicType, 分裂伤害, new(character)
|
||||||
{
|
{
|
||||||
CalculateCritical = false,
|
CalculateCritical = false,
|
||||||
CalculateReduction = true,
|
CalculateReduction = true,
|
||||||
|
|||||||
@ -79,7 +79,7 @@ namespace Oshima.FunGame.OshimaModules.Skills
|
|||||||
|
|
||||||
public override void AfterDeathCalculation(Character death, bool hasMaster, Character? killer, Dictionary<Character, int> continuousKilling, Dictionary<Character, int> earnedMoney, Character[] assists)
|
public override void AfterDeathCalculation(Character death, bool hasMaster, Character? killer, Dictionary<Character, int> continuousKilling, Dictionary<Character, int> earnedMoney, Character[] assists)
|
||||||
{
|
{
|
||||||
if (Skill.Character != null && death != Skill.Character && (killer == Skill.Character || assists.Contains(Skill.Character)) && Skill is 概念之骰 skill)
|
if (Skill.Character != null && death != Skill.Character && !hasMaster && (killer == Skill.Character || assists.Contains(Skill.Character)) && Skill is 概念之骰 skill)
|
||||||
{
|
{
|
||||||
WriteLine($"[ {Skill.Character} ] 进行概念投掷:“此乃,神之概念。”");
|
WriteLine($"[ {Skill.Character} ] 进行概念投掷:“此乃,神之概念。”");
|
||||||
bool result = false;
|
bool result = false;
|
||||||
|
|||||||
@ -75,7 +75,7 @@ namespace Oshima.FunGame.OshimaModules.Skills
|
|||||||
double damage = 因果伤害值 * 2 / enemies.Count;
|
double damage = 因果伤害值 * 2 / enemies.Count;
|
||||||
foreach (Character enemy in enemies)
|
foreach (Character enemy in enemies)
|
||||||
{
|
{
|
||||||
DamageToEnemy(character, enemy, DamageType.True, MagicType, damage, new()
|
DamageToEnemy(character, enemy, DamageType.True, MagicType, damage, new(character)
|
||||||
{
|
{
|
||||||
CalculateShield = false,
|
CalculateShield = false,
|
||||||
IgnoreImmune = true,
|
IgnoreImmune = true,
|
||||||
|
|||||||
@ -48,7 +48,7 @@ namespace Oshima.FunGame.OshimaModules.Skills
|
|||||||
是否是满层伤害 = true;
|
是否是满层伤害 = true;
|
||||||
是否是叠加伤害 = true;
|
是否是叠加伤害 = true;
|
||||||
WriteLine($"[ {character} ] 发动了征服者的满层效果!");
|
WriteLine($"[ {character} ] 发动了征服者的满层效果!");
|
||||||
DamageToEnemy(character, enemy, DamageType.True, magicType, 满层伤害, new()
|
DamageToEnemy(character, enemy, DamageType.True, magicType, 满层伤害, new(character)
|
||||||
{
|
{
|
||||||
TriggerEffects = false
|
TriggerEffects = false
|
||||||
});
|
});
|
||||||
@ -82,7 +82,7 @@ namespace Oshima.FunGame.OshimaModules.Skills
|
|||||||
{
|
{
|
||||||
是否是叠加伤害 = true;
|
是否是叠加伤害 = true;
|
||||||
WriteLine($"[ {character} ] 发动了征服者!");
|
WriteLine($"[ {character} ] 发动了征服者!");
|
||||||
DamageToEnemy(character, enemy, DamageType.True, magicType, 真实伤害 * 层数, new()
|
DamageToEnemy(character, enemy, DamageType.True, magicType, 真实伤害 * 层数, new(character)
|
||||||
{
|
{
|
||||||
TriggerEffects = false
|
TriggerEffects = false
|
||||||
});
|
});
|
||||||
|
|||||||
@ -14,6 +14,7 @@ namespace Oshima.FunGame.OshimaModules.Skills
|
|||||||
public override double CastTime => 10;
|
public override double CastTime => 10;
|
||||||
public override double HardnessTime { get; set; } = 5;
|
public override double HardnessTime { get; set; } = 5;
|
||||||
public override int CanSelectTargetCount => 3;
|
public override int CanSelectTargetCount => 3;
|
||||||
|
public override double MagicBottleneck => 20 + 22 * (Level - 1);
|
||||||
|
|
||||||
public 冰狱冥嚎(Character? character = null) : base(SkillType.Magic, character)
|
public 冰狱冥嚎(Character? character = null) : base(SkillType.Magic, character)
|
||||||
{
|
{
|
||||||
|
|||||||
@ -11,8 +11,9 @@ namespace Oshima.FunGame.OshimaModules.Skills
|
|||||||
public override string Description => Effects.Count > 0 ? Effects.First().Description : "";
|
public override string Description => Effects.Count > 0 ? Effects.First().Description : "";
|
||||||
public override double MPCost => Level > 0 ? 50 + (50 * (Level - 1)) : 50;
|
public override double MPCost => Level > 0 ? 50 + (50 * (Level - 1)) : 50;
|
||||||
public override double CD => 25;
|
public override double CD => 25;
|
||||||
public override double CastTime => 8;
|
public override double CastTime => 5;
|
||||||
public override double HardnessTime { get; set; } = 3;
|
public override double HardnessTime { get; set; } = 3;
|
||||||
|
public override double MagicBottleneck => 20 + 22 * (Level - 1);
|
||||||
|
|
||||||
public 冰霜攻击(Character? character = null) : base(SkillType.Magic, character)
|
public 冰霜攻击(Character? character = null) : base(SkillType.Magic, character)
|
||||||
{
|
{
|
||||||
|
|||||||
@ -16,6 +16,7 @@ namespace Oshima.FunGame.OshimaModules.Skills
|
|||||||
public override double CastTime => 11;
|
public override double CastTime => 11;
|
||||||
public override double HardnessTime { get; set; } = 4;
|
public override double HardnessTime { get; set; } = 4;
|
||||||
public override int CanSelectTargetCount => 1;
|
public override int CanSelectTargetCount => 1;
|
||||||
|
public override double MagicBottleneck => 15 + 16 * (Level - 1);
|
||||||
|
|
||||||
public 凝胶稠絮(Character? character = null) : base(SkillType.Magic, character)
|
public 凝胶稠絮(Character? character = null) : base(SkillType.Magic, character)
|
||||||
{
|
{
|
||||||
|
|||||||
@ -33,6 +33,7 @@ namespace Oshima.FunGame.OshimaModules.Skills
|
|||||||
public override bool IsNonDirectional => true;
|
public override bool IsNonDirectional => true;
|
||||||
public override SkillRangeType SkillRangeType => SkillRangeType.Sector;
|
public override SkillRangeType SkillRangeType => SkillRangeType.Sector;
|
||||||
public override int CanSelectTargetRange => 4;
|
public override int CanSelectTargetRange => 4;
|
||||||
|
public override double MagicBottleneck => 15 + 20 * (Level - 1);
|
||||||
|
|
||||||
public 地狱之门(Character? character = null) : base(SkillType.Magic, character)
|
public 地狱之门(Character? character = null) : base(SkillType.Magic, character)
|
||||||
{
|
{
|
||||||
|
|||||||
@ -16,6 +16,7 @@ namespace Oshima.FunGame.OshimaModules.Skills
|
|||||||
public override double CastTime => Level > 0 ? 3 + (0.5 * (Level - 1)) : 3;
|
public override double CastTime => Level > 0 ? 3 + (0.5 * (Level - 1)) : 3;
|
||||||
public override double HardnessTime { get; set; } = 8;
|
public override double HardnessTime { get; set; } = 8;
|
||||||
public override bool SelectAllEnemies => true;
|
public override bool SelectAllEnemies => true;
|
||||||
|
public override double MagicBottleneck => 28 + 24 * (Level - 1);
|
||||||
|
|
||||||
public 导力停止(Character? character = null) : base(SkillType.Magic, character)
|
public 导力停止(Character? character = null) : base(SkillType.Magic, character)
|
||||||
{
|
{
|
||||||
|
|||||||
@ -17,6 +17,7 @@ namespace Oshima.FunGame.OshimaModules.Skills
|
|||||||
public override bool IsNonDirectional => true;
|
public override bool IsNonDirectional => true;
|
||||||
public override SkillRangeType SkillRangeType => SkillRangeType.LinePass;
|
public override SkillRangeType SkillRangeType => SkillRangeType.LinePass;
|
||||||
public override int CanSelectTargetRange => 2;
|
public override int CanSelectTargetRange => 2;
|
||||||
|
public override double MagicBottleneck => 12 + 13 * (Level - 1);
|
||||||
|
|
||||||
public 岩石之息(Character? character = null) : base(SkillType.Magic, character)
|
public 岩石之息(Character? character = null) : base(SkillType.Magic, character)
|
||||||
{
|
{
|
||||||
|
|||||||
@ -14,6 +14,7 @@ namespace Oshima.FunGame.OshimaModules.Skills
|
|||||||
public override double CastTime => 8;
|
public override double CastTime => 8;
|
||||||
public override double HardnessTime { get; set; } = 6;
|
public override double HardnessTime { get; set; } = 6;
|
||||||
public override int CanSelectTargetCount => 3;
|
public override int CanSelectTargetCount => 3;
|
||||||
|
public override double MagicBottleneck => 12 + 13 * (Level - 1);
|
||||||
|
|
||||||
public 弧形日珥(Character? character = null) : base(SkillType.Magic, character)
|
public 弧形日珥(Character? character = null) : base(SkillType.Magic, character)
|
||||||
{
|
{
|
||||||
|
|||||||
@ -13,6 +13,7 @@ namespace Oshima.FunGame.OshimaModules.Skills
|
|||||||
public override double CD => 30;
|
public override double CD => 30;
|
||||||
public override double CastTime => 6;
|
public override double CastTime => 6;
|
||||||
public override double HardnessTime { get; set; } = 3;
|
public override double HardnessTime { get; set; } = 3;
|
||||||
|
public override double MagicBottleneck => 25 + 22 * (Level - 1);
|
||||||
|
|
||||||
public 心灵之霞(Character? character = null) : base(SkillType.Magic, character)
|
public 心灵之霞(Character? character = null) : base(SkillType.Magic, character)
|
||||||
{
|
{
|
||||||
|
|||||||
@ -13,6 +13,7 @@ namespace Oshima.FunGame.OshimaModules.Skills
|
|||||||
public override double CD => 40;
|
public override double CD => 40;
|
||||||
public override double CastTime => 10;
|
public override double CastTime => 10;
|
||||||
public override double HardnessTime { get; set; } = 4;
|
public override double HardnessTime { get; set; } = 4;
|
||||||
|
public override double MagicBottleneck => 16 + 17 * (Level - 1);
|
||||||
|
|
||||||
public 暗物质(Character? character = null) : base(SkillType.Magic, character)
|
public 暗物质(Character? character = null) : base(SkillType.Magic, character)
|
||||||
{
|
{
|
||||||
|
|||||||
@ -15,6 +15,7 @@ namespace Oshima.FunGame.OshimaModules.Skills
|
|||||||
public override double CD => Level > 0 ? 35 - (1.5 * (Level - 1)) : 35;
|
public override double CD => Level > 0 ? 35 - (1.5 * (Level - 1)) : 35;
|
||||||
public override double CastTime => 12;
|
public override double CastTime => 12;
|
||||||
public override double HardnessTime { get; set; } = 5;
|
public override double HardnessTime { get; set; } = 5;
|
||||||
|
public override double MagicBottleneck => 15 + 21 * (Level - 1);
|
||||||
|
|
||||||
public 次元上升(Character? character = null) : base(SkillType.Magic, character)
|
public 次元上升(Character? character = null) : base(SkillType.Magic, character)
|
||||||
{
|
{
|
||||||
|
|||||||
@ -30,6 +30,7 @@ namespace Oshima.FunGame.OshimaModules.Skills
|
|||||||
};
|
};
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
public override double MagicBottleneck => 20 + 24 * (Level - 1);
|
||||||
|
|
||||||
public 死亡咆哮(Character? character = null) : base(SkillType.Magic, character)
|
public 死亡咆哮(Character? character = null) : base(SkillType.Magic, character)
|
||||||
{
|
{
|
||||||
|
|||||||
@ -13,6 +13,7 @@ namespace Oshima.FunGame.OshimaModules.Skills
|
|||||||
public override double CD => 20;
|
public override double CD => 20;
|
||||||
public override double CastTime => 6;
|
public override double CastTime => 6;
|
||||||
public override double HardnessTime { get; set; } = 3;
|
public override double HardnessTime { get; set; } = 3;
|
||||||
|
public override double MagicBottleneck => 16 + 17 * (Level - 1);
|
||||||
|
|
||||||
public 水之矢(Character? character = null) : base(SkillType.Magic, character)
|
public 水之矢(Character? character = null) : base(SkillType.Magic, character)
|
||||||
{
|
{
|
||||||
|
|||||||
@ -17,6 +17,7 @@ namespace Oshima.FunGame.OshimaModules.Skills
|
|||||||
public override bool IsNonDirectional => true;
|
public override bool IsNonDirectional => true;
|
||||||
public override SkillRangeType SkillRangeType => SkillRangeType.Circle;
|
public override SkillRangeType SkillRangeType => SkillRangeType.Circle;
|
||||||
public override int CanSelectTargetRange => 3;
|
public override int CanSelectTargetRange => 3;
|
||||||
|
public override double MagicBottleneck => 16 + 17 * (Level - 1);
|
||||||
|
|
||||||
public 水蓝轰炸(Character? character = null) : base(SkillType.Magic, character)
|
public 水蓝轰炸(Character? character = null) : base(SkillType.Magic, character)
|
||||||
{
|
{
|
||||||
|
|||||||
@ -16,6 +16,7 @@ namespace Oshima.FunGame.OshimaModules.Skills
|
|||||||
public override double CastTime => 4;
|
public override double CastTime => 4;
|
||||||
public override double HardnessTime { get; set; } = 5;
|
public override double HardnessTime { get; set; } = 5;
|
||||||
public override int CanSelectTargetCount => 1;
|
public override int CanSelectTargetCount => 1;
|
||||||
|
public override double MagicBottleneck => 15 + 15 * (Level - 1);
|
||||||
|
|
||||||
public 混沌烙印(Character? character = null) : base(SkillType.Magic, character)
|
public 混沌烙印(Character? character = null) : base(SkillType.Magic, character)
|
||||||
{
|
{
|
||||||
|
|||||||
@ -13,6 +13,7 @@ namespace Oshima.FunGame.OshimaModules.Skills
|
|||||||
public override double CD => 20;
|
public override double CD => 20;
|
||||||
public override double CastTime => 6;
|
public override double CastTime => 6;
|
||||||
public override double HardnessTime { get; set; } = 3;
|
public override double HardnessTime { get; set; } = 3;
|
||||||
|
public override double MagicBottleneck => 16 + 17 * (Level - 1);
|
||||||
|
|
||||||
public 火之矢(Character? character = null) : base(SkillType.Magic, character)
|
public 火之矢(Character? character = null) : base(SkillType.Magic, character)
|
||||||
{
|
{
|
||||||
|
|||||||
@ -17,6 +17,7 @@ namespace Oshima.FunGame.OshimaModules.Skills
|
|||||||
public override bool IsNonDirectional => true;
|
public override bool IsNonDirectional => true;
|
||||||
public override SkillRangeType SkillRangeType => SkillRangeType.Circle;
|
public override SkillRangeType SkillRangeType => SkillRangeType.Circle;
|
||||||
public override int CanSelectTargetRange => 3;
|
public override int CanSelectTargetRange => 3;
|
||||||
|
public override double MagicBottleneck => 16 + 17 * (Level - 1);
|
||||||
|
|
||||||
public 火山咆哮(Character? character = null) : base(SkillType.Magic, character)
|
public 火山咆哮(Character? character = null) : base(SkillType.Magic, character)
|
||||||
{
|
{
|
||||||
|
|||||||
@ -33,6 +33,7 @@ namespace Oshima.FunGame.OshimaModules.Skills
|
|||||||
};
|
};
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
public override double MagicBottleneck => 15 + 20 * (Level - 1);
|
||||||
|
|
||||||
public 灾难冲击波(Character? character = null) : base(SkillType.Magic, character)
|
public 灾难冲击波(Character? character = null) : base(SkillType.Magic, character)
|
||||||
{
|
{
|
||||||
|
|||||||
@ -13,6 +13,7 @@ namespace Oshima.FunGame.OshimaModules.Skills
|
|||||||
public override double CD => 22;
|
public override double CD => 22;
|
||||||
public override double CastTime => 6;
|
public override double CastTime => 6;
|
||||||
public override double HardnessTime { get; set; } = 4;
|
public override double HardnessTime { get; set; } = 4;
|
||||||
|
public override double MagicBottleneck => 12 + 13 * (Level - 1);
|
||||||
|
|
||||||
public 石之锤(Character? character = null) : base(SkillType.Magic, character)
|
public 石之锤(Character? character = null) : base(SkillType.Magic, character)
|
||||||
{
|
{
|
||||||
|
|||||||
@ -14,6 +14,7 @@ namespace Oshima.FunGame.OshimaModules.Skills
|
|||||||
public override double CastTime => 10;
|
public override double CastTime => 10;
|
||||||
public override double HardnessTime { get; set; } = 6;
|
public override double HardnessTime { get; set; } = 6;
|
||||||
public override int CanSelectTargetCount => 3;
|
public override int CanSelectTargetCount => 3;
|
||||||
|
public override double MagicBottleneck => 16 + 17 * (Level - 1);
|
||||||
|
|
||||||
public 破碎虚空(Character? character = null) : base(SkillType.Magic, character)
|
public 破碎虚空(Character? character = null) : base(SkillType.Magic, character)
|
||||||
{
|
{
|
||||||
|
|||||||
@ -30,6 +30,7 @@ namespace Oshima.FunGame.OshimaModules.Skills
|
|||||||
};
|
};
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
public override double MagicBottleneck => 20 + 22 * (Level - 1);
|
||||||
|
|
||||||
public 等离子之波(Character? character = null) : base(SkillType.Magic, character)
|
public 等离子之波(Character? character = null) : base(SkillType.Magic, character)
|
||||||
{
|
{
|
||||||
|
|||||||
@ -14,6 +14,7 @@ namespace Oshima.FunGame.OshimaModules.Skills
|
|||||||
public override double CastTime => 9;
|
public override double CastTime => 9;
|
||||||
public override double HardnessTime { get; set; } = 3;
|
public override double HardnessTime { get; set; } = 3;
|
||||||
public override int CanSelectTargetCount => 3;
|
public override int CanSelectTargetCount => 3;
|
||||||
|
public override double MagicBottleneck => 15 + 22 * (Level - 1);
|
||||||
|
|
||||||
public 苍白地狱(Character? character = null) : base(SkillType.Magic, character)
|
public 苍白地狱(Character? character = null) : base(SkillType.Magic, character)
|
||||||
{
|
{
|
||||||
|
|||||||
@ -16,6 +16,7 @@ namespace Oshima.FunGame.OshimaModules.Skills
|
|||||||
public override double CastTime => 8;
|
public override double CastTime => 8;
|
||||||
public override double HardnessTime { get; set; } = 3;
|
public override double HardnessTime { get; set; } = 3;
|
||||||
public override bool SelectAllEnemies => true;
|
public override bool SelectAllEnemies => true;
|
||||||
|
public override double MagicBottleneck => 15 + 15 * (Level - 1);
|
||||||
|
|
||||||
public 虚弱领域(Character? character = null) : base(SkillType.Magic, character)
|
public 虚弱领域(Character? character = null) : base(SkillType.Magic, character)
|
||||||
{
|
{
|
||||||
|
|||||||
@ -29,6 +29,7 @@ namespace Oshima.FunGame.OshimaModules.Skills
|
|||||||
public override bool IsNonDirectional => true;
|
public override bool IsNonDirectional => true;
|
||||||
public override SkillRangeType SkillRangeType => SkillRangeType.Circle;
|
public override SkillRangeType SkillRangeType => SkillRangeType.Circle;
|
||||||
public override int CanSelectTargetRange => 2;
|
public override int CanSelectTargetRange => 2;
|
||||||
|
public override double MagicBottleneck => 35 + 24 * (Level - 1);
|
||||||
|
|
||||||
public 钻石星尘(Character? character = null) : base(SkillType.Magic, character)
|
public 钻石星尘(Character? character = null) : base(SkillType.Magic, character)
|
||||||
{
|
{
|
||||||
|
|||||||
@ -31,6 +31,7 @@ namespace Oshima.FunGame.OshimaModules.Skills
|
|||||||
};
|
};
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
public override double MagicBottleneck => 20 + 24 * (Level - 1);
|
||||||
|
|
||||||
public 银色荆棘(Character? character = null) : base(SkillType.Magic, character)
|
public 银色荆棘(Character? character = null) : base(SkillType.Magic, character)
|
||||||
{
|
{
|
||||||
|
|||||||
@ -13,6 +13,7 @@ namespace Oshima.FunGame.OshimaModules.Skills
|
|||||||
public override double CD => 30;
|
public override double CD => 30;
|
||||||
public override double CastTime => 10;
|
public override double CastTime => 10;
|
||||||
public override double HardnessTime { get; set; } = 4;
|
public override double HardnessTime { get; set; } = 4;
|
||||||
|
public override double MagicBottleneck => 12 + 13 * (Level - 1);
|
||||||
|
|
||||||
public 风之轮(Character? character = null) : base(SkillType.Magic, character)
|
public 风之轮(Character? character = null) : base(SkillType.Magic, character)
|
||||||
{
|
{
|
||||||
|
|||||||
@ -30,6 +30,7 @@ namespace Oshima.FunGame.OshimaModules.Skills
|
|||||||
};
|
};
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
public override double MagicBottleneck => 20 + 24 * (Level - 1);
|
||||||
|
|
||||||
public 鬼魅之痛(Character? character = null) : base(SkillType.Magic, character)
|
public 鬼魅之痛(Character? character = null) : base(SkillType.Magic, character)
|
||||||
{
|
{
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user