Compare commits

..

25 Commits

Author SHA1 Message Date
cfb94e70b7 Remove deprecated methods 2022-08-26 12:59:25 +08:00
ab9b955c31 Fix command syntax error 2022-08-26 12:57:25 +08:00
4e4b47a9e6 Update version to v1.6.2 2022-08-26 12:55:50 +08:00
3da3bc4f23 Implementation Freeze stats(#97) 2022-08-26 12:55:40 +08:00
7cc46eb677 Fix Deepwood Memories Invisible 2022-08-26 12:28:56 +08:00
b9d1a2c2cd Fix run button disabled after command failed 2022-08-25 23:54:51 +08:00
a0cc908983 Fix Windows Defender virus reporting problem
by Remove Costuar/Fody
2022-08-25 22:02:43 +08:00
7dc7c7c8ac Update Check Gitee 2022-08-25 18:55:31 +08:00
ad4ca74e71 Add /prop unlockmap (#92) 2022-08-25 14:04:52 +08:00
a079685be8 Allow main stat to be empty 2022-08-25 12:29:06 +08:00
6703037527 Upgrade to PackageReference 2022-08-25 11:38:25 +08:00
417f0b7334 Update Prefabs 2022-08-24 22:35:40 +08:00
45aec44f39 Update Artifact Sets 2022-08-24 22:20:32 +08:00
7dd1e78512 Update Version to v1.6.0 2022-08-24 22:13:18 +08:00
418dfec289 Update 3.0 Resources 2022-08-24 22:11:06 +08:00
bc69a1c4ba Fix UI Issue 2022-07-28 12:22:59 +08:00
63f7eda5c3 Update version to v1.5.5
Fix GOODData Init issue
2022-07-28 08:41:08 +08:00
879bc34358 Update version to v1.5.4 2022-07-27 21:44:28 +08:00
c5a6d7f041 Add GOOD Help 2022-07-27 21:33:49 +08:00
20b1aca700 Fix UI occlusion issue 2022-07-27 20:42:02 +08:00
fb1a332f2c Fix textMapId field changed issue 2022-07-27 20:38:48 +08:00
867bdd1d00 Update README 2022-07-23 10:44:56 +08:00
5e28d1e625 Corrected format 2022-07-23 10:37:57 +08:00
e6ecde9951 Add help for server not connecting 2022-07-23 10:34:07 +08:00
gotoAndDie
2cb9f08caa Implement import from GOOD dump (#86)
* Implement import from GOOD dump

* Optimized implementation

* Add available urls

* Add prompt

Co-authored-by: Leo <chun.huang@student.manchester.ac.uk>
Co-authored-by: 筱傑 <jie65535@qq.com>
2022-07-23 10:18:51 +08:00
73 changed files with 90638 additions and 78426 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

View File

@@ -10,24 +10,24 @@
请从 [Releases](https://github.com/jie65535/GrasscutterCommandGenerator/releases) 中获取最新版本 请从 [Releases](https://github.com/jie65535/GrasscutterCommandGenerator/releases) 中获取最新版本
本工具支持 简中, 繁中, English 与 Русский 等语言。
## 远程执行 ## 远程执行
服务端需要 [gc-opencommand-plugin](https://github.com/jie65535/gc-opencommand-plugin) 插件支持 服务端需要 [gc-opencommand-plugin](https://github.com/jie65535/gc-opencommand-plugin) 插件支持
![OpenCommand](Doc/Screenshots/OpenCommand.gif) ![OpenCommand](Doc/Screenshots/OpenCommand.gif)
--- > 如果你无法连接到服务器,请确认填写的服务器地址是否正确。
>
> 建议配置服务器为HTTP模式如图所示(config.json)
> ![ConfigHttp](Doc/Screenshots/ConfigHttp.png)
>
> 你可以用浏览器访问 http://127.0.0.1/status/server 来测试服务是否正常工作。
>
> 如果使用的不是`80`端口则要在url中指定访问的端口号http://127.0.0.1:443
## TODO List ---
- [x] 多语言支持
- [x] 简体中文
- [x] 繁体中文
- [x] 英语
- [x] 俄语
- [x] 远程执行命令
- [ ] ~~邮件编辑器(无进度)~~
- [ ] ~~商店编辑器(无进度)~~
- [ ] 服务器公告编辑器(无进度)
## 软件截图 ## 软件截图

View File

@@ -10,24 +10,24 @@
Please download the latest version from [Releases](https://github.com/jie65535/GrasscutterCommandGenerator/releases) Please download the latest version from [Releases](https://github.com/jie65535/GrasscutterCommandGenerator/releases)
Support 简中, 繁中, English and Русский languages.
## Remote command ## Remote command
The server require [gc-opencommand-plugin](https://github.com/jie65535/gc-opencommand-plugin) support The server require [gc-opencommand-plugin](https://github.com/jie65535/gc-opencommand-plugin) support
![OpenCommand](Doc/Screenshots/OpenCommand.gif) ![OpenCommand](Doc/Screenshots/OpenCommand.gif)
--- > If you cannot connect to the server, please make sure the server address is correct.
>
> It is recommended to configure the server to HTTP mode, as shown in the figure(config.json):
> ![ConfigHttp](Doc/Screenshots/ConfigHttp.png)
>
> You can visit http://127.0.0.1/status/server with a browser to test whether the service is working properly.
>
> If you are not using port `80`, specify the port number to access in the url: http://127.0.0.1:443
## TODO List ---
- [x] Multi-language support
- [x] Simplified Chinese
- [x] Traditional Chinese
- [x] English
- [x] Russian
- [x] Execute command remotely
- [ ] ~~Mail Editor (no progress)~~
- [ ] ~~Shop Editor (no progress)~~
- [ ] Announcement Editor (no progress)
## Screenshots ## Screenshots

View File

@@ -10,24 +10,24 @@
Пожалуйса загрузите последнюю версию с [Releases](https://github.com/jie65535/GrasscutterCommandGenerator/releases) Пожалуйса загрузите последнюю версию с [Releases](https://github.com/jie65535/GrasscutterCommandGenerator/releases)
Support 简中, 繁中, English and Русский languages.
## Удаленная команда ## Удаленная команда
Сервер требует [gc-opencommand-plugin](https://github.com/jie65535/gc-opencommand-plugin) помощь Сервер требует [gc-opencommand-plugin](https://github.com/jie65535/gc-opencommand-plugin) помощь
![Open Command](Doc/Screenshots/OpenCommand.gif) ![Open Command](Doc/Screenshots/OpenCommand.gif)
--- > If you cannot connect to the server, please make sure the server address is correct.
>
> It is recommended to configure the server to HTTP mode, as shown in the figure(config.json):
> ![ConfigHttp](Doc/Screenshots/ConfigHttp.png)
>
> You can visit http://127.0.0.1/status/server with a browser to test whether the service is working properly.
>
> If you are not using port `80`, specify the port number to access in the url: http://127.0.0.1:443
## Список задач ---
- [x] Многоязычная поддержка
- [x] Упрощенный китайский
- [x] сложный китайский
- [х] английский
- [х] Русский
- [x] Выполнить команду удаленно
- [ ] ~~Редактор почты (нет прогресса)~~
- [ ] ~~Редактор магазина (нет прогресса)~~
- [ ] Announcement Editor (no progress)
## Скриншоты ## Скриншоты

View File

@@ -1,6 +1,5 @@
using System; using System;
using System.ComponentModel; using System.ComponentModel;
using System.Drawing;
using System.Runtime.InteropServices; using System.Runtime.InteropServices;
using System.Windows.Forms; using System.Windows.Forms;

View File

@@ -18,7 +18,6 @@
**/ **/
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Data;
using System.Linq; using System.Linq;
using System.Text; using System.Text;
using System.Windows.Forms; using System.Windows.Forms;

View File

@@ -19,7 +19,6 @@
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Data;
using System.Drawing; using System.Drawing;
using System.Linq; using System.Linq;
using System.Windows.Forms; using System.Windows.Forms;

View File

@@ -35,6 +35,11 @@ namespace GrasscutterTools.Forms
this.GrpCommand = new System.Windows.Forms.GroupBox(); this.GrpCommand = new System.Windows.Forms.GroupBox();
this.BtnInvokeOpenCommand = new System.Windows.Forms.Button(); this.BtnInvokeOpenCommand = new System.Windows.Forms.Button();
this.TPRemoteCall = new System.Windows.Forms.TabPage(); this.TPRemoteCall = new System.Windows.Forms.TabPage();
this.LnkLinks = new System.Windows.Forms.LinkLabel();
this.LnkGOODHelp = new System.Windows.Forms.LinkLabel();
this.LnkInventoryKamera = new System.Windows.Forms.LinkLabel();
this.LblGOODHelp = new System.Windows.Forms.Label();
this.ButtonOpenGOODImport = new System.Windows.Forms.Button();
this.LblHostTip = new System.Windows.Forms.Label(); this.LblHostTip = new System.Windows.Forms.Label();
this.GrpServerStatus = new System.Windows.Forms.GroupBox(); this.GrpServerStatus = new System.Windows.Forms.GroupBox();
this.LnkOpenCommandLabel = new System.Windows.Forms.LinkLabel(); this.LnkOpenCommandLabel = new System.Windows.Forms.LinkLabel();
@@ -127,9 +132,9 @@ namespace GrasscutterTools.Forms
this.NUDWeaponLevel = new System.Windows.Forms.NumericUpDown(); this.NUDWeaponLevel = new System.Windows.Forms.NumericUpDown();
this.ListWeapons = new System.Windows.Forms.ListBox(); this.ListWeapons = new System.Windows.Forms.ListBox();
this.TPStats = new System.Windows.Forms.TabPage(); this.TPStats = new System.Windows.Forms.TabPage();
this.LblResetStatsCommand = new System.Windows.Forms.LinkLabel();
this.LblResetStatsTip = new System.Windows.Forms.Label();
this.GrpSetStats = new System.Windows.Forms.GroupBox(); this.GrpSetStats = new System.Windows.Forms.GroupBox();
this.BtnUnlockStat = new System.Windows.Forms.Button();
this.BtnLockStat = new System.Windows.Forms.Button();
this.LblStatTip = new System.Windows.Forms.Label(); this.LblStatTip = new System.Windows.Forms.Label();
this.LblStatPercent = new System.Windows.Forms.Label(); this.LblStatPercent = new System.Windows.Forms.Label();
this.NUDStat = new System.Windows.Forms.NumericUpDown(); this.NUDStat = new System.Windows.Forms.NumericUpDown();
@@ -318,6 +323,11 @@ namespace GrasscutterTools.Forms
// TPRemoteCall // TPRemoteCall
// //
resources.ApplyResources(this.TPRemoteCall, "TPRemoteCall"); resources.ApplyResources(this.TPRemoteCall, "TPRemoteCall");
this.TPRemoteCall.Controls.Add(this.LnkLinks);
this.TPRemoteCall.Controls.Add(this.LnkGOODHelp);
this.TPRemoteCall.Controls.Add(this.LnkInventoryKamera);
this.TPRemoteCall.Controls.Add(this.LblGOODHelp);
this.TPRemoteCall.Controls.Add(this.ButtonOpenGOODImport);
this.TPRemoteCall.Controls.Add(this.LblHostTip); this.TPRemoteCall.Controls.Add(this.LblHostTip);
this.TPRemoteCall.Controls.Add(this.GrpServerStatus); this.TPRemoteCall.Controls.Add(this.GrpServerStatus);
this.TPRemoteCall.Controls.Add(this.GrpRemoteCommand); this.TPRemoteCall.Controls.Add(this.GrpRemoteCommand);
@@ -327,6 +337,40 @@ namespace GrasscutterTools.Forms
this.TPRemoteCall.Name = "TPRemoteCall"; this.TPRemoteCall.Name = "TPRemoteCall";
this.TPRemoteCall.UseVisualStyleBackColor = true; this.TPRemoteCall.UseVisualStyleBackColor = true;
// //
// LnkLinks
//
resources.ApplyResources(this.LnkLinks, "LnkLinks");
this.LnkLinks.Name = "LnkLinks";
this.LnkLinks.TabStop = true;
this.LnkLinks.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.LnkLinks_LinkClicked);
//
// LnkGOODHelp
//
resources.ApplyResources(this.LnkGOODHelp, "LnkGOODHelp");
this.LnkGOODHelp.Cursor = System.Windows.Forms.Cursors.Help;
this.LnkGOODHelp.Name = "LnkGOODHelp";
this.LnkGOODHelp.TabStop = true;
this.LnkGOODHelp.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.LnkGOODHelp_LinkClicked);
//
// LnkInventoryKamera
//
resources.ApplyResources(this.LnkInventoryKamera, "LnkInventoryKamera");
this.LnkInventoryKamera.Name = "LnkInventoryKamera";
this.LnkInventoryKamera.TabStop = true;
this.LnkInventoryKamera.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.LnkInventoryKamera_LinkClicked);
//
// LblGOODHelp
//
resources.ApplyResources(this.LblGOODHelp, "LblGOODHelp");
this.LblGOODHelp.Name = "LblGOODHelp";
//
// ButtonOpenGOODImport
//
resources.ApplyResources(this.ButtonOpenGOODImport, "ButtonOpenGOODImport");
this.ButtonOpenGOODImport.Name = "ButtonOpenGOODImport";
this.ButtonOpenGOODImport.UseVisualStyleBackColor = true;
this.ButtonOpenGOODImport.Click += new System.EventHandler(this.ButtonOpenGOODImport_Click);
//
// LblHostTip // LblHostTip
// //
resources.ApplyResources(this.LblHostTip, "LblHostTip"); resources.ApplyResources(this.LblHostTip, "LblHostTip");
@@ -1128,30 +1172,17 @@ namespace GrasscutterTools.Forms
// TPStats // TPStats
// //
resources.ApplyResources(this.TPStats, "TPStats"); resources.ApplyResources(this.TPStats, "TPStats");
this.TPStats.Controls.Add(this.LblResetStatsCommand);
this.TPStats.Controls.Add(this.LblResetStatsTip);
this.TPStats.Controls.Add(this.GrpSetStats); this.TPStats.Controls.Add(this.GrpSetStats);
this.TPStats.Controls.Add(this.GrpTalentLevel); this.TPStats.Controls.Add(this.GrpTalentLevel);
this.TPStats.Controls.Add(this.LblStatsDescription); this.TPStats.Controls.Add(this.LblStatsDescription);
this.TPStats.Name = "TPStats"; this.TPStats.Name = "TPStats";
this.TPStats.UseVisualStyleBackColor = true; this.TPStats.UseVisualStyleBackColor = true;
// //
// LblResetStatsCommand
//
resources.ApplyResources(this.LblResetStatsCommand, "LblResetStatsCommand");
this.LblResetStatsCommand.Name = "LblResetStatsCommand";
this.LblResetStatsCommand.TabStop = true;
this.LblResetStatsCommand.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.LblResetStatsCommand_LinkClicked);
//
// LblResetStatsTip
//
resources.ApplyResources(this.LblResetStatsTip, "LblResetStatsTip");
this.LblResetStatsTip.ForeColor = System.Drawing.SystemColors.ActiveCaption;
this.LblResetStatsTip.Name = "LblResetStatsTip";
//
// GrpSetStats // GrpSetStats
// //
resources.ApplyResources(this.GrpSetStats, "GrpSetStats"); resources.ApplyResources(this.GrpSetStats, "GrpSetStats");
this.GrpSetStats.Controls.Add(this.BtnUnlockStat);
this.GrpSetStats.Controls.Add(this.BtnLockStat);
this.GrpSetStats.Controls.Add(this.LblStatTip); this.GrpSetStats.Controls.Add(this.LblStatTip);
this.GrpSetStats.Controls.Add(this.LblStatPercent); this.GrpSetStats.Controls.Add(this.LblStatPercent);
this.GrpSetStats.Controls.Add(this.NUDStat); this.GrpSetStats.Controls.Add(this.NUDStat);
@@ -1159,6 +1190,20 @@ namespace GrasscutterTools.Forms
this.GrpSetStats.Name = "GrpSetStats"; this.GrpSetStats.Name = "GrpSetStats";
this.GrpSetStats.TabStop = false; this.GrpSetStats.TabStop = false;
// //
// BtnUnlockStat
//
resources.ApplyResources(this.BtnUnlockStat, "BtnUnlockStat");
this.BtnUnlockStat.Name = "BtnUnlockStat";
this.BtnUnlockStat.UseVisualStyleBackColor = true;
this.BtnUnlockStat.Click += new System.EventHandler(this.BtnUnlockStat_Click);
//
// BtnLockStat
//
resources.ApplyResources(this.BtnLockStat, "BtnLockStat");
this.BtnLockStat.Name = "BtnLockStat";
this.BtnLockStat.UseVisualStyleBackColor = true;
this.BtnLockStat.Click += new System.EventHandler(this.BtnLockStat_Click);
//
// LblStatTip // LblStatTip
// //
resources.ApplyResources(this.LblStatTip, "LblStatTip"); resources.ApplyResources(this.LblStatTip, "LblStatTip");
@@ -2237,12 +2282,17 @@ namespace GrasscutterTools.Forms
private System.Windows.Forms.Label LblArtifactLevelTip; private System.Windows.Forms.Label LblArtifactLevelTip;
private System.Windows.Forms.Label LblClearSpawnLogs; private System.Windows.Forms.Label LblClearSpawnLogs;
private System.Windows.Forms.Label LblClearGiveItemLogs; private System.Windows.Forms.Label LblClearGiveItemLogs;
private System.Windows.Forms.LinkLabel LblResetStatsCommand;
private System.Windows.Forms.Label LblResetStatsTip;
private System.Windows.Forms.Label LblAvatarConstellation; private System.Windows.Forms.Label LblAvatarConstellation;
private System.Windows.Forms.NumericUpDown NUDAvatarConstellation; private System.Windows.Forms.NumericUpDown NUDAvatarConstellation;
private System.Windows.Forms.Label LblConstellationTip; private System.Windows.Forms.Label LblConstellationTip;
private System.Windows.Forms.Button BtnGiveAllChar; private System.Windows.Forms.Button BtnGiveAllChar;
private System.Windows.Forms.Label LblHostTip; private System.Windows.Forms.Label LblHostTip;
private System.Windows.Forms.Button ButtonOpenGOODImport;
private System.Windows.Forms.LinkLabel LnkInventoryKamera;
private System.Windows.Forms.Label LblGOODHelp;
private System.Windows.Forms.LinkLabel LnkGOODHelp;
private System.Windows.Forms.LinkLabel LnkLinks;
private System.Windows.Forms.Button BtnUnlockStat;
private System.Windows.Forms.Button BtnLockStat;
} }
} }

View File

@@ -28,8 +28,12 @@ using System.Windows.Forms;
using GrasscutterTools.DispatchServer; using GrasscutterTools.DispatchServer;
using GrasscutterTools.Game; using GrasscutterTools.Game;
using GrasscutterTools.GOOD;
using GrasscutterTools.OpenCommand; using GrasscutterTools.OpenCommand;
using GrasscutterTools.Properties; using GrasscutterTools.Properties;
using GrasscutterTools.Utils;
using Newtonsoft.Json;
namespace GrasscutterTools.Forms namespace GrasscutterTools.Forms
{ {
@@ -134,11 +138,12 @@ namespace GrasscutterTools.Forms
private void LoadUpdate() private void LoadUpdate()
{ {
#if !DEBUG #if !DEBUG
Task.Run(() => Task.Run(async () =>
{ {
try try
{ {
var info = Github.ReleaseAPI.GetReleasesLastest("jie65535", "GrasscutterCommandGenerator").Result; await Task.Delay(5000);
var info = await ReleaseAPI.GetReleasesLastest("jie65535", "GrasscutterCommandGenerator");
if (Version.TryParse(info.TagName.Substring(1), out Version lastestVersion) && AppVersion < lastestVersion) if (Version.TryParse(info.TagName.Substring(1), out Version lastestVersion) && AppVersion < lastestVersion)
{ {
if (!string.IsNullOrEmpty(Settings.Default.CheckedLastVersion) if (!string.IsNullOrEmpty(Settings.Default.CheckedLastVersion)
@@ -153,7 +158,7 @@ namespace GrasscutterTools.Forms
MessageBoxButtons.YesNo, MessageBoxButtons.YesNo,
MessageBoxIcon.Information); MessageBoxIcon.Information);
if (r == DialogResult.Yes) if (r == DialogResult.Yes)
System.Diagnostics.Process.Start(info.Url); OpenURL(info.Url);
else if (r == DialogResult.No) else if (r == DialogResult.No)
Settings.Default.CheckedLastVersion = lastestVersion.ToString(); Settings.Default.CheckedLastVersion = lastestVersion.ToString();
})); }));
@@ -202,6 +207,125 @@ namespace GrasscutterTools.Forms
TextMapBrowser.TopMost = false; TextMapBrowser.TopMost = false;
} }
} }
async private void ButtonOpenGOODImport_Click(object sender, EventArgs e)
{
OpenFileDialog openFileDialog1 = new OpenFileDialog
{
Filter = "GOOD file (*.GOOD;*.json)|*.GOOD;*.json|All files (*.*)|*.*",
};
if (openFileDialog1.ShowDialog() == DialogResult.OK)
{
if (DialogResult.Yes != MessageBox.Show(Resources.GOODImportText + openFileDialog1.FileName + "?",
Resources.GOODImportTitle, MessageBoxButtons.YesNo))
return;
try
{
GOOD.GOOD good = JsonConvert.DeserializeObject<GOOD.GOOD>(File.ReadAllText(openFileDialog1.FileName));
var commands_list = new List<string>();
var missingItems = new List<string>();
if (good.Characters != null)
{
foreach (var character in good.Characters)
{
if (character.Name != "Traveler")
{
if (GOODData.Avatars.TryGetValue(character.Name, out var character_id))
commands_list.Add("/give " + character_id + " lv" + character.Level + "c" + character.Constellation);
else
missingItems.Add(character.Name);
// TODO: Implement command to set talent level when giving character in Grasscutter
}
}
}
if (good.Weapons != null)
{
foreach (var weapon in good.Weapons)
{
if (GOODData.Weapons.TryGetValue(weapon.Name, out var weapon_id))
commands_list.Add("/give " + weapon_id + " lv" + weapon.Level + "r" + weapon.RefinementLevel);
else
missingItems.Add(weapon.Name);
// TODO: Implement command to give weapon directly to character in Grasscutter
}
}
if (good.Artifacts != null)
{
foreach (var artifact in good.Artifacts)
{
// Format: set rarity slot
if (!GOODData.ArtifactCats.TryGetValue(artifact.SetName, out var artifact_set_id))
{
missingItems.Add(artifact.SetName);
continue;
}
var artifact_id = artifact_set_id.ToString() + artifact.Rarity.ToString() + GOODData.ArtifactSlotMap[artifact.GearSlot] + "4";
var artifact_mainStat_id = GOODData.ArtifactMainAttribution[artifact.MainStat];
var artifact_substats = "";
var artifact_substat_prefix = artifact.Rarity + "0";
int substat_count = 0;
foreach (var substat in artifact.SubStats)
{
if (substat.Value <= 0)
continue;
substat_count++;
var substat_key = substat.Stat;
var substat_key_id = GOODData.ArtifactSubAttribution[substat_key];
var substat_indices = ArtifactUtils.SplitSubstats(substat_key, artifact.Rarity, substat.Value);
foreach (int index in substat_indices)
{
artifact_substats += artifact_substat_prefix + substat_key_id + index.ToString() + " ";
}
}
// HACK: Add def+2 substat to counteract Grasscutter automatically adding another substat
if (substat_count == 4)
artifact_substats += "101081 ";
commands_list.Add("/give " + artifact_id + " lv" + artifact.Level + " " + artifact_mainStat_id + " " + artifact_substats);
// TODO: Implement command to give artifact directly to character in Grasscutter
}
}
// TODO: Materials
//if (good.Materials != null)
//{
// foreach (var material in good.Materials)
// {
// }
//}
var msg = string.Format("Loaded {0} Characters\nLoaded {1} Weapons\nLoaded {2} Artifacts\n",
good.Characters?.Count ?? 0,
good.Weapons?.Count ?? 0,
good.Artifacts?.Count ?? 0
);
if (missingItems.Count > 0)
{
msg += string.Format("There are {0} pieces of data that cannot be parsed, including:\n{1}",
missingItems.Count,
string.Join("\n", missingItems.Take(10)));
if (missingItems.Count > 10)
msg += "......";
}
msg += "Do you want to start?";
if (DialogResult.Yes != MessageBox.Show(msg, Resources.Tips, MessageBoxButtons.YesNo, MessageBoxIcon.Information))
return;
if (await RunCommands(commands_list.ToArray()))
MessageBox.Show(Resources.GOODImportSuccess);
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString(), Resources.Error, MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
}
private void CmbLanguage_SelectedIndexChanged(object sender, EventArgs e) private void CmbLanguage_SelectedIndexChanged(object sender, EventArgs e)
{ {
@@ -495,37 +619,44 @@ namespace GrasscutterTools.Forms
var id = GameData.Artifacts.Ids[Array.LastIndexOf(GameData.Artifacts.Names, name)]; var id = GameData.Artifacts.Ids[Array.LastIndexOf(GameData.Artifacts.Names, name)];
id = id / 1000 * 1000 + (int)NUDArtifactStars.Value * 100 + id % 100; id = id / 1000 * 1000 + (int)NUDArtifactStars.Value * 100 + id % 100;
if (CmbMainAttribution.SelectedIndex < 0) if (CmbMainAttribution.SelectedIndex < 0)
return;
var t = CmbMainAttribution.SelectedItem as string;
var mainAttr = t.Substring(0, t.IndexOf(':')).Trim();
var subAttrs = "";
if (ListSubAttributionChecked.Items.Count > 0)
{ {
var subAttrDir = new Dictionary<string, int>(ListSubAttributionChecked.Items.Count); if (ChkNewCommand.Checked)
foreach (string item in ListSubAttributionChecked.Items) SetCommand("/give", $"{id} lv{NUDArtifactLevel.Value}");
{ else
var subId = item.Substring(0, item.IndexOf(':')).Trim(); SetCommand("/giveart", $"{id} {NUDArtifactLevel.Value}");
var times = int.Parse(item.Substring(item.LastIndexOf('x') + 1));
if (subAttrDir.ContainsKey(subId))
subAttrDir[subId] += times;
else
subAttrDir[subId] = times;
}
foreach (var kv in subAttrDir)
{
if (kv.Value > 1)
subAttrs += $"{kv.Key},{kv.Value} ";
else
subAttrs += $"{kv.Key} ";
}
} }
if (ChkNewCommand.Checked)
SetCommand("/give", $"{id} lv{NUDArtifactLevel.Value} {mainAttr} {subAttrs}");
else else
SetCommand("/giveart", $"{id} {mainAttr} {subAttrs}{NUDArtifactLevel.Value}"); {
var t = CmbMainAttribution.SelectedItem as string;
var mainAttr = t.Substring(0, t.IndexOf(':')).Trim();
var subAttrs = "";
if (ListSubAttributionChecked.Items.Count > 0)
{
var subAttrDir = new Dictionary<string, int>(ListSubAttributionChecked.Items.Count);
foreach (string item in ListSubAttributionChecked.Items)
{
var subId = item.Substring(0, item.IndexOf(':')).Trim();
var times = int.Parse(item.Substring(item.LastIndexOf('x') + 1));
if (subAttrDir.ContainsKey(subId))
subAttrDir[subId] += times;
else
subAttrDir[subId] = times;
}
foreach (var kv in subAttrDir)
{
if (kv.Value > 1)
subAttrs += $"{kv.Key},{kv.Value} ";
else
subAttrs += $"{kv.Key} ";
}
}
if (ChkNewCommand.Checked)
SetCommand("/give", $"{id} lv{NUDArtifactLevel.Value} {mainAttr} {subAttrs}");
else
SetCommand("/giveart", $"{id} {mainAttr} {subAttrs}{NUDArtifactLevel.Value}");
}
} }
private void ListSubAttributionChecked_SelectedIndexChanged(object sender, EventArgs e) private void ListSubAttributionChecked_SelectedIndexChanged(object sender, EventArgs e)
@@ -540,6 +671,7 @@ namespace GrasscutterTools.Forms
private void LblClearSubAttrCheckedList_Click(object sender, EventArgs e) private void LblClearSubAttrCheckedList_Click(object sender, EventArgs e)
{ {
CmbMainAttribution.SelectedIndex = -1;
ListSubAttributionChecked.Items.Clear(); ListSubAttributionChecked.Items.Clear();
ArtifactInputChanged(null, EventArgs.Empty); ArtifactInputChanged(null, EventArgs.Empty);
} }
@@ -968,6 +1100,8 @@ namespace GrasscutterTools.Forms
{ {
if (CmbStat.SelectedIndex < 0) if (CmbStat.SelectedIndex < 0)
return; return;
else
BtnLockStat.Enabled = BtnUnlockStat.Enabled = true;
var stat = SetStatsCommand.Stats[CmbStat.SelectedIndex]; var stat = SetStatsCommand.Stats[CmbStat.SelectedIndex];
LblStatPercent.Visible = stat.Percent; LblStatPercent.Visible = stat.Percent;
@@ -976,16 +1110,23 @@ namespace GrasscutterTools.Forms
SetCommand("/setstats", $"{stat.ArgName} {NUDStat.Value}{(stat.Percent ? "%" : "")}"); SetCommand("/setstats", $"{stat.ArgName} {NUDStat.Value}{(stat.Percent ? "%" : "")}");
} }
private void BtnLockStat_Click(object sender, EventArgs e)
{
var stat = SetStatsCommand.Stats[CmbStat.SelectedIndex];
SetCommand("/setstats", $"lock {stat.ArgName} {NUDStat.Value}{(stat.Percent ? "%" : "")}");
}
private void BtnUnlockStat_Click(object sender, EventArgs e)
{
var stat = SetStatsCommand.Stats[CmbStat.SelectedIndex];
SetCommand("/setstats", $"unlock {stat.ArgName}");
}
private void LnkSetTalentClicked(object sender, LinkLabelLinkClickedEventArgs e) private void LnkSetTalentClicked(object sender, LinkLabelLinkClickedEventArgs e)
{ {
SetCommand("/talent", $"{(sender as LinkLabel).Tag} {NUDTalentLevel.Value}"); SetCommand("/talent", $"{(sender as LinkLabel).Tag} {NUDTalentLevel.Value}");
} }
private void LblResetStatsCommand_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
{
SetCommand("/give 101");
}
#endregion - - #endregion - -
#region - - #region - -
@@ -1041,16 +1182,7 @@ namespace GrasscutterTools.Forms
private void LnkGithub_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e) private void LnkGithub_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
{ {
try OpenURL("https://github.com/jie65535/GrasscutterCommandGenerator");
{
System.Diagnostics.Process.Start("https://github.com/jie65535/GrasscutterCommandGenerator");
}
catch (Exception)
{
MessageBox.Show(Resources.BrowserOpenFailedTip
+ "\n https://github.com/jie65535/GrasscutterCommandGenerator",
Resources.Error, MessageBoxButtons.OK, MessageBoxIcon.Warning);
}
} }
#endregion - - #endregion - -
@@ -1069,9 +1201,9 @@ namespace GrasscutterTools.Forms
private void SetCommand(string command, string args) private void SetCommand(string command, string args)
{ {
if (ChkIncludeUID.Checked) if (ChkIncludeUID.Checked)
SetCommand($"{command} @{NUDUid.Value} {args}"); SetCommand($"{command} @{NUDUid.Value} {args.Trim()}");
else else
SetCommand($"{command} {args}"); SetCommand($"{command} {args.Trim()}");
} }
private async void BtnCopy_Click(object sender, EventArgs e) private async void BtnCopy_Click(object sender, EventArgs e)
@@ -1093,42 +1225,61 @@ namespace GrasscutterTools.Forms
private async void BtnInvokeOpenCommand_Click(object sender, EventArgs e) private async void BtnInvokeOpenCommand_Click(object sender, EventArgs e)
{ {
if (OC == null || !OC.CanInvoke) if (!BtnInvokeOpenCommand.Enabled) return;
{
ShowTip(Resources.RequireOpenCommandTip, BtnInvokeOpenCommand);
TCMain.SelectedTab = TPRemoteCall;
return;
}
if (TxtCommand.Text.Length < 2) if (TxtCommand.Text.Length < 2)
{ {
ShowTip(Resources.CommandContentCannotBeEmpty, TxtCommand); ShowTip(Resources.CommandContentCannotBeEmpty, TxtCommand);
return; return;
} }
await RunCommands(TxtCommand.Text);
}
private async Task<bool> RunCommands(params string[] commands)
{
if (OC == null || !OC.CanInvoke)
{
ShowTip(Resources.RequireOpenCommandTip, BtnInvokeOpenCommand);
TCMain.SelectedTab = TPRemoteCall;
return false;
}
ExpandCommandRunLog(); ExpandCommandRunLog();
TxtCommandRunLog.AppendText(">");
TxtCommandRunLog.AppendText(TxtCommand.Text);
TxtCommandRunLog.AppendText(Environment.NewLine);
var cmd = TxtCommand.Text.Substring(1);
var btn = sender as Button;
btn.Enabled = false;
try try
{ {
var msg = await OC.Invoke(cmd); BtnInvokeOpenCommand.Enabled = false;
TxtCommandRunLog.AppendText(string.IsNullOrEmpty(msg) ? "OK" : msg); BtnInvokeOpenCommand.Cursor = Cursors.WaitCursor;
TxtCommandRunLog.AppendText(Environment.NewLine); int i = 0;
//ShowTip(string.IsNullOrEmpty(msg) ? "OK" : msg, btn); foreach (var command in commands)
{
TxtCommandRunLog.AppendText(">");
TxtCommandRunLog.AppendText(command);
if (commands.Length > 1)
TxtCommandRunLog.AppendText($" ({++i}/{commands.Length})");
TxtCommandRunLog.AppendText(Environment.NewLine);
var cmd = command.Substring(1);
try
{
var msg = await OC.Invoke(cmd);
TxtCommandRunLog.AppendText(string.IsNullOrEmpty(msg) ? "OK" : msg);
TxtCommandRunLog.AppendText(Environment.NewLine);
}
catch (Exception ex)
{
TxtCommandRunLog.AppendText("Error: ");
TxtCommandRunLog.AppendText(ex.Message);
TxtCommandRunLog.AppendText(Environment.NewLine);
MessageBox.Show(ex.Message, Resources.Error, MessageBoxButtons.OK, MessageBoxIcon.Error);
return false;
}
TxtCommandRunLog.ScrollToCaret();
}
} }
catch (Exception ex) finally
{ {
TxtCommandRunLog.AppendText("Error: "); BtnInvokeOpenCommand.Cursor = Cursors.Default;
TxtCommandRunLog.AppendText(ex.Message); BtnInvokeOpenCommand.Enabled = true;
TxtCommandRunLog.AppendText(Environment.NewLine);
MessageBox.Show(ex.Message, Resources.Error, MessageBoxButtons.OK, MessageBoxIcon.Error);
} }
TxtCommandRunLog.ScrollToCaret(); return true;
btn.Cursor = Cursors.Default;
btn.Enabled = true;
} }
private const int TxtCommandRunLogMinHeight = 150; private const int TxtCommandRunLogMinHeight = 150;
@@ -1332,6 +1483,7 @@ namespace GrasscutterTools.Forms
GrpRemoteCommand.Enabled = false; GrpRemoteCommand.Enabled = false;
BtnInvokeOpenCommand.Focus(); BtnInvokeOpenCommand.Focus();
ShowTip(Resources.ConnectedTip, BtnInvokeOpenCommand); ShowTip(Resources.ConnectedTip, BtnInvokeOpenCommand);
ButtonOpenGOODImport.Enabled = true;
} }
catch (Exception ex) catch (Exception ex)
{ {
@@ -1357,16 +1509,7 @@ namespace GrasscutterTools.Forms
private void LnkOpenCommandLabel_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e) private void LnkOpenCommandLabel_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
{ {
try OpenURL("https://github.com/jie65535/gc-opencommand-plugin");
{
System.Diagnostics.Process.Start("https://github.com/jie65535/gc-opencommand-plugin");
}
catch (Exception)
{
MessageBox.Show(Resources.BrowserOpenFailedTip
+ "\n https://github.com/jie65535/gc-opencommand-plugin",
Resources.Error, MessageBoxButtons.OK, MessageBoxIcon.Warning);
}
} }
private void LnkRCHelp_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e) private void LnkRCHelp_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
@@ -1374,6 +1517,45 @@ namespace GrasscutterTools.Forms
MessageBox.Show(Resources.OpenCommandHelp, Resources.Help, MessageBoxButtons.OK, MessageBoxIcon.Information); MessageBox.Show(Resources.OpenCommandHelp, Resources.Help, MessageBoxButtons.OK, MessageBoxIcon.Information);
} }
private void LnkInventoryKamera_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
{
OpenURL("https://github.com/Andrewthe13th/Inventory_Kamera");
}
private void LnkGOODHelp_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
{
OpenURL("https://frzyc.github.io/genshin-optimizer/#/doc");
}
private void LnkLinks_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
{
var links = new List<string>
{
"https://frzyc.github.io/genshin-optimizer/",
"https://genshin.aspirine.su/",
"https://genshin.mingyulab.com/",
"https://genshin-center.com/",
"https://github.com/Andrewthe13th/Inventory_Kamera",
"https://github.com/daydreaming666/Amenoma",
"https://seelie.me/",
"https://www.mona-uranai.com/",
};
MessageBox.Show(string.Join("\n", links), "Links", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
private void OpenURL(string url)
{
try
{
System.Diagnostics.Process.Start(url);
}
catch (Exception)
{
MessageBox.Show(Resources.BrowserOpenFailedTip + "\n " + url,
Resources.Error, MessageBoxButtons.OK, MessageBoxIcon.Warning);
}
}
#endregion - - #endregion - -
#region - - #region - -

View File

@@ -136,6 +136,15 @@
<data name="TPRemoteCall.Text" xml:space="preserve"> <data name="TPRemoteCall.Text" xml:space="preserve">
<value>Remote</value> <value>Remote</value>
</data> </data>
<data name="LnkInventoryKamera.Text" xml:space="preserve">
<value>InventoryKamera</value>
</data>
<data name="LblGOODHelp.Text" xml:space="preserve">
<value>Come and import your official server archive into GC!</value>
</data>
<data name="ButtonOpenGOODImport.Text" xml:space="preserve">
<value>Import GOOD</value>
</data>
<data name="LblHostTip.Location" type="System.Drawing.Point, System.Drawing"> <data name="LblHostTip.Location" type="System.Drawing.Point, System.Drawing">
<value>108, 16</value> <value>108, 16</value>
</data> </data>
@@ -208,6 +217,9 @@
<data name="BtnSendVerificationCode.Text" xml:space="preserve"> <data name="BtnSendVerificationCode.Text" xml:space="preserve">
<value>Send Code</value> <value>Send Code</value>
</data> </data>
<data name="TPConsoleCheck.Size" type="System.Drawing.Size, System.Drawing">
<value>296, 111</value>
</data>
<data name="TPConsoleCheck.Text" xml:space="preserve"> <data name="TPConsoleCheck.Text" xml:space="preserve">
<value>Console</value> <value>Console</value>
</data> </data>
@@ -509,27 +521,15 @@ Tip: Most of the scenes have no effect and cannot be entered.</value>
<data name="TPStats.Text" xml:space="preserve"> <data name="TPStats.Text" xml:space="preserve">
<value>Stats</value> <value>Stats</value>
</data> </data>
<data name="LblResetStatsCommand.Location" type="System.Drawing.Point, System.Drawing">
<value>126, 135</value>
</data>
<data name="LblResetStatsCommand.Size" type="System.Drawing.Size, System.Drawing">
<value>112, 17</value>
</data>
<data name="LblResetStatsCommand.Text" xml:space="preserve">
<value>When getting CEP</value>
</data>
<data name="LblResetStatsTip.Location" type="System.Drawing.Point, System.Drawing">
<value>235, 135</value>
</data>
<data name="LblResetStatsTip.Size" type="System.Drawing.Size, System.Drawing">
<value>243, 17</value>
</data>
<data name="LblResetStatsTip.Text" xml:space="preserve">
<value>the current character's stats will be reset</value>
</data>
<data name="GrpSetStats.Text" xml:space="preserve"> <data name="GrpSetStats.Text" xml:space="preserve">
<value>Stats</value> <value>Stats</value>
</data> </data>
<data name="BtnUnlockStat.Text" xml:space="preserve">
<value>Unlock</value>
</data>
<data name="BtnLockStat.Text" xml:space="preserve">
<value>Lock</value>
</data>
<data name="LblStatTip.Text" xml:space="preserve"> <data name="LblStatTip.Text" xml:space="preserve">
<value>Tip</value> <value>Tip</value>
</data> </data>
@@ -856,4 +856,8 @@ Therefore, the quest can be added and finished, but not necessarily work.</value
<data name="ChkIncludeUID.Text" xml:space="preserve"> <data name="ChkIncludeUID.Text" xml:space="preserve">
<value>Include UID</value> <value>Include UID</value>
</data> </data>
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="$this.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>Inherit</value>
</data>
</root> </root>

File diff suppressed because it is too large Load Diff

View File

@@ -139,6 +139,15 @@
<data name="TPRemoteCall.Text" xml:space="preserve"> <data name="TPRemoteCall.Text" xml:space="preserve">
<value>Подключение к БД</value> <value>Подключение к БД</value>
</data> </data>
<data name="LnkInventoryKamera.Text" xml:space="preserve">
<value>InventoryKamera</value>
</data>
<data name="LblGOODHelp.Text" xml:space="preserve">
<value>Приходите и импортируйте свой официальный архив сервера в GC!</value>
</data>
<data name="ButtonOpenGOODImport.Text" xml:space="preserve">
<value>импорт GOOD</value>
</data>
<data name="LblHostTip.Location" type="System.Drawing.Point, System.Drawing"> <data name="LblHostTip.Location" type="System.Drawing.Point, System.Drawing">
<value>83, 16</value> <value>83, 16</value>
</data> </data>
@@ -211,6 +220,9 @@
<data name="BtnSendVerificationCode.Text" xml:space="preserve"> <data name="BtnSendVerificationCode.Text" xml:space="preserve">
<value>Отправить код</value> <value>Отправить код</value>
</data> </data>
<data name="TPConsoleCheck.Size" type="System.Drawing.Size, System.Drawing">
<value>296, 111</value>
</data>
<data name="TPConsoleCheck.Text" xml:space="preserve"> <data name="TPConsoleCheck.Text" xml:space="preserve">
<value>консоль</value> <value>консоль</value>
</data> </data>
@@ -218,7 +230,7 @@
<value>Подключить</value> <value>Подключить</value>
</data> </data>
<data name="LblConsoleTip.Font" type="System.Drawing.Font, System.Drawing"> <data name="LblConsoleTip.Font" type="System.Drawing.Font, System.Drawing">
<value>微软雅黑, 8pt, style=Italic</value> <value>Microsoft YaHei UI, 8pt, style=Italic</value>
</data> </data>
<data name="LblConsoleTip.Location" type="System.Drawing.Point, System.Drawing"> <data name="LblConsoleTip.Location" type="System.Drawing.Point, System.Drawing">
<value>15, 34</value> <value>15, 34</value>
@@ -397,7 +409,7 @@
<value>False</value> <value>False</value>
</data> </data>
<data name="LblTp.Font" type="System.Drawing.Font, System.Drawing"> <data name="LblTp.Font" type="System.Drawing.Font, System.Drawing">
<value>微软雅黑, 8pt</value> <value>Microsoft YaHei UI, 8pt</value>
</data> </data>
<data name="LblTp.Location" type="System.Drawing.Point, System.Drawing"> <data name="LblTp.Location" type="System.Drawing.Point, System.Drawing">
<value>6, 89</value> <value>6, 89</value>
@@ -558,27 +570,15 @@
<data name="TPStats.Text" xml:space="preserve"> <data name="TPStats.Text" xml:space="preserve">
<value>Статы</value> <value>Статы</value>
</data> </data>
<data name="LblResetStatsCommand.Location" type="System.Drawing.Point, System.Drawing">
<value>88, 135</value>
</data>
<data name="LblResetStatsCommand.Size" type="System.Drawing.Size, System.Drawing">
<value>130, 17</value>
</data>
<data name="LblResetStatsCommand.Text" xml:space="preserve">
<value>При получении CEP</value>
</data>
<data name="LblResetStatsTip.Location" type="System.Drawing.Point, System.Drawing">
<value>214, 135</value>
</data>
<data name="LblResetStatsTip.Size" type="System.Drawing.Size, System.Drawing">
<value>301, 17</value>
</data>
<data name="LblResetStatsTip.Text" xml:space="preserve">
<value>атрибуты текущего персонажа будут сброшены</value>
</data>
<data name="GrpSetStats.Text" xml:space="preserve"> <data name="GrpSetStats.Text" xml:space="preserve">
<value>Статистика</value> <value>Статистика</value>
</data> </data>
<data name="BtnUnlockStat.Text" xml:space="preserve">
<value>разморозить</value>
</data>
<data name="BtnLockStat.Text" xml:space="preserve">
<value>заморозить</value>
</data>
<data name="LblStatTip.Text" xml:space="preserve"> <data name="LblStatTip.Text" xml:space="preserve">
<value>Совет</value> <value>Совет</value>
</data> </data>
@@ -977,6 +977,10 @@
<data name="ChkIncludeUID.Text" xml:space="preserve"> <data name="ChkIncludeUID.Text" xml:space="preserve">
<value>Включить UID</value> <value>Включить UID</value>
</data> </data>
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="$this.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>Inherit</value>
</data>
<data name="$this.Text" xml:space="preserve"> <data name="$this.Text" xml:space="preserve">
<value>GrasscutterTools - перевод Юрий Дворецкий</value> <value>GrasscutterTools - перевод Юрий Дворецкий</value>
</data> </data>

View File

@@ -123,11 +123,23 @@
<data name="ChkAutoCopy.Text" xml:space="preserve"> <data name="ChkAutoCopy.Text" xml:space="preserve">
<value>自動</value> <value>自動</value>
</data> </data>
<data name="GrpCommand.Text" xml:space="preserve">
<value>命令(按住 Ctrl 自動執行)</value>
</data>
<data name="BtnInvokeOpenCommand.Text" xml:space="preserve"> <data name="BtnInvokeOpenCommand.Text" xml:space="preserve">
<value>執行(F5)</value> <value>執行(F5)</value>
</data> </data>
<data name="GrpCommand.Text" xml:space="preserve"> <data name="TPRemoteCall.Text" xml:space="preserve">
<value>命令(按住 Ctrl 自動執行)</value> <value>遠程</value>
</data>
<data name="LnkInventoryKamera.Text" xml:space="preserve">
<value>存檔掃描開源工具</value>
</data>
<data name="LblGOODHelp.Text" xml:space="preserve">
<value>快來把你的官服存檔導入GC吧</value>
</data>
<data name="ButtonOpenGOODImport.Text" xml:space="preserve">
<value>導入GOOD檔案</value>
</data> </data>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> <assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="LblHostTip.Size" type="System.Drawing.Size, System.Drawing"> <data name="LblHostTip.Size" type="System.Drawing.Size, System.Drawing">
@@ -136,6 +148,9 @@
<data name="LblHostTip.Text" xml:space="preserve"> <data name="LblHostTip.Text" xml:space="preserve">
<value>請確保地址中包含 http:// 或 https://</value> <value>請確保地址中包含 http:// 或 https://</value>
</data> </data>
<data name="GrpServerStatus.Text" xml:space="preserve">
<value>伺服器狀態</value>
</data>
<data name="LnkOpenCommandLabel.Text" xml:space="preserve"> <data name="LnkOpenCommandLabel.Text" xml:space="preserve">
<value>遠程執行插件</value> <value>遠程執行插件</value>
</data> </data>
@@ -145,8 +160,11 @@
<data name="LblPlayerCountLabel.Text" xml:space="preserve"> <data name="LblPlayerCountLabel.Text" xml:space="preserve">
<value>當前玩家數</value> <value>當前玩家數</value>
</data> </data>
<data name="GrpServerStatus.Text" xml:space="preserve"> <data name="GrpRemoteCommand.Text" xml:space="preserve">
<value>伺服器狀態</value> <value>遠程執行</value>
</data>
<data name="TPPlayerCheck.Text" xml:space="preserve">
<value>玩家驗證</value>
</data> </data>
<data name="LnkRCHelp.Text" xml:space="preserve"> <data name="LnkRCHelp.Text" xml:space="preserve">
<value>幫助</value> <value>幫助</value>
@@ -160,8 +178,8 @@
<data name="BtnSendVerificationCode.Text" xml:space="preserve"> <data name="BtnSendVerificationCode.Text" xml:space="preserve">
<value>發送驗證碼</value> <value>發送驗證碼</value>
</data> </data>
<data name="TPPlayerCheck.Text" xml:space="preserve"> <data name="TPConsoleCheck.Size" type="System.Drawing.Size, System.Drawing">
<value>玩家驗證</value> <value>296, 111</value>
</data> </data>
<data name="BtnConsoleConnect.Text" xml:space="preserve"> <data name="BtnConsoleConnect.Text" xml:space="preserve">
<value>連接</value> <value>連接</value>
@@ -170,17 +188,14 @@
<value>請注意,控制台狀態下普通命令必須指定目標 <value>請注意,控制台狀態下普通命令必須指定目標
即設置包含UID</value> 即設置包含UID</value>
</data> </data>
<data name="GrpRemoteCommand.Text" xml:space="preserve">
<value>遠程執行</value>
</data>
<data name="BtnQueryServerStatus.Text" xml:space="preserve"> <data name="BtnQueryServerStatus.Text" xml:space="preserve">
<value>查詢</value> <value>查詢</value>
</data> </data>
<data name="LblHost.Text" xml:space="preserve"> <data name="LblHost.Text" xml:space="preserve">
<value>伺服器地址</value> <value>伺服器地址</value>
</data> </data>
<data name="TPRemoteCall.Text" xml:space="preserve"> <data name="TPAbout.Text" xml:space="preserve">
<value>遠程</value> <value>關於</value>
</data> </data>
<data name="LblSupportDescription.Text" xml:space="preserve"> <data name="LblSupportDescription.Text" xml:space="preserve">
<value>割草機工具箱 <value>割草機工具箱
@@ -190,15 +205,15 @@
如果願意請我喝一杯奶茶,那就更好了 : ) 如果願意請我喝一杯奶茶,那就更好了 : )
指令生成有問題或者有新的功能請求都可以來Github提出</value> 指令生成有問題或者有新的功能請求都可以來Github提出</value>
</data> </data>
<data name="TPAbout.Text" xml:space="preserve">
<value>關於</value>
</data>
<data name="BtnBan.Text" xml:space="preserve"> <data name="BtnBan.Text" xml:space="preserve">
<value>封號</value> <value>封號</value>
</data> </data>
<data name="LblBanUID.Text" xml:space="preserve"> <data name="LblBanUID.Text" xml:space="preserve">
<value>目標UID</value> <value>目標UID</value>
</data> </data>
<data name="GrpAccount.Text" xml:space="preserve">
<value>賬號管理</value>
</data>
<data name="BtnDeleteAccount.Text" xml:space="preserve"> <data name="BtnDeleteAccount.Text" xml:space="preserve">
<value>- 刪除</value> <value>- 刪除</value>
</data> </data>
@@ -208,8 +223,8 @@
<data name="LblAccountUserName.Text" xml:space="preserve"> <data name="LblAccountUserName.Text" xml:space="preserve">
<value>用戶名</value> <value>用戶名</value>
</data> </data>
<data name="GrpAccount.Text" xml:space="preserve"> <data name="GrpPermission.Text" xml:space="preserve">
<value>賬號管理</value> <value>權限管理</value>
</data> </data>
<data name="LblPerm.Text" xml:space="preserve"> <data name="LblPerm.Text" xml:space="preserve">
<value>權限</value> <value>權限</value>
@@ -217,8 +232,8 @@
<data name="LblPermUID.Text" xml:space="preserve"> <data name="LblPermUID.Text" xml:space="preserve">
<value>目標UID</value> <value>目標UID</value>
</data> </data>
<data name="GrpPermission.Text" xml:space="preserve"> <data name="TPScene.Text" xml:space="preserve">
<value>權限管理</value> <value>場景</value>
</data> </data>
<data name="ChkIncludeSceneId.Text" xml:space="preserve"> <data name="ChkIncludeSceneId.Text" xml:space="preserve">
<value>含場景ID</value> <value>含場景ID</value>
@@ -239,9 +254,6 @@
提示:大部分場景沒有作用,無法進入。</value> 提示:大部分場景沒有作用,無法進入。</value>
</data> </data>
<data name="TPScene.Text" xml:space="preserve">
<value>場景</value>
</data>
<data name="BtnSaveGiveItemLog.Text" xml:space="preserve"> <data name="BtnSaveGiveItemLog.Text" xml:space="preserve">
<value>√ 記錄</value> <value>√ 記錄</value>
</data> </data>
@@ -281,27 +293,27 @@
<data name="LblWeaponLevel.Text" xml:space="preserve"> <data name="LblWeaponLevel.Text" xml:space="preserve">
<value>等級</value> <value>等級</value>
</data> </data>
<data name="LblResetStatsCommand.Text" xml:space="preserve"> <data name="TPStats.Text" xml:space="preserve">
<value>獲得角色經驗時</value> <value>數據</value>
</data>
<data name="LblResetStatsTip.Text" xml:space="preserve">
<value>當前角色屬性將會重置</value>
</data> </data>
<data name="GrpSetStats.Text" xml:space="preserve"> <data name="GrpSetStats.Text" xml:space="preserve">
<value>角色屬性</value> <value>角色屬性</value>
</data> </data>
<data name="LnkTalentNormalATK.Text" xml:space="preserve"> <data name="BtnUnlockStat.Text" xml:space="preserve">
<value>普通攻擊</value> <value>解鎖</value>
</data>
<data name="BtnLockStat.Text" xml:space="preserve">
<value>鎖定</value>
</data> </data>
<data name="GrpTalentLevel.Text" xml:space="preserve"> <data name="GrpTalentLevel.Text" xml:space="preserve">
<value>技能等級</value> <value>技能等級</value>
</data> </data>
<data name="LnkTalentNormalATK.Text" xml:space="preserve">
<value>普通攻擊</value>
</data>
<data name="LblStatsDescription.Text" xml:space="preserve"> <data name="LblStatsDescription.Text" xml:space="preserve">
<value>設置當前活躍角色數據</value> <value>設置當前活躍角色數據</value>
</data> </data>
<data name="TPStats.Text" xml:space="preserve">
<value>數據</value>
</data>
<data name="BtnGiveAllChar.Text" xml:space="preserve"> <data name="BtnGiveAllChar.Text" xml:space="preserve">
<value>一鍵獲得所有角色</value> <value>一鍵獲得所有角色</value>
</data> </data>
@@ -317,15 +329,15 @@
<data name="GrpSpawnRecord.Text" xml:space="preserve"> <data name="GrpSpawnRecord.Text" xml:space="preserve">
<value>生成記錄本</value> <value>生成記錄本</value>
</data> </data>
<data name="GrpEntityType.Text" xml:space="preserve">
<value>列表分類</value>
</data>
<data name="RbEntityAnimal.Text" xml:space="preserve"> <data name="RbEntityAnimal.Text" xml:space="preserve">
<value>生物誌</value> <value>生物誌</value>
</data> </data>
<data name="RbEntityMonster.Text" xml:space="preserve"> <data name="RbEntityMonster.Text" xml:space="preserve">
<value>討伐對象</value> <value>討伐對象</value>
</data> </data>
<data name="GrpEntityType.Text" xml:space="preserve">
<value>列表分類</value>
</data>
<data name="LblSpawnDescription.Text" xml:space="preserve"> <data name="LblSpawnDescription.Text" xml:space="preserve">
<value>在玩家附近召喚生物</value> <value>在玩家附近召喚生物</value>
</data> </data>
@@ -335,6 +347,12 @@
<data name="LblEntityLevel.Text" xml:space="preserve"> <data name="LblEntityLevel.Text" xml:space="preserve">
<value>等級</value> <value>等級</value>
</data> </data>
<data name="TPQuest.Text" xml:space="preserve">
<value>任務</value>
</data>
<data name="GrpQuestFilters.Text" xml:space="preserve">
<value>列表過濾</value>
</data>
<data name="ChkQuestFilterTEST.Text" xml:space="preserve"> <data name="ChkQuestFilterTEST.Text" xml:space="preserve">
<value>測試任務</value> <value>測試任務</value>
</data> </data>
@@ -344,9 +362,6 @@
<data name="ChkQuestFilterHIDDEN.Text" xml:space="preserve"> <data name="ChkQuestFilterHIDDEN.Text" xml:space="preserve">
<value>隱藏的任務</value> <value>隱藏的任務</value>
</data> </data>
<data name="GrpQuestFilters.Text" xml:space="preserve">
<value>列表過濾</value>
</data>
<data name="BtnFinishQuest.Text" xml:space="preserve"> <data name="BtnFinishQuest.Text" xml:space="preserve">
<value>完成任務</value> <value>完成任務</value>
</data> </data>
@@ -358,8 +373,8 @@
提示:許多任務需要服務端腳本支持 提示:許多任務需要服務端腳本支持
囙此任務可以接,可以完成,但是不一定可以做</value> 囙此任務可以接,可以完成,但是不一定可以做</value>
</data> </data>
<data name="TPQuest.Text" xml:space="preserve"> <data name="TPArtifact.Text" xml:space="preserve">
<value>任務</value> <value>聖遺物</value>
</data> </data>
<data name="LblArtifactSet.Text" xml:space="preserve"> <data name="LblArtifactSet.Text" xml:space="preserve">
<value>套裝</value> <value>套裝</value>
@@ -376,8 +391,8 @@
<data name="LblArtifactStars.Text" xml:space="preserve"> <data name="LblArtifactStars.Text" xml:space="preserve">
<value>星級</value> <value>星級</value>
</data> </data>
<data name="TPArtifact.Text" xml:space="preserve"> <data name="TPCustom.Text" xml:space="preserve">
<value>聖遺物</value> <value>自定義</value>
</data> </data>
<data name="BtnExportCustomCommands.Text" xml:space="preserve"> <data name="BtnExportCustomCommands.Text" xml:space="preserve">
<value>導出</value> <value>導出</value>
@@ -391,8 +406,8 @@
<data name="BtnRemoveCustomCommand.Text" xml:space="preserve"> <data name="BtnRemoveCustomCommand.Text" xml:space="preserve">
<value>× 刪除</value> <value>× 刪除</value>
</data> </data>
<data name="TPCustom.Text" xml:space="preserve"> <data name="TPHome.Text" xml:space="preserve">
<value>自定義</value> <value>主頁</value>
</data> </data>
<data name="BtnOpenTextMap.Text" xml:space="preserve"> <data name="BtnOpenTextMap.Text" xml:space="preserve">
<value>文本瀏覽器</value> <value>文本瀏覽器</value>
@@ -403,7 +418,8 @@
<data name="ChkTopMost.Text" xml:space="preserve"> <data name="ChkTopMost.Text" xml:space="preserve">
<value>置頂</value> <value>置頂</value>
</data> </data>
<data name="TPHome.Text" xml:space="preserve"> <assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<value>主頁</value> <data name="$this.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>Inherit</value>
</data> </data>
</root> </root>

View File

@@ -18,7 +18,6 @@
**/ **/
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Data;
using System.Linq; using System.Linq;
using System.Text.RegularExpressions; using System.Text.RegularExpressions;
using System.Windows.Forms; using System.Windows.Forms;

View File

@@ -134,7 +134,7 @@
<value>80, 21</value> <value>80, 21</value>
</data> </data>
<data name="ChkTopMost.Text" xml:space="preserve"> <data name="ChkTopMost.Text" xml:space="preserve">
<value>Always on top</value> <value>TopMost</value>
</data> </data>
<data name="LblResourcesPath.Size" type="System.Drawing.Size, System.Drawing"> <data name="LblResourcesPath.Size" type="System.Drawing.Size, System.Drawing">
<value>294, 17</value> <value>294, 17</value>

View File

@@ -0,0 +1,94 @@
/**
* Grasscutter Tools
* Copyright (C) 2022 jie65535
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published
* by the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*
**/
using Newtonsoft.Json;
namespace GrasscutterTools.GOOD
{
/// <summary>
/// Artifact data representation
/// Doc: https://frzyc.github.io/genshin-optimizer/#/doc
/// Modified from https://github.com/Andrewthe13th/Inventory_Kamera/blob/master/InventoryKamera/game/Artifact.cs
/// </summary>
public class Artifact
{
/// <summary>
/// e.g. "GladiatorsFinale"
/// </summary>
[JsonProperty("setKey")]
public string SetName { get; set; }
/// <summary>
/// //e.g. "plume"
/// type SlotKey = "flower" | "plume" | "sands" | "goblet" | "circlet"
/// </summary>
[JsonProperty("slotKey")]
public string GearSlot { get; set; }
/// <summary>
/// 1-5 inclusive
/// </summary>
[JsonProperty("rarity")]
public int Rarity { get; set; }
/// <summary>
/// mainStatKey
/// </summary>
[JsonProperty("mainStatKey")]
public string MainStat { get; set; }
/// <summary>
/// 0-20 inclusive
/// </summary>
[JsonProperty("level")]
public int Level { get; set; }
/// <summary>
/// substats
/// </summary>
[JsonProperty("substats")]
public SubStat[] SubStats { get; set; }
/// <summary>
/// where "" means not equipped.
/// </summary>
[JsonProperty("location")]
public string EquippedCharacter { get; set; }
/// <summary>
/// Whether the artifact is locked in game.
/// </summary>
[JsonProperty("lock")]
public bool Lock { get; set; }
public struct SubStat
{
/// <summary>
/// e.g. "critDMG_"
/// </summary>
[JsonProperty("key")]
public string Stat { get; set; }
/// <summary>
/// e.g. 19.4
/// </summary>
[JsonProperty("value")]
public double Value { get; set; }
}
}
}

View File

@@ -0,0 +1,72 @@
/**
* Grasscutter Tools
* Copyright (C) 2022 jie65535
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published
* by the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*
**/
using Newtonsoft.Json;
namespace GrasscutterTools.GOOD
{
/// <summary>
/// Character data representation
/// Doc: https://frzyc.github.io/genshin-optimizer/#/doc
/// Modified from https://github.com/Andrewthe13th/Inventory_Kamera/blob/master/InventoryKamera/game/Character.cs
/// </summary>
public class Character
{
/// <summary>
/// e.g. "Rosaria"
/// </summary>
[JsonProperty("key")]
public string Name { get; set; }
/// <summary>
/// 1-90 inclusive
/// </summary>
[JsonProperty("level")]
public int Level { get; set; }
/// <summary>
/// 0-6 inclusive
/// </summary>
[JsonProperty("constellation")]
public int Constellation { get; set; }
/// <summary>
/// 0-6 inclusive. need to disambiguate 80/90 or 80/80
/// </summary>
[JsonProperty("ascension")]
public int Ascension { get; set; }
/// <summary>
/// does not include boost from constellations. 1-15 inclusive
/// </summary>
[JsonProperty("talent")]
public Talents Talents { get; set; }
}
public struct Talents
{
[JsonProperty("auto")]
public int Auto { get; set; }
[JsonProperty("skill")]
public int Skill { get; set; }
[JsonProperty("burst")]
public int Burst { get; set; }
}
}

View File

@@ -0,0 +1,63 @@
/**
* Grasscutter Tools
* Copyright (C) 2022 jie65535
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published
* by the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*
**/
using System.Collections.Generic;
using Newtonsoft.Json;
namespace GrasscutterTools.GOOD
{
/// <summary>
/// Genshin Open Object Description (GOOD)
/// Doc: https://frzyc.github.io/genshin-optimizer/#/doc
/// Modified from https://github.com/Andrewthe13th/Inventory_Kamera/blob/master/InventoryKamera/data/GOOD.cs
///
/// Available for
/// https://frzyc.github.io/genshin-optimizer/
/// https://github.com/Andrewthe13th/Inventory_Kamera
/// https://genshin.aspirine.su/
/// https://seelie.me/
/// https://github.com/daydreaming666/Amenoma
/// https://www.mona-uranai.com/
/// https://genshin.mingyulab.com/
/// https://genshin-center.com/
/// </summary>
public class GOOD
{
[JsonProperty("format")]
public string Format { get; set; }
[JsonProperty("version")]
public int Version { get; set; }
[JsonProperty("source")]
public string Source { get; set; }
[JsonProperty("weapons", DefaultValueHandling = DefaultValueHandling.Ignore)]
public List<Weapon> Weapons { get; set; }
[JsonProperty("artifacts", DefaultValueHandling = DefaultValueHandling.Ignore)]
public List<Artifact> Artifacts { get; set; }
[JsonProperty("characters", DefaultValueHandling = DefaultValueHandling.Ignore)]
public List<Character> Characters { get; set; }
[JsonProperty("materials", DefaultValueHandling = DefaultValueHandling.Ignore)]
public Dictionary<string, int> Materials { get; set; }
}
}

View File

@@ -0,0 +1,108 @@
/**
* Grasscutter Tools
* Copyright (C) 2022 jie65535
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published
* by the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*
**/
using System.Collections.Generic;
using System.Globalization;
using System.Text.RegularExpressions;
using GrasscutterTools.Game;
using GrasscutterTools.Properties;
namespace GrasscutterTools.GOOD
{
public static class GOODData
{
static GOODData()
{
var cultureInfo = CultureInfo.GetCultureInfo("en-US");
var regex = new Regex(@"[\W]", RegexOptions.Compiled);
Dictionary<string, int> ToGOODMap(ItemMap itemMap)
{
var dic = new Dictionary<string, int>(itemMap.Count);
for (int i = 0; i < itemMap.Count; i++)
{
var name = itemMap.Names[i];
var pascalCase = cultureInfo.TextInfo.ToTitleCase(name);
var nameGOOD = regex.Replace(pascalCase, string.Empty);
dic[nameGOOD] = itemMap.Ids[i];
//dic.Add(nameGOOD, itemMap.Ids[i]);
}
return dic;
}
var artifactCats = new ItemMap(Resources.ResourceManager.GetString("ArtifactCat", cultureInfo));
var avatars = new ItemMap(Resources.ResourceManager.GetString("Avatar", cultureInfo));
var weapons = new ItemMap(Resources.ResourceManager.GetString("Weapon", cultureInfo));
ArtifactCats = ToGOODMap(artifactCats);
Avatars = ToGOODMap(avatars);
Weapons = ToGOODMap(weapons);
}
public static Dictionary<string, int> ArtifactCats { get; private set; }
public static Dictionary<string, string> ArtifactSlotMap = new Dictionary<string, string> {
{"goblet", "1"}, {"plume", "2"}, {"circlet", "3"}, {"flower", "4"}, {"sands", "5"}
};
public static Dictionary<string, int> ArtifactMainAttribution { get; } = new Dictionary<string, int>
{
{ "hp" , 10001 },
{ "hp_" , 10002 },
{ "atk" , 10003 },
{ "atk_" , 10004 },
{ "def" , 10005 },
{ "def_" , 10006 },
{ "enerRech_" , 10007 },
{ "eleMas" , 10008 },
{ "critRate_" , 13007 },
{ "critDMG_" , 13008 },
{ "heal_" , 13009 },
{ "pyro_dmg_" , 15008 },
{ "electro_dmg_" , 15009 },
{ "cryo_dmg_" , 15010 },
{ "hydro_dmg_" , 15011 },
{ "anemo_dmg_" , 15012 },
{ "geo_dmg_" , 15013 },
{ "dendro_dmg_" , 15014 },
{ "physical_dmg_", 15015 },
};
public static Dictionary<string, int> ArtifactSubAttribution { get; } = new Dictionary<string, int>
{
{ "hp" , 102 },
{ "hp_" , 103 },
{ "atk" , 105 },
{ "atk_" , 106 },
{ "def" , 108 },
{ "def_" , 109 },
{ "critRate_", 120 },
{ "critDMG_" , 122 },
{ "enerRech_", 123 },
{ "eleMas" , 124 },
};
public static Dictionary<string, int> Avatars { get; private set; }
public static Dictionary<string, int> Weapons { get; private set; }
}
}

View File

@@ -0,0 +1,68 @@
/**
* Grasscutter Tools
* Copyright (C) 2022 jie65535
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published
* by the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*
**/
using System.ComponentModel;
using Newtonsoft.Json;
namespace GrasscutterTools.GOOD
{
/// <summary>
/// Weapon data representation
/// Doc: https://frzyc.github.io/genshin-optimizer/#/doc
/// Modified from https://github.com/Andrewthe13th/Inventory_Kamera/blob/master/InventoryKamera/game/Weapon.cs
/// </summary>
public class Weapon
{
/// <summary>
/// e.g. "CrescentPike"
/// </summary>
[JsonProperty("key")]
public string Name { get; set; }
/// <summary>
/// 1-90 inclusive
/// </summary>
[JsonProperty("level")]
public int Level { get; set; }
/// <summary>
/// 0-6 inclusive. need to disambiguate 80/90 or 80/80
/// </summary>
[JsonProperty("ascension")]
public int AscensionLevel { get; set; }
/// <summary>
/// 1-5 inclusive
/// </summary>
[JsonProperty("refinement")]
public int RefinementLevel { get; set; }
/// <summary>
/// where "" means not equipped.
/// </summary>
[JsonProperty("location")]
[DefaultValue("")]
public string EquippedCharacter { get; set; }
/// <summary>
/// Whether the weapon is locked in game.
/// </summary>
[JsonProperty("lock")]
public bool Lock { get; set; }
}
}

View File

@@ -16,8 +16,6 @@
* along with this program. If not, see <https://www.gnu.org/licenses/>. * along with this program. If not, see <https://www.gnu.org/licenses/>.
* *
**/ **/
using System.ComponentModel;
using Newtonsoft.Json; using Newtonsoft.Json;
using Newtonsoft.Json.Converters; using Newtonsoft.Json.Converters;

View File

@@ -38,7 +38,7 @@ namespace GrasscutterTools.Game
if (si > 0 && int.TryParse(line.Substring(0, si).Trim(), out int id)) if (si > 0 && int.TryParse(line.Substring(0, si).Trim(), out int id))
{ {
var name = line.Substring(si + 1).Trim(); var name = line.Substring(si + 1).Trim();
if (!string.IsNullOrEmpty(name)) if (!string.IsNullOrEmpty(name) && name != "null")
{ {
//IdMap[id] = name; //IdMap[id] = name;
//NameMap[name] = id; //NameMap[name] = id;

View File

@@ -46,7 +46,7 @@ namespace GrasscutterTools.Game
ManualTextMap = new Dictionary<string, string>(); ManualTextMap = new Dictionary<string, string>();
while (reader.Read()) while (reader.Read())
{ {
if (reader.TokenType == JsonToken.PropertyName && (string)reader.Value == "TextMapId") if (reader.TokenType == JsonToken.PropertyName && ((string)reader.Value == "TextMapId" || (string)reader.Value == "textMapId"))
{ {
var textMapId = reader.ReadAsString(); var textMapId = reader.ReadAsString();
reader.Read(); reader.Read();

View File

@@ -1,7 +1,5 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="..\packages\Resource.Embedder.2.2.0\build\Resource.Embedder.props" Condition="Exists('..\packages\Resource.Embedder.2.2.0\build\Resource.Embedder.props')" />
<Import Project="..\packages\Costura.Fody.5.7.0\build\Costura.Fody.props" Condition="Exists('..\packages\Costura.Fody.5.7.0\build\Costura.Fody.props')" />
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" /> <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<PropertyGroup> <PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
@@ -40,160 +38,18 @@
<PropertyGroup> <PropertyGroup>
<ApplicationIcon>Resources\IconGrasscutter.ico</ApplicationIcon> <ApplicationIcon>Resources\IconGrasscutter.ico</ApplicationIcon>
</PropertyGroup> </PropertyGroup>
<PropertyGroup> <PropertyGroup />
<ApplicationManifest>Properties\app.manifest</ApplicationManifest>
</PropertyGroup>
<ItemGroup> <ItemGroup>
<Reference Include="Costura, Version=5.7.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\Costura.Fody.5.7.0\lib\netstandard1.0\Costura.dll</HintPath>
</Reference>
<Reference Include="Microsoft.Build.Framework" />
<Reference Include="Microsoft.Build.Utilities.v4.0" />
<Reference Include="Microsoft.Win32.Primitives, Version=4.0.2.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.Win32.Primitives.4.3.0\lib\net46\Microsoft.Win32.Primitives.dll</HintPath>
<Private>True</Private>
<Private>True</Private>
</Reference>
<Reference Include="Newtonsoft.Json, Version=13.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL"> <Reference Include="Newtonsoft.Json, Version=13.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
<HintPath>..\packages\Newtonsoft.Json.13.0.1\lib\net45\Newtonsoft.Json.dll</HintPath> <SpecificVersion>False</SpecificVersion>
<HintPath>Resources\Newtonsoft.Json.dll</HintPath>
<EmbedInteropTypes>False</EmbedInteropTypes>
<Private>False</Private>
</Reference> </Reference>
<Reference Include="System" /> <Reference Include="System" />
<Reference Include="System.AppContext, Version=4.1.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.AppContext.4.3.0\lib\net463\System.AppContext.dll</HintPath>
<Private>True</Private>
<Private>True</Private>
</Reference>
<Reference Include="System.ComponentModel.Composition" />
<Reference Include="System.Console, Version=4.0.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.Console.4.3.0\lib\net46\System.Console.dll</HintPath>
<Private>True</Private>
<Private>True</Private>
</Reference>
<Reference Include="System.Core" />
<Reference Include="System.Diagnostics.DiagnosticSource, Version=4.0.1.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\System.Diagnostics.DiagnosticSource.4.3.0\lib\net46\System.Diagnostics.DiagnosticSource.dll</HintPath>
</Reference>
<Reference Include="System.Diagnostics.Tracing, Version=4.1.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.Diagnostics.Tracing.4.3.0\lib\net462\System.Diagnostics.Tracing.dll</HintPath>
<Private>True</Private>
<Private>True</Private>
</Reference>
<Reference Include="System.Globalization.Calendars, Version=4.0.2.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.Globalization.Calendars.4.3.0\lib\net46\System.Globalization.Calendars.dll</HintPath>
<Private>True</Private>
<Private>True</Private>
</Reference>
<Reference Include="System.IO, Version=4.1.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.IO.4.3.0\lib\net462\System.IO.dll</HintPath>
<Private>True</Private>
<Private>True</Private>
</Reference>
<Reference Include="System.IO.Compression, Version=4.1.2.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL">
<HintPath>..\packages\System.IO.Compression.4.3.0\lib\net46\System.IO.Compression.dll</HintPath>
<Private>True</Private>
<Private>True</Private>
</Reference>
<Reference Include="System.IO.Compression.FileSystem" />
<Reference Include="System.IO.Compression.ZipFile, Version=4.0.2.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL">
<HintPath>..\packages\System.IO.Compression.ZipFile.4.3.0\lib\net46\System.IO.Compression.ZipFile.dll</HintPath>
<Private>True</Private>
<Private>True</Private>
</Reference>
<Reference Include="System.IO.FileSystem, Version=4.0.2.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.IO.FileSystem.4.3.0\lib\net46\System.IO.FileSystem.dll</HintPath>
<Private>True</Private>
<Private>True</Private>
</Reference>
<Reference Include="System.IO.FileSystem.Primitives, Version=4.0.2.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.IO.FileSystem.Primitives.4.3.0\lib\net46\System.IO.FileSystem.Primitives.dll</HintPath>
<Private>True</Private>
<Private>True</Private>
</Reference>
<Reference Include="System.Linq, Version=4.1.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.Linq.4.3.0\lib\net463\System.Linq.dll</HintPath>
<Private>True</Private>
<Private>True</Private>
</Reference>
<Reference Include="System.Linq.Expressions, Version=4.1.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.Linq.Expressions.4.3.0\lib\net463\System.Linq.Expressions.dll</HintPath>
<Private>True</Private>
<Private>True</Private>
</Reference>
<Reference Include="System.Net.Http, Version=4.1.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.Net.Http.4.3.0\lib\net46\System.Net.Http.dll</HintPath>
<Private>True</Private>
<Private>True</Private>
</Reference>
<Reference Include="System.Net.Sockets, Version=4.1.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.Net.Sockets.4.3.0\lib\net46\System.Net.Sockets.dll</HintPath>
<Private>True</Private>
<Private>True</Private>
</Reference>
<Reference Include="System.Numerics" />
<Reference Include="System.Reflection, Version=4.1.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.Reflection.4.3.0\lib\net462\System.Reflection.dll</HintPath>
<Private>True</Private>
<Private>True</Private>
</Reference>
<Reference Include="System.Runtime, Version=4.1.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.Runtime.4.3.0\lib\net462\System.Runtime.dll</HintPath>
<Private>True</Private>
<Private>True</Private>
</Reference>
<Reference Include="System.Runtime.Extensions, Version=4.1.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.Runtime.Extensions.4.3.0\lib\net462\System.Runtime.Extensions.dll</HintPath>
<Private>True</Private>
<Private>True</Private>
</Reference>
<Reference Include="System.Runtime.InteropServices, Version=4.1.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.Runtime.InteropServices.4.3.0\lib\net463\System.Runtime.InteropServices.dll</HintPath>
<Private>True</Private>
<Private>True</Private>
</Reference>
<Reference Include="System.Runtime.InteropServices.RuntimeInformation, Version=4.0.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.Runtime.InteropServices.RuntimeInformation.4.3.0\lib\net45\System.Runtime.InteropServices.RuntimeInformation.dll</HintPath>
<Private>True</Private>
<Private>True</Private>
</Reference>
<Reference Include="System.Security.Cryptography.Algorithms, Version=4.2.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.Security.Cryptography.Algorithms.4.3.0\lib\net463\System.Security.Cryptography.Algorithms.dll</HintPath>
<Private>True</Private>
<Private>True</Private>
</Reference>
<Reference Include="System.Security.Cryptography.Encoding, Version=4.0.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.Security.Cryptography.Encoding.4.3.0\lib\net46\System.Security.Cryptography.Encoding.dll</HintPath>
<Private>True</Private>
<Private>True</Private>
</Reference>
<Reference Include="System.Security.Cryptography.Primitives, Version=4.0.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.Security.Cryptography.Primitives.4.3.0\lib\net46\System.Security.Cryptography.Primitives.dll</HintPath>
<Private>True</Private>
<Private>True</Private>
</Reference>
<Reference Include="System.Security.Cryptography.X509Certificates, Version=4.1.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.Security.Cryptography.X509Certificates.4.3.0\lib\net461\System.Security.Cryptography.X509Certificates.dll</HintPath>
<Private>True</Private>
<Private>True</Private>
</Reference>
<Reference Include="System.Text.RegularExpressions, Version=4.1.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.Text.RegularExpressions.4.3.0\lib\net463\System.Text.RegularExpressions.dll</HintPath>
<Private>True</Private>
<Private>True</Private>
</Reference>
<Reference Include="System.Windows.Forms.DataVisualization" />
<Reference Include="System.Xml.Linq" />
<Reference Include="System.Data.DataSetExtensions" />
<Reference Include="Microsoft.CSharp" />
<Reference Include="System.Data" />
<Reference Include="System.Deployment" />
<Reference Include="System.Drawing" /> <Reference Include="System.Drawing" />
<Reference Include="System.Net.Http" />
<Reference Include="System.Windows.Forms" /> <Reference Include="System.Windows.Forms" />
<Reference Include="System.Xml" />
<Reference Include="System.Xml.ReaderWriter, Version=4.1.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.Xml.ReaderWriter.4.3.0\lib\net46\System.Xml.ReaderWriter.dll</HintPath>
<Private>True</Private>
<Private>True</Private>
</Reference>
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<Compile Include="Controls\TextBoxXP.cs"> <Compile Include="Controls\TextBoxXP.cs">
@@ -233,7 +89,11 @@
<Compile Include="Game\ItemMap.cs" /> <Compile Include="Game\ItemMap.cs" />
<Compile Include="Game\SetStatsCommand.cs" /> <Compile Include="Game\SetStatsCommand.cs" />
<Compile Include="Game\TextMapData.cs" /> <Compile Include="Game\TextMapData.cs" />
<Compile Include="Github\ReleaseAPI.cs" /> <Compile Include="GOOD\GOOD.cs" />
<Compile Include="GOOD\Artifact.cs" />
<Compile Include="GOOD\Character.cs" />
<Compile Include="GOOD\GOODData.cs" />
<Compile Include="GOOD\Weapon.cs" />
<Compile Include="OpenCommand\OpenCommandAPI.cs" /> <Compile Include="OpenCommand\OpenCommandAPI.cs" />
<Compile Include="MultiLanguage.cs" /> <Compile Include="MultiLanguage.cs" />
<Compile Include="Program.cs" /> <Compile Include="Program.cs" />
@@ -243,7 +103,9 @@
<AutoGen>True</AutoGen> <AutoGen>True</AutoGen>
<DesignTime>True</DesignTime> <DesignTime>True</DesignTime>
</Compile> </Compile>
<Compile Include="Utils\ArtifactUtils.cs" />
<Compile Include="Utils\HttpHelper.cs" /> <Compile Include="Utils\HttpHelper.cs" />
<Compile Include="Utils\ReleaseAPI.cs" />
<EmbeddedResource Include="Forms\FormGachaBannerEditor2.en-us.resx"> <EmbeddedResource Include="Forms\FormGachaBannerEditor2.en-us.resx">
<DependentUpon>FormGachaBannerEditor2.cs</DependentUpon> <DependentUpon>FormGachaBannerEditor2.cs</DependentUpon>
</EmbeddedResource> </EmbeddedResource>
@@ -281,6 +143,7 @@
</EmbeddedResource> </EmbeddedResource>
<EmbeddedResource Include="Forms\FormMain.zh-TW.resx"> <EmbeddedResource Include="Forms\FormMain.zh-TW.resx">
<DependentUpon>FormMain.cs</DependentUpon> <DependentUpon>FormMain.cs</DependentUpon>
<SubType>Designer</SubType>
</EmbeddedResource> </EmbeddedResource>
<EmbeddedResource Include="Forms\FormTextMapBrowser.en-US.resx"> <EmbeddedResource Include="Forms\FormTextMapBrowser.en-US.resx">
<DependentUpon>FormTextMapBrowser.cs</DependentUpon> <DependentUpon>FormTextMapBrowser.cs</DependentUpon>
@@ -329,8 +192,6 @@
<DependentUpon>Resources.resx</DependentUpon> <DependentUpon>Resources.resx</DependentUpon>
<DesignTime>True</DesignTime> <DesignTime>True</DesignTime>
</Compile> </Compile>
<None Include="packages.config" />
<None Include="Properties\app.manifest" />
<None Include="Properties\Settings.settings"> <None Include="Properties\Settings.settings">
<Generator>SettingsSingleFileGenerator</Generator> <Generator>SettingsSingleFileGenerator</Generator>
<LastGenOutput>Settings.Designer.cs</LastGenOutput> <LastGenOutput>Settings.Designer.cs</LastGenOutput>
@@ -363,6 +224,7 @@
<Content Include="Resources\en-us\Quest.txt" /> <Content Include="Resources\en-us\Quest.txt" />
<Content Include="Resources\en-us\Scene.txt" /> <Content Include="Resources\en-us\Scene.txt" />
<Content Include="Resources\en-us\Weapon.txt" /> <Content Include="Resources\en-us\Weapon.txt" />
<None Include="Resources\Newtonsoft.Json.dll" />
<Content Include="Resources\ru-ru\Animal.txt" /> <Content Include="Resources\ru-ru\Animal.txt" />
<Content Include="Resources\ru-ru\Artifact.txt" /> <Content Include="Resources\ru-ru\Artifact.txt" />
<Content Include="Resources\ru-ru\ArtifactCat.txt" /> <Content Include="Resources\ru-ru\ArtifactCat.txt" />
@@ -419,24 +281,11 @@
<ProductName>Microsoft .NET Framework 4.8 %28x86 和 x64%29</ProductName> <ProductName>Microsoft .NET Framework 4.8 %28x86 和 x64%29</ProductName>
<Install>true</Install> <Install>true</Install>
</BootstrapperPackage> </BootstrapperPackage>
<BootstrapperPackage Include="Microsoft.Net.Framework.3.5.SP1"> </ItemGroup>
<Visible>False</Visible> <ItemGroup>
<ProductName>.NET Framework 3.5 SP1</ProductName> <PackageReference Include="Resource.Embedder">
<Install>false</Install> <Version>2.2.0</Version>
</BootstrapperPackage> </PackageReference>
</ItemGroup> </ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" /> <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
<PropertyGroup>
<ErrorText>这台计算机上缺少此项目引用的 NuGet 程序包。使用“NuGet 程序包还原”可下载这些程序包。有关更多信息,请参见 http://go.microsoft.com/fwlink/?LinkID=322105。缺少的文件是 {0}。</ErrorText>
</PropertyGroup>
<Error Condition="!Exists('..\packages\Costura.Fody.5.7.0\build\Costura.Fody.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Costura.Fody.5.7.0\build\Costura.Fody.props'))" />
<Error Condition="!Exists('..\packages\Costura.Fody.5.7.0\build\Costura.Fody.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Costura.Fody.5.7.0\build\Costura.Fody.targets'))" />
<Error Condition="!Exists('..\packages\Fody.6.6.1\build\Fody.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Fody.6.6.1\build\Fody.targets'))" />
<Error Condition="!Exists('..\packages\Resource.Embedder.2.2.0\build\Resource.Embedder.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Resource.Embedder.2.2.0\build\Resource.Embedder.props'))" />
<Error Condition="!Exists('..\packages\NETStandard.Library.2.0.3\build\netstandard2.0\NETStandard.Library.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\NETStandard.Library.2.0.3\build\netstandard2.0\NETStandard.Library.targets'))" />
</Target>
<Import Project="..\packages\Costura.Fody.5.7.0\build\Costura.Fody.targets" Condition="Exists('..\packages\Costura.Fody.5.7.0\build\Costura.Fody.targets')" />
<Import Project="..\packages\Fody.6.6.1\build\Fody.targets" Condition="Exists('..\packages\Fody.6.6.1\build\Fody.targets')" />
<Import Project="..\packages\NETStandard.Library.2.0.3\build\netstandard2.0\NETStandard.Library.targets" Condition="Exists('..\packages\NETStandard.Library.2.0.3\build\netstandard2.0\NETStandard.Library.targets')" />
</Project> </Project>

View File

@@ -17,6 +17,8 @@
* *
**/ **/
using System; using System;
using System.Globalization;
using System.Reflection;
using System.Text; using System.Text;
using System.Threading; using System.Threading;
using System.Windows.Forms; using System.Windows.Forms;
@@ -27,6 +29,33 @@ namespace GrasscutterTools
{ {
internal static class Program internal static class Program
{ {
static Program()
{
AppDomain.CurrentDomain.AssemblyResolve += OnResolveAssembly;
}
private static Assembly OnResolveAssembly(object sender, ResolveEventArgs args)
{
//var executingAssembly = Assembly.GetExecutingAssembly();
//var assemblyName = new AssemblyName(args.Name);
//var path = assemblyName.Name + ".dll";
//if (assemblyName.CultureInfo.Equals(CultureInfo.InvariantCulture) == false)
// path = $@"{assemblyName.CultureInfo}\{path}";
//using (var stream = executingAssembly.GetManifestResourceStream(path))
//{
// if (stream == null) return null;
// var assemblyRawBytes = new byte[stream.Length];
// stream.Read(assemblyRawBytes, 0, assemblyRawBytes.Length);
// return Assembly.Load(assemblyRawBytes);
//}
// 手工加载嵌入的dll文件
if (new AssemblyName(args.Name).Name == "Newtonsoft.Json")
return Assembly.Load(Resources.Newtonsoft_Json);
return null;
}
/// <summary> /// <summary>
/// 应用程序的主入口点。 /// 应用程序的主入口点。
/// </summary> /// </summary>

View File

@@ -5,12 +5,12 @@ using System.Runtime.InteropServices;
// 控制。更改这些特性值可修改 // 控制。更改这些特性值可修改
// 与程序集关联的信息。 // 与程序集关联的信息。
[assembly: AssemblyTitle("GrasscutterTools")] [assembly: AssemblyTitle("GrasscutterTools")]
[assembly: AssemblyDescription("")] [assembly: AssemblyDescription("Grasscutter Command Generator")]
[assembly: AssemblyConfiguration("")] [assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")] [assembly: AssemblyCompany("jie65535")]
[assembly: AssemblyProduct("GrasscutterTools")] [assembly: AssemblyProduct("GrasscutterTools")]
[assembly: AssemblyCopyright("Copyright © jie65535 2022")] [assembly: AssemblyCopyright("Copyright © jie65535 2022")]
[assembly: AssemblyTrademark("")] [assembly: AssemblyTrademark("jie65535")]
[assembly: AssemblyCulture("")] [assembly: AssemblyCulture("")]
// 将 ComVisible 设置为 false 会使此程序集中的类型 // 将 ComVisible 设置为 false 会使此程序集中的类型
@@ -31,5 +31,5 @@ using System.Runtime.InteropServices;
//可以指定所有这些值,也可以使用“生成号”和“修订号”的默认值 //可以指定所有这些值,也可以使用“生成号”和“修订号”的默认值
//通过使用 "*",如下所示: //通过使用 "*",如下所示:
// [assembly: AssemblyVersion("1.0.*")] // [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("1.5.3")] [assembly: AssemblyVersion("1.6.2")]
[assembly: AssemblyFileVersion("1.0.0")] [assembly: AssemblyFileVersion("1.6.2")]

View File

@@ -61,41 +61,43 @@ namespace GrasscutterTools.Properties {
} }
/// <summary> /// <summary>
/// 查找类似 28010101: 黄金蟹 /// 查找类似 28010101:黄金蟹
///28010102: 太阳蟹 ///28010102:太阳蟹
///28010103: 海蓝蟹 ///28010103:海蓝蟹
///28010104: 将军蟹 ///28010104:将军蟹
///28010105: 薄红蟹 ///28010105:薄红蟹
///28010106: 螃蟹 ///28010106:螃蟹
///28020101: 雪狐 ///28010201:蓝角蜥
///28020102: 红狐 ///28010202:红角蜥
///28020103: 送礼雪狐 ///28010203:绿角蜥
///28020104: 送大礼雪狐 ///28010204:落日鳅鳅
///28020105: 雪狐 ///28010205:金鳅鳅
///28020106: 红狐 ///28010206:晴天鳅鳅
///28020201: 松鼠 ///28010207:嗜髓蜥
///28030101: 蓝翎鹭 ///28010301:青蛙
///28030102: 菫鹮 ///28010302:泥蛙
///28030201: 茶羽鹰 ///28010303:蓝蛙
///28030202: 棕翎鹰 ///28010401:藤纹陆鳗鳗
///28030203: 石鸢 ///28010402:深海鳗鳗
///28030204: 白练鹰 ///28010403:赤鳍陆鳗鳗
///28050101: 风晶蝶 ///28020101:雪狐
///28050102: 岩晶蝶 ///28020102:红狐
///28050103: 冰晶蝶 ///28020103:送礼雪狐
///28050104: 雷晶蝶 ///28020104:送大礼雪狐
///28050105: 珊瑚蝶 ///28020105:雪狐
///28050301: 吉光虫 ///28020106:红狐
///28010201: 蓝角蜥 ///28020201:松鼠
///28010202: 红角蜥 ///28020301:野林猪
///28010203: 绿角蜥 ///28020302:小野林猪
///28010204: 落日鳅鳅 ///28020303:雪猪
///28010205: 金鳅鳅 ///28020304:「大雪猪王」
///28010206: 晴天鳅鳅 ///28020305:冰冻雪猪
///28010207: 嗜髓蜥 ///28020306:雪猪
///28010301: 青蛙 ///28020307:野林猪
///28010302: 泥蛙 ///28020308:冰冻雪猪
///2801030 [字符串的其余部分被截断]&quot;; 的本地化字符串。 ///28020309:「大雪猪王」
///28020401:北地犬
/// [字符串的其余部分被截断]&quot;; 的本地化字符串。
/// </summary> /// </summary>
internal static string Animal { internal static string Animal {
get { get {
@@ -104,46 +106,46 @@ namespace GrasscutterTools.Properties {
} }
/// <summary> /// <summary>
/// 查找类似 51110: 异国之盏 /// 查找类似 20412:迷误者之灯
///51111: 异国之盏 ///20413:迷误者之灯
///51112: 异国之盏 ///20422:翠蔓的智者
///51113: 异国之盏 ///20423:翠蔓的智者
///51114: 异国之盏 ///20432:月桂的宝冠
///51120: 归乡之羽 ///20433:月桂的宝冠
///51121: 归乡之羽 ///20442:迷宫的游人
///51122: 归乡之羽 ///20443:迷宫的游人
///51123: 归乡之羽 ///20452:贤智的定期
///51124: 归乡之羽 ///20453:贤智的定期
///51130: 感别之冠 ///20513:迷误者之灯
///51131: 感别之冠 ///20514:迷误者之灯
///51132: 感别之冠 ///20523:翠蔓的智者
///51133: 感别之冠 ///20524:翠蔓的智者
///51134: 感别之 ///20533:月桂的宝
///51140: 故人之心 ///20534:月桂的宝冠
///51141: 故人之心 ///20543:迷宫的游人
///51142: 故人之心 ///20544:迷宫的游人
///51143: 故人之心 ///20553:贤智的定期
///51144: 故人之心 ///20554:贤智的定期
///51150: 逐光之石 ///21412:如蜜的终宴
///51151: 逐光之石 ///21413:如蜜的终宴
///51152: 逐光之石 ///21422:裁断的翎羽
///51153: 逐光之石 ///21423:裁断的翎羽
///51154: 逐光之石 ///21432:沙王的投影
///51210: 异国之盏 ///21433:沙王的投影
///51211: 异国之盏 ///21442:梦中的铁花
///51212: 异国之盏 ///21443:梦中的铁花
///51213: 异国之盏 ///21452:沉金的岁月
///51214: 异国之盏 ///21453:沉金的岁月
///51220: 归乡之羽 ///21513:如蜜的终宴
///51221: 归乡之羽 ///21514:如蜜的终宴
///51222: 归乡之 ///21523:裁断的翎
///51223: 归乡之 ///21524:裁断的翎
///51224: 归乡之羽 ///21533:沙王的投影
///51230: 感别之冠 ///21534:沙王的投影
///51231: 感别之冠 ///21543:梦中的铁花
///51232: 感别之冠 ///21544:梦中的铁花
///51233: 感别之冠 ///21553:沉金的岁月
///51234 [字符串的其余部分被截断]&quot;; 的本地化字符串。 ///21554 [字符串的其余部分被截断]&quot;; 的本地化字符串。
/// </summary> /// </summary>
internal static string Artifact { internal static string Artifact {
get { get {
@@ -152,48 +154,50 @@ namespace GrasscutterTools.Properties {
} }
/// <summary> /// <summary>
/// 查找类似 51: 行者之心 /// 查找类似 20:深林的记忆
///52: 勇士之心 ///21:饰金之梦
///53: 守护之心 ///51:行者之心
///54: 奇迹 ///52:勇士之心
///55: 战狂 ///53:守护之心
///56: 武人 ///54:奇迹
///57: 教官 ///55:战狂
///58: 赌徒 ///56:武人
///59: 流放者 ///57:教官
///60: 冒险家 ///58:赌徒
///61: 幸运儿 ///59:流放者
///62: 学士 ///60:冒险家
///63: 游医 ///61:幸运儿
///71: 冰风迷途的勇 ///62:学
///72: 平息鸣雷的尊者 ///63:游医
///73: 渡过烈火的贤人 ///71:冰风迷途的勇士
///74: 被怜爱的少女 ///72:平息鸣雷的尊者
///75: 角斗士的终幕礼 ///73:渡过烈火的贤人
///76: 翠绿之影 ///74:被怜爱的少女
///77: 流浪大地的乐团 ///75:角斗士的终幕礼
///78: 冰之川与雪之砂 ///76:翠绿之影
///79: 如雷的盛怒 ///77:流浪大地的乐团
///80: 炽烈的炎之魔女 ///78:冰之川与雪之砂
///81: 昔日宗室之仪 ///79:如雷的盛怒
///82: 染血的骑士道 ///80:炽烈的炎之魔女
///83: 祭火之人 ///81:昔日宗室之仪
///84: 祭水之人 ///82:染血的骑士道
///85: 祭雷之人 ///83:祭火之人
///86: 祭风之人 ///84:祭水之人
///87: 祭冰之人 ///85:祭雷之人
///88: 悠古的磐岩 ///86:祭风之人
///89: 逆飞的流星 ///87:祭冰之人
///90: 沉沦之心 ///88:悠古的磐岩
///91: 千岩牢固 ///89:逆飞的流星
///92: 苍白之火 ///90:沉沦之心
///93: 追忆之注连 ///91:千岩牢固
///94: 绝缘之旗印 ///92:苍白之火
///95: 华馆梦醒形骸记 ///93:追忆之注连
///96: 海染砗磲 ///94:绝缘之旗印
///97: 辰砂往生录 ///95:华馆梦醒形骸记
///98: 来歆余响 ///96:海染砗磲
///99: 高天的风之主 的本地化字符串。 ///97:辰砂往生录
///98:来歆余响
///99:高天的风之主 的本地化字符串。
/// </summary> /// </summary>
internal static string ArtifactCat { internal static string ArtifactCat {
get { get {
@@ -302,40 +306,60 @@ namespace GrasscutterTools.Properties {
} }
/// <summary> /// <summary>
/// 查找类似 10000001 : 凯特 /// 查找类似 1002:神里绫华
///10000002 : 神里绫华 ///1003:琴
///10000003 : 琴 ///1005:空
///10000005 : 旅行者 ///1006:丽莎
///10000006 : 丽莎 ///1007:荧
///10000007 : 旅行者 ///1014:芭芭拉
///10000014 : 芭芭拉 ///1015:凯亚
///10000015 : 凯亚 ///1016:迪卢克
///10000016 : 迪卢克 ///1020:雷泽
///10000020 : 雷泽 ///1021:安柏
///10000021 : 安柏 ///1022:温迪
///10000022 : 温迪 ///1023:香菱
///10000023 : 香菱 ///1024:北斗
///10000024 : 北斗 ///1025:行秋
///10000025 : 行秋 ///1026:魈
///10000026 : 魈 ///1027:凝光
///10000027 : 凝光 ///1029:可莉
///10000029 : 可莉 ///1030:钟离
///10000030 : 钟离 ///1031:菲谢尔
///10000031 : 菲谢尔 ///1032:班尼特
///10000032 : 班尼特 ///1033:达达利亚
///10000033 : 达达利亚 ///1034:诺艾尔
///10000034 : 诺艾尔 ///1035:七七
///10000035 : 七七 ///1036:重云
///10000036 : 重云 ///1037:甘雨
///10000037 : 甘雨 ///1038:阿贝多
///10000038 : 阿贝多 ///1039:迪奥娜
///10000039 : 迪奥 ///1041:莫
///10000041 : 莫娜 ///1042:刻晴
///10000042 : 刻晴 ///1043:砂糖
///10000043 : 砂糖 ///1044:辛焱
///10000044 : 辛焱 ///1045:罗莎莉亚
///10000045 : 罗莎莉亚 ///1046:胡桃
///1000 [字符串的其余部分被截断]&quot;; 的本地化字符串。 ///1047:枫原万叶
///1048:烟绯
///1049:宵宫
///1050:托马
///1051:优菈
///1052:雷电将军
///1053:早柚
///1054:珊瑚宫心海
///1055:五郎
///1056:九条裟罗
///1057:荒泷一斗
///1058:八重神子
///1059:鹿野院平藏
///1060:夜兰
///1062:埃洛伊
///1063:申鹤
///1064:云堇
///1065:久岐忍
///1066:神里绫人
///1067:柯莱
///1068:多 [字符串的其余部分被截断]&quot;; 的本地化字符串。
/// </summary> /// </summary>
internal static string Avatar { internal static string Avatar {
get { get {
@@ -484,21 +508,25 @@ namespace GrasscutterTools.Properties {
/// <summary> /// <summary>
/// 查找类似 无敌 /// 查找类似 无敌
////prop godmode on ////prop god on
///无限体力 ///无限体力
////prop nostamina on ////prop ns on
///无限能量 ///无限能量
////prop unlimitedenergy on ////prop ue on
///升到60级 ///升到60级
////give 102 x1880200 ////give 102 x1880200
///设置世界等级 ///设置世界等级
////prop worldlevel 8 ////prop wl 8
///点亮地图
////prop unlockmap 1
///一键解锁深渊 ///一键解锁深渊
////prop abyss 12 ////prop ut 12
///设置纪行等级
////prop bp 50
///设置好感等级 ///设置好感等级
////setfetterlevel 10 ////setfetterlevel 10
///奶 ///奶
////heal ////h
///自杀 ///自杀
////kill 0 ////kill 0
///全队充能 ///全队充能
@@ -513,8 +541,8 @@ namespace GrasscutterTools.Properties {
////give 224 x10000 ////give 224 x10000
///十万原石 ///十万原石
////give 201 x100000 ////give 201 x100000
///十万摩拉 ///一亿摩拉
////give 202 x100000 ////give 202 x100000000
///重载配置 ///重载配置
////reload ////reload
///重登 ///重登
@@ -524,11 +552,9 @@ namespace GrasscutterTools.Properties {
///清空全部角色命之座(需重登) ///清空全部角色命之座(需重登)
////resetconst all ////resetconst all
///清空背包 ///清空背包
////clear all ////clear all lv90 r5 5*
///清空武器 ///清空武器
////clear wp //// [字符串的其余部分被截断]&quot;; 的本地化字符串。
///清空圣遗物
////clea [字符串的其余部分被截断]&quot;; 的本地化字符串。
/// </summary> /// </summary>
internal static string CustomCommands { internal static string CustomCommands {
get { get {
@@ -546,41 +572,45 @@ namespace GrasscutterTools.Properties {
} }
/// <summary> /// <summary>
/// 查找类似 007: 初行者推荐祈愿 /// 查找类似 007:初行者推荐祈愿
///008: 奔行世间 ///008:奔行世间
///009: 杯装之诗 ///009:杯装之诗
///010: 黎明巡礼 ///010:黎明巡礼
///011: 南风之眷 ///011:南风之眷
///012: 靖妖傩舞 ///012:靖妖傩舞
///013: 神铸赋形 ///013:神铸赋形
///015: 闪焰的驻足 ///015:闪焰的驻足
///016: 初行者推荐祈愿 ///016:初行者推荐祈愿
///017: 奔行世间 ///017:奔行世间
///018: 闪焰的驻足 ///018:闪焰的驻足
///019: 杯装之诗 ///019:杯装之诗
///020: 神铸赋形 ///020:神铸赋形
///021: 神铸赋形 ///021:神铸赋形
///022: 奔行世间 ///022:奔行世间
///023: 暂别冬都 ///023:暂别冬都
///024: 陵薮市朝 ///024:陵薮市朝
///027: 深秘之息 ///027:深秘之息
///028: 浮生孰来 ///028:浮生孰来
///031: 烟火之邀 ///031:烟火之邀
///032: 鱼龙灯昼 ///032:鱼龙灯昼
///033: 赤团开时 ///033:赤团开时
///036: 杯装之诗 ///036:杯装之诗
///037: 暂别冬都 ///037:暂别冬都
///040: 陵薮市朝 ///040:陵薮市朝
///041: 浪涌之瞬 ///041:浪涌之瞬
///045: 叶落风随 ///045:叶落风随
///048: 白鹭之庭 ///048:白鹭之庭
///049: 焰色天河 ///049:焰色天河
///052: 影寂天下人 ///052:影寂天下人
///053: 浮岳虹珠 ///053:浮岳虹珠
///061: 鬼门斗宴 ///061:鬼门斗宴
///065: 出尘入世 ///065:出尘入世
///071: 华紫樱绯 ///071:华紫樱绯
///076: 苍流踏花 的本地化字符串。 ///076:苍流踏花
///081:素霓伣天
///091:提纳里池(非原名)
///092:钟离池(非原名)
///093:猎人之径池(非原名) 的本地化字符串。
/// </summary> /// </summary>
internal static string GachaBennerPrefab { internal static string GachaBennerPrefab {
get { get {
@@ -588,6 +618,33 @@ namespace GrasscutterTools.Properties {
} }
} }
/// <summary>
/// 查找类似 导入成功! 的本地化字符串。
/// </summary>
internal static string GOODImportSuccess {
get {
return ResourceManager.GetString("GOODImportSuccess", resourceCulture);
}
}
/// <summary>
/// 查找类似 是否导入 的本地化字符串。
/// </summary>
internal static string GOODImportText {
get {
return ResourceManager.GetString("GOODImportText", resourceCulture);
}
}
/// <summary>
/// 查找类似 导入GOOD档案 的本地化字符串。
/// </summary>
internal static string GOODImportTitle {
get {
return ResourceManager.GetString("GOODImportTitle", resourceCulture);
}
}
/// <summary> /// <summary>
/// 查找类似 帮助 的本地化字符串。 /// 查找类似 帮助 的本地化字符串。
/// </summary> /// </summary>
@@ -638,49 +695,56 @@ namespace GrasscutterTools.Properties {
} }
/// <summary> /// <summary>
/// 查找类似 101 : 角色经验 /// 查找类似 101:角色经验
///102 : 冒险阅历 ///102:冒险阅历
///103 : 星尘 ///105:好感经验
///104 : 星辉 ///106:原粹树脂
///105 : 好感经验 ///107:传说钥匙
///106 : 原粹树脂 ///108:(test)天体推演
///107 : 传说钥匙 ///109:熄星能量
///108 : (test)天体推演 ///110:熄星精粹
///109 : 熄星能量 ///111:微光精粹
///110 : 熄星精粹 ///112:温暖精粹
///111 : 微光精粹 ///113:奇迹精粹
///112 : 温暖精粹 ///114:铁钱
///113 : 奇迹精粹 ///115:平安玉符
///114 : 铁钱 ///116:节庆热度
///115 : 平安玉 ///117:奇术
///116 : 节庆热度 ///118:庆典巡回券
///117 : 奇术符 ///119:奇趣协力券
///118 : 庆典巡回券 ///120:纯水真心
///119 : 奇趣协力券 ///121:信任值
///120 : 纯水真心 ///122:碎果数据
///121 : 信任值 ///123:迷踪币
///122 : 碎果数据 ///124:亮闪闪的漂流物
///123 : 迷踪币 ///125:迷你「羽球」
///124 : 亮闪闪的漂流物 ///126:神秘齿轮
///125 : 迷你「羽球」 ///127:鸣雷霰子
///126 : 神秘齿轮 ///128:鸣雷纯晶
///127 : 鸣雷霰子 ///129:弈棋术经验
///128 : 鸣雷纯晶 ///130:灵妙玉符
///129 : 弈棋术经验 ///131:逐月节节庆热度
///130 : 灵妙玉符 ///132:残悴之式札
///131 : 逐月节节庆热度 ///133:虚损之拓本
///132 : 残悴之式札 ///134:朽裂之庚牌
///133 : 虚损之拓本 ///135:踏雪章
///134 : 朽裂之庚牌 ///136:克险章
///135 : 踏雪章 ///137:逢福玉符
///136 : 克险章 ///138:完璧玉符
///137 : 逢福玉符 ///139:降魔玉符
///138 : 完璧玉符 ///140:幽蕴砺石
///139 : 降魔玉符 ///141:花簇簇的漂流物
///140 : 幽蕴砺石 ///142:战策碎珀
///142 : 战策碎珀 ///143:巧思手记
///201 : 原石 ///144:随想草稿
///2 [字符串的其余部分被截断]&quot;; 的本地化字符串。 ///145:古铁钱
///201:原石
///202:摩拉
///203:创世结晶
///204:洞天宝钱
///314:声望经验·稻妻
///315:声望经验·蒙德
///316:声 [字符串的其余部分被截断]&quot;; 的本地化字符串。
/// </summary> /// </summary>
internal static string Item { internal static string Item {
get { get {
@@ -689,36 +753,38 @@ namespace GrasscutterTools.Properties {
} }
/// <summary> /// <summary>
/// 查找类似 21010101: 丘丘人 /// 查找类似 20010101:草史莱姆
///21020101: 木盾丘丘暴徒 ///20010201:大型草史莱姆
///21020201: 火斧丘丘暴徒 ///20010202:大型草史莱姆
///21020202: 火斧丘丘暴徒 ///20010301:风史莱姆
///21020301: 岩盾丘丘暴徒 ///20010302:风史莱姆
///21020401: 丘丘霜铠王 ///20010401:大型风史莱姆
///21020501: 丘丘岩盔王 ///20010402:大型风史莱姆
///21020601: 冰盾丘丘暴徒 ///20010403:大型风史莱姆
///21020701: 雷斧丘丘暴徒 ///20010501:雷史莱姆
///21020703: 雷斧丘丘暴徒 ///20010502:雷史莱姆
///21020801: 丘丘雷兜王 ///20010601:大型雷史莱姆
///20010101: 草史莱姆 ///20010602:大型雷史莱姆
///20010201: 大型史莱姆 ///20010604:大型史莱姆
///20010202: 大型草史莱姆 ///20010701:变异雷史莱姆
///20010301: 风史莱姆 ///20010702:变异雷史莱姆
///20010401: 大型风史莱姆 ///20010703:变异雷史莱姆
///20010403: 大型风史莱姆 ///20010801:冰史莱姆
///29010101: 裂空的魔龙 ///20010802:冰史莱姆
///29010102: 裂空的魔龙 ///20010803:冰史莱姆
///29010103: 裂空的魔龙 ///20010901:大型冰史莱姆
///29010104: 裂空的魔龙 ///20010902:大型冰史莱姆
///29020101: 北风的王狼,奔狼的领主 ///20010903:大型冰史莱姆
///29020102: 北风的王狼,奔狼的领主 ///20010904:大型冰史莱姆
///29030103: 「公子」 ///20011001:水史莱姆
///29030106: 「公子」 ///20011002:水史莱姆
///29040101: 若陀龙王 ///20011101:大型水史莱姆
///29040102: 若陀龙王 ///20011102:大型水史莱姆
///29040103: 若陀龙王 ///20011103:大型水史莱姆
///29040104: 若陀龙王 ///20011201:火史莱姆
///290401 [字符串的其余部分被截断]&quot;; 的本地化字符串。 ///20011202:火史莱姆
///20011203:火史莱姆
///20011301:大型 [字符串的其余部分被截断]&quot;; 的本地化字符串。
/// </summary> /// </summary>
internal static string Monster { internal static string Monster {
get { get {
@@ -726,6 +792,16 @@ namespace GrasscutterTools.Properties {
} }
} }
/// <summary>
/// 查找 System.Byte[] 类型的本地化资源。
/// </summary>
internal static byte[] Newtonsoft_Json {
get {
object obj = ResourceManager.GetObject("Newtonsoft_Json", resourceCulture);
return ((byte[])(obj));
}
}
/// <summary> /// <summary>
/// 查找类似 版本名:{0} /// 查找类似 版本名:{0}
///更新时间:{1} ///更新时间:{1}
@@ -793,33 +869,29 @@ namespace GrasscutterTools.Properties {
///player.** ///player.**
///server.* ///server.*
///server.** ///server.**
///player.changescene ///permission
///player.clearinv ///player.clearinv
///player.clearinv.others
///player.enterdungeon ///player.enterdungeon
///player.enterdungeon.others
///player.give ///player.give
///player.giveall ///player.give.others
///player.giveart
///player.givechar
///player.godmode
///player.heal ///player.heal
///player.heal.others
///player.killcharacter ///player.killcharacter
///player.killcharacter.others
///player.quest
///player.quest.others
///player.resetconstellation ///player.resetconstellation
///player.resetconstellation.others
///player.setfetterlevel ///player.setfetterlevel
///player.setfetterlevel.others
///player.setprop
///player.setprop.others
///player.setstats ///player.setstats
///player.setstats.others
///player.settalent ///player.settalent
///player.setworldlevel ///p [字符串的其余部分被截断]&quot;; 的本地化字符串。
///player.teleport
///player.tpall
///player.weather
///server.broadcast
///server.coop
///server.drop
///server.kick
///server.killall
///server.reload
///server.resetshop
///server.sendmail
///server.sendmessage
/// </summary> /// </summary>
internal static string Permissions { internal static string Permissions {
get { get {
@@ -837,27 +909,20 @@ namespace GrasscutterTools.Properties {
} }
/// <summary> /// <summary>
/// <summary> /// 查找类似 30302:女神像解锁$HIDDEN - [N/A] 362713143
/// 查找类似 30302 : 女神像解锁$HIDDEN - ///30303:女神像解锁$HIDDEN - [N/A] 715511863
///30303 : 女神像解锁$HIDDEN - ///30304:女神像解锁$HIDDEN - [N/A] 163018255
///30304 : 女神像解锁$HIDDEN - ///30305:女神像解锁$HIDDEN - [N/A] 3694648119
///30305 : 女神像解锁$HIDDEN - ///30306:女神像解锁$HIDDEN - [N/A] 3223799591
///30306 : 女神像解锁$HIDDEN - ///30307:女神像解锁$HIDDEN - [N/A] 1232757671
///30307 : 女神像解锁$HIDDEN - ///30308:女神像解锁$HIDDEN - [N/A] 3056513767
///30308 : 女神像解锁$HIDDEN - ///30309:女神像解锁$HIDDEN - [N/A] 2426653367
///30309 : 女神像解锁$HIDDEN - ///30310:女神像解锁$HIDDEN - [N/A] 2003131071
///30310 : 女神像解锁$HIDDEN - ///30311:女神像解锁$HIDDEN - [N/A] 105277231
///30311 : 女神像解锁$HIDDEN - ///30312:女神像解锁$HIDDEN - [N/A] 3391806215
///30312 : 女神像解锁$HIDDEN - ///30313:女神像解锁$HIDDEN - [N/A] 1357500887
///30313 : 女神像解锁$HIDDEN - ///30314:女神像解锁$HIDDEN - [N/A] 3054344935
///30314 : 女神像解锁$HIDDEN - ///30315:女神像 [字符串的其余部分被截断]&quot;; 的本地化字符串。
///30315 : 女神像解锁$HIDDEN -
///30316 : 女神像解锁$HIDDEN -
///30317 : 女神像解锁$HIDDEN -
///30600 : 昔日的风 - 在庙宇门口跟安柏见面
///30601 : 昔日的风 - 与安柏对话
///30602 : 昔日的风 - 进入庙宇
///30603 : 昔日的风 - 探索庙宇深处
/// </summary> /// </summary>
internal static string Quest { internal static string Quest {
get { get {
@@ -884,38 +949,34 @@ namespace GrasscutterTools.Properties {
} }
/// <summary> /// <summary>
/// <summary> /// 查找类似 1: BigWorld_LevelStreaming
/// 查找类似 1 : 提瓦特 ///2: BigWorld_LevelStreaming
///2 : 提瓦特 ///3: 提瓦特
///3 : 提瓦特 ///4: 金苹果群岛(1.6)
///4 : 金苹果群岛 ///5: 渊下宫
///5 : 渊下宫 ///6: 层岩巨渊·地下矿区
///6 : 层岩巨渊·地下矿区 ///7: 三界路飨祭
///7 : 三界路飨祭 ///9: 金苹果群岛(2.8)
///2001 : 罗浮洞
///2002 : 翠黛峰
///2003 : 清琼岛
///2004 : 绘绮庭
///2201 : 尘歌壶室内_蒙德
///2202 : 尘歌壶室内_璃月
///2203 : 尘歌壶室内_稻妻
///20008: 深入狼之殿
///20008: 丘丘人大本营(test)
///20008: 丘丘人巢穴(test)
///20007: 小岩洞据点(test)
///20007: 小岩洞据点(test)
///20007: 小岩洞秘境(test)
///20006: 遗迹遇险点(test)
///20006: 丘丘人小据点(test)
///20006: 丘丘人大据点(test)
///1006: 密林、废墟与龙之泪
///1017: 壶中天
///1019: 洞天云海地城玩法测试(test)
///1011: 角色战斗测试(test)
///1001: 移动平台性能测试(test) ///1001: 移动平台性能测试(test)
///1001: 移动平台性能测试(test) ///1002: ClimbTest2
///50003: 战斗性能测试(test) ///1003: TheBigWorld
///50004: 电桩电源白盒(test) ///1004: Knight_Inside_Test
///1005: ChurchSteal
///1006: 密林、废墟与龙之泪
///1008: ChurchLobby
///1009: AngelShare
///1011: 角色战斗测试(test)
///1013: SneakAdvancedTest
///1015: 飞翔是勇气的奖励
///1016: 飞翔是勇气的奖励
///1017: 壶中天
///1018: Chateau
///1019: 洞天云海地城玩法测试(test)
///1023: Level_Yurenzhong
///1024: 黑夜循环地城(test)
///1030: TestIntercept_LiYue
///1031: 爬塔丘丘人模板(test)
///1032: 云海白 [字符串的其余部分被截断]&quot;; 的本地化字符串。
/// </summary> /// </summary>
internal static string Scene { internal static string Scene {
get { get {
@@ -978,43 +1039,49 @@ namespace GrasscutterTools.Properties {
} }
/// <summary> /// <summary>
/// <summary> /// 查找类似 11101:无锋剑
/// 查找类似 11101 : 无锋 ///11201:银
///11201 : 银剑 ///11301:冷刃
///11301 : 冷刃 ///11302:黎明神剑
///11302 : 黎明神 ///11303:旅行
///11303 : 旅行 ///11304:暗铁
///11304 : 暗铁剑 ///11305:吃虎鱼刀
///11305 : 吃虎鱼刀 ///11306:飞天御剑
///11306 : 飞天御 ///11401:西风
///11401 : 西风 ///11402:笛
///11402 : 笛 ///11403:祭礼
///11403 : 祭礼 ///11404:宗室长
///11404 : 宗室长剑 ///11405:匣里龙吟
///11405 : 匣里龙吟 ///11406:试作斩岩
///11406 : 试作斩岩 ///11407:铁蜂刺
///11407 : 铁蜂刺 ///11408:黑岩长剑
///11408 : 黑岩长 ///11409:黑
///11409 : 黑剑 ///11410:暗巷闪光
///11410 : 暗巷闪光 ///11412:降临之剑
///11412 : 降临之剑 ///11413:腐殖之剑
///11413 : 腐殖之剑 ///11414:天目影打刀
///11414 : 天目影打刀 ///11415:辰砂之纺锤
///11415 : 辰砂之纺锤 ///11416:笼钓瓶一心
///11501 : 风鹰剑 ///11419:「一心传」名刀
///11502 : 天空之刃 ///11420:「一心传」名刀
///11503 : 苍古自由之誓 ///11421:「一心传」名刀
///11504 : 斫峰之刃 ///11501:风鹰剑
///11505 : 磐岩结绿 ///11502:天空之刃
///11509 : 雾切之回光 ///11503:苍古自由之誓
///11510 : 波乱月白经津 ///11504:斫峰之刃
///12101 : 训练大剑 ///11505:磐岩结绿
///12201 : 佣兵重剑 ///11506:磐岩结绿
///12301 : 铁影阔剑 ///11507:凭虚
///12302 : 沐浴龙血的剑 ///11509:雾切之回光
///12303 : 白铁大剑 ///11510:波乱月白经津
///12304 : 石英大剑 ///12101:训练大剑
///12305 : 以理服人 ///12201:佣兵重剑
///12301:铁影阔剑
///12302:沐浴龙血的剑
///12303:白铁大剑
///12304:石英大剑
///12305:以理服人
///12306: [字符串的其余部分被截断]&quot;; 的本地化字符串。
/// </summary> /// </summary>
internal static string Weapon { internal static string Weapon {
get { get {

View File

@@ -255,4 +255,14 @@ Do you want to check for updates? Selecting No will no longer remind you of this
<data name="WeaponColor" type="System.Resources.ResXFileRef, System.Windows.Forms"> <data name="WeaponColor" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\WeaponColor.txt;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;utf-8</value> <value>..\Resources\WeaponColor.txt;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;utf-8</value>
</data> </data>
<data name="GOODImportText" xml:space="preserve">
<value>Do you wish to import </value>
</data>
<data name="GOODImportTitle" xml:space="preserve">
<value>Import GOOD dump file</value>
</data>
<data name="GOODImportSuccess" xml:space="preserve">
<value>Import success!</value>
</data>
</root> </root>

View File

@@ -184,6 +184,9 @@
<data name="GachaBennerPrefab" type="System.Resources.ResXFileRef, System.Windows.Forms"> <data name="GachaBennerPrefab" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\zh-cn\GachaBennerPrefab.txt;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;utf-8</value> <value>..\Resources\zh-cn\GachaBennerPrefab.txt;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;utf-8</value>
</data> </data>
<data name="SettingSaveError" xml:space="preserve">
<value>保存设置时异常:</value>
</data>
<data name="Help" xml:space="preserve"> <data name="Help" xml:space="preserve">
<value>帮助</value> <value>帮助</value>
</data> </data>
@@ -243,9 +246,6 @@
<data name="SettingLoadError" xml:space="preserve"> <data name="SettingLoadError" xml:space="preserve">
<value>加载设置时异常:</value> <value>加载设置时异常:</value>
</data> </data>
<data name="SettingSaveError" xml:space="preserve">
<value>保存设置时异常:</value>
</data>
<data name="Tips" xml:space="preserve"> <data name="Tips" xml:space="preserve">
<value>提示</value> <value>提示</value>
</data> </data>
@@ -264,4 +264,16 @@
<data name="WeaponColor" type="System.Resources.ResXFileRef, System.Windows.Forms"> <data name="WeaponColor" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\WeaponColor.txt;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;utf-8</value> <value>..\Resources\WeaponColor.txt;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;utf-8</value>
</data> </data>
<data name="GOODImportText" xml:space="preserve">
<value>是否导入 </value>
</data>
<data name="GOODImportTitle" xml:space="preserve">
<value>导入GOOD档案</value>
</data>
<data name="GOODImportSuccess" xml:space="preserve">
<value>导入成功!</value>
</data>
<data name="Newtonsoft_Json" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Newtonsoft.Json.dll;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
</root> </root>

View File

@@ -252,4 +252,13 @@
<data name="WeaponColor" type="System.Resources.ResXFileRef, System.Windows.Forms"> <data name="WeaponColor" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\WeaponColor.txt;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;utf-8</value> <value>..\Resources\WeaponColor.txt;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;utf-8</value>
</data> </data>
<data name="GOODImportText" xml:space="preserve">
<value>是否導入 </value>
</data>
<data name="GOODImportTitle" xml:space="preserve">
<value>導入GOOD檔案</value>
</data>
<data name="GOODImportSuccess" xml:space="preserve">
<value>導入成功!</value>
</data>
</root> </root>

View File

@@ -1,73 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<assembly manifestVersion="1.0" xmlns="urn:schemas-microsoft-com:asm.v1">
<assemblyIdentity version="1.0.0.0" name="MyApplication.app" />
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">
<security>
<requestedPrivileges xmlns="urn:schemas-microsoft-com:asm.v3">
<!-- UAC 清单选项
如果想要更改 Windows 用户帐户控制级别,请使用
以下节点之一替换 requestedExecutionLevel 节点。
<requestedExecutionLevel level="asInvoker" uiAccess="false" />
<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />
<requestedExecutionLevel level="highestAvailable" uiAccess="false" />
指定 requestedExecutionLevel 元素将禁用文件和注册表虚拟化。
如果你的应用程序需要此虚拟化来实现向后兼容性,则移除此
元素。
-->
<requestedExecutionLevel level="asInvoker" uiAccess="false" />
</requestedPrivileges>
<applicationRequestMinimum>
<defaultAssemblyRequest permissionSetReference="Custom" />
<PermissionSet class="System.Security.PermissionSet" version="1" Unrestricted="true" ID="Custom" SameSite="site" />
</applicationRequestMinimum>
</security>
</trustInfo>
<compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1">
<application>
<!-- 设计此应用程序与其一起工作且已针对此应用程序进行测试的
Windows 版本的列表。取消评论适当的元素,
Windows 将自动选择最兼容的环境。 -->
<!-- Windows Vista -->
<!--<supportedOS Id="{e2011457-1546-43c5-a5fe-008deee3d3f0}" />-->
<!-- Windows 7 -->
<!--<supportedOS Id="{35138b9a-5d96-4fbd-8e2d-a2440225f93a}" />-->
<!-- Windows 8 -->
<!--<supportedOS Id="{4a2f28e3-53b9-4441-ba9c-d69d4a4a6e38}" />-->
<!-- Windows 8.1 -->
<!--<supportedOS Id="{1f676c76-80e1-4239-95bb-83d0f6d0da78}" />-->
<!-- Windows 10 -->
<supportedOS Id="{8e0f7a12-bfb3-4fe8-b9a5-48fd50a15a9a}" />
</application>
</compatibility>
<!-- 指示该应用程序可感知 DPI 且 Windows 在 DPI 较高时将不会对其进行
自动缩放。Windows Presentation Foundation (WPF)应用程序自动感知 DPI无需
选择加入。选择加入此设置的 Windows 窗体应用程序(面向 .NET Framework 4.6)还应
在其 app.config 中将 "EnableWindowsFormsHighDpiAutoResizing" 设置设置为 "true"。
将应用程序设为感知长路径。请参阅 https://docs.microsoft.com/windows/win32/fileio/maximum-file-path-limitation -->
<!--
<application xmlns="urn:schemas-microsoft-com:asm.v3">
<windowsSettings>
<dpiAware xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">true</dpiAware>
<longPathAware xmlns="http://schemas.microsoft.com/SMI/2016/WindowsSettings">true</longPathAware>
</windowsSettings>
</application>
-->
<!-- 启用 Windows 公共控件和对话框的主题(Windows XP 和更高版本) -->
<!--
<dependency>
<dependentAssembly>
<assemblyIdentity
type="win32"
name="Microsoft.Windows.Common-Controls"
version="6.0.0.0"
processorArchitecture="*"
publicKeyToken="6595b64144ccf1df"
language="*"
/>
</dependentAssembly>
</dependency>
-->
</assembly>

Binary file not shown.

View File

@@ -142,3 +142,4 @@
15507:yellow 15507:yellow
15508:yellow 15508:yellow
15509:yellow 15509:yellow
15511:yellow

File diff suppressed because it is too large Load Diff

View File

@@ -1,42 +1,44 @@
51: Resolution of Sojourner 20:Deepwood Memories
52: Brave Heart 21:Gilded Dreams
53: Defender's Will 51:Resolution of Sojourner
54: Tiny Miracle 52:Brave Heart
55: Berserker 53:Defender's Will
56: Martial Artist 54:Tiny Miracle
57: Instructor 55:Berserker
58: Gambler 56:Martial Artist
59: The Exile 57:Instructor
60: Adventurer 58:Gambler
61: Lucky Dog 59:The Exile
62: Scholar 60:Adventurer
63: Traveling Doctor 61:Lucky Dog
71: Blizzard Strayer 62:Scholar
72: Thundersoother 63:Traveling Doctor
73: Lavawalker 71:Blizzard Strayer
74: Maiden Beloved 72:Thundersoother
75: Gladiator's Finale 73:Lavawalker
76: Viridescent Venerer 74:Maiden Beloved
77: Wanderer's Troupe 75:Gladiator's Finale
78: Glacier and Snowfield 76:Viridescent Venerer
79: Thundering Fury 77:Wanderer's Troupe
80: Crimson Witch of Flames 78:Glacier and Snowfield
81: Noblesse Oblige 79:Thundering Fury
82: Bloodstained Chivalry 80:Crimson Witch of Flames
83: Prayers for Illumination 81:Noblesse Oblige
84: Prayers for Destiny 82:Bloodstained Chivalry
85: Prayers for Wisdom 83:Prayers for Illumination
86: Prayers to the Firmament 84:Prayers for Destiny
87: Prayers to Springtime 85:Prayers for Wisdom
88: Archaic Petra 86:Prayers to the Firmament
89: Retracing Bolide 87:Prayers to Springtime
90: Heart of Depth 88:Archaic Petra
91: Tenacity of the Millelith 89:Retracing Bolide
92: Pale Flame 90:Heart of Depth
93: Shimenawa's Reminiscence 91:Tenacity of the Millelith
94: Emblem of Severed Fate 92:Pale Flame
95: Husk of Opulent Dreams 93:Shimenawa's Reminiscence
96: Ocean-Hued Clam 94:Emblem of Severed Fate
97: Vermillion Hereafter 95:Husk of Opulent Dreams
98: Echoes of an Offering 96:Ocean-Hued Clam
99: Lord of the Winds 97:Vermillion Hereafter
98:Echoes of an Offering
99:Lord of the Winds

View File

@@ -1,52 +1,55 @@
1002: Kamisato Ayaka 1002:Kamisato Ayaka
1003: Jean 1003:Jean
1005: Aether 1005:Aether
1006: Lisa 1006:Lisa
1007: Lumine 1007:Lumine
1014: Barbara 1014:Barbara
1015: Kaeya 1015:Kaeya
1016: Diluc 1016:Diluc
1020: Razor 1020:Razor
1021: Amber 1021:Amber
1022: Venti 1022:Venti
1023: Xiangling 1023:Xiangling
1024: Beidou 1024:Beidou
1025: Xingqiu 1025:Xingqiu
1026: Xiao 1026:Xiao
1027: Ningguang 1027:Ningguang
1029: Klee 1029:Klee
1030: Zhongli 1030:Zhongli
1031: Fischl 1031:Fischl
1032: Bennett 1032:Bennett
1033: Tartaglia 1033:Tartaglia
1034: Noelle 1034:Noelle
1035: Qiqi 1035:Qiqi
1036: Chongyun 1036:Chongyun
1037: Ganyu 1037:Ganyu
1038: Albedo 1038:Albedo
1039: Diona 1039:Diona
1041: Mona 1041:Mona
1042: Keqing 1042:Keqing
1043: Sucrose 1043:Sucrose
1044: Xinyan 1044:Xinyan
1045: Rosaria 1045:Rosaria
1046: Hu Tao 1046:Hu Tao
1047: Kaedehara Kazuha 1047:Kaedehara Kazuha
1048: Yanfei 1048:Yanfei
1049: Yoimiya 1049:Yoimiya
1050: Thoma 1050:Thoma
1051: Eula 1051:Eula
1052: Raiden Shogun 1052:Raiden Shogun
1053: Sayu 1053:Sayu
1054: Sangonomiya Kokomi 1054:Sangonomiya Kokomi
1055: Gorou 1055:Gorou
1056: Kujou Sara 1056:Kujou Sara
1057: Arataki Itto 1057:Arataki Itto
1058: Yae Miko 1058:Yae Miko
1059: Shikanoin Heizou 1059:Shikanoin Heizou
1060: Yelan 1060:Yelan
1062: Aloy 1062:Aloy
1063: Shenhe 1063:Shenhe
1064: Yun Jin 1064:Yun Jin
1065: Kuki Shinobu 1065:Kuki Shinobu
1066: Kamisato Ayato 1066:Kamisato Ayato
1067:Collei
1068:Dori
1069:Tighnari

View File

@@ -8,6 +8,8 @@ Level up to 60
/give 102 x1880200 /give 102 x1880200
Set World Level Set World Level
/prop wl 8 /prop wl 8
Unlock Map
/prop unlockmap 1
Unlock The Tower Unlock The Tower
/prop ut 12 /prop ut 12
Set BattlePass Level Set BattlePass Level

View File

@@ -1,36 +1,39 @@
007: Beginners' wish 007:Beginners' wish
008: Wanderlust Invocation 008:Wanderlust Invocation
009: Ballad in Goblets 009:Ballad in Goblets
010: Dawn Pilgrimage 010:Dawn Pilgrimage
011: Grace of Southwind 011:Grace of Southwind
012: Bane of All Evil 012:Bane of All Evil
013: Epitome Invocation 013:Epitome Invocation
015: Sparkling Steps 015:Sparkling Steps
016: Beginners' wish 016:Beginners' wish
017: Wanderlust Invocation 017:Wanderlust Invocation
018: Sparkling Steps 018:Sparkling Steps
019: Ballad in Goblets 019:Ballad in Goblets
020: Epitome Invocation 020:Epitome Invocation
021: Epitome Invocation 021:Epitome Invocation
022: Wanderlust Invocation 022:Wanderlust Invocation
023: Farewell of Snezhnaya 023:Farewell of Snezhnaya
024: Gentry of Hermitage 024:Gentry of Hermitage
027: Secretum Secretorum 027:Secretum Secretorum
028: Adrift in the Harbor 028:Adrift in the Harbor
031: Invitation to Mundane Life 031:Invitation to Mundane Life
032: Dance of Lanterns 032:Dance of Lanterns
033: Moment of Bloom 033:Moment of Bloom
036: Ballad in Goblets 036:Ballad in Goblets
037: Farewell of Snezhnaya 037:Farewell of Snezhnaya
040: Gentry of Hermitage 040:Gentry of Hermitage
041: Born of Ocean Swell 041:Born of Ocean Swell
045: Leaves in the Wind 045:Leaves in the Wind
048: The Heron's Court 048:The Heron's Court
049: Tapestry of Golden Flames 049:Tapestry of Golden Flames
052: Reign of Serenity 052:Reign of Serenity
053: Drifting Luminescence 053:Drifting Luminescence
061: Oni's Royale 061:Oni's Royale
065: The Transcendent One Returns 065:The Transcendent One Returns
071: Everbloom Violet 071:Everbloom Violet
076: Azure Excursion 076:Azure Excursion
081: Discerner of Enigmas 081:Discerner of Enigmas
091:Tighnari banner (Non original name)
092:Zhongli banner (Non original name)
093:Hunter's Path banner (Non original name)

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -1,151 +1,152 @@
11101: Dull Blade 11101:Dull Blade
11201: Silver Sword 11201:Silver Sword
11301: Cool Steel 11301:Cool Steel
11302: Harbinger of Dawn 11302:Harbinger of Dawn
11303: Traveler's Handy Sword 11303:Traveler's Handy Sword
11304: Dark Iron Sword 11304:Dark Iron Sword
11305: Fillet Blade 11305:Fillet Blade
11306: Skyrider Sword 11306:Skyrider Sword
11401: Favonius Sword 11401:Favonius Sword
11402: The Flute 11402:The Flute
11403: Sacrificial Sword 11403:Sacrificial Sword
11404: Royal Longsword 11404:Royal Longsword
11405: Lion's Roar 11405:Lion's Roar
11406: Prototype Rancour 11406:Prototype Rancour
11407: Iron Sting 11407:Iron Sting
11408: Blackcliff Longsword 11408:Blackcliff Longsword
11409: The Black Sword 11409:The Black Sword
11410: The Alley Flash 11410:The Alley Flash
11412: Sword of Descension 11412:Sword of Descension
11413: Festering Desire 11413:Festering Desire
11414: Amenoma Kageuchi 11414:Amenoma Kageuchi
11415: Cinnabar Spindle 11415:Cinnabar Spindle
11416: Kagotsurube Isshin 11416:Kagotsurube Isshin
11419: Prized Isshin Blade 11419:Prized Isshin Blade
11420: Prized Isshin Blade 11420:Prized Isshin Blade
11421: Prized Isshin Blade 11421:Prized Isshin Blade
11501: Aquila Favonia 11501:Aquila Favonia
11502: Skyward Blade 11502:Skyward Blade
11503: Freedom-Sworn 11503:Freedom-Sworn
11504: Summit Shaper 11504:Summit Shaper
11505: Primordial Jade Cutter 11505:Primordial Jade Cutter
11506: Primordial Jade Cutter 11506:Primordial Jade Cutter
11507: One Side 11507:One Side
11509: Mistsplitter Reforged 11509:Mistsplitter Reforged
11510: Haran Geppaku Futsu 11510:Haran Geppaku Futsu
12101: Waster Greatsword 12101:Waster Greatsword
12201: Old Merc's Pal 12201:Old Merc's Pal
12301: Ferrous Shadow 12301:Ferrous Shadow
12302: Bloodtainted Greatsword 12302:Bloodtainted Greatsword
12303: White Iron Greatsword 12303:White Iron Greatsword
12304: Quartz 12304:Quartz
12305: Debate Club 12305:Debate Club
12306: Skyrider Greatsword 12306:Skyrider Greatsword
12401: Favonius Greatsword 12401:Favonius Greatsword
12402: The Bell 12402:The Bell
12403: Sacrificial Greatsword 12403:Sacrificial Greatsword
12404: Royal Greatsword 12404:Royal Greatsword
12405: Rainslasher 12405:Rainslasher
12406: Prototype Archaic 12406:Prototype Archaic
12407: Whiteblind 12407:Whiteblind
12408: Blackcliff Slasher 12408:Blackcliff Slasher
12409: Serpent Spine 12409:Serpent Spine
12410: Lithic Blade 12410:Lithic Blade
12411: Snow-Tombed Starsilver 12411:Snow-Tombed Starsilver
12412: Luxurious Sea-Lord 12412:Luxurious Sea-Lord
12414: Katsuragikiri Nagamasa 12414:Katsuragikiri Nagamasa
12416: Akuoumaru 12416:Akuoumaru
12501: Skyward Pride 12501:Skyward Pride
12502: Wolf's Gravestone 12502:Wolf's Gravestone
12503: Song of Broken Pines 12503:Song of Broken Pines
12504: The Unforged 12504:The Unforged
12505: Primordial Jade Greatsword 12505:Primordial Jade Greatsword
12506: The Other Side 12506:The Other Side
12510: Redhorn Stonethresher 12510:Redhorn Stonethresher
13101: Beginner's Protector 13101:Beginner's Protector
13201: Iron Point 13201:Iron Point
13301: White Tassel 13301:White Tassel
13302: Halberd 13302:Halberd
13303: Black Tassel 13303:Black Tassel
13304: The Flagstaff 13304:The Flagstaff
13401: Dragon's Bane 13401:Dragon's Bane
13402: Prototype Starglitter 13402:Prototype Starglitter
13403: Crescent Pike 13403:Crescent Pike
13404: Blackcliff Pole 13404:Blackcliff Pole
13405: Deathmatch 13405:Deathmatch
13406: Lithic Spear 13406:Lithic Spear
13407: Favonius Lance 13407:Favonius Lance
13408: Royal Spear 13408:Royal Spear
13409: Dragonspine Spear 13409:Dragonspine Spear
13414: Kitain Cross Spear 13414:Kitain Cross Spear
13415: "The Catch" 13415:"The Catch"
13416: Wavebreaker's Fin 13416:Wavebreaker's Fin
13501: Staff of Homa 13501:Staff of Homa
13502: Skyward Spine 13502:Skyward Spine
13504: Vortex Vanquisher 13504:Vortex Vanquisher
13505: Primordial Jade Winged-Spear 13505:Primordial Jade Winged-Spear
13506: Deicide 13506:Deicide
13507: Calamity Queller 13507:Calamity Queller
13509: Engulfing Lightning 13509:Engulfing Lightning
14101: Apprentice's Notes 14101:Apprentice's Notes
14201: Pocket Grimoire 14201:Pocket Grimoire
14301: Magic Guide 14301:Magic Guide
14302: Thrilling Tales of Dragon Slayers 14302:Thrilling Tales of Dragon Slayers
14303: Otherworldly Story 14303:Otherworldly Story
14304: Emerald Orb 14304:Emerald Orb
14305: Twin Nephrite 14305:Twin Nephrite
14306: Amber Bead 14306:Amber Bead
14401: Favonius Codex 14401:Favonius Codex
14402: The Widsith 14402:The Widsith
14403: Sacrificial Fragments 14403:Sacrificial Fragments
14404: Royal Grimoire 14404:Royal Grimoire
14405: Solar Pearl 14405:Solar Pearl
14406: Prototype Amber 14406:Prototype Amber
14407: Mappa Mare 14407:Mappa Mare
14408: Blackcliff Agate 14408:Blackcliff Agate
14409: Eye of Perception 14409:Eye of Perception
14410: Wine and Song 14410:Wine and Song
14412: Frostbearer 14412:Frostbearer
14413: Dodoco Tales 14413:Dodoco Tales
14414: Hakushin Ring 14414:Hakushin Ring
14415: Oathsworn Eye 14415:Oathsworn Eye
14501: Skyward Atlas 14501:Skyward Atlas
14502: Lost Prayer to the Sacred Winds 14502:Lost Prayer to the Sacred Winds
14503: Lost Ballade 14503:Lost Ballade
14504: Memory of Dust 14504:Memory of Dust
14505: Primordial Jade Regalia 14505:Primordial Jade Regalia
14506: Everlasting Moonglow 14506:Everlasting Moonglow
14509: Kagura's Verity 14509:Kagura's Verity
15101: Hunter's Bow 15101:Hunter's Bow
15201: Seasoned Hunter's Bow 15201:Seasoned Hunter's Bow
15301: Raven Bow 15301:Raven Bow
15302: Sharpshooter's Oath 15302:Sharpshooter's Oath
15303: Recurve Bow 15303:Recurve Bow
15304: Slingshot 15304:Slingshot
15305: Messenger 15305:Messenger
15306: Ebony Bow 15306:Ebony Bow
15401: Favonius Warbow 15401:Favonius Warbow
15402: The Stringless 15402:The Stringless
15403: Sacrificial Bow 15403:Sacrificial Bow
15404: Royal Bow 15404:Royal Bow
15405: Rust 15405:Rust
15406: Prototype Crescent 15406:Prototype Crescent
15407: Compound Bow 15407:Compound Bow
15408: Blackcliff Warbow 15408:Blackcliff Warbow
15409: The Viridescent Hunt 15409:The Viridescent Hunt
15410: Alley Hunter 15410:Alley Hunter
15411: Fading Twilight 15411:Fading Twilight
15412: Mitternachts Waltz 15412:Mitternachts Waltz
15413: Windblume Ode 15413:Windblume Ode
15414: Hamayumi 15414:Hamayumi
15415: Predator 15415:Predator
15416: Mouun's Moon 15416:Mouun's Moon
15501: Skyward Harp 15501:Skyward Harp
15502: Amos' Bow 15502:Amos' Bow
15503: Elegy for the End 15503:Elegy for the End
15504: Kunwu's Wyrmbane 15504:Kunwu's Wyrmbane
15505: Primordial Jade Vista 15505:Primordial Jade Vista
15506: Mirror Breaker 15506:Mirror Breaker
15507: Polar Star 15507:Polar Star
15508: Aqua Simulacra 15508:Aqua Simulacra
15509: Thundering Pulse 15509:Thundering Pulse
15511:Hunter's Path

File diff suppressed because it is too large Load Diff

View File

@@ -1,42 +1,44 @@
51 Решимость временщика 20:Deepwood Memories
52: Душа храбреца 21:Gilded Dreams
53: Воля защитника 51:Решимость временщика
54: Маленькое чудо 52:Душа храбреца
55: Берсерк 53:Воля защитника
56: Воин 54:Маленькое чудо
57: Инструктор 55:Берсерк
58: Азартный игрок 56:Воин
59: Изгнанник 57:Инструктор
60: Искатель приключений 58:Азартный игрок
61: Везунчик 59:Изгнанник
62: Учёный 60:Искатель приключений
63: Целитель 61:Везунчик
71: Заблудший в метели 62:Учёный
72: Усмиряющий гром 63:Целитель
73: Ступающий по лаве 71:Заблудший в метели
74: Возлюбленная юная дева 72:Усмиряющий гром
75: Конец гладиатора 73:Ступающий по лаве
76: Изумрудная тень 74:Возлюбленная юная дева
77: Странствующий ансамбль 75:Конец гладиатора
78: Снег и лёд 76:Изумрудная тень
79: Громогласный рёв ярости 77:Странствующий ансамбль
80: Горящая алая ведьма 78:Снег и лёд
81: Церемония древней знати 79:Громогласный рёв ярости
82: Рыцарь крови 80:Горящая алая ведьма
83: Шаман огня 81:Церемония древней знати
84: Prayers for Destiny 82:Рыцарь крови
85: Шаман молний 83:Шаман огня
86: Шаман ветра 84:Prayers for Destiny
87: Шаман льда 85:Шаман молний
88: Архаичный камень 86:Шаман ветра
89: Встречная комета 87:Шаман льда
90: Сердце глубин 88:Архаичный камень
91: Стойкость Миллелита 89:Встречная комета
92: Бледный огонь 90:Сердце глубин
93: Воспоминания Симэнавы 91:Стойкость Миллелита
94: Эмблема рассечённой судьбы 92:Бледный огонь
95: Кокон сладких грёз 93:Воспоминания Симэнавы
96: Моллюск морских красок 94:Эмблема рассечённой судьбы
97: Киноварное загробье 95:Кокон сладких грёз
98: Отголоски подношения 96:Моллюск морских красок
99: Хозяин ветров 97:Киноварное загробье
98:Отголоски подношения
99:Хозяин ветров

View File

@@ -1,52 +1,55 @@
1002: Камисато Аяка 1002:Камисато Аяка
1003: Джинн 1003:Джинн
1005: Итэр 1005:Итэр
1006: Лиза 1006:Лиза
1007: Люмин 1007:Люмин
1014: Барбара 1014:Барбара
1015: Кэйа 1015:Кэйа
1016: Дилюк 1016:Дилюк
1020: Рэйзор 1020:Рэйзор
1021: Эмбер 1021:Эмбер
1022: Венти 1022:Венти
1023: Сян Лин 1023:Сян Лин
1024: Бэй Доу 1024:Бэй Доу
1025: Син Цю 1025:Син Цю
1026: Сяо 1026:Сяо
1027: Нин Гуан 1027:Нин Гуан
1029: Кли 1029:Кли
1030: Чжун Ли 1030:Чжун Ли
1031: Фишль 1031:Фишль
1032: Беннет 1032:Беннет
1033: Тарталья 1033:Тарталья
1034: Ноэлль 1034:Ноэлль
1035: Ци Ци 1035:Ци Ци
1036: Чун Юнь 1036:Чун Юнь
1037: Гань Юй 1037:Гань Юй
1038: Альбедо 1038:Альбедо
1039: Диона 1039:Диона
1041: Мона 1041:Мона
1042: Кэ Цин 1042:Кэ Цин
1043: Сахароза 1043:Сахароза
1044: Синь Янь 1044:Синь Янь
1045: Розария 1045:Розария
1046: Ху Тао 1046:Ху Тао
1047: Каэдэхара Кадзуха 1047:Каэдэхара Кадзуха
1048: Янь Фэй 1048:Янь Фэй
1049: Ёимия 1049:Ёимия
1050: Тома 1050:Тома
1051: Эола 1051:Эола
1052: Райдэн 1052:Райдэн
1053: Саю 1053:Саю
1054: Кокоми 1054:Кокоми
1055: Горо 1055:Горо
1056: Кудзё Сара 1056:Кудзё Сара
1057: Аратаки Итто 1057:Аратаки Итто
1058: Яэ Мико 1058:Яэ Мико
1059: Сиканоин Хэйдзо 1059:Сиканоин Хэйдзо
1060: Е Лань 1060:Е Лань
1062: Элой 1062:Элой
1063: Шэнь Хэ 1063:Шэнь Хэ
1064: Юнь Цзинь 1064:Юнь Цзинь
1065: Куки Синобу 1065:Куки Синобу
1066: Камисато Аято 1066:Камисато Аято
1067:Коллеи
1068:Дори
1069:Тигнари

View File

@@ -8,6 +8,8 @@
/give 102 x1880200 /give 102 x1880200
Уровень мира Уровень мира
/prop wl 8 /prop wl 8
Разгадка карту
/prop unlockmap 1
Разгадка бездны Разгадка бездны
/prop ut 12 /prop ut 12
Уровень Боевой пропуск Уровень Боевой пропуск

View File

@@ -1,36 +1,39 @@
007: Молитва новичка 007:Молитва новичка
008: Жажда странствий 008:Жажда странствий
009: Стихи из винного кубка 009:Стихи из винного кубка
010: Рассветное паломничество 010:Рассветное паломничество
011: Благоволение южного ветра 011:Благоволение южного ветра
012: Истребление всего зла 012:Истребление всего зла
013: Воплощение божества 013:Воплощение божества
015: Сверкающая поступь 015:Сверкающая поступь
016: Молитва новичка 016:Молитва новичка
017: Жажда странствий 017:Жажда странствий
018: Сверкающая поступь 018:Сверкающая поступь
019: Стихи из винного кубка 019:Стихи из винного кубка
020: Воплощение божества 020:Воплощение божества
021: Воплощение божества 021:Воплощение божества
022: Жажда странствий 022:Жажда странствий
023: Зимнее расставание 023:Зимнее расставание
024: Горы и рынки 024:Горы и рынки
027: Таинственные секреты 027:Таинственные секреты
028: Эфемерное недоверие 028:Эфемерное недоверие
031: Приглашение к мирской жизни 031:Приглашение к мирской жизни
032: Танец фонарей 032:Танец фонарей
033: Момент цветения 033:Момент цветения
036: Стихи из винного кубка 036:Стихи из винного кубка
037: Зимнее расставание 037:Зимнее расставание
040: Горы и рынки 040:Горы и рынки
041: Рождённая морской пеной 041:Рождённая морской пеной
045: Листья на ветру 045:Листья на ветру
048: Сад белой цапли 048:Сад белой цапли
049: Гобелен золотого пламени 049:Гобелен золотого пламени
052: Господство безмятежности 052:Господство безмятежности
053: Дрейфующее свечение 053:Дрейфующее свечение
061: Пиршество óни 061:Пиршество óни
065: Возвращение в мир смертных 065:Возвращение в мир смертных
071: Вечноцветущий пурпур 071:Вечноцветущий пурпур
076: Лазурный поход 076:Лазурный поход
081: Белая радуга 081:Белая радуга
091:Tighnari banner (Non original name)
092:Zhongli banner (Non original name)
093:Hunter's Path banner (Non original name)

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -1,151 +1,152 @@
11101: Тупой меч 11101:Тупой меч
11201: Серебряный меч 11201:Серебряный меч
11301: Холодное лезвие 11301:Холодное лезвие
11302: Предвестник зари 11302:Предвестник зари
11303: Меч путешественника 11303:Меч путешественника
11304: Тёмный железный меч 11304:Тёмный железный меч
11305: Филейный нож 11305:Филейный нож
11306: Меч небесного всадника 11306:Меч небесного всадника
11401: Меч Фавония 11401:Меч Фавония
11402: Меч-флейта 11402:Меч-флейта
11403: Церемониальный меч 11403:Церемониальный меч
11404: Меч аристократов 11404:Меч аристократов
11405: Драконий рык 11405:Драконий рык
11406: Прототип: Злоба 11406:Прототип:Злоба
11407: Стальное жало 11407:Стальное жало
11408: Черногорский длинный меч 11408:Черногорский длинный меч
11409: Чёрный меч 11409:Чёрный меч
11410: Вспышка во тьме 11410:Вспышка во тьме
11412: Меч нисхождения 11412:Меч нисхождения
11413: Осквернённое желание 11413:Осквернённое желание
11414: Амэнома Кагэути 11414:Амэнома Кагэути
11415: Киноварное веретено 11415:Киноварное веретено
11416: Кагоцурубэ Иссин 11416:Кагоцурубэ Иссин
11419: Легендарный клинок Иссин 11419:Легендарный клинок Иссин
11420: Легендарный клинок Иссин 11420:Легендарный клинок Иссин
11421: Легендарный клинок Иссин 11421:Легендарный клинок Иссин
11501: Меч Сокола 11501:Меч Сокола
11502: Небесный меч 11502:Небесный меч
11503: Клятва свободы 11503:Клятва свободы
11504: Кромсатель пиков 11504:Кромсатель пиков
11505: Драгоценный омут 11505:Драгоценный омут
11506: Древний Нефритовый Резак 11506:Древний Нефритовый Резак
11507: Одна Сторона 11507:Одна Сторона
11509: Рассекающий туман 11509:Рассекающий туман
11510: Харан гэппаку фуцу 11510:Харан гэппаку фуцу
12101: Двуручный меч богатыря 12101:Двуручный меч богатыря
12201: Лучший друг наёмника 12201:Лучший друг наёмника
12301: Металлическая тень 12301:Металлическая тень
12302: Меч драконьей крови 12302:Меч драконьей крови
12303: Меч из белого железа 12303:Меч из белого железа
12304: Кварц 12304:Кварц
12305: Дубина переговоров 12305:Дубина переговоров
12306: Большой меч небесного всадника 12306:Большой меч небесного всадника
12401: Двуручный меч Фавония 12401:Двуручный меч Фавония
12402: Меч-колокол 12402:Меч-колокол
12403: Церемониальный двуручный меч 12403:Церемониальный двуручный меч
12404: Королевский двуручный меч 12404:Королевский двуручный меч
12405: Дождерез 12405:Дождерез
12406: Прототип: Архаичный 12406:Прототип:Архаичный
12407: Белая тень 12407:Белая тень
12408: Черногорская бритва 12408:Черногорская бритва
12409: Меч драконьей кости 12409:Меч драконьей кости
12410: Каменный меч 12410:Каменный меч
12411: Заснеженное звёздное серебро 12411:Заснеженное звёздное серебро
12412: Благодатный владыка вод 12412:Благодатный владыка вод
12414: Кацурагикири Нагамаса 12414:Кацурагикири Нагамаса
12416: Акуомару 12416:Акуомару
12501: Небесное величие 12501:Небесное величие
12502: Волчья погибель 12502:Волчья погибель
12503: Песнь разбитых сосен 12503:Песнь разбитых сосен
12504: Некованый 12504:Некованый
12505: Древний Нефритовый Двуручный Меч 12505:Древний Нефритовый Двуручный Меч
12506: Другая Сторона 12506:Другая Сторона
12510: Краснорогий камнеруб 12510:Краснорогий камнеруб
13101: Копьё новичка 13101:Копьё новичка
13201: Железный наконечник 13201:Железный наконечник
13301: Белая кисть 13301:Белая кисть
13302: Алебарда Миллелита 13302:Алебарда Миллелита
13303: Чёрная кисть 13303:Чёрная кисть
13304: Флагшток 13304:Флагшток
13401: Гроза драконов 13401:Гроза драконов
13402: Прототип: Звёздный блеск 13402:Прототип:Звёздный блеск
13403: Пика полумесяца 13403:Пика полумесяца
13404: Черногорская пика 13404:Черногорская пика
13405: Смертельный бой 13405:Смертельный бой
13406: Каменное копьё 13406:Каменное копьё
13407: Копьё Фавония 13407:Копьё Фавония
13408: Королевское копьё 13408:Королевское копьё
13409: Копьё Драконьего хребта 13409:Копьё Драконьего хребта
13414: Крест-копьё Китаин 13414:Крест-копьё Китаин
13415: «Улов» 13415:«Улов»
13416: Режущий волны плавник 13416:Режущий волны плавник
13501: Посох Хомы 13501:Посох Хомы
13502: Небесная ось 13502:Небесная ось
13504: Покоритель вихря 13504:Покоритель вихря
13505: Нефритовый коршун 13505:Нефритовый коршун
13506: Богоубийство 13506:Богоубийство
13507: Усмиритель бед 13507:Усмиритель бед
13509: Сияющая жатва 13509:Сияющая жатва
14101: Записи ученика 14101:Записи ученика
14201: Карманный гримуар 14201:Карманный гримуар
14301: Руководство по магии 14301:Руководство по магии
14302: Эпос о драконоборцах 14302:Эпос о драконоборцах
14303: Потусторонняя история 14303:Потусторонняя история
14304: Изумрудный шар 14304:Изумрудный шар
14305: Парный нефрит 14305:Парный нефрит
14306: Янтарная жемчужина 14306:Янтарная жемчужина
14401: Кодекс Фавония 14401:Кодекс Фавония
14402: Песнь странника 14402:Песнь странника
14403: Церемониальные мемуары 14403:Церемониальные мемуары
14404: Королевский гримуар 14404:Королевский гримуар
14405: Солнечная жемчужина 14405:Солнечная жемчужина
14406: Прототип: Янтарь 14406:Прототип:Янтарь
14407: Морской атлас 14407:Морской атлас
14408: Черногорский агат 14408:Черногорский агат
14409: Око сознания 14409:Око сознания
14410: Вино и песни 14410:Вино и песни
14412: Плод вечной мерзлоты 14412:Плод вечной мерзлоты
14413: Истории Додоко 14413:Истории Додоко
14414: Кольцо Хакусин 14414:Кольцо Хакусин
14415: Око клятвы 14415:Око клятвы
14501: Небесный атлас 14501:Небесный атлас
14502: Молитва святым ветрам 14502:Молитва святым ветрам
14503: Утерянная Баллада 14503:Утерянная Баллада
14504: Память о пыли 14504:Память о пыли
14505: Древняя Нефритовая Регалия 14505:Древняя Нефритовая Регалия
14506: Вечное лунное сияние 14506:Вечное лунное сияние
14509: Истина кагура 14509:Истина кагура
15101: Лук охотника 15101:Лук охотника
15201: Лук опытного охотника 15201:Лук опытного охотника
15301: Лук ворона 15301:Лук ворона
15302: Клятва стрелка 15302:Клятва стрелка
15303: Изогнутый лук 15303:Изогнутый лук
15304: Рогатка 15304:Рогатка
15305: Посыльный 15305:Посыльный
15306: Эбеновый лук 15306:Эбеновый лук
15401: Боевой лук Фавония 15401:Боевой лук Фавония
15402: Бесструнный 15402:Бесструнный
15403: Церемониальный лук 15403:Церемониальный лук
15404: Королевский лук 15404:Королевский лук
15405: Ржавый лук 15405:Ржавый лук
15406: Прототип: Полумесяц 15406:Прототип:Полумесяц
15407: Составной лук 15407:Составной лук
15408: Черногорский боевой лук 15408:Черногорский боевой лук
15409: Зелёный лук 15409:Зелёный лук
15410: Охотник во тьме 15410:Охотник во тьме
15411: Гаснущие сумерки 15411:Гаснущие сумерки
15412: Вальс Нирваны Ночи 15412:Вальс Нирваны Ночи
15413: Ода анемонии 15413:Ода анемонии
15414: Хамаюми 15414:Хамаюми
15415: Хищник 15415:Хищник
15416: Луна Моун 15416:Луна Моун
15501: Небесное крыло 15501:Небесное крыло
15502: Лук Амоса 15502:Лук Амоса
15503: Элегия погибели 15503:Элегия погибели
15504: Убийца Драконов Кунву 15504:Убийца Драконов Кунву
15505: Древняя Нефритовая Виста 15505:Древняя Нефритовая Виста
15506: Разбитое зеркало 15506:Разбитое зеркало
15507: Полярная звезда 15507:Полярная звезда
15508: Аква симулякрум 15508:Аква симулякрум
15509: Громовой пульс 15509:Громовой пульс
15511:Охотничья тропа

View File

@@ -1,229 +1,248 @@
28010101: 黄金蟹 28010101:黄金蟹
28010102: 太阳蟹 28010102:太阳蟹
28010103: 海蓝蟹 28010103:海蓝蟹
28010104: 将军蟹 28010104:将军蟹
28010105: 薄红蟹 28010105:薄红蟹
28010106: 螃蟹 28010106:螃蟹
28010201: 蓝角蜥 28010201:蓝角蜥
28010202: 红角蜥 28010202:红角蜥
28010203: 绿角蜥 28010203:绿角蜥
28010204: 落日鳅鳅 28010204:落日鳅鳅
28010205: 金鳅鳅 28010205:金鳅鳅
28010206: 晴天鳅鳅 28010206:晴天鳅鳅
28010207: 嗜髓蜥 28010207:嗜髓蜥
28010301: 青蛙 28010301:青蛙
28010302: 泥蛙 28010302:泥蛙
28010303: 蓝蛙 28010303:蓝蛙
28010401: 藤纹陆鳗鳗 28010401:藤纹陆鳗鳗
28010402: 深海鳗鳗 28010402:深海鳗鳗
28010403: 赤鳍陆鳗鳗 28010403:赤鳍陆鳗鳗
28020101: 雪狐 28020101:雪狐
28020102: 红狐 28020102:红狐
28020103: 送礼雪狐 28020103:送礼雪狐
28020104: 送大礼雪狐 28020104:送大礼雪狐
28020105: 雪狐 28020105:雪狐
28020106: 红狐 28020106:红狐
28020201: 松鼠 28020201:松鼠
28020301: 野林猪 28020301:野林猪
28020302: 小野林猪 28020302:小野林猪
28020303: 雪猪 28020303:雪猪
28020304: 「大雪猪王」 28020304:「大雪猪王」
28020305: 冰冻雪猪 28020305:冰冻雪猪
28020306: 雪猪 28020306:雪猪
28020307: 野林猪 28020307:野林猪
28020308: 冰冻雪猪 28020308:冰冻雪猪
28020309: 「大雪猪王」 28020309:「大雪猪王」
28020401: 北地犬 28020401:北地犬
28020402: 巡林犬 28020402:巡林犬
28020403: 柴犬 28020403:柴犬
28020404: 黑背猎犬 28020404:黑背猎犬
28020405: 柴犬 28020405:柴犬
28020406: 北地犬 28020406:北地犬
28020407: 北地犬 28020407:北地犬
28020408: 巡林犬 28020408:巡林犬
28020409: 柴犬 28020409:柴犬
28020410: 黑背猎犬 28020410:黑背猎犬
28020501: 蓝宝石 28020501:蓝宝石
28020502: 翠目猫 28020502:翠目猫
28020503: 灰雪猫 28020503:灰雪猫
28020504: 北地猫 28020504:北地猫
28020505: 虎纹猫 28020505:虎纹猫
28020506: 警长猫 28020506:警长猫
28020507: 黑猫 28020507:黑猫
28020508: 蓝宝石 28020508:蓝宝石
28020509: 灰雪猫 28020509:灰雪猫
28020510: 翠目猫 28020510:翠目猫
28020511: 灰雪猫 28020511:灰雪猫
28020512: 北地猫 28020512:北地猫
28020513: 虎纹猫 28020513:虎纹猫
28020601: 雪隐鼬 28020601:雪隐鼬
28020602: 红尾鼬 28020602:红尾鼬
28020603: 靴子鼬 28020603:靴子鼬
28020604: 面具鼬 28020604:面具鼬
28020605: 青雷鼬 28020605:青雷鼬
28020701: 28020701:狐
28020702: 28020702:狐
28020801: 妖狸 28020801:妖狸
28020802: 「吉法师」 28020802:「吉法师」
28020803: 妖狸 28020803:妖狸
28020901: 武士狗分身test 28020901:武士狗分身test
28020902: 武士狗bosstest 28020902:武士狗bosstest
28020903: 太郎丸 28020903:太郎丸
28030101: 蓝翎鹭 28030101:蓝翎鹭
28030102: 菫䴉 28030102:菫䴉
28030201: 茶羽鹰 28030201:茶羽鹰
28030202: 棕翎鹰 28030202:棕翎鹰
28030203: 石鸢 28030203:石鸢
28030204: 白练鹰 28030204:白练鹰
28030301: 白鸽 28030301:白鸽
28030302: 璃冠鸽 28030302:璃冠鸽
28030303: 灰羽鸽 28030303:灰羽鸽
28030304: 赤胁鸽 28030304:赤胁鸽
28030305: 黑王鸽 28030305:黑王鸽
28030306: 28030306:鸦
28030307: 白鸽 28030307:白鸽
28030308: 璃冠鸽 28030308:璃冠鸽
28030309: 灰羽鸽 28030309:灰羽鸽
28030310: 赤胁鸽 28030310:赤胁鸽
28030311: 黑王鸽 28030311:黑王鸽
28030401: 赤团雀 28030401:赤团雀
28030402: 金团雀 28030402:金团雀
28030403: 雪团雀 28030403:雪团雀
28030404: 碧团雀 28030404:碧团雀
28030405: 金团雀 28030405:金团雀
28030406: 赤团雀 28030406:赤团雀
28030407: 金团雀 28030407:金团雀
28030408: 雪团雀 28030408:雪团雀
28030409: 碧团雀 28030409:碧团雀
28030501: 赤喙鸭 28030501:赤喙鸭
28030502: 翠冠鸭 28030502:翠冠鸭
28030503: 沉金鸭 28030503:沉金鸭
28030504: 赤喙鸭 28030504:赤喙鸭
28040101: 黑背鲈鱼 28040101:黑背鲈鱼
28040102: 蓝鳍鲈鱼 28040102:蓝鳍鲈鱼
28040103: 黄金鲈鱼 28040103:黄金鲈鱼
28040104: 黑背鲈鱼 28040104:黑背鲈鱼
28040105: 黑背鲈鱼 28040105:黑背鲈鱼
28040106: 蓝鳍鲈鱼 28040106:蓝鳍鲈鱼
28040107: 黄金鲈鱼 28040107:黄金鲈鱼
28040108: 黑背鲈鱼 28040108:黑背鲈鱼
28040201: 花鳉 28040201:花鳉
28040202: 琉璃花鳉 28040202:琉璃花鳉
28040203: 甜甜花鳉 28040203:甜甜花鳉
28040204: 蓝染花鳉 28040204:蓝染花鳉
28040205: 擒霞客 28040205:擒霞客
28040206: 水晶宴 28040206:水晶宴
28040301: 肺棘鱼 28040301:肺棘鱼
28040302: 斗棘鱼 28040302:斗棘鱼
28040303: 鸩棘鱼 28040303:鸩棘鱼
28040304: 赤魔王 28040304:赤魔王
28040305: 雪中君 28040305:雪中君
28040401: 金赤假龙 28040401:金赤假龙
28040402: 锖假龙 28040402:锖假龙
28040501: 流纹褐蝶鱼 28040501:流纹褐蝶鱼
28040502: 流纹京紫蝶鱼 28040502:流纹京紫蝶鱼
28040503: 流纹茶蝶鱼 28040503:流纹茶蝶鱼
28040504: 长生仙 28040504:长生仙
28040505: 雷鸣仙 28040505:雷鸣仙
28040506: 月光鳍 28040506:月光鳍
28040601: 炮鲀 28040601:炮鲀
28040602: 苦炮鲀 28040602:苦炮鲀
28040701: 迪芙妲鳐 28040701:迪芙妲鳐
28040702: 佛玛洛鳐 28040702:佛玛洛鳐
28040703: 幽浮鳐 28040703:幽浮鳐
28050101: 风晶蝶 28050101:风晶蝶
28050102: 岩晶蝶 28050102:岩晶蝶
28050103: 冰晶蝶 28050103:冰晶蝶
28050104: 雷晶蝶 28050104:雷晶蝶
28050105: 珊瑚蝶 28050105:珊瑚蝶
28050201: 新手盗宝鼬 28050201:新手盗宝鼬
28050202: 藏金盗宝鼬 28050202:藏金盗宝鼬
28050203: 大黄金盗宝鼬 28050203:大黄金盗宝鼬
28050204: 新手盗宝鼬 28050204:新手盗宝鼬
28050211: 新手盗宝鼬 28050211:新手盗宝鼬
28050212: 藏金盗宝鼬 28050212:藏金盗宝鼬
28050213: 大黄金盗宝鼬 28050213:大黄金盗宝鼬
28050221: 新手盗宝鼬 28050221:新手盗宝鼬
28050222: 藏金盗宝鼬 28050222:藏金盗宝鼬
28050223: 大黄金盗宝鼬 28050223:大黄金盗宝鼬
28050301: 吉光虫 28050301:吉光虫
28210101: 尘歌壶:黄金蟹 28210101:尘歌壶:黄金蟹
28210102: 尘歌壶:太阳蟹 28210102:尘歌壶:太阳蟹
28210103: 尘歌壶:海蓝蟹 28210103:尘歌壶:海蓝蟹
28210104: 尘歌壶:将军蟹 28210104:尘歌壶:将军蟹
28210105: 尘歌壶:薄红蟹 28210105:尘歌壶:薄红蟹
28210201: 尘歌壶:蓝角蜥 28210201:尘歌壶:蓝角蜥
28210202: 尘歌壶:红角蜥 28210202:尘歌壶:红角蜥
28210203: 尘歌壶:绿角蜥 28210203:尘歌壶:绿角蜥
28210204: 尘歌壶:落日鳅鳅 28210204:尘歌壶:落日鳅鳅
28210205: 尘歌壶:金鳅鳅 28210205:尘歌壶:金鳅鳅
28210206: 尘歌壶:晴天鳅鳅 28210206:尘歌壶:晴天鳅鳅
28210207: 尘歌壶:嗜髓蜥 28210207:尘歌壶:嗜髓蜥
28210301: 尘歌壶:青蛙 28210301:尘歌壶:青蛙
28210302: 尘歌壶:泥蛙 28210302:尘歌壶:泥蛙
28210303: 尘歌壶:蓝蛙 28210303:尘歌壶:蓝蛙
28210401: 尘歌壶:藤纹陆鳗鳗 28210401:尘歌壶:藤纹陆鳗鳗
28210402: 尘歌壶:深海鳗鳗 28210402:尘歌壶:深海鳗鳗
28210403: 尘歌壶:赤鳍陆鳗鳗 28210403:尘歌壶:赤鳍陆鳗鳗
28220101: 尘歌壶:雪狐 28220101:尘歌壶:雪狐
28220102: 尘歌壶:红狐 28220102:尘歌壶:红狐
28220201: 尘歌壶:松鼠 28220201:尘歌壶:松鼠
28220301: 尘歌壶:野林猪 28220301:尘歌壶:野林猪
28220303: 尘歌壶:雪猪 28220303:尘歌壶:雪猪
28220401: 尘歌壶:北地犬 28220401:尘歌壶:北地犬
28220402: 尘歌壶:巡林犬 28220402:尘歌壶:巡林犬
28220403: 尘歌壶:柴犬 28220403:尘歌壶:柴犬
28220404: 尘歌壶:黑背猎犬 28220404:尘歌壶:黑背猎犬
28220501: 尘歌壶:蓝宝石 28220501:尘歌壶:蓝宝石
28220502: 尘歌壶:翠目猫 28220502:尘歌壶:翠目猫
28220503: 尘歌壶:灰雪猫 28220503:尘歌壶:灰雪猫
28220504: 尘歌壶:北地猫 28220504:尘歌壶:北地猫
28220505: 尘歌壶:虎纹猫 28220505:尘歌壶:虎纹猫
28220506: 尘歌壶:警长猫 28220506:尘歌壶:警长猫
28220601: 尘歌壶:雪隐鼬 28220601:尘歌壶:雪隐鼬
28220602: 尘歌壶:红尾鼬 28220602:尘歌壶:红尾鼬
28220603: 尘歌壶:靴子鼬 28220603:尘歌壶:靴子鼬
28220605: 尘歌壶:青雷鼬 28220605:尘歌壶:青雷鼬
28220701: 尘歌壶:狐 28220701:尘歌壶:狐
28220901: 尘歌壶:影狼丸 28220901:尘歌壶:影狼丸
28230101: 尘歌壶:蓝翎鹭 28230101:尘歌壶:蓝翎鹭
28230102: 尘歌壶:菫䴉 28230102:尘歌壶:菫䴉
28230301: 尘歌壶:白鸽 28230301:尘歌壶:白鸽
28230302: 尘歌壶:璃冠鸽 28230302:尘歌壶:璃冠鸽
28230303: 尘歌壶:灰羽鸽 28230303:尘歌壶:灰羽鸽
28230304: 尘歌壶:赤胁鸽 28230304:尘歌壶:赤胁鸽
28230305: 尘歌壶:黑王鸽 28230305:尘歌壶:黑王鸽
28230306: 尘歌壶:鸦 28230306:尘歌壶:鸦
28230401: 尘歌壶:赤团雀 28230401:尘歌壶:赤团雀
28230402: 尘歌壶:金团雀 28230402:尘歌壶:金团雀
28230403: 尘歌壶:雪团雀 28230403:尘歌壶:雪团雀
28230404: 尘歌壶:碧团雀 28230404:尘歌壶:碧团雀
28240201: 尘歌壶:花鳉 28240201:尘歌壶:花鳉
28240202: 尘歌壶:琉璃花鳉 28240202:尘歌壶:琉璃花鳉
28240203: 尘歌壶:甜甜花鳉 28240203:尘歌壶:甜甜花鳉
28240204: 尘歌壶:蓝染花鳉 28240204:尘歌壶:蓝染花鳉
28240205: 尘歌壶:擒霞客 28240205:尘歌壶:擒霞客
28240206: 尘歌壶:水晶宴 28240206:尘歌壶:水晶宴
28240301: 尘歌壶:肺棘鱼 28240301:尘歌壶:肺棘鱼
28240302: 尘歌壶:斗棘鱼 28240302:尘歌壶:斗棘鱼
28240303: 尘歌壶:鸩棘鱼 28240303:尘歌壶:鸩棘鱼
28240304: 尘歌壶:赤魔王 28240304:尘歌壶:赤魔王
28240305: 尘歌壶:雪中君 28240305:尘歌壶:雪中君
28240401: 尘歌壶:金赤假龙 28240401:尘歌壶:金赤假龙
28240402: 尘歌壶:锖假龙 28240402:尘歌壶:锖假龙
28240501: 尘歌壶:流纹褐蝶鱼 28240501:尘歌壶:流纹褐蝶鱼
28240502: 尘歌壶:流纹京紫蝶鱼 28240502:尘歌壶:流纹京紫蝶鱼
28240503: 尘歌壶:流纹茶蝶鱼 28240503:尘歌壶:流纹茶蝶鱼
28240504: 尘歌壶:长生仙 28240504:尘歌壶:长生仙
28240505: 尘歌壶:雷鸣仙 28240505:尘歌壶:雷鸣仙
28240506: 尘歌壶:月光鳍 28240506:尘歌壶:月光鳍
28240601: 尘歌壶:炮鲀 28240601:尘歌壶:炮鲀
28240602: 尘歌壶:苦炮鲀 28240602:尘歌壶:苦炮鲀
28240701: 尘歌壶:迪芙妲鳐 28240701:尘歌壶:迪芙妲鳐
28240702: 尘歌壶:佛玛洛鳐 28240702:尘歌壶:佛玛洛鳐
28250101: 尘歌壶:风晶蝶 28250101:尘歌壶:风晶蝶
28250102: 尘歌壶:岩晶蝶 28250102:尘歌壶:岩晶蝶
28250103: 尘歌壶:冰晶蝶 28250103:尘歌壶:冰晶蝶
28250104: 尘歌壶:雷晶蝶 28250104:尘歌壶:雷晶蝶
28250105: 尘歌壶:珊瑚蝶 28250105:尘歌壶:珊瑚蝶
28250301: 尘歌壶:吉光虫 28250301:尘歌壶:吉光虫
28020313:大蕈猪?
28030313:暝彩鸟
28020314:蕈猪
28060101:棘冠鳄
28060201:长鬓虎
28060601:牦牦驮兽
28040801:真果角鲀
28040802:沉波蜜桃
28040803:吹沙角鲀
28040804:暮云角鲀
28040901:青金斧枪鱼
28040902:翡玉斧枪鱼
28050106:草晶蝶
28010304:丛林树蛙
28010208:赤尾蜥
31010101:友军 打手丘丘人
31020101:友军 木盾丘丘暴徒
31020201:友军 火斧丘丘暴徒
35210101:友军 娜菈

File diff suppressed because it is too large Load Diff

View File

@@ -1,42 +1,44 @@
51: 行者之心 20:深林的记忆
52: 勇士之心 21:饰金之梦
53: 守护之心 51:行者之心
54: 奇迹 52:勇士之心
55: 战狂 53:守护之心
56: 武人 54:奇迹
57: 教官 55:战狂
58: 赌徒 56:武人
59: 流放者 57:教官
60: 冒险家 58:赌徒
61: 幸运儿 59:流放者
62: 学士 60:冒险家
63: 游医 61:幸运儿
71: 冰风迷途的勇 62:学
72: 平息鸣雷的尊者 63:游医
73: 渡过烈火的贤人 71:冰风迷途的勇士
74: 被怜爱的少女 72:平息鸣雷的尊者
75: 角斗士的终幕礼 73:渡过烈火的贤人
76: 翠绿之影 74:被怜爱的少女
77: 流浪大地的乐团 75:角斗士的终幕礼
78: 冰之川与雪之砂 76:翠绿之影
79: 如雷的盛怒 77:流浪大地的乐团
80: 炽烈的炎之魔女 78:冰之川与雪之砂
81: 昔日宗室之仪 79:如雷的盛怒
82: 染血的骑士道 80:炽烈的炎之魔女
83: 祭火之人 81:昔日宗室之仪
84: 祭水之人 82:染血的骑士道
85: 祭雷之人 83:祭火之人
86: 祭风之人 84:祭水之人
87: 祭冰之人 85:祭雷之人
88: 悠古的磐岩 86:祭风之人
89: 逆飞的流星 87:祭冰之人
90: 沉沦之心 88:悠古的磐岩
91: 千岩牢固 89:逆飞的流星
92: 苍白之火 90:沉沦之心
93: 追忆之注连 91:千岩牢固
94: 绝缘之旗印 92:苍白之火
95: 华馆梦醒形骸记 93:追忆之注连
96: 海染砗磲 94:绝缘之旗印
97: 辰砂往生录 95:华馆梦醒形骸记
98: 来歆余响 96:海染砗磲
99: 高天的风之主 97:辰砂往生录
98:来歆余响
99:高天的风之主

View File

@@ -1,52 +1,55 @@
1002: 神里绫华 1002:神里绫华
1003: 1003:琴
1005: 1005:空
1006: 丽莎 1006:丽莎
1007: 1007:荧
1014: 芭芭拉 1014:芭芭拉
1015: 凯亚 1015:凯亚
1016: 迪卢克 1016:迪卢克
1020: 雷泽 1020:雷泽
1021: 安柏 1021:安柏
1022: 温迪 1022:温迪
1023: 香菱 1023:香菱
1024: 北斗 1024:北斗
1025: 行秋 1025:行秋
1026: 1026:魈
1027: 凝光 1027:凝光
1029: 可莉 1029:可莉
1030: 钟离 1030:钟离
1031: 菲谢尔 1031:菲谢尔
1032: 班尼特 1032:班尼特
1033: 达达利亚 1033:达达利亚
1034: 诺艾尔 1034:诺艾尔
1035: 七七 1035:七七
1036: 重云 1036:重云
1037: 甘雨 1037:甘雨
1038: 阿贝多 1038:阿贝多
1039: 迪奥娜 1039:迪奥娜
1041: 莫娜 1041:莫娜
1042: 刻晴 1042:刻晴
1043: 砂糖 1043:砂糖
1044: 辛焱 1044:辛焱
1045: 罗莎莉亚 1045:罗莎莉亚
1046: 胡桃 1046:胡桃
1047: 枫原万叶 1047:枫原万叶
1048: 烟绯 1048:烟绯
1049: 宵宫 1049:宵宫
1050: 托马 1050:托马
1051: 优菈 1051:优菈
1052: 雷电将军 1052:雷电将军
1053: 早柚 1053:早柚
1054: 珊瑚宫心海 1054:珊瑚宫心海
1055: 五郎 1055:五郎
1056: 九条裟罗 1056:九条裟罗
1057: 荒泷一斗 1057:荒泷一斗
1058: 八重神子 1058:八重神子
1059: 鹿野院平藏 1059:鹿野院平藏
1060: 夜兰 1060:夜兰
1062: 埃洛伊 1062:埃洛伊
1063: 申鹤 1063:申鹤
1064: 云堇 1064:云堇
1065: 久岐忍 1065:久岐忍
1066: 神里绫人 1066:神里绫人
1067:柯莱
1068:多莉
1069:提纳里

View File

@@ -8,6 +8,8 @@
/give 102 x1880200 /give 102 x1880200
设置世界等级 设置世界等级
/prop wl 8 /prop wl 8
点亮地图
/prop unlockmap 1
一键解锁深渊 一键解锁深渊
/prop ut 12 /prop ut 12
设置纪行等级 设置纪行等级

View File

@@ -1,36 +1,39 @@
007: 初行者推荐祈愿 007:初行者推荐祈愿
008: 奔行世间 008:奔行世间
009: 杯装之诗 009:杯装之诗
010: 黎明巡礼 010:黎明巡礼
011: 南风之眷 011:南风之眷
012: 靖妖傩舞 012:靖妖傩舞
013: 神铸赋形 013:神铸赋形
015: 闪焰的驻足 015:闪焰的驻足
016: 初行者推荐祈愿 016:初行者推荐祈愿
017: 奔行世间 017:奔行世间
018: 闪焰的驻足 018:闪焰的驻足
019: 杯装之诗 019:杯装之诗
020: 神铸赋形 020:神铸赋形
021: 神铸赋形 021:神铸赋形
022: 奔行世间 022:奔行世间
023: 暂别冬都 023:暂别冬都
024: 陵薮市朝 024:陵薮市朝
027: 深秘之息 027:深秘之息
028: 浮生孰来 028:浮生孰来
031: 烟火之邀 031:烟火之邀
032: 鱼龙灯昼 032:鱼龙灯昼
033: 赤团开时 033:赤团开时
036: 杯装之诗 036:杯装之诗
037: 暂别冬都 037:暂别冬都
040: 陵薮市朝 040:陵薮市朝
041: 浪涌之瞬 041:浪涌之瞬
045: 叶落风随 045:叶落风随
048: 白鹭之庭 048:白鹭之庭
049: 焰色天河 049:焰色天河
052: 影寂天下人 052:影寂天下人
053: 浮岳虹珠 053:浮岳虹珠
061: 鬼门斗宴 061:鬼门斗宴
065: 出尘入世 065:出尘入世
071: 华紫樱绯 071:华紫樱绯
076: 苍流踏花 076:苍流踏花
081: 素霓伣天 081:素霓伣天
091:提纳里池(非原名)
092:钟离池(非原名)
093:猎人之径池(非原名)

File diff suppressed because it is too large Load Diff

View File

@@ -1,340 +1,362 @@
20010101: 草史莱姆 20010101:草史莱姆
20010201: 大型草史莱姆 20010201:大型草史莱姆
20010202: 大型草史莱姆 20010202:大型草史莱姆
20010301: 风史莱姆 20010301:风史莱姆
20010302: 风史莱姆 20010302:风史莱姆
20010401: 大型风史莱姆 20010401:大型风史莱姆
20010402: 大型风史莱姆 20010402:大型风史莱姆
20010403: 大型风史莱姆 20010403:大型风史莱姆
20010501: 雷史莱姆 20010501:雷史莱姆
20010502: 雷史莱姆 20010502:雷史莱姆
20010601: 大型雷史莱姆 20010601:大型雷史莱姆
20010602: 大型雷史莱姆 20010602:大型雷史莱姆
20010604: 大型雷史莱姆 20010604:大型雷史莱姆
20010701: 变异雷史莱姆 20010701:变异雷史莱姆
20010702: 变异雷史莱姆 20010702:变异雷史莱姆
20010703: 变异雷史莱姆 20010703:变异雷史莱姆
20010801: 冰史莱姆 20010801:冰史莱姆
20010802: 冰史莱姆 20010802:冰史莱姆
20010803: 冰史莱姆 20010803:冰史莱姆
20010901: 大型冰史莱姆 20010901:大型冰史莱姆
20010902: 大型冰史莱姆 20010902:大型冰史莱姆
20010903: 大型冰史莱姆 20010903:大型冰史莱姆
20010904: 大型冰史莱姆 20010904:大型冰史莱姆
20011001: 水史莱姆 20011001:水史莱姆
20011002: 水史莱姆 20011002:水史莱姆
20011101: 大型水史莱姆 20011101:大型水史莱姆
20011102: 大型水史莱姆 20011102:大型水史莱姆
20011103: 大型水史莱姆 20011103:大型水史莱姆
20011201: 火史莱姆 20011201:火史莱姆
20011202: 火史莱姆 20011202:火史莱姆
20011203: 火史莱姆 20011203:火史莱姆
20011301: 大型火史莱姆 20011301:大型火史莱姆
20011302: 大型火史莱姆 20011302:大型火史莱姆
20011304: 大型火史莱姆 20011304:大型火史莱姆
20011401: 岩史莱姆 20011401:岩史莱姆
20011402: 岩史莱姆 20011402:岩史莱姆
20011501: 大型岩史莱姆 20011501:大型岩史莱姆
20011502: 大型岩史莱姆 20011502:大型岩史莱姆
20011503: 大型岩史莱姆 20011503:大型岩史莱姆
20011601: 无相之水-召唤物-大分裂 20011601:无相之水-召唤物-大分裂
20011701: 无相之水-召唤物-小分裂 20011701:无相之水-召唤物-小分裂
20011801: 无相之水-召唤物-自爆 20011801:无相之水-召唤物-自爆
20011901: 无相之水-召唤物-回血 20011901:无相之水-召唤物-回血
20020101: 狂风之核 20020101:狂风之核
20040101: 无相之雷 20040101:无相之雷
20040102: 无相之雷 20040102:无相之雷
20040201: 无相之风 20040201:无相之风
20040202: 无相之风 20040202:无相之风
20040301: 无相之岩 20040301:无相之岩
20040302: 无相之岩 20040302:无相之岩
20040401: 无相之水 20040401:无相之水
20040501: 无相之冰 20040501:无相之冰
20040601: 无相之火 20040601:无相之火
20050101: 纯水精灵 20050101:纯水精灵
20050102: 纯水精灵 20050102:纯水精灵
20050201: 纯水之猪 20050201:纯水之猪
20050202: 纯水之猪 20050202:纯水之猪
20050203: 纯水之猪 20050203:纯水之猪
20050301: 纯水之鹤 20050301:纯水之鹤
20050302: 纯水之鹤 20050302:纯水之鹤
20050401: 纯水之蟹 20050401:纯水之蟹
20050402: 纯水之蟹 20050402:纯水之蟹
20050403: 纯水之蟹 20050403:纯水之蟹
20050501: 纯水之雀 20050501:纯水之雀
20050502: 纯水之雀 20050502:纯水之雀
20050601: 纯水之鸭 20050601:纯水之鸭
20050602: 纯水之鸭 20050602:纯水之鸭
20050603: 纯水之鸭 20050603:纯水之鸭
20050701: 纯水之鼠 20050701:纯水之鼠
20050702: 纯水之鼠 20050702:纯水之鼠
20050703: 纯水之鼠 20050703:纯水之鼠
20050801: 纯水之蛙 20050801:纯水之蛙
20050802: 纯水之蛙 20050802:纯水之蛙
20050901: 纯水之鹰 20050901:纯水之鹰
20060101: 水飘浮灵 20060101:水飘浮灵
20060201: 岩飘浮灵 20060201:岩飘浮灵
20060301: 风飘浮灵 20060301:风飘浮灵
20060401: 冰飘浮灵 20060401:冰飘浮灵
20060501: 雷飘浮灵 20060501:雷飘浮灵
20060601: 火飘浮灵 20060601:火飘浮灵
20070101: 雷音权现 20070101:雷音权现
21010101: 丘丘人 21010101:丘丘人
21010102: 丘丘人 21010102:丘丘人
21010201: 打手丘丘人 21010201:打手丘丘人
21010301: 木盾丘丘人 21010301:木盾丘丘人
21010302: 木盾丘丘人 21010302:木盾丘丘人
21010401: 射手丘丘人 21010401:射手丘丘人
21010402: 射手丘丘人 21010402:射手丘丘人
21010501: 火箭丘丘人 21010501:火箭丘丘人
21010502: 火箭丘丘人 21010502:火箭丘丘人
21010601: 爆弹丘丘人 21010601:爆弹丘丘人
21010603: 爆弹丘丘人 21010603:爆弹丘丘人
21010701: 冲锋丘丘人 21010701:冲锋丘丘人
21010702: 冲锋丘丘人 21010702:冲锋丘丘人
21010901: 冰箭丘丘人 21010901:冰箭丘丘人
21010902: 冰箭丘丘人 21010902:冰箭丘丘人
21011001: 雷箭丘丘人 21011001:雷箭丘丘人
21011002: 雷箭丘丘人 21011002:雷箭丘丘人
21011201: 岩盾丘丘人 21011201:岩盾丘丘人
21011202: 岩盾丘丘人 21011202:岩盾丘丘人
21011301: 冰弹丘丘人 21011301:冰弹丘丘人
21011302: 冰弹丘丘人 21011302:冰弹丘丘人
21011401: 冰盾丘丘人 21011401:冰盾丘丘人
21011402: 冰盾丘丘人 21011402:冰盾丘丘人
21011403: 冰盾丘丘人 21011403:冰盾丘丘人
21011501: 奇怪的丘丘人 21011501:奇怪的丘丘人
21011601: 雷弹丘丘人 21011601:雷弹丘丘人
21011602: 雷弹丘丘人 21011602:雷弹丘丘人
21020101: 木盾丘丘暴徒 21020101:木盾丘丘暴徒
21020102: 木盾丘丘暴徒 21020102:木盾丘丘暴徒
21020201: 火斧丘丘暴徒 21020201:火斧丘丘暴徒
21020202: 火斧丘丘暴徒 21020202:火斧丘丘暴徒
21020203: 火斧丘丘暴徒 21020203:火斧丘丘暴徒
21020301: 岩盾丘丘暴徒 21020301:岩盾丘丘暴徒
21020302: 岩盾丘丘暴徒 21020302:岩盾丘丘暴徒
21020401: 丘丘霜铠王 21020401:丘丘霜铠王
21020402: 丘丘霜铠王 21020402:丘丘霜铠王
21020501: 丘丘岩盔王 21020501:丘丘岩盔王
21020502: 丘丘岩盔王 21020502:丘丘岩盔王
21020601: 冰盾丘丘暴徒 21020601:冰盾丘丘暴徒
21020602: 冰盾丘丘暴徒 21020602:冰盾丘丘暴徒
21020701: 雷斧丘丘暴徒 21020701:雷斧丘丘暴徒
21020702: 雷斧丘丘暴徒 21020702:雷斧丘丘暴徒
21020703: 雷斧丘丘暴徒 21020703:雷斧丘丘暴徒
21020801: 丘丘雷兜王 21020801:丘丘雷兜王
21020802: 丘丘雷兜王 21020802:丘丘雷兜王
21030101: 水丘丘萨满 21030101:水丘丘萨满
21030102: 水丘丘萨满 21030102:水丘丘萨满
21030103: 水丘丘萨满 21030103:水丘丘萨满
21030201: 草丘丘萨满 21030201:草丘丘萨满
21030202: 草丘丘萨满 21030202:草丘丘萨满
21030203: 草丘丘萨满 21030203:草丘丘萨满
21030301: 风丘丘萨满 21030301:风丘丘萨满
21030302: 风丘丘萨满 21030302:风丘丘萨满
21030303: 风丘丘萨满 21030303:风丘丘萨满
21030304: 风丘丘萨满 21030304:风丘丘萨满
21030401: 岩丘丘萨满 21030401:岩丘丘萨满
21030402: 岩丘丘萨满 21030402:岩丘丘萨满
21030403: 岩丘丘萨满 21030403:岩丘丘萨满
21030501: 冰丘丘萨满 21030501:冰丘丘萨满
21030502: 冰丘丘萨满 21030502:冰丘丘萨满
21030601: 雷丘丘萨满 21030601:雷丘丘萨满
21030602: 雷丘丘萨满 21030602:雷丘丘萨满
21030603: 雷丘丘萨满 21030603:雷丘丘萨满
22010101: 火深渊法师 22010101:火深渊法师
22010102: 火深渊法师 22010102:火深渊法师
22010103: 火深渊法师 22010103:火深渊法师
22010104: 火深渊法师 22010104:火深渊法师
22010105: 火深渊法师 22010105:火深渊法师
22010201: 冰深渊法师 22010201:冰深渊法师
22010202: 冰深渊法师 22010202:冰深渊法师
22010203: 冰深渊法师 22010203:冰深渊法师
22010204: 冰深渊法师 22010204:冰深渊法师
22010205: 冰深渊法师 22010205:冰深渊法师
22010301: 水深渊法师 22010301:水深渊法师
22010302: 水深渊法师 22010302:水深渊法师
22010303: 水深渊法师 22010303:水深渊法师
22010304: 水深渊法师 22010304:水深渊法师
22010305: 水深渊法师 22010305:水深渊法师
22010401: 雷深渊法师 22010401:雷深渊法师
22010402: 雷深渊法师 22010402:雷深渊法师
22010403: 雷深渊法师 22010403:雷深渊法师
22010404: 雷深渊法师 22010404:雷深渊法师
22020101: 深渊使徒·激流 22020101:深渊使徒·激流
22020102: 深渊使徒·激流 22020102:深渊使徒·激流
22030101: 深渊咏者·紫电 22030101:深渊咏者·紫电
22030102: 深渊咏者·紫电 22030102:深渊咏者·紫电
22030201: 深渊咏者·渊火 22030201:深渊咏者·渊火
22030202: 深渊咏者·渊火 22030202:深渊咏者·渊火
22040101: 嗜岩·兽境幼兽 22040101:嗜岩·兽境幼兽
22040201: 嗜雷·兽境幼兽 22040201:嗜雷·兽境幼兽
22050101: 嗜岩·兽境猎犬 22050101:嗜岩·兽境猎犬
22050201: 嗜雷·兽境猎犬 22050201:嗜雷·兽境猎犬
22060101: 黄金王兽 22060101:黄金王兽
22070101: 黯色空壳·旗令 22070101:黯色空壳·旗令
22070102: 黯色空壳·旗令 22070102:黯色空壳·旗令
22070201: 黯色空壳·破阵 22070201:黯色空壳·破阵
22070202: 黯色空壳·破阵 22070202:黯色空壳·破阵
22070301: 黯色空壳·近卫 22070301:黯色空壳·近卫
22070302: 黯色空壳·近卫 22070302:黯色空壳·近卫
22080101: 黑蛇骑士·斩风之剑 22080101:黑蛇骑士·斩风之剑
22090101: 你猜你猜你猜猜猜 22090101:你猜你猜你猜猜猜
23010101: 愚人众先遣队·冰铳重卫士 23010101:愚人众先遣队·冰铳重卫士
23010201: 愚人众先遣队·水铳重卫士 23010201:愚人众先遣队·水铳重卫士
23010301: 愚人众先遣队·雷锤前锋军 23010301:愚人众先遣队·雷锤前锋军
23010401: 愚人众先遣队·岩使游击兵 23010401:愚人众先遣队·岩使游击兵
23010501: 愚人众先遣队·风拳前锋军 23010501:愚人众先遣队·风拳前锋军
23010601: 愚人众先遣队·火铳游击兵 23010601:愚人众先遣队·火铳游击兵
23020101: 愚人众·火之债务处理人 23020101:愚人众·火之债务处理人
23020102: 愚人众·火之债务处理人 23020102:愚人众·火之债务处理人
23030101: 愚人众·雷萤术士 23030101:愚人众·雷萤术士
23030102: 愚人众·雷萤术士 23030102:愚人众·雷萤术士
23040101: 愚人众·冰萤术士 23040101:愚人众·冰萤术士
23040102: 愚人众·冰萤术士 23040102:愚人众·冰萤术士
23050101: 愚人众·藏镜仕女 23050101:愚人众·藏镜仕女
24010101: 遗迹守卫 24010101:遗迹守卫
24010102: 遗迹守卫 24010102:遗迹守卫
24010108: 遗迹守卫 24010108:遗迹守卫
24010109: 遗迹守卫 24010109:遗迹守卫
24010201: 遗迹猎者 24010201:遗迹猎者
24010202: 遗迹猎者 24010202:遗迹猎者
24010301: 遗迹重机 24010301:遗迹重机
24010302: 遗迹重机 24010302:遗迹重机
24010303: 遗迹重机 24010303:遗迹重机
24010401: 遗迹巨蛇 24010401:遗迹巨蛇
24020101: 遗迹巡弋者 24020101:遗迹巡弋者
24020102: 遗迹巡弋者 24020102:遗迹巡弋者
24020103: 遗迹巡弋者 24020103:遗迹巡弋者
24020201: 遗迹歼击者 24020201:遗迹歼击者
24020202: 遗迹歼击者 24020202:遗迹歼击者
24020203: 遗迹歼击者 24020203:遗迹歼击者
24020301: 遗迹防卫者 24020301:遗迹防卫者
24020302: 遗迹防卫者 24020302:遗迹防卫者
24020303: 遗迹防卫者 24020303:遗迹防卫者
24020401: 遗迹侦察者 24020401:遗迹侦察者
24020402: 遗迹侦察者 24020402:遗迹侦察者
24020403: 遗迹侦察者 24020403:遗迹侦察者
24021101: 恒常机关阵列 24021101:恒常机关阵列
24021102: 恒常机关阵列 24021102:恒常机关阵列
25010101: 「溜溜」 25010101:「溜溜」
25010102: 神秘人 25010102:神秘人
25010103: 盗宝团·「溜溜」 25010103:盗宝团·「溜溜」
25010104: 盗宝团·「溜溜」 25010104:盗宝团·「溜溜」
25010105: 盗宝团·「溜溜」 25010105:盗宝团·「溜溜」
25010106: 盗宝团·「溜溜」 25010106:盗宝团·「溜溜」
25010201: 盗宝团·斥候 25010201:盗宝团·斥候
25010203: 盗宝团·斥候 25010203:盗宝团·斥候
25010204: 盗宝团·斥候 25010204:盗宝团·斥候
25010205: 盗宝团·斥候 25010205:盗宝团·斥候
25010206: 盗宝团·斥候 25010206:盗宝团·斥候
25010207: 盗宝团·斥候 25010207:盗宝团·斥候
25010208: 盗宝团·斥候 25010208:盗宝团·斥候
25010301: 盗宝团·火之药剂师 25010301:盗宝团·火之药剂师
25010302: 盗宝团·火之药剂师 25010302:盗宝团·火之药剂师
25010401: 盗宝团·水之药剂师 25010401:盗宝团·水之药剂师
25010501: 盗宝团·雷之药剂师 25010501:盗宝团·雷之药剂师
25010601: 盗宝团·冰之药剂师 25010601:盗宝团·冰之药剂师
25010701: 盗宝团·杂工 25010701:盗宝团·杂工
25020101: 盗宝团·「怪鸟」 25020101:盗宝团·「怪鸟」
25020102: 盗宝团·「怪鸟」 25020102:盗宝团·「怪鸟」
25020201: 盗宝团·神射手 25020201:盗宝团·神射手
25020204: 盗宝团·神射手 25020204:盗宝团·神射手
25030101: 盗宝团·「卡门」 25030101:盗宝团·「卡门」
25030102: 盗宝团·「卡门」 25030102:盗宝团·「卡门」
25030103: 盗宝团·「卡门」 25030103:盗宝团·「卡门」
25030201: 盗宝团·掘墓者 25030201:盗宝团·掘墓者
25030301: 盗宝团·海上男儿 25030301:盗宝团·海上男儿
25040101: 盗宝团·「大姐头」 25040101:盗宝团·「大姐头」
25040102: 盗宝团·「大姐头」 25040102:盗宝团·「大姐头」
25040103: 盗宝团·「大姐头」 25040103:盗宝团·「大姐头」
25050101: 千岩军士兵 25050101:千岩军士兵
25050201: 千岩军教头 25050201:千岩军教头
25050301: 幕府足轻 25050301:幕府足轻
25050401: 幕府足轻头 25050401:幕府足轻头
25050402: 幕府足轻头 25050402:幕府足轻头
25050501: 珊瑚宫众 25050501:珊瑚宫众
25050502: 珊瑚宫众 25050502:珊瑚宫众
25060101: 盗宝团·拳术家 25060101:盗宝团·拳术家
25060102: 盗宝团·拳术家 25060102:盗宝团·拳术家
25070101: 盗宝团·粉碎者 25070101:盗宝团·粉碎者
25070201: 盗宝团·「瓦伦斯坦」 25070201:盗宝团·「瓦伦斯坦」
25070202: 盗宝团·「瓦伦斯坦」 25070202:盗宝团·「瓦伦斯坦」
25080101: 野伏·阵刀番 25080101:野伏·阵刀番
25080201: 野伏·火付番 25080201:野伏·火付番
25080202: 野伏·火付番 25080202:野伏·火付番
25080301: 野伏·机巧番 25080301:野伏·机巧番
25080401: 寄骑武士 25080401:寄骑武士
25080402: 寄骑武士 25080402:寄骑武士
25090101: 魔偶剑鬼 25090101:魔偶剑鬼
25090102: 魔偶剑鬼(风分身) 25090102:魔偶剑鬼(风分身)
25090103: 魔偶剑鬼(冰分身) 25090103:魔偶剑鬼(冰分身)
25090104: 魔偶剑鬼(面具分身) 25090104:魔偶剑鬼(面具分身)
25090201: 魔偶剑鬼·孤风 25090201:魔偶剑鬼·孤风
25090301: 魔偶剑鬼·霜驰 25090301:魔偶剑鬼·霜驰
25090401: 魔偶剑鬼·凶面 25090401:魔偶剑鬼·凶面
25100101: 海乱鬼·雷腾 25100101:海乱鬼·雷腾
25100102: 海乱鬼·雷腾 25100102:海乱鬼·雷腾
25100201: 海乱鬼·炎威 25100201:海乱鬼·炎威
25100301: 落武者·咒雷 25100301:落武者·咒雷
25100302: 落武者·咒雷 25100302:落武者·咒雷
25100401: 落武者·祟炎 25100401:落武者·祟炎
26010101: 冰霜骗骗花 26010101:冰霜骗骗花
26010102: 冰霜骗骗花 26010102:冰霜骗骗花
26010103: 冰霜骗骗花 26010103:冰霜骗骗花
26010104: 冰霜骗骗花 26010104:冰霜骗骗花
26010201: 炽热骗骗花 26010201:炽热骗骗花
26010301: 电气骗骗花 26010301:电气骗骗花
26020101: 急冻树 26020101:急冻树
26020102: 急冻树 26020102:急冻树
26020201: 爆炎树 26020201:爆炎树
26030101: 幼岩龙蜥 26030101:幼岩龙蜥
26040101: 岩龙蜥(水) 26040101:岩龙蜥(水)
26040102: 岩龙蜥(火) 26040102:岩龙蜥(火)
26040103: 岩龙蜥(冰) 26040103:岩龙蜥(冰)
26040104: 岩龙蜥(雷) 26040104:岩龙蜥(雷)
26040105: 岩龙蜥 26040105:岩龙蜥
26050101: 古岩龙蜥(水) 26050101:古岩龙蜥(水)
26050201: 古岩龙蜥(火) 26050201:古岩龙蜥(火)
26050301: 古岩龙蜥(冰) 26050301:古岩龙蜥(冰)
26050401: 古岩龙蜥(雷) 26050401:古岩龙蜥(雷)
26050501: 古岩龙蜥 26050501:古岩龙蜥
26050601: 深海龙蜥·原种 26050601:深海龙蜥·原种
26050701: 深海龙蜥·啮冰 26050701:深海龙蜥·啮冰
26050702: 深海龙蜥·啮冰 26050702:深海龙蜥·啮冰
26050801: 深海龙蜥·吞雷 26050801:深海龙蜥·吞雷
26050802: 深海龙蜥·吞雷 26050802:深海龙蜥·吞雷
26050901: 深海龙蜥幼体·原种 26050901:深海龙蜥幼体·原种
26051001: 深海龙蜥幼体·啮冰 26051001:深海龙蜥幼体·啮冰
26051101: 深海龙蜥幼体·吞雷 26051101:深海龙蜥幼体·吞雷
26060101: 雷萤 26060101:雷萤
26060201: 水萤 26060201:水萤
26060301: 冰萤 26060301:冰萤
26080101: 跋掣 26080101:跋掣
26090101: 浮游水蕈兽 26090101:浮游水蕈兽
29010101: 裂空的魔龙 29010101:裂空的魔龙
29010102: 裂空的魔龙 29010102:裂空的魔龙
29010103: 裂空的魔龙 29010103:裂空的魔龙
29010104: 裂空的魔龙 29010104:裂空的魔龙
29020101: 北风的王狼 玻瑞亚斯 29020101:北风的王狼 玻瑞亚斯
29020102: 北风的王狼,奔狼的领主 29020102:北风的王狼,奔狼的领主
29030101: 「公子」愚人众执行官末席 29030101:「公子」愚人众执行官末席
29030102: 「公子」邪眼解放 29030102:「公子」邪眼解放
29030103: 「公子」 29030103:「公子」
29030104: 「公子」愚人众执行官末席 29030104:「公子」愚人众执行官末席
29030105: 「公子」邪眼解放 29030105:「公子」邪眼解放
29030106: 「公子」 29030106:「公子」
29040101: 若陀龙王(火雷) 29040101:若陀龙王(火雷)
29040102: 若陀龙王(水雷) 29040102:若陀龙王(水雷)
29040103: 若陀龙王(火冰) 29040103:若陀龙王(火冰)
29040104: 若陀龙王(水冰) 29040104:若陀龙王(水冰)
29040111: 若陀龙王 29040111:若陀龙王
29050101: 「女士」 29050101:「女士」
29050102: 「女士」焚尽的炽炎魔女 29050102:「女士」焚尽的炽炎魔女
29050103: 「女士」 29050103:「女士」
29050104: 「女士」焚尽的炽炎魔女 29050104:「女士」焚尽的炽炎魔女
29060101: 雷电将军 29060101:雷电将军
29060102: 雷电影 29060102:雷电影
29060201: 祸津御建鸣神命 29060201:祸津御建鸣神命
29060202: 祸津御建鸣神命 29060202:祸津御建鸣神命
29060203: 祸津御建鸣神命 29060203:祸津御建鸣神命
20060701:草飘浮灵
24030201:遗迹龙兽·地巡
24030101:遗迹龙兽·空巡
25210101:镀金旅团·阵前斧手
25210201:镀金旅团·机弩兵
25210301:镀金旅团·鸦喙戟手
25210401:镀金旅团·破阵者
25210501:镀金旅团·刀舞者
25310101:镀金旅团·沙中净水
25310201:镀金旅团·炽阳凝冰
25310301:镀金旅团·白日鸣雷
26020301:掣电树
26090201:浮游草蕈兽
26090201:旋转雷蕈兽
26090401:旋转冰蕈兽
26090501:伸缩火蕈兽
26090701:伸缩风蕈兽
26090801:伸缩岩蕈兽
26090901:陆行水本真蕈
26120101:有翼草本真蕈
26120201:有翼冰本真蕈
26110101:翠翎恐蕈

File diff suppressed because it is too large Load Diff

View File

@@ -1,151 +1,152 @@
11101: 无锋剑 11101:无锋剑
11201: 银剑 11201:银剑
11301: 冷刃 11301:冷刃
11302: 黎明神剑 11302:黎明神剑
11303: 旅行剑 11303:旅行剑
11304: 暗铁剑 11304:暗铁剑
11305: 吃虎鱼刀 11305:吃虎鱼刀
11306: 飞天御剑 11306:飞天御剑
11401: 西风剑 11401:西风剑
11402: 笛剑 11402:笛剑
11403: 祭礼剑 11403:祭礼剑
11404: 宗室长剑 11404:宗室长剑
11405: 匣里龙吟 11405:匣里龙吟
11406: 试作斩岩 11406:试作斩岩
11407: 铁蜂刺 11407:铁蜂刺
11408: 黑岩长剑 11408:黑岩长剑
11409: 黑剑 11409:黑剑
11410: 暗巷闪光 11410:暗巷闪光
11412: 降临之剑 11412:降临之剑
11413: 腐殖之剑 11413:腐殖之剑
11414: 天目影打刀 11414:天目影打刀
11415: 辰砂之纺锤 11415:辰砂之纺锤
11416: 笼钓瓶一心 11416:笼钓瓶一心
11419: 「一心传」名刀 11419:「一心传」名刀
11420: 「一心传」名刀 11420:「一心传」名刀
11421: 「一心传」名刀 11421:「一心传」名刀
11501: 风鹰剑 11501:风鹰剑
11502: 天空之刃 11502:天空之刃
11503: 苍古自由之誓 11503:苍古自由之誓
11504: 斫峰之刃 11504:斫峰之刃
11505: 磐岩结绿 11505:磐岩结绿
11506: 磐岩结绿 11506:磐岩结绿
11507: 凭虚 11507:凭虚
11509: 雾切之回光 11509:雾切之回光
11510: 波乱月白经津 11510:波乱月白经津
12101: 训练大剑 12101:训练大剑
12201: 佣兵重剑 12201:佣兵重剑
12301: 铁影阔剑 12301:铁影阔剑
12302: 沐浴龙血的剑 12302:沐浴龙血的剑
12303: 白铁大剑 12303:白铁大剑
12304: 石英大剑 12304:石英大剑
12305: 以理服人 12305:以理服人
12306: 飞天大御剑 12306:飞天大御剑
12401: 西风大剑 12401:西风大剑
12402: 钟剑 12402:钟剑
12403: 祭礼大剑 12403:祭礼大剑
12404: 宗室大剑 12404:宗室大剑
12405: 雨裁 12405:雨裁
12406: 试作古华 12406:试作古华
12407: 白影剑 12407:白影剑
12408: 黑岩斩刀 12408:黑岩斩刀
12409: 螭骨剑 12409:螭骨剑
12410: 千岩古剑 12410:千岩古剑
12411: 雪葬的星银 12411:雪葬的星银
12412: 衔珠海皇 12412:衔珠海皇
12414: 桂木斩长正 12414:桂木斩长正
12416: 恶王丸 12416:恶王丸
12501: 天空之傲 12501:天空之傲
12502: 狼的末路 12502:狼的末路
12503: 松籁响起之时 12503:松籁响起之时
12504: 无工之剑 12504:无工之剑
12505: 砥厄鱼 12505:砥厄鱼
12506: 异史 12506:异史
12510: 赤角石溃杵 12510:赤角石溃杵
13101: 新手长枪 13101:新手长枪
13201: 铁尖枪 13201:铁尖枪
13301: 白缨枪 13301:白缨枪
13302: 钺矛 13302:钺矛
13303: 黑缨枪 13303:黑缨枪
13304: 「旗杆」 13304:「旗杆」
13401: 匣里灭辰 13401:匣里灭辰
13402: 试作星镰 13402:试作星镰
13403: 流月针 13403:流月针
13404: 黑岩刺枪 13404:黑岩刺枪
13405: 决斗之枪 13405:决斗之枪
13406: 千岩长枪 13406:千岩长枪
13407: 西风长枪 13407:西风长枪
13408: 宗室猎枪 13408:宗室猎枪
13409: 龙脊长枪 13409:龙脊长枪
13414: 喜多院十文字 13414:喜多院十文字
13415: 「渔获」 13415:「渔获」
13416: 断浪长鳍 13416:断浪长鳍
13501: 护摩之杖 13501:护摩之杖
13502: 天空之脊 13502:天空之脊
13504: 贯虹之槊 13504:贯虹之槊
13505: 和璞鸢 13505:和璞鸢
13506: 弑主 13506:弑主
13507: 息灾 13507:息灾
13509: 薙草之稻光 13509:薙草之稻光
14101: 学徒笔记 14101:学徒笔记
14201: 口袋魔导书 14201:口袋魔导书
14301: 魔导绪论 14301:魔导绪论
14302: 讨龙英杰谭 14302:讨龙英杰谭
14303: 异世界行记 14303:异世界行记
14304: 翡玉法球 14304:翡玉法球
14305: 甲级宝珏 14305:甲级宝珏
14306: 琥珀玥 14306:琥珀玥
14401: 西风秘典 14401:西风秘典
14402: 流浪乐章 14402:流浪乐章
14403: 祭礼残章 14403:祭礼残章
14404: 宗室秘法录 14404:宗室秘法录
14405: 匣里日月 14405:匣里日月
14406: 试作金珀 14406:试作金珀
14407: 万国诸海图谱 14407:万国诸海图谱
14408: 黑岩绯玉 14408:黑岩绯玉
14409: 昭心 14409:昭心
14410: 暗巷的酒与诗 14410:暗巷的酒与诗
14412: 忍冬之果 14412:忍冬之果
14413: 嘟嘟可故事集 14413:嘟嘟可故事集
14414: 白辰之环 14414:白辰之环
14415: 证誓之明瞳 14415:证誓之明瞳
14501: 天空之卷 14501:天空之卷
14502: 四风原典 14502:四风原典
14503: 散佚的叙事诗 14503:散佚的叙事诗
14504: 尘世之锁 14504:尘世之锁
14505: 定土玉圭 14505:定土玉圭
14506: 不灭月华 14506:不灭月华
14509: 神乐之真意 14509:神乐之真意
15101: 猎弓 15101:猎弓
15201: 历练的猎弓 15201:历练的猎弓
15301: 鸦羽弓 15301:鸦羽弓
15302: 神射手之誓 15302:神射手之誓
15303: 反曲弓 15303:反曲弓
15304: 弹弓 15304:弹弓
15305: 信使 15305:信使
15306: 黑檀弓 15306:黑檀弓
15401: 西风猎弓 15401:西风猎弓
15402: 绝弦 15402:绝弦
15403: 祭礼弓 15403:祭礼弓
15404: 宗室长弓 15404:宗室长弓
15405: 弓藏 15405:弓藏
15406: 试作澹月 15406:试作澹月
15407: 钢轮弓 15407:钢轮弓
15408: 黑岩战弓 15408:黑岩战弓
15409: 苍翠猎弓 15409:苍翠猎弓
15410: 暗巷猎手 15410:暗巷猎手
15411: 落霞 15411:落霞
15412: 幽夜华尔兹 15412:幽夜华尔兹
15413: 风花之颂 15413:风花之颂
15414: 破魔之弓 15414:破魔之弓
15415: 掠食者 15415:掠食者
15416: 曚云之月 15416:曚云之月
15501: 天空之翼 15501:天空之翼
15502: 阿莫斯之弓 15502:阿莫斯之弓
15503: 终末嗟叹之诗 15503:终末嗟叹之诗
15504: 陨龙之梦 15504:陨龙之梦
15505: 悬黎千钧 15505:悬黎千钧
15506: 破镜 15506:破镜
15507: 冬极白星 15507:冬极白星
15508: 若水 15508:若水
15509: 飞雷之弦振 15509:飞雷之弦振
15511:猎人之径

View File

@@ -227,3 +227,22 @@
28250104: 塵歌壺:雷晶蝶 28250104: 塵歌壺:雷晶蝶
28250105: 塵歌壺:珊瑚蝶 28250105: 塵歌壺:珊瑚蝶
28250301: 塵歌壺:吉光蟲 28250301: 塵歌壺:吉光蟲
28020313: 大蕈猪?
28030313: 暝彩鸟
28020314: 蕈猪
28060101: 棘冠鳄
28060201: 长鬓虎
28060601: 牦牦驮兽
28040801: 真果角鲀
28040802: 沉波蜜桃
28040803: 吹沙角鲀
28040804: 暮云角鲀
28040901: 青金斧枪鱼
28040902: 翡玉斧枪鱼
28050106: 草晶蝶
28010304: 丛林树蛙
28010208: 赤尾蜥
31010101: 友军 打手丘丘人
31020101: 友军 木盾丘丘暴徒
31020201: 友军 火斧丘丘暴徒
35210101: 友军 娜菈

File diff suppressed because it is too large Load Diff

View File

@@ -1,42 +1,44 @@
51: 行者之心 20:深林的記憶
52: 勇士之心 21:飾金之夢
53: 守護之心 51:行者之心
54: 奇蹟 52:勇士之心
55: 戰狂 53:守護之心
56: 武人 54:奇蹟
57: 教官 55:戰狂
58: 賭徒 56:武人
59: 流放者 57:教官
60: 冒險家 58:賭徒
61: 幸運兒 59:流放者
62: 學士 60:冒險家
63: 遊醫 61:幸運兒
71: 冰風迷途的勇 62:學
72: 平息鳴雷的尊者 63:遊醫
73: 渡過烈火的賢人 71:冰風迷途的勇士
74: 被憐愛的少女 72:平息鳴雷的尊者
75: 角斗士的終幕禮 73:渡過烈火的賢人
76: 翠綠之影 74:被憐愛的少女
77: 流浪大地的樂團 75:角斗士的終幕禮
78: 冰之川與雪之砂 76:翠綠之影
79: 如雷的盛怒 77:流浪大地的樂團
80: 熾烈的炎之魔女 78:冰之川與雪之砂
81: 昔日宗室之儀 79:如雷的盛怒
82: 染血的騎士道 80:熾烈的炎之魔女
83: 祭火之人 81:昔日宗室之儀
84: 祭水之人 82:染血的騎士道
85: 祭雷之人 83:祭火之人
86: 祭風之人 84:祭水之人
87: 祭冰之人 85:祭雷之人
88: 悠古的磐岩 86:祭風之人
89: 逆飛的流星 87:祭冰之人
90: 沉淪之心 88:悠古的磐岩
91: 千巖牢固 89:逆飛的流星
92: 蒼白之火 90:沉淪之心
93: 追憶之注連 91:千巖牢固
94: 絕緣之旗印 92:蒼白之火
95: 華館夢醒形骸記 93:追憶之注連
96: 海染硨磲 94:絕緣之旗印
97: 辰砂往生錄 95:華館夢醒形骸記
98: 來歆餘響 96:海染硨磲
99: 高天的風之主 97:辰砂往生錄
98:來歆餘響
99:高天的風之主

View File

@@ -1,52 +1,55 @@
1002: 神里綾華 1002:神里綾華
1003: 1003:琴
1005: 1005:空
1006: 麗莎 1006:麗莎
1007: 1007:熒
1014: 芭芭拉 1014:芭芭拉
1015: 凱亞 1015:凱亞
1016: 迪盧克 1016:迪盧克
1020: 雷澤 1020:雷澤
1021: 安柏 1021:安柏
1022: 溫迪 1022:溫迪
1023: 香菱 1023:香菱
1024: 北斗 1024:北斗
1025: 行秋 1025:行秋
1026: 1026:魈
1027: 凝光 1027:凝光
1029: 可莉 1029:可莉
1030: 鍾離 1030:鍾離
1031: 菲謝爾 1031:菲謝爾
1032: 班尼特 1032:班尼特
1033: 達達利亞 1033:達達利亞
1034: 諾艾爾 1034:諾艾爾
1035: 七七 1035:七七
1036: 重雲 1036:重雲
1037: 甘雨 1037:甘雨
1038: 阿貝多 1038:阿貝多
1039: 迪奧娜 1039:迪奧娜
1041: 莫娜 1041:莫娜
1042: 刻晴 1042:刻晴
1043: 砂糖 1043:砂糖
1044: 辛焱 1044:辛焱
1045: 蘿莎莉亞 1045:蘿莎莉亞
1046: 胡桃 1046:胡桃
1047: 楓原萬葉 1047:楓原萬葉
1048: 煙緋 1048:煙緋
1049: 宵宮 1049:宵宮
1050: 托馬 1050:托馬
1051: 優菈 1051:優菈
1052: 雷電將軍 1052:雷電將軍
1053: 早柚 1053:早柚
1054: 珊瑚宮心海 1054:珊瑚宮心海
1055: 五郎 1055:五郎
1056: 九條裟羅 1056:九條裟羅
1057: 荒瀧一斗 1057:荒瀧一斗
1058: 八重神子 1058:八重神子
1059: 鹿野院平藏 1059:鹿野院平藏
1060: 夜蘭 1060:夜蘭
1062: 亞蘿伊 1062:亞蘿伊
1063: 申鶴 1063:申鶴
1064: 雲堇 1064:雲堇
1065: 久岐忍 1065:久岐忍
1066: 神里綾人 1066:神里綾人
1067:柯萊
1068:多莉
1069:提納里

View File

@@ -8,6 +8,8 @@
/give 102 x1880200 /give 102 x1880200
設置世界等級 設置世界等級
/prop wl 8 /prop wl 8
點亮地圖
/prop unlockmap 1
一鍵解鎖深淵 一鍵解鎖深淵
/prop ut 12 /prop ut 12
設置紀行等級 設置紀行等級

View File

@@ -1,36 +1,39 @@
007: 初行者推薦祈願 007:初行者推薦祈願
008: 奔行世間 008:奔行世間
009: 杯裝之詩 009:杯裝之詩
010: 黎明巡禮 010:黎明巡禮
011: 南風之眷 011:南風之眷
012: 靖妖儺舞 012:靖妖儺舞
013: 神鑄賦形 013:神鑄賦形
015: 閃焰的駐足 015:閃焰的駐足
016: 初行者推薦祈願 016:初行者推薦祈願
017: 奔行世間 017:奔行世間
018: 閃焰的駐足 018:閃焰的駐足
019: 杯裝之詩 019:杯裝之詩
020: 神鑄賦形 020:神鑄賦形
021: 神鑄賦形 021:神鑄賦形
022: 奔行世間 022:奔行世間
023: 暫別冬都 023:暫別冬都
024: 陵藪市朝 024:陵藪市朝
027: 深秘之息 027:深秘之息
028: 浮生孰來 028:浮生孰來
031: 煙火之邀 031:煙火之邀
032: 魚龍燈晝 032:魚龍燈晝
033: 赤團開時 033:赤團開時
036: 杯裝之詩 036:杯裝之詩
037: 暫別冬都 037:暫別冬都
040: 陵藪市朝 040:陵藪市朝
041: 浪湧之瞬 041:浪湧之瞬
045: 葉落風隨 045:葉落風隨
048: 白鷺之庭 048:白鷺之庭
049: 焰色天河 049:焰色天河
052: 影寂天下人 052:影寂天下人
053: 浮岳虹珠 053:浮岳虹珠
061: 鬼門斗宴 061:鬼門斗宴
065: 出塵入世 065:出塵入世
071: 華紫櫻緋 071:華紫櫻緋
076: 蒼流踏花 076:蒼流踏花
081: 素霓俔天 081:素霓俔天
091:提納里池(非原名)
092:钟离池(非原名)
093:獵人之徑池(非原名)

File diff suppressed because it is too large Load Diff

View File

@@ -1,340 +1,362 @@
20010101: 草史萊姆 20010101:草史萊姆
20010201: 大型草史萊姆 20010201:大型草史萊姆
20010202: 大型草史萊姆 20010202:大型草史萊姆
20010301: 風史萊姆 20010301:風史萊姆
20010302: 風史萊姆 20010302:風史萊姆
20010401: 大型風史萊姆 20010401:大型風史萊姆
20010402: 大型風史萊姆 20010402:大型風史萊姆
20010403: 大型風史萊姆 20010403:大型風史萊姆
20010501: 雷史萊姆 20010501:雷史萊姆
20010502: 雷史萊姆 20010502:雷史萊姆
20010601: 大型雷史萊姆 20010601:大型雷史萊姆
20010602: 大型雷史萊姆 20010602:大型雷史萊姆
20010604: 大型雷史萊姆 20010604:大型雷史萊姆
20010701: 變異雷史萊姆 20010701:變異雷史萊姆
20010702: 變異雷史萊姆 20010702:變異雷史萊姆
20010703: 變異雷史萊姆 20010703:變異雷史萊姆
20010801: 冰史萊姆 20010801:冰史萊姆
20010802: 冰史萊姆 20010802:冰史萊姆
20010803: 冰史萊姆 20010803:冰史萊姆
20010901: 大型冰史萊姆 20010901:大型冰史萊姆
20010902: 大型冰史萊姆 20010902:大型冰史萊姆
20010903: 大型冰史萊姆 20010903:大型冰史萊姆
20010904: 大型冰史萊姆 20010904:大型冰史萊姆
20011001: 水史萊姆 20011001:水史萊姆
20011002: 水史萊姆 20011002:水史萊姆
20011101: 大型水史萊姆 20011101:大型水史萊姆
20011102: 大型水史萊姆 20011102:大型水史萊姆
20011103: 大型水史萊姆 20011103:大型水史萊姆
20011201: 火史萊姆 20011201:火史萊姆
20011202: 火史萊姆 20011202:火史萊姆
20011203: 火史萊姆 20011203:火史萊姆
20011301: 大型火史萊姆 20011301:大型火史萊姆
20011302: 大型火史萊姆 20011302:大型火史萊姆
20011304: 大型火史萊姆 20011304:大型火史萊姆
20011401: 岩史萊姆 20011401:岩史萊姆
20011402: 岩史萊姆 20011402:岩史萊姆
20011501: 大型岩史萊姆 20011501:大型岩史萊姆
20011502: 大型岩史萊姆 20011502:大型岩史萊姆
20011503: 大型岩史萊姆 20011503:大型岩史萊姆
20011601: 無相之水-召喚物-大分裂 20011601:無相之水-召喚物-大分裂
20011701: 無相之水-召喚物-小分裂 20011701:無相之水-召喚物-小分裂
20011801: 無相之水-召喚物-自爆 20011801:無相之水-召喚物-自爆
20011901: 無相之水-召喚物-回血 20011901:無相之水-召喚物-回血
20020101: 狂風之核 20020101:狂風之核
20040101: 無相之雷 20040101:無相之雷
20040102: 無相之雷 20040102:無相之雷
20040201: 無相之風 20040201:無相之風
20040202: 無相之風 20040202:無相之風
20040301: 無相之岩 20040301:無相之岩
20040302: 無相之岩 20040302:無相之岩
20040401: 無相之水 20040401:無相之水
20040501: 無相之冰 20040501:無相之冰
20040601: 無相之火 20040601:無相之火
20050101: 純水精靈 20050101:純水精靈
20050102: 純水精靈 20050102:純水精靈
20050201: 純水之豬 20050201:純水之豬
20050202: 純水之豬 20050202:純水之豬
20050203: 純水之豬 20050203:純水之豬
20050301: 純水之鶴 20050301:純水之鶴
20050302: 純水之鶴 20050302:純水之鶴
20050401: 純水之蟹 20050401:純水之蟹
20050402: 純水之蟹 20050402:純水之蟹
20050403: 純水之蟹 20050403:純水之蟹
20050501: 純水之雀 20050501:純水之雀
20050502: 純水之雀 20050502:純水之雀
20050601: 純水之鴨 20050601:純水之鴨
20050602: 純水之鴨 20050602:純水之鴨
20050603: 純水之鴨 20050603:純水之鴨
20050701: 純水之鼠 20050701:純水之鼠
20050702: 純水之鼠 20050702:純水之鼠
20050703: 純水之鼠 20050703:純水之鼠
20050801: 純水之蛙 20050801:純水之蛙
20050802: 純水之蛙 20050802:純水之蛙
20050901: 純水之鷹 20050901:純水之鷹
20060101: 水飄浮靈 20060101:水飄浮靈
20060201: 岩飄浮靈 20060201:岩飄浮靈
20060301: 風飄浮靈 20060301:風飄浮靈
20060401: 冰飄浮靈 20060401:冰飄浮靈
20060501: 雷飄浮靈 20060501:雷飄浮靈
20060601: 火飄浮靈 20060601:火飄浮靈
20070101: 雷音權現 20070101:雷音權現
21010101: 丘丘人 21010101:丘丘人
21010102: 丘丘人 21010102:丘丘人
21010201: 打手丘丘人 21010201:打手丘丘人
21010301: 木盾丘丘人 21010301:木盾丘丘人
21010302: 木盾丘丘人 21010302:木盾丘丘人
21010401: 射手丘丘人 21010401:射手丘丘人
21010402: 射手丘丘人 21010402:射手丘丘人
21010501: 火箭丘丘人 21010501:火箭丘丘人
21010502: 火箭丘丘人 21010502:火箭丘丘人
21010601: 爆彈丘丘人 21010601:爆彈丘丘人
21010603: 爆彈丘丘人 21010603:爆彈丘丘人
21010701: 衝鋒丘丘人 21010701:衝鋒丘丘人
21010702: 衝鋒丘丘人 21010702:衝鋒丘丘人
21010901: 冰箭丘丘人 21010901:冰箭丘丘人
21010902: 冰箭丘丘人 21010902:冰箭丘丘人
21011001: 雷箭丘丘人 21011001:雷箭丘丘人
21011002: 雷箭丘丘人 21011002:雷箭丘丘人
21011201: 岩盾丘丘人 21011201:岩盾丘丘人
21011202: 岩盾丘丘人 21011202:岩盾丘丘人
21011301: 冰彈丘丘人 21011301:冰彈丘丘人
21011302: 冰彈丘丘人 21011302:冰彈丘丘人
21011401: 冰盾丘丘人 21011401:冰盾丘丘人
21011402: 冰盾丘丘人 21011402:冰盾丘丘人
21011403: 冰盾丘丘人 21011403:冰盾丘丘人
21011501: 奇怪的丘丘人 21011501:奇怪的丘丘人
21011601: 雷彈丘丘人 21011601:雷彈丘丘人
21011602: 雷彈丘丘人 21011602:雷彈丘丘人
21020101: 木盾丘丘暴徒 21020101:木盾丘丘暴徒
21020102: 木盾丘丘暴徒 21020102:木盾丘丘暴徒
21020201: 火斧丘丘暴徒 21020201:火斧丘丘暴徒
21020202: 火斧丘丘暴徒 21020202:火斧丘丘暴徒
21020203: 火斧丘丘暴徒 21020203:火斧丘丘暴徒
21020301: 岩盾丘丘暴徒 21020301:岩盾丘丘暴徒
21020302: 岩盾丘丘暴徒 21020302:岩盾丘丘暴徒
21020401: 丘丘霜鎧王 21020401:丘丘霜鎧王
21020402: 丘丘霜鎧王 21020402:丘丘霜鎧王
21020501: 丘丘岩盔王 21020501:丘丘岩盔王
21020502: 丘丘岩盔王 21020502:丘丘岩盔王
21020601: 冰盾丘丘暴徒 21020601:冰盾丘丘暴徒
21020602: 冰盾丘丘暴徒 21020602:冰盾丘丘暴徒
21020701: 雷斧丘丘暴徒 21020701:雷斧丘丘暴徒
21020702: 雷斧丘丘暴徒 21020702:雷斧丘丘暴徒
21020703: 雷斧丘丘暴徒 21020703:雷斧丘丘暴徒
21020801: 丘丘雷兜王 21020801:丘丘雷兜王
21020802: 丘丘雷兜王 21020802:丘丘雷兜王
21030101: 水丘丘薩滿 21030101:水丘丘薩滿
21030102: 水丘丘薩滿 21030102:水丘丘薩滿
21030103: 水丘丘薩滿 21030103:水丘丘薩滿
21030201: 草丘丘薩滿 21030201:草丘丘薩滿
21030202: 草丘丘薩滿 21030202:草丘丘薩滿
21030203: 草丘丘薩滿 21030203:草丘丘薩滿
21030301: 風丘丘薩滿 21030301:風丘丘薩滿
21030302: 風丘丘薩滿 21030302:風丘丘薩滿
21030303: 風丘丘薩滿 21030303:風丘丘薩滿
21030304: 風丘丘薩滿 21030304:風丘丘薩滿
21030401: 岩丘丘薩滿 21030401:岩丘丘薩滿
21030402: 岩丘丘薩滿 21030402:岩丘丘薩滿
21030403: 岩丘丘薩滿 21030403:岩丘丘薩滿
21030501: 冰丘丘薩滿 21030501:冰丘丘薩滿
21030502: 冰丘丘薩滿 21030502:冰丘丘薩滿
21030601: 雷丘丘薩滿 21030601:雷丘丘薩滿
21030602: 雷丘丘薩滿 21030602:雷丘丘薩滿
21030603: 雷丘丘薩滿 21030603:雷丘丘薩滿
22010101: 火深淵法師 22010101:火深淵法師
22010102: 火深淵法師 22010102:火深淵法師
22010103: 火深淵法師 22010103:火深淵法師
22010104: 火深淵法師 22010104:火深淵法師
22010105: 火深淵法師 22010105:火深淵法師
22010201: 冰深淵法師 22010201:冰深淵法師
22010202: 冰深淵法師 22010202:冰深淵法師
22010203: 冰深淵法師 22010203:冰深淵法師
22010204: 冰深淵法師 22010204:冰深淵法師
22010205: 冰深淵法師 22010205:冰深淵法師
22010301: 水深淵法師 22010301:水深淵法師
22010302: 水深淵法師 22010302:水深淵法師
22010303: 水深淵法師 22010303:水深淵法師
22010304: 水深淵法師 22010304:水深淵法師
22010305: 水深淵法師 22010305:水深淵法師
22010401: 雷深淵法師 22010401:雷深淵法師
22010402: 雷深淵法師 22010402:雷深淵法師
22010403: 雷深淵法師 22010403:雷深淵法師
22010404: 雷深淵法師 22010404:雷深淵法師
22020101: 深淵使徒·激流 22020101:深淵使徒·激流
22020102: 深淵使徒·激流 22020102:深淵使徒·激流
22030101: 深淵詠者·紫電 22030101:深淵詠者·紫電
22030102: 深淵詠者·紫電 22030102:深淵詠者·紫電
22030201: 深淵詠者·淵火 22030201:深淵詠者·淵火
22030202: 深淵詠者·淵火 22030202:深淵詠者·淵火
22040101: 嗜岩·獸境幼獸 22040101:嗜岩·獸境幼獸
22040201: 嗜雷·獸境幼獸 22040201:嗜雷·獸境幼獸
22050101: 嗜岩·獸境獵犬 22050101:嗜岩·獸境獵犬
22050201: 嗜雷·獸境獵犬 22050201:嗜雷·獸境獵犬
22060101: 黃金王獸 22060101:黃金王獸
22070101: 黯色空殼·旗令 22070101:黯色空殼·旗令
22070102: 黯色空殼·旗令 22070102:黯色空殼·旗令
22070201: 黯色空殼·破陣 22070201:黯色空殼·破陣
22070202: 黯色空殼·破陣 22070202:黯色空殼·破陣
22070301: 黯色空殼·近衛 22070301:黯色空殼·近衛
22070302: 黯色空殼·近衛 22070302:黯色空殼·近衛
22080101: 黑蛇騎士·斬風之劍 22080101:黑蛇騎士·斬風之劍
22090101: 你猜你猜你猜猜猜 22090101:你猜你猜你猜猜猜
23010101: 愚人眾先遣隊·冰銃重衛士 23010101:愚人眾先遣隊·冰銃重衛士
23010201: 愚人眾先遣隊·水銃重衛士 23010201:愚人眾先遣隊·水銃重衛士
23010301: 愚人眾先遣隊·雷錘前鋒軍 23010301:愚人眾先遣隊·雷錘前鋒軍
23010401: 愚人眾先遣隊·岩使游擊兵 23010401:愚人眾先遣隊·岩使游擊兵
23010501: 愚人眾先遣隊·風拳前鋒軍 23010501:愚人眾先遣隊·風拳前鋒軍
23010601: 愚人眾先遣隊·火銃游擊兵 23010601:愚人眾先遣隊·火銃游擊兵
23020101: 愚人眾·火之債務處理人 23020101:愚人眾·火之債務處理人
23020102: 愚人眾·火之債務處理人 23020102:愚人眾·火之債務處理人
23030101: 愚人眾·雷螢術士 23030101:愚人眾·雷螢術士
23030102: 愚人眾·雷螢術士 23030102:愚人眾·雷螢術士
23040101: 愚人眾·冰螢術士 23040101:愚人眾·冰螢術士
23040102: 愚人眾·冰螢術士 23040102:愚人眾·冰螢術士
23050101: 愚人眾·藏鏡仕女 23050101:愚人眾·藏鏡仕女
24010101: 遺蹟守衛 24010101:遺蹟守衛
24010102: 遺蹟守衛 24010102:遺蹟守衛
24010108: 遺蹟守衛 24010108:遺蹟守衛
24010109: 遺蹟守衛 24010109:遺蹟守衛
24010201: 遺蹟獵者 24010201:遺蹟獵者
24010202: 遺蹟獵者 24010202:遺蹟獵者
24010301: 遺蹟重機 24010301:遺蹟重機
24010302: 遺蹟重機 24010302:遺蹟重機
24010303: 遺蹟重機 24010303:遺蹟重機
24010401: 遺蹟巨蛇 24010401:遺蹟巨蛇
24020101: 遺蹟巡弋者 24020101:遺蹟巡弋者
24020102: 遺蹟巡弋者 24020102:遺蹟巡弋者
24020103: 遺蹟巡弋者 24020103:遺蹟巡弋者
24020201: 遺蹟殲擊者 24020201:遺蹟殲擊者
24020202: 遺蹟殲擊者 24020202:遺蹟殲擊者
24020203: 遺蹟殲擊者 24020203:遺蹟殲擊者
24020301: 遺蹟防衛者 24020301:遺蹟防衛者
24020302: 遺蹟防衛者 24020302:遺蹟防衛者
24020303: 遺蹟防衛者 24020303:遺蹟防衛者
24020401: 遺蹟偵察者 24020401:遺蹟偵察者
24020402: 遺蹟偵察者 24020402:遺蹟偵察者
24020403: 遺蹟偵察者 24020403:遺蹟偵察者
24021101: 恒常機關陣列 24021101:恒常機關陣列
24021102: 恒常機關陣列 24021102:恒常機關陣列
25010101: 「溜溜」 25010101:「溜溜」
25010102: 神秘人 25010102:神秘人
25010103: 盜寶團·「溜溜」 25010103:盜寶團·「溜溜」
25010104: 盜寶團·「溜溜」 25010104:盜寶團·「溜溜」
25010105: 盜寶團·「溜溜」 25010105:盜寶團·「溜溜」
25010106: 盜寶團·「溜溜」 25010106:盜寶團·「溜溜」
25010201: 盜寶團·斥候 25010201:盜寶團·斥候
25010203: 盜寶團·斥候 25010203:盜寶團·斥候
25010204: 盜寶團·斥候 25010204:盜寶團·斥候
25010205: 盜寶團·斥候 25010205:盜寶團·斥候
25010206: 盜寶團·斥候 25010206:盜寶團·斥候
25010207: 盜寶團·斥候 25010207:盜寶團·斥候
25010208: 盜寶團·斥候 25010208:盜寶團·斥候
25010301: 盜寶團·火之藥劑師 25010301:盜寶團·火之藥劑師
25010302: 盜寶團·火之藥劑師 25010302:盜寶團·火之藥劑師
25010401: 盜寶團·水之藥劑師 25010401:盜寶團·水之藥劑師
25010501: 盜寶團·雷之藥劑師 25010501:盜寶團·雷之藥劑師
25010601: 盜寶團·冰之藥劑師 25010601:盜寶團·冰之藥劑師
25010701: 盜寶團·雜工 25010701:盜寶團·雜工
25020101: 盜寶團·「怪鳥」 25020101:盜寶團·「怪鳥」
25020102: 盜寶團·「怪鳥」 25020102:盜寶團·「怪鳥」
25020201: 盜寶團·神射手 25020201:盜寶團·神射手
25020204: 盜寶團·神射手 25020204:盜寶團·神射手
25030101: 盜寶團·「卡門」 25030101:盜寶團·「卡門」
25030102: 盜寶團·「卡門」 25030102:盜寶團·「卡門」
25030103: 盜寶團·「卡門」 25030103:盜寶團·「卡門」
25030201: 盜寶團·掘墓者 25030201:盜寶團·掘墓者
25030301: 盜寶團·海上男兒 25030301:盜寶團·海上男兒
25040101: 盜寶團·「大姐頭」 25040101:盜寶團·「大姐頭」
25040102: 盜寶團·「大姐頭」 25040102:盜寶團·「大姐頭」
25040103: 盜寶團·「大姐頭」 25040103:盜寶團·「大姐頭」
25050101: 千岩軍士兵 25050101:千岩軍士兵
25050201: 千岩軍教頭 25050201:千岩軍教頭
25050301: 幕府足輕 25050301:幕府足輕
25050401: 幕府足輕頭 25050401:幕府足輕頭
25050402: 幕府足輕頭 25050402:幕府足輕頭
25050501: 珊瑚宮眾 25050501:珊瑚宮眾
25050502: 珊瑚宮眾 25050502:珊瑚宮眾
25060101: 盜寶團·拳術家 25060101:盜寶團·拳術家
25060102: 盜寶團·拳術家 25060102:盜寶團·拳術家
25070101: 盜寶團·粉碎者 25070101:盜寶團·粉碎者
25070201: 盜寶團·「瓦倫斯坦」 25070201:盜寶團·「瓦倫斯坦」
25070202: 盜寶團·「瓦倫斯坦」 25070202:盜寶團·「瓦倫斯坦」
25080101: 野伏·陣刀番 25080101:野伏·陣刀番
25080201: 野伏·火付番 25080201:野伏·火付番
25080202: 野伏·火付番 25080202:野伏·火付番
25080301: 野伏·機巧番 25080301:野伏·機巧番
25080401: 寄騎武士 25080401:寄騎武士
25080402: 寄騎武士 25080402:寄騎武士
25090101: 魔偶劍鬼 25090101:魔偶劍鬼
25090102: 魔偶劍鬼(風分身) 25090102:魔偶劍鬼(風分身)
25090103: 魔偶劍鬼(冰分身) 25090103:魔偶劍鬼(冰分身)
25090104: 魔偶劍鬼(面具分身) 25090104:魔偶劍鬼(面具分身)
25090201: 魔偶劍鬼·孤風 25090201:魔偶劍鬼·孤風
25090301: 魔偶劍鬼·霜馳 25090301:魔偶劍鬼·霜馳
25090401: 魔偶劍鬼·兇面 25090401:魔偶劍鬼·兇面
25100101: 海亂鬼·雷騰 25100101:海亂鬼·雷騰
25100102: 海亂鬼·雷騰 25100102:海亂鬼·雷騰
25100201: 海亂鬼·炎威 25100201:海亂鬼·炎威
25100301: 落武者·咒雷 25100301:落武者·咒雷
25100302: 落武者·咒雷 25100302:落武者·咒雷
25100401: 落武者·祟炎 25100401:落武者·祟炎
26010101: 冰霜騙騙花 26010101:冰霜騙騙花
26010102: 冰霜騙騙花 26010102:冰霜騙騙花
26010103: 冰霜騙騙花 26010103:冰霜騙騙花
26010104: 冰霜騙騙花 26010104:冰霜騙騙花
26010201: 熾熱騙騙花 26010201:熾熱騙騙花
26010301: 電氣騙騙花 26010301:電氣騙騙花
26020101: 急凍樹 26020101:急凍樹
26020102: 急凍樹 26020102:急凍樹
26020201: 爆炎樹 26020201:爆炎樹
26030101: 幼岩龍蜥 26030101:幼岩龍蜥
26040101: 岩龍蜥(水) 26040101:岩龍蜥(水)
26040102: 岩龍蜥(火) 26040102:岩龍蜥(火)
26040103: 岩龍蜥(冰) 26040103:岩龍蜥(冰)
26040104: 岩龍蜥(雷) 26040104:岩龍蜥(雷)
26040105: 岩龍蜥 26040105:岩龍蜥
26050101: 古岩龍蜥(水) 26050101:古岩龍蜥(水)
26050201: 古岩龍蜥(火) 26050201:古岩龍蜥(火)
26050301: 古岩龍蜥(冰) 26050301:古岩龍蜥(冰)
26050401: 古岩龍蜥(雷) 26050401:古岩龍蜥(雷)
26050501: 古岩龍蜥 26050501:古岩龍蜥
26050601: 深海龍蜥·原種 26050601:深海龍蜥·原種
26050701: 深海龍蜥·囓冰 26050701:深海龍蜥·囓冰
26050702: 深海龍蜥·囓冰 26050702:深海龍蜥·囓冰
26050801: 深海龍蜥·吞雷 26050801:深海龍蜥·吞雷
26050802: 深海龍蜥·吞雷 26050802:深海龍蜥·吞雷
26050901: 深海龍蜥幼體·原種 26050901:深海龍蜥幼體·原種
26051001: 深海龍蜥幼體·囓冰 26051001:深海龍蜥幼體·囓冰
26051101: 深海龍蜥幼體·吞雷 26051101:深海龍蜥幼體·吞雷
26060101: 雷螢 26060101:雷螢
26060201: 水螢 26060201:水螢
26060301: 冰螢 26060301:冰螢
26080101: 跋掣 26080101:跋掣
26090101: 浮游水蕈獸 26090101:浮游水蕈獸
29010101: 裂空的魔龍 29010101:裂空的魔龍
29010102: 裂空的魔龍 29010102:裂空的魔龍
29010103: 裂空的魔龍 29010103:裂空的魔龍
29010104: 裂空的魔龍 29010104:裂空的魔龍
29020101: 北風的王狼 玻瑞亞斯 29020101:北風的王狼 玻瑞亞斯
29020102: 北風的王狼,奔狼的領主 29020102:北風的王狼,奔狼的領主
29030101: 「公子」愚人眾執行官末席 29030101:「公子」愚人眾執行官末席
29030102: 「公子」邪眼解放 29030102:「公子」邪眼解放
29030103: 「公子」 29030103:「公子」
29030104: 「公子」愚人眾執行官末席 29030104:「公子」愚人眾執行官末席
29030105: 「公子」邪眼解放 29030105:「公子」邪眼解放
29030106: 「公子」 29030106:「公子」
29040101: 若陀龍王(火雷) 29040101:若陀龍王(火雷)
29040102: 若陀龍王(水雷) 29040102:若陀龍王(水雷)
29040103: 若陀龍王(火冰) 29040103:若陀龍王(火冰)
29040104: 若陀龍王(水冰) 29040104:若陀龍王(水冰)
29040111: 若陀龍王 29040111:若陀龍王
29050101: 「女士」 29050101:「女士」
29050102: 「女士」焚盡的熾炎魔女 29050102:「女士」焚盡的熾炎魔女
29050103: 「女士」 29050103:「女士」
29050104: 「女士」焚盡的熾炎魔女 29050104:「女士」焚盡的熾炎魔女
29060101: 雷電將軍 29060101:雷電將軍
29060102: 雷電影 29060102:雷電影
29060201: 禍津御建鳴神命 29060201:禍津御建鳴神命
29060202: 禍津御建鳴神命 29060202:禍津御建鳴神命
29060203: 禍津御建鳴神命 29060203:禍津御建鳴神命
20060701:草飄浮靈
24030201:遺跡龍獸·地巡
24030101:遺跡龍獸·空巡
25210101:鍍金旅團·陣前斧手
25210201:鍍金旅團·機弩兵
25210301:鍍金旅團·鴉喙戟手
25210401:鍍金旅團·破陣者
25210501:鍍金旅團·刀舞者
25310101:鍍金旅團·沙中淨水
25310201:鍍金旅團·熾陽凝冰
25310301:鍍金旅團·白日鳴雷
26020301:掣電樹
26090201:浮游草蕈獸
26090201:旋轉雷蕈獸
26090401:旋轉冰蕈獸
26090501:伸縮火蕈獸
26090701:伸縮風蕈獸
26090801:伸縮岩蕈獸
26090901:陸行水本真蕈
26120101:有翼草本真蕈
26120201:有翼冰本真蕈
26110101:翠翎恐蕈

File diff suppressed because it is too large Load Diff

View File

@@ -1,151 +1,152 @@
11101: 無鋒劍 11101:無鋒劍
11201: 銀劍 11201:銀劍
11301: 冷刃 11301:冷刃
11302: 黎明神劍 11302:黎明神劍
11303: 旅行劍 11303:旅行劍
11304: 暗鐵劍 11304:暗鐵劍
11305: 吃虎魚刀 11305:吃虎魚刀
11306: 飛天御劍 11306:飛天御劍
11401: 西風劍 11401:西風劍
11402: 笛劍 11402:笛劍
11403: 祭禮劍 11403:祭禮劍
11404: 宗室長劍 11404:宗室長劍
11405: 匣裡龍吟 11405:匣裡龍吟
11406: 試作斬岩 11406:試作斬岩
11407: 鐵蜂刺 11407:鐵蜂刺
11408: 黑岩長劍 11408:黑岩長劍
11409: 黑劍 11409:黑劍
11410: 暗巷閃光 11410:暗巷閃光
11412: 降臨之劍 11412:降臨之劍
11413: 腐殖之劍 11413:腐殖之劍
11414: 天目影打刀 11414:天目影打刀
11415: 辰砂之紡錘 11415:辰砂之紡錘
11416: 籠釣瓶一心 11416:籠釣瓶一心
11419: 「一心傳」名刀 11419:「一心傳」名刀
11420: 「一心傳」名刀 11420:「一心傳」名刀
11421: 「一心傳」名刀 11421:「一心傳」名刀
11501: 風鷹劍 11501:風鷹劍
11502: 天空之刃 11502:天空之刃
11503: 蒼古自由之誓 11503:蒼古自由之誓
11504: 斫峰之刃 11504:斫峰之刃
11505: 磐岩結綠 11505:磐岩結綠
11506: 磐岩結綠 11506:磐岩結綠
11507: 憑虛 11507:憑虛
11509: 霧切之回光 11509:霧切之回光
11510: 波亂月白經津 11510:波亂月白經津
12101: 訓練大劍 12101:訓練大劍
12201: 傭兵重劍 12201:傭兵重劍
12301: 鐵影闊劍 12301:鐵影闊劍
12302: 沐浴龍血的劍 12302:沐浴龍血的劍
12303: 白鐵大劍 12303:白鐵大劍
12304: 石英大劍 12304:石英大劍
12305: 以理服人 12305:以理服人
12306: 飛天大御劍 12306:飛天大御劍
12401: 西風大劍 12401:西風大劍
12402: 鐘劍 12402:鐘劍
12403: 祭禮大劍 12403:祭禮大劍
12404: 宗室大劍 12404:宗室大劍
12405: 雨裁 12405:雨裁
12406: 試作古華 12406:試作古華
12407: 白影劍 12407:白影劍
12408: 黑岩斬刀 12408:黑岩斬刀
12409: 螭骨劍 12409:螭骨劍
12410: 千岩古劍 12410:千岩古劍
12411: 雪葬的星銀 12411:雪葬的星銀
12412: 銜珠海皇 12412:銜珠海皇
12414: 桂木斬長正 12414:桂木斬長正
12416: 惡王丸 12416:惡王丸
12501: 天空之傲 12501:天空之傲
12502: 狼的末路 12502:狼的末路
12503: 松籟響起之時 12503:松籟響起之時
12504: 無工之劍 12504:無工之劍
12505: 砥厄魚 12505:砥厄魚
12506: 異史 12506:異史
12510: 赤角石潰杵 12510:赤角石潰杵
13101: 新手長槍 13101:新手長槍
13201: 鐵尖槍 13201:鐵尖槍
13301: 白纓槍 13301:白纓槍
13302: 鉞矛 13302:鉞矛
13303: 黑纓槍 13303:黑纓槍
13304: 「旗桿」 13304:「旗桿」
13401: 匣裡滅辰 13401:匣裡滅辰
13402: 試作星鐮 13402:試作星鐮
13403: 流月針 13403:流月針
13404: 黑岩刺槍 13404:黑岩刺槍
13405: 決鬥之槍 13405:決鬥之槍
13406: 千岩長槍 13406:千岩長槍
13407: 西風長槍 13407:西風長槍
13408: 宗室獵槍 13408:宗室獵槍
13409: 龍脊長槍 13409:龍脊長槍
13414: 喜多院十文字 13414:喜多院十文字
13415: 「漁獲」 13415:「漁獲」
13416: 斷浪長鰭 13416:斷浪長鰭
13501: 護摩之杖 13501:護摩之杖
13502: 天空之脊 13502:天空之脊
13504: 貫虹之槊 13504:貫虹之槊
13505: 和璞鳶 13505:和璞鳶
13506: 弑主 13506:弑主
13507: 息災 13507:息災
13509: 薙草之稻光 13509:薙草之稻光
14101: 學徒筆記 14101:學徒筆記
14201: 口袋魔導書 14201:口袋魔導書
14301: 魔導緒論 14301:魔導緒論
14302: 討龍英傑譚 14302:討龍英傑譚
14303: 異世界行記 14303:異世界行記
14304: 翡玉法球 14304:翡玉法球
14305: 甲級寶玨 14305:甲級寶玨
14306: 琥珀玥 14306:琥珀玥
14401: 西風秘典 14401:西風秘典
14402: 流浪樂章 14402:流浪樂章
14403: 祭禮殘章 14403:祭禮殘章
14404: 宗室秘法錄 14404:宗室秘法錄
14405: 匣裡日月 14405:匣裡日月
14406: 試作金珀 14406:試作金珀
14407: 萬國諸海圖譜 14407:萬國諸海圖譜
14408: 黑岩緋玉 14408:黑岩緋玉
14409: 昭心 14409:昭心
14410: 暗巷的酒與詩 14410:暗巷的酒與詩
14412: 忍冬之果 14412:忍冬之果
14413: 嘟嘟可故事集 14413:嘟嘟可故事集
14414: 白辰之環 14414:白辰之環
14415: 證誓之明瞳 14415:證誓之明瞳
14501: 天空之卷 14501:天空之卷
14502: 四風原典 14502:四風原典
14503: 散佚的敘事詩 14503:散佚的敘事詩
14504: 塵世之鎖 14504:塵世之鎖
14505: 定土玉圭 14505:定土玉圭
14506: 不滅月華 14506:不滅月華
14509: 神樂之真意 14509:神樂之真意
15101: 獵弓 15101:獵弓
15201: 歷練的獵弓 15201:歷練的獵弓
15301: 鴉羽弓 15301:鴉羽弓
15302: 神射手之誓 15302:神射手之誓
15303: 反曲弓 15303:反曲弓
15304: 彈弓 15304:彈弓
15305: 信使 15305:信使
15306: 黑檀弓 15306:黑檀弓
15401: 西風獵弓 15401:西風獵弓
15402: 絕弦 15402:絕弦
15403: 祭禮弓 15403:祭禮弓
15404: 宗室長弓 15404:宗室長弓
15405: 弓藏 15405:弓藏
15406: 試作澹月 15406:試作澹月
15407: 鋼輪弓 15407:鋼輪弓
15408: 黑岩戰弓 15408:黑岩戰弓
15409: 蒼翠獵弓 15409:蒼翠獵弓
15410: 暗巷獵手 15410:暗巷獵手
15411: 落霞 15411:落霞
15412: 幽夜華爾滋 15412:幽夜華爾滋
15413: 風花之頌 15413:風花之頌
15414: 破魔之弓 15414:破魔之弓
15415: 掠食者 15415:掠食者
15416: 曚雲之月 15416:曚雲之月
15501: 天空之翼 15501:天空之翼
15502: 阿莫斯之弓 15502:阿莫斯之弓
15503: 終末嗟嘆之詩 15503:終末嗟嘆之詩
15504: 昆吾墜龍 15504:昆吾墜龍
15505: 懸黎千鈞 15505:懸黎千鈞
15506: 破鏡 15506:破鏡
15507: 冬極白星 15507:冬極白星
15508: 若水 15508:若水
15509: 飛雷之弦振 15509:飛雷之弦振
15511:獵人之徑

View File

@@ -0,0 +1,222 @@
/**
* Grasscutter Tools
* Copyright (C) 2022 jie65535
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published
* by the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*
**/
using System;
using System.Collections.Generic;
using System.Linq;
namespace GrasscutterTools.Utils
{
class SubstatSumEquality : IEqualityComparer<List<KeyValuePair<int, double>>>
{
public bool Equals(List<KeyValuePair<int, double>> left, List<KeyValuePair<int, double>> right)
{
if (sum_substat(left) == sum_substat(right))
return true;
else
return false;
}
public int GetHashCode(List<KeyValuePair<int, double>> dict)
{
return sum_substat(dict).GetHashCode();
}
public static double sum_substat(List<KeyValuePair<int, double>> dict)
{
double sum = 0;
foreach (KeyValuePair<int, double> kvp in dict)
{
sum += kvp.Value;
}
return sum;
}
}
class ArtifactUtils
{
public static Dictionary<string, double[][]> substats_rolls = new Dictionary<string, double[][]>
{
{
"hp",
new double[][] {
new double[] {23.9, 29.88},
new double[] {50.19, 60.95, 71.7},
new double[] {100.38, 114.72, 129.06, 143.4},
new double[] {167.3, 191.2, 215.1, 239},
new double[] {209.13, 239, 268.88, 298.75}
}
},
{
"hp_",
new double[][] {
new double[] {1.17, 1.46},
new double[] {1.63, 1.98, 2.33},
new double[] {2.45, 2.8, 3.15, 3.5},
new double[] {3.26, 3.73, 4.2, 4.66},
new double[] {4.08, 4.66, 5.25, 5.83}
}
},
{
"atk",
new double[][] {
new double[] {1.56, 1.95},
new double[] {3.27, 3.97, 4.67},
new double[] {6.54, 7.47, 8.4, 9.34},
new double[] {10.89, 12.45, 14, 15.56},
new double[] {13.62, 15.56, 17.51, 19.45 }
}
},
{
"atk_",
new double[][] {
new double[] {1.17, 1.46},
new double[] {1.63, 1.98, 2.33},
new double[] {2.45, 2.8, 3.15, 3.5},
new double[] {3.26, 3.73, 4.2, 4.66},
new double[] {4.08, 4.66, 5.25, 5.83}
}
},
{
"def",
new double[][] {
new double[] {1.85, 2.31},
new double[] {3.89, 4.72, 5.56},
new double[] {10, 11.11, 7.78, 8.89},
new double[] {12.96, 14.82, 16.67, 18.52},
new double[] {16.2, 18.52, 20.83, 23.15}
}
},
{
"def_",
new double[][] {
new double[] {1.46, 1.82},
new double[] {2.04, 2.48, 2.91},
new double[] {3.06, 3.5, 3.93, 4.37},
new double[] {4.08, 4.66, 5.25, 5.83},
new double[] {5.1, 5.83, 6.56, 7.29}
}
},
{
"critRate_",
new double[][] {
new double[] {.78, .97},
new double[] {1.09, 1.32, 1.55},
new double[] {1.63, 1.86, 2.1, 2.33},
new double[] {2.18, 2.49, 2.8, 3.11},
new double[] {2.72, 3.11, 3.5, 3.89}
}
},
{
"critDMG_",
new double[][] {
new double[] {1.55, 1.94},
new double[] {2.18, 2.64, 3.11},
new double[] {3.26, 3.73, 4.2, 4.66},
new double[] {4.35, 4.97, 5.6, 6.22},
new double[] {5.44, 6.22, 6.99, 7.77}
}
},
{
"eleMas",
new double[][] {
new double[] {4.66, 5.83},
new double[] {6.53, 7.93, 9.33},
new double[] {11.19, 12.59, 13.99, 9.79},
new double[] {13.06, 14.92, 16.79, 18.65},
new double[] {16.32, 18.65, 20.98, 23.31}
}
},
{
"enerRech_",
new double[][] {
new double[] {1.3, 1.62},
new double[] {1.81, 2.2, 2.59},
new double[] {2.72, 3.11, 3.5, 3.89},
new double[] {3.63, 4.14, 4.66, 5.18},
new double[] {4.53, 5.18, 5.83, 6.48}
}
}
};
// ArtifactSub -> Rarity -> Stat value -> Stat index list
public static Dictionary<string, Dictionary<int, List<KeyValuePair<double, int[]>>>> substats_dict;
public static int[] SplitSubstats(string type, int rarity, double value)
{
if (!substats_initiated)
{
InitSubstats();
substats_initiated = true;
}
double last_stat_diff = 99999;
int[] last_stat_list = { 4, 4, 4, 4, 4, 4 };
foreach (KeyValuePair<double, int[]> value_to_list in substats_dict[type][rarity])
{
if (Math.Abs(value - value_to_list.Key) >= last_stat_diff)
{
return last_stat_list;
}
last_stat_diff = value - value_to_list.Key;
last_stat_list = value_to_list.Value;
}
// Default, should never happen
return last_stat_list;
}
private static void InitSubstats()
{
substats_dict = new Dictionary<string, Dictionary<int, List<KeyValuePair<double, int[]>>>>();
foreach (KeyValuePair<string, double[][]> stat_block_info in substats_rolls)
{
string stat_name = stat_block_info.Key;
substats_dict[stat_name] = new Dictionary<int, List<KeyValuePair<double, int[]>>>();
for (int rarity_index = 0; rarity_index < stat_block_info.Value.Length; rarity_index++)
{
var substat_options = new List<KeyValuePair<int, double>>();
// Substat index == 0 means no substat upgrade
substat_options.Add(new KeyValuePair<int, double>(0, 0));
for (int substat_index = 0; substat_index < substats_rolls[stat_name][rarity_index].Length; substat_index++)
{
substat_options.Add(new KeyValuePair<int, double>(substat_index+1, substats_rolls[stat_name][rarity_index][substat_index]));
}
var substat_sum_data = (from s1 in substat_options from s2 in substat_options from s3 in substat_options from s4 in substat_options from s5 in substat_options from s6 in substat_options select new { s1, s2, s3, s4, s5, s6 })
.Select(x => new List<KeyValuePair<int, double>> { x.s1, x.s2, x.s3, x.s4, x.s5, x.s6 })
.Distinct(new SubstatSumEquality());
var stats_map = new List<KeyValuePair<double, int[]>>();
foreach (List<KeyValuePair<int, double>> val in substat_sum_data.ToArray().OrderBy(list => SubstatSumEquality.sum_substat(list)))
{
var index_list = new List<int>();
foreach (KeyValuePair<int, double> pair in val)
{
if (pair.Key != 0)
index_list.Add(pair.Key);
}
stats_map.Add(new KeyValuePair<double, int[]>(SubstatSumEquality.sum_substat(val), index_list.ToArray()));
}
substats_dict[stat_name][rarity_index + 1] = stats_map;
}
}
}
private static bool substats_initiated = false;
}
}

View File

@@ -2,11 +2,11 @@
using System.Net.Http.Headers; using System.Net.Http.Headers;
using System.Threading.Tasks; using System.Threading.Tasks;
using GrasscutterTools.Utils; using Newtonsoft.Json;
namespace GrasscutterTools.Github namespace GrasscutterTools.Utils
{ {
public static class ReleaseAPI internal class ReleaseAPI
{ {
public static async Task<ReleaseInfo> GetReleasesLastest(string username, string repo) public static async Task<ReleaseInfo> GetReleasesLastest(string username, string repo)
{ {
@@ -14,15 +14,14 @@ namespace GrasscutterTools.Github
try try
{ {
HttpHelper.HttpClient.DefaultRequestHeaders.UserAgent.Add(headerValue); HttpHelper.HttpClient.DefaultRequestHeaders.UserAgent.Add(headerValue);
var r = await HttpHelper.GetAsync<dynamic>($"https://api.github.com/repos/{username}/{repo}/releases/latest"); return await HttpHelper.GetAsync<ReleaseInfo>($"https://api.github.com/repos/{username}/{repo}/releases/latest");
return new ReleaseInfo }
{ catch
TagName = r.tag_name, {
Url = r.html_url, // 如果Github无法访问尝试从Gitee获取
CraeteTime = r.created_at, var release = await HttpHelper.GetAsync<ReleaseInfo>($"https://gitee.com/api/v5/repos/{username}/{repo}/releases/latest");
Name = r.name, release.Url = $"https://gitee.com/{username}/{repo}/releases";
Body = r.body return release;
};
} }
finally finally
{ {
@@ -32,14 +31,19 @@ namespace GrasscutterTools.Github
public class ReleaseInfo public class ReleaseInfo
{ {
[JsonProperty("tag_name")]
public string TagName { get; set; } public string TagName { get; set; }
[JsonProperty("html_url")]
public string Url { get; set; } public string Url { get; set; }
[JsonProperty("created_at")]
public DateTimeOffset CraeteTime { get; set; } public DateTimeOffset CraeteTime { get; set; }
[JsonProperty("name")]
public string Name { get; set; } public string Name { get; set; }
[JsonProperty("body")]
public string Body { get; set; } public string Body { get; set; }
} }
} }

View File

@@ -1,53 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="Costura.Fody" version="5.7.0" targetFramework="net48" developmentDependency="true" />
<package id="Fody" version="6.6.1" targetFramework="net48" developmentDependency="true" />
<package id="Microsoft.NETCore.Platforms" version="1.1.0" targetFramework="net48" />
<package id="Microsoft.Win32.Primitives" version="4.3.0" targetFramework="net48" />
<package id="NETStandard.Library" version="2.0.3" targetFramework="net48" />
<package id="Newtonsoft.Json" version="13.0.1" targetFramework="net452" />
<package id="Resource.Embedder" version="2.2.0" targetFramework="net48" />
<package id="System.AppContext" version="4.3.0" targetFramework="net48" />
<package id="System.Collections" version="4.3.0" targetFramework="net48" />
<package id="System.Collections.Concurrent" version="4.3.0" targetFramework="net48" />
<package id="System.Console" version="4.3.0" targetFramework="net48" />
<package id="System.Diagnostics.Debug" version="4.3.0" targetFramework="net48" />
<package id="System.Diagnostics.DiagnosticSource" version="4.3.0" targetFramework="net48" />
<package id="System.Diagnostics.Tools" version="4.3.0" targetFramework="net48" />
<package id="System.Diagnostics.Tracing" version="4.3.0" targetFramework="net48" />
<package id="System.Globalization" version="4.3.0" targetFramework="net48" />
<package id="System.Globalization.Calendars" version="4.3.0" targetFramework="net48" />
<package id="System.IO" version="4.3.0" targetFramework="net48" />
<package id="System.IO.Compression" version="4.3.0" targetFramework="net48" />
<package id="System.IO.Compression.ZipFile" version="4.3.0" targetFramework="net48" />
<package id="System.IO.FileSystem" version="4.3.0" targetFramework="net48" />
<package id="System.IO.FileSystem.Primitives" version="4.3.0" targetFramework="net48" />
<package id="System.Linq" version="4.3.0" targetFramework="net48" />
<package id="System.Linq.Expressions" version="4.3.0" targetFramework="net48" />
<package id="System.Net.Http" version="4.3.0" targetFramework="net48" />
<package id="System.Net.Primitives" version="4.3.0" targetFramework="net48" />
<package id="System.Net.Sockets" version="4.3.0" targetFramework="net48" />
<package id="System.ObjectModel" version="4.3.0" targetFramework="net48" />
<package id="System.Reflection" version="4.3.0" targetFramework="net48" />
<package id="System.Reflection.Extensions" version="4.3.0" targetFramework="net48" />
<package id="System.Reflection.Primitives" version="4.3.0" targetFramework="net48" />
<package id="System.Resources.ResourceManager" version="4.3.0" targetFramework="net48" />
<package id="System.Runtime" version="4.3.0" targetFramework="net48" />
<package id="System.Runtime.Extensions" version="4.3.0" targetFramework="net48" />
<package id="System.Runtime.Handles" version="4.3.0" targetFramework="net48" />
<package id="System.Runtime.InteropServices" version="4.3.0" targetFramework="net48" />
<package id="System.Runtime.InteropServices.RuntimeInformation" version="4.3.0" targetFramework="net48" />
<package id="System.Runtime.Numerics" version="4.3.0" targetFramework="net48" />
<package id="System.Security.Cryptography.Algorithms" version="4.3.0" targetFramework="net48" />
<package id="System.Security.Cryptography.Encoding" version="4.3.0" targetFramework="net48" />
<package id="System.Security.Cryptography.Primitives" version="4.3.0" targetFramework="net48" />
<package id="System.Security.Cryptography.X509Certificates" version="4.3.0" targetFramework="net48" />
<package id="System.Text.Encoding" version="4.3.0" targetFramework="net48" />
<package id="System.Text.Encoding.Extensions" version="4.3.0" targetFramework="net48" />
<package id="System.Text.RegularExpressions" version="4.3.0" targetFramework="net48" />
<package id="System.Threading" version="4.3.0" targetFramework="net48" />
<package id="System.Threading.Tasks" version="4.3.0" targetFramework="net48" />
<package id="System.Threading.Timer" version="4.3.0" targetFramework="net48" />
<package id="System.Xml.ReaderWriter" version="4.3.0" targetFramework="net48" />
<package id="System.Xml.XDocument" version="4.3.0" targetFramework="net48" />
</packages>