mirror of
https://github.com/oshima-studios/OshimaGameModule.git
synced 2025-04-24 04:49:38 +08:00
添加了用户名缓存;调整了一些物品的数值;添加了按用户名决斗的API
This commit is contained in:
parent
7b245ee263
commit
46d2cc2794
@ -313,6 +313,7 @@ namespace Oshima.Core.Controllers
|
|||||||
User user = Factory.GetUser(userid, username, DateTime.Now, DateTime.Now, userid + "@qq.com", username);
|
User user = Factory.GetUser(userid, username, DateTime.Now, DateTime.Now, userid + "@qq.com", username);
|
||||||
user.Inventory.Credits = 5000000;
|
user.Inventory.Credits = 5000000;
|
||||||
user.Inventory.Characters.Add(new CustomCharacter(userid, username));
|
user.Inventory.Characters.Add(new CustomCharacter(userid, username));
|
||||||
|
FunGameService.UserIdAndUsername[userid] = username;
|
||||||
pc.Add("user", user);
|
pc.Add("user", user);
|
||||||
pc.SaveConfig();
|
pc.SaveConfig();
|
||||||
return NetworkUtility.JsonSerialize($"创建存档成功!你的用户名是【{username}】。");
|
return NetworkUtility.JsonSerialize($"创建存档成功!你的用户名是【{username}】。");
|
||||||
@ -338,6 +339,7 @@ namespace Oshima.Core.Controllers
|
|||||||
user.Inventory.Materials = 0;
|
user.Inventory.Materials = 0;
|
||||||
user.Inventory.Characters.Clear();
|
user.Inventory.Characters.Clear();
|
||||||
user.Inventory.Items.Clear();
|
user.Inventory.Items.Clear();
|
||||||
|
user.Inventory.Characters.Add(new CustomCharacter(userid, user.Username));
|
||||||
user.LastTime = DateTime.Now;
|
user.LastTime = DateTime.Now;
|
||||||
pc.Add("user", user);
|
pc.Add("user", user);
|
||||||
pc.SaveConfig();
|
pc.SaveConfig();
|
||||||
@ -380,6 +382,7 @@ namespace Oshima.Core.Controllers
|
|||||||
{
|
{
|
||||||
user.Inventory.Name = user.Username + "的库存";
|
user.Inventory.Name = user.Username + "的库存";
|
||||||
}
|
}
|
||||||
|
FunGameService.UserIdAndUsername[user.Id] = user.Username;
|
||||||
user.LastTime = DateTime.Now;
|
user.LastTime = DateTime.Now;
|
||||||
pc.Add("user", user);
|
pc.Add("user", user);
|
||||||
pc.SaveConfig();
|
pc.SaveConfig();
|
||||||
@ -1101,12 +1104,13 @@ namespace Oshima.Core.Controllers
|
|||||||
}
|
}
|
||||||
|
|
||||||
[HttpPost("showcharacterinfo")]
|
[HttpPost("showcharacterinfo")]
|
||||||
public string GetCharacterInfoFromInventory([FromQuery] long? qq = null, [FromQuery] int? seq = null)
|
public string GetCharacterInfoFromInventory([FromQuery] long? qq = null, [FromQuery] int? seq = null, [FromQuery] bool? simple = null)
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
long userid = qq ?? Convert.ToInt64("10" + Verification.CreateVerifyCode(VerifyCodeType.NumberVerifyCode, 11));
|
long userid = qq ?? Convert.ToInt64("10" + Verification.CreateVerifyCode(VerifyCodeType.NumberVerifyCode, 11));
|
||||||
int cIndex = seq ?? 0;
|
int cIndex = seq ?? 0;
|
||||||
|
bool isSimple = simple ?? false;
|
||||||
|
|
||||||
PluginConfig pc = new("saved", userid.ToString());
|
PluginConfig pc = new("saved", userid.ToString());
|
||||||
pc.LoadConfig();
|
pc.LoadConfig();
|
||||||
@ -1118,6 +1122,10 @@ namespace Oshima.Core.Controllers
|
|||||||
if (cIndex > 0 && cIndex <= user.Inventory.Characters.Count)
|
if (cIndex > 0 && cIndex <= user.Inventory.Characters.Count)
|
||||||
{
|
{
|
||||||
Character character = user.Inventory.Characters.ToList()[cIndex - 1];
|
Character character = user.Inventory.Characters.ToList()[cIndex - 1];
|
||||||
|
if (isSimple)
|
||||||
|
{
|
||||||
|
return NetworkUtility.JsonSerialize($"这是你库存中序号为 {cIndex} 的角色简略信息:\r\n{character.GetSimpleInfo().Trim()}");
|
||||||
|
}
|
||||||
return NetworkUtility.JsonSerialize($"这是你库存中序号为 {cIndex} 的角色详细信息:\r\n{character.GetInfo().Trim()}");
|
return NetworkUtility.JsonSerialize($"这是你库存中序号为 {cIndex} 的角色详细信息:\r\n{character.GetInfo().Trim()}");
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@ -1345,6 +1353,28 @@ namespace Oshima.Core.Controllers
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[HttpPost("fightcustom2")]
|
||||||
|
public List<string> FightCustom2([FromQuery] long? qq = null, [FromQuery] string? name = null)
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
if (name != null)
|
||||||
|
{
|
||||||
|
long enemyid = FunGameService.UserIdAndUsername.Where(kv => kv.Value == name).Select(kv => kv.Key).FirstOrDefault();
|
||||||
|
if (enemyid == 0)
|
||||||
|
{
|
||||||
|
return [$"找不到此名称对应的玩家!"];
|
||||||
|
}
|
||||||
|
return FightCustom(qq, enemyid);
|
||||||
|
}
|
||||||
|
return [$"决斗发起失败!"];
|
||||||
|
}
|
||||||
|
catch (Exception e)
|
||||||
|
{
|
||||||
|
return [e.ToString()];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
[HttpGet("reload")]
|
[HttpGet("reload")]
|
||||||
public string Relaod([FromQuery] long? master = null)
|
public string Relaod([FromQuery] long? master = null)
|
||||||
{
|
{
|
||||||
|
@ -1,4 +1,6 @@
|
|||||||
using Milimoe.FunGame.Core.Library.Common.Addon;
|
using Milimoe.FunGame.Core.Api.Utility;
|
||||||
|
using Milimoe.FunGame.Core.Entity;
|
||||||
|
using Milimoe.FunGame.Core.Library.Common.Addon;
|
||||||
using Oshima.Core.Configs;
|
using Oshima.Core.Configs;
|
||||||
using Oshima.Core.Constant;
|
using Oshima.Core.Constant;
|
||||||
using Oshima.Core.Utils;
|
using Oshima.Core.Utils;
|
||||||
@ -114,6 +116,27 @@ namespace Oshima.Core.WebAPI
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
Task taskCache = Task.Factory.StartNew(async () =>
|
||||||
|
{
|
||||||
|
string directoryPath = $@"{AppDomain.CurrentDomain.BaseDirectory}configs/saved";
|
||||||
|
if (Directory.Exists(directoryPath))
|
||||||
|
{
|
||||||
|
string[] filePaths = Directory.GetFiles(directoryPath);
|
||||||
|
foreach (string filePath in filePaths)
|
||||||
|
{
|
||||||
|
string fileName = Path.GetFileNameWithoutExtension(filePath);
|
||||||
|
PluginConfig pc = new("saved", fileName);
|
||||||
|
pc.LoadConfig();
|
||||||
|
if (pc.Count > 0)
|
||||||
|
{
|
||||||
|
User user = FunGameService.GetUser(pc);
|
||||||
|
FunGameService.UserIdAndUsername[user.Id] = user.Username;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
Controller.WriteLine("读取 FunGame 存档缓存");
|
||||||
|
}
|
||||||
|
await Task.Delay(3000 * 60 * 10);
|
||||||
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -566,13 +566,9 @@ namespace Oshima.Core.Utils
|
|||||||
DeathMatchRoundDetail = deathMatchRoundDetail;
|
DeathMatchRoundDetail = deathMatchRoundDetail;
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
if (IsRuning) return ["游戏正在进行中,请勿重复请求!"];
|
|
||||||
|
|
||||||
List<string> result = [];
|
List<string> result = [];
|
||||||
Msg = "";
|
Msg = "";
|
||||||
|
|
||||||
IsRuning = true;
|
|
||||||
|
|
||||||
if (PrintOut) Console.WriteLine();
|
if (PrintOut) Console.WriteLine();
|
||||||
if (PrintOut) Console.WriteLine("Start!!!");
|
if (PrintOut) Console.WriteLine("Start!!!");
|
||||||
if (PrintOut) Console.WriteLine();
|
if (PrintOut) Console.WriteLine();
|
||||||
@ -755,6 +751,12 @@ namespace Oshima.Core.Utils
|
|||||||
{
|
{
|
||||||
roundMsg = actionQueue.LastRound.ToString().Trim() + $"\r\n{(isTeam ? $"比分:{string.Join(" / ", actionQueue.Teams.Values.Select(t => $"{t.Name}({t.Score})"))},击杀来自{actionQueue.GetTeam(actionQueue.LastRound.Actor)}" : "")}\r\n";
|
roundMsg = actionQueue.LastRound.ToString().Trim() + $"\r\n{(isTeam ? $"比分:{string.Join(" / ", actionQueue.Teams.Values.Select(t => $"{t.Name}({t.Score})"))},击杀来自{actionQueue.GetTeam(actionQueue.LastRound.Actor)}" : "")}\r\n";
|
||||||
}
|
}
|
||||||
|
roundMsg += "\r\n";
|
||||||
|
foreach (Character character in characters)
|
||||||
|
{
|
||||||
|
roundMsg += $"[ {character} ] 生命值:{character.HP}/{character.MaxHP}" + "\r\n";
|
||||||
|
}
|
||||||
|
roundMsg = roundMsg.Trim();
|
||||||
Msg = "";
|
Msg = "";
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -781,7 +783,7 @@ namespace Oshima.Core.Utils
|
|||||||
|
|
||||||
// 赛后统计
|
// 赛后统计
|
||||||
GetCharacterRating(actionQueue.CharacterStatistics, isTeam, actionQueue.EliminatedTeams);
|
GetCharacterRating(actionQueue.CharacterStatistics, isTeam, actionQueue.EliminatedTeams);
|
||||||
int top = isWeb ? actionQueue.CharacterStatistics.Count : 4; // 回执多少个角色的统计信息
|
int top = isWeb ? actionQueue.CharacterStatistics.Count : 2; // 回执多少个角色的统计信息
|
||||||
int count = 1;
|
int count = 1;
|
||||||
if (isWeb)
|
if (isWeb)
|
||||||
{
|
{
|
||||||
@ -790,23 +792,26 @@ namespace Oshima.Core.Utils
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
//WriteLine("=== 本场比赛最佳角色 ===");
|
if (isTeam)
|
||||||
//Msg = $"=== 本场比赛最佳角色 ===\r\n";
|
{
|
||||||
//// 统计技术得分
|
WriteLine("=== 本场比赛最佳角色 ===");
|
||||||
//Character? character = actionQueue.CharacterStatistics.OrderByDescending(d => d.Value.Rating).Select(d => d.Key).FirstOrDefault();
|
Msg = $"=== 本场比赛最佳角色 ===\r\n";
|
||||||
//if (character != null)
|
// 统计技术得分
|
||||||
//{
|
Character? character = actionQueue.CharacterStatistics.OrderByDescending(d => d.Value.Rating).Select(d => d.Key).FirstOrDefault();
|
||||||
// CharacterStatistics stats = actionQueue.CharacterStatistics[character];
|
if (character != null)
|
||||||
// stats.MVPs++;
|
{
|
||||||
// StringBuilder builder = new();
|
CharacterStatistics stats = actionQueue.CharacterStatistics[character];
|
||||||
// builder.AppendLine($"{(isWeb ? count + "." : (isTeam ? "[ " + actionQueue.GetTeamFromEliminated(character)?.Name + " ]" ?? " " : ""))}[ {character.ToStringWithLevel()} ]");
|
stats.MVPs++;
|
||||||
// builder.AppendLine($"技术得分:{stats.Rating:0.##} / 击杀数:{stats.Kills} / 助攻数:{stats.Assists}{(actionQueue.MaxRespawnTimes != 0 ? " / 死亡数:" + stats.Deaths : "")}");
|
StringBuilder builder = new();
|
||||||
// builder.AppendLine($"存活时长:{stats.LiveTime} / 存活回合数:{stats.LiveRound} / 行动回合数:{stats.ActionTurn}");
|
builder.AppendLine($"{(isTeam ? "[ " + actionQueue.GetTeamFromEliminated(character)?.Name + " ] " : "")}[ {character.ToStringWithLevel()} ]");
|
||||||
// builder.AppendLine($"总计伤害:{stats.TotalDamage} / 总计物理伤害:{stats.TotalPhysicalDamage} / 总计魔法伤害:{stats.TotalMagicDamage}");
|
builder.AppendLine($"技术得分:{stats.Rating:0.##} / 击杀数:{stats.Kills} / 助攻数:{stats.Assists}{(actionQueue.MaxRespawnTimes != 0 ? " / 死亡数:" + stats.Deaths : "")}");
|
||||||
// builder.AppendLine($"总承受伤害:{stats.TotalTakenDamage} / 总承受物理伤害:{stats.TotalTakenPhysicalDamage} / 总承受魔法伤害:{stats.TotalTakenMagicDamage}");
|
builder.AppendLine($"存活时长:{stats.LiveTime} / 存活回合数:{stats.LiveRound} / 行动回合数:{stats.ActionTurn}");
|
||||||
// builder.Append($"每秒伤害:{stats.DamagePerSecond} / 每回合伤害:{stats.DamagePerTurn}");
|
builder.AppendLine($"总计伤害:{stats.TotalDamage} / 总计物理伤害:{stats.TotalPhysicalDamage} / 总计魔法伤害:{stats.TotalMagicDamage}");
|
||||||
// WriteLine(builder.ToString());
|
builder.AppendLine($"总承受伤害:{stats.TotalTakenDamage} / 总承受物理伤害:{stats.TotalTakenPhysicalDamage} / 总承受魔法伤害:{stats.TotalTakenMagicDamage}");
|
||||||
//}
|
builder.Append($"每秒伤害:{stats.DamagePerSecond} / 每回合伤害:{stats.DamagePerTurn}");
|
||||||
|
WriteLine(builder.ToString());
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (PrintOut)
|
if (PrintOut)
|
||||||
@ -815,7 +820,7 @@ namespace Oshima.Core.Utils
|
|||||||
Console.WriteLine("=== 技术得分排行榜 ===");
|
Console.WriteLine("=== 技术得分排行榜 ===");
|
||||||
}
|
}
|
||||||
|
|
||||||
Msg = "=== 技术得分排行榜 ===\r\n";
|
Msg = $"=== 技术得分排行榜 TOP{top} ===\r\n";
|
||||||
|
|
||||||
if (isTeam)
|
if (isTeam)
|
||||||
{
|
{
|
||||||
@ -845,7 +850,7 @@ namespace Oshima.Core.Utils
|
|||||||
{
|
{
|
||||||
StringBuilder builder = new();
|
StringBuilder builder = new();
|
||||||
CharacterStatistics stats = actionQueue.CharacterStatistics[character];
|
CharacterStatistics stats = actionQueue.CharacterStatistics[character];
|
||||||
builder.AppendLine($"{(isWeb ? count + ". " : "")}[ {character.ToStringWithLevel()} ]");
|
builder.AppendLine($"{count + ". "}[ {character.ToStringWithLevel()} ]");
|
||||||
builder.AppendLine($"技术得分:{stats.Rating:0.##} / 击杀数:{stats.Kills} / 助攻数:{stats.Assists}{(actionQueue.MaxRespawnTimes != 0 ? " / 死亡数:" + stats.Deaths : "")}");
|
builder.AppendLine($"技术得分:{stats.Rating:0.##} / 击杀数:{stats.Kills} / 助攻数:{stats.Assists}{(actionQueue.MaxRespawnTimes != 0 ? " / 死亡数:" + stats.Deaths : "")}");
|
||||||
builder.AppendLine($"存活时长:{stats.LiveTime} / 存活回合数:{stats.LiveRound} / 行动回合数:{stats.ActionTurn}");
|
builder.AppendLine($"存活时长:{stats.LiveTime} / 存活回合数:{stats.LiveRound} / 行动回合数:{stats.ActionTurn}");
|
||||||
builder.AppendLine($"总计伤害:{stats.TotalDamage} / 总计物理伤害:{stats.TotalPhysicalDamage} / 总计魔法伤害:{stats.TotalMagicDamage}");
|
builder.AppendLine($"总计伤害:{stats.TotalDamage} / 总计物理伤害:{stats.TotalPhysicalDamage} / 总计魔法伤害:{stats.TotalMagicDamage}");
|
||||||
@ -907,13 +912,10 @@ namespace Oshima.Core.Utils
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
IsRuning = false;
|
|
||||||
|
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
{
|
{
|
||||||
IsRuning = false;
|
|
||||||
Console.WriteLine(ex);
|
Console.WriteLine(ex);
|
||||||
return [ex.ToString()];
|
return [ex.ToString()];
|
||||||
}
|
}
|
||||||
|
@ -17,6 +17,7 @@ namespace Oshima.Core.Utils
|
|||||||
public static List<Skill> Magics { get; } = [];
|
public static List<Skill> Magics { get; } = [];
|
||||||
public static List<Item> Equipment { get; } = [];
|
public static List<Item> Equipment { get; } = [];
|
||||||
public static List<Item> Items { get; } = [];
|
public static List<Item> Items { get; } = [];
|
||||||
|
public static Dictionary<long, string> UserIdAndUsername { get; } = [];
|
||||||
|
|
||||||
public static void InitFunGame()
|
public static void InitFunGame()
|
||||||
{
|
{
|
||||||
@ -35,7 +36,7 @@ namespace Oshima.Core.Utils
|
|||||||
|
|
||||||
Dictionary<string, Item> exItems = Factory.GetGameModuleInstances<Item>(OshimaGameModuleConstant.General, OshimaGameModuleConstant.Item);
|
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(exItems.Values.Where(i => (int)i.ItemType >= 0 && (int)i.ItemType < 5));
|
||||||
Equipment.AddRange([new 攻击之爪10(), new 攻击之爪30(), new 攻击之爪50()]);
|
Equipment.AddRange([new 攻击之爪10(), new 攻击之爪20(), new 攻击之爪35(), new 攻击之爪50()]);
|
||||||
|
|
||||||
Items.AddRange(exItems.Values.Where(i => (int)i.ItemType > 4));
|
Items.AddRange(exItems.Values.Where(i => (int)i.ItemType > 4));
|
||||||
|
|
||||||
|
@ -18,16 +18,29 @@ namespace Oshima.FunGame.OshimaModules.Items
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public class 攻击之爪30 : Item
|
public class 攻击之爪20 : Item
|
||||||
{
|
{
|
||||||
public override long Id => (long)AccessoryID.攻击之爪30;
|
public override long Id => (long)AccessoryID.攻击之爪20;
|
||||||
public override string Name => "攻击之爪 +30";
|
public override string Name => "攻击之爪 +20";
|
||||||
public override string Description => Skills.Passives.Count > 0 ? Skills.Passives.First().Description : "";
|
public override string Description => Skills.Passives.Count > 0 ? Skills.Passives.First().Description : "";
|
||||||
public override QualityType QualityType => QualityType.Green;
|
public override QualityType QualityType => QualityType.Green;
|
||||||
|
|
||||||
public 攻击之爪30(Character? character = null) : base(ItemType.Accessory)
|
public 攻击之爪20(Character? character = null) : base(ItemType.Accessory)
|
||||||
{
|
{
|
||||||
Skills.Passives.Add(new 攻击之爪技能(character, this, 30));
|
Skills.Passives.Add(new 攻击之爪技能(character, this, 20));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public class 攻击之爪35 : Item
|
||||||
|
{
|
||||||
|
public override long Id => (long)AccessoryID.攻击之爪35;
|
||||||
|
public override string Name => "攻击之爪 +35";
|
||||||
|
public override string Description => Skills.Passives.Count > 0 ? Skills.Passives.First().Description : "";
|
||||||
|
public override QualityType QualityType => QualityType.Blue;
|
||||||
|
|
||||||
|
public 攻击之爪35(Character? character = null) : base(ItemType.Accessory)
|
||||||
|
{
|
||||||
|
Skills.Passives.Add(new 攻击之爪技能(character, this, 35));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -36,7 +49,7 @@ namespace Oshima.FunGame.OshimaModules.Items
|
|||||||
public override long Id => (long)AccessoryID.攻击之爪50;
|
public override long Id => (long)AccessoryID.攻击之爪50;
|
||||||
public override string Name => "攻击之爪 +50";
|
public override string Name => "攻击之爪 +50";
|
||||||
public override string Description => Skills.Passives.Count > 0 ? Skills.Passives.First().Description : "";
|
public override string Description => Skills.Passives.Count > 0 ? Skills.Passives.First().Description : "";
|
||||||
public override QualityType QualityType => QualityType.Blue;
|
public override QualityType QualityType => QualityType.Purple;
|
||||||
|
|
||||||
public 攻击之爪50(Character? character = null) : base(ItemType.Accessory)
|
public 攻击之爪50(Character? character = null) : base(ItemType.Accessory)
|
||||||
{
|
{
|
||||||
|
@ -3,7 +3,8 @@
|
|||||||
public enum AccessoryID : long
|
public enum AccessoryID : long
|
||||||
{
|
{
|
||||||
攻击之爪10 = 14001,
|
攻击之爪10 = 14001,
|
||||||
攻击之爪30 = 14002,
|
攻击之爪20 = 14002,
|
||||||
攻击之爪50 = 14003,
|
攻击之爪35 = 14003,
|
||||||
|
攻击之爪50 = 14004,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -26,7 +26,8 @@ namespace Oshima.FunGame.OshimaModules
|
|||||||
return id switch
|
return id switch
|
||||||
{
|
{
|
||||||
(long)AccessoryID.攻击之爪10 => new 攻击之爪10(),
|
(long)AccessoryID.攻击之爪10 => new 攻击之爪10(),
|
||||||
(long)AccessoryID.攻击之爪30 => new 攻击之爪30(),
|
(long)AccessoryID.攻击之爪20 => new 攻击之爪20(),
|
||||||
|
(long)AccessoryID.攻击之爪35 => new 攻击之爪35(),
|
||||||
(long)AccessoryID.攻击之爪50 => new 攻击之爪50(),
|
(long)AccessoryID.攻击之爪50 => new 攻击之爪50(),
|
||||||
_ => null,
|
_ => null,
|
||||||
};
|
};
|
||||||
|
@ -637,7 +637,7 @@
|
|||||||
"初级法袍": {
|
"初级法袍": {
|
||||||
"Id": 12501,
|
"Id": 12501,
|
||||||
"Name": "初级法袍",
|
"Name": "初级法袍",
|
||||||
"Description": "增加角色 10% 魔法抗性。",
|
"Description": "增加角色 8% 魔法抗性。",
|
||||||
"BackgroundStory": "可以不穿,不能没有。",
|
"BackgroundStory": "可以不穿,不能没有。",
|
||||||
"ItemType": 2,
|
"ItemType": 2,
|
||||||
"WeaponType": 0,
|
"WeaponType": 0,
|
||||||
@ -653,7 +653,7 @@
|
|||||||
{
|
{
|
||||||
"Id": 8020,
|
"Id": 8020,
|
||||||
"mdftype": 0,
|
"mdftype": 0,
|
||||||
"mdfvalue": 0.1
|
"mdfvalue": 0.08
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
@ -688,7 +688,7 @@
|
|||||||
"圣洁之盾": {
|
"圣洁之盾": {
|
||||||
"Id": 12503,
|
"Id": 12503,
|
||||||
"Name": "圣洁之盾",
|
"Name": "圣洁之盾",
|
||||||
"Description": "受到的物理伤害减少 20%。",
|
"Description": "增加 10% 物理伤害减免。",
|
||||||
"BackgroundStory": "传说中由圣光祝福的盾牌,能够抵挡邪恶的力量。",
|
"BackgroundStory": "传说中由圣光祝福的盾牌,能够抵挡邪恶的力量。",
|
||||||
"ItemType": 2,
|
"ItemType": 2,
|
||||||
"WeaponType": 0,
|
"WeaponType": 0,
|
||||||
@ -703,7 +703,7 @@
|
|||||||
"Effects": [
|
"Effects": [
|
||||||
{
|
{
|
||||||
"Id": 8019,
|
"Id": 8019,
|
||||||
"expdr": 0.20
|
"expdr": 0.10
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
@ -713,7 +713,7 @@
|
|||||||
"魔能法袍": {
|
"魔能法袍": {
|
||||||
"Id": 12504,
|
"Id": 12504,
|
||||||
"Name": "魔能法袍",
|
"Name": "魔能法袍",
|
||||||
"Description": "增加角色 15 点智力和 20% 魔法抗性。",
|
"Description": "增加角色 15 点智力和 15% 魔法抗性。",
|
||||||
"BackgroundStory": "法袍蕴含着神秘的魔力,穿戴者能增强魔法威力。",
|
"BackgroundStory": "法袍蕴含着神秘的魔力,穿戴者能增强魔法威力。",
|
||||||
"ItemType": 2,
|
"ItemType": 2,
|
||||||
"WeaponType": 0,
|
"WeaponType": 0,
|
||||||
@ -733,7 +733,7 @@
|
|||||||
{
|
{
|
||||||
"Id": 8020,
|
"Id": 8020,
|
||||||
"mdftype": 0,
|
"mdftype": 0,
|
||||||
"mdfvalue": 0.2
|
"mdfvalue": 0.15
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
@ -971,7 +971,7 @@
|
|||||||
"富贵头冠": {
|
"富贵头冠": {
|
||||||
"Id": 14502,
|
"Id": 14502,
|
||||||
"Name": "富贵头冠",
|
"Name": "富贵头冠",
|
||||||
"Description": "增加角色 170 点最大生命值和 80 点最大魔法值。",
|
"Description": "增加角色 70 点最大生命值和 40 点最大魔法值。",
|
||||||
"BackgroundStory": "辉煌华贵的头冠。",
|
"BackgroundStory": "辉煌华贵的头冠。",
|
||||||
"ItemType": 4,
|
"ItemType": 4,
|
||||||
"WeaponType": 0,
|
"WeaponType": 0,
|
||||||
@ -986,11 +986,11 @@
|
|||||||
"Effects": [
|
"Effects": [
|
||||||
{
|
{
|
||||||
"Id": 8012,
|
"Id": 8012,
|
||||||
"exhp": 170
|
"exhp": 70
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"Id": 8013,
|
"Id": 8013,
|
||||||
"exmp": 80
|
"exmp": 40
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
@ -1000,7 +1000,7 @@
|
|||||||
"黄金挂坠": {
|
"黄金挂坠": {
|
||||||
"Id": 14503,
|
"Id": 14503,
|
||||||
"Name": "黄金挂坠",
|
"Name": "黄金挂坠",
|
||||||
"Description": "增加角色 300 点最大生命值。",
|
"Description": "增加角色 150 点最大生命值。",
|
||||||
"BackgroundStory": "珍贵稀有的黄金挂件,象征财富与荣耀的护身符。",
|
"BackgroundStory": "珍贵稀有的黄金挂件,象征财富与荣耀的护身符。",
|
||||||
"ItemType": 4,
|
"ItemType": 4,
|
||||||
"WeaponType": 0,
|
"WeaponType": 0,
|
||||||
@ -1015,7 +1015,7 @@
|
|||||||
"Effects": [
|
"Effects": [
|
||||||
{
|
{
|
||||||
"Id": 8012,
|
"Id": 8012,
|
||||||
"exhp": 300
|
"exhp": 150
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
@ -1025,7 +1025,7 @@
|
|||||||
"辉煌光环": {
|
"辉煌光环": {
|
||||||
"Id": 14504,
|
"Id": 14504,
|
||||||
"Name": "辉煌光环",
|
"Name": "辉煌光环",
|
||||||
"Description": "增加角色 170 点最大魔法值和 6 点每时间魔法回复。",
|
"Description": "增加角色 80 点最大魔法值和 5 点每时间魔法回复。",
|
||||||
"BackgroundStory": "流光溢彩的光环。",
|
"BackgroundStory": "流光溢彩的光环。",
|
||||||
"ItemType": 4,
|
"ItemType": 4,
|
||||||
"WeaponType": 0,
|
"WeaponType": 0,
|
||||||
@ -1040,11 +1040,11 @@
|
|||||||
"Effects": [
|
"Effects": [
|
||||||
{
|
{
|
||||||
"Id": 8013,
|
"Id": 8013,
|
||||||
"exmp": 170
|
"exmp": 80
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"Id": 8022,
|
"Id": 8022,
|
||||||
"exmr": 6
|
"exmr": 5
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
@ -1203,7 +1203,7 @@
|
|||||||
"YukiのCalfSocks": {
|
"YukiのCalfSocks": {
|
||||||
"Id": 14510,
|
"Id": 14510,
|
||||||
"Name": "YukiのCalfSocks",
|
"Name": "YukiのCalfSocks",
|
||||||
"Description": "增加角色 15% 暴击率和 30% 暴击伤害。",
|
"Description": "增加角色 10% 暴击率和 20% 暴击伤害。",
|
||||||
"BackgroundStory": "小雪的小腿袜,拥有神秘的力量,令人神往。",
|
"BackgroundStory": "小雪的小腿袜,拥有神秘的力量,令人神往。",
|
||||||
"ItemType": 4,
|
"ItemType": 4,
|
||||||
"WeaponType": 0,
|
"WeaponType": 0,
|
||||||
@ -1218,11 +1218,11 @@
|
|||||||
"Effects": [
|
"Effects": [
|
||||||
{
|
{
|
||||||
"Id": 8014,
|
"Id": 8014,
|
||||||
"excr": 0.15
|
"excr": 0.1
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"Id": 8015,
|
"Id": 8015,
|
||||||
"excrd": 0.3
|
"excrd": 0.2
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
@ -1286,7 +1286,7 @@
|
|||||||
"路人哥的cos服": {
|
"路人哥的cos服": {
|
||||||
"Id": 14513,
|
"Id": 14513,
|
||||||
"Name": "路人哥的cos服",
|
"Name": "路人哥的cos服",
|
||||||
"Description": "增加角色 10% 攻击力,增加角色 15% 魔法抗性,但是会减少 8% 物理伤害减免。",
|
"Description": "增加角色 10% 攻击力,增加角色 10% 魔法抗性,但是会减少 8% 物理伤害减免。",
|
||||||
"BackgroundStory": "一套神秘的服饰,据说穿上后会引发未知的力量变化。",
|
"BackgroundStory": "一套神秘的服饰,据说穿上后会引发未知的力量变化。",
|
||||||
"ItemType": 4,
|
"ItemType": 4,
|
||||||
"WeaponType": 0,
|
"WeaponType": 0,
|
||||||
@ -1306,7 +1306,7 @@
|
|||||||
{
|
{
|
||||||
"Id": 8020,
|
"Id": 8020,
|
||||||
"mdftype": 0,
|
"mdftype": 0,
|
||||||
"mdfvalue": 0.15
|
"mdfvalue": 0.10
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"Id": 8019,
|
"Id": 8019,
|
||||||
@ -1316,5 +1316,38 @@
|
|||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
"白月光的玉佩": {
|
||||||
|
"Id": 14514,
|
||||||
|
"Name": "白月光的玉佩",
|
||||||
|
"Description": "增加角色 15% 魔法抗性,8 点每时间魔法回复和 15% 冷却缩减。",
|
||||||
|
"BackgroundStory": "据说每个总裁都有一个救命恩人,还有一个冒充救命恩人的人。",
|
||||||
|
"ItemType": 4,
|
||||||
|
"WeaponType": 0,
|
||||||
|
"QualityType": 3,
|
||||||
|
"Skills": {
|
||||||
|
"Active": null,
|
||||||
|
"Passives": [
|
||||||
|
{
|
||||||
|
"Id": 7314,
|
||||||
|
"Name": "白月光的玉佩",
|
||||||
|
"SkillType": 3,
|
||||||
|
"Effects": [
|
||||||
|
{
|
||||||
|
"Id": 8020,
|
||||||
|
"exatk": 0.15
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Id": 8022,
|
||||||
|
"exmr": 8
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Id": 8011,
|
||||||
|
"excdr": 0.1
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
Loading…
x
Reference in New Issue
Block a user