mirror of
https://github.com/oshima-studios/OshimaGameModule.git
synced 2026-03-06 06:30:28 +00:00
BUG修复,文本优化
This commit is contained in:
parent
d99bf28600
commit
3bc521531c
@ -6,7 +6,7 @@ namespace Oshima.FunGame.OshimaModules.Effects.OpenEffects
|
|||||||
public class AccelerationCoefficient : Effect
|
public class AccelerationCoefficient : Effect
|
||||||
{
|
{
|
||||||
public override long Id => (long)EffectID.AccelerationCoefficient;
|
public override long Id => (long)EffectID.AccelerationCoefficient;
|
||||||
public override string Name => "加速系数加成";
|
public override string Name { get; set; } = "加速系数加成";
|
||||||
public override string Description => $"{(实际加成 >= 0 ? "增加" : "减少")}角色 {Math.Abs(实际加成) * 100:0.##}% 加速系数。" + (Source != null && (Skill.Character != Source || Skill is not OpenSkill) ? $"来自:[ {Source} ]" + (Skill.Item != null ? $" 的 [ {Skill.Item.Name} ]" : (Skill is OpenSkill ? "" : $" 的 [ {Skill.Name} ]")) : "");
|
public override string Description => $"{(实际加成 >= 0 ? "增加" : "减少")}角色 {Math.Abs(实际加成) * 100:0.##}% 加速系数。" + (Source != null && (Skill.Character != Source || Skill is not OpenSkill) ? $"来自:[ {Source} ]" + (Skill.Item != null ? $" 的 [ {Skill.Item.Name} ]" : (Skill is OpenSkill ? "" : $" 的 [ {Skill.Name} ]")) : "");
|
||||||
public double Value => 实际加成;
|
public double Value => 实际加成;
|
||||||
|
|
||||||
|
|||||||
@ -6,7 +6,7 @@ namespace Oshima.FunGame.OshimaModules.Effects.OpenEffects
|
|||||||
public class ExAGI : Effect
|
public class ExAGI : Effect
|
||||||
{
|
{
|
||||||
public override long Id => (long)EffectID.ExAGI;
|
public override long Id => (long)EffectID.ExAGI;
|
||||||
public override string Name => "敏捷加成";
|
public override string Name { get; set; } = "敏捷加成";
|
||||||
public override string Description => $"{(实际加成 >= 0 ? "增加" : "减少")}角色 {Math.Abs(实际加成):0.##} 点敏捷。" + (Source != null && (Skill.Character != Source || Skill is not OpenSkill) ? $"来自:[ {Source} ]" + (Skill.Item != null ? $" 的 [ {Skill.Item.Name} ]" : (Skill is OpenSkill ? "" : $" 的 [ {Skill.Name} ]")) : "");
|
public override string Description => $"{(实际加成 >= 0 ? "增加" : "减少")}角色 {Math.Abs(实际加成):0.##} 点敏捷。" + (Source != null && (Skill.Character != Source || Skill is not OpenSkill) ? $"来自:[ {Source} ]" + (Skill.Item != null ? $" 的 [ {Skill.Item.Name} ]" : (Skill is OpenSkill ? "" : $" 的 [ {Skill.Name} ]")) : "");
|
||||||
public double Value => 实际加成;
|
public double Value => 实际加成;
|
||||||
|
|
||||||
|
|||||||
@ -6,7 +6,7 @@ namespace Oshima.FunGame.OshimaModules.Effects.OpenEffects
|
|||||||
public class ExAGI2 : Effect
|
public class ExAGI2 : Effect
|
||||||
{
|
{
|
||||||
public override long Id => (long)EffectID.ExAGI2;
|
public override long Id => (long)EffectID.ExAGI2;
|
||||||
public override string Name => "敏捷加成";
|
public override string Name { get; set; } = "敏捷加成";
|
||||||
public override string Description => $"{(实际加成 >= 0 ? "增加" : "减少")}角色 {Math.Abs(加成比例) * 100:0.##}% [ {(实际加成 == 0 ? "基于基础敏捷" : $"{Math.Abs(实际加成):0.##}")} ] 点敏捷。" + (Source != null && (Skill.Character != Source || Skill is not OpenSkill) ? $"来自:[ {Source} ]" + (Skill.Item != null ? $" 的 [ {Skill.Item.Name} ]" : (Skill is OpenSkill ? "" : $" 的 [ {Skill.Name} ]")) : "");
|
public override string Description => $"{(实际加成 >= 0 ? "增加" : "减少")}角色 {Math.Abs(加成比例) * 100:0.##}% [ {(实际加成 == 0 ? "基于基础敏捷" : $"{Math.Abs(实际加成):0.##}")} ] 点敏捷。" + (Source != null && (Skill.Character != Source || Skill is not OpenSkill) ? $"来自:[ {Source} ]" + (Skill.Item != null ? $" 的 [ {Skill.Item.Name} ]" : (Skill is OpenSkill ? "" : $" 的 [ {Skill.Name} ]")) : "");
|
||||||
public double Value => 实际加成;
|
public double Value => 实际加成;
|
||||||
|
|
||||||
|
|||||||
@ -6,7 +6,7 @@ namespace Oshima.FunGame.OshimaModules.Effects.OpenEffects
|
|||||||
public class ExATK : Effect
|
public class ExATK : Effect
|
||||||
{
|
{
|
||||||
public override long Id => (long)EffectID.ExATK;
|
public override long Id => (long)EffectID.ExATK;
|
||||||
public override string Name => "攻击力加成";
|
public override string Name { get; set; } = "攻击力加成";
|
||||||
public override string Description => $"{(实际加成 >= 0 ? "增加" : "减少")}角色 {Math.Abs(实际加成):0.##} 点攻击力。" + (Source != null && (Skill.Character != Source || Skill is not OpenSkill) ? $"来自:[ {Source} ]" + (Skill.Item != null ? $" 的 [ {Skill.Item.Name} ]" : (Skill is OpenSkill ? "" : $" 的 [ {Skill.Name} ]")) : "");
|
public override string Description => $"{(实际加成 >= 0 ? "增加" : "减少")}角色 {Math.Abs(实际加成):0.##} 点攻击力。" + (Source != null && (Skill.Character != Source || Skill is not OpenSkill) ? $"来自:[ {Source} ]" + (Skill.Item != null ? $" 的 [ {Skill.Item.Name} ]" : (Skill is OpenSkill ? "" : $" 的 [ {Skill.Name} ]")) : "");
|
||||||
public double Value => 实际加成;
|
public double Value => 实际加成;
|
||||||
|
|
||||||
|
|||||||
@ -6,7 +6,7 @@ namespace Oshima.FunGame.OshimaModules.Effects.OpenEffects
|
|||||||
public class ExATK2 : Effect
|
public class ExATK2 : Effect
|
||||||
{
|
{
|
||||||
public override long Id => (long)EffectID.ExATK2;
|
public override long Id => (long)EffectID.ExATK2;
|
||||||
public override string Name => "攻击力加成";
|
public override string Name { get; set; } = "攻击力加成";
|
||||||
public override string Description => $"{(实际加成 >= 0 ? "增加" : "减少")}角色 {Math.Abs(加成比例) * 100:0.##}% [ {(实际加成 == 0 ? "基于基础攻击力" : $"{Math.Abs(实际加成):0.##}")} ] 点攻击力。" + (Source != null && (Skill.Character != Source || Skill is not OpenSkill) ? $"来自:[ {Source} ]" + (Skill.Item != null ? $" 的 [ {Skill.Item.Name} ]" : (Skill is OpenSkill ? "" : $" 的 [ {Skill.Name} ]")) : "");
|
public override string Description => $"{(实际加成 >= 0 ? "增加" : "减少")}角色 {Math.Abs(加成比例) * 100:0.##}% [ {(实际加成 == 0 ? "基于基础攻击力" : $"{Math.Abs(实际加成):0.##}")} ] 点攻击力。" + (Source != null && (Skill.Character != Source || Skill is not OpenSkill) ? $"来自:[ {Source} ]" + (Skill.Item != null ? $" 的 [ {Skill.Item.Name} ]" : (Skill is OpenSkill ? "" : $" 的 [ {Skill.Name} ]")) : "");
|
||||||
public double Value => 实际加成;
|
public double Value => 实际加成;
|
||||||
|
|
||||||
|
|||||||
@ -6,7 +6,7 @@ namespace Oshima.FunGame.OshimaModules.Effects.OpenEffects
|
|||||||
public class ExATR : Effect
|
public class ExATR : Effect
|
||||||
{
|
{
|
||||||
public override long Id => (long)EffectID.ExATR;
|
public override long Id => (long)EffectID.ExATR;
|
||||||
public override string Name => "攻击距离加成";
|
public override string Name { get; set; } = "攻击距离加成";
|
||||||
public override string Description => $"{(实际加成 >= 0 ? "增加" : "减少")}角色 {Math.Abs(实际加成)} 格攻击距离。" + (Source != null && (Skill.Character != Source || Skill is not OpenSkill) ? $"来自:[ {Source} ]" + (Skill.Item != null ? $" 的 [ {Skill.Item.Name} ]" : (Skill is OpenSkill ? "" : $" 的 [ {Skill.Name} ]")) : "");
|
public override string Description => $"{(实际加成 >= 0 ? "增加" : "减少")}角色 {Math.Abs(实际加成)} 格攻击距离。" + (Source != null && (Skill.Character != Source || Skill is not OpenSkill) ? $"来自:[ {Source} ]" + (Skill.Item != null ? $" 的 [ {Skill.Item.Name} ]" : (Skill is OpenSkill ? "" : $" 的 [ {Skill.Name} ]")) : "");
|
||||||
public int Value => 实际加成;
|
public int Value => 实际加成;
|
||||||
|
|
||||||
|
|||||||
@ -6,7 +6,7 @@ namespace Oshima.FunGame.OshimaModules.Effects.OpenEffects
|
|||||||
public class ExActionCoefficient : Effect
|
public class ExActionCoefficient : Effect
|
||||||
{
|
{
|
||||||
public override long Id => (long)EffectID.ExActionCoefficient;
|
public override long Id => (long)EffectID.ExActionCoefficient;
|
||||||
public override string Name => "行动系数加成";
|
public override string Name { get; set; } = "行动系数加成";
|
||||||
public override string Description => $"{(实际加成 >= 0 ? "增加" : "减少")}角色 {Math.Abs(实际加成) * 100:0.##}% 行动系数。" + (Source != null && (Skill.Character != Source || Skill is not OpenSkill) ? $"来自:[ {Source} ]" + (Skill.Item != null ? $" 的 [ {Skill.Item.Name} ]" : (Skill is OpenSkill ? "" : $" 的 [ {Skill.Name} ]")) : "");
|
public override string Description => $"{(实际加成 >= 0 ? "增加" : "减少")}角色 {Math.Abs(实际加成) * 100:0.##}% 行动系数。" + (Source != null && (Skill.Character != Source || Skill is not OpenSkill) ? $"来自:[ {Source} ]" + (Skill.Item != null ? $" 的 [ {Skill.Item.Name} ]" : (Skill is OpenSkill ? "" : $" 的 [ {Skill.Name} ]")) : "");
|
||||||
public double Value => 实际加成;
|
public double Value => 实际加成;
|
||||||
|
|
||||||
|
|||||||
@ -6,7 +6,7 @@ namespace Oshima.FunGame.OshimaModules.Effects.OpenEffects
|
|||||||
public class ExCDR : Effect
|
public class ExCDR : Effect
|
||||||
{
|
{
|
||||||
public override long Id => (long)EffectID.ExCDR;
|
public override long Id => (long)EffectID.ExCDR;
|
||||||
public override string Name => "冷却缩减加成";
|
public override string Name { get; set; } = "冷却缩减加成";
|
||||||
public override string Description => $"{(实际加成 >= 0 ? "增加" : "减少")}角色 {Math.Abs(实际加成) * 100:0.##}% 冷却缩减。" + (Source != null && (Skill.Character != Source || Skill is not OpenSkill) ? $"来自:[ {Source} ]" + (Skill.Item != null ? $" 的 [ {Skill.Item.Name} ]" : (Skill is OpenSkill ? "" : $" 的 [ {Skill.Name} ]")) : "");
|
public override string Description => $"{(实际加成 >= 0 ? "增加" : "减少")}角色 {Math.Abs(实际加成) * 100:0.##}% 冷却缩减。" + (Source != null && (Skill.Character != Source || Skill is not OpenSkill) ? $"来自:[ {Source} ]" + (Skill.Item != null ? $" 的 [ {Skill.Item.Name} ]" : (Skill is OpenSkill ? "" : $" 的 [ {Skill.Name} ]")) : "");
|
||||||
public double Value => 实际加成;
|
public double Value => 实际加成;
|
||||||
|
|
||||||
|
|||||||
@ -6,7 +6,7 @@ namespace Oshima.FunGame.OshimaModules.Effects.OpenEffects
|
|||||||
public class ExCritDMG : Effect
|
public class ExCritDMG : Effect
|
||||||
{
|
{
|
||||||
public override long Id => (long)EffectID.ExCritDMG;
|
public override long Id => (long)EffectID.ExCritDMG;
|
||||||
public override string Name => "暴击伤害加成";
|
public override string Name { get; set; } = "暴击伤害加成";
|
||||||
public override string Description => $"{(实际加成 >= 0 ? "增加" : "减少")}角色 {Math.Abs(实际加成) * 100:0.##}% 暴击伤害。" + (Source != null && (Skill.Character != Source || Skill is not OpenSkill) ? $"来自:[ {Source} ]" + (Skill.Item != null ? $" 的 [ {Skill.Item.Name} ]" : (Skill is OpenSkill ? "" : $" 的 [ {Skill.Name} ]")) : "");
|
public override string Description => $"{(实际加成 >= 0 ? "增加" : "减少")}角色 {Math.Abs(实际加成) * 100:0.##}% 暴击伤害。" + (Source != null && (Skill.Character != Source || Skill is not OpenSkill) ? $"来自:[ {Source} ]" + (Skill.Item != null ? $" 的 [ {Skill.Item.Name} ]" : (Skill is OpenSkill ? "" : $" 的 [ {Skill.Name} ]")) : "");
|
||||||
public double Value => 实际加成;
|
public double Value => 实际加成;
|
||||||
|
|
||||||
|
|||||||
@ -6,7 +6,7 @@ namespace Oshima.FunGame.OshimaModules.Effects.OpenEffects
|
|||||||
public class ExCritRate : Effect
|
public class ExCritRate : Effect
|
||||||
{
|
{
|
||||||
public override long Id => (long)EffectID.ExCritRate;
|
public override long Id => (long)EffectID.ExCritRate;
|
||||||
public override string Name => "暴击率加成";
|
public override string Name { get; set; } = "暴击率加成";
|
||||||
public override string Description => $"{(实际加成 >= 0 ? "增加" : "减少")}角色 {Math.Abs(实际加成) * 100:0.##}% 暴击率。" + (Source != null && (Skill.Character != Source || Skill is not OpenSkill) ? $"来自:[ {Source} ]" + (Skill.Item != null ? $" 的 [ {Skill.Item.Name} ]" : (Skill is OpenSkill ? "" : $" 的 [ {Skill.Name} ]")) : "");
|
public override string Description => $"{(实际加成 >= 0 ? "增加" : "减少")}角色 {Math.Abs(实际加成) * 100:0.##}% 暴击率。" + (Source != null && (Skill.Character != Source || Skill is not OpenSkill) ? $"来自:[ {Source} ]" + (Skill.Item != null ? $" 的 [ {Skill.Item.Name} ]" : (Skill is OpenSkill ? "" : $" 的 [ {Skill.Name} ]")) : "");
|
||||||
public double Value => 实际加成;
|
public double Value => 实际加成;
|
||||||
|
|
||||||
|
|||||||
@ -6,7 +6,7 @@ namespace Oshima.FunGame.OshimaModules.Effects.OpenEffects
|
|||||||
public class ExDEF : Effect
|
public class ExDEF : Effect
|
||||||
{
|
{
|
||||||
public override long Id => (long)EffectID.ExDEF;
|
public override long Id => (long)EffectID.ExDEF;
|
||||||
public override string Name => "物理护甲加成";
|
public override string Name { get; set; } = "物理护甲加成";
|
||||||
public override string Description => $"{(实际加成 >= 0 ? "增加" : "减少")}角色 {Math.Abs(实际加成):0.##} 点物理护甲。" + (Source != null && (Skill.Character != Source || Skill is not OpenSkill) ? $"来自:[ {Source} ]" + (Skill.Item != null ? $" 的 [ {Skill.Item.Name} ]" : (Skill is OpenSkill ? "" : $" 的 [ {Skill.Name} ]")) : "");
|
public override string Description => $"{(实际加成 >= 0 ? "增加" : "减少")}角色 {Math.Abs(实际加成):0.##} 点物理护甲。" + (Source != null && (Skill.Character != Source || Skill is not OpenSkill) ? $"来自:[ {Source} ]" + (Skill.Item != null ? $" 的 [ {Skill.Item.Name} ]" : (Skill is OpenSkill ? "" : $" 的 [ {Skill.Name} ]")) : "");
|
||||||
public double Value => 实际加成;
|
public double Value => 实际加成;
|
||||||
|
|
||||||
|
|||||||
@ -6,7 +6,7 @@ namespace Oshima.FunGame.OshimaModules.Effects.OpenEffects
|
|||||||
public class ExDEF2 : Effect
|
public class ExDEF2 : Effect
|
||||||
{
|
{
|
||||||
public override long Id => (long)EffectID.ExDEF2;
|
public override long Id => (long)EffectID.ExDEF2;
|
||||||
public override string Name => "物理护甲加成";
|
public override string Name { get; set; } = "物理护甲加成";
|
||||||
public override string Description => $"{(实际加成 >= 0 ? "增加" : "减少")}角色 {Math.Abs(加成比例) * 100:0.##}% [ {(实际加成 == 0 ? "基于基础物理护甲" : $"{Math.Abs(实际加成):0.##}")} ] 点物理护甲。" + (Source != null && (Skill.Character != Source || Skill is not OpenSkill) ? $"来自:[ {Source} ]" + (Skill.Item != null ? $" 的 [ {Skill.Item.Name} ]" : (Skill is OpenSkill ? "" : $" 的 [ {Skill.Name} ]")) : "");
|
public override string Description => $"{(实际加成 >= 0 ? "增加" : "减少")}角色 {Math.Abs(加成比例) * 100:0.##}% [ {(实际加成 == 0 ? "基于基础物理护甲" : $"{Math.Abs(实际加成):0.##}")} ] 点物理护甲。" + (Source != null && (Skill.Character != Source || Skill is not OpenSkill) ? $"来自:[ {Source} ]" + (Skill.Item != null ? $" 的 [ {Skill.Item.Name} ]" : (Skill is OpenSkill ? "" : $" 的 [ {Skill.Name} ]")) : "");
|
||||||
public double Value => 实际加成;
|
public double Value => 实际加成;
|
||||||
|
|
||||||
|
|||||||
@ -6,7 +6,7 @@ namespace Oshima.FunGame.OshimaModules.Effects.OpenEffects
|
|||||||
public class ExEvadeRate : Effect
|
public class ExEvadeRate : Effect
|
||||||
{
|
{
|
||||||
public override long Id => (long)EffectID.ExEvadeRate;
|
public override long Id => (long)EffectID.ExEvadeRate;
|
||||||
public override string Name => "闪避率加成";
|
public override string Name { get; set; } = "闪避率加成";
|
||||||
public override string Description => $"{(实际加成 >= 0 ? "增加" : "减少")}角色 {Math.Abs(实际加成) * 100:0.##}% 闪避率。" + (Source != null && (Skill.Character != Source || Skill is not OpenSkill) ? $"来自:[ {Source} ]" + (Skill.Item != null ? $" 的 [ {Skill.Item.Name} ]" : (Skill is OpenSkill ? "" : $" 的 [ {Skill.Name} ]")) : "");
|
public override string Description => $"{(实际加成 >= 0 ? "增加" : "减少")}角色 {Math.Abs(实际加成) * 100:0.##}% 闪避率。" + (Source != null && (Skill.Character != Source || Skill is not OpenSkill) ? $"来自:[ {Source} ]" + (Skill.Item != null ? $" 的 [ {Skill.Item.Name} ]" : (Skill is OpenSkill ? "" : $" 的 [ {Skill.Name} ]")) : "");
|
||||||
public double Value => 实际加成;
|
public double Value => 实际加成;
|
||||||
|
|
||||||
|
|||||||
@ -6,7 +6,7 @@ namespace Oshima.FunGame.OshimaModules.Effects.OpenEffects
|
|||||||
public class ExHR : Effect
|
public class ExHR : Effect
|
||||||
{
|
{
|
||||||
public override long Id => (long)EffectID.ExHR;
|
public override long Id => (long)EffectID.ExHR;
|
||||||
public override string Name => "生命回复加成";
|
public override string Name { get; set; } = "生命回复加成";
|
||||||
public override string Description => $"{(实际加成 >= 0 ? "增加" : "减少")}角色 {Math.Abs(实际加成):0.##} 点生命回复。" + (Source != null && (Skill.Character != Source || Skill is not OpenSkill) ? $"来自:[ {Source} ]" + (Skill.Item != null ? $" 的 [ {Skill.Item.Name} ]" : (Skill is OpenSkill ? "" : $" 的 [ {Skill.Name} ]")) : "");
|
public override string Description => $"{(实际加成 >= 0 ? "增加" : "减少")}角色 {Math.Abs(实际加成):0.##} 点生命回复。" + (Source != null && (Skill.Character != Source || Skill is not OpenSkill) ? $"来自:[ {Source} ]" + (Skill.Item != null ? $" 的 [ {Skill.Item.Name} ]" : (Skill is OpenSkill ? "" : $" 的 [ {Skill.Name} ]")) : "");
|
||||||
public double Value => 实际加成;
|
public double Value => 实际加成;
|
||||||
|
|
||||||
|
|||||||
@ -6,7 +6,7 @@ namespace Oshima.FunGame.OshimaModules.Effects.OpenEffects
|
|||||||
public class ExINT : Effect
|
public class ExINT : Effect
|
||||||
{
|
{
|
||||||
public override long Id => (long)EffectID.ExINT;
|
public override long Id => (long)EffectID.ExINT;
|
||||||
public override string Name => "智力加成";
|
public override string Name { get; set; } = "智力加成";
|
||||||
public override string Description => $"{(实际加成 >= 0 ? "增加" : "减少")}角色 {Math.Abs(实际加成):0.##} 点智力。" + (Source != null && (Skill.Character != Source || Skill is not OpenSkill) ? $"来自:[ {Source} ]" + (Skill.Item != null ? $" 的 [ {Skill.Item.Name} ]" : (Skill is OpenSkill ? "" : $" 的 [ {Skill.Name} ]")) : "");
|
public override string Description => $"{(实际加成 >= 0 ? "增加" : "减少")}角色 {Math.Abs(实际加成):0.##} 点智力。" + (Source != null && (Skill.Character != Source || Skill is not OpenSkill) ? $"来自:[ {Source} ]" + (Skill.Item != null ? $" 的 [ {Skill.Item.Name} ]" : (Skill is OpenSkill ? "" : $" 的 [ {Skill.Name} ]")) : "");
|
||||||
public double Value => 实际加成;
|
public double Value => 实际加成;
|
||||||
|
|
||||||
|
|||||||
@ -6,7 +6,7 @@ namespace Oshima.FunGame.OshimaModules.Effects.OpenEffects
|
|||||||
public class ExINT2 : Effect
|
public class ExINT2 : Effect
|
||||||
{
|
{
|
||||||
public override long Id => (long)EffectID.ExINT2;
|
public override long Id => (long)EffectID.ExINT2;
|
||||||
public override string Name => "智力加成";
|
public override string Name { get; set; } = "智力加成";
|
||||||
public override string Description => $"{(实际加成 >= 0 ? "增加" : "减少")}角色 {Math.Abs(加成比例) * 100:0.##}% [ {(实际加成 == 0 ? "基于基础智力" : $"{Math.Abs(实际加成):0.##}")} ] 点智力。" + (Source != null && (Skill.Character != Source || Skill is not OpenSkill) ? $"来自:[ {Source} ]" + (Skill.Item != null ? $" 的 [ {Skill.Item.Name} ]" : (Skill is OpenSkill ? "" : $" 的 [ {Skill.Name} ]")) : "");
|
public override string Description => $"{(实际加成 >= 0 ? "增加" : "减少")}角色 {Math.Abs(加成比例) * 100:0.##}% [ {(实际加成 == 0 ? "基于基础智力" : $"{Math.Abs(实际加成):0.##}")} ] 点智力。" + (Source != null && (Skill.Character != Source || Skill is not OpenSkill) ? $"来自:[ {Source} ]" + (Skill.Item != null ? $" 的 [ {Skill.Item.Name} ]" : (Skill is OpenSkill ? "" : $" 的 [ {Skill.Name} ]")) : "");
|
||||||
public double Value => 实际加成;
|
public double Value => 实际加成;
|
||||||
|
|
||||||
|
|||||||
@ -6,7 +6,7 @@ namespace Oshima.FunGame.OshimaModules.Effects.OpenEffects
|
|||||||
public class ExLifesteal : Effect
|
public class ExLifesteal : Effect
|
||||||
{
|
{
|
||||||
public override long Id => (long)EffectID.ExLifesteal;
|
public override long Id => (long)EffectID.ExLifesteal;
|
||||||
public override string Name => "生命偷取加成";
|
public override string Name { get; set; } = "生命偷取加成";
|
||||||
public override string Description => $"{(实际加成 >= 0 ? "增加" : "减少")}角色 {Math.Abs(实际加成) * 100:0.##}% 生命偷取。" + (Source != null && (Skill.Character != Source || Skill is not OpenSkill) ? $"来自:[ {Source} ]" + (Skill.Item != null ? $" 的 [ {Skill.Item.Name} ]" : (Skill is OpenSkill ? "" : $" 的 [ {Skill.Name} ]")) : "");
|
public override string Description => $"{(实际加成 >= 0 ? "增加" : "减少")}角色 {Math.Abs(实际加成) * 100:0.##}% 生命偷取。" + (Source != null && (Skill.Character != Source || Skill is not OpenSkill) ? $"来自:[ {Source} ]" + (Skill.Item != null ? $" 的 [ {Skill.Item.Name} ]" : (Skill is OpenSkill ? "" : $" 的 [ {Skill.Name} ]")) : "");
|
||||||
public double Value => 实际加成;
|
public double Value => 实际加成;
|
||||||
|
|
||||||
|
|||||||
@ -6,7 +6,7 @@ namespace Oshima.FunGame.OshimaModules.Effects.OpenEffects
|
|||||||
public class ExMDF : Effect
|
public class ExMDF : Effect
|
||||||
{
|
{
|
||||||
public override long Id => (long)EffectID.ExMDF;
|
public override long Id => (long)EffectID.ExMDF;
|
||||||
public override string Name => "魔法抗性加成";
|
public override string Name { get; set; } = "魔法抗性加成";
|
||||||
public override string Description => $"{(实际加成 >= 0 ? "增加" : "减少")}角色 {Math.Abs(实际加成) * 100:0.##}% {CharacterSet.GetMagicResistanceName(魔法类型)}。" + (Source != null && (Skill.Character != Source || Skill is not OpenSkill) ? $"来自:[ {Source} ]" + (Skill.Item != null ? $" 的 [ {Skill.Item.Name} ]" : (Skill is OpenSkill ? "" : $" 的 [ {Skill.Name} ]")) : "");
|
public override string Description => $"{(实际加成 >= 0 ? "增加" : "减少")}角色 {Math.Abs(实际加成) * 100:0.##}% {CharacterSet.GetMagicResistanceName(魔法类型)}。" + (Source != null && (Skill.Character != Source || Skill is not OpenSkill) ? $"来自:[ {Source} ]" + (Skill.Item != null ? $" 的 [ {Skill.Item.Name} ]" : (Skill is OpenSkill ? "" : $" 的 [ {Skill.Name} ]")) : "");
|
||||||
public double Value => 实际加成;
|
public double Value => 实际加成;
|
||||||
|
|
||||||
|
|||||||
@ -6,7 +6,7 @@ namespace Oshima.FunGame.OshimaModules.Effects.OpenEffects
|
|||||||
public class ExMOV : Effect
|
public class ExMOV : Effect
|
||||||
{
|
{
|
||||||
public override long Id => (long)EffectID.ExMOV;
|
public override long Id => (long)EffectID.ExMOV;
|
||||||
public override string Name => "移动距离加成";
|
public override string Name { get; set; } = "移动距离加成";
|
||||||
public override string Description => $"{(实际加成 >= 0 ? "增加" : "减少")}角色 {Math.Abs(实际加成)} 格移动距离。" + (Source != null && (Skill.Character != Source || Skill is not OpenSkill) ? $"来自:[ {Source} ]" + (Skill.Item != null ? $" 的 [ {Skill.Item.Name} ]" : (Skill is OpenSkill ? "" : $" 的 [ {Skill.Name} ]")) : "");
|
public override string Description => $"{(实际加成 >= 0 ? "增加" : "减少")}角色 {Math.Abs(实际加成)} 格移动距离。" + (Source != null && (Skill.Character != Source || Skill is not OpenSkill) ? $"来自:[ {Source} ]" + (Skill.Item != null ? $" 的 [ {Skill.Item.Name} ]" : (Skill is OpenSkill ? "" : $" 的 [ {Skill.Name} ]")) : "");
|
||||||
public int Value => 实际加成;
|
public int Value => 实际加成;
|
||||||
|
|
||||||
|
|||||||
@ -6,7 +6,7 @@ namespace Oshima.FunGame.OshimaModules.Effects.OpenEffects
|
|||||||
public class ExMR : Effect
|
public class ExMR : Effect
|
||||||
{
|
{
|
||||||
public override long Id => (long)EffectID.ExMR;
|
public override long Id => (long)EffectID.ExMR;
|
||||||
public override string Name => "魔法回复加成";
|
public override string Name { get; set; } = "魔法回复加成";
|
||||||
public override string Description => $"{(实际加成 >= 0 ? "增加" : "减少")}角色 {Math.Abs(实际加成):0.##} 点魔法回复。" + (Source != null && (Skill.Character != Source || Skill is not OpenSkill) ? $"来自:[ {Source} ]" + (Skill.Item != null ? $" 的 [ {Skill.Item.Name} ]" : (Skill is OpenSkill ? "" : $" 的 [ {Skill.Name} ]")) : "");
|
public override string Description => $"{(实际加成 >= 0 ? "增加" : "减少")}角色 {Math.Abs(实际加成):0.##} 点魔法回复。" + (Source != null && (Skill.Character != Source || Skill is not OpenSkill) ? $"来自:[ {Source} ]" + (Skill.Item != null ? $" 的 [ {Skill.Item.Name} ]" : (Skill is OpenSkill ? "" : $" 的 [ {Skill.Name} ]")) : "");
|
||||||
public double Value => 实际加成;
|
public double Value => 实际加成;
|
||||||
|
|
||||||
|
|||||||
@ -6,7 +6,7 @@ namespace Oshima.FunGame.OshimaModules.Effects.OpenEffects
|
|||||||
public class ExMaxHP : Effect
|
public class ExMaxHP : Effect
|
||||||
{
|
{
|
||||||
public override long Id => (long)EffectID.ExMaxHP;
|
public override long Id => (long)EffectID.ExMaxHP;
|
||||||
public override string Name => "最大生命值加成";
|
public override string Name { get; set; } = "最大生命值加成";
|
||||||
public override string Description => $"{(实际加成 >= 0 ? "增加" : "减少")}角色 {Math.Abs(实际加成):0.##} 点最大生命值。" + (Source != null && (Skill.Character != Source || Skill is not OpenSkill) ? $"来自:[ {Source} ]" + (Skill.Item != null ? $" 的 [ {Skill.Item.Name} ]" : (Skill is OpenSkill ? "" : $" 的 [ {Skill.Name} ]")) : "");
|
public override string Description => $"{(实际加成 >= 0 ? "增加" : "减少")}角色 {Math.Abs(实际加成):0.##} 点最大生命值。" + (Source != null && (Skill.Character != Source || Skill is not OpenSkill) ? $"来自:[ {Source} ]" + (Skill.Item != null ? $" 的 [ {Skill.Item.Name} ]" : (Skill is OpenSkill ? "" : $" 的 [ {Skill.Name} ]")) : "");
|
||||||
public double Value => 实际加成;
|
public double Value => 实际加成;
|
||||||
|
|
||||||
|
|||||||
@ -6,7 +6,7 @@ namespace Oshima.FunGame.OshimaModules.Effects.OpenEffects
|
|||||||
public class ExMaxHP2 : Effect
|
public class ExMaxHP2 : Effect
|
||||||
{
|
{
|
||||||
public override long Id => (long)EffectID.ExMaxHP2;
|
public override long Id => (long)EffectID.ExMaxHP2;
|
||||||
public override string Name => "最大生命值加成";
|
public override string Name { get; set; } = "最大生命值加成";
|
||||||
public override string Description => $"{(实际加成 >= 0 ? "增加" : "减少")}角色 {Math.Abs(加成比例) * 100:0.##}% [ {(实际加成 == 0 ? "基于基础生命值" : $"{Math.Abs(实际加成):0.##}")} ] 点最大生命值。" + (Source != null && (Skill.Character != Source || Skill is not OpenSkill) ? $"来自:[ {Source} ]" + (Skill.Item != null ? $" 的 [ {Skill.Item.Name} ]" : (Skill is OpenSkill ? "" : $" 的 [ {Skill.Name} ]")) : "");
|
public override string Description => $"{(实际加成 >= 0 ? "增加" : "减少")}角色 {Math.Abs(加成比例) * 100:0.##}% [ {(实际加成 == 0 ? "基于基础生命值" : $"{Math.Abs(实际加成):0.##}")} ] 点最大生命值。" + (Source != null && (Skill.Character != Source || Skill is not OpenSkill) ? $"来自:[ {Source} ]" + (Skill.Item != null ? $" 的 [ {Skill.Item.Name} ]" : (Skill is OpenSkill ? "" : $" 的 [ {Skill.Name} ]")) : "");
|
||||||
public double Value => 实际加成;
|
public double Value => 实际加成;
|
||||||
|
|
||||||
|
|||||||
@ -6,7 +6,7 @@ namespace Oshima.FunGame.OshimaModules.Effects.OpenEffects
|
|||||||
public class ExMaxMP : Effect
|
public class ExMaxMP : Effect
|
||||||
{
|
{
|
||||||
public override long Id => (long)EffectID.ExMaxMP;
|
public override long Id => (long)EffectID.ExMaxMP;
|
||||||
public override string Name => "最大魔法值加成";
|
public override string Name { get; set; } = "最大魔法值加成";
|
||||||
public override string Description => $"{(实际加成 >= 0 ? "增加" : "减少")}角色 {Math.Abs(实际加成):0.##} 点最大魔法值。" + (Source != null && (Skill.Character != Source || Skill is not OpenSkill) ? $"来自:[ {Source} ]" + (Skill.Item != null ? $" 的 [ {Skill.Item.Name} ]" : (Skill is OpenSkill ? "" : $" 的 [ {Skill.Name} ]")) : "");
|
public override string Description => $"{(实际加成 >= 0 ? "增加" : "减少")}角色 {Math.Abs(实际加成):0.##} 点最大魔法值。" + (Source != null && (Skill.Character != Source || Skill is not OpenSkill) ? $"来自:[ {Source} ]" + (Skill.Item != null ? $" 的 [ {Skill.Item.Name} ]" : (Skill is OpenSkill ? "" : $" 的 [ {Skill.Name} ]")) : "");
|
||||||
public double Value => 实际加成;
|
public double Value => 实际加成;
|
||||||
|
|
||||||
|
|||||||
@ -6,7 +6,7 @@ namespace Oshima.FunGame.OshimaModules.Effects.OpenEffects
|
|||||||
public class ExMaxMP2 : Effect
|
public class ExMaxMP2 : Effect
|
||||||
{
|
{
|
||||||
public override long Id => (long)EffectID.ExMaxMP2;
|
public override long Id => (long)EffectID.ExMaxMP2;
|
||||||
public override string Name => "最大魔法值加成";
|
public override string Name { get; set; } = "最大魔法值加成";
|
||||||
public override string Description => $"{(实际加成 >= 0 ? "增加" : "减少")}角色 {Math.Abs(加成比例) * 100:0.##}% [ {(实际加成 == 0 ? "基于基础魔法值" : $"{Math.Abs(实际加成):0.##}")} ] 点最大魔法值。" + (Source != null && (Skill.Character != Source || Skill is not OpenSkill) ? $"来自:[ {Source} ]" + (Skill.Item != null ? $" 的 [ {Skill.Item.Name} ]" : (Skill is OpenSkill ? "" : $" 的 [ {Skill.Name} ]")) : "");
|
public override string Description => $"{(实际加成 >= 0 ? "增加" : "减少")}角色 {Math.Abs(加成比例) * 100:0.##}% [ {(实际加成 == 0 ? "基于基础魔法值" : $"{Math.Abs(实际加成):0.##}")} ] 点最大魔法值。" + (Source != null && (Skill.Character != Source || Skill is not OpenSkill) ? $"来自:[ {Source} ]" + (Skill.Item != null ? $" 的 [ {Skill.Item.Name} ]" : (Skill is OpenSkill ? "" : $" 的 [ {Skill.Name} ]")) : "");
|
||||||
public double Value => 实际加成;
|
public double Value => 实际加成;
|
||||||
|
|
||||||
|
|||||||
@ -6,7 +6,7 @@ namespace Oshima.FunGame.OshimaModules.Effects.OpenEffects
|
|||||||
public class ExPDR : Effect
|
public class ExPDR : Effect
|
||||||
{
|
{
|
||||||
public override long Id => (long)EffectID.ExPDR;
|
public override long Id => (long)EffectID.ExPDR;
|
||||||
public override string Name => "物理伤害减免加成";
|
public override string Name { get; set; } = "物理伤害减免加成";
|
||||||
public override string Description => $"{(实际加成 >= 0 ? "增加" : "减少")}角色 {Math.Abs(实际加成) * 100:0.##}% 物理伤害减免。" + (Source != null && (Skill.Character != Source || Skill is not OpenSkill) ? $"来自:[ {Source} ]" + (Skill.Item != null ? $" 的 [ {Skill.Item.Name} ]" : (Skill is OpenSkill ? "" : $" 的 [ {Skill.Name} ]")) : "");
|
public override string Description => $"{(实际加成 >= 0 ? "增加" : "减少")}角色 {Math.Abs(实际加成) * 100:0.##}% 物理伤害减免。" + (Source != null && (Skill.Character != Source || Skill is not OpenSkill) ? $"来自:[ {Source} ]" + (Skill.Item != null ? $" 的 [ {Skill.Item.Name} ]" : (Skill is OpenSkill ? "" : $" 的 [ {Skill.Name} ]")) : "");
|
||||||
public double Value => 实际加成;
|
public double Value => 实际加成;
|
||||||
|
|
||||||
|
|||||||
@ -6,7 +6,7 @@ namespace Oshima.FunGame.OshimaModules.Effects.OpenEffects
|
|||||||
public class ExSPD : Effect
|
public class ExSPD : Effect
|
||||||
{
|
{
|
||||||
public override long Id => (long)EffectID.ExSPD;
|
public override long Id => (long)EffectID.ExSPD;
|
||||||
public override string Name => "行动速度加成";
|
public override string Name { get; set; } = "行动速度加成";
|
||||||
public override string Description => $"{(实际加成 >= 0 ? "增加" : "减少")}角色 {Math.Abs(实际加成):0.##} 点行动速度。" + (Source != null && (Skill.Character != Source || Skill is not OpenSkill) ? $"来自:[ {Source} ]" + (Skill.Item != null ? $" 的 [ {Skill.Item.Name} ]" : (Skill is OpenSkill ? "" : $" 的 [ {Skill.Name} ]")) : "");
|
public override string Description => $"{(实际加成 >= 0 ? "增加" : "减少")}角色 {Math.Abs(实际加成):0.##} 点行动速度。" + (Source != null && (Skill.Character != Source || Skill is not OpenSkill) ? $"来自:[ {Source} ]" + (Skill.Item != null ? $" 的 [ {Skill.Item.Name} ]" : (Skill is OpenSkill ? "" : $" 的 [ {Skill.Name} ]")) : "");
|
||||||
public double Value => 实际加成;
|
public double Value => 实际加成;
|
||||||
|
|
||||||
|
|||||||
@ -6,7 +6,7 @@ namespace Oshima.FunGame.OshimaModules.Effects.OpenEffects
|
|||||||
public class ExSTR : Effect
|
public class ExSTR : Effect
|
||||||
{
|
{
|
||||||
public override long Id => (long)EffectID.ExSTR;
|
public override long Id => (long)EffectID.ExSTR;
|
||||||
public override string Name => "力量加成";
|
public override string Name { get; set; } = "力量加成";
|
||||||
public override string Description => $"{(实际加成 >= 0 ? "增加" : "减少")}角色 {Math.Abs(实际加成):0.##} 点力量。" + (Source != null && (Skill.Character != Source || Skill is not OpenSkill) ? $"来自:[ {Source} ]" + (Skill.Item != null ? $" 的 [ {Skill.Item.Name} ]" : (Skill is OpenSkill ? "" : $" 的 [ {Skill.Name} ]")) : "");
|
public override string Description => $"{(实际加成 >= 0 ? "增加" : "减少")}角色 {Math.Abs(实际加成):0.##} 点力量。" + (Source != null && (Skill.Character != Source || Skill is not OpenSkill) ? $"来自:[ {Source} ]" + (Skill.Item != null ? $" 的 [ {Skill.Item.Name} ]" : (Skill is OpenSkill ? "" : $" 的 [ {Skill.Name} ]")) : "");
|
||||||
public double Value => 实际加成;
|
public double Value => 实际加成;
|
||||||
|
|
||||||
|
|||||||
@ -6,7 +6,7 @@ namespace Oshima.FunGame.OshimaModules.Effects.OpenEffects
|
|||||||
public class ExSTR2 : Effect
|
public class ExSTR2 : Effect
|
||||||
{
|
{
|
||||||
public override long Id => (long)EffectID.ExSTR2;
|
public override long Id => (long)EffectID.ExSTR2;
|
||||||
public override string Name => "力量加成";
|
public override string Name { get; set; } = "力量加成";
|
||||||
public override string Description => $"{(实际加成 >= 0 ? "增加" : "减少")}角色 {Math.Abs(加成比例) * 100:0.##}% [ {(实际加成 == 0 ? "基于基础力量" : $"{Math.Abs(实际加成):0.##}")} ] 点力量。" + (Source != null && (Skill.Character != Source || Skill is not OpenSkill) ? $"来自:[ {Source} ]" + (Skill.Item != null ? $" 的 [ {Skill.Item.Name} ]" : (Skill is OpenSkill ? "" : $" 的 [ {Skill.Name} ]")) : "");
|
public override string Description => $"{(实际加成 >= 0 ? "增加" : "减少")}角色 {Math.Abs(加成比例) * 100:0.##}% [ {(实际加成 == 0 ? "基于基础力量" : $"{Math.Abs(实际加成):0.##}")} ] 点力量。" + (Source != null && (Skill.Character != Source || Skill is not OpenSkill) ? $"来自:[ {Source} ]" + (Skill.Item != null ? $" 的 [ {Skill.Item.Name} ]" : (Skill is OpenSkill ? "" : $" 的 [ {Skill.Name} ]")) : "");
|
||||||
public double Value => 实际加成;
|
public double Value => 实际加成;
|
||||||
|
|
||||||
|
|||||||
@ -6,7 +6,7 @@ namespace Oshima.FunGame.OshimaModules.Effects.OpenEffects
|
|||||||
public class IgnoreEvade : Effect
|
public class IgnoreEvade : Effect
|
||||||
{
|
{
|
||||||
public override long Id => (long)EffectID.IgnoreEvade;
|
public override long Id => (long)EffectID.IgnoreEvade;
|
||||||
public override string Name => "无视闪避";
|
public override string Name { get; set; } = "无视闪避";
|
||||||
public override string Description => $"普通攻击有 {概率 * 100:0.##}% 概率无视闪避。" + (Source != null && (Skill.Character != Source || Skill is not OpenSkill) ? $"来自:[ {Source} ]" + (Skill.Item != null ? $" 的 [ {Skill.Item.Name} ]" : (Skill is OpenSkill ? "" : $" 的 [ {Skill.Name} ]")) : "");
|
public override string Description => $"普通攻击有 {概率 * 100:0.##}% 概率无视闪避。" + (Source != null && (Skill.Character != Source || Skill is not OpenSkill) ? $"来自:[ {Source} ]" + (Skill.Item != null ? $" 的 [ {Skill.Item.Name} ]" : (Skill is OpenSkill ? "" : $" 的 [ {Skill.Name} ]")) : "");
|
||||||
public double Value => 概率;
|
public double Value => 概率;
|
||||||
|
|
||||||
|
|||||||
@ -6,7 +6,7 @@ namespace Oshima.FunGame.OshimaModules.Effects.OpenEffects
|
|||||||
public class MagicalPenetration : Effect
|
public class MagicalPenetration : Effect
|
||||||
{
|
{
|
||||||
public override long Id => (long)EffectID.MagicalPenetration;
|
public override long Id => (long)EffectID.MagicalPenetration;
|
||||||
public override string Name => "魔法穿透加成";
|
public override string Name { get; set; } = "魔法穿透加成";
|
||||||
public override string Description => $"{(实际加成 >= 0 ? "增加" : "减少")}角色 {Math.Abs(实际加成) * 100:0.##}% 魔法穿透。" + (Source != null && (Skill.Character != Source || Skill is not OpenSkill) ? $"来自:[ {Source} ]" + (Skill.Item != null ? $" 的 [ {Skill.Item.Name} ]" : (Skill is OpenSkill ? "" : $" 的 [ {Skill.Name} ]")) : "");
|
public override string Description => $"{(实际加成 >= 0 ? "增加" : "减少")}角色 {Math.Abs(实际加成) * 100:0.##}% 魔法穿透。" + (Source != null && (Skill.Character != Source || Skill is not OpenSkill) ? $"来自:[ {Source} ]" + (Skill.Item != null ? $" 的 [ {Skill.Item.Name} ]" : (Skill is OpenSkill ? "" : $" 的 [ {Skill.Name} ]")) : "");
|
||||||
public double Value => 实际加成;
|
public double Value => 实际加成;
|
||||||
|
|
||||||
|
|||||||
@ -6,7 +6,7 @@ namespace Oshima.FunGame.OshimaModules.Effects.OpenEffects
|
|||||||
public class NormalAttackHardTimeReduce : Effect
|
public class NormalAttackHardTimeReduce : Effect
|
||||||
{
|
{
|
||||||
public override long Id => (long)EffectID.NormalAttackHardTimeReduce;
|
public override long Id => (long)EffectID.NormalAttackHardTimeReduce;
|
||||||
public override string Name => Skill.Name;
|
public override string Name { get; set; } = "普通攻击硬直减少";
|
||||||
public override string Description => $"{(实际硬直时间减少 < 0 ? "增加" : "减少")}角色的普通攻击 {实际硬直时间减少:0.##} {GameplayEquilibriumConstant.InGameTime}硬直时间。" + (Source != null && (Skill.Character != Source || Skill is not OpenSkill) ? $"来自:[ {Source} ]" + (Skill.Item != null ? $" 的 [ {Skill.Item.Name} ]" : (Skill is OpenSkill ? "" : $" 的 [ {Skill.Name} ]")) : "");
|
public override string Description => $"{(实际硬直时间减少 < 0 ? "增加" : "减少")}角色的普通攻击 {实际硬直时间减少:0.##} {GameplayEquilibriumConstant.InGameTime}硬直时间。" + (Source != null && (Skill.Character != Source || Skill is not OpenSkill) ? $"来自:[ {Source} ]" + (Skill.Item != null ? $" 的 [ {Skill.Item.Name} ]" : (Skill is OpenSkill ? "" : $" 的 [ {Skill.Name} ]")) : "");
|
||||||
|
|
||||||
private readonly double 实际硬直时间减少 = 0;
|
private readonly double 实际硬直时间减少 = 0;
|
||||||
|
|||||||
@ -6,7 +6,7 @@ namespace Oshima.FunGame.OshimaModules.Effects.OpenEffects
|
|||||||
public class NormalAttackHardTimeReduce2 : Effect
|
public class NormalAttackHardTimeReduce2 : Effect
|
||||||
{
|
{
|
||||||
public override long Id => (long)EffectID.NormalAttackHardTimeReduce2;
|
public override long Id => (long)EffectID.NormalAttackHardTimeReduce2;
|
||||||
public override string Name => Skill.Name;
|
public override string Name { get; set; } = "普通攻击硬直减少";
|
||||||
public override string Description => $"{(减少比例 < 0 ? "增加" : "减少")}角色的普通攻击 {减少比例 * 100:0.##}% 硬直时间。" + (Source != null && (Skill.Character != Source || Skill is not OpenSkill) ? $"来自:[ {Source} ]" + (Skill.Item != null ? $" 的 [ {Skill.Item.Name} ]" : (Skill is OpenSkill ? "" : $" 的 [ {Skill.Name} ]")) : "");
|
public override string Description => $"{(减少比例 < 0 ? "增加" : "减少")}角色的普通攻击 {减少比例 * 100:0.##}% 硬直时间。" + (Source != null && (Skill.Character != Source || Skill is not OpenSkill) ? $"来自:[ {Source} ]" + (Skill.Item != null ? $" 的 [ {Skill.Item.Name} ]" : (Skill is OpenSkill ? "" : $" 的 [ {Skill.Name} ]")) : "");
|
||||||
|
|
||||||
private readonly double 减少比例 = 0;
|
private readonly double 减少比例 = 0;
|
||||||
|
|||||||
@ -6,7 +6,7 @@ namespace Oshima.FunGame.OshimaModules.Effects.OpenEffects
|
|||||||
public class PhysicalPenetration : Effect
|
public class PhysicalPenetration : Effect
|
||||||
{
|
{
|
||||||
public override long Id => (long)EffectID.PhysicalPenetration;
|
public override long Id => (long)EffectID.PhysicalPenetration;
|
||||||
public override string Name => "物理穿透加成";
|
public override string Name { get; set; } = "物理穿透加成";
|
||||||
public override string Description => $"{(实际加成 >= 0 ? "增加" : "减少")}角色 {Math.Abs(实际加成) * 100:0.##}% 物理穿透。" + (Source != null && (Skill.Character != Source || Skill is not OpenSkill) ? $"来自:[ {Source} ]" + (Skill.Item != null ? $" 的 [ {Skill.Item.Name} ]" : (Skill is OpenSkill ? "" : $" 的 [ {Skill.Name} ]")) : "");
|
public override string Description => $"{(实际加成 >= 0 ? "增加" : "减少")}角色 {Math.Abs(实际加成) * 100:0.##}% 物理穿透。" + (Source != null && (Skill.Character != Source || Skill is not OpenSkill) ? $"来自:[ {Source} ]" + (Skill.Item != null ? $" 的 [ {Skill.Item.Name} ]" : (Skill is OpenSkill ? "" : $" 的 [ {Skill.Name} ]")) : "");
|
||||||
public double Value => 实际加成;
|
public double Value => 实际加成;
|
||||||
|
|
||||||
|
|||||||
@ -6,7 +6,7 @@ namespace Oshima.FunGame.OshimaModules.Effects.OpenEffects
|
|||||||
public class SkillHardTimeReduce : Effect
|
public class SkillHardTimeReduce : Effect
|
||||||
{
|
{
|
||||||
public override long Id => (long)EffectID.SkillHardTimeReduce;
|
public override long Id => (long)EffectID.SkillHardTimeReduce;
|
||||||
public override string Name => Skill.Name;
|
public override string Name { get; set; } = "主动技能硬直减少";
|
||||||
public override string Description => $"减少角色的所有主动技能 {实际硬直时间减少:0.##} {GameplayEquilibriumConstant.InGameTime}硬直时间。" + (Source != null && (Skill.Character != Source || Skill is not OpenSkill) ? $"来自:[ {Source} ]" + (Skill.Item != null ? $" 的 [ {Skill.Item.Name} ]" : (Skill is OpenSkill ? "" : $" 的 [ {Skill.Name} ]")) : "");
|
public override string Description => $"减少角色的所有主动技能 {实际硬直时间减少:0.##} {GameplayEquilibriumConstant.InGameTime}硬直时间。" + (Source != null && (Skill.Character != Source || Skill is not OpenSkill) ? $"来自:[ {Source} ]" + (Skill.Item != null ? $" 的 [ {Skill.Item.Name} ]" : (Skill is OpenSkill ? "" : $" 的 [ {Skill.Name} ]")) : "");
|
||||||
|
|
||||||
private readonly double 实际硬直时间减少 = 0;
|
private readonly double 实际硬直时间减少 = 0;
|
||||||
|
|||||||
@ -6,7 +6,7 @@ namespace Oshima.FunGame.OshimaModules.Effects.OpenEffects
|
|||||||
public class SkillHardTimeReduce2 : Effect
|
public class SkillHardTimeReduce2 : Effect
|
||||||
{
|
{
|
||||||
public override long Id => (long)EffectID.SkillHardTimeReduce2;
|
public override long Id => (long)EffectID.SkillHardTimeReduce2;
|
||||||
public override string Name => Skill.Name;
|
public override string Name { get; set; } = "主动技能硬直减少";
|
||||||
public override string Description => $"减少角色的所有主动技能 {减少比例 * 100:0.##}% 硬直时间。" + (Source != null && (Skill.Character != Source || Skill is not OpenSkill) ? $"来自:[ {Source} ]" + (Skill.Item != null ? $" 的 [ {Skill.Item.Name} ]" : (Skill is OpenSkill ? "" : $" 的 [ {Skill.Name} ]")) : "");
|
public override string Description => $"减少角色的所有主动技能 {减少比例 * 100:0.##}% 硬直时间。" + (Source != null && (Skill.Character != Source || Skill is not OpenSkill) ? $"来自:[ {Source} ]" + (Skill.Item != null ? $" 的 [ {Skill.Item.Name} ]" : (Skill is OpenSkill ? "" : $" 的 [ {Skill.Name} ]")) : "");
|
||||||
|
|
||||||
private readonly double 减少比例 = 0;
|
private readonly double 减少比例 = 0;
|
||||||
|
|||||||
53
OshimaModules/Effects/PassiveEffects/缴械.cs
Normal file
53
OshimaModules/Effects/PassiveEffects/缴械.cs
Normal file
@ -0,0 +1,53 @@
|
|||||||
|
using Milimoe.FunGame.Core.Entity;
|
||||||
|
using Milimoe.FunGame.Core.Library.Constant;
|
||||||
|
using Oshima.FunGame.OshimaModules.Effects.OpenEffects;
|
||||||
|
|
||||||
|
namespace Oshima.FunGame.OshimaModules.Effects.PassiveEffects
|
||||||
|
{
|
||||||
|
public class 缴械 : Effect
|
||||||
|
{
|
||||||
|
public override long Id => (long)PassiveEffectID.缴械;
|
||||||
|
public override string Name => "缴械";
|
||||||
|
public override string Description => $"此角色被缴械了,不能使用普通攻击。来自:[ {Source} ] 的 [ {Skill.Name} ]";
|
||||||
|
public override EffectType EffectType => EffectType.Disarm;
|
||||||
|
public override DispelledType DispelledType => DispelledType.Weak;
|
||||||
|
public override bool IsDebuff => true;
|
||||||
|
public override Character Source => _sourceCharacter;
|
||||||
|
public override bool Durative => _durative;
|
||||||
|
public override double Duration => _duration;
|
||||||
|
public override int DurationTurn => _durationTurn;
|
||||||
|
public override bool ExemptDuration => true;
|
||||||
|
|
||||||
|
private readonly Character _sourceCharacter;
|
||||||
|
private readonly bool _durative;
|
||||||
|
private readonly double _duration;
|
||||||
|
private readonly int _durationTurn;
|
||||||
|
|
||||||
|
public 缴械(Skill skill, Character sourceCharacter, bool durative = false, double duration = 0, int durationTurn = 1) : base(skill)
|
||||||
|
{
|
||||||
|
GamingQueue = skill.GamingQueue;
|
||||||
|
_sourceCharacter = sourceCharacter;
|
||||||
|
_durative = durative;
|
||||||
|
_duration = duration;
|
||||||
|
_durationTurn = durationTurn;
|
||||||
|
}
|
||||||
|
|
||||||
|
public override void OnEffectGained(Character character)
|
||||||
|
{
|
||||||
|
if (_durative && RemainDuration == 0)
|
||||||
|
{
|
||||||
|
RemainDuration = Duration;
|
||||||
|
}
|
||||||
|
else if (RemainDurationTurn == 0)
|
||||||
|
{
|
||||||
|
RemainDurationTurn = DurationTurn;
|
||||||
|
}
|
||||||
|
AddEffectStatesToCharacter(character, [CharacterState.AttackRestricted]);
|
||||||
|
}
|
||||||
|
|
||||||
|
public override void OnEffectLost(Character character)
|
||||||
|
{
|
||||||
|
RemoveEffectStatesFromCharacter(character);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -8,7 +8,7 @@ namespace Oshima.FunGame.OshimaModules.Effects.PassiveEffects
|
|||||||
public class 迟滞 : Effect
|
public class 迟滞 : Effect
|
||||||
{
|
{
|
||||||
public override long Id => (long)PassiveEffectID.迟滞;
|
public override long Id => (long)PassiveEffectID.迟滞;
|
||||||
public override string Name => "迟滞";
|
public override string Name { get; set; } = "迟滞";
|
||||||
public override string Description => $"此角色处于迟滞状态,普通攻击和技能的硬直时间、当前行动等待时间延长 {_hardnessReductionPercent * 100:0.##}%。来自:[ {Source} ] 的 [ {Skill.Name} ]";
|
public override string Description => $"此角色处于迟滞状态,普通攻击和技能的硬直时间、当前行动等待时间延长 {_hardnessReductionPercent * 100:0.##}%。来自:[ {Source} ] 的 [ {Skill.Name} ]";
|
||||||
public override EffectType EffectType => EffectType.Slow;
|
public override EffectType EffectType => EffectType.Slow;
|
||||||
public override DispelledType DispelledType => DispelledType.Weak;
|
public override DispelledType DispelledType => DispelledType.Weak;
|
||||||
|
|||||||
@ -58,6 +58,7 @@ namespace Oshima.FunGame.OshimaModules.Effects.PassiveEffects
|
|||||||
{ "p", 1 }
|
{ "p", 1 }
|
||||||
}, Source)
|
}, Source)
|
||||||
{
|
{
|
||||||
|
Name = Name,
|
||||||
Durative = false,
|
Durative = false,
|
||||||
DurationTurn = 3,
|
DurationTurn = 3,
|
||||||
RemainDurationTurn = 3
|
RemainDurationTurn = 3
|
||||||
|
|||||||
@ -40,6 +40,7 @@ namespace Oshima.FunGame.OshimaModules.Effects.SkillEffects
|
|||||||
{ "exspd", SPD }
|
{ "exspd", SPD }
|
||||||
}, caster)
|
}, caster)
|
||||||
{
|
{
|
||||||
|
Name = Name,
|
||||||
Durative = _durative,
|
Durative = _durative,
|
||||||
Duration = _duration,
|
Duration = _duration,
|
||||||
DurationTurn = _durationTurn
|
DurationTurn = _durationTurn
|
||||||
|
|||||||
@ -145,6 +145,10 @@ namespace Oshima.FunGame.OshimaModules.Effects.SkillEffects
|
|||||||
tip = $"[ {caster} ] 对 [ {target} ] 造成了战斗不能,禁止普通攻击和使用技能(魔法、战技和爆发技)!持续时间:{持续时间}!";
|
tip = $"[ {caster} ] 对 [ {target} ] 造成了战斗不能,禁止普通攻击和使用技能(魔法、战技和爆发技)!持续时间:{持续时间}!";
|
||||||
e = new 战斗不能(Skill, caster, _durative, duration, durationTurn);
|
e = new 战斗不能(Skill, caster, _durative, duration, durationTurn);
|
||||||
break;
|
break;
|
||||||
|
case EffectType.Disarm:
|
||||||
|
tip = $"[ {caster} ] 对 [ {target} ] 造成了缴械!持续时间:{持续时间}!";
|
||||||
|
e = new 缴械(Skill, caster, _durative, duration, durationTurn);
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@ -250,6 +254,10 @@ namespace Oshima.FunGame.OshimaModules.Effects.SkillEffects
|
|||||||
_dispelledType = DispelledType.Strong;
|
_dispelledType = DispelledType.Strong;
|
||||||
_description = "战斗不能:无法普通攻击和使用技能(魔法、战技和爆发技)。";
|
_description = "战斗不能:无法普通攻击和使用技能(魔法、战技和爆发技)。";
|
||||||
break;
|
break;
|
||||||
|
case EffectType.Disarm:
|
||||||
|
_dispelledType = DispelledType.Weak;
|
||||||
|
_description = "缴械:无法普通攻击。";
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -41,6 +41,7 @@ namespace Oshima.FunGame.OshimaModules.Effects.SkillEffects
|
|||||||
{ "exspd", SPD }
|
{ "exspd", SPD }
|
||||||
}, caster)
|
}, caster)
|
||||||
{
|
{
|
||||||
|
Name = Name,
|
||||||
Durative = _durative,
|
Durative = _durative,
|
||||||
Duration = _duration,
|
Duration = _duration,
|
||||||
DurationTurn = _durationTurn
|
DurationTurn = _durationTurn
|
||||||
|
|||||||
@ -1,11 +1,14 @@
|
|||||||
using System.Collections.Concurrent;
|
using System.Collections.Concurrent;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
|
using Milimoe.FunGame.Core.Api.Utility;
|
||||||
using Milimoe.FunGame.Core.Entity;
|
using Milimoe.FunGame.Core.Entity;
|
||||||
using Milimoe.FunGame.Core.Library.Constant;
|
using Milimoe.FunGame.Core.Library.Constant;
|
||||||
using Oshima.Core.Constant;
|
using Oshima.Core.Constant;
|
||||||
|
using Oshima.FunGame.OshimaModules.Characters;
|
||||||
using Oshima.FunGame.OshimaModules.Effects.OpenEffects;
|
using Oshima.FunGame.OshimaModules.Effects.OpenEffects;
|
||||||
using Oshima.FunGame.OshimaModules.Items;
|
using Oshima.FunGame.OshimaModules.Items;
|
||||||
using Oshima.FunGame.OshimaModules.Regions;
|
using Oshima.FunGame.OshimaModules.Regions;
|
||||||
|
using Oshima.FunGame.OshimaModules.Skills;
|
||||||
|
|
||||||
namespace Oshima.FunGame.OshimaModules.Models
|
namespace Oshima.FunGame.OshimaModules.Models
|
||||||
{
|
{
|
||||||
@ -56,6 +59,148 @@ namespace Oshima.FunGame.OshimaModules.Models
|
|||||||
public static DateTime RankingUpdateTime { get; set; } = DateTime.Now;
|
public static DateTime RankingUpdateTime { get; set; } = DateTime.Now;
|
||||||
public static char[] SplitChars => [',', ' ', ',', ';', ';'];
|
public static char[] SplitChars => [',', ' ', ',', ';', ';'];
|
||||||
|
|
||||||
|
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());
|
||||||
|
Characters.Add(new ShiYu());
|
||||||
|
Characters.Add(new XReouni());
|
||||||
|
Characters.Add(new Neptune());
|
||||||
|
Characters.Add(new CHAOS());
|
||||||
|
Characters.Add(new Ryuko());
|
||||||
|
Characters.Add(new TheGodK());
|
||||||
|
|
||||||
|
Skills.AddRange([new 疾风步(), new 助威(), new 挑拨(), new 绞丝棍(), new 金刚击(), new 旋风轮(), new 双连击(), new 绝影(), new 胧(), new 魔眼(),
|
||||||
|
new 天堂之吻(), new 回复弹(), new 养命功(), new 镜花水月(), new 剑风闪(), new 鲨鱼锚击(), new 疾走(), new 闪现()]);
|
||||||
|
|
||||||
|
SuperSkills.AddRange([new 极寒渴望(), new 身心一境(), new 绝对领域(), new 零式灭杀(), new 三相灵枢(), new 变幻之心(), new 熵灭极诣(), new 残香凋零(), new 饕餮盛宴(),
|
||||||
|
new 宿命时律(), new 千羽瞬华(), new 咒怨洪流(), new 放监(), new 归元环(), new 海王星的野望(), new 全军出击(), new 宿命之潮(), new 神之因果()]);
|
||||||
|
|
||||||
|
PassiveSkills.AddRange([new META马(), new 心灵之弦(), new 蚀魂震击(), new 灵能反射(), new 双生流转(), new 零式崩解(), new 少女绮想(), new 暗香疏影(), new 破釜沉舟(),
|
||||||
|
new 累积之压(), new 银隼之赐(), new 弱者猎手(), new 开宫(), new 八卦阵(), new 深海之戟(), new 雇佣兵团(), new 不息之流(), new 概念之骰()]);
|
||||||
|
|
||||||
|
CommonPassiveSkills.AddRange([new 征服者(), new 致命节奏(), new 强攻(), new 电刑(), new 黑暗收割(), new 迅捷步法(), new 贪欲猎手()]);
|
||||||
|
|
||||||
|
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 岩石之息(), 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);
|
||||||
|
Equipment.AddRange(exItems.Values.Where(i => (int)i.ItemType >= 0 && (int)i.ItemType < 5));
|
||||||
|
Equipment.AddRange([new 攻击之爪10(), new 攻击之爪25(), new 攻击之爪40(), new 攻击之爪55(), new 攻击之爪70(), new 攻击之爪85(), new 糖糖一周年纪念武器(),
|
||||||
|
new 糖糖一周年纪念防具(), new 糖糖一周年纪念鞋子(), new 糖糖一周年纪念饰品1(), new 糖糖一周年纪念饰品2()]);
|
||||||
|
|
||||||
|
Items.AddRange(exItems.Values.Where(i => (int)i.ItemType > 4));
|
||||||
|
Items.AddRange([new 小经验书(), new 中经验书(), new 大经验书(), new 升华之印(), new 流光之印(), new 永恒之印(), new 技能卷轴(), new 智慧之果(), new 奥术符文(), new 混沌之核(),
|
||||||
|
new 小回复药(), new 中回复药(), new 大回复药(), new 魔力填充剂1(), new 魔力填充剂2(), new 魔力填充剂3(), new 能量饮料1(), new 能量饮料2(), new 能量饮料3(), new 年夜饭(), new 蛇年大吉(), new 新春快乐(), new 毕业礼包(),
|
||||||
|
new 复苏药1(), new 复苏药2(), new 复苏药3(), new 全回复药(), new 魔法卡礼包(), new 奖券(), new 十连奖券(), new 改名卡(), new 原初之印(), new 创生之印(), new 法则精粹(), new 大师锻造券(),
|
||||||
|
new 一周年纪念礼包(), new 一周年纪念套装(), new 冬至快乐(), new 圣诞礼包(), new 元旦快乐()
|
||||||
|
]);
|
||||||
|
|
||||||
|
UserDailyItems.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 磐石(), new 砂砾(), new 铁甲贝壳(), new 蜥蜴尾巴(), new 古老钟摆(), new 枯藤()]);
|
||||||
|
|
||||||
|
NotForSaleItems.AddRange([new 一周年纪念礼包(), new 一周年纪念套装(), new 毕业礼包(), new 糖糖一周年纪念武器(), new 糖糖一周年纪念防具(), new 糖糖一周年纪念鞋子(),
|
||||||
|
new 糖糖一周年纪念饰品1(), new 糖糖一周年纪念饰品2()]);
|
||||||
|
|
||||||
|
AllItems.AddRange(Equipment);
|
||||||
|
AllItems.AddRange(Items);
|
||||||
|
AllItems.AddRange(UserDailyItems);
|
||||||
|
AllItems.AddRange(NotForSaleItems);
|
||||||
|
|
||||||
|
foreach (OshimaRegion region in Regions)
|
||||||
|
{
|
||||||
|
List<Item> items = [.. region.Crops.Select(i => i.Copy())];
|
||||||
|
ExploreItems.Add(region, items);
|
||||||
|
}
|
||||||
|
|
||||||
|
long[] notDrawIds = [.. UserDailyItems.Union(NotForSaleItems).Select(i => i.Id)];
|
||||||
|
DrawCardItems.AddRange(AllItems.Where(i => !ItemCanNotDrawCard.Contains(i.ItemType) && !notDrawIds.Contains(i.Id)));
|
||||||
|
CharacterLevelBreakItems.AddRange([new 升华之印(), new 流光之印(), new 永恒之印(), new 原初之印(), new 创生之印()]);
|
||||||
|
SkillLevelUpItems.AddRange([new 技能卷轴(), new 智慧之果(), new 奥术符文(), new 混沌之核(), new 法则精粹()]);
|
||||||
|
|
||||||
|
AllItems.AddRange(ExploreItems.Values.SelectMany(list => list));
|
||||||
|
|
||||||
|
foreach (OshimaRegion region in Regions)
|
||||||
|
{
|
||||||
|
RegionsName[region.Id] = region.Name;
|
||||||
|
RegionsDifficulty[region.Id] = region.Difficulty;
|
||||||
|
IEnumerable<Item> items = AllItems.Where(i => i.Others.TryGetValue("region", out object? value) && int.TryParse(value.ToString(), out int rid) && rid == region.Id).Select(i => i.Copy()).OrderByDescending(i => i.QualityType);
|
||||||
|
foreach (Item item in items)
|
||||||
|
{
|
||||||
|
region.Items.Add(item);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
foreach (OshimaRegion region in PlayerRegions)
|
||||||
|
{
|
||||||
|
RegionsName[region.Id] = region.Name;
|
||||||
|
RegionsDifficulty[region.Id] = region.Difficulty;
|
||||||
|
IEnumerable<Item> items;
|
||||||
|
if (region.Id == 0)
|
||||||
|
{
|
||||||
|
items = Equipment.Where(i => !i.Others.ContainsKey("region")).Select(i => i.Copy()).OrderByDescending(i => i.QualityType);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
items = AllItems.Where(i => i.Others.TryGetValue("region", out object? value) && int.TryParse(value.ToString(), out int rid) && rid == region.Id).Select(i => i.Copy()).OrderByDescending(i => i.QualityType);
|
||||||
|
}
|
||||||
|
foreach (Item item in items)
|
||||||
|
{
|
||||||
|
region.Items.Add(item);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
Skill?[] activeSkills = [.. Equipment.Select(i => i.Skills.Active), .. Items.Select(i => i.Skills.Active)];
|
||||||
|
foreach (Skill? skill in activeSkills)
|
||||||
|
{
|
||||||
|
if (skill != null)
|
||||||
|
{
|
||||||
|
ItemSkills.Add(skill);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
ItemSkills.AddRange([.. Equipment.SelectMany(i => i.Skills.Passives), .. Items.SelectMany(i => i.Skills.Passives)]);
|
||||||
|
|
||||||
|
AllSkills.AddRange(Magics);
|
||||||
|
AllSkills.AddRange(Skills);
|
||||||
|
AllSkills.AddRange(PassiveSkills);
|
||||||
|
AllSkills.AddRange(CommonPassiveSkills);
|
||||||
|
AllSkills.AddRange(ItemSkills);
|
||||||
|
AllSkills.AddRange(SuperSkills);
|
||||||
|
AllSkills.AddRange(CommonSuperSkills);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void Reload()
|
||||||
|
{
|
||||||
|
Characters.Clear();
|
||||||
|
Equipment.Clear();
|
||||||
|
Skills.Clear();
|
||||||
|
SuperSkills.Clear();
|
||||||
|
CommonSuperSkills.Clear();
|
||||||
|
PassiveSkills.Clear();
|
||||||
|
CommonPassiveSkills.Clear();
|
||||||
|
Magics.Clear();
|
||||||
|
DrawCardItems.Clear();
|
||||||
|
ExploreItems.Clear();
|
||||||
|
AllItems.Clear();
|
||||||
|
ItemSkills.Clear();
|
||||||
|
AllSkills.Clear();
|
||||||
|
InitFunGame();
|
||||||
|
}
|
||||||
|
|
||||||
public static Dictionary<int, Dictionary<string, int>> LevelBreakNeedyList { get; } = new()
|
public static Dictionary<int, Dictionary<string, int>> LevelBreakNeedyList { get; } = new()
|
||||||
{
|
{
|
||||||
{
|
{
|
||||||
@ -633,12 +778,28 @@ namespace Oshima.FunGame.OshimaModules.Models
|
|||||||
"堰揩越趁趋超揽堤提博揭喜彭揣插揪搜煮援搀裁搁搓搂搅壹握搔揉斯期欺联葫" +
|
"堰揩越趁趋超揽堤提博揭喜彭揣插揪搜煮援搀裁搁搓搂搅壹握搔揉斯期欺联葫" +
|
||||||
"散惹葬募葛董葡敬葱蒋蒂落韩朝辜葵棒棱棋椰植森焚椅椒棵棍椎棉";
|
"散惹葬募葛董葡敬葱蒋蒂落韩朝辜葵棒棱棋椰植森焚椅椒棵棍椎棉";
|
||||||
|
|
||||||
|
public static string GenerateRandomChineseName()
|
||||||
|
{
|
||||||
|
// 随机生成名字长度,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();
|
||||||
|
}
|
||||||
|
|
||||||
public static string GenerateRandomChineseUserName()
|
public static string GenerateRandomChineseUserName()
|
||||||
{
|
{
|
||||||
StringBuilder name = new();
|
StringBuilder name = new();
|
||||||
|
|
||||||
// 随机姓
|
// 随机姓
|
||||||
string lastname = FunGameConstant.CommonSurnames[Random.Shared.Next(FunGameConstant.CommonSurnames.Length)];
|
string lastname = CommonSurnames[Random.Shared.Next(CommonSurnames.Length)];
|
||||||
name.Append(lastname);
|
name.Append(lastname);
|
||||||
|
|
||||||
// 随机生成名字长度,2到5个字
|
// 随机生成名字长度,2到5个字
|
||||||
@ -647,7 +808,7 @@ namespace Oshima.FunGame.OshimaModules.Models
|
|||||||
for (int i = 0; i < nameLength; i++)
|
for (int i = 0; i < nameLength; i++)
|
||||||
{
|
{
|
||||||
// 从常用汉字集中随机选择一个汉字
|
// 从常用汉字集中随机选择一个汉字
|
||||||
char chineseCharacter = FunGameConstant.CommonChineseCharacters[Random.Shared.Next(FunGameConstant.CommonChineseCharacters.Length)];
|
char chineseCharacter = CommonChineseCharacters[Random.Shared.Next(CommonChineseCharacters.Length)];
|
||||||
name.Append(chineseCharacter);
|
name.Append(chineseCharacter);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -114,6 +114,7 @@ namespace Oshima.FunGame.OshimaModules
|
|||||||
(long)SkillID.养命功 => new 养命功(),
|
(long)SkillID.养命功 => new 养命功(),
|
||||||
(long)SkillID.镜花水月 => new 镜花水月(),
|
(long)SkillID.镜花水月 => new 镜花水月(),
|
||||||
(long)SkillID.剑风闪 => new 剑风闪(),
|
(long)SkillID.剑风闪 => new 剑风闪(),
|
||||||
|
(long)SkillID.鲨鱼锚击 => new 鲨鱼锚击(),
|
||||||
(long)SkillID.疾走 => new 疾走(),
|
(long)SkillID.疾走 => new 疾走(),
|
||||||
(long)SkillID.闪现 => new 闪现(),
|
(long)SkillID.闪现 => new 闪现(),
|
||||||
(long)SuperSkillID.熵灭极诣 => new 熵灭极诣(),
|
(long)SuperSkillID.熵灭极诣 => new 熵灭极诣(),
|
||||||
@ -157,6 +158,8 @@ namespace Oshima.FunGame.OshimaModules
|
|||||||
(long)PassiveID.强攻 => new 强攻(),
|
(long)PassiveID.强攻 => new 强攻(),
|
||||||
(long)PassiveID.电刑 => new 电刑(),
|
(long)PassiveID.电刑 => new 电刑(),
|
||||||
(long)PassiveID.黑暗收割 => new 黑暗收割(),
|
(long)PassiveID.黑暗收割 => new 黑暗收割(),
|
||||||
|
(long)PassiveID.迅捷步法 => new 迅捷步法(),
|
||||||
|
(long)PassiveID.贪欲猎手 => new 贪欲猎手(),
|
||||||
(long)ItemPassiveID.攻击之爪 => new 攻击之爪技能(),
|
(long)ItemPassiveID.攻击之爪 => new 攻击之爪技能(),
|
||||||
(long)ItemPassiveID.糖糖一周年纪念武器 => new 糖糖一周年纪念武器技能(),
|
(long)ItemPassiveID.糖糖一周年纪念武器 => new 糖糖一周年纪念武器技能(),
|
||||||
(long)ItemPassiveID.糖糖一周年纪念防具 => new 糖糖一周年纪念防具技能(),
|
(long)ItemPassiveID.糖糖一周年纪念防具 => new 糖糖一周年纪念防具技能(),
|
||||||
|
|||||||
@ -116,7 +116,7 @@ namespace Oshima.FunGame.OshimaModules.Skills
|
|||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (character.Effects.FirstOrDefault(e => e is 雇佣兵团特效 && e.Skill == Skill) is 雇佣兵团特效 e)
|
if (character.Effects.FirstOrDefault(e => e is 雇佣兵团特效 && e.Skill.Character == Skill.Character) is 雇佣兵团特效 e)
|
||||||
{
|
{
|
||||||
int count = e.雇佣兵团.Count;
|
int count = e.雇佣兵团.Count;
|
||||||
实际攻击力提升 = 攻击力 * count;
|
实际攻击力提升 = 攻击力 * count;
|
||||||
|
|||||||
@ -172,7 +172,7 @@ namespace Oshima.FunGame.OshimaModules.Skills
|
|||||||
* 陀螺舞 = 多目标愤怒(嘲讽,回合型),需强驱散
|
* 陀螺舞 = 多目标愤怒(嘲讽,回合型),需强驱散
|
||||||
* 光破斩 = 多目标伤害
|
* 光破斩 = 多目标伤害
|
||||||
* 跳跃点射 = 单体伤害+护甲降低+施法解除,需强驱散
|
* 跳跃点射 = 单体伤害+护甲降低+施法解除,需强驱散
|
||||||
* 鲨鱼锚击 = 单体伤害+气绝(行动受限+持续伤害,时间型),需强驱散
|
* 鲨鱼锚击 = 单体伤害+缴械(攻击受限,回合型),可弱驱散
|
||||||
* 光鬼斩 = 单体伤害,概率气绝(行动受限+持续伤害,时间型),需强驱散
|
* 光鬼斩 = 单体伤害,概率气绝(行动受限+持续伤害,时间型),需强驱散
|
||||||
* 雷索吸缚 = 单体愤怒(嘲讽,回合型)、概率气绝(行动受限+持续伤害,时间型),需强驱散
|
* 雷索吸缚 = 单体愤怒(嘲讽,回合型)、概率气绝(行动受限+持续伤害,时间型),需强驱散
|
||||||
* 狂刃剑舞 = 敌方·单体攻击,概率混乱(行动受限,如同AI控制行动,回合型),需强驱散
|
* 狂刃剑舞 = 敌方·单体攻击,概率混乱(行动受限,如同AI控制行动,回合型),需强驱散
|
||||||
@ -337,7 +337,7 @@ namespace Oshima.FunGame.OshimaModules.Skills
|
|||||||
* 弱者猎手 = 每个回合都会标记血量最少和血量百分比低于自身的敌人;对受到标记的目标造成额外伤害
|
* 弱者猎手 = 每个回合都会标记血量最少和血量百分比低于自身的敌人;对受到标记的目标造成额外伤害
|
||||||
* 征服者 = 普攻或技能命中叠加层数,叠满后下次攻击造成额外真实伤害并提供额外核心属性
|
* 征服者 = 普攻或技能命中叠加层数,叠满后下次攻击造成额外真实伤害并提供额外核心属性
|
||||||
* 致命节奏 = 普攻造成伤害后大幅提升行动速度,行动系数超过阈值后,获得额外攻击力
|
* 致命节奏 = 普攻造成伤害后大幅提升行动速度,行动系数超过阈值后,获得额外攻击力
|
||||||
* 迅捷步法 = 造成伤害叠加层数,满层后下次攻击回复生命值并提升行动系数和加速系数
|
* 迅捷步法 = 造成伤害回复生命值并提升行动系数和加速系数
|
||||||
* 强攻 = 3次连续普攻同一目标时造成额外伤害并使其进入“易损”状态,后续承受伤害提升
|
* 强攻 = 3次连续普攻同一目标时造成额外伤害并使其进入“易损”状态,后续承受伤害提升
|
||||||
* 电刑 = 一定时间内用3个独立普攻/技能命中同一目标时,造成额外伤害
|
* 电刑 = 一定时间内用3个独立普攻/技能命中同一目标时,造成额外伤害
|
||||||
* 黑暗收割 = 对一半以下生命值的目标造成伤害时,收集其灵魂永久提升伤害
|
* 黑暗收割 = 对一半以下生命值的目标造成伤害时,收集其灵魂永久提升伤害
|
||||||
|
|||||||
@ -45,11 +45,11 @@ namespace Oshima.FunGame.OshimaModules.Skills
|
|||||||
$"取得第一层「噬」后,同时获得「恒」效果:当总生命偷取超过 {生命偷取阈值 * 100:0.##}% 后,超出部分每 {生命偷取每单位 * 100:0.##}% 转化为 {生命偷取转化 * 100:0.##}% 攻击力。";
|
$"取得第一层「噬」后,同时获得「恒」效果:当总生命偷取超过 {生命偷取阈值 * 100:0.##}% 后,超出部分每 {生命偷取每单位 * 100:0.##}% 转化为 {生命偷取转化 * 100:0.##}% 攻击力。";
|
||||||
|
|
||||||
public static int 最多层数 => 8;
|
public static int 最多层数 => 8;
|
||||||
public static double 攻击力提升 => 0.08;
|
public static double 攻击力提升 => 0.06;
|
||||||
public static double 暴击率提升 => 0.04;
|
public static double 暴击率提升 => 0.03;
|
||||||
public static double 暴击伤害提升 => 0.08;
|
public static double 暴击伤害提升 => 0.06;
|
||||||
public static double 生命偷取提升 => 0.05;
|
public static double 生命偷取提升 => 0.04;
|
||||||
public static double 受到伤害减少 => 0.06;
|
public static double 受到伤害减少 => 0.05;
|
||||||
public static double 生命偷取阈值 => 0.3;
|
public static double 生命偷取阈值 => 0.3;
|
||||||
public static double 生命偷取每单位 => 0.01;
|
public static double 生命偷取每单位 => 0.01;
|
||||||
public static double 生命偷取转化 => 0.005;
|
public static double 生命偷取转化 => 0.005;
|
||||||
|
|||||||
@ -28,13 +28,14 @@ namespace Oshima.FunGame.OshimaModules.Skills
|
|||||||
public override long Id => Skill.Id;
|
public override long Id => Skill.Id;
|
||||||
public override string Name => Skill.Name;
|
public override string Name => Skill.Name;
|
||||||
public override string Description => $"{Skill.SkillOwner()}短暂显现其「神」之本质,开启持续 4 回合的「神之领域」:在持续时间内,{Skill.SkillOwner()}对任意敌方目标造成的伤害,都将记录为「因果伤害值」。" +
|
public override string Description => $"{Skill.SkillOwner()}短暂显现其「神」之本质,开启持续 4 回合的「神之领域」:在持续时间内,{Skill.SkillOwner()}对任意敌方目标造成的伤害,都将记录为「因果伤害值」。" +
|
||||||
$"在持续时间结束后,所有敌方角色都会受到 [ 基于总因果伤害值的 600% 除以当前在场敌方角色数量 ] 的真实伤害。在持续时间内,{Skill.SkillOwner()}可以对任何负面效果进行豁免。" +
|
$"在持续时间结束后,所有敌方角色都会受到 [ 基于总因果伤害值的 {系数 * 100:0.##}% 除以当前在场敌方角色数量 ] 的真实伤害。在持续时间内,{Skill.SkillOwner()}可以对任何负面效果进行豁免。" +
|
||||||
(因果伤害值 > 0 ? $"(当前累计因果:{因果伤害值:0.##} 点)" : "");
|
(因果伤害值 > 0 ? $"(当前累计因果:{因果伤害值:0.##} 点)" : "");
|
||||||
public override DispelledType DispelledType => DispelledType.CannotBeDispelled;
|
public override DispelledType DispelledType => DispelledType.CannotBeDispelled;
|
||||||
public override bool Durative => false;
|
public override bool Durative => false;
|
||||||
public override int DurationTurn => 4;
|
public override int DurationTurn => 4;
|
||||||
|
|
||||||
public double 因果伤害值 { get; set; } = 0;
|
public double 因果伤害值 { get; set; } = 0;
|
||||||
|
public double 系数 => 1 + 0.2 * (Skill.Level - 1);
|
||||||
|
|
||||||
public override bool OnExemptionCheck(Character character, Character? source, Effect effect, bool isEvade, ref double throwingBonus)
|
public override bool OnExemptionCheck(Character character, Character? source, Effect effect, bool isEvade, ref double throwingBonus)
|
||||||
{
|
{
|
||||||
@ -72,7 +73,7 @@ namespace Oshima.FunGame.OshimaModules.Skills
|
|||||||
{
|
{
|
||||||
WriteLine($"[ {character} ] 发动了神之因果!万象因果,命运既定!!!");
|
WriteLine($"[ {character} ] 发动了神之因果!万象因果,命运既定!!!");
|
||||||
List<Character> enemies = [.. GamingQueue.GetEnemies(character).Where(GamingQueue.Queue.Contains)];
|
List<Character> enemies = [.. GamingQueue.GetEnemies(character).Where(GamingQueue.Queue.Contains)];
|
||||||
double damage = 因果伤害值 * 2 / enemies.Count;
|
double damage = 因果伤害值 * 系数 / enemies.Count;
|
||||||
foreach (Character enemy in enemies)
|
foreach (Character enemy in enemies)
|
||||||
{
|
{
|
||||||
DamageToEnemy(character, enemy, DamageType.True, MagicType, damage, new(character)
|
DamageToEnemy(character, enemy, DamageType.True, MagicType, damage, new(character)
|
||||||
@ -88,7 +89,7 @@ namespace Oshima.FunGame.OshimaModules.Skills
|
|||||||
|
|
||||||
public override void OnSkillCasted(Character caster, List<Character> targets, List<Grid> grids, Dictionary<string, object> others)
|
public override void OnSkillCasted(Character caster, List<Character> targets, List<Grid> grids, Dictionary<string, object> others)
|
||||||
{
|
{
|
||||||
RemainDuration = Duration;
|
RemainDurationTurn = DurationTurn;
|
||||||
if (!caster.Effects.Contains(this))
|
if (!caster.Effects.Contains(this))
|
||||||
{
|
{
|
||||||
caster.Effects.Add(this);
|
caster.Effects.Add(this);
|
||||||
|
|||||||
@ -98,7 +98,7 @@ namespace Oshima.FunGame.OshimaModules.Skills
|
|||||||
{ "mdfvalue", 奇数平衡性提升 }
|
{ "mdfvalue", 奇数平衡性提升 }
|
||||||
}, Skill.Character)
|
}, Skill.Character)
|
||||||
{
|
{
|
||||||
Name = "八卦阵·奇数效果",
|
Name = "八卦阵·奇数",
|
||||||
Durative = false,
|
Durative = false,
|
||||||
DurationTurn = 1,
|
DurationTurn = 1,
|
||||||
RemainDurationTurn = 1
|
RemainDurationTurn = 1
|
||||||
|
|||||||
@ -24,7 +24,7 @@ namespace Oshima.FunGame.OshimaModules.Skills
|
|||||||
{
|
{
|
||||||
public override long Id => Skill.Id;
|
public override long Id => Skill.Id;
|
||||||
public override string Name => Skill.Name;
|
public override string Name => Skill.Name;
|
||||||
public override string Description => $"普通攻击硬直时间减少 20%。每次使用普通攻击时,额外再发动一次普通攻击,伤害特效可叠加,但伤害折减一半,冷却 {基础冷却时间:0.##} {GameplayEquilibriumConstant.InGameTime}。" +
|
public override string Description => $"普通攻击硬直时间减少 20%。每次使用普通攻击时,额外再发动一次普通攻击,伤害特效可叠加,但伤害折减一半,冷却 {基础冷却时间:0.##} {GameplayEquilibriumConstant.InGameTime}。额外普通攻击立即发动,不占用决策点配额。" +
|
||||||
(冷却时间 > 0 ? $"(正在冷却:剩余 {冷却时间:0.##} {GameplayEquilibriumConstant.InGameTime})" : "");
|
(冷却时间 > 0 ? $"(正在冷却:剩余 {冷却时间:0.##} {GameplayEquilibriumConstant.InGameTime})" : "");
|
||||||
|
|
||||||
public double 冷却时间 { get; set; } = 0;
|
public double 冷却时间 { get; set; } = 0;
|
||||||
|
|||||||
@ -72,7 +72,7 @@ namespace Oshima.FunGame.OshimaModules.Skills
|
|||||||
if (本回合可附赠动作 && GamingQueue != null && GamingQueue.CharacterDecisionPoints.TryGetValue(character, out DecisionPoints? dp) && dp != null)
|
if (本回合可附赠动作 && GamingQueue != null && GamingQueue.CharacterDecisionPoints.TryGetValue(character, out DecisionPoints? dp) && dp != null)
|
||||||
{
|
{
|
||||||
本回合可附赠动作 = false;
|
本回合可附赠动作 = false;
|
||||||
dp.AddTempActionQuota(CharacterActionType.NormalAttack, 额外攻击次数);
|
dp.AddTempActionQuota(this, CharacterActionType.NormalAttack, 额外攻击次数);
|
||||||
WriteLine($"[ {character} ] 发动了{nameof(咒怨洪流)}!本回合可额外发动 {额外攻击次数} 次普通攻击!");
|
WriteLine($"[ {character} ] 发动了{nameof(咒怨洪流)}!本回合可额外发动 {额外攻击次数} 次普通攻击!");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -57,7 +57,10 @@ namespace Oshima.FunGame.OshimaModules.Skills
|
|||||||
ExATK2 e = new(Skill, new()
|
ExATK2 e = new(Skill, new()
|
||||||
{
|
{
|
||||||
{ "exatk", ATK }
|
{ "exatk", ATK }
|
||||||
}, caster);
|
}, caster)
|
||||||
|
{
|
||||||
|
Name = Name
|
||||||
|
};
|
||||||
target.Effects.Add(e);
|
target.Effects.Add(e);
|
||||||
if (_durative && _duration > 0)
|
if (_durative && _duration > 0)
|
||||||
{
|
{
|
||||||
|
|||||||
@ -44,7 +44,7 @@ namespace Oshima.FunGame.OshimaModules.Skills
|
|||||||
if (GamingQueue.CharacterDecisionPoints.TryGetValue(caster, out DecisionPoints? dp) && dp != null)
|
if (GamingQueue.CharacterDecisionPoints.TryGetValue(caster, out DecisionPoints? dp) && dp != null)
|
||||||
{
|
{
|
||||||
checkQuota = dp.CheckActionTypeQuota(CharacterActionType.NormalAttack);
|
checkQuota = dp.CheckActionTypeQuota(CharacterActionType.NormalAttack);
|
||||||
dp.AddActionType(CharacterActionType.NormalAttack, false);
|
dp.AddActionType(CharacterActionType.NormalAttack, null, false);
|
||||||
}
|
}
|
||||||
caster.NormalAttack.Attack(GamingQueue, caster, null, targets);
|
caster.NormalAttack.Attack(GamingQueue, caster, null, targets);
|
||||||
if (checkQuota)
|
if (checkQuota)
|
||||||
|
|||||||
@ -74,7 +74,7 @@ namespace Oshima.FunGame.OshimaModules.Skills
|
|||||||
}
|
}
|
||||||
if (GamingQueue != null && GamingQueue.CharacterDecisionPoints.TryGetValue(caster, out DecisionPoints? dp) && dp != null)
|
if (GamingQueue != null && GamingQueue.CharacterDecisionPoints.TryGetValue(caster, out DecisionPoints? dp) && dp != null)
|
||||||
{
|
{
|
||||||
dp.AddTempActionQuota(CharacterActionType.CastSkill);
|
dp.AddTempActionQuota(this, CharacterActionType.CastSkill);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -45,7 +45,7 @@ namespace Oshima.FunGame.OshimaModules.Skills
|
|||||||
}
|
}
|
||||||
if (GamingQueue != null && GamingQueue.CharacterDecisionPoints.TryGetValue(caster, out DecisionPoints? dp) && dp != null)
|
if (GamingQueue != null && GamingQueue.CharacterDecisionPoints.TryGetValue(caster, out DecisionPoints? dp) && dp != null)
|
||||||
{
|
{
|
||||||
dp.AddTempActionQuota(CharacterActionType.CastSkill);
|
dp.AddTempActionQuota(this, CharacterActionType.CastSkill);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
25
OshimaModules/Skills/战技/鲨鱼锚击.cs
Normal file
25
OshimaModules/Skills/战技/鲨鱼锚击.cs
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
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)SkillID.鲨鱼锚击;
|
||||||
|
public override string Name => "鲨鱼锚击";
|
||||||
|
public override string Description => string.Join("", Effects.Select(e => e.Description));
|
||||||
|
public override string DispelDescription => Effects.Count > 0 ? Effects.First(e => e is 施加概率负面).DispelDescription : "";
|
||||||
|
public override string ExemptionDescription => Effects.Count > 0 ? Effects.First(e => e is 施加概率负面).ExemptionDescription : "";
|
||||||
|
public override double EPCost => 55;
|
||||||
|
public override double CD => 20;
|
||||||
|
public override double HardnessTime { get; set; } = 8;
|
||||||
|
|
||||||
|
public 鲨鱼锚击(Character? character = null) : base(SkillType.Skill, character)
|
||||||
|
{
|
||||||
|
CastRange = 4;
|
||||||
|
Effects.Add(new 基于攻击力的伤害_带基础伤害(this, 50, 40, 0.055, 0.04, DamageType.Physical));
|
||||||
|
Effects.Add(new 施加概率负面(this, EffectType.Disarm, false, 0, 1, 0, 1, 0));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -48,6 +48,7 @@ namespace Oshima.FunGame.OshimaModules.Skills
|
|||||||
{ "exspd", 行动速度提升 }
|
{ "exspd", 行动速度提升 }
|
||||||
}, character)
|
}, character)
|
||||||
{
|
{
|
||||||
|
Name = Name + "·行动速度",
|
||||||
Durative = true,
|
Durative = true,
|
||||||
Duration = 行动速度持续时间
|
Duration = 行动速度持续时间
|
||||||
};
|
};
|
||||||
@ -67,6 +68,7 @@ namespace Oshima.FunGame.OshimaModules.Skills
|
|||||||
{ "exatk", 额外攻击力 }
|
{ "exatk", 额外攻击力 }
|
||||||
}, character)
|
}, character)
|
||||||
{
|
{
|
||||||
|
Name = Name + "·额外攻击力",
|
||||||
Durative = true,
|
Durative = true,
|
||||||
Duration = 额外攻击力持续时间
|
Duration = 额外攻击力持续时间
|
||||||
};
|
};
|
||||||
|
|||||||
40
OshimaModules/Skills/被动/贪欲猎手.cs
Normal file
40
OshimaModules/Skills/被动/贪欲猎手.cs
Normal file
@ -0,0 +1,40 @@
|
|||||||
|
using Milimoe.FunGame.Core.Entity;
|
||||||
|
using Milimoe.FunGame.Core.Library.Constant;
|
||||||
|
|
||||||
|
namespace Oshima.FunGame.OshimaModules.Skills
|
||||||
|
{
|
||||||
|
public class 贪欲猎手 : Skill
|
||||||
|
{
|
||||||
|
public override long Id => (long)PassiveID.贪欲猎手;
|
||||||
|
public override string Name => "贪欲猎手";
|
||||||
|
public override string Description => Effects.Count > 0 ? Effects.First().Description : "";
|
||||||
|
public override string DispelDescription => Effects.Count > 0 ? Effects.First().DispelDescription : "";
|
||||||
|
|
||||||
|
public 贪欲猎手(Character? character = null) : base(SkillType.Passive, character)
|
||||||
|
{
|
||||||
|
Effects.Add(new 贪欲猎手特效(this));
|
||||||
|
}
|
||||||
|
|
||||||
|
public override IEnumerable<Effect> AddPassiveEffectToCharacter()
|
||||||
|
{
|
||||||
|
return Effects;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public class 贪欲猎手特效(Skill skill) : Effect(skill)
|
||||||
|
{
|
||||||
|
public override long Id => Skill.Id;
|
||||||
|
public override string Name => Skill.Name;
|
||||||
|
public override string Description => $"造成伤害后,基于造成伤害值的 {生命回复系数 * 100:0.##}% 回复生命值。";
|
||||||
|
|
||||||
|
private double 生命回复系数 => Skill.Character != null ? 0.04 + Skill.Character.Level / 10 * 0.01 : 0.04;
|
||||||
|
|
||||||
|
public override void AfterDamageCalculation(Character character, Character enemy, double damage, double actualDamage, bool isNormalAttack, DamageType damageType, MagicType magicType, DamageResult damageResult)
|
||||||
|
{
|
||||||
|
if (Skill.Character != null && Skill.Character == character && isNormalAttack && (damageResult == DamageResult.Normal || damageResult == DamageResult.Critical))
|
||||||
|
{
|
||||||
|
HealToTarget(character, character, 生命回复系数 * actualDamage);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
63
OshimaModules/Skills/被动/迅捷步法.cs
Normal file
63
OshimaModules/Skills/被动/迅捷步法.cs
Normal file
@ -0,0 +1,63 @@
|
|||||||
|
using Milimoe.FunGame.Core.Entity;
|
||||||
|
using Milimoe.FunGame.Core.Library.Constant;
|
||||||
|
using Oshima.FunGame.OshimaModules.Effects.OpenEffects;
|
||||||
|
|
||||||
|
namespace Oshima.FunGame.OshimaModules.Skills
|
||||||
|
{
|
||||||
|
public class 迅捷步法 : Skill
|
||||||
|
{
|
||||||
|
public override long Id => (long)PassiveID.迅捷步法;
|
||||||
|
public override string Name => "迅捷步法";
|
||||||
|
public override string Description => Effects.Count > 0 ? Effects.First().Description : "";
|
||||||
|
public override string DispelDescription => Effects.Count > 0 ? Effects.First().DispelDescription : "";
|
||||||
|
|
||||||
|
public 迅捷步法(Character? character = null) : base(SkillType.Passive, character)
|
||||||
|
{
|
||||||
|
Effects.Add(new 迅捷步法特效(this));
|
||||||
|
}
|
||||||
|
|
||||||
|
public override IEnumerable<Effect> AddPassiveEffectToCharacter()
|
||||||
|
{
|
||||||
|
return Effects;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public class 迅捷步法特效(Skill skill) : Effect(skill)
|
||||||
|
{
|
||||||
|
public override long Id => Skill.Id;
|
||||||
|
public override string Name => Skill.Name;
|
||||||
|
public override string Description => $"每次造成伤害后,立即回复 {生命回复:0.##} 点生命值,随后在 {持续时间:0.##} {GameplayEquilibriumConstant.InGameTime}内,提升 {行动系数提升 * 100:0.##}% 行动系数和 {加速系数提升 * 100:0.##}% 加速系数、1 格移动距离,该效果最多可叠 3 层。";
|
||||||
|
|
||||||
|
private double 行动系数提升 => Skill.Character != null ? 0.02 + Skill.Character.Level / 10 * 0.005 : 0.02;
|
||||||
|
private double 加速系数提升 => Skill.Character != null ? 0.02 + Skill.Character.Level / 10 * 0.005 : 0.02;
|
||||||
|
private double 生命回复 => Skill.Character != null ? 20 + Skill.Character.Level * 6 : 20;
|
||||||
|
private double 持续时间 => Skill.Character != null ? 10 + Skill.Character.Level * 0.1 : 10;
|
||||||
|
|
||||||
|
public override void AfterDamageCalculation(Character character, Character enemy, double damage, double actualDamage, bool isNormalAttack, DamageType damageType, MagicType magicType, DamageResult damageResult)
|
||||||
|
{
|
||||||
|
if (Skill.Character != null && Skill.Character == character && isNormalAttack && (damageResult == DamageResult.Normal || damageResult == DamageResult.Critical))
|
||||||
|
{
|
||||||
|
HealToTarget(character, character, 生命回复);
|
||||||
|
if (character.Effects.Count(e => e.Name == nameof(迅捷步法特效)) < 3)
|
||||||
|
{
|
||||||
|
WriteLine($"[ {character} ] 发动了迅捷步法,提升了 {行动系数提升 * 100:0.##}% 行动系数和 {加速系数提升 * 100:0.##}% 加速系数、1 格移动距离!");
|
||||||
|
Effect e = new DynamicsEffect(Skill, new Dictionary<string, object>()
|
||||||
|
{
|
||||||
|
{ "exac", 行动系数提升 },
|
||||||
|
{ "exacc", 加速系数提升 },
|
||||||
|
{ "exmov", 1 }
|
||||||
|
}, character)
|
||||||
|
{
|
||||||
|
Name = nameof(迅捷步法特效),
|
||||||
|
Durative = true,
|
||||||
|
Duration = 持续时间
|
||||||
|
};
|
||||||
|
character.Effects.Add(e);
|
||||||
|
e.OnEffectGained(character);
|
||||||
|
e.IsDebuff = false;
|
||||||
|
RecordCharacterApplyEffects(character, EffectType.Haste);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -61,7 +61,10 @@ namespace Oshima.FunGame.OshimaModules.Skills
|
|||||||
ExATK2 e = new(Skill, new()
|
ExATK2 e = new(Skill, new()
|
||||||
{
|
{
|
||||||
{ "exatk", ExATK }
|
{ "exatk", ExATK }
|
||||||
}, caster);
|
}, caster)
|
||||||
|
{
|
||||||
|
Name = Name
|
||||||
|
};
|
||||||
target.Effects.Add(e);
|
target.Effects.Add(e);
|
||||||
if (_durative && _duration > 0)
|
if (_durative && _duration > 0)
|
||||||
{
|
{
|
||||||
|
|||||||
@ -76,7 +76,10 @@ namespace Oshima.FunGame.OshimaModules.Skills
|
|||||||
ExATK2 e = new(Skill, new()
|
ExATK2 e = new(Skill, new()
|
||||||
{
|
{
|
||||||
{ "exatk", ExATK }
|
{ "exatk", ExATK }
|
||||||
}, caster);
|
}, caster)
|
||||||
|
{
|
||||||
|
Name = Name
|
||||||
|
};
|
||||||
target.Effects.Add(e);
|
target.Effects.Add(e);
|
||||||
if (_durative && _duration > 0)
|
if (_durative && _duration > 0)
|
||||||
{
|
{
|
||||||
|
|||||||
@ -87,6 +87,7 @@ namespace Oshima.FunGame.OshimaModules.Skills
|
|||||||
{ "exspd", -ExSPD }
|
{ "exspd", -ExSPD }
|
||||||
}, caster)
|
}, caster)
|
||||||
{
|
{
|
||||||
|
Name = Name + "·行动速度降低",
|
||||||
Durative = _durative,
|
Durative = _durative,
|
||||||
Duration = 实际持续时间,
|
Duration = 实际持续时间,
|
||||||
DurationTurn = (int)实际持续时间
|
DurationTurn = (int)实际持续时间
|
||||||
@ -104,6 +105,7 @@ namespace Oshima.FunGame.OshimaModules.Skills
|
|||||||
{ "exacc", -ExACC }
|
{ "exacc", -ExACC }
|
||||||
}, caster)
|
}, caster)
|
||||||
{
|
{
|
||||||
|
Name = Name + "·加速系数降低",
|
||||||
Durative = _durative,
|
Durative = _durative,
|
||||||
Duration = 实际持续时间,
|
Duration = 实际持续时间,
|
||||||
DurationTurn = (int)实际持续时间
|
DurationTurn = (int)实际持续时间
|
||||||
|
|||||||
@ -71,6 +71,7 @@ namespace Oshima.FunGame.OshimaModules.Skills
|
|||||||
{ "exspd", -ExSPD }
|
{ "exspd", -ExSPD }
|
||||||
}, caster)
|
}, caster)
|
||||||
{
|
{
|
||||||
|
Name = Name + "·行动速度降低",
|
||||||
Durative = _durative,
|
Durative = _durative,
|
||||||
Duration = 实际持续时间,
|
Duration = 实际持续时间,
|
||||||
DurationTurn = (int)实际持续时间
|
DurationTurn = (int)实际持续时间
|
||||||
@ -88,6 +89,7 @@ namespace Oshima.FunGame.OshimaModules.Skills
|
|||||||
{ "exacc", -ExACC }
|
{ "exacc", -ExACC }
|
||||||
}, caster)
|
}, caster)
|
||||||
{
|
{
|
||||||
|
Name = Name + "·加速系数降低",
|
||||||
Durative = _durative,
|
Durative = _durative,
|
||||||
Duration = 实际持续时间,
|
Duration = 实际持续时间,
|
||||||
DurationTurn = (int)实际持续时间
|
DurationTurn = (int)实际持续时间
|
||||||
|
|||||||
@ -90,6 +90,7 @@ namespace Oshima.FunGame.OshimaModules.Skills
|
|||||||
{ "exspd", ExSPD }
|
{ "exspd", ExSPD }
|
||||||
}, caster)
|
}, caster)
|
||||||
{
|
{
|
||||||
|
Name = Name + "·行动速度提升",
|
||||||
Durative = _durative,
|
Durative = _durative,
|
||||||
Duration = 实际持续时间,
|
Duration = 实际持续时间,
|
||||||
DurationTurn = (int)实际持续时间
|
DurationTurn = (int)实际持续时间
|
||||||
@ -103,6 +104,7 @@ namespace Oshima.FunGame.OshimaModules.Skills
|
|||||||
{ "exacc", ExACC }
|
{ "exacc", ExACC }
|
||||||
}, caster)
|
}, caster)
|
||||||
{
|
{
|
||||||
|
Name = Name + "·加速系数提升",
|
||||||
Durative = _durative,
|
Durative = _durative,
|
||||||
Duration = 实际持续时间,
|
Duration = 实际持续时间,
|
||||||
DurationTurn = (int)实际持续时间
|
DurationTurn = (int)实际持续时间
|
||||||
|
|||||||
@ -74,6 +74,7 @@ namespace Oshima.FunGame.OshimaModules.Skills
|
|||||||
{ "exspd", ExSPD }
|
{ "exspd", ExSPD }
|
||||||
}, caster)
|
}, caster)
|
||||||
{
|
{
|
||||||
|
Name = Name + "·行动速度提升",
|
||||||
Durative = _durative,
|
Durative = _durative,
|
||||||
Duration = 实际持续时间,
|
Duration = 实际持续时间,
|
||||||
DurationTurn = (int)实际持续时间
|
DurationTurn = (int)实际持续时间
|
||||||
@ -87,6 +88,7 @@ namespace Oshima.FunGame.OshimaModules.Skills
|
|||||||
{ "exacc", ExACC }
|
{ "exacc", ExACC }
|
||||||
}, caster)
|
}, caster)
|
||||||
{
|
{
|
||||||
|
Name = Name + "·加速系数提升",
|
||||||
Durative = _durative,
|
Durative = _durative,
|
||||||
Duration = 实际持续时间,
|
Duration = 实际持续时间,
|
||||||
DurationTurn = (int)实际持续时间
|
DurationTurn = (int)实际持续时间
|
||||||
|
|||||||
@ -42,9 +42,9 @@ namespace Oshima.FunGame.OshimaModules.Skills
|
|||||||
{
|
{
|
||||||
return Level switch
|
return Level switch
|
||||||
{
|
{
|
||||||
3 or 4 or 5 => 2,
|
3 or 4 or 5 => 3,
|
||||||
6 or 7 or 8 => 3,
|
6 or 7 or 8 => 4,
|
||||||
_ => 1
|
_ => 2
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -60,7 +60,7 @@ namespace Oshima.FunGame.OshimaModules.Skills
|
|||||||
effect.OnSkillCasted(caster, targets, grids, others);
|
effect.OnSkillCasted(caster, targets, grids, others);
|
||||||
if (Level > 4)
|
if (Level > 4)
|
||||||
{
|
{
|
||||||
effect = new 施加免疫(Skill, ImmuneType.Skilled, false, 0, 1);
|
effect = new 施加免疫(Skill, ImmuneType.Skilled, false, 0, 2);
|
||||||
effect.OnSkillCasted(caster, targets, grids, others);
|
effect.OnSkillCasted(caster, targets, grids, others);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -63,7 +63,10 @@ namespace Oshima.FunGame.OshimaModules.Skills
|
|||||||
ExATK2 e = new(Skill, new()
|
ExATK2 e = new(Skill, new()
|
||||||
{
|
{
|
||||||
{ "exatk", ExATK }
|
{ "exatk", ExATK }
|
||||||
}, caster);
|
}, caster)
|
||||||
|
{
|
||||||
|
Name = Name + "·攻击力提升"
|
||||||
|
};
|
||||||
target.Effects.Add(e);
|
target.Effects.Add(e);
|
||||||
if (_durative && _duration > 0)
|
if (_durative && _duration > 0)
|
||||||
{
|
{
|
||||||
@ -83,7 +86,10 @@ namespace Oshima.FunGame.OshimaModules.Skills
|
|||||||
ExDEF2 e2 = new(Skill, new()
|
ExDEF2 e2 = new(Skill, new()
|
||||||
{
|
{
|
||||||
{ "exdef", ExDEF }
|
{ "exdef", ExDEF }
|
||||||
}, caster);
|
}, caster)
|
||||||
|
{
|
||||||
|
Name = Name + "·物理护甲提升"
|
||||||
|
};
|
||||||
target.Effects.Add(e2);
|
target.Effects.Add(e2);
|
||||||
if (_durative && _duration > 0)
|
if (_durative && _duration > 0)
|
||||||
{
|
{
|
||||||
@ -104,7 +110,10 @@ namespace Oshima.FunGame.OshimaModules.Skills
|
|||||||
{
|
{
|
||||||
{ "mdftype", 0 },
|
{ "mdftype", 0 },
|
||||||
{ "mdfvalue", ExMDF }
|
{ "mdfvalue", ExMDF }
|
||||||
}, caster);
|
}, caster)
|
||||||
|
{
|
||||||
|
Name = Name + "·魔法抗性提升"
|
||||||
|
};
|
||||||
target.Effects.Add(e3);
|
target.Effects.Add(e3);
|
||||||
if (_durative && _duration > 0)
|
if (_durative && _duration > 0)
|
||||||
{
|
{
|
||||||
|
|||||||
@ -78,7 +78,10 @@ namespace Oshima.FunGame.OshimaModules.Skills
|
|||||||
ExATK2 e = new(Skill, new()
|
ExATK2 e = new(Skill, new()
|
||||||
{
|
{
|
||||||
{ "exatk", ExATK }
|
{ "exatk", ExATK }
|
||||||
}, caster);
|
}, caster)
|
||||||
|
{
|
||||||
|
Name = Name + "·攻击力提升"
|
||||||
|
};
|
||||||
target.Effects.Add(e);
|
target.Effects.Add(e);
|
||||||
if (_durative && _duration > 0)
|
if (_durative && _duration > 0)
|
||||||
{
|
{
|
||||||
@ -98,7 +101,10 @@ namespace Oshima.FunGame.OshimaModules.Skills
|
|||||||
ExDEF2 e2 = new(Skill, new()
|
ExDEF2 e2 = new(Skill, new()
|
||||||
{
|
{
|
||||||
{ "exdef", ExDEF }
|
{ "exdef", ExDEF }
|
||||||
}, caster);
|
}, caster)
|
||||||
|
{
|
||||||
|
Name = Name + "·物理护甲提升"
|
||||||
|
};
|
||||||
target.Effects.Add(e2);
|
target.Effects.Add(e2);
|
||||||
if (_durative && _duration > 0)
|
if (_durative && _duration > 0)
|
||||||
{
|
{
|
||||||
@ -119,7 +125,10 @@ namespace Oshima.FunGame.OshimaModules.Skills
|
|||||||
{
|
{
|
||||||
{ "mdftype", 0 },
|
{ "mdftype", 0 },
|
||||||
{ "mdfvalue", ExMDF }
|
{ "mdfvalue", ExMDF }
|
||||||
}, caster);
|
}, caster)
|
||||||
|
{
|
||||||
|
Name = Name + "·魔法抗性提升"
|
||||||
|
};
|
||||||
target.Effects.Add(e3);
|
target.Effects.Add(e3);
|
||||||
if (_durative && _duration > 0)
|
if (_durative && _duration > 0)
|
||||||
{
|
{
|
||||||
|
|||||||
@ -62,7 +62,10 @@ namespace Oshima.FunGame.OshimaModules.Skills
|
|||||||
ExCritRate e = new(Skill, new()
|
ExCritRate e = new(Skill, new()
|
||||||
{
|
{
|
||||||
{ "excr", CritRate }
|
{ "excr", CritRate }
|
||||||
}, caster);
|
}, caster)
|
||||||
|
{
|
||||||
|
Name = Name + "·暴击率加成"
|
||||||
|
};
|
||||||
target.Effects.Add(e);
|
target.Effects.Add(e);
|
||||||
if (_durative && _duration > 0)
|
if (_durative && _duration > 0)
|
||||||
{
|
{
|
||||||
@ -82,7 +85,10 @@ namespace Oshima.FunGame.OshimaModules.Skills
|
|||||||
ExEvadeRate e2 = new(Skill, new()
|
ExEvadeRate e2 = new(Skill, new()
|
||||||
{
|
{
|
||||||
{ "exer", EvadeRate }
|
{ "exer", EvadeRate }
|
||||||
}, caster);
|
}, caster)
|
||||||
|
{
|
||||||
|
Name = Name + "·闪避率加成"
|
||||||
|
};
|
||||||
target.Effects.Add(e2);
|
target.Effects.Add(e2);
|
||||||
if (_durative && _duration > 0)
|
if (_durative && _duration > 0)
|
||||||
{
|
{
|
||||||
|
|||||||
@ -77,7 +77,10 @@ namespace Oshima.FunGame.OshimaModules.Skills
|
|||||||
ExCritRate e = new(Skill, new()
|
ExCritRate e = new(Skill, new()
|
||||||
{
|
{
|
||||||
{ "excr", CritRate }
|
{ "excr", CritRate }
|
||||||
}, caster);
|
}, caster)
|
||||||
|
{
|
||||||
|
Name = Name + "·暴击率加成"
|
||||||
|
};
|
||||||
target.Effects.Add(e);
|
target.Effects.Add(e);
|
||||||
if (_durative && _duration > 0)
|
if (_durative && _duration > 0)
|
||||||
{
|
{
|
||||||
@ -97,7 +100,10 @@ namespace Oshima.FunGame.OshimaModules.Skills
|
|||||||
ExEvadeRate e2 = new(Skill, new()
|
ExEvadeRate e2 = new(Skill, new()
|
||||||
{
|
{
|
||||||
{ "exer", EvadeRate }
|
{ "exer", EvadeRate }
|
||||||
}, caster);
|
}, caster)
|
||||||
|
{
|
||||||
|
Name = Name + "·闪避率加成"
|
||||||
|
};
|
||||||
target.Effects.Add(e2);
|
target.Effects.Add(e2);
|
||||||
if (_durative && _duration > 0)
|
if (_durative && _duration > 0)
|
||||||
{
|
{
|
||||||
|
|||||||
@ -4,6 +4,7 @@ using Milimoe.FunGame.Core.Library.Common.Addon;
|
|||||||
using Milimoe.FunGame.Core.Library.Constant;
|
using Milimoe.FunGame.Core.Library.Constant;
|
||||||
using Oshima.Core.Configs;
|
using Oshima.Core.Configs;
|
||||||
using Oshima.Core.Constant;
|
using Oshima.Core.Constant;
|
||||||
|
using Oshima.FunGame.OshimaModules.Models;
|
||||||
using Oshima.FunGame.OshimaServers.Service;
|
using Oshima.FunGame.OshimaServers.Service;
|
||||||
using TaskScheduler = Milimoe.FunGame.Core.Api.Utility.TaskScheduler;
|
using TaskScheduler = Milimoe.FunGame.Core.Api.Utility.TaskScheduler;
|
||||||
|
|
||||||
@ -108,7 +109,7 @@ namespace Oshima.FunGame.OshimaServers
|
|||||||
}
|
}
|
||||||
Controller.NewSQLHelper();
|
Controller.NewSQLHelper();
|
||||||
Controller.NewMailSender();
|
Controller.NewMailSender();
|
||||||
FunGameService.InitFunGame();
|
FunGameConstant.InitFunGame();
|
||||||
FunGameSimulation.InitFunGameSimulation();
|
FunGameSimulation.InitFunGameSimulation();
|
||||||
FunGameService.RefreshNotice();
|
FunGameService.RefreshNotice();
|
||||||
TaskScheduler.Shared.AddTask("重置每日运势", new TimeSpan(0, 0, 0), () =>
|
TaskScheduler.Shared.AddTask("重置每日运势", new TimeSpan(0, 0, 0), () =>
|
||||||
|
|||||||
@ -32,130 +32,6 @@ namespace Oshima.FunGame.OshimaServers.Service
|
|||||||
public static WebAPIPluginLoader? WebAPIPluginLoader { get; set; } = null;
|
public static WebAPIPluginLoader? WebAPIPluginLoader { get; set; } = null;
|
||||||
public static EntityModuleConfig<NoticeModel> Notices { get; } = new("notices", "notice");
|
public static EntityModuleConfig<NoticeModel> Notices { get; } = new("notices", "notice");
|
||||||
|
|
||||||
public static void InitFunGame()
|
|
||||||
{
|
|
||||||
FunGameConstant.Characters.Add(new OshimaShiya());
|
|
||||||
FunGameConstant.Characters.Add(new XinYin());
|
|
||||||
FunGameConstant.Characters.Add(new Yang());
|
|
||||||
FunGameConstant.Characters.Add(new NanGanYu());
|
|
||||||
FunGameConstant.Characters.Add(new NiuNan());
|
|
||||||
FunGameConstant.Characters.Add(new DokyoMayor());
|
|
||||||
FunGameConstant.Characters.Add(new MagicalGirl());
|
|
||||||
FunGameConstant.Characters.Add(new QingXiang());
|
|
||||||
FunGameConstant.Characters.Add(new QWQAQW());
|
|
||||||
FunGameConstant.Characters.Add(new ColdBlue());
|
|
||||||
FunGameConstant.Characters.Add(new dddovo());
|
|
||||||
FunGameConstant.Characters.Add(new Quduoduo());
|
|
||||||
FunGameConstant.Characters.Add(new ShiYu());
|
|
||||||
FunGameConstant.Characters.Add(new XReouni());
|
|
||||||
FunGameConstant.Characters.Add(new Neptune());
|
|
||||||
FunGameConstant.Characters.Add(new CHAOS());
|
|
||||||
FunGameConstant.Characters.Add(new Ryuko());
|
|
||||||
FunGameConstant.Characters.Add(new TheGodK());
|
|
||||||
|
|
||||||
FunGameConstant.Skills.AddRange([new 疾风步(), new 助威(), new 挑拨(), new 绞丝棍(), new 金刚击(), new 旋风轮(), new 双连击(), new 绝影(), new 胧(), new 魔眼(),
|
|
||||||
new 天堂之吻(), new 回复弹(), new 养命功(), new 镜花水月(), new 剑风闪(), new 疾走(), new 闪现()]);
|
|
||||||
|
|
||||||
FunGameConstant.SuperSkills.AddRange([new 极寒渴望(), new 身心一境(), new 绝对领域(), new 零式灭杀(), new 三相灵枢(), new 变幻之心(), new 熵灭极诣(), new 残香凋零(), new 饕餮盛宴(),
|
|
||||||
new 宿命时律(), new 千羽瞬华(), new 咒怨洪流(), new 放监(), new 归元环(), new 海王星的野望(), new 全军出击(), new 宿命之潮(), new 神之因果()]);
|
|
||||||
|
|
||||||
FunGameConstant.PassiveSkills.AddRange([new META马(), new 心灵之弦(), new 蚀魂震击(), new 灵能反射(), new 双生流转(), new 零式崩解(), new 少女绮想(), new 暗香疏影(), new 破釜沉舟(),
|
|
||||||
new 累积之压(), new 银隼之赐(), new 弱者猎手(), new 开宫(), new 八卦阵(), new 深海之戟(), new 雇佣兵团(), new 不息之流(), new 概念之骰()]);
|
|
||||||
|
|
||||||
FunGameConstant.CommonPassiveSkills.AddRange([new 征服者(), new 致命节奏(), new 强攻(), new 电刑(), new 黑暗收割()]);
|
|
||||||
|
|
||||||
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 岩石之息(), 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));
|
|
||||||
FunGameConstant.Equipment.AddRange([new 攻击之爪10(), new 攻击之爪25(), new 攻击之爪40(), new 攻击之爪55(), new 攻击之爪70(), new 攻击之爪85(), new 糖糖一周年纪念武器(),
|
|
||||||
new 糖糖一周年纪念防具(), new 糖糖一周年纪念鞋子(), new 糖糖一周年纪念饰品1(), new 糖糖一周年纪念饰品2()]);
|
|
||||||
|
|
||||||
FunGameConstant.Items.AddRange(exItems.Values.Where(i => (int)i.ItemType > 4));
|
|
||||||
FunGameConstant.Items.AddRange([new 小经验书(), new 中经验书(), new 大经验书(), new 升华之印(), new 流光之印(), new 永恒之印(), new 技能卷轴(), new 智慧之果(), new 奥术符文(), new 混沌之核(),
|
|
||||||
new 小回复药(), new 中回复药(), new 大回复药(), new 魔力填充剂1(), new 魔力填充剂2(), new 魔力填充剂3(), new 能量饮料1(), new 能量饮料2(), new 能量饮料3(), new 年夜饭(), new 蛇年大吉(), new 新春快乐(), new 毕业礼包(),
|
|
||||||
new 复苏药1(), new 复苏药2(), new 复苏药3(), new 全回复药(), new 魔法卡礼包(), new 奖券(), new 十连奖券(), new 改名卡(), new 原初之印(), new 创生之印(), new 法则精粹(), new 大师锻造券(),
|
|
||||||
new 一周年纪念礼包(), new 一周年纪念套装(), new 冬至快乐(), new 圣诞礼包(), new 元旦快乐()
|
|
||||||
]);
|
|
||||||
|
|
||||||
FunGameConstant.UserDailyItems.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 磐石(), new 砂砾(), new 铁甲贝壳(), new 蜥蜴尾巴(), new 古老钟摆(), new 枯藤()]);
|
|
||||||
|
|
||||||
FunGameConstant.NotForSaleItems.AddRange([new 一周年纪念礼包(), new 一周年纪念套装(), new 毕业礼包(), new 糖糖一周年纪念武器(), new 糖糖一周年纪念防具(), new 糖糖一周年纪念鞋子(),
|
|
||||||
new 糖糖一周年纪念饰品1(), new 糖糖一周年纪念饰品2()]);
|
|
||||||
|
|
||||||
FunGameConstant.AllItems.AddRange(FunGameConstant.Equipment);
|
|
||||||
FunGameConstant.AllItems.AddRange(FunGameConstant.Items);
|
|
||||||
FunGameConstant.AllItems.AddRange(FunGameConstant.UserDailyItems);
|
|
||||||
FunGameConstant.AllItems.AddRange(FunGameConstant.NotForSaleItems);
|
|
||||||
|
|
||||||
foreach (OshimaRegion region in FunGameConstant.Regions)
|
|
||||||
{
|
|
||||||
List<Item> items = [.. region.Crops.Select(i => i.Copy())];
|
|
||||||
FunGameConstant.ExploreItems.Add(region, items);
|
|
||||||
}
|
|
||||||
|
|
||||||
long[] notDrawIds = [.. FunGameConstant.UserDailyItems.Union(FunGameConstant.NotForSaleItems).Select(i => i.Id)];
|
|
||||||
FunGameConstant.DrawCardItems.AddRange(FunGameConstant.AllItems.Where(i => !FunGameConstant.ItemCanNotDrawCard.Contains(i.ItemType) && !notDrawIds.Contains(i.Id)));
|
|
||||||
FunGameConstant.CharacterLevelBreakItems.AddRange([new 升华之印(), new 流光之印(), new 永恒之印(), new 原初之印(), new 创生之印()]);
|
|
||||||
FunGameConstant.SkillLevelUpItems.AddRange([new 技能卷轴(), new 智慧之果(), new 奥术符文(), new 混沌之核(), new 法则精粹()]);
|
|
||||||
|
|
||||||
FunGameConstant.AllItems.AddRange(FunGameConstant.ExploreItems.Values.SelectMany(list => list));
|
|
||||||
|
|
||||||
foreach (OshimaRegion region in FunGameConstant.Regions)
|
|
||||||
{
|
|
||||||
FunGameConstant.RegionsName[region.Id] = region.Name;
|
|
||||||
FunGameConstant.RegionsDifficulty[region.Id] = region.Difficulty;
|
|
||||||
IEnumerable<Item> items = FunGameConstant.AllItems.Where(i => i.Others.TryGetValue("region", out object? value) && int.TryParse(value.ToString(), out int rid) && rid == region.Id).Select(i => i.Copy()).OrderByDescending(i => i.QualityType);
|
|
||||||
foreach (Item item in items)
|
|
||||||
{
|
|
||||||
region.Items.Add(item);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
foreach (OshimaRegion region in FunGameConstant.PlayerRegions)
|
|
||||||
{
|
|
||||||
FunGameConstant.RegionsName[region.Id] = region.Name;
|
|
||||||
FunGameConstant.RegionsDifficulty[region.Id] = region.Difficulty;
|
|
||||||
IEnumerable<Item> items;
|
|
||||||
if (region.Id == 0)
|
|
||||||
{
|
|
||||||
items = FunGameConstant.Equipment.Where(i => !i.Others.ContainsKey("region")).Select(i => i.Copy()).OrderByDescending(i => i.QualityType);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
items = FunGameConstant.AllItems.Where(i => i.Others.TryGetValue("region", out object? value) && int.TryParse(value.ToString(), out int rid) && rid == region.Id).Select(i => i.Copy()).OrderByDescending(i => i.QualityType);
|
|
||||||
}
|
|
||||||
foreach (Item item in items)
|
|
||||||
{
|
|
||||||
region.Items.Add(item);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
Skill?[] activeSkills = [.. FunGameConstant.Equipment.Select(i => i.Skills.Active), .. FunGameConstant.Items.Select(i => i.Skills.Active)];
|
|
||||||
foreach (Skill? skill in activeSkills)
|
|
||||||
{
|
|
||||||
if (skill != null)
|
|
||||||
{
|
|
||||||
FunGameConstant.ItemSkills.Add(skill);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
FunGameConstant.ItemSkills.AddRange([.. FunGameConstant.Equipment.SelectMany(i => i.Skills.Passives), .. FunGameConstant.Items.SelectMany(i => i.Skills.Passives)]);
|
|
||||||
|
|
||||||
FunGameConstant.AllSkills.AddRange(FunGameConstant.Magics);
|
|
||||||
FunGameConstant.AllSkills.AddRange(FunGameConstant.Skills);
|
|
||||||
FunGameConstant.AllSkills.AddRange(FunGameConstant.PassiveSkills);
|
|
||||||
FunGameConstant.AllSkills.AddRange(FunGameConstant.CommonPassiveSkills);
|
|
||||||
FunGameConstant.AllSkills.AddRange(FunGameConstant.ItemSkills);
|
|
||||||
FunGameConstant.AllSkills.AddRange(FunGameConstant.SuperSkills);
|
|
||||||
FunGameConstant.AllSkills.AddRange(FunGameConstant.CommonSuperSkills);
|
|
||||||
}
|
|
||||||
|
|
||||||
public static List<Item> GenerateMagicCards(int count, QualityType? qualityType = null, long[]? magicIds = null, (int str, int agi, int intelligence)[]? values = null)
|
public static List<Item> GenerateMagicCards(int count, QualityType? qualityType = null, long[]? magicIds = null, (int str, int agi, int intelligence)[]? values = null)
|
||||||
{
|
{
|
||||||
List<Item> items = [];
|
List<Item> items = [];
|
||||||
@ -181,7 +57,7 @@ namespace Oshima.FunGame.OshimaServers.Service
|
|||||||
{
|
{
|
||||||
Item item = Factory.GetItem();
|
Item item = Factory.GetItem();
|
||||||
item.Id = Convert.ToInt64("16" + Verification.CreateVerifyCode(VerifyCodeType.NumberVerifyCode, 8));
|
item.Id = Convert.ToInt64("16" + Verification.CreateVerifyCode(VerifyCodeType.NumberVerifyCode, 8));
|
||||||
item.Name = GenerateRandomChineseName();
|
item.Name = FunGameConstant.GenerateRandomChineseName();
|
||||||
item.ItemType = ItemType.MagicCard;
|
item.ItemType = ItemType.MagicCard;
|
||||||
item.RemainUseTimes = 1;
|
item.RemainUseTimes = 1;
|
||||||
|
|
||||||
@ -388,7 +264,7 @@ namespace Oshima.FunGame.OshimaServers.Service
|
|||||||
List<Skill> passives = [.. magicCards.SelectMany(i => i.Skills.Passives)];
|
List<Skill> passives = [.. magicCards.SelectMany(i => i.Skills.Passives)];
|
||||||
Item item = Factory.GetItem();
|
Item item = Factory.GetItem();
|
||||||
item.Id = Convert.ToInt64("10" + Verification.CreateVerifyCode(VerifyCodeType.NumberVerifyCode, 8));
|
item.Id = Convert.ToInt64("10" + Verification.CreateVerifyCode(VerifyCodeType.NumberVerifyCode, 8));
|
||||||
item.Name = GenerateRandomChineseName();
|
item.Name = FunGameConstant.GenerateRandomChineseName();
|
||||||
item.ItemType = ItemType.MagicCardPack;
|
item.ItemType = ItemType.MagicCardPack;
|
||||||
double str = 0, agi = 0, intelligence = 0;
|
double str = 0, agi = 0, intelligence = 0;
|
||||||
foreach (Skill skill in passives)
|
foreach (Skill skill in passives)
|
||||||
@ -481,62 +357,6 @@ namespace Oshima.FunGame.OshimaServers.Service
|
|||||||
return magicCardPack;
|
return magicCardPack;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void Reload()
|
|
||||||
{
|
|
||||||
FunGameConstant.Characters.Clear();
|
|
||||||
FunGameConstant.Equipment.Clear();
|
|
||||||
FunGameConstant.Skills.Clear();
|
|
||||||
FunGameConstant.SuperSkills.Clear();
|
|
||||||
FunGameConstant.CommonSuperSkills.Clear();
|
|
||||||
FunGameConstant.PassiveSkills.Clear();
|
|
||||||
FunGameConstant.CommonPassiveSkills.Clear();
|
|
||||||
FunGameConstant.Magics.Clear();
|
|
||||||
FunGameConstant.DrawCardItems.Clear();
|
|
||||||
FunGameConstant.ExploreItems.Clear();
|
|
||||||
FunGameConstant.AllItems.Clear();
|
|
||||||
FunGameConstant.ItemSkills.Clear();
|
|
||||||
FunGameConstant.AllSkills.Clear();
|
|
||||||
|
|
||||||
InitFunGame();
|
|
||||||
}
|
|
||||||
|
|
||||||
public static string GenerateRandomChineseName()
|
|
||||||
{
|
|
||||||
// 随机生成名字长度,2到5个字
|
|
||||||
int nameLength = Random.Shared.Next(2, 6);
|
|
||||||
StringBuilder name = new();
|
|
||||||
|
|
||||||
for (int i = 0; i < nameLength; i++)
|
|
||||||
{
|
|
||||||
// 从常用汉字集中随机选择一个汉字
|
|
||||||
char chineseCharacter = FunGameConstant.CommonChineseCharacters[Random.Shared.Next(FunGameConstant.CommonChineseCharacters.Length)];
|
|
||||||
name.Append(chineseCharacter);
|
|
||||||
}
|
|
||||||
|
|
||||||
return name.ToString();
|
|
||||||
}
|
|
||||||
|
|
||||||
public static string GenerateRandomChineseUserName()
|
|
||||||
{
|
|
||||||
StringBuilder name = new();
|
|
||||||
|
|
||||||
// 随机姓
|
|
||||||
string lastname = FunGameConstant.CommonSurnames[Random.Shared.Next(FunGameConstant.CommonSurnames.Length)];
|
|
||||||
name.Append(lastname);
|
|
||||||
|
|
||||||
// 随机生成名字长度,2到5个字
|
|
||||||
int nameLength = Random.Shared.Next(1, 2);
|
|
||||||
|
|
||||||
for (int i = 0; i < nameLength; i++)
|
|
||||||
{
|
|
||||||
// 从常用汉字集中随机选择一个汉字
|
|
||||||
char chineseCharacter = FunGameConstant.CommonChineseCharacters[Random.Shared.Next(FunGameConstant.CommonChineseCharacters.Length)];
|
|
||||||
name.Append(chineseCharacter);
|
|
||||||
}
|
|
||||||
|
|
||||||
return name.ToString();
|
|
||||||
}
|
|
||||||
|
|
||||||
public static User GetUser(PluginConfig pc)
|
public static User GetUser(PluginConfig pc)
|
||||||
{
|
{
|
||||||
User user = pc.Get<User>("user") ?? Factory.GetUser();
|
User user = pc.Get<User>("user") ?? Factory.GetUser();
|
||||||
@ -2937,7 +2757,7 @@ namespace Oshima.FunGame.OshimaServers.Service
|
|||||||
|
|
||||||
// 出现的NPC
|
// 出现的NPC
|
||||||
int random = Random.Shared.Next(region.NPCs.Count + 1);
|
int random = Random.Shared.Next(region.NPCs.Count + 1);
|
||||||
string npc = random == region.NPCs.Count ? GenerateRandomChineseUserName() : region.NPCs[random];
|
string npc = random == region.NPCs.Count ? FunGameConstant.GenerateRandomChineseUserName() : region.NPCs[random];
|
||||||
|
|
||||||
// 探索的子区域
|
// 探索的子区域
|
||||||
random = Random.Shared.Next(region.Areas.Count);
|
random = Random.Shared.Next(region.Areas.Count);
|
||||||
@ -2999,7 +2819,7 @@ namespace Oshima.FunGame.OshimaServers.Service
|
|||||||
{
|
{
|
||||||
if (!isUnit)
|
if (!isUnit)
|
||||||
{
|
{
|
||||||
enemy = new RegionCharacter(long.Parse(Verification.CreateVerifyCode(VerifyCodeType.NumberVerifyCode, 8)), GenerateRandomChineseUserName());
|
enemy = new RegionCharacter(long.Parse(Verification.CreateVerifyCode(VerifyCodeType.NumberVerifyCode, 8)), FunGameConstant.GenerateRandomChineseUserName());
|
||||||
enemys.Add(enemy);
|
enemys.Add(enemy);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@ -3008,23 +2828,23 @@ namespace Oshima.FunGame.OshimaServers.Service
|
|||||||
{
|
{
|
||||||
case 1:
|
case 1:
|
||||||
case 2:
|
case 2:
|
||||||
enemy = new RegionUnit(long.Parse(Verification.CreateVerifyCode(VerifyCodeType.NumberVerifyCode, 8)), GenerateRandomChineseUserName());
|
enemy = new RegionUnit(long.Parse(Verification.CreateVerifyCode(VerifyCodeType.NumberVerifyCode, 8)), FunGameConstant.GenerateRandomChineseUserName());
|
||||||
enemys.Add(enemy);
|
enemys.Add(enemy);
|
||||||
break;
|
break;
|
||||||
case 3:
|
case 3:
|
||||||
case 4:
|
case 4:
|
||||||
enemy = new RegionUnit(long.Parse(Verification.CreateVerifyCode(VerifyCodeType.NumberVerifyCode, 8)), GenerateRandomChineseUserName());
|
enemy = new RegionUnit(long.Parse(Verification.CreateVerifyCode(VerifyCodeType.NumberVerifyCode, 8)), FunGameConstant.GenerateRandomChineseUserName());
|
||||||
enemys.Add(enemy);
|
enemys.Add(enemy);
|
||||||
enemy = new RegionUnit(long.Parse(Verification.CreateVerifyCode(VerifyCodeType.NumberVerifyCode, 8)), GenerateRandomChineseUserName());
|
enemy = new RegionUnit(long.Parse(Verification.CreateVerifyCode(VerifyCodeType.NumberVerifyCode, 8)), FunGameConstant.GenerateRandomChineseUserName());
|
||||||
enemys.Add(enemy);
|
enemys.Add(enemy);
|
||||||
break;
|
break;
|
||||||
case 5:
|
case 5:
|
||||||
default:
|
default:
|
||||||
enemy = new RegionUnit(long.Parse(Verification.CreateVerifyCode(VerifyCodeType.NumberVerifyCode, 8)), GenerateRandomChineseUserName());
|
enemy = new RegionUnit(long.Parse(Verification.CreateVerifyCode(VerifyCodeType.NumberVerifyCode, 8)), FunGameConstant.GenerateRandomChineseUserName());
|
||||||
enemys.Add(enemy);
|
enemys.Add(enemy);
|
||||||
enemy = new RegionUnit(long.Parse(Verification.CreateVerifyCode(VerifyCodeType.NumberVerifyCode, 8)), GenerateRandomChineseUserName());
|
enemy = new RegionUnit(long.Parse(Verification.CreateVerifyCode(VerifyCodeType.NumberVerifyCode, 8)), FunGameConstant.GenerateRandomChineseUserName());
|
||||||
enemys.Add(enemy);
|
enemys.Add(enemy);
|
||||||
enemy = new RegionUnit(long.Parse(Verification.CreateVerifyCode(VerifyCodeType.NumberVerifyCode, 8)), GenerateRandomChineseUserName());
|
enemy = new RegionUnit(long.Parse(Verification.CreateVerifyCode(VerifyCodeType.NumberVerifyCode, 8)), FunGameConstant.GenerateRandomChineseUserName());
|
||||||
enemys.Add(enemy);
|
enemys.Add(enemy);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -226,7 +226,7 @@ namespace Oshima.FunGame.OshimaServers.Service
|
|||||||
{
|
{
|
||||||
// 创建角色的用户,用于绑定金币
|
// 创建角色的用户,用于绑定金币
|
||||||
User user = Factory.GetUser();
|
User user = Factory.GetUser();
|
||||||
user.Username = FunGameService.GenerateRandomChineseUserName();
|
user.Username = FunGameConstant.GenerateRandomChineseUserName();
|
||||||
user.Inventory.Credits = 20;
|
user.Inventory.Credits = 20;
|
||||||
Character thisCharacter = shuffledCharacters[cid];
|
Character thisCharacter = shuffledCharacters[cid];
|
||||||
//thisCharacter.User = user;
|
//thisCharacter.User = user;
|
||||||
|
|||||||
@ -699,7 +699,7 @@ namespace Oshima.FunGame.WebAPI.Controllers
|
|||||||
string name = "";
|
string name = "";
|
||||||
do
|
do
|
||||||
{
|
{
|
||||||
name = FunGameService.GenerateRandomChineseUserName();
|
name = FunGameConstant.GenerateRandomChineseUserName();
|
||||||
} while (FunGameConstant.UserIdAndUsername.Any(kv => kv.Value.Username == name));
|
} while (FunGameConstant.UserIdAndUsername.Any(kv => kv.Value.Username == name));
|
||||||
|
|
||||||
user.Username = name;
|
user.Username = name;
|
||||||
@ -4864,7 +4864,7 @@ namespace Oshima.FunGame.WebAPI.Controllers
|
|||||||
{
|
{
|
||||||
Id = clubid,
|
Id = clubid,
|
||||||
Guid = Guid.NewGuid(),
|
Guid = Guid.NewGuid(),
|
||||||
Name = FunGameService.GenerateRandomChineseName(),
|
Name = FunGameConstant.GenerateRandomChineseName(),
|
||||||
Master = user,
|
Master = user,
|
||||||
Prefix = clubPrefix,
|
Prefix = clubPrefix,
|
||||||
Members = new()
|
Members = new()
|
||||||
@ -9347,7 +9347,7 @@ namespace Oshima.FunGame.WebAPI.Controllers
|
|||||||
{
|
{
|
||||||
if (master != null && master == GeneralSettings.Master)
|
if (master != null && master == GeneralSettings.Master)
|
||||||
{
|
{
|
||||||
FunGameService.Reload();
|
FunGameConstant.Reload();
|
||||||
FunGameSimulation.InitFunGameSimulation();
|
FunGameSimulation.InitFunGameSimulation();
|
||||||
return "FunGame已重新加载。";
|
return "FunGame已重新加载。";
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user