mirror of
https://github.com/oshima-studios/OshimaGameModule.git
synced 2025-04-20 19:09:35 +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.Inventory.Credits = 5000000;
|
||||
user.Inventory.Characters.Add(new CustomCharacter(userid, username));
|
||||
FunGameService.UserIdAndUsername[userid] = username;
|
||||
pc.Add("user", user);
|
||||
pc.SaveConfig();
|
||||
return NetworkUtility.JsonSerialize($"创建存档成功!你的用户名是【{username}】。");
|
||||
@ -338,6 +339,7 @@ namespace Oshima.Core.Controllers
|
||||
user.Inventory.Materials = 0;
|
||||
user.Inventory.Characters.Clear();
|
||||
user.Inventory.Items.Clear();
|
||||
user.Inventory.Characters.Add(new CustomCharacter(userid, user.Username));
|
||||
user.LastTime = DateTime.Now;
|
||||
pc.Add("user", user);
|
||||
pc.SaveConfig();
|
||||
@ -380,6 +382,7 @@ namespace Oshima.Core.Controllers
|
||||
{
|
||||
user.Inventory.Name = user.Username + "的库存";
|
||||
}
|
||||
FunGameService.UserIdAndUsername[user.Id] = user.Username;
|
||||
user.LastTime = DateTime.Now;
|
||||
pc.Add("user", user);
|
||||
pc.SaveConfig();
|
||||
@ -1101,12 +1104,13 @@ namespace Oshima.Core.Controllers
|
||||
}
|
||||
|
||||
[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
|
||||
{
|
||||
long userid = qq ?? Convert.ToInt64("10" + Verification.CreateVerifyCode(VerifyCodeType.NumberVerifyCode, 11));
|
||||
int cIndex = seq ?? 0;
|
||||
bool isSimple = simple ?? false;
|
||||
|
||||
PluginConfig pc = new("saved", userid.ToString());
|
||||
pc.LoadConfig();
|
||||
@ -1118,6 +1122,10 @@ namespace Oshima.Core.Controllers
|
||||
if (cIndex > 0 && cIndex <= user.Inventory.Characters.Count)
|
||||
{
|
||||
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()}");
|
||||
}
|
||||
else
|
||||
@ -1344,6 +1352,28 @@ namespace Oshima.Core.Controllers
|
||||
return [e.ToString()];
|
||||
}
|
||||
}
|
||||
|
||||
[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")]
|
||||
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.Constant;
|
||||
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;
|
||||
try
|
||||
{
|
||||
if (IsRuning) return ["游戏正在进行中,请勿重复请求!"];
|
||||
|
||||
List<string> result = [];
|
||||
Msg = "";
|
||||
|
||||
IsRuning = true;
|
||||
|
||||
if (PrintOut) Console.WriteLine();
|
||||
if (PrintOut) Console.WriteLine("Start!!!");
|
||||
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 += "\r\n";
|
||||
foreach (Character character in characters)
|
||||
{
|
||||
roundMsg += $"[ {character} ] 生命值:{character.HP}/{character.MaxHP}" + "\r\n";
|
||||
}
|
||||
roundMsg = roundMsg.Trim();
|
||||
Msg = "";
|
||||
}
|
||||
|
||||
@ -781,7 +783,7 @@ namespace Oshima.Core.Utils
|
||||
|
||||
// 赛后统计
|
||||
GetCharacterRating(actionQueue.CharacterStatistics, isTeam, actionQueue.EliminatedTeams);
|
||||
int top = isWeb ? actionQueue.CharacterStatistics.Count : 4; // 回执多少个角色的统计信息
|
||||
int top = isWeb ? actionQueue.CharacterStatistics.Count : 2; // 回执多少个角色的统计信息
|
||||
int count = 1;
|
||||
if (isWeb)
|
||||
{
|
||||
@ -790,23 +792,26 @@ namespace Oshima.Core.Utils
|
||||
}
|
||||
else
|
||||
{
|
||||
//WriteLine("=== 本场比赛最佳角色 ===");
|
||||
//Msg = $"=== 本场比赛最佳角色 ===\r\n";
|
||||
//// 统计技术得分
|
||||
//Character? character = actionQueue.CharacterStatistics.OrderByDescending(d => d.Value.Rating).Select(d => d.Key).FirstOrDefault();
|
||||
//if (character != null)
|
||||
//{
|
||||
// CharacterStatistics stats = actionQueue.CharacterStatistics[character];
|
||||
// stats.MVPs++;
|
||||
// StringBuilder builder = new();
|
||||
// builder.AppendLine($"{(isWeb ? count + "." : (isTeam ? "[ " + actionQueue.GetTeamFromEliminated(character)?.Name + " ]" ?? " " : ""))}[ {character.ToStringWithLevel()} ]");
|
||||
// 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.TotalDamage} / 总计物理伤害:{stats.TotalPhysicalDamage} / 总计魔法伤害:{stats.TotalMagicDamage}");
|
||||
// builder.AppendLine($"总承受伤害:{stats.TotalTakenDamage} / 总承受物理伤害:{stats.TotalTakenPhysicalDamage} / 总承受魔法伤害:{stats.TotalTakenMagicDamage}");
|
||||
// builder.Append($"每秒伤害:{stats.DamagePerSecond} / 每回合伤害:{stats.DamagePerTurn}");
|
||||
// WriteLine(builder.ToString());
|
||||
//}
|
||||
if (isTeam)
|
||||
{
|
||||
WriteLine("=== 本场比赛最佳角色 ===");
|
||||
Msg = $"=== 本场比赛最佳角色 ===\r\n";
|
||||
// 统计技术得分
|
||||
Character? character = actionQueue.CharacterStatistics.OrderByDescending(d => d.Value.Rating).Select(d => d.Key).FirstOrDefault();
|
||||
if (character != null)
|
||||
{
|
||||
CharacterStatistics stats = actionQueue.CharacterStatistics[character];
|
||||
stats.MVPs++;
|
||||
StringBuilder builder = new();
|
||||
builder.AppendLine($"{(isTeam ? "[ " + actionQueue.GetTeamFromEliminated(character)?.Name + " ] " : "")}[ {character.ToStringWithLevel()} ]");
|
||||
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.TotalDamage} / 总计物理伤害:{stats.TotalPhysicalDamage} / 总计魔法伤害:{stats.TotalMagicDamage}");
|
||||
builder.AppendLine($"总承受伤害:{stats.TotalTakenDamage} / 总承受物理伤害:{stats.TotalTakenPhysicalDamage} / 总承受魔法伤害:{stats.TotalTakenMagicDamage}");
|
||||
builder.Append($"每秒伤害:{stats.DamagePerSecond} / 每回合伤害:{stats.DamagePerTurn}");
|
||||
WriteLine(builder.ToString());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (PrintOut)
|
||||
@ -815,7 +820,7 @@ namespace Oshima.Core.Utils
|
||||
Console.WriteLine("=== 技术得分排行榜 ===");
|
||||
}
|
||||
|
||||
Msg = "=== 技术得分排行榜 ===\r\n";
|
||||
Msg = $"=== 技术得分排行榜 TOP{top} ===\r\n";
|
||||
|
||||
if (isTeam)
|
||||
{
|
||||
@ -845,7 +850,7 @@ namespace Oshima.Core.Utils
|
||||
{
|
||||
StringBuilder builder = new();
|
||||
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.LiveTime} / 存活回合数:{stats.LiveRound} / 行动回合数:{stats.ActionTurn}");
|
||||
builder.AppendLine($"总计伤害:{stats.TotalDamage} / 总计物理伤害:{stats.TotalPhysicalDamage} / 总计魔法伤害:{stats.TotalMagicDamage}");
|
||||
@ -907,13 +912,10 @@ namespace Oshima.Core.Utils
|
||||
}
|
||||
}
|
||||
|
||||
IsRuning = false;
|
||||
|
||||
return result;
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
IsRuning = false;
|
||||
Console.WriteLine(ex);
|
||||
return [ex.ToString()];
|
||||
}
|
||||
|
@ -17,6 +17,7 @@ namespace Oshima.Core.Utils
|
||||
public static List<Skill> Magics { get; } = [];
|
||||
public static List<Item> Equipment { get; } = [];
|
||||
public static List<Item> Items { get; } = [];
|
||||
public static Dictionary<long, string> UserIdAndUsername { get; } = [];
|
||||
|
||||
public static void InitFunGame()
|
||||
{
|
||||
@ -35,7 +36,7 @@ namespace Oshima.Core.Utils
|
||||
|
||||
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()]);
|
||||
Equipment.AddRange([new 攻击之爪10(), new 攻击之爪20(), new 攻击之爪35(), new 攻击之爪50()]);
|
||||
|
||||
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 string Name => "攻击之爪 +30";
|
||||
public override long Id => (long)AccessoryID.攻击之爪20;
|
||||
public override string Name => "攻击之爪 +20";
|
||||
public override string Description => Skills.Passives.Count > 0 ? Skills.Passives.First().Description : "";
|
||||
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,14 +49,14 @@ namespace Oshima.FunGame.OshimaModules.Items
|
||||
public override long Id => (long)AccessoryID.攻击之爪50;
|
||||
public override string Name => "攻击之爪 +50";
|
||||
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)
|
||||
{
|
||||
Skills.Passives.Add(new 攻击之爪技能(character, this, 50));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public class 攻击之爪技能 : Skill
|
||||
{
|
||||
public override long Id => (long)ItemPassiveID.攻击之爪;
|
||||
|
@ -3,7 +3,8 @@
|
||||
public enum AccessoryID : long
|
||||
{
|
||||
攻击之爪10 = 14001,
|
||||
攻击之爪30 = 14002,
|
||||
攻击之爪50 = 14003,
|
||||
攻击之爪20 = 14002,
|
||||
攻击之爪35 = 14003,
|
||||
攻击之爪50 = 14004,
|
||||
}
|
||||
}
|
||||
|
@ -26,7 +26,8 @@ namespace Oshima.FunGame.OshimaModules
|
||||
return id switch
|
||||
{
|
||||
(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(),
|
||||
_ => null,
|
||||
};
|
||||
|
@ -637,7 +637,7 @@
|
||||
"初级法袍": {
|
||||
"Id": 12501,
|
||||
"Name": "初级法袍",
|
||||
"Description": "增加角色 10% 魔法抗性。",
|
||||
"Description": "增加角色 8% 魔法抗性。",
|
||||
"BackgroundStory": "可以不穿,不能没有。",
|
||||
"ItemType": 2,
|
||||
"WeaponType": 0,
|
||||
@ -653,7 +653,7 @@
|
||||
{
|
||||
"Id": 8020,
|
||||
"mdftype": 0,
|
||||
"mdfvalue": 0.1
|
||||
"mdfvalue": 0.08
|
||||
}
|
||||
]
|
||||
}
|
||||
@ -688,7 +688,7 @@
|
||||
"圣洁之盾": {
|
||||
"Id": 12503,
|
||||
"Name": "圣洁之盾",
|
||||
"Description": "受到的物理伤害减少 20%。",
|
||||
"Description": "增加 10% 物理伤害减免。",
|
||||
"BackgroundStory": "传说中由圣光祝福的盾牌,能够抵挡邪恶的力量。",
|
||||
"ItemType": 2,
|
||||
"WeaponType": 0,
|
||||
@ -703,7 +703,7 @@
|
||||
"Effects": [
|
||||
{
|
||||
"Id": 8019,
|
||||
"expdr": 0.20
|
||||
"expdr": 0.10
|
||||
}
|
||||
]
|
||||
}
|
||||
@ -713,7 +713,7 @@
|
||||
"魔能法袍": {
|
||||
"Id": 12504,
|
||||
"Name": "魔能法袍",
|
||||
"Description": "增加角色 15 点智力和 20% 魔法抗性。",
|
||||
"Description": "增加角色 15 点智力和 15% 魔法抗性。",
|
||||
"BackgroundStory": "法袍蕴含着神秘的魔力,穿戴者能增强魔法威力。",
|
||||
"ItemType": 2,
|
||||
"WeaponType": 0,
|
||||
@ -733,7 +733,7 @@
|
||||
{
|
||||
"Id": 8020,
|
||||
"mdftype": 0,
|
||||
"mdfvalue": 0.2
|
||||
"mdfvalue": 0.15
|
||||
}
|
||||
]
|
||||
}
|
||||
@ -971,7 +971,7 @@
|
||||
"富贵头冠": {
|
||||
"Id": 14502,
|
||||
"Name": "富贵头冠",
|
||||
"Description": "增加角色 170 点最大生命值和 80 点最大魔法值。",
|
||||
"Description": "增加角色 70 点最大生命值和 40 点最大魔法值。",
|
||||
"BackgroundStory": "辉煌华贵的头冠。",
|
||||
"ItemType": 4,
|
||||
"WeaponType": 0,
|
||||
@ -986,11 +986,11 @@
|
||||
"Effects": [
|
||||
{
|
||||
"Id": 8012,
|
||||
"exhp": 170
|
||||
"exhp": 70
|
||||
},
|
||||
{
|
||||
"Id": 8013,
|
||||
"exmp": 80
|
||||
"exmp": 40
|
||||
}
|
||||
]
|
||||
}
|
||||
@ -1000,7 +1000,7 @@
|
||||
"黄金挂坠": {
|
||||
"Id": 14503,
|
||||
"Name": "黄金挂坠",
|
||||
"Description": "增加角色 300 点最大生命值。",
|
||||
"Description": "增加角色 150 点最大生命值。",
|
||||
"BackgroundStory": "珍贵稀有的黄金挂件,象征财富与荣耀的护身符。",
|
||||
"ItemType": 4,
|
||||
"WeaponType": 0,
|
||||
@ -1015,7 +1015,7 @@
|
||||
"Effects": [
|
||||
{
|
||||
"Id": 8012,
|
||||
"exhp": 300
|
||||
"exhp": 150
|
||||
}
|
||||
]
|
||||
}
|
||||
@ -1025,7 +1025,7 @@
|
||||
"辉煌光环": {
|
||||
"Id": 14504,
|
||||
"Name": "辉煌光环",
|
||||
"Description": "增加角色 170 点最大魔法值和 6 点每时间魔法回复。",
|
||||
"Description": "增加角色 80 点最大魔法值和 5 点每时间魔法回复。",
|
||||
"BackgroundStory": "流光溢彩的光环。",
|
||||
"ItemType": 4,
|
||||
"WeaponType": 0,
|
||||
@ -1040,11 +1040,11 @@
|
||||
"Effects": [
|
||||
{
|
||||
"Id": 8013,
|
||||
"exmp": 170
|
||||
"exmp": 80
|
||||
},
|
||||
{
|
||||
"Id": 8022,
|
||||
"exmr": 6
|
||||
"exmr": 5
|
||||
}
|
||||
]
|
||||
}
|
||||
@ -1203,7 +1203,7 @@
|
||||
"YukiのCalfSocks": {
|
||||
"Id": 14510,
|
||||
"Name": "YukiのCalfSocks",
|
||||
"Description": "增加角色 15% 暴击率和 30% 暴击伤害。",
|
||||
"Description": "增加角色 10% 暴击率和 20% 暴击伤害。",
|
||||
"BackgroundStory": "小雪的小腿袜,拥有神秘的力量,令人神往。",
|
||||
"ItemType": 4,
|
||||
"WeaponType": 0,
|
||||
@ -1218,11 +1218,11 @@
|
||||
"Effects": [
|
||||
{
|
||||
"Id": 8014,
|
||||
"excr": 0.15
|
||||
"excr": 0.1
|
||||
},
|
||||
{
|
||||
"Id": 8015,
|
||||
"excrd": 0.3
|
||||
"excrd": 0.2
|
||||
}
|
||||
]
|
||||
}
|
||||
@ -1286,7 +1286,7 @@
|
||||
"路人哥的cos服": {
|
||||
"Id": 14513,
|
||||
"Name": "路人哥的cos服",
|
||||
"Description": "增加角色 10% 攻击力,增加角色 15% 魔法抗性,但是会减少 8% 物理伤害减免。",
|
||||
"Description": "增加角色 10% 攻击力,增加角色 10% 魔法抗性,但是会减少 8% 物理伤害减免。",
|
||||
"BackgroundStory": "一套神秘的服饰,据说穿上后会引发未知的力量变化。",
|
||||
"ItemType": 4,
|
||||
"WeaponType": 0,
|
||||
@ -1306,7 +1306,7 @@
|
||||
{
|
||||
"Id": 8020,
|
||||
"mdftype": 0,
|
||||
"mdfvalue": 0.15
|
||||
"mdfvalue": 0.10
|
||||
},
|
||||
{
|
||||
"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