添加创建魔法卡和魔法卡包

This commit is contained in:
milimoe 2024-11-12 20:25:16 +08:00
parent 1813dca1fa
commit 37ed981be2
Signed by: milimoe
GPG Key ID: 05D280912DA6C69E
33 changed files with 434 additions and 92 deletions

View File

@ -28,7 +28,7 @@ namespace Oshima.Core.Controllers
{ {
try try
{ {
SQLHelper? sql = Statics.RunningPlugin.SQLHelper; SQLHelper? sql = Statics.RunningPlugin.Controller.SQLHelper;
if (sql != null) if (sql != null)
{ {
sql.ExecuteDataSet(ServerLoginLogs.Select_GetLastLoginTime()); sql.ExecuteDataSet(ServerLoginLogs.Select_GetLastLoginTime());

View File

@ -33,6 +33,8 @@ namespace Oshima.Core.WebAPI
public override void AfterLoad(params object[] objs) public override void AfterLoad(params object[] objs)
{ {
Statics.RunningPlugin = this; Statics.RunningPlugin = this;
Controller.NewSQLHelper();
Controller.NewMailSender();
GeneralSettings.LoadSetting(); GeneralSettings.LoadSetting();
GeneralSettings.SaveConfig(); GeneralSettings.SaveConfig();
QQOpenID.LoadConfig(); QQOpenID.LoadConfig();
@ -40,7 +42,7 @@ namespace Oshima.Core.WebAPI
Daily.InitDaily(); Daily.InitDaily();
SayNo.InitSayNo(); SayNo.InitSayNo();
Ignore.InitIgnore(); Ignore.InitIgnore();
FunGameSimulation.InitCharacter(); FunGameSimulation.InitFunGame();
Task taskTime = Task.Factory.StartNew(async () => Task taskTime = Task.Factory.StartNew(async () =>
{ {
while (true) while (true)

View File

@ -1,6 +1,7 @@
using System.Text; using System.Text;
using Milimoe.FunGame.Core.Api.Utility; 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.Model; using Milimoe.FunGame.Core.Model;
using Oshima.FunGame.OshimaModules; using Oshima.FunGame.OshimaModules;
using Oshima.FunGame.OshimaModules.Characters; using Oshima.FunGame.OshimaModules.Characters;
@ -27,6 +28,60 @@ namespace Oshima.Core.Utils
public static bool DeathMatchRoundDetail { get; set; } = false; public static bool DeathMatchRoundDetail { get; set; } = false;
public static string Msg { get; set; } = ""; public static string Msg { get; set; } = "";
public static void InitFunGame()
{
Characters.Add(new OshimaShiya());
Characters.Add(new XinYin());
Characters.Add(new Yang());
Characters.Add(new NanGanYu());
Characters.Add(new NiuNan());
Characters.Add(new DokyoMayor());
Characters.Add(new MagicalGirl());
Characters.Add(new QingXiang());
Characters.Add(new QWQAQW());
Characters.Add(new ColdBlue());
Characters.Add(new dddovo());
Characters.Add(new Quduoduo());
foreach (Character c in Characters)
{
CharacterStatistics.Add(c, new());
}
StatsConfig.LoadConfig();
foreach (Character character in CharacterStatistics.Keys)
{
if (StatsConfig.ContainsKey(character.ToStringWithOutUser()))
{
CharacterStatistics[character] = StatsConfig.Get<CharacterStatistics>(character.ToStringWithOutUser()) ?? CharacterStatistics[character];
}
}
foreach (Character c in Characters)
{
TeamCharacterStatistics.Add(c, new());
}
TeamStatsConfig.LoadConfig();
foreach (Character character in TeamCharacterStatistics.Keys)
{
if (TeamStatsConfig.ContainsKey(character.ToStringWithOutUser()))
{
TeamCharacterStatistics[character] = TeamStatsConfig.Get<CharacterStatistics>(character.ToStringWithOutUser()) ?? TeamCharacterStatistics[character];
}
}
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 30(), new 50()]);
Items.AddRange(exItems.Values.Where(i => (int)i.ItemType > 4));
Skills.AddRange([new ()]);
Magics.AddRange([new (), new (), new (), new (), new (), new (), new (), new (), new (), new ()]);
}
public static List<string> StartGame(bool printout, bool isWeb = false, bool isTeam = false, bool deathMatchRoundDetail = false) public static List<string> StartGame(bool printout, bool isWeb = false, bool isTeam = false, bool deathMatchRoundDetail = false)
{ {
PrintOut = printout; PrintOut = printout;
@ -88,14 +143,14 @@ namespace Oshima.Core.Utils
c.Level = clevel; c.Level = clevel;
c.NormalAttack.Level = mlevel; c.NormalAttack.Level = mlevel;
IEnumerable<Skill> magics = Magics.OrderBy(x => Random.Shared.Next()).Take(3); //IEnumerable<Skill> magics = Magics.OrderBy(x => Random.Shared.Next()).Take(3);
foreach (Skill magic in magics) //foreach (Skill magic in magics)
{ //{
Skill m = magic.Copy(); // Skill m = magic.Copy();
m.Character = c; // m.Character = c;
m.Level = mlevel; // m.Level = mlevel;
c.Skills.Add(m); // c.Skills.Add(m);
} //}
Skill = new (c) Skill = new (c)
{ {
@ -298,13 +353,18 @@ namespace Oshima.Core.Utils
// 开始空投 // 开始空投
Msg = ""; Msg = "";
int = 0;
int = 0; int = 0;
int = 0; int = 0;
int = 0; int = 0;
int = 0; int = 0;
(actionQueue, , , , ); (actionQueue, , , , , );
if (isWeb) result.Add("=== 空投 ===\r\n" + Msg); if (isWeb) result.Add("=== 空投 ===\r\n" + Msg);
double = isTeam ? 80 : 40; double = isTeam ? 80 : 40;
if ( < 4)
{
++;
}
if ( < 4) if ( < 4)
{ {
++; ++;
@ -514,9 +574,13 @@ namespace Oshima.Core.Utils
{ {
// 空投 // 空投
Msg = ""; Msg = "";
(actionQueue, , , , ); (actionQueue, , , , , );
if (isWeb) result.Add("=== 空投 ===\r\n" + Msg); if (isWeb) result.Add("=== 空投 ===\r\n" + Msg);
= isTeam ? 100 : 40; = isTeam ? 100 : 40;
if ( < 4)
{
++;
}
if ( < 4) if ( < 4)
{ {
++; ++;
@ -723,7 +787,7 @@ namespace Oshima.Core.Utils
if (PrintOut) Console.WriteLine(str); if (PrintOut) Console.WriteLine(str);
} }
public static void (ActionQueue queue, int wQuality, int aQuality, int sQuality, int acQuality) public static void (ActionQueue queue, int mQuality, int wQuality, int aQuality, int sQuality, int acQuality)
{ {
WriteLine($"社区送温暖了,现在随机发放空投!!"); WriteLine($"社区送温暖了,现在随机发放空投!!");
foreach (Character character in queue.Queue) foreach (Character character in queue.Queue)
@ -754,71 +818,295 @@ namespace Oshima.Core.Utils
if (b != null) .Add(b); if (b != null) .Add(b);
if (c != null) .Add(c); if (c != null) .Add(c);
if (d != null) .Add(d); if (d != null) .Add(d);
Item? = GenerateMagicCardPack(3, (QualityType)mQuality);
if ( != null)
{
foreach (Skill magic in .Skills.Magics)
{
magic.Level = 8;
}
.SetGamingQueue(queue);
queue.Equip(character, );
}
foreach (Item item in ) foreach (Item item in )
{ {
Item realItem = item.Copy(); Item realItem = item.Copy();
realItem.SetGamingQueue(queue); realItem.SetGamingQueue(queue);
realItem.SetLevel(1);
queue.Equip(character, realItem); queue.Equip(character, realItem);
} }
} }
WriteLine(""); WriteLine("");
} }
public static void InitCharacter() public static List<Item> GenerateMagicCards(int count, QualityType? qualityType = null)
{ {
Characters.Add(new OshimaShiya()); List<Item> items = [];
Characters.Add(new XinYin());
Characters.Add(new Yang());
Characters.Add(new NanGanYu());
Characters.Add(new NiuNan());
Characters.Add(new DokyoMayor());
Characters.Add(new MagicalGirl());
Characters.Add(new QingXiang());
Characters.Add(new QWQAQW());
Characters.Add(new ColdBlue());
Characters.Add(new dddovo());
Characters.Add(new Quduoduo());
foreach (Character c in Characters) for (int i = 0; i < count; i++)
{ {
CharacterStatistics.Add(c, new()); items.Add(GenerateMagicCard(qualityType));
}
StatsConfig.LoadConfig();
foreach (Character character in CharacterStatistics.Keys)
{
if (StatsConfig.ContainsKey(character.ToStringWithOutUser()))
{
CharacterStatistics[character] = StatsConfig.Get<CharacterStatistics>(character.ToStringWithOutUser()) ?? CharacterStatistics[character];
}
} }
foreach (Character c in Characters) return items;
{
TeamCharacterStatistics.Add(c, new());
}
TeamStatsConfig.LoadConfig();
foreach (Character character in TeamCharacterStatistics.Keys)
{
if (TeamStatsConfig.ContainsKey(character.ToStringWithOutUser()))
{
TeamCharacterStatistics[character] = TeamStatsConfig.Get<CharacterStatistics>(character.ToStringWithOutUser()) ?? TeamCharacterStatistics[character];
}
}
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 30(), new 50()]);
Items.AddRange(exItems.Values.Where(i => (int)i.ItemType > 4));
Skills.AddRange([new ()]);
Magics.AddRange([new (), new (), new (), new (), new (), new (), new (), new (), new (), new ()]);
} }
public static Item GenerateMagicCard(QualityType? qualityType = null)
{
Item item = Factory.GetItem();
item.Id = Convert.ToInt64("16" + Verification.CreateVerifyCode(VerifyCodeType.NumberVerifyCode, 8));
item.Name = GenerateRandomChineseName();
item.ItemType = ItemType.MagicCard;
item.BackgroundStory = "这是一张随机生成的魔法卡。";
int total;
if (qualityType != null)
{
total = qualityType switch
{
QualityType.Green => Random.Shared.Next(7, 13),
QualityType.Blue => Random.Shared.Next(13, 19),
QualityType.Purple => Random.Shared.Next(19, 25),
QualityType.Orange => Random.Shared.Next(25, 31),
_ => Random.Shared.Next(1, 7)
};
item.QualityType = (QualityType)qualityType;
}
else
{
total = Random.Shared.Next(1, 31);
if (total > 6 && total <= 12)
{
item.QualityType = QualityType.Green;
}
else if (total > 12 && total <= 18)
{
item.QualityType = QualityType.Blue;
}
else if (total > 18 && total <= 24)
{
item.QualityType = QualityType.Purple;
}
else if (total > 24 && total <= 30)
{
item.QualityType = QualityType.Orange;
}
}
GenerateAndAddSkillToMagicCard(item, total);
return item;
}
public static void GenerateAndAddSkillToMagicCard(Item item, int total)
{
Skill magic = Magics[Random.Shared.Next(Magics.Count)].Copy();
magic.Level = (int)item.QualityType switch
{
2 => 2,
4 => 3,
6 => 4,
_ => 1
};
item.Skills.Active = magic;
// 初始化属性值
int str = 0, agi = 0, intelligence = 0;
// 随机决定将多少个属性赋给其中一个属性,确保至少一个不为零
int nonZeroAttributes = Random.Shared.Next(1, Math.Min(4, total + 1)); // 随机决定非零属性的数量,确保在 total = 1 时最多只有1个非零属性
// 根据非零属性数量分配属性点
if (nonZeroAttributes == 1)
{
// 只有一个属性不为零
int attribute = Random.Shared.Next(0, 3);
if (attribute == 0) str = total;
else if (attribute == 1) agi = total;
else intelligence = total;
}
else if (nonZeroAttributes == 2 && total >= 2)
{
// 两个属性不为零
int first = Random.Shared.Next(1, total); // 第一个属性的值
int second = total - first; // 第二个属性的值
int attribute = Random.Shared.Next(0, 3);
if (attribute == 0)
{
str = first;
}
else if (attribute == 1)
{
agi = first;
}
else
{
intelligence = first;
}
attribute = Random.Shared.Next(0, 3);
while ((attribute == 0 && str > 0) || (attribute == 1 && agi > 0) || (attribute == 2 && intelligence > 0))
{
attribute = Random.Shared.Next(0, 3);
}
if (attribute == 0)
{
str = second;
}
else if (attribute == 1)
{
agi = second;
}
else
{
intelligence = second;
}
}
else if (total >= 3)
{
// 三个属性都不为零
str = Random.Shared.Next(1, total - 1); // 第一个属性的值
agi = Random.Shared.Next(1, total - str); // 第二个属性的值
intelligence = total - str - agi; // 剩下的值给第三个属性
}
Skill skill = Factory.OpenFactory.GetInstance<Skill>(item.Id, item.Name, []);
GenerateAndAddEffectsToMagicCard(skill, str, agi, intelligence);
if (magic.Level > 1) item.Name += $" +{magic.Level - 1}";
skill.Level = 1;
item.Skills.Passives.Add(skill);
}
public static void GenerateAndAddEffectsToMagicCard(Skill skill, int str, int agi, int intelligence)
{
if (str > 0)
{
skill.Effects.Add(Factory.OpenFactory.GetInstance<Effect>((long)EffectID.ExSTR, "", new()
{
{ "skill", skill },
{
"values", new Dictionary<string, object>()
{
{ "exstr", str }
}
}
}));
}
if (agi > 0)
{
skill.Effects.Add(Factory.OpenFactory.GetInstance<Effect>((long)EffectID.ExAGI, "", new()
{
{ "skill", skill },
{
"values", new Dictionary<string, object>()
{
{ "exagi", agi }
}
}
}));
}
if (intelligence > 0)
{
skill.Effects.Add(Factory.OpenFactory.GetInstance<Effect>((long)EffectID.ExINT, "", new()
{
{ "skill", skill },
{
"values", new Dictionary<string, object>()
{
{ "exint", intelligence }
}
}
}));
}
}
public static Item? ConflateMagicCardPack(IEnumerable<Item> magicCards)
{
if (magicCards.Any())
{
List<Skill> magics = [.. magicCards.Where(i => i.Skills.Active != null).Select(i => i.Skills.Active)];
List<Skill> passives = [.. magicCards.SelectMany(i => i.Skills.Passives)];
Item item = Factory.GetItem();
item.Id = Convert.ToInt64("10" + Verification.CreateVerifyCode(VerifyCodeType.NumberVerifyCode, 8));
item.Name = GenerateRandomChineseName();
item.ItemType = ItemType.MagicCardPack;
item.BackgroundStory = "这是一个由三张魔法卡合成而来的魔法卡包。";
double str = 0, agi = 0, intelligence = 0;
foreach (Skill skill in passives)
{
Skill newSkill = skill.Copy();
foreach (Effect effect in newSkill.Effects)
{
switch ((EffectID)effect.Id)
{
case EffectID.ExSTR:
if (effect is ExSTR exstr)
{
str += exstr.Value;
}
break;
case EffectID.ExAGI:
if (effect is ExAGI exagi)
{
agi += exagi.Value;
}
break;
case EffectID.ExINT:
if (effect is ExINT exint)
{
intelligence += exint.Value;
}
break;
}
}
newSkill.Level = skill.Level;
item.Skills.Passives.Add(newSkill);
}
List<string> strings = [];
if (str > 0) strings.Add($"{str:0.##} 点力量");
if (agi > 0) strings.Add($"{agi:0.##} 点敏捷");
if (intelligence > 0) strings.Add($"{intelligence:0.##} 点智力");
foreach (Skill skill in magics)
{
Skill magic = skill.Copy();
magic.Level = skill.Level;
item.Skills.Magics.Add(magic);
}
item.Description = $"包含魔法:{string.Join("", item.Skills.Magics.Select(m => m.Name + $" +{m.Level - 1}"))}\r\n" +
$"增加角色属性:{string.Join("", strings)}";
double total = str + agi + intelligence;
if (total > 18 && total <= 36)
{
item.QualityType = QualityType.Green;
}
else if (total > 36 && total <= 54)
{
item.QualityType = QualityType.Blue;
}
else if (total > 54 && total <= 72)
{
item.QualityType = QualityType.Purple;
}
else if (total > 72 && total <= 90)
{
item.QualityType = QualityType.Orange;
}
return item;
}
return null;
}
public static Item? GenerateMagicCardPack(int magicCardCount, QualityType? qualityType = null)
{
List<Item> magicCards = GenerateMagicCards(magicCardCount, qualityType);
Item? magicCardPack = ConflateMagicCardPack(magicCards);
return magicCardPack;
}
public static void Reload() public static void Reload()
{ {
Characters.Clear(); Characters.Clear();
@ -828,7 +1116,7 @@ namespace Oshima.Core.Utils
Skills.Clear(); Skills.Clear();
Magics.Clear(); Magics.Clear();
InitCharacter(); InitFunGame();
} }
public static Dictionary<EffectID, Dictionary<string, object>> RoundRewards public static Dictionary<EffectID, Dictionary<string, object>> RoundRewards
@ -1012,7 +1300,7 @@ namespace Oshima.Core.Utils
{ {
baseScore = baseScore * 0.6 + 0.4 * (stats.Kills / (stats.Kills + stats.Deaths + 0.01)); baseScore = baseScore * 0.6 + 0.4 * (stats.Kills / (stats.Kills + stats.Deaths + 0.01));
} }
// 伤害贡献 // 伤害贡献
double logDamageContribution = Math.Log(1 + (stats.TotalDamage / (stats.TotalTakenDamage + 1e-6))); double logDamageContribution = Math.Log(1 + (stats.TotalDamage / (stats.TotalTakenDamage + 1e-6)));
@ -1041,5 +1329,30 @@ namespace Oshima.Core.Utils
// 确保评分在合理范围内 // 确保评分在合理范围内
return Math.Max(0.01, rating); return Math.Max(0.01, rating);
} }
public static string GenerateRandomChineseName()
{
// 定义一个包含常用汉字的字符串
string commonChineseCharacters = "云星宝灵梦龙花雨风叶山川月石羽水竹金" +
"玉海火雷光天地云凤虎虹珠华霞鹏雪银沙松桃兰竹青霜鸿康龙骏波泉河湖江泽" +
"洋林枫梅桂樱桐竹晴韵凌兰若悠碧涛渊风雷壁石剑影霖玄承珍雅耀星瑞龙鹤烟" +
"影凤燕霏翼羽翔璃绮纱绫绣锦瑜琼瑾璇璧琳琪琳瑶瑛芝杏茜荷莉莹菡莲诗羽珍" +
"瑰翠椒槐榆槿柱梧桐曜曙晶暖智煌熙灵霓珠熠燕熹熠碧瑶琳嘉琪瑶琴瑶琴碧曼" +
"菁蓉菲瑾淑妙惠嘉华秋涵智映巧慧茹瑜瑶荣菱霏曦容芬玲瑛琪瑜澜碧影凌清涛" +
"湘泽澄泓泓翠澜润璇珺湘晨曦晶翠瑾澜涟润淑洁悠雅翠霏涵淑珍绮翠润";
// 随机生成名字长度2到5个字
int nameLength = Random.Shared.Next(2, 6);
StringBuilder name = new();
for (int i = 0; i < nameLength; i++)
{
// 从常用汉字集中随机选择一个汉字
char chineseCharacter = commonChineseCharacters[Random.Shared.Next(commonChineseCharacters.Length)];
name.Append(chineseCharacter);
}
return name.ToString();
}
} }
} }

View File

@ -9,7 +9,8 @@ namespace Oshima.FunGame.OshimaModules.Effects.OpenEffects
public override string Name => "加速系数加成"; public override string Name => "加速系数加成";
public override string Description => $"{(实际加成 >= 0 ? "" : "")}角色 {Math.Abs(实际加成) * 100:0.##}% 加速系数。" + (Source != null && Skill.Character != Source ? $"来自:[ {Source} ]" + (Skill.Item != null ? $" 的 [ {Skill.Item.Name} ]" : "") : ""); public override string Description => $"{(实际加成 >= 0 ? "" : "")}角色 {Math.Abs(实际加成) * 100:0.##}% 加速系数。" + (Source != null && Skill.Character != Source ? $"来自:[ {Source} ]" + (Skill.Item != null ? $" 的 [ {Skill.Item.Name} ]" : "") : "");
public override EffectType EffectType => EffectType.Item; public override EffectType EffectType => EffectType.Item;
public double Value => ;
private readonly double = 0; private readonly double = 0;
public override void OnEffectGained(Character character) public override void OnEffectGained(Character character)

View File

@ -9,7 +9,8 @@ namespace Oshima.FunGame.OshimaModules.Effects.OpenEffects
public override string Name => "敏捷加成"; public override string Name => "敏捷加成";
public override string Description => $"{(实际加成 >= 0 ? "" : "")}角色 {Math.Abs(实际加成):0.##} 点敏捷。" + (Source != null && Skill.Character != Source ? $"来自:[ {Source} ]" + (Skill.Item != null ? $" 的 [ {Skill.Item.Name} ]" : "") : ""); public override string Description => $"{(实际加成 >= 0 ? "" : "")}角色 {Math.Abs(实际加成):0.##} 点敏捷。" + (Source != null && Skill.Character != Source ? $"来自:[ {Source} ]" + (Skill.Item != null ? $" 的 [ {Skill.Item.Name} ]" : "") : "");
public override EffectType EffectType => EffectType.Item; public override EffectType EffectType => EffectType.Item;
public double Value => ;
private readonly double = 0; private readonly double = 0;
public override void OnEffectGained(Character character) public override void OnEffectGained(Character character)

View File

@ -9,7 +9,8 @@ namespace Oshima.FunGame.OshimaModules.Effects.OpenEffects
public override string Name => "敏捷加成"; public override string Name => "敏捷加成";
public override string Description => $"{(实际加成 >= 0 ? "" : "")}角色 {Math.Abs(加成比例) * 100:0.##}% [ {Math.Abs(实际加成):0.##} ] 点敏捷。" + (Source != null && Skill.Character != Source ? $"来自:[ {Source} ]" + (Skill.Item != null ? $" 的 [ {Skill.Item.Name} ]" : "") : ""); public override string Description => $"{(实际加成 >= 0 ? "" : "")}角色 {Math.Abs(加成比例) * 100:0.##}% [ {Math.Abs(实际加成):0.##} ] 点敏捷。" + (Source != null && Skill.Character != Source ? $"来自:[ {Source} ]" + (Skill.Item != null ? $" 的 [ {Skill.Item.Name} ]" : "") : "");
public override EffectType EffectType => EffectType.Item; public override EffectType EffectType => EffectType.Item;
public double Value => ;
private readonly double = 0; private readonly double = 0;
private double = 0; private double = 0;

View File

@ -9,7 +9,8 @@ namespace Oshima.FunGame.OshimaModules.Effects.OpenEffects
public override string Name => "攻击力加成"; public override string Name => "攻击力加成";
public override string Description => $"{(实际加成 >= 0 ? "" : "")}角色 {Math.Abs(实际加成):0.##} 点攻击力。" + (Source != null && Skill.Character != Source ? $"来自:[ {Source} ]" + (Skill.Item != null ? $" 的 [ {Skill.Item.Name} ]" : "") : ""); public override string Description => $"{(实际加成 >= 0 ? "" : "")}角色 {Math.Abs(实际加成):0.##} 点攻击力。" + (Source != null && Skill.Character != Source ? $"来自:[ {Source} ]" + (Skill.Item != null ? $" 的 [ {Skill.Item.Name} ]" : "") : "");
public override EffectType EffectType => EffectType.Item; public override EffectType EffectType => EffectType.Item;
public double Value => ;
private readonly double = 0; private readonly double = 0;
public override void OnEffectGained(Character character) public override void OnEffectGained(Character character)

View File

@ -9,7 +9,8 @@ namespace Oshima.FunGame.OshimaModules.Effects.OpenEffects
public override string Name => "攻击力加成"; public override string Name => "攻击力加成";
public override string Description => $"{(实际加成 >= 0 ? "" : "")}角色 {Math.Abs(加成比例) * 100:0.##}% [ {Math.Abs(实际加成):0.##} ] 点攻击力。" + (Source != null && Source != null && Skill.Character != Source ? $"来自:[ {Source} ]" + (Skill.Item != null ? $" 的 [ {Skill.Item.Name} ]" : "") : ""); public override string Description => $"{(实际加成 >= 0 ? "" : "")}角色 {Math.Abs(加成比例) * 100:0.##}% [ {Math.Abs(实际加成):0.##} ] 点攻击力。" + (Source != null && Source != null && Skill.Character != Source ? $"来自:[ {Source} ]" + (Skill.Item != null ? $" 的 [ {Skill.Item.Name} ]" : "") : "");
public override EffectType EffectType => EffectType.Item; public override EffectType EffectType => EffectType.Item;
public double Value => ;
private readonly double = 0; private readonly double = 0;
private double = 0; private double = 0;

View File

@ -9,7 +9,8 @@ namespace Oshima.FunGame.OshimaModules.Effects.OpenEffects
public override string Name => "行动系数加成"; public override string Name => "行动系数加成";
public override string Description => $"{(实际加成 >= 0 ? "" : "")}角色 {Math.Abs(实际加成) * 100:0.##}% 行动系数。" + (Source != null && Skill.Character != Source ? $"来自:[ {Source} ]" + (Skill.Item != null ? $" 的 [ {Skill.Item.Name} ]" : "") : ""); public override string Description => $"{(实际加成 >= 0 ? "" : "")}角色 {Math.Abs(实际加成) * 100:0.##}% 行动系数。" + (Source != null && Skill.Character != Source ? $"来自:[ {Source} ]" + (Skill.Item != null ? $" 的 [ {Skill.Item.Name} ]" : "") : "");
public override EffectType EffectType => EffectType.Item; public override EffectType EffectType => EffectType.Item;
public double Value => ;
private readonly double = 0; private readonly double = 0;
public override void OnEffectGained(Character character) public override void OnEffectGained(Character character)

View File

@ -9,7 +9,8 @@ namespace Oshima.FunGame.OshimaModules.Effects.OpenEffects
public override string Name => "冷却缩减加成"; public override string Name => "冷却缩减加成";
public override string Description => $"{(实际加成 >= 0 ? "" : "")}角色 {Math.Abs(实际加成) * 100:0.##}% 冷却缩减。" + (Source != null && Skill.Character != Source ? $"来自:[ {Source} ]" + (Skill.Item != null ? $" 的 [ {Skill.Item.Name} ]" : "") : ""); public override string Description => $"{(实际加成 >= 0 ? "" : "")}角色 {Math.Abs(实际加成) * 100:0.##}% 冷却缩减。" + (Source != null && Skill.Character != Source ? $"来自:[ {Source} ]" + (Skill.Item != null ? $" 的 [ {Skill.Item.Name} ]" : "") : "");
public override EffectType EffectType => EffectType.Item; public override EffectType EffectType => EffectType.Item;
public double Value => ;
private readonly double = 0; private readonly double = 0;
public override void OnEffectGained(Character character) public override void OnEffectGained(Character character)

View File

@ -9,7 +9,8 @@ namespace Oshima.FunGame.OshimaModules.Effects.OpenEffects
public override string Name => "暴击伤害加成"; public override string Name => "暴击伤害加成";
public override string Description => $"{(实际加成 >= 0 ? "" : "")}角色 {Math.Abs(实际加成) * 100:0.##}% 暴击伤害。" + (Source != null && Skill.Character != Source ? $"来自:[ {Source} ]" + (Skill.Item != null ? $" 的 [ {Skill.Item.Name} ]" : "") : ""); public override string Description => $"{(实际加成 >= 0 ? "" : "")}角色 {Math.Abs(实际加成) * 100:0.##}% 暴击伤害。" + (Source != null && Skill.Character != Source ? $"来自:[ {Source} ]" + (Skill.Item != null ? $" 的 [ {Skill.Item.Name} ]" : "") : "");
public override EffectType EffectType => EffectType.Item; public override EffectType EffectType => EffectType.Item;
public double Value => ;
private readonly double = 0; private readonly double = 0;
public override void OnEffectGained(Character character) public override void OnEffectGained(Character character)

View File

@ -9,7 +9,8 @@ namespace Oshima.FunGame.OshimaModules.Effects.OpenEffects
public override string Name => "暴击率加成"; public override string Name => "暴击率加成";
public override string Description => $"{(实际加成 >= 0 ? "" : "")}角色 {Math.Abs(实际加成) * 100:0.##}% 暴击率。" + (Source != null && Skill.Character != Source ? $"来自:[ {Source} ]" + (Skill.Item != null ? $" 的 [ {Skill.Item.Name} ]" : "") : ""); public override string Description => $"{(实际加成 >= 0 ? "" : "")}角色 {Math.Abs(实际加成) * 100:0.##}% 暴击率。" + (Source != null && Skill.Character != Source ? $"来自:[ {Source} ]" + (Skill.Item != null ? $" 的 [ {Skill.Item.Name} ]" : "") : "");
public override EffectType EffectType => EffectType.Item; public override EffectType EffectType => EffectType.Item;
public double Value => ;
private readonly double = 0; private readonly double = 0;
public override void OnEffectGained(Character character) public override void OnEffectGained(Character character)

View File

@ -9,7 +9,8 @@ namespace Oshima.FunGame.OshimaModules.Effects.OpenEffects
public override string Name => "物理护甲加成"; public override string Name => "物理护甲加成";
public override string Description => $"{(实际加成 >= 0 ? "" : "")}角色 {Math.Abs(实际加成):0.##} 点物理护甲。" + (Source != null && Skill.Character != Source ? $"来自:[ {Source} ]" + (Skill.Item != null ? $" 的 [ {Skill.Item.Name} ]" : "") : ""); public override string Description => $"{(实际加成 >= 0 ? "" : "")}角色 {Math.Abs(实际加成):0.##} 点物理护甲。" + (Source != null && Skill.Character != Source ? $"来自:[ {Source} ]" + (Skill.Item != null ? $" 的 [ {Skill.Item.Name} ]" : "") : "");
public override EffectType EffectType => EffectType.Item; public override EffectType EffectType => EffectType.Item;
public double Value => ;
private readonly double = 0; private readonly double = 0;
public override void OnEffectGained(Character character) public override void OnEffectGained(Character character)

View File

@ -9,7 +9,8 @@ namespace Oshima.FunGame.OshimaModules.Effects.OpenEffects
public override string Name => "物理护甲加成"; public override string Name => "物理护甲加成";
public override string Description => $"{(实际加成 >= 0 ? "" : "")}角色 {Math.Abs(加成比例) * 100:0.##}% [ {实际加成:0.##} ] 点物理护甲。" + (Source != null && Skill.Character != Source ? $"来自:[ {Source} ]" + (Skill.Item != null ? $" 的 [ {Skill.Item.Name} ]" : "") : ""); public override string Description => $"{(实际加成 >= 0 ? "" : "")}角色 {Math.Abs(加成比例) * 100:0.##}% [ {实际加成:0.##} ] 点物理护甲。" + (Source != null && Skill.Character != Source ? $"来自:[ {Source} ]" + (Skill.Item != null ? $" 的 [ {Skill.Item.Name} ]" : "") : "");
public override EffectType EffectType => EffectType.Item; public override EffectType EffectType => EffectType.Item;
public double Value => ;
private readonly double = 0; private readonly double = 0;
private double = 0; private double = 0;

View File

@ -9,7 +9,8 @@ namespace Oshima.FunGame.OshimaModules.Effects.OpenEffects
public override string Name => "闪避率加成"; public override string Name => "闪避率加成";
public override string Description => $"{(实际加成 >= 0 ? "" : "")}角色 {Math.Abs(实际加成) * 100:0.##}% 闪避率。" + (Source != null && Skill.Character != Source ? $"来自:[ {Source} ]" + (Skill.Item != null ? $" 的 [ {Skill.Item.Name} ]" : "") : ""); public override string Description => $"{(实际加成 >= 0 ? "" : "")}角色 {Math.Abs(实际加成) * 100:0.##}% 闪避率。" + (Source != null && Skill.Character != Source ? $"来自:[ {Source} ]" + (Skill.Item != null ? $" 的 [ {Skill.Item.Name} ]" : "") : "");
public override EffectType EffectType => EffectType.Item; public override EffectType EffectType => EffectType.Item;
public double Value => ;
private readonly double = 0; private readonly double = 0;
public override void OnEffectGained(Character character) public override void OnEffectGained(Character character)

View File

@ -9,7 +9,8 @@ namespace Oshima.FunGame.OshimaModules.Effects.OpenEffects
public override string Name => "生命回复加成"; public override string Name => "生命回复加成";
public override string Description => $"{(实际加成 >= 0 ? "" : "")}角色 {Math.Abs(实际加成):0.##} 点生命回复。" + (Source != null && Skill.Character != Source ? $"来自:[ {Source} ]" + (Skill.Item != null ? $" 的 [ {Skill.Item.Name} ]" : "") : ""); public override string Description => $"{(实际加成 >= 0 ? "" : "")}角色 {Math.Abs(实际加成):0.##} 点生命回复。" + (Source != null && Skill.Character != Source ? $"来自:[ {Source} ]" + (Skill.Item != null ? $" 的 [ {Skill.Item.Name} ]" : "") : "");
public override EffectType EffectType => EffectType.Item; public override EffectType EffectType => EffectType.Item;
public double Value => ;
private readonly double = 0; private readonly double = 0;
public override void OnEffectGained(Character character) public override void OnEffectGained(Character character)

View File

@ -9,7 +9,8 @@ namespace Oshima.FunGame.OshimaModules.Effects.OpenEffects
public override string Name => "智力加成"; public override string Name => "智力加成";
public override string Description => $"{(实际加成 >= 0 ? "" : "")}角色 {Math.Abs(实际加成):0.##} 点智力。" + (Source != null && Skill.Character != Source ? $"来自:[ {Source} ]" + (Skill.Item != null ? $" 的 [ {Skill.Item.Name} ]" : "") : ""); public override string Description => $"{(实际加成 >= 0 ? "" : "")}角色 {Math.Abs(实际加成):0.##} 点智力。" + (Source != null && Skill.Character != Source ? $"来自:[ {Source} ]" + (Skill.Item != null ? $" 的 [ {Skill.Item.Name} ]" : "") : "");
public override EffectType EffectType => EffectType.Item; public override EffectType EffectType => EffectType.Item;
public double Value => ;
private readonly double = 0; private readonly double = 0;
public override void OnEffectGained(Character character) public override void OnEffectGained(Character character)

View File

@ -9,7 +9,8 @@ namespace Oshima.FunGame.OshimaModules.Effects.OpenEffects
public override string Name => "智力加成"; public override string Name => "智力加成";
public override string Description => $"{(实际加成 >= 0 ? "" : "")}角色 {Math.Abs(加成比例) * 100:0.##}% [ {Math.Abs(实际加成):0.##} ] 点智力。" + (Source != null && Skill.Character != Source ? $"来自:[ {Source} ]" + (Skill.Item != null ? $" 的 [ {Skill.Item.Name} ]" : "") : ""); public override string Description => $"{(实际加成 >= 0 ? "" : "")}角色 {Math.Abs(加成比例) * 100:0.##}% [ {Math.Abs(实际加成):0.##} ] 点智力。" + (Source != null && Skill.Character != Source ? $"来自:[ {Source} ]" + (Skill.Item != null ? $" 的 [ {Skill.Item.Name} ]" : "") : "");
public override EffectType EffectType => EffectType.Item; public override EffectType EffectType => EffectType.Item;
public double Value => ;
private readonly double = 0; private readonly double = 0;
private double = 0; private double = 0;

View File

@ -9,7 +9,8 @@ namespace Oshima.FunGame.OshimaModules.Effects.OpenEffects
public override string Name => "魔法抗性加成"; public override string Name => "魔法抗性加成";
public override string Description => $"{(实际加成 >= 0 ? "" : "")}角色 {Math.Abs(实际加成) * 100:0.##}% {CharacterSet.GetMagicResistanceName(魔法类型)}。" + (Source != null && Skill.Character != Source ? $"来自:[ {Source} ]" + (Skill.Item != null ? $" 的 [ {Skill.Item.Name} ]" : "") : ""); public override string Description => $"{(实际加成 >= 0 ? "" : "")}角色 {Math.Abs(实际加成) * 100:0.##}% {CharacterSet.GetMagicResistanceName(魔法类型)}。" + (Source != null && Skill.Character != Source ? $"来自:[ {Source} ]" + (Skill.Item != null ? $" 的 [ {Skill.Item.Name} ]" : "") : "");
public override EffectType EffectType => EffectType.Item; public override EffectType EffectType => EffectType.Item;
public double Value => ;
private readonly double = 0; private readonly double = 0;
private readonly MagicType = MagicType.None; private readonly MagicType = MagicType.None;

View File

@ -9,7 +9,8 @@ namespace Oshima.FunGame.OshimaModules.Effects.OpenEffects
public override string Name => "魔法回复加成"; public override string Name => "魔法回复加成";
public override string Description => $"{(实际加成 >= 0 ? "" : "")}角色 {Math.Abs(实际加成):0.##} 点魔法回复。" + (Source != null && Skill.Character != Source ? $"来自:[ {Source} ]" + (Skill.Item != null ? $" 的 [ {Skill.Item.Name} ]" : "") : ""); public override string Description => $"{(实际加成 >= 0 ? "" : "")}角色 {Math.Abs(实际加成):0.##} 点魔法回复。" + (Source != null && Skill.Character != Source ? $"来自:[ {Source} ]" + (Skill.Item != null ? $" 的 [ {Skill.Item.Name} ]" : "") : "");
public override EffectType EffectType => EffectType.Item; public override EffectType EffectType => EffectType.Item;
public double Value => ;
private readonly double = 0; private readonly double = 0;
public override void OnEffectGained(Character character) public override void OnEffectGained(Character character)

View File

@ -9,7 +9,8 @@ namespace Oshima.FunGame.OshimaModules.Effects.OpenEffects
public override string Name => "最大生命值加成"; public override string Name => "最大生命值加成";
public override string Description => $"{(实际加成 >= 0 ? "" : "")}角色 {Math.Abs(实际加成):0.##} 点最大生命值。" + (Source != null && Skill.Character != Source ? $"来自:[ {Source} ]" + (Skill.Item != null ? $" 的 [ {Skill.Item.Name} ]" : "") : ""); public override string Description => $"{(实际加成 >= 0 ? "" : "")}角色 {Math.Abs(实际加成):0.##} 点最大生命值。" + (Source != null && Skill.Character != Source ? $"来自:[ {Source} ]" + (Skill.Item != null ? $" 的 [ {Skill.Item.Name} ]" : "") : "");
public override EffectType EffectType => EffectType.Item; public override EffectType EffectType => EffectType.Item;
public double Value => ;
private readonly double = 0; private readonly double = 0;
public override void OnEffectGained(Character character) public override void OnEffectGained(Character character)

View File

@ -9,7 +9,8 @@ namespace Oshima.FunGame.OshimaModules.Effects.OpenEffects
public override string Name => "最大生命值加成"; public override string Name => "最大生命值加成";
public override string Description => $"{(实际加成 >= 0 ? "" : "")}角色 {Math.Abs(加成比例) * 100:0.##}% [ {Math.Abs(实际加成):0.##} ] 点最大生命值。" + (Source != null && Skill.Character != Source ? $"来自:[ {Source} ]" + (Skill.Item != null ? $" 的 [ {Skill.Item.Name} ]" : "") : ""); public override string Description => $"{(实际加成 >= 0 ? "" : "")}角色 {Math.Abs(加成比例) * 100:0.##}% [ {Math.Abs(实际加成):0.##} ] 点最大生命值。" + (Source != null && Skill.Character != Source ? $"来自:[ {Source} ]" + (Skill.Item != null ? $" 的 [ {Skill.Item.Name} ]" : "") : "");
public override EffectType EffectType => EffectType.Item; public override EffectType EffectType => EffectType.Item;
public double Value => ;
private readonly double = 0; private readonly double = 0;
private double = 0; private double = 0;

View File

@ -9,7 +9,8 @@ namespace Oshima.FunGame.OshimaModules.Effects.OpenEffects
public override string Name => "最大魔法值加成"; public override string Name => "最大魔法值加成";
public override string Description => $"{(实际加成 >= 0 ? "" : "")}角色 {Math.Abs(实际加成):0.##} 点最大魔法值。" + (Source != null && Skill.Character != Source ? $"来自:[ {Source} ]" + (Skill.Item != null ? $" 的 [ {Skill.Item.Name} ]" : "") : ""); public override string Description => $"{(实际加成 >= 0 ? "" : "")}角色 {Math.Abs(实际加成):0.##} 点最大魔法值。" + (Source != null && Skill.Character != Source ? $"来自:[ {Source} ]" + (Skill.Item != null ? $" 的 [ {Skill.Item.Name} ]" : "") : "");
public override EffectType EffectType => EffectType.Item; public override EffectType EffectType => EffectType.Item;
public double Value => ;
private readonly double = 0; private readonly double = 0;
public override void OnEffectGained(Character character) public override void OnEffectGained(Character character)

View File

@ -9,7 +9,8 @@ namespace Oshima.FunGame.OshimaModules.Effects.OpenEffects
public override string Name => "最大魔法值加成"; public override string Name => "最大魔法值加成";
public override string Description => $"{(实际加成 >= 0 ? "" : "")}角色 {Math.Abs(加成比例) * 100:0.##}% [ {Math.Abs(实际加成):0.##} ] 点最大魔法值。" + (Source != null && Skill.Character != Source ? $"来自:[ {Source} ]" + (Skill.Item != null ? $" 的 [ {Skill.Item.Name} ]" : "") : ""); public override string Description => $"{(实际加成 >= 0 ? "" : "")}角色 {Math.Abs(加成比例) * 100:0.##}% [ {Math.Abs(实际加成):0.##} ] 点最大魔法值。" + (Source != null && Skill.Character != Source ? $"来自:[ {Source} ]" + (Skill.Item != null ? $" 的 [ {Skill.Item.Name} ]" : "") : "");
public override EffectType EffectType => EffectType.Item; public override EffectType EffectType => EffectType.Item;
public double Value => ;
private readonly double = 0; private readonly double = 0;
private double = 0; private double = 0;

View File

@ -9,7 +9,8 @@ namespace Oshima.FunGame.OshimaModules.Effects.OpenEffects
public override string Name => "物理伤害减免加成"; public override string Name => "物理伤害减免加成";
public override string Description => $"{(实际加成 >= 0 ? "" : "")}角色 {Math.Abs(实际加成) * 100:0.##}% 物理伤害减免。" + (Source != null && Skill.Character != Source ? $"来自:[ {Source} ]" + (Skill.Item != null ? $" 的 [ {Skill.Item.Name} ]" : "") : ""); public override string Description => $"{(实际加成 >= 0 ? "" : "")}角色 {Math.Abs(实际加成) * 100:0.##}% 物理伤害减免。" + (Source != null && Skill.Character != Source ? $"来自:[ {Source} ]" + (Skill.Item != null ? $" 的 [ {Skill.Item.Name} ]" : "") : "");
public override EffectType EffectType => EffectType.Item; public override EffectType EffectType => EffectType.Item;
public double Value => ;
private readonly double = 0; private readonly double = 0;
public override void OnEffectGained(Character character) public override void OnEffectGained(Character character)

View File

@ -9,7 +9,8 @@ namespace Oshima.FunGame.OshimaModules.Effects.OpenEffects
public override string Name => "行动速度加成"; public override string Name => "行动速度加成";
public override string Description => $"{(实际加成 >= 0 ? "" : "")}角色 {Math.Abs(实际加成):0.##} 点行动速度。" + (Source != null && Skill.Character != Source ? $"来自:[ {Source} ]" + (Skill.Item != null ? $" 的 [ {Skill.Item.Name} ]" : "") : ""); public override string Description => $"{(实际加成 >= 0 ? "" : "")}角色 {Math.Abs(实际加成):0.##} 点行动速度。" + (Source != null && Skill.Character != Source ? $"来自:[ {Source} ]" + (Skill.Item != null ? $" 的 [ {Skill.Item.Name} ]" : "") : "");
public override EffectType EffectType => EffectType.Item; public override EffectType EffectType => EffectType.Item;
public double Value => ;
private readonly double = 0; private readonly double = 0;
public override void OnEffectGained(Character character) public override void OnEffectGained(Character character)

View File

@ -9,6 +9,7 @@ namespace Oshima.FunGame.OshimaModules.Effects.OpenEffects
public override string Name => "力量加成"; public override string Name => "力量加成";
public override string Description => $"{(实际加成 >= 0 ? "" : "")}角色 {Math.Abs(实际加成):0.##} 点力量。" + (Source != null && Skill.Character != Source ? $"来自:[ {Source} ]" + (Skill.Item != null ? $" 的 [ {Skill.Item.Name} ]" : "") : ""); public override string Description => $"{(实际加成 >= 0 ? "" : "")}角色 {Math.Abs(实际加成):0.##} 点力量。" + (Source != null && Skill.Character != Source ? $"来自:[ {Source} ]" + (Skill.Item != null ? $" 的 [ {Skill.Item.Name} ]" : "") : "");
public override EffectType EffectType => EffectType.Item; public override EffectType EffectType => EffectType.Item;
public double Value => ;
private readonly double = 0; private readonly double = 0;

View File

@ -9,7 +9,8 @@ namespace Oshima.FunGame.OshimaModules.Effects.OpenEffects
public override string Name => "力量加成"; public override string Name => "力量加成";
public override string Description => $"{(实际加成 >= 0 ? "" : "")}角色 {Math.Abs(加成比例) * 100:0.##}% [ {Math.Abs(实际加成):0.##} ] 点力量。" + (Source != null && Skill.Character != Source ? $"来自:[ {Source} ]" + (Skill.Item != null ? $" 的 [ {Skill.Item.Name} ]" : "") : ""); public override string Description => $"{(实际加成 >= 0 ? "" : "")}角色 {Math.Abs(加成比例) * 100:0.##}% [ {Math.Abs(实际加成):0.##} ] 点力量。" + (Source != null && Skill.Character != Source ? $"来自:[ {Source} ]" + (Skill.Item != null ? $" 的 [ {Skill.Item.Name} ]" : "") : "");
public override EffectType EffectType => EffectType.Item; public override EffectType EffectType => EffectType.Item;
public double Value => ;
private readonly double = 0; private readonly double = 0;
private double = 0; private double = 0;

View File

@ -9,7 +9,8 @@ namespace Oshima.FunGame.OshimaModules.Effects.OpenEffects
public override string Name => "魔法穿透加成"; public override string Name => "魔法穿透加成";
public override string Description => $"{(实际加成 >= 0 ? "" : "")}角色 {Math.Abs(实际加成) * 100:0.##}% 魔法穿透。" + (Source != null && Skill.Character != Source ? $"来自:[ {Source} ]" + (Skill.Item != null ? $" 的 [ {Skill.Item.Name} ]" : "") : ""); public override string Description => $"{(实际加成 >= 0 ? "" : "")}角色 {Math.Abs(实际加成) * 100:0.##}% 魔法穿透。" + (Source != null && Skill.Character != Source ? $"来自:[ {Source} ]" + (Skill.Item != null ? $" 的 [ {Skill.Item.Name} ]" : "") : "");
public override EffectType EffectType => EffectType.Item; public override EffectType EffectType => EffectType.Item;
public double Value => ;
private readonly double = 0; private readonly double = 0;
public override void OnEffectGained(Character character) public override void OnEffectGained(Character character)

View File

@ -9,7 +9,7 @@ namespace Oshima.FunGame.OshimaModules.Effects.OpenEffects
public override string Name => Skill.Name; public override string Name => Skill.Name;
public override string Description => $"减少角色的普通攻击 {实际硬直时间减少:0.##} 硬直时间。" + (Source != null && Skill.Character != Source ? $"来自:[ {Source} ]" + (Skill.Item != null ? $" 的 [ {Skill.Item.Name} ]" : "") : ""); public override string Description => $"减少角色的普通攻击 {实际硬直时间减少:0.##} 硬直时间。" + (Source != null && Skill.Character != Source ? $"来自:[ {Source} ]" + (Skill.Item != null ? $" 的 [ {Skill.Item.Name} ]" : "") : "");
public override EffectType EffectType => EffectType.Item; public override EffectType EffectType => EffectType.Item;
private readonly double = 0; private readonly double = 0;
public override void OnEffectGained(Character character) public override void OnEffectGained(Character character)

View File

@ -9,7 +9,7 @@ namespace Oshima.FunGame.OshimaModules.Effects.OpenEffects
public override string Name => Skill.Name; public override string Name => Skill.Name;
public override string Description => $"减少角色的普通攻击 {减少比例 * 100:0.##}% 硬直时间。" + (Source != null && Skill.Character != Source ? $"来自:[ {Source} ]" + (Skill.Item != null ? $" 的 [ {Skill.Item.Name} ]" : "") : ""); public override string Description => $"减少角色的普通攻击 {减少比例 * 100:0.##}% 硬直时间。" + (Source != null && Skill.Character != Source ? $"来自:[ {Source} ]" + (Skill.Item != null ? $" 的 [ {Skill.Item.Name} ]" : "") : "");
public override EffectType EffectType => EffectType.Item; public override EffectType EffectType => EffectType.Item;
private readonly double = 0; private readonly double = 0;
public override void OnEffectGained(Character character) public override void OnEffectGained(Character character)

View File

@ -9,7 +9,8 @@ namespace Oshima.FunGame.OshimaModules.Effects.OpenEffects
public override string Name => "物理穿透加成"; public override string Name => "物理穿透加成";
public override string Description => $"{(实际加成 >= 0 ? "" : "")}角色 {Math.Abs(实际加成) * 100:0.##}% 物理穿透。" + (Source != null && Skill.Character != Source ? $"来自:[ {Source} ]" + (Skill.Item != null ? $" 的 [ {Skill.Item.Name} ]" : "") : ""); public override string Description => $"{(实际加成 >= 0 ? "" : "")}角色 {Math.Abs(实际加成) * 100:0.##}% 物理穿透。" + (Source != null && Skill.Character != Source ? $"来自:[ {Source} ]" + (Skill.Item != null ? $" 的 [ {Skill.Item.Name} ]" : "") : "");
public override EffectType EffectType => EffectType.Item; public override EffectType EffectType => EffectType.Item;
public double Value => ;
private readonly double = 0; private readonly double = 0;
public override void OnEffectGained(Character character) public override void OnEffectGained(Character character)

View File

@ -9,7 +9,7 @@ namespace Oshima.FunGame.OshimaModules.Effects.OpenEffects
public override string Name => Skill.Name; public override string Name => Skill.Name;
public override string Description => $"减少角色的所有主动技能 {实际硬直时间减少:0.##} 硬直时间。" + (Source != null && Skill.Character != Source ? $"来自:[ {Source} ]" + (Skill.Item != null ? $" 的 [ {Skill.Item.Name} ]" : "") : ""); public override string Description => $"减少角色的所有主动技能 {实际硬直时间减少:0.##} 硬直时间。" + (Source != null && Skill.Character != Source ? $"来自:[ {Source} ]" + (Skill.Item != null ? $" 的 [ {Skill.Item.Name} ]" : "") : "");
public override EffectType EffectType => EffectType.Item; public override EffectType EffectType => EffectType.Item;
private readonly double = 0; private readonly double = 0;
public override void OnEffectGained(Character character) public override void OnEffectGained(Character character)