Compare commits

..

30 Commits

Author SHA1 Message Date
90deaa84b4 Update Scenes and avatar/weapon colors 2023-08-22 22:40:33 +08:00
403cc3fe52 Add GC 1.7 2023-08-22 22:24:01 +08:00
dd4eb36c17 Update Banners from https://github.com/Zhaokugua/Grasscutter_Banners 2023-08-22 22:23:08 +08:00
2645e16bee Add Resources update tool 2023-08-22 22:17:47 +08:00
82668c4c6a Update All 4.0 Ids 2023-08-22 22:17:18 +08:00
8fce4a8995 Update 4.0 Ids(Activity/Dungeon/Weapon) 2023-08-22 00:16:35 +08:00
Deuteriunt
4cfbebcc5a Update Activity/Avatar/Weapon ids(CHS) (#202) 2023-08-20 14:57:40 +08:00
40db4236ba Add Commandline Usages 2023-08-02 18:06:43 +08:00
eef4687ed6 Clean up all code using CodeMaid 2023-08-02 17:43:01 +08:00
e9a3f4014e Remove debug code 2023-08-02 17:27:50 +08:00
749aae02ca Add GC v1.6.3 2023-08-02 17:26:14 +08:00
fc3fd10081 Add Server connection records (close #199) 2023-08-02 17:25:31 +08:00
65e664f35f Add shortcut keys Alt+[0~9] to switch pages (close #201) 2023-07-28 21:21:57 +08:00
ab9a617619 Allows setting individual key as HotKey 2023-07-25 21:17:02 +08:00
f629bc9993 Add HotKey Screenshot 2023-07-22 00:21:06 +08:00
dc7f48139e Update Command versions 2023-07-22 00:14:01 +08:00
da8c511d60 Update version to v1.11.0 2023-07-22 00:11:14 +08:00
eb60f402a4 Add Setting Upgrade 2023-07-22 00:11:01 +08:00
c82ce1ea35 Add HotKey Page (close #190) 2023-07-22 00:10:40 +08:00
9524ea5ab4 Update connection failure text (close #196) 2023-07-21 22:02:53 +08:00
caf18eaa7a Merge branch 'main' of https://github.com/jie65535/GrasscutterCommandGenerator 2023-07-21 21:41:20 +08:00
2cdcb4a599 Update spawn level maximum to 200 (close #198) 2023-07-21 21:41:00 +08:00
Deuteriunt
3407ca61fd Update 3.8 Activity ID (#195)
* main

* Update WeaponColor.txt

* Update 3.8 Activity ID and untranslated sentences

* Remove redundant changes

* Update Weapon.txt

---------

Co-authored-by: jie65535 <jie65535@qq.com>
2023-07-07 23:40:56 +08:00
964b7ced8b Merge pull request #194 from TomyJan/main
add new skins for custom command `All skins`
2023-06-28 21:02:20 +08:00
TomyJan
702267003b add new skins for custom command All skins 2023-06-28 20:52:20 +08:00
abf970b783 Update host url check 2023-06-26 22:56:32 +08:00
6855b6299f Add Kot key utils from https://github.com/jie65535/KeyGo 2023-06-18 18:19:51 +08:00
b77d242bd9 Update version to v1.10.1 2023-06-18 18:02:49 +08:00
01016b1fa1 Fix tips 2023-06-18 18:02:39 +08:00
b2b656b6cb Support for command line arguments (#155) 2023-06-18 18:02:02 +08:00
133 changed files with 26541 additions and 10893 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 25 KiB

View File

@@ -17,8 +17,35 @@ Support 简体中文, 繁體中文, English and Русский languages.
> **Warning**: app look may be different rather than on screenshots. It may also contain translation errors and a lack of certain resources. **We're welcome everyone to contribute to their [improvement](/Source/GrasscutterTools/Resources/en-us)**
## Remote command
The server require [gc-opencommand-plugin](https://github.com/jie65535/gc-opencommand-plugin) support
![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
## Update log
### GrasscutterTools-v1.11
![HotKey](Doc/Screenshots-en/21-HotKey.png)
Commandline Usages:
```bash
GcTools.exe -help
GcTools.exe -version
GcTools.exe -c "cmd arg"
GcTools.exe -c "cmd1 arg" && GcTools -c "cmd2 arg1 arg2"
GcTools.exe -host http://127.0.0.1:443 -token 123456 -c "cmd1 arg1 arg2 | cmd2 | cmd3 arg"
```
### GrasscutterTools-v1.10
![Cutscene](Doc/Screenshots-en/7-ChangeScene.png)
@@ -51,21 +78,6 @@ Added [AttackModifier](https://github.com/NotThorny/AttackModifier), [AttackInfu
![Mail Editor](Doc/Screenshots-en/16-MailEditor.png)
## Remote command
The server require [gc-opencommand-plugin](https://github.com/jie65535/gc-opencommand-plugin) support
![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
---

View File

@@ -16,8 +16,37 @@ GCG поддерживает 简体中文 (китайский упр.), 繁體
> **Warning**: вид приложения может отличаться от скриншотов. Также в нём могут присутствовать ошибки в переводе и отсутсвие некоторых ресурсов. **Мы приглашаем всех сделать вклад в их [улучшение](/Source/GrasscutterTools/Resources/ru-ru)**
## Удаленная команда (OpenCommand)
Чтобы использовать команды прямо из GCG, серверу требуется плагин [gc-opencommand-plugin](https://github.com/jie65535/gc-opencommand-plugin).
![Open Command](Doc/Screenshots/OpenCommand.gif)
> Если вы не можете подключиться к серверу, проверьте правильность написания его URL-адреса.
>
> Рекомендуется изменить секцию HTTP в конфиге как на скриншоте ниже (конфиг - файл config.json):
>
> ![ConfigHttp](Doc/Screenshots/ConfigHttp.png)
>
> Для проверки можете посетить http://127.0.0.1/status/server в браузере, чтобы проверить работоспособность OpenCommand.
>
> Если вы не указали порт `80` в конфиге, вам нужно указать свой порт в URL-адресе (например, http://127.0.0.1:443)
## Лог обновлений
### GrasscutterTools-v1.11
![HotKey](Doc/Screenshots-en/21-HotKey.png)
Commandline Usages:
```bash
GcTools.exe -help
GcTools.exe -version
GcTools.exe -c "cmd arg"
GcTools.exe -c "cmd1 arg" && GcTools -c "cmd2 arg1 arg2"
GcTools.exe -host http://127.0.0.1:443 -token 123456 -c "cmd1 arg1 arg2 | cmd2 | cmd3 arg"
```
### GrasscutterTools-v1.10
![Cutscene](Doc/Screenshots-ru/12-Scenes.png)
@@ -50,22 +79,6 @@ GCG поддерживает 简体中文 (китайский упр.), 繁體
![Редактор писем](Doc/Screenshots-ru/10-Mail.png)
## Удаленная команда (OpenCommand)
Чтобы использовать команды прямо из GCG, серверу требуется плагин [gc-opencommand-plugin](https://github.com/jie65535/gc-opencommand-plugin).
![Open Command](Doc/Screenshots/OpenCommand.gif)
> Если вы не можете подключиться к серверу, проверьте правильность написания его URL-адреса.
>
> Рекомендуется изменить секцию HTTP в конфиге как на скриншоте ниже (конфиг - файл config.json):
>
> ![ConfigHttp](Doc/Screenshots/ConfigHttp.png)
>
> Для проверки можете посетить http://127.0.0.1/status/server в браузере, чтобы проверить работоспособность OpenCommand.
>
> Если вы не указали порт `80` в конфиге, вам нужно указать свой порт в URL-адресе (например, http://127.0.0.1:443)
---
## Скриншоты

View File

@@ -17,8 +17,36 @@
> **Warning**: 应用程序的外观可能与截图上的不同。它也可能包含翻译错误和缺乏某些资源。**我们欢迎各位为此工具做出贡献并<a href="./Source/GrasscutterTools/Resources/zh-cn">改进</a> : )**
## 远程执行
服务端需要 [gc-opencommand-plugin](https://github.com/jie65535/gc-opencommand-plugin) 插件支持
![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
## 更新概要
### GrasscutterTools-v1.11
![HotKey](Doc/Screenshots/21-HotKey.png)
命令行用法:
```bash
GcTools.exe -help
GcTools.exe -version
GcTools.exe -c "cmd arg"
GcTools.exe -c "cmd1 arg" && GcTools -c "cmd2 arg1 arg2"
GcTools.exe -host http://127.0.0.1:443 -token 123456 -c "cmd1 arg1 arg2 | cmd2 | cmd3 arg"
```
### GrasscutterTools-v1.10
![Cutscene](Doc/Screenshots/7-ChangeScene.png)
@@ -55,21 +83,6 @@
![Mail Editor](Doc/Screenshots/16-MailEditor.png)
## 远程执行
服务端需要 [gc-opencommand-plugin](https://github.com/jie65535/gc-opencommand-plugin) 插件支持
![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
---
## 软件截图

View File

@@ -17,8 +17,35 @@
> **Warning**: 程式中的實際外觀可能會與截圖中的內容不同。其中也可能包含翻譯錯誤及缺乏特定資源。**我們歡迎各位為此工具做出貢獻並[改進](/Source/GrasscutterTools/Resources/zh-tw)**
## 遠端控制
伺服器需要安裝 [gc-opencommand-plugin](https://github.com/jie65535/gc-opencommand-plugin) 插件
![OpenCommand](Doc/Screenshots-tw/OpenCommand.gif)
> 如果你無法連接至伺服器,請確認輸入的伺服器位址是否正確。
>
> 建議將伺服器調整為HTTP模式如下圖所示(config.json):
> ![ConfigHttp](Doc/Screenshots-tw/ConfigHttp.png)
>
> 你可藉由任何瀏覽器輸入網址 http://127.0.0.1/status/server 以測試伺服器是否正常運作。
>
> 如果你並非使用`80`端口, 則須在網址後輸入指定端口: http://127.0.0.1:443
## 更新日誌
### GrasscutterTools-v1.11
![HotKey](Doc/Screenshots/21-HotKey.png)
Commandline Usages:
```bash
GcTools.exe -help
GcTools.exe -version
GcTools.exe -c "cmd arg"
GcTools.exe -c "cmd1 arg" && GcTools -c "cmd2 arg1 arg2"
GcTools.exe -host http://127.0.0.1:443 -token 123456 -c "cmd1 arg1 arg2 | cmd2 | cmd3 arg"
```
### GrasscutterTools-v1.10
![Cutscene](Doc/Screenshots-tw/7-ChangeScene.png)
@@ -55,21 +82,6 @@
![Mail Editor](Doc/Screenshots-tw/16-MailEditor.png)
## 遠端控制
伺服器需要安裝 [gc-opencommand-plugin](https://github.com/jie65535/gc-opencommand-plugin) 插件
![OpenCommand](Doc/Screenshots-tw/OpenCommand.gif)
> 如果你無法連接至伺服器,請確認輸入的伺服器位址是否正確。
>
> 建議將伺服器調整為HTTP模式如下圖所示(config.json):
> ![ConfigHttp](Doc/Screenshots-tw/ConfigHttp.png)
>
> 你可藉由任何瀏覽器輸入網址 http://127.0.0.1/status/server 以測試伺服器是否正常運作。
>
> 如果你並非使用`80`端口, 則須在網址後輸入指定端口: http://127.0.0.1:443
---

View File

@@ -73,6 +73,9 @@
<setting name="ProjectResourcePath" serializeAs="String">
<value />
</setting>
<setting name="IsUpgraded" serializeAs="String">
<value>False</value>
</setting>
</GrasscutterTools.Properties.Settings>
</userSettings>
</configuration>

View File

@@ -29,6 +29,7 @@ using GrasscutterTools.Game;
using GrasscutterTools.Game.Gacha;
using GrasscutterTools.Properties;
using GrasscutterTools.Utils;
using Newtonsoft.Json;
namespace GrasscutterTools.Forms
@@ -504,6 +505,5 @@ namespace GrasscutterTools.Forms
}
#endregion - -
}
}

View File

@@ -44,6 +44,22 @@ namespace GrasscutterTools.Forms
if (DesignMode) return;
Common.KeyGo = new KeyGo(Handle);
Common.KeyGo.HotKeyTriggerEvent += OnHotKeyTrigger;
try
{
if (!Settings.Default.IsUpgraded)
{
Settings.Default.Upgrade();
Settings.Default.IsUpgraded = true;
}
}
catch (Exception ex)
{
Logger.W(TAG, "Upgrade Settings failed.", ex);
}
try
{
var location = Settings.Default.MainFormLocation;
@@ -94,7 +110,21 @@ namespace GrasscutterTools.Forms
ph.OnLanguageChanged = () => FormMain_Load(this, EventArgs.Empty);
var poc = CreatePage<PageOpenCommand>();
poc.ShowTipInRunButton = msg => ShowTip(msg, BtnInvokeOpenCommand);
CreatePage<PageCustomCommands>();
var pcc = CreatePage<PageCustomCommands>();
var phk = CreatePage<PageHotKey>();
pcc.OnAddHotKey = tag =>
{
phk.AddNewHotKey(tag);
// 跳转到快捷键界面
for (var i = 0; i < TCMain.Controls.Count; i++)
{
if (TCMain.Controls[i].Controls[0] == phk)
{
ListPages.SelectedIndex = i;
break;
}
}
};
CreatePage<PageGiveArtifact>();
CreatePage<PageSpawn>();
CreatePage<PageGiveItem>();
@@ -126,6 +156,7 @@ namespace GrasscutterTools.Forms
Resources.PageHomeTitle,
Resources.PageOpenCommandTitle,
Resources.PageCustomCommandsTitle,
Resources.PageHotKey,
Resources.PageGetArtifactTitle,
Resources.PageSpawnTitle,
Resources.PageGiveItemTitle,
@@ -274,6 +305,32 @@ namespace GrasscutterTools.Forms
#endregion - Init -
#region - HotKey -
/// <summary>
/// 快捷键触发时执行
/// </summary>
private void OnHotKeyTrigger(object sender, HotKeyTriggerEventArgs e)
{
BeginInvoke(new Func<Task>(() => RunRawCommands(e.HotKeyItem.Commands)));
e.Handle = true;
}
private const int WM_HOTKEY = 0x312;
protected override void WndProc(ref Message m)
{
base.WndProc(ref m);
switch (m.Msg)
{
case WM_HOTKEY:
Common.KeyGo.ProcessHotKey(m.WParam.ToInt32());
break;
}
}
#endregion - HotKey -
#region - Command -
/// <summary>
@@ -375,10 +432,20 @@ namespace GrasscutterTools.Forms
ShowTip(Resources.CommandContentCannotBeEmpty, CmbCommand);
return;
}
if (cmd.IndexOf('|') == -1)
await RunCommands(FormatCommand(cmd));
else
await RunCommands(cmd.Split('|').Select(it => FormatCommand(it)).ToArray());
await RunRawCommands(cmd);
}
/// <summary>
/// 运行原始命令
/// </summary>
/// <param name="commands">命令字符串</param>
/// <returns>是否执行成功</returns>
private async Task<bool> RunRawCommands(string commands)
{
if (commands.IndexOf('|') == -1)
return await RunCommands(FormatCommand(commands));
return await RunCommands(commands.Split('|').Select(FormatCommand).ToArray());
}
/// <summary>
@@ -514,6 +581,13 @@ namespace GrasscutterTools.Forms
// F5 为执行命令
OnOpenCommandInvoke();
}
else if (e.Alt && e.KeyCode >= Keys.D0 && e.KeyCode <= Keys.D9)
{
// Alt+数字键 = 跳转到对应页面
var i = e.KeyCode == Keys.D0 ? 9 : e.KeyCode - Keys.D1;
if (i < ListPages.Items.Count)
ListPages.SelectedIndex = i;
}
}
/// <summary>
@@ -528,10 +602,14 @@ namespace GrasscutterTools.Forms
/// <param name="control">控件</param>
private void ShowTip(string message, Control control)
{
if (InvokeRequired)
{
BeginInvoke(new Action(() => ShowTip(message, control)));
return;
}
TTip.Show(message, control, 0, control.Size.Height, 3000);
}
#endregion - General -
}
}

View File

@@ -62,4 +62,4 @@ namespace GrasscutterTools.Game.Activity
[JsonProperty("endTime")]
public DateTime EndTime { get; set; }
}
}
}

View File

@@ -29,4 +29,4 @@ namespace GrasscutterTools.Game.Activity
[JsonProperty("nameTextMapHash")]
public string NameTextMapHash { get; set; }
}
}
}

View File

@@ -142,11 +142,36 @@ namespace GrasscutterTools.Game
/// </summary>
public static readonly Version V1_5_0 = new Version(1, 5, 0);
/// <summary>
/// 2023/6/1
/// </summary>
public static readonly Version V1_6_0 = new Version(1, 6, 0);
/// <summary>
/// 2023/6/2
/// </summary>
public static readonly Version V1_6_1 = new Version(1, 6, 1);
/// <summary>
/// 2023/7/1
/// </summary>
public static readonly Version V1_6_2 = new Version(1, 6, 2);
/// <summary>
/// 2023/8/1
/// </summary>
public static readonly Version V1_6_3 = new Version(1, 6, 3);
/// <summary>
/// 2023/??
/// </summary>
public static readonly Version V1_7_0 = new Version(1, 7, 0);
// More...
/// <summary>
/// Date
/// </summary>
//public static readonly Version V1_4_4 = new Version(1, 4, 4);
//public static readonly Version V1_6_3 = new Version(1, 6, 3);
public static Version[] List { get; } = new Version[] {
V1_2_1,
@@ -160,7 +185,11 @@ namespace GrasscutterTools.Game
V1_4_3,
V1_4_7,
V1_5_0,
//V1_5_1,
V1_6_0,
V1_6_1,
V1_6_2,
V1_6_3,
V1_7_0,
};
#endregion - Version List -

View File

@@ -29,4 +29,4 @@ namespace GrasscutterTools.Game.CutScene
[JsonProperty("path")]
public string Path { get; set; }
}
}
}

View File

@@ -0,0 +1,13 @@
using Newtonsoft.Json;
namespace GrasscutterTools.Game.Data.Excels
{
[ResourceType("AchievementExcelConfigData.json")]
internal class AchievementData : GameResource
{
[JsonProperty("isDisuse")]
public bool IsDisuse { get; set; }
public bool IsUsed => !IsDisuse;
}
}

View File

@@ -0,0 +1,14 @@
using GrasscutterTools.Game.Props;
using Newtonsoft.Json;
using Newtonsoft.Json.Converters;
namespace GrasscutterTools.Game.Data.Excels
{
[ResourceType("AvatarExcelConfigData.json")]
internal class AvatarData : GameResource
{
[JsonProperty("qualityType"), JsonConverter(typeof(StringEnumConverter))]
public QualityType QualityType { get; set; }
}
}

View File

@@ -0,0 +1,7 @@
namespace GrasscutterTools.Game.Data.Excels
{
[ResourceType("DungeonExcelConfigData.json")]
internal class DungeonData : GameResource
{
}
}

View File

@@ -0,0 +1,13 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace GrasscutterTools.Game.Data.Excels
{
[ResourceType("GadgetExcelConfigData.json")]
internal class GadgetData
{
}
}

View File

@@ -0,0 +1,14 @@
using Newtonsoft.Json;
namespace GrasscutterTools.Game.Data.Excels
{
[ResourceType("HomeWorldBgmExcelConfigData.json")]
internal class HomeWorldBgmData : GameResource
{
[JsonProperty("homeBgmId")]
public override int Id { get; set; }
[JsonProperty("bgmNameTextMapHash")]
public long BgmNameTextMapHash { get; set; }
}
}

View File

@@ -0,0 +1,7 @@
namespace GrasscutterTools.Game.Data.Excels
{
[ResourceType("HomeWorldFurnitureExcelConfigData.json")]
internal class HomeWorldFurnitureData : GameResource
{
}
}

View File

@@ -0,0 +1,9 @@
using Newtonsoft.Json;
namespace GrasscutterTools.Game.Data.Excels
{
[ResourceType("MainQuestExcelConfigData.json")]
internal class MainQuestData : GameResource
{
}
}

View File

@@ -0,0 +1,22 @@
using System.Collections.Generic;
using GrasscutterTools.Game.Inventory;
using GrasscutterTools.Game.Props;
using Newtonsoft.Json;
using Newtonsoft.Json.Converters;
namespace GrasscutterTools.Game.Data.Excels
{
[ResourceType("MaterialExcelConfigData.json")]
internal class MaterialData : GameResource
{
[JsonProperty("itemType"), JsonConverter(typeof(StringEnumConverter))]
public ItemType ItemType { get; set; }
[JsonProperty("materialType"), JsonConverter(typeof(StringEnumConverter))]
public MaterialType MaterialType { get; set; }
[JsonProperty("itemUse")]
public List<ItemUseData> ItemUse { get; set; }
}
}

View File

@@ -0,0 +1,15 @@
using GrasscutterTools.Game.Props;
using Newtonsoft.Json;
namespace GrasscutterTools.Game.Data.Excels
{
[ResourceType("MonsterExcelConfigData.json")]
internal class MonsterData : GameResource
{
[JsonProperty("monsterName")]
public string MonsterName { get; set; }
[JsonProperty("type")]
public MonsterType Type { get; set; }
}
}

View File

@@ -0,0 +1,17 @@
using Newtonsoft.Json;
namespace GrasscutterTools.Game.Data.Excels
{
[ResourceType("QuestExcelConfigData.json")]
internal class QuestData : GameResource
{
[JsonProperty("subId")]
public override int Id { get; set; }
[JsonProperty("mainId")]
public int MainId { get; set; }
[JsonProperty("order")]
public int Order { get; set; }
}
}

View File

@@ -0,0 +1,7 @@
namespace GrasscutterTools.Game.Data.Excels
{
[ResourceType("ReliquaryExcelConfigData.json")]
internal class ReliquaryData : GameResource
{
}
}

View File

@@ -0,0 +1,15 @@
using GrasscutterTools.Game.Props;
using Newtonsoft.Json;
namespace GrasscutterTools.Game.Data.Excels
{
[ResourceType("SceneExcelConfigData.json")]
internal class SceneData : GameResource
{
[JsonProperty("type")]
public SceneType SceneType { get; set; }
[JsonProperty("scriptData")]
public string ScriptData { get; set; }
}
}

View File

@@ -0,0 +1,11 @@
using Newtonsoft.Json;
namespace GrasscutterTools.Game.Data.Excels
{
[ResourceType("WeaponExcelConfigData.json")]
internal class WeaponData : GameResource
{
[JsonProperty("rankLevel")]
public int RankLevel { get; set; }
}
}

View File

@@ -0,0 +1,19 @@
using Newtonsoft.Json;
namespace GrasscutterTools.Game.Data
{
internal abstract class GameResource
{
[JsonProperty("id")]
public virtual int Id { get; set; }
[JsonProperty("nameTextMapHash")]
public long NameTextMapHash { get; set; }
[JsonProperty("titleTextMapHash")]
public string TitleTextMapHash { get; set; }
[JsonProperty("descTextMapHash")]
public long DescTextMapHash { get; set; }
}
}

View File

@@ -0,0 +1,269 @@
using System;
using System.Collections;
using System.Collections.Generic;
using System.Globalization;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading;
using GrasscutterTools.Game.Data.Excels;
using GrasscutterTools.Game.Inventory;
using GrasscutterTools.Game.Props;
using GrasscutterTools.GOOD;
using GrasscutterTools.Utils;
using Newtonsoft.Json;
namespace GrasscutterTools.Game.Data
{
internal class GameResources
{
public Dictionary<int, AchievementData> AchievementData { get; set; }
public Dictionary<int, AvatarData> AvatarData { get; set; }
public Dictionary<int, HomeWorldBgmData> HomeWorldBgmData { get; set; }
public Dictionary<int, DungeonData> DungeonData { get; set; }
public Dictionary<int, HomeWorldFurnitureData> HomeWorldFurnitureData { get; set; }
public Dictionary<int, MainQuestData> MainQuestData { get; set; }
public Dictionary<int, QuestData> QuestData { get; set; }
public Dictionary<int, MaterialData> MaterialData { get; set; }
public Dictionary<int, MonsterData> MonsterData { get; set; }
public Dictionary<int, ReliquaryData> ReliquaryData { get; set; }
public Dictionary<int, SceneData> SceneData { get; set; }
public Dictionary<int, WeaponData> WeaponData { get; set; }
public TextMapData TextMapData { get; set; }
public GameResources(string resourcesDirPath, TextMapData textMapData)
{
TextMapData = textMapData;
var properties = typeof(GameResources).GetProperties();
foreach (var property in properties)
{
var type = property.PropertyType;
if (!type.IsGenericType) continue;
var gameResourceType = type.GetGenericArguments()[1];
var attributes = (ResourceTypeAttribute[])gameResourceType.GetCustomAttributes(typeof(ResourceTypeAttribute), true);
if (attributes.Length < 1) continue;
var dataFile = Path.Combine(resourcesDirPath, "ExcelBinOutput", attributes[0].Name);
var data = LoadDataFile(gameResourceType, dataFile);
property.SetValue(this, data, null);
}
var illegalWeaponIds = new SparseSet(
"10000-10008, 11411, 11506-11508, 12505, 12506, 12508, 12509," +
"13503, 13506, 14411, 14503, 14505, 14508, 15504-15506, 20001");
foreach (var id in WeaponData.Keys.Where(id => illegalWeaponIds.Contains(id)).ToList())
WeaponData.Remove(id);
var illegalRelicIds = new SparseSet(
"20002, 20004, 23300-24825"
);
//var illegalRelicIds = new SparseSet(
// "20001, 23300-23340, 23383-23385, 78310-78554, 99310-99554"
//);
foreach (var id in ReliquaryData.Keys.Where(id => illegalRelicIds.Contains(id)).ToList())
ReliquaryData.Remove(id);
var illegalItemIds = new SparseSet(
"3004-3008, 3018-3022"
);
//var illegalItemIds = new SparseSet(
// "3004-3008, 3018-3022, 100086, 100087, 100100-101000, 101106-101110, 101306, 101500-104000," +
// "105001, 105004, 106000-107000, 107011, 108000, 109000-110000," +
// "115000-130000, 200200-200899, 220050, 220054"
//);
foreach (var id in MaterialData.Keys.Where(id => illegalItemIds.Contains(id)).ToList())
MaterialData.Remove(id);
foreach (var id in AvatarData.Keys.Where(id => id < 10000002 || id >= 11000000).ToList())
AvatarData.Remove(id);
}
private static object LoadDataFile(Type type, string path)
{
var list = (IList)JsonConvert.DeserializeObject(File.ReadAllText(path), typeof(List<>).MakeGenericType(type));
if (list == null) return null;
var dicType = typeof(Dictionary<,>).MakeGenericType(typeof(int), type);
var dic = (IDictionary)Activator.CreateInstance(dicType);
foreach (GameResource gameResource in list)
dic.Add(gameResource.Id, gameResource);
return dic;
}
private Dictionary<string, string> Languages = new Dictionary<string, string>
{
["zh-cn"] = "TextMapCHS",
["zh-tw"] = "TextMapCHT",
["en-us"] = "TextMapEN",
["ru-ru"] = "TextMapRU",
};
public void ConvertResources(string projectResourcesDir)
{
var currentCultureInfo = Thread.CurrentThread.CurrentUICulture;
try
{
var sb = new StringBuilder(MaterialData.Count * 24);
foreach (var language in Languages)
{
var dir = Path.Combine(projectResourcesDir, language.Key);
TextMapData.LoadTextMap(TextMapData.TextMapFilePaths[Array.IndexOf(TextMapData.TextMapFiles, language.Value)]);
Thread.CurrentThread.CurrentUICulture = new CultureInfo(language.Key);
GameData.LoadResources();
File.WriteAllLines(
Path.Combine(dir, "Achievement.txt"),
AchievementData.Values.Where(it => it.IsUsed)
.Select(it => $"{it.Id}:{TextMapData.GetText(it.TitleTextMapHash.ToString())} - {TextMapData.GetText(it.DescTextMapHash.ToString())}"),
Encoding.UTF8);
File.WriteAllLines(
Path.Combine(dir, "Artifact.txt"),
ReliquaryData.Values.OrderBy(it => it.Id).Select(it => $"{it.Id}:{TextMapData.GetText(it.NameTextMapHash.ToString())}"),
Encoding.UTF8);
File.WriteAllLines(
Path.Combine(dir, "Avatar.txt"),
MaterialData.Values
.Where(it => it.MaterialType == MaterialType.MATERIAL_AVATAR)
.Select(it => $"{it.Id}:{TextMapData.GetText(it.NameTextMapHash.ToString())}"),
Encoding.UTF8);
File.WriteAllLines(
Path.Combine(dir, "Dungeon.txt"),
DungeonData.Values.Select(it => $"{it.Id}:{TextMapData.GetText(it.NameTextMapHash.ToString())}"),
Encoding.UTF8);
sb.Clear();
foreach (var itemTypes in MaterialData.Values.GroupBy(it => it.ItemType))
{
sb.Append("// ").AppendLine(itemTypes.Key.ToTranslatedString(language.Key));
if (itemTypes.Key == ItemType.ITEM_MATERIAL)
{
foreach (var m in itemTypes
.GroupBy(it => it.MaterialType)
.Where(it => it.Key != MaterialType.MATERIAL_NONE)
.OrderBy(it => it.Average(m => m.Id)))
{
sb.Append("// ").AppendLine(m.Key.ToTranslatedString(language.Key));
if (m.Key == MaterialType.MATERIAL_BGM)
{
foreach (var materialData in m)
sb.AppendFormat("{0}:{1} - {2}",
materialData.Id,
TextMapData.GetText(materialData.NameTextMapHash.ToString()),
TextMapData.GetText(HomeWorldBgmData[int.Parse(materialData.ItemUse[0].UseParam[0])].BgmNameTextMapHash.ToString())
).AppendLine();
}
else
{
foreach (var materialData in m)
sb.AppendFormat("{0}:{1}", materialData.Id, TextMapData.GetText(materialData.NameTextMapHash.ToString())).AppendLine();
}
sb.AppendLine();
}
}
else
{
foreach (var materialData in itemTypes)
sb.AppendFormat("{0}:{1}", materialData.Id, TextMapData.GetText(materialData.NameTextMapHash.ToString())).AppendLine();
sb.AppendLine();
}
}
sb.Append("// ").AppendLine(ItemType.ITEM_FURNITURE.ToTranslatedString(language.Key));
foreach (var value in HomeWorldFurnitureData.Values)
sb.AppendFormat("{0}:{1}", value.Id, TextMapData.GetText(value.NameTextMapHash.ToString())).AppendLine();
File.WriteAllText(Path.Combine(dir, "Item.txt"), sb.ToString(), Encoding.UTF8);
sb.Clear();
foreach (var monsterType in MonsterData.Values.OrderBy(it => it.Id)
.GroupBy(it => it.Type)
.OrderBy(it => it.Key))
{
sb.Append("// ").AppendLine(monsterType.Key.ToTranslatedString(language.Key));
foreach (var monsterData in monsterType)
{
if (TextMapData.TryGetText(monsterData.NameTextMapHash.ToString(), out var text))
{
sb.AppendFormat("{0}:{1}", monsterData.Id, text);
}
else
{
var name = GameData.Monsters[monsterData.Id];
if (name == ItemMap.EmptyName)
sb.AppendFormat("{0}:{1} - {2}", monsterData.Id, monsterData.MonsterName, text);
else
sb.AppendFormat("{0}:{1}", monsterData.Id, name);
}
sb.AppendLine();
}
sb.AppendLine();
}
File.WriteAllText(
Path.Combine(dir, "Monsters.txt"),
sb.ToString(),
Encoding.UTF8);
File.WriteAllLines(
Path.Combine(dir, "Quest.txt"),
QuestData.Values.OrderBy(it => it.Id).Select(it => $"{it.Id}:{TextMapData.GetText(MainQuestData[it.MainId].TitleTextMapHash)} - {TextMapData.GetText(it.DescTextMapHash.ToString())}"),
Encoding.UTF8);
sb.Clear();
foreach (var it in SceneData.Values.OrderBy(it => it.Id))
{
var name = GameData.Scenes[it.Id];
sb.AppendLine($"{it.Id}:{(name == ItemMap.EmptyName ? it.ScriptData : name)}");
}
File.WriteAllText(
Path.Combine(dir, "Scene.txt"),
sb.ToString(),
Encoding.UTF8);
File.WriteAllLines(
Path.Combine(dir, "Weapon.txt"),
WeaponData.Values.Select(it => $"{it.Id}:{TextMapData.GetText(it.NameTextMapHash.ToString())}"),
Encoding.UTF8);
}
File.WriteAllLines(
Path.Combine(projectResourcesDir, "AvatarColor.txt"),
AvatarData.Values.Select(it => $"{it.Id % 1000 + 1000}:{(int)it.QualityType}"),
Encoding.UTF8);
File.WriteAllLines(
Path.Combine(projectResourcesDir, "WeaponColor.txt"),
WeaponData.Values.Select(it => $"{it.Id}:{(it.RankLevel >= 5 ? "yellow" : it.RankLevel >= 4 ? "purple" : "blue")}"),
Encoding.UTF8);
}
finally
{
Thread.CurrentThread.CurrentUICulture = currentCultureInfo;
}
}
}
}

View File

@@ -0,0 +1,15 @@
using System;
namespace GrasscutterTools.Game.Data
{
[AttributeUsage(AttributeTargets.Class, Inherited = false)]
public class ResourceTypeAttribute : Attribute
{
public string Name { get; set; }
public ResourceTypeAttribute(string name)
{
Name = name;
}
}
}

View File

@@ -29,4 +29,4 @@ namespace GrasscutterTools.Game.Dungeon
[JsonProperty("nameTextMapHash")]
public string NameTextMapHash { get; set; }
}
}
}

View File

@@ -0,0 +1,48 @@

// ReSharper disable InconsistentNaming
using System.Collections.Generic;
namespace GrasscutterTools.Game.Inventory
{
internal enum ItemType
{
ITEM_NONE = 0,
ITEM_VIRTUAL = 1,
ITEM_MATERIAL = 2,
ITEM_RELIQUARY = 3,
ITEM_WEAPON = 4,
ITEM_DISPLAY = 5,
ITEM_FURNITURE = 6,
}
internal static class ItemTypeExtension
{
private static readonly Dictionary<ItemType, string> TextMapCHS = new Dictionary<ItemType, string>
{
[ItemType.ITEM_NONE] = "未分类",
[ItemType.ITEM_VIRTUAL] = "虚拟道具",
[ItemType.ITEM_MATERIAL] = "材料",
[ItemType.ITEM_RELIQUARY] = "圣遗物",
[ItemType.ITEM_WEAPON] = "物品",
[ItemType.ITEM_DISPLAY] = "任务",
[ItemType.ITEM_FURNITURE] = "尘歌壶摆设",
};
private static readonly Dictionary<ItemType, string> TextMapEN = new Dictionary<ItemType, string>
{
[ItemType.ITEM_NONE] = "None",
[ItemType.ITEM_VIRTUAL] = "Virtual",
[ItemType.ITEM_MATERIAL] = "Material",
[ItemType.ITEM_RELIQUARY] = "Reliquary",
[ItemType.ITEM_WEAPON] = "Weapon",
[ItemType.ITEM_DISPLAY] = "Display",
[ItemType.ITEM_FURNITURE] = "Furniture",
};
public static string ToTranslatedString(this ItemType materialType, string language)
{
return language.StartsWith("zh") ? TextMapCHS[materialType] : TextMapEN[materialType];
}
}
}

View File

@@ -0,0 +1,175 @@

// ReSharper disable InconsistentNaming
// ReSharper disable IdentifierTypo
using System;
using System.Collections.Generic;
namespace GrasscutterTools.Game.Inventory
{
/// <summary>
/// 材料类型
/// </summary>
internal enum MaterialType
{
MATERIAL_NONE = 0,
MATERIAL_FOOD = 1,
MATERIAL_QUEST = 2,
MATERIAL_EXCHANGE = 4,
MATERIAL_CONSUME = 5,
MATERIAL_EXP_FRUIT = 6,
MATERIAL_AVATAR = 7,
MATERIAL_ADSORBATE = 8,
MATERIAL_CRICKET = 9,
MATERIAL_ELEM_CRYSTAL = 10,
MATERIAL_WEAPON_EXP_STONE = 11,
MATERIAL_CHEST = 12,
MATERIAL_RELIQUARY_MATERIAL = 13,
MATERIAL_AVATAR_MATERIAL = 14,
MATERIAL_NOTICE_ADD_HP = 15,
MATERIAL_SEA_LAMP = 16,
MATERIAL_SELECTABLE_CHEST = 17,
MATERIAL_FLYCLOAK = 18,
MATERIAL_NAMECARD = 19,
MATERIAL_TALENT = 20,
MATERIAL_WIDGET = 21,
MATERIAL_CHEST_BATCH_USE = 22,
MATERIAL_FAKE_ABSORBATE = 23,
MATERIAL_CONSUME_BATCH_USE = 24,
MATERIAL_WOOD = 25,
MATERIAL_FURNITURE_FORMULA = 27,
MATERIAL_CHANNELLER_SLAB_BUFF = 28,
MATERIAL_FURNITURE_SUITE_FORMULA = 29,
MATERIAL_COSTUME = 30,
MATERIAL_HOME_SEED = 31,
MATERIAL_FISH_BAIT = 32,
MATERIAL_FISH_ROD = 33,
MATERIAL_SUMO_BUFF = 34, // sumo 活动道具never appear
MATERIAL_FIREWORKS = 35,
MATERIAL_BGM = 36,
MATERIAL_SPICE_FOOD = 37,
MATERIAL_ACTIVITY_ROBOT = 38,
MATERIAL_ACTIVITY_GEAR = 39,
MATERIAL_ACTIVITY_JIGSAW = 40,
MATERIAL_ARANARA = 41,
MATERIAL_GCG_CARD = 42,
MATERIAL_GCG_CARD_FACE = 43, // 影幻卡面
MATERIAL_GCG_CARD_BACK = 44,
MATERIAL_GCG_FIELD = 45,
MATERIAL_DESHRET_MANUAL = 46,
MATERIAL_RENAME_ITEM = 47,
MATERIAL_GCG_EXCHANGE_ITEM = 48,
MATERIAL_QUEST_EVENT_BOOK = 49,
}
internal static class MaterialTypeExtension
{
private static readonly Dictionary<MaterialType, string> TextMapCHS = new Dictionary<MaterialType, string>
{
[MaterialType.MATERIAL_NONE] = "空",
[MaterialType.MATERIAL_FOOD] = "食物",
[MaterialType.MATERIAL_QUEST] = "任务",
[MaterialType.MATERIAL_EXCHANGE] = "收集物",
[MaterialType.MATERIAL_CONSUME] = "消耗品",
[MaterialType.MATERIAL_EXP_FRUIT] = "经验书",
[MaterialType.MATERIAL_AVATAR] = "角色",
[MaterialType.MATERIAL_ADSORBATE] = "能量球",
[MaterialType.MATERIAL_CRICKET] = "蛐蛐",
[MaterialType.MATERIAL_ELEM_CRYSTAL] = "神瞳",
[MaterialType.MATERIAL_WEAPON_EXP_STONE] = "武器锻造矿",
[MaterialType.MATERIAL_CHEST] = "宝箱",
[MaterialType.MATERIAL_RELIQUARY_MATERIAL] = "圣遗物经验瓶",
[MaterialType.MATERIAL_AVATAR_MATERIAL] = "角色天赋材料",
[MaterialType.MATERIAL_NOTICE_ADD_HP] = "回血食物",
[MaterialType.MATERIAL_SEA_LAMP] = "海灯节",
[MaterialType.MATERIAL_SELECTABLE_CHEST] = "自选礼包",
[MaterialType.MATERIAL_FLYCLOAK] = "风之翼",
[MaterialType.MATERIAL_NAMECARD] = "名片卡",
[MaterialType.MATERIAL_TALENT] = "天赋材料",
[MaterialType.MATERIAL_WIDGET] = "装饰物",
[MaterialType.MATERIAL_CHEST_BATCH_USE] = "礼包",
[MaterialType.MATERIAL_FAKE_ABSORBATE] = "MATERIAL_FAKE_ABSORBATE",
[MaterialType.MATERIAL_CONSUME_BATCH_USE] = "树脂",
[MaterialType.MATERIAL_WOOD] = "树木",
[MaterialType.MATERIAL_FURNITURE_FORMULA] = "尘歌壶室内摆设",
[MaterialType.MATERIAL_CHANNELLER_SLAB_BUFF] = "增益Buff",
[MaterialType.MATERIAL_FURNITURE_SUITE_FORMULA] = "尘歌壶摆设套装",
[MaterialType.MATERIAL_COSTUME] = "皮肤",
[MaterialType.MATERIAL_HOME_SEED] = "种子",
[MaterialType.MATERIAL_FISH_BAIT] = "鱼饵",
[MaterialType.MATERIAL_FISH_ROD] = "鱼竿",
[MaterialType.MATERIAL_SUMO_BUFF] = "MATERIAL_SUMO_BUFF",
[MaterialType.MATERIAL_FIREWORKS] = "烟花",
[MaterialType.MATERIAL_BGM] = "旋曜玉帛",
[MaterialType.MATERIAL_SPICE_FOOD] = "香气四溢的食物",
[MaterialType.MATERIAL_ACTIVITY_ROBOT] = "活动-兑换券",
[MaterialType.MATERIAL_ACTIVITY_GEAR] = "活动-齿轮",
[MaterialType.MATERIAL_ACTIVITY_JIGSAW] = "活动-部件",
[MaterialType.MATERIAL_ARANARA] = "兰纳罗",
[MaterialType.MATERIAL_GCG_CARD] = "七圣召唤-卡片",
[MaterialType.MATERIAL_GCG_CARD_FACE] = "七圣召唤-卡片-正面",
[MaterialType.MATERIAL_GCG_CARD_BACK] = "七圣召唤-卡片-背面",
[MaterialType.MATERIAL_GCG_FIELD] = "七圣召唤-卡片-场地",
[MaterialType.MATERIAL_DESHRET_MANUAL] = "沙漠书",
[MaterialType.MATERIAL_RENAME_ITEM] = "改名卡",
[MaterialType.MATERIAL_GCG_EXCHANGE_ITEM] = "七圣召唤-特殊卡",
[MaterialType.MATERIAL_QUEST_EVENT_BOOK] = "案件记录册",
};
private static readonly Dictionary<MaterialType, string> TextMapEN = new Dictionary<MaterialType, string>
{
[MaterialType.MATERIAL_NONE] = "None",
[MaterialType.MATERIAL_FOOD] = "Food",
[MaterialType.MATERIAL_QUEST] = "Quest",
[MaterialType.MATERIAL_EXCHANGE] = "Exchange",
[MaterialType.MATERIAL_CONSUME] = "Consume",
[MaterialType.MATERIAL_EXP_FRUIT] = "Exp_fruit",
[MaterialType.MATERIAL_AVATAR] = "Avatar",
[MaterialType.MATERIAL_ADSORBATE] = "Adsorbate",
[MaterialType.MATERIAL_CRICKET] = "Cricket",
[MaterialType.MATERIAL_ELEM_CRYSTAL] = "Elem_crystal",
[MaterialType.MATERIAL_WEAPON_EXP_STONE] = "Weapon_exp_stone",
[MaterialType.MATERIAL_CHEST] = "Chest",
[MaterialType.MATERIAL_RELIQUARY_MATERIAL] = "Reliquary_material",
[MaterialType.MATERIAL_AVATAR_MATERIAL] = "Avatar_material",
[MaterialType.MATERIAL_NOTICE_ADD_HP] = "Notice_add_hp",
[MaterialType.MATERIAL_SEA_LAMP] = "Sea_lamp",
[MaterialType.MATERIAL_SELECTABLE_CHEST] = "Selectable_chest",
[MaterialType.MATERIAL_FLYCLOAK] = "Flycloak",
[MaterialType.MATERIAL_NAMECARD] = "Namecard",
[MaterialType.MATERIAL_TALENT] = "Talent",
[MaterialType.MATERIAL_WIDGET] = "Widget",
[MaterialType.MATERIAL_CHEST_BATCH_USE] = "Chest_batch_use",
[MaterialType.MATERIAL_FAKE_ABSORBATE] = "Fake_absorbate",
[MaterialType.MATERIAL_CONSUME_BATCH_USE] = "Consume_batch_use",
[MaterialType.MATERIAL_WOOD] = "Wood",
[MaterialType.MATERIAL_FURNITURE_FORMULA] = "Furniture_formula",
[MaterialType.MATERIAL_CHANNELLER_SLAB_BUFF] = "Channeller_slab_buff",
[MaterialType.MATERIAL_FURNITURE_SUITE_FORMULA] = "Furniture_suite_formula",
[MaterialType.MATERIAL_COSTUME] = "Costume",
[MaterialType.MATERIAL_HOME_SEED] = "Home_seed",
[MaterialType.MATERIAL_FISH_BAIT] = "Fish_bait",
[MaterialType.MATERIAL_FISH_ROD] = "Fish_rod",
[MaterialType.MATERIAL_SUMO_BUFF] = "Sumo_buff",
[MaterialType.MATERIAL_FIREWORKS] = "Fireworks",
[MaterialType.MATERIAL_BGM] = "Bgm",
[MaterialType.MATERIAL_SPICE_FOOD] = "Spice_food",
[MaterialType.MATERIAL_ACTIVITY_ROBOT] = "Activity_robot",
[MaterialType.MATERIAL_ACTIVITY_GEAR] = "Activity_gear",
[MaterialType.MATERIAL_ACTIVITY_JIGSAW] = "Activity_jigsaw",
[MaterialType.MATERIAL_ARANARA] = "Aranara",
[MaterialType.MATERIAL_GCG_CARD] = "Gcg_card",
[MaterialType.MATERIAL_GCG_CARD_FACE] = "Gcg_card_face",
[MaterialType.MATERIAL_GCG_CARD_BACK] = "Gcg_card_back",
[MaterialType.MATERIAL_GCG_FIELD] = "Gcg_field",
[MaterialType.MATERIAL_DESHRET_MANUAL] = "Deshret_manual",
[MaterialType.MATERIAL_RENAME_ITEM] = "Rename_item",
[MaterialType.MATERIAL_GCG_EXCHANGE_ITEM] = "Gcg_exchange_item",
[MaterialType.MATERIAL_QUEST_EVENT_BOOK] = "Quest_event_book",
};
public static string ToTranslatedString(this MaterialType materialType, string language)
{
return language.StartsWith("zh") ? TextMapCHS[materialType] : TextMapEN[materialType];
}
}
}

View File

@@ -71,7 +71,8 @@ namespace GrasscutterTools.Game
{
get
{
foreach (var map in Values) {
foreach (var map in Values)
{
var n = map[id];
if (n != ItemMap.EmptyName)
return n;

View File

@@ -0,0 +1,10 @@
using Newtonsoft.Json;
namespace GrasscutterTools.Game.Props
{
internal class ItemUseData
{
[JsonProperty("useParam")]
public string[] UseParam { get; set; }
}
}

View File

@@ -0,0 +1,51 @@

// ReSharper disable InconsistentNaming
using System.Collections.Generic;
namespace GrasscutterTools.Game.Props
{
/// <summary>
/// 怪物种类
/// </summary>
internal enum MonsterType
{
MONSTER_NONE = 0,
MONSTER_ORDINARY = 1,
MONSTER_BOSS = 2,
MONSTER_ENV_ANIMAL = 3,
MONSTER_LITTLE_MONSTER = 4,
MONSTER_FISH = 5,
MONSTER_PARTNER = 6,
}
internal static class ItemTypeExtension
{
private static readonly Dictionary<MonsterType, string> TextMapCHS = new Dictionary<MonsterType, string>
{
[MonsterType.MONSTER_NONE] = "未分类",
[MonsterType.MONSTER_ORDINARY] = "普通怪物",
[MonsterType.MONSTER_BOSS] = "BOSS",
[MonsterType.MONSTER_ENV_ANIMAL] = "动物",
[MonsterType.MONSTER_LITTLE_MONSTER] = "小怪",
[MonsterType.MONSTER_FISH] = "鱼",
[MonsterType.MONSTER_PARTNER] = "友军",
};
private static readonly Dictionary<MonsterType, string> TextMapEN = new Dictionary<MonsterType, string>
{
[MonsterType.MONSTER_NONE] = "None",
[MonsterType.MONSTER_ORDINARY] = "Ordinary",
[MonsterType.MONSTER_BOSS] = "Boss",
[MonsterType.MONSTER_ENV_ANIMAL] = "Env_animal",
[MonsterType.MONSTER_LITTLE_MONSTER] = "Little_monster",
[MonsterType.MONSTER_FISH] = "Fish",
[MonsterType.MONSTER_PARTNER] = "Partner",
};
public static string ToTranslatedString(this MonsterType materialType, string language)
{
return language.StartsWith("zh") ? TextMapCHS[materialType] : TextMapEN[materialType];
}
}
}

View File

@@ -0,0 +1,44 @@

// ReSharper disable InconsistentNaming
namespace GrasscutterTools.Game.Props
{
internal enum QualityType
{
/// <summary>
/// 无
/// </summary>
QUALITY_NONE = 0,
/// <summary>
/// 一星
/// </summary>
QUALITY_WHITE = 1,
/// <summary>
/// 二星
/// </summary>
QUALITY_GREEN = 2,
/// <summary>
/// 三星
/// </summary>
QUALITY_BLUE = 3,
/// <summary>
/// 四星
/// </summary>
QUALITY_PURPLE = 4,
/// <summary>
/// 五星
/// </summary>
QUALITY_ORANGE = 5,
/// <summary>
/// 限定五星
/// </summary>
//QUALITY_ORANGE_SP = 105,
QUALITY_ORANGE_SP = 5,
}
}

View File

@@ -0,0 +1,16 @@

// ReSharper disable InconsistentNaming
namespace GrasscutterTools.Game.Props
{
public enum SceneType
{
SCENE_NONE = 0,
SCENE_WORLD = 1,
SCENE_DUNGEON = 2,
SCENE_ROOM = 3,
SCENE_HOME_WORLD = 4,
SCENE_HOME_ROOM = 5,
SCENE_ACTIVITY = 6,
}
}

View File

@@ -44,6 +44,8 @@ namespace GrasscutterTools.Game
private void LoadManualTextMap(string manualTextMapPath)
{
if (!File.Exists(manualTextMapPath)) return;
using (var fs = File.OpenRead(manualTextMapPath))
using (var sr = new StreamReader(fs))
using (var reader = new JsonTextReader(sr))
@@ -86,11 +88,30 @@ namespace GrasscutterTools.Game
}
}
public bool Contains(string textMapPath) => TextMap.ContainsKey(textMapPath) || DefaultTextMap.ContainsKey(textMapPath);
public string GetText(string textMapHash)
{
return TextMap.TryGetValue(textMapHash, out var text) ? text
: DefaultTextMap.TryGetValue(textMapHash, out text) ? text
: "???";
: DefaultTextMap.TryGetValue(textMapHash, out text) ? "[CHS] - " + text
: "[N/A] " + textMapHash;
}
public bool TryGetText(string textMapHash, out string text)
{
if (TextMap.TryGetValue(textMapHash, out text))
{
return true;
}
if (DefaultTextMap.TryGetValue(textMapHash, out text))
{
text = "[CHS] - " + text;
return true;
}
text = "[N/A] " + textMapHash;
return false;
}
}
}

View File

@@ -139,6 +139,21 @@
<Compile Include="Game\Activity\NewActivityItem.cs" />
<Compile Include="Game\CommandVersion.cs" />
<Compile Include="Game\CutScene\CutSceneItem.cs" />
<Compile Include="Game\Data\Excels\AvatarData.cs" />
<Compile Include="Game\Data\Excels\AchievementData.cs" />
<Compile Include="Game\Data\Excels\DungeonData.cs" />
<Compile Include="Game\Data\Excels\GadgetData.cs" />
<Compile Include="Game\Data\Excels\HomeWorldBgmData.cs" />
<Compile Include="Game\Data\Excels\HomeWorldFurnitureData.cs" />
<Compile Include="Game\Data\Excels\MaterialData.cs" />
<Compile Include="Game\Data\Excels\MainQuestData.cs" />
<Compile Include="Game\Data\Excels\QuestData.cs" />
<Compile Include="Game\Data\Excels\ReliquaryData.cs" />
<Compile Include="Game\Data\Excels\MonsterData.cs" />
<Compile Include="Game\Data\Excels\SceneData.cs" />
<Compile Include="Game\Data\GameResource.cs" />
<Compile Include="Game\Data\GameResources.cs" />
<Compile Include="Game\Data\ResourceTypeAttribute.cs" />
<Compile Include="Game\Drop\DropData.cs" />
<Compile Include="Game\Drop\DropInfo.cs" />
<Compile Include="Game\Dungeon\DungeonItem.cs" />
@@ -148,12 +163,19 @@
<Compile Include="Game\Gacha\BannerType.cs" />
<Compile Include="Game\Gacha\GachaBanner.cs" />
<Compile Include="Game\GameData.cs" />
<Compile Include="Game\Inventory\ItemType.cs" />
<Compile Include="Game\Inventory\MaterialType.cs" />
<Compile Include="Game\Data\Excels\WeaponData.cs" />
<Compile Include="Game\ItemMap.cs" />
<Compile Include="Game\ItemMapGroup.cs" />
<Compile Include="Game\Mail\Mail.cs" />
<Compile Include="Game\Mail\MailItem.cs" />
<Compile Include="Game\Player\PlayerData.cs" />
<Compile Include="Game\Props\ItemUseData.cs" />
<Compile Include="Game\Props\MonsterType.cs" />
<Compile Include="Game\Props\PlayerProperty.cs" />
<Compile Include="Game\Props\QualityType.cs" />
<Compile Include="Game\Props\SceneType.cs" />
<Compile Include="Game\SetStatsCommand.cs" />
<Compile Include="Game\Shop\ItemParamData.cs" />
<Compile Include="Game\Shop\ShopGoodsData.cs" />
@@ -219,6 +241,12 @@
<Compile Include="Pages\PageHome.Designer.cs">
<DependentUpon>PageHome.cs</DependentUpon>
</Compile>
<Compile Include="Pages\PageHotKey.cs">
<SubType>UserControl</SubType>
</Compile>
<Compile Include="Pages\PageHotKey.Designer.cs">
<DependentUpon>PageHotKey.cs</DependentUpon>
</Compile>
<Compile Include="Pages\PageMail.cs">
<SubType>UserControl</SubType>
</Compile>
@@ -280,11 +308,17 @@
<AutoGen>True</AutoGen>
<DesignTime>True</DesignTime>
</Compile>
<Compile Include="Utils\AppHotKey.cs" />
<Compile Include="Utils\ArtifactUtils.cs" />
<Compile Include="Utils\Common.cs" />
<Compile Include="Utils\GuiRedirect.cs" />
<Compile Include="Utils\KeyGo.cs" />
<Compile Include="Utils\HotKeyItem.cs" />
<Compile Include="Utils\HttpHelper.cs" />
<Compile Include="Utils\Logger.cs" />
<Compile Include="Utils\GithubHelper.cs" />
<Compile Include="Utils\SparseSet.cs" />
<Compile Include="Utils\ToggleParser.cs" />
<Compile Include="Utils\UIUtil.cs" />
<EmbeddedResource Include="Forms\FormActivityEditor.en-US.resx">
<DependentUpon>FormActivityEditor.cs</DependentUpon>
@@ -485,6 +519,18 @@
<EmbeddedResource Include="Pages\PageHome.zh-TW.resx">
<DependentUpon>PageHome.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Pages\PageHotKey.en-US.resx">
<DependentUpon>PageHotKey.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Pages\PageHotKey.resx">
<DependentUpon>PageHotKey.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Pages\PageHotKey.ru-RU.resx">
<DependentUpon>PageHotKey.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Pages\PageHotKey.zh-TW.resx">
<DependentUpon>PageHotKey.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Pages\PageMail.en-US.resx">
<DependentUpon>PageMail.cs</DependentUpon>
</EmbeddedResource>

View File

@@ -48,8 +48,8 @@ namespace GrasscutterTools.OpenCommand
{
//try
//{
var response = await DoRequest("ping");
return response.RetCode == 200;
var response = await DoRequest("ping");
return response.RetCode == 200;
//}
//catch (Exception)
//{

View File

@@ -1,6 +1,7 @@
using System;
using System.Linq;
using System.Windows.Forms;
using GrasscutterTools.Game;
using GrasscutterTools.Properties;
using GrasscutterTools.Utils;
@@ -98,4 +99,4 @@ namespace GrasscutterTools.Pages
GenSelected("/achievement progress", NUDProgress.Text);
}
}
}
}

View File

@@ -38,6 +38,7 @@
this.BtnRemoveCustomCommand = new System.Windows.Forms.Button();
this.BtnSaveCustomCommand = new System.Windows.Forms.Button();
this.TxtCustomName = new System.Windows.Forms.TextBox();
this.BtnAddHotKey = new System.Windows.Forms.Button();
this.GrpCustomCommands.SuspendLayout();
this.SuspendLayout();
//
@@ -100,10 +101,18 @@
this.TxtCustomName.Name = "TxtCustomName";
this.TxtCustomName.KeyDown += new System.Windows.Forms.KeyEventHandler(this.TxtCustomName_KeyDown);
//
// BtnAddHotKey
//
resources.ApplyResources(this.BtnAddHotKey, "BtnAddHotKey");
this.BtnAddHotKey.Name = "BtnAddHotKey";
this.BtnAddHotKey.UseVisualStyleBackColor = true;
this.BtnAddHotKey.Click += new System.EventHandler(this.BtnAddHotKey_Click);
//
// PageCustomCommands
//
resources.ApplyResources(this, "$this");
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.Controls.Add(this.BtnAddHotKey);
this.Controls.Add(this.BtnExportCustomCommands);
this.Controls.Add(this.BtnLoadCustomCommands);
this.Controls.Add(this.LblCustomName);
@@ -130,5 +139,6 @@
private System.Windows.Forms.Button BtnRemoveCustomCommand;
private System.Windows.Forms.Button BtnSaveCustomCommand;
private System.Windows.Forms.TextBox TxtCustomName;
private System.Windows.Forms.Button BtnAddHotKey;
}
}

View File

@@ -248,5 +248,18 @@ namespace GrasscutterTools.Pages
LoadCustomCommandControls(Resources.CustomCommands);
}
}
public Action<string> OnAddHotKey;
private void BtnAddHotKey_Click(object sender, EventArgs e)
{
var name = TxtCustomName.Text.Trim();
if (string.IsNullOrEmpty(name))
{
MessageBox.Show(Resources.CommandTagCannotBeEmpty, Resources.Error, MessageBoxButtons.OK, MessageBoxIcon.Error);
return;
}
OnAddHotKey?.Invoke(name);
}
}
}

View File

@@ -119,19 +119,19 @@
</resheader>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="BtnExportCustomCommands.Location" type="System.Drawing.Point, System.Drawing">
<value>573, 209</value>
<value>573, 206</value>
</data>
<data name="BtnExportCustomCommands.Size" type="System.Drawing.Size, System.Drawing">
<value>70, 23</value>
<value>70, 30</value>
</data>
<data name="BtnExportCustomCommands.Text" xml:space="preserve">
<value>Export</value>
</data>
<data name="BtnLoadCustomCommands.Location" type="System.Drawing.Point, System.Drawing">
<value>497, 209</value>
<value>497, 206</value>
</data>
<data name="BtnLoadCustomCommands.Size" type="System.Drawing.Size, System.Drawing">
<value>70, 23</value>
<value>70, 30</value>
</data>
<data name="BtnLoadCustomCommands.Text" xml:space="preserve">
<value>Load</value>
@@ -155,24 +155,30 @@
<value>Restore</value>
</data>
<data name="BtnRemoveCustomCommand.Location" type="System.Drawing.Point, System.Drawing">
<value>421, 209</value>
<value>421, 206</value>
</data>
<data name="BtnRemoveCustomCommand.Size" type="System.Drawing.Size, System.Drawing">
<value>70, 23</value>
<value>70, 30</value>
</data>
<data name="BtnRemoveCustomCommand.Text" xml:space="preserve">
<value>× Delete</value>
</data>
<data name="BtnSaveCustomCommand.Location" type="System.Drawing.Point, System.Drawing">
<value>345, 209</value>
<value>345, 206</value>
</data>
<data name="BtnSaveCustomCommand.Size" type="System.Drawing.Size, System.Drawing">
<value>70, 23</value>
<value>70, 30</value>
</data>
<data name="BtnSaveCustomCommand.Text" xml:space="preserve">
<value>√ Save</value>
</data>
<data name="TxtCustomName.Size" type="System.Drawing.Size, System.Drawing">
<value>298, 23</value>
<value>217, 23</value>
</data>
<data name="BtnAddHotKey.Location" type="System.Drawing.Point, System.Drawing">
<value>264, 206</value>
</data>
<data name="BtnAddHotKey.Text" xml:space="preserve">
<value>HotKey</value>
</data>
</root>

View File

@@ -117,283 +117,310 @@
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="BtnExportCustomCommands.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Bottom, Right</value>
</data>
<data name="BtnExportCustomCommands.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
</data>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="BtnExportCustomCommands.Location" type="System.Drawing.Point, System.Drawing">
<value>590, 209</value>
</data>
<data name="BtnExportCustomCommands.Size" type="System.Drawing.Size, System.Drawing">
<value>50, 23</value>
</data>
<assembly alias="mscorlib" name="mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="BtnExportCustomCommands.TabIndex" type="System.Int32, mscorlib">
<value>14</value>
</data>
<data name="BtnExportCustomCommands.Text" xml:space="preserve">
<value>导出</value>
</data>
<data name="&gt;&gt;BtnExportCustomCommands.Name" xml:space="preserve">
<value>BtnExportCustomCommands</value>
</data>
<data name="&gt;&gt;BtnExportCustomCommands.Type" xml:space="preserve">
<value>System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;BtnExportCustomCommands.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;BtnExportCustomCommands.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="BtnLoadCustomCommands.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Bottom, Right</value>
</data>
<data name="BtnLoadCustomCommands.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
</data>
<data name="BtnLoadCustomCommands.Location" type="System.Drawing.Point, System.Drawing">
<value>534, 209</value>
</data>
<data name="BtnLoadCustomCommands.Size" type="System.Drawing.Size, System.Drawing">
<value>50, 23</value>
</data>
<data name="BtnLoadCustomCommands.TabIndex" type="System.Int32, mscorlib">
<value>13</value>
</data>
<data name="BtnLoadCustomCommands.Text" xml:space="preserve">
<value>载入</value>
</data>
<data name="&gt;&gt;BtnLoadCustomCommands.Name" xml:space="preserve">
<value>BtnLoadCustomCommands</value>
</data>
<data name="&gt;&gt;BtnLoadCustomCommands.Type" xml:space="preserve">
<value>System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;BtnLoadCustomCommands.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;BtnLoadCustomCommands.ZOrder" xml:space="preserve">
<value>1</value>
</data>
<data name="LblCustomName.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Bottom, Left</value>
</data>
<data name="LblCustomName.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="LblCustomName.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
</data>
<data name="LblCustomName.Location" type="System.Drawing.Point, System.Drawing">
<value>3, 212</value>
</data>
<data name="LblCustomName.Size" type="System.Drawing.Size, System.Drawing">
<value>32, 17</value>
</data>
<data name="LblCustomName.TabIndex" type="System.Int32, mscorlib">
<value>9</value>
</data>
<data name="LblCustomName.Text" xml:space="preserve">
<value>标签</value>
</data>
<data name="&gt;&gt;LblCustomName.Name" xml:space="preserve">
<value>LblCustomName</value>
</data>
<data name="&gt;&gt;LblCustomName.Type" xml:space="preserve">
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;LblCustomName.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;LblCustomName.ZOrder" xml:space="preserve">
<value>2</value>
</data>
<data name="GrpCustomCommands.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Top, Bottom, Left, Right</value>
</data>
<data name="LnkResetCustomCommands.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Top, Right</value>
</data>
<data name="LnkResetCustomCommands.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="LnkResetCustomCommands.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
</data>
<data name="LnkResetCustomCommands.Location" type="System.Drawing.Point, System.Drawing">
<value>602, -1</value>
</data>
<data name="LnkResetCustomCommands.Size" type="System.Drawing.Size, System.Drawing">
<value>32, 17</value>
</data>
<data name="LnkResetCustomCommands.TabIndex" type="System.Int32, mscorlib">
<value>8</value>
<data name="BtnAddHotKey.Text" xml:space="preserve">
<value>快捷键</value>
</data>
<data name="LnkResetCustomCommands.Text" xml:space="preserve">
<value>重置</value>
</data>
<data name="&gt;&gt;LnkResetCustomCommands.Name" xml:space="preserve">
<value>LnkResetCustomCommands</value>
</data>
<data name="&gt;&gt;LnkResetCustomCommands.Type" xml:space="preserve">
<value>System.Windows.Forms.LinkLabel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;LnkResetCustomCommands.Parent" xml:space="preserve">
<value>GrpCustomCommands</value>
</data>
<data name="&gt;&gt;LnkResetCustomCommands.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="FLPCustomCommands.AutoScroll" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="FLPCustomCommands.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
<value>Fill</value>
</data>
<data name="FLPCustomCommands.Location" type="System.Drawing.Point, System.Drawing">
<value>3, 19</value>
</data>
<data name="FLPCustomCommands.Size" type="System.Drawing.Size, System.Drawing">
<value>634, 174</value>
</data>
<data name="FLPCustomCommands.TabIndex" type="System.Int32, mscorlib">
<value>0</value>
</data>
<data name="&gt;&gt;FLPCustomCommands.Name" xml:space="preserve">
<value>FLPCustomCommands</value>
</data>
<data name="&gt;&gt;FLPCustomCommands.Type" xml:space="preserve">
<value>System.Windows.Forms.FlowLayoutPanel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;FLPCustomCommands.Parent" xml:space="preserve">
<value>GrpCustomCommands</value>
</data>
<data name="&gt;&gt;FLPCustomCommands.ZOrder" xml:space="preserve">
<value>1</value>
</data>
<data name="GrpCustomCommands.Location" type="System.Drawing.Point, System.Drawing">
<value>3, 7</value>
</data>
<data name="GrpCustomCommands.Size" type="System.Drawing.Size, System.Drawing">
<value>640, 196</value>
</data>
<data name="GrpCustomCommands.TabIndex" type="System.Int32, mscorlib">
<value>8</value>
</data>
<data name="GrpCustomCommands.Text" xml:space="preserve">
<value>列表</value>
</data>
<data name="&gt;&gt;GrpCustomCommands.Name" xml:space="preserve">
<value>GrpCustomCommands</value>
</data>
<data name="&gt;&gt;GrpCustomCommands.Type" xml:space="preserve">
<value>System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;GrpCustomCommands.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;GrpCustomCommands.ZOrder" xml:space="preserve">
<value>3</value>
</data>
<data name="BtnRemoveCustomCommand.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Bottom, Right</value>
</data>
<data name="BtnRemoveCustomCommand.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
</data>
<data name="BtnRemoveCustomCommand.Location" type="System.Drawing.Point, System.Drawing">
<value>468, 209</value>
</data>
<data name="BtnRemoveCustomCommand.Size" type="System.Drawing.Size, System.Drawing">
<value>60, 23</value>
</data>
<data name="BtnRemoveCustomCommand.TabIndex" type="System.Int32, mscorlib">
<value>12</value>
</data>
<data name="BtnRemoveCustomCommand.Text" xml:space="preserve">
<value>× 删除</value>
</data>
<data name="&gt;&gt;BtnRemoveCustomCommand.Name" xml:space="preserve">
<value>BtnRemoveCustomCommand</value>
</data>
<data name="&gt;&gt;BtnRemoveCustomCommand.Type" xml:space="preserve">
<value>System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;BtnRemoveCustomCommand.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;BtnRemoveCustomCommand.ZOrder" xml:space="preserve">
<value>4</value>
</data>
<data name="BtnSaveCustomCommand.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Bottom, Right</value>
</data>
<data name="BtnSaveCustomCommand.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
</data>
<data name="BtnSaveCustomCommand.Location" type="System.Drawing.Point, System.Drawing">
<value>402, 209</value>
</data>
<data name="BtnSaveCustomCommand.Size" type="System.Drawing.Size, System.Drawing">
<value>60, 23</value>
</data>
<data name="BtnSaveCustomCommand.TabIndex" type="System.Int32, mscorlib">
<value>11</value>
</data>
<data name="BtnSaveCustomCommand.Text" xml:space="preserve">
<value>√ 保存</value>
</data>
<data name="&gt;&gt;BtnSaveCustomCommand.Name" xml:space="preserve">
<value>BtnSaveCustomCommand</value>
</data>
<data name="&gt;&gt;BtnSaveCustomCommand.Type" xml:space="preserve">
<value>System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;BtnSaveCustomCommand.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;BtnSaveCustomCommand.ZOrder" xml:space="preserve">
<value>5</value>
</data>
<data name="TxtCustomName.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Bottom, Left, Right</value>
</data>
<data name="TxtCustomName.Location" type="System.Drawing.Point, System.Drawing">
<value>41, 209</value>
</data>
<data name="TxtCustomName.Size" type="System.Drawing.Size, System.Drawing">
<value>355, 23</value>
</data>
<data name="TxtCustomName.TabIndex" type="System.Int32, mscorlib">
<value>10</value>
</data>
<data name="&gt;&gt;TxtCustomName.Name" xml:space="preserve">
<value>TxtCustomName</value>
<data name="&gt;&gt;$this.Type" xml:space="preserve">
<value>GrasscutterTools.Pages.BasePage, GrasscutterTools, Version=1.11.0.0, Culture=neutral, PublicKeyToken=de2b1c089621e923</value>
</data>
<data name="&gt;&gt;TxtCustomName.Type" xml:space="preserve">
<value>System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="BtnSaveCustomCommand.Location" type="System.Drawing.Point, System.Drawing">
<value>405, 206</value>
</data>
<data name="BtnRemoveCustomCommand.Location" type="System.Drawing.Point, System.Drawing">
<value>471, 206</value>
</data>
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="BtnLoadCustomCommands.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Bottom, Right</value>
</data>
<data name="LnkResetCustomCommands.Size" type="System.Drawing.Size, System.Drawing">
<value>32, 17</value>
</data>
<data name="&gt;&gt;BtnExportCustomCommands.Name" xml:space="preserve">
<value>BtnExportCustomCommands</value>
</data>
<data name="BtnLoadCustomCommands.Location" type="System.Drawing.Point, System.Drawing">
<value>537, 206</value>
</data>
<data name="LnkResetCustomCommands.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
</data>
<data name="GrpCustomCommands.Location" type="System.Drawing.Point, System.Drawing">
<value>3, 3</value>
</data>
<data name="BtnRemoveCustomCommand.Size" type="System.Drawing.Size, System.Drawing">
<value>60, 30</value>
</data>
<data name="TxtCustomName.Location" type="System.Drawing.Point, System.Drawing">
<value>41, 210</value>
</data>
<data name="&gt;&gt;FLPCustomCommands.ZOrder" xml:space="preserve">
<value>1</value>
</data>
<data name="LnkResetCustomCommands.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Top, Right</value>
</data>
<data name="&gt;&gt;BtnExportCustomCommands.Type" xml:space="preserve">
<value>System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="BtnExportCustomCommands.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
</data>
<data name="&gt;&gt;BtnLoadCustomCommands.Name" xml:space="preserve">
<value>BtnLoadCustomCommands</value>
</data>
<data name="BtnRemoveCustomCommand.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
</data>
<data name="FLPCustomCommands.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
<value>Fill</value>
</data>
<data name="LblCustomName.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Bottom, Left</value>
</data>
<data name="&gt;&gt;LnkResetCustomCommands.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<assembly alias="mscorlib" name="mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="BtnAddHotKey.TabIndex" type="System.Int32, mscorlib">
<value>15</value>
</data>
<data name="&gt;&gt;BtnLoadCustomCommands.Type" xml:space="preserve">
<value>System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;LblCustomName.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="TxtCustomName.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Bottom, Left, Right</value>
</data>
<data name="BtnExportCustomCommands.Text" xml:space="preserve">
<value>导出</value>
</data>
<data name="&gt;&gt;LnkResetCustomCommands.Name" xml:space="preserve">
<value>LnkResetCustomCommands</value>
</data>
<data name="LblCustomName.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="LnkResetCustomCommands.TabIndex" type="System.Int32, mscorlib">
<value>8</value>
</data>
<data name="&gt;&gt;BtnRemoveCustomCommand.Type" xml:space="preserve">
<value>System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="LblCustomName.Size" type="System.Drawing.Size, System.Drawing">
<value>32, 17</value>
</data>
<data name="BtnLoadCustomCommands.Size" type="System.Drawing.Size, System.Drawing">
<value>50, 30</value>
</data>
<data name="&gt;&gt;BtnLoadCustomCommands.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="BtnLoadCustomCommands.TabIndex" type="System.Int32, mscorlib">
<value>13</value>
</data>
<data name="LblCustomName.Text" xml:space="preserve">
<value>标签</value>
</data>
<data name="&gt;&gt;TxtCustomName.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;TxtCustomName.ZOrder" xml:space="preserve">
<data name="BtnSaveCustomCommand.Size" type="System.Drawing.Size, System.Drawing">
<value>60, 30</value>
</data>
<data name="&gt;&gt;GrpCustomCommands.Name" xml:space="preserve">
<value>GrpCustomCommands</value>
</data>
<data name="&gt;&gt;BtnAddHotKey.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="&gt;&gt;BtnRemoveCustomCommand.Name" xml:space="preserve">
<value>BtnRemoveCustomCommand</value>
</data>
<data name="BtnAddHotKey.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Bottom, Right</value>
</data>
<data name="&gt;&gt;GrpCustomCommands.ZOrder" xml:space="preserve">
<value>4</value>
</data>
<data name="BtnExportCustomCommands.Size" type="System.Drawing.Size, System.Drawing">
<value>50, 30</value>
</data>
<data name="&gt;&gt;FLPCustomCommands.Name" xml:space="preserve">
<value>FLPCustomCommands</value>
</data>
<data name="BtnExportCustomCommands.TabIndex" type="System.Int32, mscorlib">
<value>14</value>
</data>
<data name="BtnExportCustomCommands.Location" type="System.Drawing.Point, System.Drawing">
<value>593, 206</value>
</data>
<data name="&gt;&gt;BtnLoadCustomCommands.ZOrder" xml:space="preserve">
<value>2</value>
</data>
<data name="&gt;&gt;GrpCustomCommands.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="FLPCustomCommands.TabIndex" type="System.Int32, mscorlib">
<value>0</value>
</data>
<data name="&gt;&gt;BtnSaveCustomCommand.ZOrder" xml:space="preserve">
<value>6</value>
</data>
<metadata name="$this.Localizable" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<data name="LblCustomName.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
</data>
<data name="&gt;&gt;BtnSaveCustomCommand.Type" xml:space="preserve">
<value>System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="FLPCustomCommands.Location" type="System.Drawing.Point, System.Drawing">
<value>3, 19</value>
</data>
<data name="TxtCustomName.Size" type="System.Drawing.Size, System.Drawing">
<value>277, 23</value>
</data>
<data name="LnkResetCustomCommands.Location" type="System.Drawing.Point, System.Drawing">
<value>602, -1</value>
</data>
<data name="GrpCustomCommands.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Top, Bottom, Left, Right</value>
</data>
<data name="BtnSaveCustomCommand.Text" xml:space="preserve">
<value>√ 保存</value>
</data>
<data name="&gt;&gt;LnkResetCustomCommands.Parent" xml:space="preserve">
<value>GrpCustomCommands</value>
</data>
<data name="&gt;&gt;FLPCustomCommands.Type" xml:space="preserve">
<value>System.Windows.Forms.FlowLayoutPanel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="$this.AutoScaleDimensions" type="System.Drawing.SizeF, System.Drawing">
<value>7, 17</value>
</data>
<data name="BtnAddHotKey.Size" type="System.Drawing.Size, System.Drawing">
<value>75, 30</value>
</data>
<data name="&gt;&gt;LblCustomName.ZOrder" xml:space="preserve">
<value>3</value>
</data>
<data name="&gt;&gt;TxtCustomName.ZOrder" xml:space="preserve">
<value>7</value>
</data>
<data name="&gt;&gt;BtnRemoveCustomCommand.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;BtnSaveCustomCommand.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="BtnAddHotKey.Location" type="System.Drawing.Point, System.Drawing">
<value>324, 206</value>
</data>
<data name="&gt;&gt;FLPCustomCommands.Parent" xml:space="preserve">
<value>GrpCustomCommands</value>
</data>
<data name="&gt;&gt;LnkResetCustomCommands.Type" xml:space="preserve">
<value>System.Windows.Forms.LinkLabel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="LnkResetCustomCommands.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="BtnExportCustomCommands.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Bottom, Right</value>
</data>
<data name="FLPCustomCommands.Size" type="System.Drawing.Size, System.Drawing">
<value>634, 178</value>
</data>
<data name="GrpCustomCommands.Size" type="System.Drawing.Size, System.Drawing">
<value>640, 200</value>
</data>
<data name="&gt;&gt;$this.Name" xml:space="preserve">
<value>PageCustomCommands</value>
</data>
<data name="&gt;&gt;$this.Type" xml:space="preserve">
<value>GrasscutterTools.Pages.BasePage, GrasscutterTools, Version=1.7.4.0, Culture=neutral, PublicKeyToken=de2b1c089621e923</value>
<data name="GrpCustomCommands.Text" xml:space="preserve">
<value>列表</value>
</data>
<data name="BtnRemoveCustomCommand.Text" xml:space="preserve">
<value>× 删除</value>
</data>
<data name="&gt;&gt;LblCustomName.Type" xml:space="preserve">
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;BtnExportCustomCommands.ZOrder" xml:space="preserve">
<value>1</value>
</data>
<data name="&gt;&gt;TxtCustomName.Name" xml:space="preserve">
<value>TxtCustomName</value>
</data>
<data name="TxtCustomName.TabIndex" type="System.Int32, mscorlib">
<value>10</value>
</data>
<data name="FLPCustomCommands.AutoScroll" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="&gt;&gt;GrpCustomCommands.Type" xml:space="preserve">
<value>System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="BtnSaveCustomCommand.TabIndex" type="System.Int32, mscorlib">
<value>11</value>
</data>
<data name="BtnSaveCustomCommand.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Bottom, Right</value>
</data>
<data name="BtnRemoveCustomCommand.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Bottom, Right</value>
</data>
<data name="&gt;&gt;BtnAddHotKey.Type" xml:space="preserve">
<value>System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="LblCustomName.Location" type="System.Drawing.Point, System.Drawing">
<value>3, 213</value>
</data>
<data name="&gt;&gt;BtnAddHotKey.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;BtnSaveCustomCommand.Name" xml:space="preserve">
<value>BtnSaveCustomCommand</value>
</data>
<data name="BtnRemoveCustomCommand.TabIndex" type="System.Int32, mscorlib">
<value>12</value>
</data>
<data name="BtnLoadCustomCommands.Text" xml:space="preserve">
<value>载入</value>
</data>
<data name="GrpCustomCommands.TabIndex" type="System.Int32, mscorlib">
<value>8</value>
</data>
<data name="BtnSaveCustomCommand.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
</data>
<data name="LblCustomName.TabIndex" type="System.Int32, mscorlib">
<value>9</value>
</data>
<data name="BtnLoadCustomCommands.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
</data>
<data name="&gt;&gt;LblCustomName.Name" xml:space="preserve">
<value>LblCustomName</value>
</data>
<data name="&gt;&gt;BtnAddHotKey.Name" xml:space="preserve">
<value>BtnAddHotKey</value>
</data>
<metadata name="$this.Localizable" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
</root>

View File

@@ -119,19 +119,19 @@
</resheader>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="BtnExportCustomCommands.Location" type="System.Drawing.Point, System.Drawing">
<value>545, 209</value>
<value>548, 206</value>
</data>
<data name="BtnExportCustomCommands.Size" type="System.Drawing.Size, System.Drawing">
<value>95, 23</value>
<value>95, 30</value>
</data>
<data name="BtnExportCustomCommands.Text" xml:space="preserve">
<value>Экспорт</value>
</data>
<data name="BtnLoadCustomCommands.Location" type="System.Drawing.Point, System.Drawing">
<value>444, 209</value>
<value>447, 206</value>
</data>
<data name="BtnLoadCustomCommands.Size" type="System.Drawing.Size, System.Drawing">
<value>95, 23</value>
<value>95, 30</value>
</data>
<data name="BtnLoadCustomCommands.Text" xml:space="preserve">
<value>Загрузить</value>
@@ -155,24 +155,33 @@
<value>Сбросить</value>
</data>
<data name="BtnRemoveCustomCommand.Location" type="System.Drawing.Point, System.Drawing">
<value>343, 209</value>
<value>346, 206</value>
</data>
<data name="BtnRemoveCustomCommand.Size" type="System.Drawing.Size, System.Drawing">
<value>95, 23</value>
<value>95, 30</value>
</data>
<data name="BtnRemoveCustomCommand.Text" xml:space="preserve">
<value>x Удалить</value>
</data>
<data name="BtnSaveCustomCommand.Location" type="System.Drawing.Point, System.Drawing">
<value>242, 209</value>
<value>245, 206</value>
</data>
<data name="BtnSaveCustomCommand.Size" type="System.Drawing.Size, System.Drawing">
<value>95, 23</value>
<value>95, 30</value>
</data>
<data name="BtnSaveCustomCommand.Text" xml:space="preserve">
<value>√ Сохранить</value>
</data>
<data name="TxtCustomName.Size" type="System.Drawing.Size, System.Drawing">
<value>195, 23</value>
<value>120, 23</value>
</data>
<data name="BtnAddHotKey.Location" type="System.Drawing.Point, System.Drawing">
<value>167, 206</value>
</data>
<data name="BtnAddHotKey.Size" type="System.Drawing.Size, System.Drawing">
<value>72, 30</value>
</data>
<data name="BtnAddHotKey.Text" xml:space="preserve">
<value>Горячая.</value>
</data>
</root>

View File

@@ -129,4 +129,7 @@
<data name="BtnRemoveCustomCommand.Text" xml:space="preserve">
<value>× 刪除</value>
</data>
<data name="BtnAddHotKey.Text" xml:space="preserve">
<value>快捷鍵</value>
</data>
</root>

View File

@@ -200,6 +200,5 @@ namespace GrasscutterTools.Pages
LnkNewVersion.Visible = false;
}
}
}
}

View File

@@ -0,0 +1,149 @@
namespace GrasscutterTools.Pages
{
partial class PageHotKey
{
/// <summary>
/// 必需的设计器变量。
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// 清理所有正在使用的资源。
/// </summary>
/// <param name="disposing">如果应释放托管资源,为 true否则为 false。</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region
/// <summary>
/// 设计器支持所需的方法 - 不要修改
/// 使用代码编辑器修改此方法的内容。
/// </summary>
private void InitializeComponent()
{
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(PageHotKey));
this.LvHotKeyList = new System.Windows.Forms.ListView();
this.ColTag = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
this.ColHotKey = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
this.ColCommand = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
this.GrpHotKeyList = new System.Windows.Forms.GroupBox();
this.BtnRemove = new System.Windows.Forms.Button();
this.BtnAddOrUpdate = new System.Windows.Forms.Button();
this.TxtHotKey = new System.Windows.Forms.TextBox();
this.LblHotKeyLabel = new System.Windows.Forms.Label();
this.TxtTag = new System.Windows.Forms.TextBox();
this.LblTagLabel = new System.Windows.Forms.Label();
this.GrpHotKeyList.SuspendLayout();
this.SuspendLayout();
//
// LvHotKeyList
//
this.LvHotKeyList.CheckBoxes = true;
this.LvHotKeyList.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] {
this.ColTag,
this.ColHotKey,
this.ColCommand});
resources.ApplyResources(this.LvHotKeyList, "LvHotKeyList");
this.LvHotKeyList.HideSelection = false;
this.LvHotKeyList.Name = "LvHotKeyList";
this.LvHotKeyList.UseCompatibleStateImageBehavior = false;
this.LvHotKeyList.View = System.Windows.Forms.View.Details;
this.LvHotKeyList.ItemCheck += new System.Windows.Forms.ItemCheckEventHandler(this.LvHotKeyList_ItemCheck);
this.LvHotKeyList.SelectedIndexChanged += new System.EventHandler(this.LvHotKeyList_SelectedIndexChanged);
//
// ColTag
//
resources.ApplyResources(this.ColTag, "ColTag");
//
// ColHotKey
//
resources.ApplyResources(this.ColHotKey, "ColHotKey");
//
// ColCommand
//
resources.ApplyResources(this.ColCommand, "ColCommand");
//
// GrpHotKeyList
//
resources.ApplyResources(this.GrpHotKeyList, "GrpHotKeyList");
this.GrpHotKeyList.Controls.Add(this.LvHotKeyList);
this.GrpHotKeyList.Name = "GrpHotKeyList";
this.GrpHotKeyList.TabStop = false;
//
// BtnRemove
//
resources.ApplyResources(this.BtnRemove, "BtnRemove");
this.BtnRemove.Name = "BtnRemove";
this.BtnRemove.UseVisualStyleBackColor = true;
this.BtnRemove.Click += new System.EventHandler(this.BtnRemove_Click);
//
// BtnAddOrUpdate
//
resources.ApplyResources(this.BtnAddOrUpdate, "BtnAddOrUpdate");
this.BtnAddOrUpdate.Name = "BtnAddOrUpdate";
this.BtnAddOrUpdate.UseVisualStyleBackColor = true;
this.BtnAddOrUpdate.Click += new System.EventHandler(this.BtnAddOrUpdate_Click);
//
// TxtHotKey
//
resources.ApplyResources(this.TxtHotKey, "TxtHotKey");
this.TxtHotKey.BackColor = System.Drawing.Color.White;
this.TxtHotKey.Name = "TxtHotKey";
this.TxtHotKey.ReadOnly = true;
this.TxtHotKey.KeyDown += new System.Windows.Forms.KeyEventHandler(this.TxtHotKey_KeyDown);
//
// LblHotKeyLabel
//
resources.ApplyResources(this.LblHotKeyLabel, "LblHotKeyLabel");
this.LblHotKeyLabel.Name = "LblHotKeyLabel";
//
// TxtTag
//
resources.ApplyResources(this.TxtTag, "TxtTag");
this.TxtTag.Name = "TxtTag";
//
// LblTagLabel
//
resources.ApplyResources(this.LblTagLabel, "LblTagLabel");
this.LblTagLabel.Name = "LblTagLabel";
//
// PageHotKey
//
resources.ApplyResources(this, "$this");
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.Controls.Add(this.BtnRemove);
this.Controls.Add(this.BtnAddOrUpdate);
this.Controls.Add(this.GrpHotKeyList);
this.Controls.Add(this.TxtHotKey);
this.Controls.Add(this.TxtTag);
this.Controls.Add(this.LblHotKeyLabel);
this.Controls.Add(this.LblTagLabel);
this.Name = "PageHotKey";
this.GrpHotKeyList.ResumeLayout(false);
this.ResumeLayout(false);
this.PerformLayout();
}
#endregion
private System.Windows.Forms.ListView LvHotKeyList;
private System.Windows.Forms.ColumnHeader ColHotKey;
private System.Windows.Forms.ColumnHeader ColTag;
private System.Windows.Forms.ColumnHeader ColCommand;
private System.Windows.Forms.GroupBox GrpHotKeyList;
private System.Windows.Forms.Button BtnRemove;
private System.Windows.Forms.Button BtnAddOrUpdate;
private System.Windows.Forms.TextBox TxtHotKey;
private System.Windows.Forms.Label LblHotKeyLabel;
private System.Windows.Forms.TextBox TxtTag;
private System.Windows.Forms.Label LblTagLabel;
}
}

View File

@@ -0,0 +1,264 @@
/**
* Grasscutter Tools
* Copyright (C) 2023 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.IO;
using System.Linq;
using System.Windows.Forms;
using GrasscutterTools.Properties;
using GrasscutterTools.Utils;
using Newtonsoft.Json;
namespace GrasscutterTools.Pages
{
internal partial class PageHotKey : BasePage
{
private const string TAG = nameof(PageHotKey);
public PageHotKey()
{
InitializeComponent();
LvHotKeyList.FullRowSelect = true;
if (DesignMode) return;
InitHotKeys();
}
/// <summary>
/// 热键保存位置
/// </summary>
private readonly string HotKeysFilePath = Common.GetAppDataFile("HotKeys.json");
/// <summary>
/// 热键配置是否存在更改
/// </summary>
private bool HotKeysChanged;
/// <summary>
/// 初始化快捷键
/// </summary>
private void InitHotKeys()
{
if (!File.Exists(HotKeysFilePath))
return;
try
{
Logger.I(TAG, "Loading HotKey json file from: " + HotKeysFilePath);
Common.KeyGo.Items = JsonConvert.DeserializeObject<List<HotKeyItem>>(File.ReadAllText(HotKeysFilePath));
LvHotKeyList.Items.AddRange(Common.KeyGo.Items.Select(HotKeyItemToViewItem).ToArray());
Logger.I(TAG, "Start Register All HotKeys");
Common.KeyGo.RegAllKey();
}
catch (Exception ex)
{
Logger.W(TAG, "Parsing HotKeys.json failed.", ex);
}
}
/// <summary>
/// 关闭时触发,取消注册并保存更改
/// </summary>
public override void OnClosed()
{
Logger.I(TAG, "Cancel all HotKeys");
Common.KeyGo.UnRegAllKey();
if (!HotKeysChanged) return;
Logger.I(TAG, "Save all HotKeys to: " + HotKeysFilePath);
File.WriteAllText(HotKeysFilePath, JsonConvert.SerializeObject(Common.KeyGo.Items));
}
/// <summary>
/// 将实体转为视图对象
/// </summary>
private static ListViewItem HotKeyItemToViewItem(HotKeyItem item) => new ListViewItem(new[]
{
item.Tag,
item.HotKey,
item.Commands
})
{ Checked = item.IsEnabled };
/// <summary>
/// 列表选中项改变时触发
/// </summary>
private void LvHotKeyList_SelectedIndexChanged(object sender, EventArgs e)
{
if (LvHotKeyList.SelectedIndices.Count == 0) return;
var i = LvHotKeyList.SelectedIndices[0];
var hotKeyItem = Common.KeyGo.Items[i];
TxtTag.Text = hotKeyItem.Tag;
TxtHotKey.Text = hotKeyItem.HotKey;
SetCommand(hotKeyItem.Commands);
}
/// <summary>
/// 点击添加或更新按钮时触发
/// </summary>
private void BtnAddOrUpdate_Click(object sender, EventArgs e)
{
var tag = TxtTag.Text.Trim();
var commands = GetCommand();
var hotKey = TxtHotKey.Text;
if (string.IsNullOrEmpty(tag) || string.IsNullOrEmpty(commands) || string.IsNullOrEmpty(hotKey))
{
MessageBox.Show(Resources.EmptyInputTip, Resources.Error, MessageBoxButtons.OK, MessageBoxIcon.Error);
return;
}
try
{
var i = Common.KeyGo.Items.FindIndex(it => it.Tag == tag);
if (i == -1)
{
var item = new HotKeyItem
{
Tag = tag,
Commands = commands,
HotKey = hotKey
};
Logger.I(TAG, $"New HotKey item [{hotKey}]");
Common.KeyGo.AddHotKey(item);
LvHotKeyList.Items.Add(HotKeyItemToViewItem(item));
}
else
{
var item = Common.KeyGo.Items[i];
item.Commands = commands;
if (item.HotKey != hotKey)
{
Logger.I(TAG, $"Update HotKey from [{item.HotKey}] to [{hotKey}]");
item.HotKey = hotKey;
Common.KeyGo.ChangeHotKey(item);
}
LvHotKeyList.Items[i] = HotKeyItemToViewItem(item);
}
HotKeysChanged = true;
}
catch (Exception ex)
{
Logger.E(TAG, "AddOrUpdate HotKey failed", ex);
MessageBox.Show(ex.Message, Resources.Error, MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
/// <summary>
/// 点击移除按钮时触发
/// </summary>
private void BtnRemove_Click(object sender, EventArgs e)
{
try
{
var tag = TxtTag.Text.Trim();
var i = Common.KeyGo.Items.FindIndex(it => it.Tag == tag);
if (i == -1) return;
var item = Common.KeyGo.Items[i];
Logger.I(TAG, $"Remove HotKey [{item.HotKey}] \"{item.Tag}\"");
Common.KeyGo.DelHotKey(item);
LvHotKeyList.Items.RemoveAt(i);
HotKeysChanged = true;
}
catch (Exception ex)
{
Logger.E(TAG, "Remove HotKey failed", ex);
MessageBox.Show(ex.Message, Resources.Error, MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
/// <summary>
/// 快捷键选项卡按键按下时触发
/// </summary>
private void TxtHotKey_KeyDown(object sender, KeyEventArgs e)
{
// ESC键清空当前快捷键
if (e.KeyCode == Keys.Escape)
{
TxtHotKey.Text = "";
return;
}
// 可选的功能键
//// 必须带功能键
//if (e.Modifiers == Keys.None)
// return;
// 必须是组合键
if (e.KeyCode == Keys.ControlKey || e.KeyCode == Keys.ShiftKey || e.KeyCode == Keys.Menu)
return;
var text = e.KeyCode.ToString();
if (e.Control)
text = "Ctrl + " + text;
if (e.Shift)
text = "Shift + " + text;
if (e.Alt)
text = "Alt + " + text;
TxtHotKey.Text = text;
}
/// <summary>
/// 列表中的复选框改变时触发
/// </summary>
private void LvHotKeyList_ItemCheck(object sender, ItemCheckEventArgs e)
{
var isEnable = e.NewValue == CheckState.Checked;
try
{
var item = Common.KeyGo.Items[e.Index];
if (isEnable)
{
// 尝试注册快捷键
Logger.I(TAG, $"Register hotKey [{item.HotKey}] as \"{item.Tag}\"");
Common.KeyGo.RegKey(item);
}
else
{
// 尝试注销快捷键
Logger.I(TAG, $"Cancel hotKey [{item.HotKey}]");
Common.KeyGo.UnRegKey(item);
}
// 更新使能状态
item.IsEnabled = isEnable;
}
catch (Exception ex)
{
// 如果操作失败,还原选项,禁止设置
e.NewValue = e.CurrentValue;
Logger.E(TAG, (isEnable ? "Enable" : "Disable") + " HotKey failed", ex);
MessageBox.Show(ex.Message, Resources.Error, MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
/// <summary>
/// 添加热键快捷设置方法
/// </summary>
/// <param name="tag">标签名</param>
public void AddNewHotKey(string tag)
{
TxtHotKey.Tag = "";
TxtTag.Text = tag;
}
}
}

View File

@@ -0,0 +1,151 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<data name="ColTag.Text" xml:space="preserve">
<value>Tag</value>
</data>
<data name="ColHotKey.Text" xml:space="preserve">
<value>HotKey</value>
</data>
<data name="ColCommand.Text" xml:space="preserve">
<value>Commands</value>
</data>
<data name="GrpHotKeyList.Text" xml:space="preserve">
<value>HotKeys</value>
</data>
<data name="BtnRemove.Text" xml:space="preserve">
<value>- Remove</value>
</data>
<data name="BtnAddOrUpdate.Text" xml:space="preserve">
<value>√ AddOrUpdate</value>
</data>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="LblHotKeyLabel.Size" type="System.Drawing.Size, System.Drawing">
<value>50, 17</value>
</data>
<data name="LblHotKeyLabel.Text" xml:space="preserve">
<value>HotKey</value>
</data>
<data name="LblTagLabel.Size" type="System.Drawing.Size, System.Drawing">
<value>30, 17</value>
</data>
<data name="LblTagLabel.Text" xml:space="preserve">
<value>Tag</value>
</data>
</root>

View File

@@ -0,0 +1,387 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<data name="ColTag.Text" xml:space="preserve">
<value>标签</value>
</data>
<assembly alias="mscorlib" name="mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="ColTag.Width" type="System.Int32, mscorlib">
<value>150</value>
</data>
<data name="ColHotKey.Text" xml:space="preserve">
<value>快捷键</value>
</data>
<data name="ColHotKey.Width" type="System.Int32, mscorlib">
<value>100</value>
</data>
<data name="ColCommand.Text" xml:space="preserve">
<value>命令</value>
</data>
<data name="ColCommand.Width" type="System.Int32, mscorlib">
<value>350</value>
</data>
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="LvHotKeyList.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
<value>Fill</value>
</data>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="LvHotKeyList.Location" type="System.Drawing.Point, System.Drawing">
<value>3, 19</value>
</data>
<data name="LvHotKeyList.Size" type="System.Drawing.Size, System.Drawing">
<value>634, 178</value>
</data>
<data name="LvHotKeyList.TabIndex" type="System.Int32, mscorlib">
<value>0</value>
</data>
<data name="&gt;&gt;LvHotKeyList.Name" xml:space="preserve">
<value>LvHotKeyList</value>
</data>
<data name="&gt;&gt;LvHotKeyList.Type" xml:space="preserve">
<value>System.Windows.Forms.ListView, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;LvHotKeyList.Parent" xml:space="preserve">
<value>GrpHotKeyList</value>
</data>
<data name="&gt;&gt;LvHotKeyList.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="GrpHotKeyList.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Top, Bottom, Left, Right</value>
</data>
<data name="GrpHotKeyList.Location" type="System.Drawing.Point, System.Drawing">
<value>3, 3</value>
</data>
<data name="GrpHotKeyList.Size" type="System.Drawing.Size, System.Drawing">
<value>640, 200</value>
</data>
<data name="GrpHotKeyList.TabIndex" type="System.Int32, mscorlib">
<value>1</value>
</data>
<data name="GrpHotKeyList.Text" xml:space="preserve">
<value>快捷执行列表</value>
</data>
<data name="&gt;&gt;GrpHotKeyList.Name" xml:space="preserve">
<value>GrpHotKeyList</value>
</data>
<data name="&gt;&gt;GrpHotKeyList.Type" xml:space="preserve">
<value>System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;GrpHotKeyList.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;GrpHotKeyList.ZOrder" xml:space="preserve">
<value>2</value>
</data>
<data name="BtnRemove.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Bottom, Right</value>
</data>
<data name="BtnRemove.Location" type="System.Drawing.Point, System.Drawing">
<value>543, 206</value>
</data>
<data name="BtnRemove.Size" type="System.Drawing.Size, System.Drawing">
<value>100, 30</value>
</data>
<data name="BtnRemove.TabIndex" type="System.Int32, mscorlib">
<value>5</value>
</data>
<data name="BtnRemove.Text" xml:space="preserve">
<value>- 删除</value>
</data>
<data name="&gt;&gt;BtnRemove.Name" xml:space="preserve">
<value>BtnRemove</value>
</data>
<data name="&gt;&gt;BtnRemove.Type" xml:space="preserve">
<value>System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;BtnRemove.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;BtnRemove.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="BtnAddOrUpdate.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Bottom, Right</value>
</data>
<data name="BtnAddOrUpdate.Location" type="System.Drawing.Point, System.Drawing">
<value>387, 206</value>
</data>
<data name="BtnAddOrUpdate.Size" type="System.Drawing.Size, System.Drawing">
<value>150, 30</value>
</data>
<data name="BtnAddOrUpdate.TabIndex" type="System.Int32, mscorlib">
<value>4</value>
</data>
<data name="BtnAddOrUpdate.Text" xml:space="preserve">
<value>√ 添加或更新</value>
</data>
<data name="&gt;&gt;BtnAddOrUpdate.Name" xml:space="preserve">
<value>BtnAddOrUpdate</value>
</data>
<data name="&gt;&gt;BtnAddOrUpdate.Type" xml:space="preserve">
<value>System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;BtnAddOrUpdate.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;BtnAddOrUpdate.ZOrder" xml:space="preserve">
<value>1</value>
</data>
<data name="TxtHotKey.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Bottom, Left, Right</value>
</data>
<data name="TxtHotKey.Location" type="System.Drawing.Point, System.Drawing">
<value>262, 210</value>
</data>
<data name="TxtHotKey.Size" type="System.Drawing.Size, System.Drawing">
<value>119, 23</value>
</data>
<data name="TxtHotKey.TabIndex" type="System.Int32, mscorlib">
<value>3</value>
</data>
<data name="TxtHotKey.TextAlign" type="System.Windows.Forms.HorizontalAlignment, System.Windows.Forms">
<value>Center</value>
</data>
<data name="&gt;&gt;TxtHotKey.Name" xml:space="preserve">
<value>TxtHotKey</value>
</data>
<data name="&gt;&gt;TxtHotKey.Type" xml:space="preserve">
<value>System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;TxtHotKey.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;TxtHotKey.ZOrder" xml:space="preserve">
<value>3</value>
</data>
<data name="LblHotKeyLabel.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Bottom, Left, Right</value>
</data>
<data name="LblHotKeyLabel.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="LblHotKeyLabel.Location" type="System.Drawing.Point, System.Drawing">
<value>212, 213</value>
</data>
<data name="LblHotKeyLabel.Size" type="System.Drawing.Size, System.Drawing">
<value>44, 17</value>
</data>
<data name="LblHotKeyLabel.TabIndex" type="System.Int32, mscorlib">
<value>2</value>
</data>
<data name="LblHotKeyLabel.Text" xml:space="preserve">
<value>快捷键</value>
</data>
<data name="&gt;&gt;LblHotKeyLabel.Name" xml:space="preserve">
<value>LblHotKeyLabel</value>
</data>
<data name="&gt;&gt;LblHotKeyLabel.Type" xml:space="preserve">
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;LblHotKeyLabel.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;LblHotKeyLabel.ZOrder" xml:space="preserve">
<value>5</value>
</data>
<data name="TxtTag.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Bottom, Left, Right</value>
</data>
<data name="TxtTag.Location" type="System.Drawing.Point, System.Drawing">
<value>41, 210</value>
</data>
<data name="TxtTag.Size" type="System.Drawing.Size, System.Drawing">
<value>165, 23</value>
</data>
<data name="TxtTag.TabIndex" type="System.Int32, mscorlib">
<value>1</value>
</data>
<data name="&gt;&gt;TxtTag.Name" xml:space="preserve">
<value>TxtTag</value>
</data>
<data name="&gt;&gt;TxtTag.Type" xml:space="preserve">
<value>System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;TxtTag.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;TxtTag.ZOrder" xml:space="preserve">
<value>4</value>
</data>
<data name="LblTagLabel.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Bottom, Left</value>
</data>
<data name="LblTagLabel.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="LblTagLabel.Location" type="System.Drawing.Point, System.Drawing">
<value>3, 213</value>
</data>
<data name="LblTagLabel.Size" type="System.Drawing.Size, System.Drawing">
<value>32, 17</value>
</data>
<data name="LblTagLabel.TabIndex" type="System.Int32, mscorlib">
<value>0</value>
</data>
<data name="LblTagLabel.Text" xml:space="preserve">
<value>标签</value>
</data>
<data name="&gt;&gt;LblTagLabel.Name" xml:space="preserve">
<value>LblTagLabel</value>
</data>
<data name="&gt;&gt;LblTagLabel.Type" xml:space="preserve">
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;LblTagLabel.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;LblTagLabel.ZOrder" xml:space="preserve">
<value>6</value>
</data>
<metadata name="$this.Localizable" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<data name="$this.AutoScaleDimensions" type="System.Drawing.SizeF, System.Drawing">
<value>7, 17</value>
</data>
<data name="&gt;&gt;ColTag.Name" xml:space="preserve">
<value>ColTag</value>
</data>
<data name="&gt;&gt;ColTag.Type" xml:space="preserve">
<value>System.Windows.Forms.ColumnHeader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;ColHotKey.Name" xml:space="preserve">
<value>ColHotKey</value>
</data>
<data name="&gt;&gt;ColHotKey.Type" xml:space="preserve">
<value>System.Windows.Forms.ColumnHeader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;ColCommand.Name" xml:space="preserve">
<value>ColCommand</value>
</data>
<data name="&gt;&gt;ColCommand.Type" xml:space="preserve">
<value>System.Windows.Forms.ColumnHeader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;$this.Name" xml:space="preserve">
<value>PageHotKey</value>
</data>
<data name="&gt;&gt;$this.Type" xml:space="preserve">
<value>GrasscutterTools.Pages.BasePage, GrasscutterTools, Version=1.11.0.0, Culture=neutral, PublicKeyToken=de2b1c089621e923</value>
</data>
</root>

View File

@@ -0,0 +1,151 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<data name="ColTag.Text" xml:space="preserve">
<value>Tag</value>
</data>
<data name="ColHotKey.Text" xml:space="preserve">
<value>HotKey</value>
</data>
<data name="ColCommand.Text" xml:space="preserve">
<value>Commands</value>
</data>
<data name="GrpHotKeyList.Text" xml:space="preserve">
<value>HotKeys</value>
</data>
<data name="BtnRemove.Text" xml:space="preserve">
<value>- Remove</value>
</data>
<data name="BtnAddOrUpdate.Text" xml:space="preserve">
<value>√ AddOrUpdate</value>
</data>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="LblHotKeyLabel.Size" type="System.Drawing.Size, System.Drawing">
<value>50, 17</value>
</data>
<data name="LblHotKeyLabel.Text" xml:space="preserve">
<value>HotKey</value>
</data>
<data name="LblTagLabel.Size" type="System.Drawing.Size, System.Drawing">
<value>30, 17</value>
</data>
<data name="LblTagLabel.Text" xml:space="preserve">
<value>Tag</value>
</data>
</root>

View File

@@ -0,0 +1,138 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<data name="ColTag.Text" xml:space="preserve">
<value>標籤</value>
</data>
<data name="ColHotKey.Text" xml:space="preserve">
<value>快捷鍵</value>
</data>
<data name="GrpHotKeyList.Text" xml:space="preserve">
<value>快捷執行列表</value>
</data>
<data name="BtnRemove.Text" xml:space="preserve">
<value>- 刪除</value>
</data>
<data name="LblHotKeyLabel.Text" xml:space="preserve">
<value>快捷鍵</value>
</data>
<data name="LblTagLabel.Text" xml:space="preserve">
<value>標籤</value>
</data>
</root>

View File

@@ -57,7 +57,7 @@
this.TxtToken = new System.Windows.Forms.TextBox();
this.LblToken = new System.Windows.Forms.Label();
this.LblConsoleTip = new System.Windows.Forms.Label();
this.TxtHost = new System.Windows.Forms.TextBox();
this.TxtHost = new System.Windows.Forms.ComboBox();
this.BtnQueryServerStatus = new System.Windows.Forms.Button();
this.LblHost = new System.Windows.Forms.Label();
this.GrpServerStatus.SuspendLayout();
@@ -287,6 +287,7 @@
resources.ApplyResources(this.TxtHost, "TxtHost");
this.TxtHost.Name = "TxtHost";
this.TxtHost.KeyDown += new System.Windows.Forms.KeyEventHandler(this.TxtHost_KeyDown);
this.TxtHost.SelectedIndexChanged += new System.EventHandler(this.TxtHost_SelectedIndexChanged);
//
// BtnQueryServerStatus
//
@@ -361,7 +362,7 @@
private System.Windows.Forms.TextBox TxtToken;
private System.Windows.Forms.Label LblToken;
private System.Windows.Forms.Label LblConsoleTip;
private System.Windows.Forms.TextBox TxtHost;
private System.Windows.Forms.ComboBox TxtHost;
private System.Windows.Forms.Button BtnQueryServerStatus;
private System.Windows.Forms.Label LblHost;
}

View File

@@ -38,11 +38,16 @@ namespace GrasscutterTools.Pages
{
internal partial class PageOpenCommand : BasePage
{
private const string TAG = nameof(PageOpenCommand);
public PageOpenCommand()
{
InitializeComponent();
if (DesignMode) return;
InitServerRecords();
TxtHost.Items.AddRange(ServerRecords.Select(it => it.Host).ToArray());
NUDRemotePlayerId.Value = Settings.Default.RemoteUid;
TxtHost.Text = Settings.Default.Host;
if (!string.IsNullOrEmpty(Settings.Default.Host) && !string.IsNullOrEmpty(Settings.Default.TokenCache))
@@ -53,6 +58,60 @@ namespace GrasscutterTools.Pages
}
}
#region - -
private class ServerRecord
{
public string Tag { get; set; }
public string Host { get; set; }
public int Uid { get; set; }
public string Token { get; set; }
}
private readonly string ServerRecordsFilePath = Common.GetAppDataFile("Servers.json");
private List<ServerRecord> ServerRecords = new List<ServerRecord>();
//{
// new ServerRecord
// {
// Host = "http://127.0.0.1:443",
// Tag = "Localhost",
// Token = "123456",
// Uid = 10001,
// }
//};
private void InitServerRecords()
{
if (!File.Exists(ServerRecordsFilePath))
return;
try
{
Logger.I(TAG, "Loading ServerRecords json file from: " + ServerRecordsFilePath);
ServerRecords = JsonConvert.DeserializeObject<List<ServerRecord>>(File.ReadAllText(ServerRecordsFilePath));
}
catch (Exception ex)
{
Logger.W(TAG, "Parsing Servers.json failed.", ex);
}
}
private void SaveServerRecords()
{
try
{
if (ServerRecords.Count == 0)
return;
File.WriteAllText(ServerRecordsFilePath, JsonConvert.SerializeObject(ServerRecords));
}
catch (Exception ex)
{
Logger.W(TAG, "Save all server records failed.", ex);
}
}
#endregion - -
/// <summary>
/// 在运行按钮上显示提示,要求主窗口设置
/// </summary>
@@ -109,14 +168,9 @@ namespace GrasscutterTools.Pages
/// <param name="host">主机地址</param>
private async Task UpdateServerStatus(string host)
{
// "http://127.0.0.1/" -> "http://127.0.0.1"
host = host.TrimEnd('/');
var status = await DispatchServerAPI.QueryServerStatus(host);
LblServerVersion.Text = status.Version;
if (status.MaxPlayer >= 0)
LblPlayerCount.Text = $"{status.PlayerCount}/{status.MaxPlayer}";
else
LblPlayerCount.Text = status.PlayerCount.ToString();
LblPlayerCount.Text = status.MaxPlayer > 0 ? $"{status.PlayerCount}/{status.MaxPlayer}" : status.PlayerCount.ToString();
}
/// <summary>
@@ -127,6 +181,20 @@ namespace GrasscutterTools.Pages
if (e.KeyCode == Keys.Enter) BtnQueryServerStatus_Click(BtnQueryServerStatus, e);
}
/// <summary>
/// 地址栏选中项改变时触发
/// </summary>
private void TxtHost_SelectedIndexChanged(object sender, EventArgs e)
{
if (TxtHost.SelectedIndex >= 0 && TxtHost.SelectedIndex < ServerRecords.Count)
{
// 还原记录
var record = ServerRecords[TxtHost.SelectedIndex];
TxtToken.Text = record.Token;
NUDRemotePlayerId.Value = record.Uid;
}
}
/// <summary>
/// 点击查询服务器状态按钮时触发
/// </summary>
@@ -137,9 +205,11 @@ namespace GrasscutterTools.Pages
btn.Cursor = Cursors.WaitCursor;
try
{
// "http://127.0.0.1/" -> "http://127.0.0.1"
var host = TxtHost.Text.TrimEnd('/');
try
{
await UpdateServerStatus(TxtHost.Text);
await UpdateServerStatus(host);
}
catch (Exception ex)
{
@@ -150,12 +220,16 @@ namespace GrasscutterTools.Pages
var isOcEnabled = false;
try
{
Common.OC = new OpenCommandAPI(TxtHost.Text);
Common.OC = new OpenCommandAPI(host);
isOcEnabled = await Common.OC.Ping();
}
catch (Exception ex)
{
#if DEBUG
MessageBox.Show(ex.ToString(), Resources.Error, MessageBoxButtons.OK, MessageBoxIcon.Error);
#else
MessageBox.Show(ex.Message, Resources.Error, MessageBoxButtons.OK, MessageBoxIcon.Error);
#endif
}
if (isOcEnabled)
{
@@ -246,6 +320,25 @@ namespace GrasscutterTools.Pages
GrpRemoteCommand.Enabled = false;
ShowTipInRunButton?.Invoke(Resources.ConnectedTip);
ButtonOpenGOODImport.Enabled = true;
var r = ServerRecords.Find(it => it.Host == TxtHost.Text);
if (r != null)
{
r.Token = Common.OC.Token;
r.Uid = (int)NUDRemotePlayerId.Value;
}
else
{
ServerRecords.Add(new ServerRecord
{
Host = Common.OC.Host,
Tag = "TODO",
Token = Common.OC.Token,
Uid = (int)NUDRemotePlayerId.Value
});
TxtHost.Items.Add(Common.OC.Host);
}
SaveServerRecords();
}
catch (Exception ex)
{

View File

@@ -75,7 +75,6 @@ namespace GrasscutterTools.Pages
Scenes = GameData.Dungeons.Lines;
}
/// <summary>
/// 选中过场时触发
/// </summary>

View File

@@ -1,7 +1,7 @@
using System;
using System.Globalization;
using System.Linq;
using System.Windows.Forms;
using GrasscutterTools.Game.Props;
using GrasscutterTools.Properties;
@@ -94,4 +94,4 @@ namespace GrasscutterTools.Pages
LblPlayerPropertyDesc.Text = selectedItem.Description;
}
}
}
}

View File

@@ -316,7 +316,7 @@
//
resources.ApplyResources(this.NUDEntityLevel, "NUDEntityLevel");
this.NUDEntityLevel.Maximum = new decimal(new int[] {
90,
200,
0,
0,
0});

View File

@@ -1909,6 +1909,6 @@
<value>PageSpawn</value>
</data>
<data name="&gt;&gt;$this.Type" xml:space="preserve">
<value>GrasscutterTools.Pages.BasePage, GrasscutterTools, Version=1.7.4.0, Culture=neutral, PublicKeyToken=de2b1c089621e923</value>
<value>GrasscutterTools.Pages.BasePage, GrasscutterTools, Version=1.10.1.0, Culture=neutral, PublicKeyToken=de2b1c089621e923</value>
</data>
</root>

View File

@@ -78,7 +78,7 @@ namespace GrasscutterTools.Pages
try
{
Tasks = JsonConvert.DeserializeObject<List<LoopTask>>(File.ReadAllText(TasksJsonPath));
ListTasks.Items.AddRange(Tasks.Select(t => TaskToViewItem(t)).ToArray());
ListTasks.Items.AddRange(Tasks.Select(TaskToViewItem).ToArray());
}
catch (Exception ex)
{

View File

@@ -34,7 +34,7 @@
this.TxtProjectResRoot = new System.Windows.Forms.TextBox();
this.LblGcResRoot = new System.Windows.Forms.Label();
this.TxtGcResRoot = new System.Windows.Forms.TextBox();
this.BtnUpdateDungeon = new System.Windows.Forms.Button();
this.BtnUpdateAllResources = new System.Windows.Forms.Button();
this.BtnUpdateActivity = new System.Windows.Forms.Button();
this.SuspendLayout();
//
@@ -90,15 +90,15 @@
this.TxtGcResRoot.Size = new System.Drawing.Size(413, 23);
this.TxtGcResRoot.TabIndex = 4;
//
// BtnUpdateDungeon
// BtnUpdateAllResources
//
this.BtnUpdateDungeon.Location = new System.Drawing.Point(41, 100);
this.BtnUpdateDungeon.Name = "BtnUpdateDungeon";
this.BtnUpdateDungeon.Size = new System.Drawing.Size(150, 30);
this.BtnUpdateDungeon.TabIndex = 0;
this.BtnUpdateDungeon.Text = "Update Dungeon";
this.BtnUpdateDungeon.UseVisualStyleBackColor = true;
this.BtnUpdateDungeon.Click += new System.EventHandler(this.BtnUpdateDungeon_Click);
this.BtnUpdateAllResources.Location = new System.Drawing.Point(41, 100);
this.BtnUpdateAllResources.Name = "BtnUpdateAllResources";
this.BtnUpdateAllResources.Size = new System.Drawing.Size(150, 30);
this.BtnUpdateAllResources.TabIndex = 0;
this.BtnUpdateAllResources.Text = "Update All Resources";
this.BtnUpdateAllResources.UseVisualStyleBackColor = true;
this.BtnUpdateAllResources.Click += new System.EventHandler(this.BtnUpdateAllResources_Click);
//
// BtnUpdateActivity
//
@@ -119,7 +119,7 @@
this.Controls.Add(this.TxtProjectResRoot);
this.Controls.Add(this.LblProjectResRoot);
this.Controls.Add(this.BtnUpdateActivity);
this.Controls.Add(this.BtnUpdateDungeon);
this.Controls.Add(this.BtnUpdateAllResources);
this.Controls.Add(this.BtnConvertCutScene);
this.Controls.Add(this.BtnUpdateResources);
this.Name = "PageTools";
@@ -136,7 +136,7 @@
private System.Windows.Forms.TextBox TxtProjectResRoot;
private System.Windows.Forms.Label LblGcResRoot;
private System.Windows.Forms.TextBox TxtGcResRoot;
private System.Windows.Forms.Button BtnUpdateDungeon;
private System.Windows.Forms.Button BtnUpdateAllResources;
private System.Windows.Forms.Button BtnUpdateActivity;
}
}

View File

@@ -4,11 +4,14 @@ using System.IO;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using GrasscutterTools.Game;
using GrasscutterTools.Game.Activity;
using GrasscutterTools.Game.CutScene;
using GrasscutterTools.Game.Data;
using GrasscutterTools.Game.Dungeon;
using GrasscutterTools.Properties;
using Newtonsoft.Json;
namespace GrasscutterTools.Pages
@@ -77,8 +80,6 @@ namespace GrasscutterTools.Pages
}
}
private void BtnConvertCutScene_Click(object sender, EventArgs e)
{
var src = new OpenFileDialog
@@ -114,33 +115,32 @@ namespace GrasscutterTools.Pages
Settings.Default.ProjectResourcePath = TxtProjectResRoot.Text;
return true;
}
else
else
{
MessageBox.Show("请填写正确的Res路径", Resources.Error, MessageBoxButtons.OK, MessageBoxIcon.Error);
return false;
}
}
private TextMapData TextMapData;
private void BtnUpdateDungeon_Click(object sender, EventArgs e)
private TextMapData TextMapData;
private GameResources GameResources;
private void BtnUpdateAllResources_Click(object sender, EventArgs e)
{
try
{
if (!CheckInputPaths()) return;
var json = File.ReadAllText(
Path.Combine(TxtGcResRoot.Text, "ExcelBinOutput", "DungeonExcelConfigData.json"),
Encoding.UTF8);
var dungeons = JsonConvert.DeserializeObject<List<DungeonItem>>(json);
if (TextMapData == null)
TextMapData = new TextMapData(TxtGcResRoot.Text);
if (GameResources == null)
GameResources = new GameResources(TxtGcResRoot.Text, TextMapData);
UpdateDungeonsForLanguage(dungeons, "TextMapCHS", "zh-cn");
UpdateDungeonsForLanguage(dungeons, "TextMapCHT", "zh-tw");
UpdateDungeonsForLanguage(dungeons, "TextMapEN", "en-us");
UpdateDungeonsForLanguage(dungeons, "TextMapRU", "ru-ru");
GameResources.ConvertResources(TxtProjectResRoot.Text);
MessageBox.Show("OK", Resources.Tips, MessageBoxButtons.OK);
}
catch (Exception ex)
@@ -149,17 +149,12 @@ namespace GrasscutterTools.Pages
}
}
private void UpdateDungeonsForLanguage(IEnumerable<DungeonItem> dungeons, string textMap, string language)
{
var i = Array.IndexOf(TextMapData.TextMapFiles, textMap);
TextMapData.LoadTextMap(TextMapData.TextMapFilePaths[i]);
var dungeonFilePath = Path.Combine(TxtProjectResRoot.Text, language, "Dungeon.txt");
File.WriteAllLines(
dungeonFilePath,
dungeons.Select(it => $"{it.Id}:{TextMapData.GetText(it.NameTextMapHash)}"),
Encoding.UTF8);
}
private void BtnUpdateActivity_Click(object sender, EventArgs e)
{
@@ -213,5 +208,6 @@ namespace GrasscutterTools.Pages
// activityItems.Select(it => $"{it.ActivityId}:{TextMapData.GetText(it.NameTextMapHash)}"),
// Encoding.UTF8);
}
}
}
}

View File

@@ -18,11 +18,13 @@
**/
using System;
using System.Linq;
using System.Reflection;
using System.Text;
using System.Threading;
using System.Windows.Forms;
using GrasscutterTools.OpenCommand;
using GrasscutterTools.Properties;
using GrasscutterTools.Utils;
@@ -63,8 +65,12 @@ namespace GrasscutterTools
/// 应用程序的主入口点。
/// </summary>
[STAThread]
private static void Main()
private static int Main(string[] args)
{
var result = HandleCommandLine(args);
if (result != -1)
return result;
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
@@ -91,8 +97,127 @@ namespace GrasscutterTools
Application.Run(new Forms.FormMain());
Logger.I(TAG, "Program end.");
return 0;
}
#region - -
/// <summary>
/// 处理命令行参数并返回处理结果
/// </summary>
/// <param name="args">命令行参数</param>
/// <returns>返回-1表示继续启动应用程序。返回其它值表示退出应用并将该值作为返回结果。</returns>
private static int HandleCommandLine(string[] args)
{
var parser = new ToggleParser(args);
if (parser.IsEmpty) return -1;
try
{
GuiRedirect.Redirect();
// 是否启动日志
if (parser.HasToggle("debug") || parser.HasToggle("log"))
Logger.IsSaveLogs = true;
if (parser.HasToggle("v") || parser.HasToggle("version"))
{
Console.WriteLine("v" + Common.AppVersion.ToString(3));
return 0;
}
if (parser.HasToggle("h") || parser.HasToggle("help") || parser.HasToggle("?"))
{
Console.WriteLine("Usages:");
Console.WriteLine(" GcTools.exe -help");
Console.WriteLine(" GcTools.exe -version");
Console.WriteLine(" GcTools.exe -c \"cmd arg\"");
Console.WriteLine(" GcTools.exe -c \"cmd1 arg\" && GcTools -c \"cmd2 arg1 arg2\"");
Console.WriteLine(" GcTools.exe -host http://127.0.0.1:443 -token 123456 -c \"cmd1 arg1 arg2 | cmd2 | cmd3 arg\"");
return 0;
}
// 服务器地址
var host = parser.GetToggleValueOrDefault("host", Settings.Default.Host);
// 服务器令牌
var token = parser.GetToggleValueOrDefault("token", Settings.Default.TokenCache);
if (Settings.Default.Host != host || Settings.Default.TokenCache != token)
{
Settings.Default.Host = host;
Settings.Default.TokenCache = token;
Settings.Default.Save();
}
#if DEBUG
Logger.I(TAG, $"Host: {Settings.Default.Host} Token: {Settings.Default.TokenCache}");
#endif
// UID
//Settings.Default.RemoteUid = decimal.Parse(parser.GetToggleValueOrDefault("uid", Settings.Default.RemoteUid.ToString()));
if (!string.IsNullOrEmpty(Settings.Default.Host) && !string.IsNullOrEmpty(Settings.Default.TokenCache))
{
Common.OC = new OpenCommandAPI(Settings.Default.Host, Settings.Default.TokenCache);
}
// 解析并执行命令
var cmd = parser.GetToggleValueOrDefault("c", string.Empty);
if (string.IsNullOrEmpty(cmd)) cmd = parser.GetToggleValueOrDefault("command", string.Empty);
if (!string.IsNullOrEmpty(cmd))
{
return RunCommand(cmd) ? 0 : 1;
}
}
catch (Exception ex)
{
Logger.E(TAG, "Parse command failed!", ex);
}
return -1;
}
/// <summary>
/// 执行命令
/// </summary>
/// <param name="commands">GC命令由|分割多条命令</param>
/// <returns>返回是否执行成功</returns>
private static bool RunCommand(string commands)
{
if (Common.OC == null || !Common.OC.CanInvoke)
{
Console.WriteLine(Resources.RequireOpenCommandTip);
Logger.E(TAG, Resources.RequireOpenCommandTip);
return false;
}
try
{
foreach (var cmd in commands.Split('|').Select(FormatCommand))
{
var msg = Common.OC.Invoke(cmd).Result;
Console.WriteLine(string.IsNullOrEmpty(msg) ? "OK" : msg);
}
return true;
}
catch (Exception ex)
{
Console.WriteLine(ex);
Logger.E(TAG, "RunCommand Error:", ex);
return false;
}
}
/// <summary>
/// 格式化命令
/// (去除收尾空白,替换换行)
/// </summary>
/// <param name="raw">原始输入</param>
/// <returns>格式化后可执行命令</returns>
private static string FormatCommand(string raw)
{
return raw.Trim().Replace("\\r", "\r").Replace("\\n", "\n");
}
#endregion - -
#region - -
private static void Application_ThreadException(object sender, ThreadExceptionEventArgs e)

View File

@@ -31,5 +31,5 @@ using System.Runtime.InteropServices;
//可以指定所有这些值,也可以使用“生成号”和“修订号”的默认值
//通过使用 "*",如下所示:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("1.10.0")]
[assembly: AssemblyFileVersion("1.10.0")]
[assembly: AssemblyVersion("1.12.0")]
[assembly: AssemblyFileVersion("1.12.0")]

View File

@@ -88,45 +88,42 @@ namespace GrasscutterTools.Properties {
}
/// <summary>
/// 查找类似 //Activity ids-3.7 by dplek
///// Activity
///2001:1.1未归的熄星
///2002:1.3海灯节
///2003:1.4风花节
///2004:1.5导能原盘-诸论
///2005:1.6盛夏!海岛?大冒险!
///2006:2.0谒索雷痕
///2007:2.1韶光抚月
///2008:2.2雾海悬谜境
///2009:2.3皑尘与雪影
///2010:2.4飞彩镌流年
///2011:2.5三界路飨祭
///2012:2.6堇庭华彩
///2013:2.7荒梦藏虞渊
///2014:2.8远海诗夏游纪
///2015:3.0雕琢童心
///2016:3.1杯中遥吟之歌
///2017:3.2智巧灵蕈大竞逐
///2018:3.3秋津森夜试胆会
///2019:3.4磬弦奏华夜
///2020:3.5风花的呼吸
///2021:3.6盛典与慧业
///2022:3.7决战!召唤之巅!
///// 1.0
///1001:海灯节
///5001:元素烘炉test
///5002:且试身手
///5003:百货奇货
///// 1.1
///5004:映天之章
///5005:元素烘炉
///5006:佳肴尚温
///5007:飞行挑战
///5009:古闻之章(钟离传说-1
///5010:鲸天之章(公子传说-1
///// 1.2
///3001:白垩与黑龙
///5 [字符串的其余部分被截断]&quot;; 的本地化字符串。
/// 查找类似 //Activity ids-3.8 by dplek
///// Activity
///2001:1.1未归的熄星
///2002:1.3海灯节
///2003:1.4风花节
///2004:1.5导能原盘-诸论
///2005:1.6盛夏!海岛?大冒险!
///2006:2.0谒索雷痕
///2007:2.1韶光抚月
///2008:2.2雾海悬谜境
///2009:2.3皑尘与雪影
///2010:2.4飞彩镌流年
///2011:2.5三界路飨祭
///2012:2.6堇庭华彩
///2013:2.7荒梦藏虞渊
///2014:2.8远海诗夏游纪
///2015:3.0雕琢童心
///2016:3.1杯中遥吟之歌
///2017:3.2智巧灵蕈大竞逐
///2018:3.3秋津森夜试胆会
///2019:3.4磬弦奏华夜
///2020:3.5风花的呼吸
///2021:3.6盛典与慧业
///2022:3.7决战!召唤之巅!
///// 1.0
///1001:海灯节
///5001:元素烘炉test
///5002:且试身手
///5003:百货奇货
///// 1.1
///5004:映天之章
///5005:元素烘炉
///5006:佳肴尚温
///5007:飞行挑战
///5009:古闻之章(钟离传说-1
///50 [字符串的其余部分被截断]&quot;; 的本地化字符串。
/// </summary>
internal static string Activity {
get {
@@ -638,28 +635,40 @@ namespace GrasscutterTools.Properties {
}
/// <summary>
/// 查找类似 1:TEST_Chest_CutSence
///2:TEST_GoddessLvUp_CutSence
///3:Cs_Scene_GoddessUpgrade_01
///4:Cs_Scene_DungeonGate_01
///5:Cs_Scene_DungeonGate_02
///6:Cs_Scene_GoddessActive
///7:Cs_Scene_GoddessUpgradeDefault
///8:Cs_Scene_DragonNestSealGate
///9:Cs_MDAQ501_SwordBreak01
///200201:Cs_MDAQ071_DvalinCombat2
///10:特瓦林秘境解锁1
///11:特瓦林秘境解锁2
///12:特瓦林秘境解锁3
///13:Cs_RecyclableDungeon_GetReward
///14:Cs_Scene_GoddessUpgradeDefault_SFX
///15:Cs_Scene_Goddess_Chord_Wind
///16:Cs_Scene_Goddess_Chord_Rock
/// 查找类似 1:[测试]空画面
///2:[测试]空画面
///3:[疑似剧情]风起地七天神像激活
///4:未知秘境内某门开启
///5:未知秘境内某门开启
///6:无画面(UI会闪一下)
///7:未知区域画面旋转
///8:进入风龙废墟秘境
///9:达达乌帕谷剑屏障解锁
///200201:[剧情]蒙德主线特瓦林最后战斗 秘境ID:20018(测试)或20025(正式)
///10:风龙废墟解除三层封印1
///11:风龙废墟解除三层封印2
///12:风龙废墟解除三层封印3
///13:秘境奖励领取时
///14:未知区域画面旋转
///15:不明地下视角
///16:不明地下视角
///17:忍冬之树普通
///18:忍冬之树形态1
///19:忍冬之树1升级2
///20:忍冬之树形态2
/// [字符串的其余部分被截断]&quot;; 的本地化字符串。
///21:忍冬之树2升级3
///22:雪山冰本进入时
///23:不明地下视角
///24:不明地下视角
///25:稻妻神樱树远景
///26:[世界任务]神樱大祓净化进度1
///27:[世界任务]神樱大祓净化进度2
///28:[世界任务]神樱大祓净化进度3
///29:[世界任务]神樱大祓净化进度4
///30:[世界任务]神樱大祓净化进度5
///31:稻妻荒海机关解锁
///32:稻妻八酝岛阵代屋敷秘境解锁
///33:稻妻清籁岛木 [字符串的其余部分被截断]&quot;; 的本地化字符串。
/// </summary>
internal static string Cutscene {
get {
@@ -1151,6 +1160,15 @@ namespace GrasscutterTools.Properties {
return ResourceManager.GetString("PageHomeTitle", resourceCulture);
}
}
/// <summary>
/// 查找类似 快捷键 的本地化字符串。
/// </summary>
internal static string PageHotKey {
get {
return ResourceManager.GetString("PageHotKey", resourceCulture);
}
}
/// <summary>
/// 查找类似 邮件 的本地化字符串。

View File

@@ -360,4 +360,7 @@ Improvement suggestions have been submitted, please use caution to send emails t
<data name="Activity" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\en-us\Activity.txt;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;utf-8</value>
</data>
<data name="PageHotKey" xml:space="preserve">
<value>HotKey</value>
</data>
</root>

View File

@@ -372,4 +372,7 @@
<data name="Cutscene" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\zh-cn\Cutscene.txt;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;utf-8</value>
</data>
<data name="PageHotKey" xml:space="preserve">
<value>快捷键</value>
</data>
</root>

View File

@@ -348,4 +348,7 @@
<data name="Activity" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\ru-ru\Activity.txt;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;utf-8</value>
</data>
<data name="PageHotKey" xml:space="preserve">
<value>Горячая клавиша</value>
</data>
</root>

View File

@@ -354,4 +354,7 @@
<data name="Activity" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\zh-tw\Activity.txt;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;utf-8</value>
</data>
<data name="PageHotKey" xml:space="preserve">
<value>快捷鍵</value>
</data>
</root>

View File

@@ -274,5 +274,17 @@ namespace GrasscutterTools.Properties {
this["ProjectResourcePath"] = value;
}
}
[global::System.Configuration.UserScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.DefaultSettingValueAttribute("False")]
public bool IsUpgraded {
get {
return ((bool)(this["IsUpgraded"]));
}
set {
this["IsUpgraded"] = value;
}
}
}
}

View File

@@ -65,5 +65,8 @@
<Setting Name="ProjectResourcePath" Type="System.String" Scope="User">
<Value Profile="(Default)" />
</Setting>
<Setting Name="IsUpgraded" Type="System.Boolean" Scope="User">
<Value Profile="(Default)">False</Value>
</Setting>
</Settings>
</SettingsFile>

View File

@@ -1,5 +1,4 @@
1001:4
1002:5
1002:5
1003:5
1005:5
1006:4
@@ -46,6 +45,7 @@
1058:5
1059:4
1060:5
1061:4
1062:5
1063:5
1064:4
@@ -67,4 +67,6 @@
1080:4
1081:4
1082:5
1061:4
1083:4
1084:5
1085:4

View File

@@ -1,4 +1,358 @@
[
{
"comment": "4.0.1 Lyney",
"gachaType": 301,
"scheduleId": 4,
"prefabPath": "GachaShowPanel_A145",
"titlePath": "UI_GACHA_SHOW_PANEL_A0145_TITLE",
"costItemId": 223,
"endTime": 1924992000,
"sortId": 982,
"rateUpItems4": [ 1083, 1032, 1014 ],
"rateUpItems5": [ 1084 ],
"fallbackItems3": [ 11301, 11302, 11306, 12301, 12302, 12305, 13303, 14301, 14302, 14304, 15301, 15302, 15304 ],
"fallbackItems4Pool1": [ 1014, 1020, 1023, 1024, 1025, 1027, 1031, 1032, 1034, 1036, 1039, 1043, 1044, 1045, 1048, 1053, 1055, 1056, 1064 ],
"fallbackItems4Pool2": [ 11401, 11402, 11403, 11405, 12401, 12402, 12403, 12405, 13401, 13407, 14401, 14402, 14403, 14409, 15401, 15402, 15403, 15405 ],
"fallbackItems5Pool1": [ 1003, 1016, 1042, 1035, 1041 ],
"fallbackItems5Pool2": [],
"weights4": [
[ 1, 510 ],
[ 8, 510 ],
[ 10, 10000 ]
],
"weights5": [
[ 1, 80 ],
[ 73, 80 ],
[ 90, 10000 ]
],
"poolBalanceWeights4": [
[ 1, 255 ],
[ 17, 255 ],
[ 21, 10455 ]
],
"poolBalanceWeights5": [
[ 1, 30 ],
[ 147, 150 ],
[ 181, 10230 ]
],
"bannerType": "EVENT"
},
{
"comment": "4.0.1 Yelan",
"gachaType": 400,
"scheduleId": 3,
"prefabPath": "GachaShowPanel_A146",
"titlePath": "UI_GACHA_SHOW_PANEL_A081_TITLE",
"costItemId": 223,
"endTime": 1924992000,
"sortId": 982,
"rateUpItems4": [ 1083, 1032, 1014 ],
"rateUpItems5": [ 1060 ],
"fallbackItems3": [ 11301, 11302, 11306, 12301, 12302, 12305, 13303, 14301, 14302, 14304, 15301, 15302, 15304 ],
"fallbackItems4Pool1": [ 1014, 1020, 1023, 1024, 1025, 1027, 1031, 1032, 1034, 1036, 1039, 1043, 1044, 1045, 1048, 1053, 1055, 1056, 1064 ],
"fallbackItems4Pool2": [ 11401, 11402, 11403, 11405, 12401, 12402, 12403, 12405, 13401, 13407, 14401, 14402, 14403, 14409, 15401, 15402, 15403, 15405 ],
"fallbackItems5Pool1": [ 1003, 1016, 1042, 1035, 1041 ],
"fallbackItems5Pool2": [],
"weights4": [
[ 1, 510 ],
[ 8, 510 ],
[ 10, 10000 ]
],
"weights5": [
[ 1, 80 ],
[ 73, 80 ],
[ 90, 10000 ]
],
"poolBalanceWeights4": [
[ 1, 255 ],
[ 17, 255 ],
[ 21, 10455 ]
],
"poolBalanceWeights5": [
[ 1, 30 ],
[ 147, 150 ],
[ 181, 10230 ]
],
"bannerType": "EVENT"
},
{
"comment": "4.0.1",
"gachaType": 302,
"scheduleId": 2,
"prefabPath": "GachaShowPanel_A147",
"titlePath": "UI_GACHA_SHOW_PANEL_A020_TITLE",
"costItemId": 223,
"endTime": 1924992000,
"sortId": 2,
"rateUpItems4": [ 11403, 12410, 15403, 13407, 14403 ],
"rateUpItems5": [ 15512, 15508 ],
"fallbackItems3": [ 11301, 11302, 11306, 12301, 12302, 12305, 13303, 14301, 14302, 14304, 15301, 15302, 15304 ],
"fallbackItems4Pool1": [ 13401, 14401, 12401, 11402, 15402 ],
"fallbackItems4Pool2": [],
"fallbackItems5Pool1": [ 11509, 13507 ],
"fallbackItems5Pool2": [],
"weights4": [
[ 1, 600 ],
[ 7, 600 ],
[ 8, 6600 ],
[ 10, 12600 ]
],
"weights5": [
[ 1, 100 ],
[ 62, 100 ],
[ 73, 7800 ],
[ 80, 10000 ]
],
"poolBalanceWeights4": [
[ 1, 255 ],
[ 17, 255 ],
[ 21, 10455 ]
],
"poolBalanceWeights5": [
[ 1, 30 ],
[ 147, 150 ],
[ 181, 10230 ]
],
"eventChance4": 75,
"eventChance5": 75,
"bannerType": "WEAPON"
},
{
"comment": "3.8.2 Sangonomiya Kokomi",
"gachaType": 301,
"scheduleId": 4,
"prefabPath": "GachaShowPanel_A142",
"titlePath": "UI_GACHA_SHOW_PANEL_A053_TITLE",
"costItemId": 223,
"endTime": 1924992000,
"sortId": 982,
"rateUpItems4": [ 1076, 1045, 1048 ],
"rateUpItems5": [ 1054 ],
"fallbackItems3": [ 11301, 11302, 11306, 12301, 12302, 12305, 13303, 14301, 14302, 14304, 15301, 15302, 15304 ],
"fallbackItems4Pool1": [ 1014, 1020, 1023, 1024, 1025, 1027, 1031, 1032, 1034, 1036, 1039, 1043, 1044, 1045, 1048, 1053, 1055, 1056, 1064 ],
"fallbackItems4Pool2": [ 11401, 11402, 11403, 11405, 12401, 12402, 12403, 12405, 13401, 13407, 14401, 14402, 14403, 14409, 15401, 15402, 15403, 15405 ],
"fallbackItems5Pool1": [ 1003, 1016, 1042, 1035, 1041 ],
"fallbackItems5Pool2": [],
"weights4": [
[ 1, 510 ],
[ 8, 510 ],
[ 10, 10000 ]
],
"weights5": [
[ 1, 80 ],
[ 73, 80 ],
[ 90, 10000 ]
],
"poolBalanceWeights4": [
[ 1, 255 ],
[ 17, 255 ],
[ 21, 10455 ]
],
"poolBalanceWeights5": [
[ 1, 30 ],
[ 147, 150 ],
[ 181, 10230 ]
],
"bannerType": "EVENT"
},
{
"comment": "3.8.2 Wanderer",
"gachaType": 400,
"scheduleId": 3,
"prefabPath": "GachaShowPanel_A143",
"titlePath": "UI_GACHA_SHOW_PANEL_A0109_TITLE",
"costItemId": 223,
"endTime": 1924992000,
"sortId": 982,
"rateUpItems4": [ 1076, 1045, 1048 ],
"rateUpItems5": [ 1075 ],
"fallbackItems3": [ 11301, 11302, 11306, 12301, 12302, 12305, 13303, 14301, 14302, 14304, 15301, 15302, 15304 ],
"fallbackItems4Pool1": [ 1014, 1020, 1023, 1024, 1025, 1027, 1031, 1032, 1034, 1036, 1039, 1043, 1044, 1045, 1048, 1053, 1055, 1056, 1064 ],
"fallbackItems4Pool2": [ 11401, 11402, 11403, 11405, 12401, 12402, 12403, 12405, 13401, 13407, 14401, 14402, 14403, 14409, 15401, 15402, 15403, 15405 ],
"fallbackItems5Pool1": [ 1003, 1016, 1042, 1035, 1041 ],
"fallbackItems5Pool2": [],
"weights4": [
[ 1, 510 ],
[ 8, 510 ],
[ 10, 10000 ]
],
"weights5": [
[ 1, 80 ],
[ 73, 80 ],
[ 90, 10000 ]
],
"poolBalanceWeights4": [
[ 1, 255 ],
[ 17, 255 ],
[ 21, 10455 ]
],
"poolBalanceWeights5": [
[ 1, 30 ],
[ 147, 150 ],
[ 181, 10230 ]
],
"bannerType": "EVENT"
},
{
"comment": "3.8.2",
"gachaType": 302,
"scheduleId": 2,
"prefabPath": "GachaShowPanel_A144",
"titlePath": "UI_GACHA_SHOW_PANEL_A020_TITLE",
"costItemId": 223,
"endTime": 1924992000,
"sortId": 2,
"rateUpItems4": [ 11405, 12402, 14410, 13401, 15401 ],
"rateUpItems5": [ 14512, 14506 ],
"fallbackItems3": [ 11301, 11302, 11306, 12301, 12302, 12305, 13303, 14301, 14302, 14304, 15301, 15302, 15304 ],
"fallbackItems4Pool1": [ 13401, 14401, 12401, 11402, 15402 ],
"fallbackItems4Pool2": [],
"fallbackItems5Pool1": [ 11509, 13507 ],
"fallbackItems5Pool2": [],
"weights4": [
[ 1, 600 ],
[ 7, 600 ],
[ 8, 6600 ],
[ 10, 12600 ]
],
"weights5": [
[ 1, 100 ],
[ 62, 100 ],
[ 73, 7800 ],
[ 80, 10000 ]
],
"poolBalanceWeights4": [
[ 1, 255 ],
[ 17, 255 ],
[ 21, 10455 ]
],
"poolBalanceWeights5": [
[ 1, 30 ],
[ 147, 150 ],
[ 181, 10230 ]
],
"eventChance4": 75,
"eventChance5": 75,
"bannerType": "WEAPON"
},
{
"comment": "3.8.1 Eula",
"gachaType": 301,
"scheduleId": 4,
"prefabPath": "GachaShowPanel_A139",
"titlePath": "UI_GACHA_SHOW_PANEL_A041_TITLE",
"costItemId": 223,
"endTime": 1924992000,
"sortId": 982,
"rateUpItems4": [ 1080, 1020, 1050 ],
"rateUpItems5": [ 1051 ],
"fallbackItems3": [ 11301, 11302, 11306, 12301, 12302, 12305, 13303, 14301, 14302, 14304, 15301, 15302, 15304 ],
"fallbackItems4Pool1": [ 1014, 1020, 1023, 1024, 1025, 1027, 1031, 1032, 1034, 1036, 1039, 1043, 1044, 1045, 1048, 1053, 1055, 1056, 1064 ],
"fallbackItems4Pool2": [ 11401, 11402, 11403, 11405, 12401, 12402, 12403, 12405, 13401, 13407, 14401, 14402, 14403, 14409, 15401, 15402, 15403, 15405 ],
"fallbackItems5Pool1": [ 1003, 1016, 1042, 1035, 1041 ],
"fallbackItems5Pool2": [],
"weights4": [
[ 1, 510 ],
[ 8, 510 ],
[ 10, 10000 ]
],
"weights5": [
[ 1, 80 ],
[ 73, 80 ],
[ 90, 10000 ]
],
"poolBalanceWeights4": [
[ 1, 255 ],
[ 17, 255 ],
[ 21, 10455 ]
],
"poolBalanceWeights5": [
[ 1, 30 ],
[ 147, 150 ],
[ 181, 10230 ]
],
"bannerType": "EVENT"
},
{
"comment": "3.8.1 Klee",
"gachaType": 400,
"scheduleId": 3,
"prefabPath": "GachaShowPanel_A140",
"titlePath": "UI_GACHA_SHOW_PANEL_A018_TITLE",
"costItemId": 223,
"endTime": 1924992000,
"sortId": 982,
"rateUpItems4": [ 1080, 1020, 1050 ],
"rateUpItems5": [ 1029 ],
"fallbackItems3": [ 11301, 11302, 11306, 12301, 12302, 12305, 13303, 14301, 14302, 14304, 15301, 15302, 15304 ],
"fallbackItems4Pool1": [ 1014, 1020, 1023, 1024, 1025, 1027, 1031, 1032, 1034, 1036, 1039, 1043, 1044, 1045, 1048, 1053, 1055, 1056, 1064 ],
"fallbackItems4Pool2": [ 11401, 11402, 11403, 11405, 12401, 12402, 12403, 12405, 13401, 13407, 14401, 14402, 14403, 14409, 15401, 15402, 15403, 15405 ],
"fallbackItems5Pool1": [ 1003, 1016, 1042, 1035, 1041 ],
"fallbackItems5Pool2": [],
"weights4": [
[ 1, 510 ],
[ 8, 510 ],
[ 10, 10000 ]
],
"weights5": [
[ 1, 80 ],
[ 73, 80 ],
[ 90, 10000 ]
],
"poolBalanceWeights4": [
[ 1, 255 ],
[ 17, 255 ],
[ 21, 10455 ]
],
"poolBalanceWeights5": [
[ 1, 30 ],
[ 147, 150 ],
[ 181, 10230 ]
],
"bannerType": "EVENT"
},
{
"comment": "3.8.1",
"gachaType": 302,
"scheduleId": 2,
"prefabPath": "GachaShowPanel_A141",
"titlePath": "UI_GACHA_SHOW_PANEL_A020_TITLE",
"costItemId": 223,
"endTime": 1924992000,
"sortId": 2,
"rateUpItems4": [ 11410, 15410, 12405, 13407, 14409 ],
"rateUpItems5": [ 12503, 14502 ],
"fallbackItems3": [ 11301, 11302, 11306, 12301, 12302, 12305, 13303, 14301, 14302, 14304, 15301, 15302, 15304 ],
"fallbackItems4Pool1": [ 13401, 14401, 12401, 11402, 15402 ],
"fallbackItems4Pool2": [],
"fallbackItems5Pool1": [ 11509, 13507 ],
"fallbackItems5Pool2": [],
"weights4": [
[ 1, 600 ],
[ 7, 600 ],
[ 8, 6600 ],
[ 10, 12600 ]
],
"weights5": [
[ 1, 100 ],
[ 62, 100 ],
[ 73, 7800 ],
[ 80, 10000 ]
],
"poolBalanceWeights4": [
[ 1, 255 ],
[ 17, 255 ],
[ 21, 10455 ]
],
"poolBalanceWeights5": [
[ 1, 30 ],
[ 147, 150 ],
[ 181, 10230 ]
],
"eventChance4": 75,
"eventChance5": 75,
"bannerType": "WEAPON"
},
{
"comment": "3.7.2 Alhaitham",
"gachaType": 301,

View File

@@ -1,4 +1,6 @@
11301:blue
11101:blue
11201:blue
11301:blue
11302:blue
11303:blue
11304:blue
@@ -25,6 +27,9 @@
11420:purple
11421:purple
11422:purple
11424:purple
11425:purple
11426:purple
11501:yellow
11502:yellow
11503:yellow
@@ -34,6 +39,8 @@
11510:yellow
11511:yellow
11512:yellow
12101:blue
12201:blue
12301:blue
12302:blue
12303:blue
@@ -57,12 +64,16 @@
12416:purple
12417:purple
12418:purple
12424:purple
12425:purple
12501:yellow
12502:yellow
12503:yellow
12504:yellow
12510:yellow
12511:yellow
13101:blue
13201:blue
13301:blue
13302:blue
13303:blue
@@ -81,6 +92,8 @@
13416:purple
13417:purple
13419:purple
13424:purple
13425:purple
13501:yellow
13502:yellow
13504:yellow
@@ -88,6 +101,8 @@
13507:yellow
13509:yellow
13511:yellow
14101:blue
14201:blue
14301:blue
14302:blue
14303:blue
@@ -110,14 +125,17 @@
14415:purple
14416:purple
14417:purple
14424:purple
14425:purple
14501:yellow
14502:yellow
14504:yellow
14505:yellow
14506:yellow
14509:yellow
14511:yellow
14512:yellow
15101:blue
15201:blue
15301:blue
15302:blue
15303:blue
@@ -143,6 +161,8 @@
15417:purple
15418:purple
15419:purple
15424:purple
15425:purple
15501:yellow
15502:yellow
15503:yellow
@@ -150,4 +170,4 @@
15508:yellow
15509:yellow
15511:yellow
20001:yellow
15512:yellow

View File

@@ -89,7 +89,6 @@
80089:Tatara Tales - Resolve the crisis at the Mikage Furnace.
80090:Echo of Fury - Complete "Orobashi's Legacy."
80091:Tales of Monstrous Madness - Collect the entire "Toki Alley Tales" series.
80092:Illustrious in Inazuma - Reach Reputation Lv. 10 in Inazuma.
80093:Lightning-Riding Adventurer (I) - Complete 6 Open World mechanism-activated Time Trial Challenges on Narukami Island, Kannazuka, and Yashiori Island in Inazuma.
80094:Lightning-Riding Adventurer (I) - Complete 12 Open World mechanism-activated Time Trial Challenges on Narukami Island, Kannazuka, and Yashiori Island in Inazuma.
80095:Lightning-Riding Adventurer (I) - Complete 24 Open World mechanism-activated Time Trial Challenges on Narukami Island, Kannazuka, and Yashiori Island in Inazuma.
@@ -103,13 +102,13 @@
80105:Lightning-Riding Treasure Hunter (II) - Open 40 chests on Watatsumi Island and Seirai Island in Inazuma.
80106:Lightning-Riding Treasure Hunter (II) - Open 80 chests on Watatsumi Island and Seirai Island in Inazuma.
80107:Lightning-Riding Treasure Hunter (II) - Open 160 chests on Watatsumi Island and Seirai Island in Inazuma.
80108:Seirai Stormchasers - Complete "Seirai Stormchasers"
80109:The Same Moonlight - Complete "The Moon-Bathed Deep"
80110:Lightning-Riding Adventurer (II) - Complete 6 Open World mechanism-activated Time Trial Challenges on Watatsumi Island and Seirai Island in Inazuma.
80111:Lightning-Riding Adventurer (II) - Complete 12 Open World mechanism-activated Time Trial Challenges on Watatsumi Island and Seirai Island in Inazuma.
80112:Lightning-Riding Adventurer (II) - Complete 24 Open World mechanism-activated Time Trial Challenges on Watatsumi Island and Seirai Island in Inazuma.
80108:Seirai Stormchasers - Complete "Seirai Stormchasers"
80109:The Same Moonlight - Complete "The Moon-Bathed Deep"
80113:Continental Explorer: Tsurumi Island - Light up the Tsurumi Island map.
80114:Fog's Edge - Unlock all Teleport Waypoints in Tsurumi Island.
80114:Fog's Edge - Unlock all Teleport Waypoints on Tsurumi Island.
80115:Sanctuary Pilgrim: Tsurumi Island - Unlock all the Shrines of Depths on Tsurumi Island.
80116:Flashes in the Night - Follow 6 Electro Seelie on Tsurumi Island.
80119:Foggy Guidance - Follow 6 Seelie on Tsurumi Island to their Seelie Courts.
@@ -157,7 +156,7 @@
80161:Forest Roamer - Unlock all Teleport Waypoints in the following areas in Sumeru: Avidya Forest, Lokapala Jungle, Ardravi Valley, Ashavan Realm, Vissudha Field, Lost Nursery, and Vanarana.
80162:Sanctuary Pilgrim: Sumeru Boscage - Unlock all the Shrines of Depths in the following areas in Sumeru: Avidya Forest, Lokapala Jungle, Ardravi Valley, Ashavan Realm, Vissudha Field, Lost Nursery, and Vanarana.
80163:Fluorescent Bloom - Upgrade the Statues of The Seven in Sumeru to their maximum level.
80164:Culmination of the Great Dream - Reach the Max Level of the Tree of Dreams in Vanarana
80164:Culmination of the Great Dream - Reach the Max Level of the Tree of Dreams in Vanarana.
80165:Woodland Guide - Follow a total of 10 Seelie to their Seelie Courts in Avidya Forest, Lokapala Jungle, Ardravi Valley, Ashavan Realm, Vissudha Field, Lost Nursery, and Vanarana.
80166:Woodland Guide - Follow a total of 20 Seelie to their Seelie Courts in Avidya Forest, Lokapala Jungle, Ardravi Valley, Ashavan Realm, Vissudha Field, Lost Nursery, and Vanarana.
80167:Woodland Guide - Follow a total of 40 Seelie to their Seelie Courts in Avidya Forest, Lokapala Jungle, Ardravi Valley, Ashavan Realm, Vissudha Field, Lost Nursery, and Vanarana.
@@ -205,16 +204,15 @@
80215:Chaos Divided - Defeat 2 or more Character Cards from the opponent's deck in one single action a total of {param0} time(s) in victorious games.
80216:Chaos Divided - Defeat 2 or more Character Cards from the opponent's deck in one single action a total of {param0} time(s) in victorious games.
80217:Chaos Divided - Defeat 2 or more Character Cards from the opponent's deck in one single action a total of {param0} time(s) in victorious games.
80218:Legendary High Roller - Obtain {param0} Lucky Coins in total
80219:Legendary High Roller - Obtain {param0} Lucky Coins in total
80220:Legendary High Roller - Obtain {param0} Lucky Coins in total
80218:Legendary High Roller - Obtain {param0} Lucky Coins in total.
80219:Legendary High Roller - Obtain {param0} Lucky Coins in total.
80220:Legendary High Roller - Obtain {param0} Lucky Coins in total.
80221:Miniaturized Dice-Shaker - Deal 8 or more points of damage in one single action a total of {param0} time(s) in victorious games.
80222:Miniaturized Dice-Shaker - Deal 8 or more points of damage in one single action a total of {param0} time(s) in victorious games.
80223:Miniaturized Dice-Shaker - Deal 8 or more points of damage in one single action a total of {param0} time(s) in victorious games.
80224:Continental Explorer: Dune Dreams (II) - Light up the maps of the following area in Sumeru: Desert of Hadramaveth.
80225:Over Sandstorms and Mirages (II) - Unlock all Teleport Waypoints in the following area in Sumeru: Desert of Hadramaveth.
80226:Sanctuary Pilgrim: Dune Dreams (II) - Unlock all the Shrines of Depths in the following area in Sumeru: Desert of Hadramaveth.
80227:The Dirge of Bilqis - Complete "The Dirge of Bilqis."
80228:The Desert Will Guide You Home (II) - Follow {param0} Seelie in the Desert of Hadramaveth to their Seelie Courts.
80229:The Desert Will Guide You Home (II) - Follow {param0} Seelie in the Desert of Hadramaveth to their Seelie Courts.
80230:The Desert Will Guide You Home (II) - Follow {param0} Seelie in the Desert of Hadramaveth to their Seelie Courts.
@@ -224,6 +222,7 @@
80234:Quicksand Adventurer (II) - Complete {param0} Open World Time Trial Challenges in the Desert of Hadramaveth.
80235:Quicksand Adventurer (II) - Complete {param0} Open World Time Trial Challenges in the Desert of Hadramaveth.
80236:Quicksand Adventurer (II) - Complete {param0} Open World Time Trial Challenges in the Desert of Hadramaveth.
80227:The Dirge of Bilqis - Complete "The Dirge of Bilqis."
80237:Continental Explorer: Blessed Hamada - Light up the maps of the following areas in Sumeru: Gavireh Lajavard and Realm of Farakhkert.
80238:Descending Into the Depths of Desolation - Unlock all Teleport Waypoints in the following areas in Sumeru: Gavireh Lajavard and Realm of Farakhkert.
80239:Sanctuary Pilgrim: Blessed Hamada - Unlock all the Shrines of Depths in the following areas in Sumeru: Gavireh Lajavard and Realm of Farakhkert.
@@ -236,8 +235,28 @@
80246:Badlands Adventurer - Complete a total of {param0} Open World Time Trial Challenges in Gavireh Lajavard and Realm of Farakhkert.
80247:Badlands Adventurer - Complete a total of {param0} Open World Time Trial Challenges in Gavireh Lajavard and Realm of Farakhkert.
80248:Badlands Adventurer - Complete a total of {param0} Open World Time Trial Challenges in Gavireh Lajavard and Realm of Farakhkert.
80249:Khvarena of Good and Evil - Complete "Khvarena of Good and Evil."
80250:Alkanet Amrita - Upgrade the Amrita Pool to its maximum level.
80249:Khvarena of Good and Evil - Complete "Khvarena of Good and Evil."
80252:Continental Explorer: Land of Harmonious Springs (I) - Light up the maps of the following areas in Fontaine: Court of Fontaine Region, Belleau Region, and Beryl Region.
80253:Font of All Waters (I) - Unlock all Teleport Waypoints in the following areas in Fontaine: Court of Fontaine Region, Belleau Region, and Beryl Region.
80254:Sanctuary Pilgrim: Land of Harmonious Springs (I) - Unlock all the Shrines of Depths in the following areas in Fontaine: Court of Fontaine Region, Belleau Region, and Beryl Region.
80255:Like Waters Clear - Upgrade the Statues of The Seven in Fontaine to their maximum level.
80256:Dew Song - Reach the Max Level of the Fountain of Lucine in the Court of Fontaine.
80257:Tides Will Guide You Home (I) - Follow {param0} Seelie in the Court of Fontaine Region, Belleau Region, and Beryl Region to their Seelie Courts.
80258:Tides Will Guide You Home (I) - Follow {param0} Seelie in the Court of Fontaine Region, Belleau Region, and Beryl Region to their Seelie Courts.
80259:Tides Will Guide You Home (I) - Follow {param0} Seelie in the Court of Fontaine Region, Belleau Region, and Beryl Region to their Seelie Courts.
80260:Waveriding Treasure Hunter (I) - Open {param0} chests in the Court of Fontaine Region, Belleau Region, and Beryl Region.
80261:Waveriding Treasure Hunter (I) - Open {param0} chests in the Court of Fontaine Region, Belleau Region, and Beryl Region.
80262:Waveriding Treasure Hunter (I) - Open {param0} chests in the Court of Fontaine Region, Belleau Region, and Beryl Region.
80263:Waveriding Adventurer (I) - Complete {param0} Open World Time Trial Challenges in the Court of Fontaine Region, Belleau Region, and Beryl Region.
80264:Waveriding Adventurer (I) - Complete {param0} Open World Time Trial Challenges in the Court of Fontaine Region, Belleau Region, and Beryl Region.
80265:Waveriding Adventurer (I) - Complete {param0} Open World Time Trial Challenges in the Court of Fontaine Region, Belleau Region, and Beryl Region.
80266:Ann in Wonderland - Complete the tale of the Narzissenkreuz Adventure Team.
80267:Limner, Dreamer, and Robotic Dog - Discover the secret to be found within Elynas.
80268:Land of Fair Springs - Obtain the power of Hydro.
80269:Renart the Deceiver - Collect the entire "Fables de Fontaine" series.
80270:Robben versus Chesterton - Collect the entire "Robben versus Chesterton: Iridescent Brooch" series.
80271:Compendium of Misery - Collect the entire "The History of the Decline and Fall of Remuria" series.
81000:Overlooking View - Reach the very top of Qingyun Peak.
81001:The Remains of the Gale - Reach the top of the tower in Stormterror's Lair.
81002:"Seeds of Stories, Brought by the Wind..." - Reach the nameless island northeast of Mondstadt.
@@ -257,6 +276,7 @@
81023:Friends the World Over - Meet all sorts of people during your adventure.
81024:Megastar in Mondstadt - Reach Reputation Lv. 8 in Mondstadt.
81025:Legend in Liyue - Reach Reputation Lv. 8 in Liyue.
80092:Illustrious in Inazuma - Reach Reputation Lv. 10 in Inazuma.
81026:QUEST CLEAR - Complete 10 Bounties.
81027:QUEST CLEAR - Complete 20 Bounties.
81028:QUEST CLEAR - Complete 30 Bounties.
@@ -453,7 +473,7 @@
81238:Vamadha-Go-Round - Turn every Vamadha that holds a hidden treasure chest.
81239:In the Name of Anfortas - Visit the place where the heroes met their end.
81240:Call of the Nameless City - Quiet the mysterious parchment.
81241:Walking with Water and Wind - Complete "Until Vana is Healed."
81241:Walking with Water and Wind - Complete "Until Vana Is Healed."
81242:...Let Me Fade With Memory - Complete "Vimana Agama."
81243:Now Let Time Resume - Complete Aradasha's unfinished business.
81244:Please Play Safely - Play with the Aranara in the forest.
@@ -538,6 +558,7 @@
81327:A Fascinating Journey - Complete "An Artist Adrift."
81328:"This Mystery Is Solved!" - Complete "Monumental Study."
81329:Homeward-Bound Spirits - Complete "Pale Fire."
81339:The Sea of Fertility - All the ponds in the Vourukasha Oasis are now revitalized.
81331:The Brave Shall Not Falter - Pass all the trials set by Jarjar.
81332:Bifröst - Complete all the "Soul Bell" challenges.
81333:Seven Dish Dance - Complete all "Percussive Prancing Mushroom" challenges.
@@ -546,7 +567,39 @@
81336:Soaring in the Skies of Sary-Ozek - Keep Sorush in flight for a while.
81337:Whose Descendant Are You, and What's Your Name? - Call upon the power of Khvarena with Sorush for the first time.
81338:Use the Force, Sorush - Launch Nirodha Fruits with Sorush's help to melt {param0} crystals condensed from Amrita.
81339:The Sea of Fertility - All the ponds in the Vourukasha Oasis are now revitalized.
81340:Angle Eraser - Suppress the Beastly Rift using the power of the crystals.
81341:Core Cooling - Cause the roiling lake to become placid once more.
81342:The White Ship - "She's sailing on the sea of dreams..."
81344:Encyclopedia of Natural Philosophy - Use the glass wall and an indecipherable book to discover the gathering place of an old society.
81345:A Fontainian Message - Have a friendly chat with Virgil.
81346:Nothing but a Hound Dog... - Help Mamere fix Seymour.
81347:It's Fish, I Added Fish - Taste the wonderful "birthday cake" with the Melusine.
81348:Welcome to Fontaine - Complete a cruise on the aquabus.
81349:Sogno di Volare - Complete a flight with the Antoine Roger Aircraft.
81350:Birth of the Modern Clock - Help Puca find a way to "use" the ore.
81351:Waterworld Future - Gaze upon the "water" beneath the "surface."
81352:Aesthetics of Ugliness - And thus does Fontaine take two steps further toward beauty.
81353:Like Tears in the Rain - Find the impostor amidst the Hunter's Rays.
81355:These Are a Few of My... - ...Favorite Things.
81356:An Eye for an Eye - Take care of those annoying Bullet Barnacles!
81357:Do You Believe In Rapture? - Help build a Blubberbeast paradise.
81358:Hardships Experienced... - "To obtain the holy blade that might defeat the demon king, the knight broke into the ancient city, sealed using magic..."
81359:And After That... - "The knight defeated the demon king, saving the imprisoned princess. Light has returned to the kingdom..."
81360:A Study in Sable - Find a more... special subject of the Institute of Natural Philosophy's study.
81361:Twenty Thousand Leagues Under the Sea - Go with the flow...
81362:Truly Mouthwatering! - Help Henri change his fate.
81363:Song of the Ancients - Hear now the melody of ancient eons.
81364:Ninianne of the Lake - Defeat the local legend, Ninianne of the Lake.
81365:Vivianne of the Lake - Defeat the local legend, Vivianne of the Lake.
81366:Fontaine Expects That Everyone Will Do Their Duty - An item, returned to its rightful owner...
81367:In Search of Frittered Time - Reach Reputation Lv. 10 in Fontaine.
81368:Blubby, Chubby, Creative Evolution - Accompany the small Blubberbeast as it grows big and strong.
81369:Ocean Circuit Judge - Defeat the local legend, Ocean Circuit Judge.
81370:Iron Viscount - Defeat the local legend, Iron Viscount.
81371:Dobharcu, Lord of the Hidden - Defeat the local legend, Dobharcu, Lord of the Hidden.
81372:Fading Veteran - Defeat the local legend, Fading Veteran.
81373:Swords of the Gorge - Defeat the local legends, the Swords of the Gorge.
81374:The Fairy Knight Twins - Defeat the local legends, the Fairy Knight Twins
82001:Nothing Special, Just Practice - Hit a falcon mid-flight with your bow.
82002:Master Sniper - Strike an opponent's weak point from afar with an Aimed Shot.
82003:Der Freischütz - Strike an opponent's weak point from extremely far away with an Aimed Shot.
@@ -642,6 +695,7 @@
82096:I'll Skip the Spa, Thanks - Defeat a Mirror Maiden without being trapped by its Water Prison.
82097:It's Quiet... Too Quiet... - Defeat the Pyro Hypostasis after it enters its extinguished state only once
82098:The Battle of Narukami Island - Defeat the Perpetual Mechanical Array in its weakened state.
82109:The Finishing Touch - Defeat Azhdaha without ever having gained a shield.
82099:If I Run Fast Enough... - Defeat a Maguu Kenki without being hit by its phantom's attacks.
82100:In This Solemn Matter Let No One Interfere! - Defeat a Maguu Kenki without triggering its "Oushi no Omote" parry.
82101:Fine, I'll Do It Myself - Defeat a Primo Geovishap without reflecting its Primordial Shower.
@@ -652,7 +706,6 @@
82106:Fight Fire With Fire - Defeat a Kairagi: Fiery Might while their weapon is infused with Pyro.
82107:Ride the Lightning - Defeat a Kairagi: Dancing Thunder while their weapon is infused with Electro.
82108:I Hear Thunder... - Be struck by the lightning called down by a Crackling Axe Mitachurl...
82109:The Finishing Touch - Defeat Azhdaha without ever having gained a shield.
82110:Dry Clean - Defeat the Hydro Hypostasis without destroying a single one of its Water Droplets (except when it is restoring HP.)
82111:Bio-Oceanic Weapon - Be hit by a certain animal created by the Hydro Hypostasis...
82112:Love and Non-Communication - Defeat a Thunder Manifestation without ever being locked onto.
@@ -687,7 +740,7 @@
82141:Daisy, Daisy - Break the Algorithm of Semi-Intransient Matrix of Overseer Network by hitting its cores with the Quicken, Aggravate, or Spread reactions.
82142:Stop It, Mr. Robot! - Interrupt the charged attack of the Aeonblight Drake by attacking the core on its head.
82143:Nanomachines, Son! - Defeat an activated Jadeplume Terrorshroom while it is unleashing a powerful skill...
82144:Establishing a Beachhead - Witness the overclocking impact of the Algorithm of Semi-Intransient Matrix of Overseer Network
82144:Establishing a Beachhead - Witness the overclocking impact of the Algorithm of Semi-Intransient Matrix of Overseer Network.
82145:The Invisible Hand - Defeat the Primal Construct without disabling its invisible state.
82146:Grassy Blasty, Sparks 'n' Splash - Defeat 4 opponents with Burgeon within 2s (x1).
82147:Grassy Blasty, Sparks 'n' Splash - Defeat 4 opponents with Burgeon within 2s (x5).
@@ -710,6 +763,12 @@
82167:Proof by Exhaustion - Defeat Iniquitous Baptists of all possible elemental combinations.
82168:When You Say Nothing at All - Destroy all Elemental Rings to paralyze the Iniquitous Baptist when it begins to channel its attack.
82169:Like the Sun's Passage - Defeat the Guardian of Apep's Oasis without any character being attacked by aftershocks of the apocalypse.
82175:The White Path Between Two Rivers - Lose in the duel against the legendary Hunter's Ray...
82176:Cell, Splinter - Use Pneuma or Ousia attacks to interrupt the Breacher Primus's stress state.
82177:Too Hot to Handle! - Constantly attempt to freeze Tainted Hydro Phantasms...
82178:Funerary Storm - Use a Pneuma attack to weaken the whirlwind Coppelia creates during the performance's climax.
82179:The King Is Dead, Long Live the King! - Interrupt the Emperor of Fire and Iron's Searing Coronation.
82180:Icebound Oath - Use an Ousia attack to remove the shield that Coppelius deploys during the performance's climax.
84000:The End of the Beginning - Complete the Mondstadt Archon Quests.
84001:The Outlander Who Caught the Wind - Complete "The Outlander Who Caught the Wind."
84002:For a Tomorrow Without Tears - Complete "For a Tomorrow Without Tears."
@@ -734,10 +793,8 @@
84021:I'll Let You Off... This Time - Defeat Childe.
84022:Derailed - Defeat the Overlord of the Vortex.
84023:Final Farewell - Take part in the Rite of Parting.
84024:A New Star Approaches - Complete "A New Star Approaches".
84024:A New Star Approaches - Complete "A New Star Approaches."
84025:Gears of Destiny - Complete the quest "Bough Keeper: Dainsleif".
84026:Fantastic Voyage: Prologue - Complete "Fantastic Voyage" and unlock all endings.
84028:Behold, Mine Evil-Espying Eye! - Correctly interpret all clues.
84029:The Bandit, the Lunatic, and the Pitch-Black Enigma - Uncover the Grand Thief's fate.
84030:Where Fate Comes to a Crossroads - Escape the eerie ruins.
84031:Sneering at the Power of the Gods - Learn of the "Loom of Fate"...
@@ -763,8 +820,6 @@
84051:Their Wishes - Bring all the wishes upon the Statue of the Omnipresent God to fruition.
84052:Omnipresence Over Mortals - Complete "Omnipresence Over Mortals."
84053:"All Is Well" - Help Wang Ping'an renovate Pervases' temple.
84054:Anna's Adventures - Help Anna become an adventurer.
84055:Prelude to the Journey - A young man is about to embark on a long journey...
84056:Rise of the Jade Chamber - Complete the reconstruction of the Jade Chamber.
84057:Majesty of the Deep - Defeat Beisht, Avenger of the Vortex.
84058:A Former Dream - Witness the truth of the village's history.
@@ -805,55 +860,14 @@
84093:The Sickness Unto Near-Death - Create the medicine that will bring hope.
84094:The Far Side of Fate - Witness the miracle granted by the "Sinner."
84095:Caribert - Complete "Caribert."
84100:Archaic Lord of Lightning and Blitz - Witness the awesome meteorological power of Bennett's phenomenally bad luck.
84101:The Power of Luck - Activate the mechanisms and obtain the treasure without making any mistakes.
84102:A Line That May Be Crossed - Complete "Wellspring of Healing" and unlock all endings.
84103:A Maid of Strength and Virtue - Complete "Chivalric Training" and unlock all endings.
84104:Evil Is Banished - Complete "Signs of Evil" and unlock all endings.
84105:Mondstadt's Spiciest Surprise - Sample Barbara's Chilibrew.
84106:"...For I Am Duty Bound" - Help Noelle discover the source of her strength.
84107:Red Hot Chili Popsicles - Make a popsicle using the wrong recipe and provoke Chongyun's Pure-Yang Spirit.
84108:An Idol's Last Line of Defense - Successfully persuade Albert and Barbara's other fans to leave.
84109:A World Known Only Unto Roses - Read Noelle's study notes.
84110:Stress Relief - Complete "Knightly Exam Prep" and unlock all endings.
84111:Invulnerable Maid-Knight - Listen to "A Knight's Journey Through Liyue" with Noelle.
84112:Mondstadt's Note-Taker General - Read Noelle's study notes.
84113:Diona Special, Stirred, Not Shaken - Complete "The Cat and the Cocktail" and unlock all endings.
84114:But There's a Catch... - Help Diona find a special base drink.
84115:Kitten Queen - Bring all the cats back to The Cat's Tail.
84116:Everyone's Happy - Complete "A Housekeeper's Daily Chores" and unlock all endings.
84117:Housekeeper Extraordinaire - Complete the big cleanup within the time limit
84118:From the Sea Never Returning - Learn of Inu Shoushou's story together with Thoma
84119:Taller by Half - Complete "Yoohoo Art: Seichou no Jutsu" and unlock all endings.
84120:Mujina-Class Ninja - Obtain Sayu's highest rating during agility training.
84121:Dish Effect: Mobility Decreased - You were unable to prevent Sayu's reckless consumption...
84122:Honorary Crux Member - Complete "When the Crux Shines Bright" and unlock all endings.
84123:Wine Unburdens - Take part in the Qingce banquet with Beidou
84124:Guyun Buyers' Club - Find out the truth behind the deal Beidou's making
84125:General of Watatsumi - Complete "The Canine General's Special Operations" and unlock all endings
84126:Changing Times - Draw all fortune slips at the Grand Narukami Shrine.
84127:To Tell or Not to Tell, That Is the Question - Discover Ms. Hina's true identity at the Yae Publishing House.
84128:Megrez's Companion Star - Complete "The Jade Chamber's Returning Guest" and unlock all endings.
84129:You've Got to Have Reserves - Fish? The more the merrier, of course!
84130:Overprotectiveness - A single stone births a thousand ripples. It seems like Ningguang's day off is not to be.
84131:The Lingering Song - Complete "A Song That Knows Grace" and unlock all endings.
84132:May This Moment Be Made to Last - Take a commemorative photo with Yun Jin.
84133:A Strict Master Trains a Talented Pupil - Complete the practice session without hitting a single blue scarecrow.
84134:Arataki Gang Chief Advisor - Complete "The Gang's Daily Deeds" and unlock all endings.
84135:One More Look! - Gaze upon the glory that is Kuki Shinobu in a shrine maiden outfit.
84136:"Upstairs..." - Be dissuaded before alerting Kujou Sara and Kuki Shinobu.
84137:You Thought We Were For Real, Eh? - Complete "Trap 'Em by Storm" and unlock all endings.
84138:An Ideal Detective Am I - Correctly analyze the motives and the truth behind the crime the first time.
84139:Sangonomiya Supplications - Ask Gorou whether Kokomi knows about the happenings on Watatsumi Island.
84140:Optimal Solution - Complete "A Confounding Conundrum" and unlock all endings.
84141:To You in a Hundred Years - Read all the letters sent to Faruzan.
84142:Mechanics: From Beginner to...? - Guess correctly the smallest number of moves it will take to solve a seven-layer Pagoda Stack.
84143:The Name Is Layla - Complete "Ever Silent Stars" and unlock all endings.
84144:She's Already Tense - Help Layla finish her thesis without causing her further anxiety.
84145:Secret of Seelie and the Star-Lit Sky - Obtain the authentic letter of the Wisdom Seelie.
84146:Art and Life - Complete "The Pendulum of Weal and Woe" and unlock all endings.
84147:School Days - Find the annotated books in the House of Daena.
84148:An Architect's Romanticism - Chat about the future with Kaveh in the desert.
84096:Like Water Disappearing Into Water - Hear about the "prophecy" that has been circulating around Fontaine.
84097:A Detective in Action - Investigate the truth of the incident as Lyney's "attorney."
84098:A Twist of Great Magic - The Oratrice Mecanique d'Analyse Cardinale has delivered a verdict of not guilty.
84099:Prelude of Blancheur and Noirceur - Complete "Prelude of Blancheur and Noirceur."
84300:Lennék én folyóvíz - Hear the Oceanid's call and connect with her consciousness.
84301:Once Upon a Time in Fleuve Cendre - Learn about Navia's father at the Spina di Rosula's stronghold.
84302:Tragedy Repeats Itself - Reveal the truth behind the "serial disappearances case."
84303:As Light Rain Falls Without Reason - Complete "As Light Rain Falls Without Reason."
84501:...Odomu? - Successfully conduct cultural exchange with the hilichurls in "Language Exchange."
84502:Yo dala? - Successfully conduct cultural exchange with the hilichurls in "Poetry Exchange."
84503:Perfectionist - Complete all of Tsarevich's commissions flawlessly in "Reliable Helper."
@@ -894,6 +908,8 @@
84540:Guess Who? - Find out who Zhenyu really is.
84541:Well, At Least It Ended - Hear Junkichi out as he puts his story together.
84542:Her and Her Cat - Follow Neko up Mt. Yougou to find "Hibiki"'s trail.
84054:Anna's Adventures - Help Anna become an adventurer.
84055:Prelude to the Journey - A young man is about to embark on a long journey...
84543:Aha! What's on the Hook? - Fish some strange things up with Kayvan...
84544:Kalimi's Fungus - Watch Hatim make a killing on the exchange!
84545:When Wealth Comes A-Knockin' - Give Hatim some Apple Cider.
@@ -917,6 +933,11 @@
84563:A Lingering Fragrance - Witness Nermin's tale.
84564:Swordseeker - Witness the tale of Lan and the "Unseen Razor."
84565:To Walk The Horizon...? - Witness Sun Yu's tale.
84566:Office on the Avenue - Witness various miscellaneous matters in the Court of Fontaine.
84567:Not Your Average Joe - Brew a special blend of coffee.
84568:Aesthetic Critique - Listen to Depierris' theories regarding "aesthetics."
84569:Second Childhood - Play with the kids, and witness their story.
84570:A Sudden Squall - Witness Iaune's work travails.
85000:Nothing to Lose But Time - Unlock the secrets of two sundials.
85001:Interview With a Bygone God - Hear the story of a bygone deity.
85002:Crouching Dragon, Hidden Chi - Learn about the tale of the Chi.
@@ -924,6 +945,60 @@
85004:Shadow Over Luhua Pool - Help Vermeer get the scenery of his dreams.
85005:Ready Player Zero - Play a simple game with Childish Jiang.
85006:Trees Should Blend Their Roots and Shade, for That Is Where the Home Is Made - Witness the story of Yuan Hong's household.
84026:Fantastic Voyage: Prologue - Complete "Fantastic Voyage" and unlock all endings.
84100:Archaic Lord of Lightning and Blitz - Witness the awesome meteorological power of Bennett's phenomenally bad luck.
84101:The Power of Luck - Activate the mechanisms and obtain the treasure without making any mistakes.
84104:Evil Is Banished - Complete "Signs of Evil" and unlock all endings.
84028:Behold, Mine Evil-Espying Eye! - Correctly interpret all clues.
84107:Red Hot Chili Popsicles - Make a popsicle using the wrong recipe and provoke Chongyun's Pure-Yang Spirit.
84102:A Line That May Be Crossed - Complete "Wellspring of Healing" and unlock all endings.
84108:An Idol's Last Line of Defense - Successfully persuade Albert and Barbara's other fans to leave.
84105:Mondstadt's Spiciest Surprise - Sample Barbara's Chilibrew.
84103:A Maid of Strength and Virtue - Complete "Chivalric Training" and unlock all endings.
84106:"...For I Am Duty Bound" - Help Noelle discover the source of her strength.
84109:A World Known Only Unto Roses - Read Noelle's study notes.
84110:Stress Relief - Complete "Knightly Exam Prep" and unlock all endings.
84111:Invulnerable Maid-Knight - Listen to "A Knight's Journey Through Liyue" with Noelle.
84112:Mondstadt's Note-Taker General - Read Noelle's study notes.
84113:Diona Special, Stirred, Not Shaken - Complete "The Cat and the Cocktail" and unlock all endings.
84114:But There's a Catch... - Help Diona find a special base drink.
84115:Kitten Queen - Bring all the cats back to The Cat's Tail.
84116:Everyone's Happy - Complete "A Housekeeper's Daily Chores" and unlock all endings.
84117:Housekeeper Extraordinaire - Complete the big cleanup within the time limit
84118:From the Sea Never Returning - Learn of Inu Shoushou's story together with Thoma
84119:Taller by Half - Complete "Yoohoo Art: Seichou no Jutsu" and unlock all endings.
84120:Mujina-Class Ninja - Obtain Sayu's highest rating during agility training.
84121:Dish Effect: Mobility Decreased - You were unable to prevent Sayu's reckless consumption...
84122:Honorary Crux Member - Complete "When the Crux Shines Bright" and unlock all endings.
84123:Wine Unburdens - Take part in the Qingce banquet with Beidou
84124:Guyun Buyers' Club - Find out the truth behind the deal Beidou's making
84125:General of Watatsumi - Complete "The Canine General's Special Operations" and unlock all endings
84126:Changing Times - Draw all fortune slips at the Grand Narukami Shrine.
84127:To Tell or Not to Tell, That Is the Question - Discover Ms. Hina's true identity at the Yae Publishing House.
84128:Megrez's Companion Star - Complete "The Jade Chamber's Returning Guest" and unlock all endings.
84129:You've Got to Have Reserves - Fish? The more the merrier, of course!
84130:Overprotectiveness - A single stone births a thousand ripples. It seems like Ningguang's day off is not to be.
84131:The Lingering Song - Complete "A Song That Knows Grace" and unlock all endings.
84132:May This Moment Be Made to Last - Take a commemorative photo with Yun Jin.
84133:A Strict Master Trains a Talented Pupil - Complete the practice session without hitting a single blue scarecrow.
84134:Arataki Gang Chief Advisor - Complete "The Gang's Daily Deeds" and unlock all endings.
84135:One More Look! - Gaze upon the glory that is Kuki Shinobu in a shrine maiden outfit.
84136:"Upstairs..." - Be dissuaded before alerting Kujou Sara and Kuki Shinobu.
84137:You Thought We Were For Real, Eh? - Complete "Trap 'Em by Storm" and unlock all endings.
84138:An Ideal Detective Am I - Correctly analyze the motives and the truth behind the crime the first time.
84139:Sangonomiya Supplications - Ask Gorou whether Kokomi knows about the happenings on Watatsumi Island.
84140:Optimal Solution - Complete "A Confounding Conundrum" and unlock all endings.
84141:To You in a Hundred Years - Read all the letters sent to Faruzan.
84142:Mechanics: From Beginner to...? - Guess correctly the smallest number of moves it will take to solve a seven-layer Pagoda Stack.
84143:The Name Is Layla - Complete "Ever Silent Stars" and unlock all endings.
84144:She's Already Tense - Help Layla finish her thesis without causing her further anxiety.
84145:Secret of Seelie and the Star-Lit Sky - Obtain the authentic letter of the Wisdom Seelie.
84146:Art and Life - Complete "The Pendulum of Weal and Woe" and unlock all endings.
84147:School Days - Find the annotated books in the House of Daena.
84148:An Architect's Romanticism - Chat about the future with Kaveh in the desert.
84149:Make Merry - Complete "Shenanigans and Sweet Wine" and unlock all endings.
84150:Lucky Coin - Participate in the wager set up by Kaeya.
84151:Shh... Listen! - Listen to the voice coming from the confinement room.
86001:You Came, You Saw, We Co-Oped - Complete Domains together with other players 5 times.
86002:You Came, You Saw, We Co-Oped - Complete Domains together with other players 20 times.
86003:You Came, You Saw, We Co-Oped - Complete Domains together with other players 100 times.
@@ -937,13 +1012,13 @@
86011:This Is Fine - Defeat a Pyro Regisvine in Co-Op Mode.
86012:A Fish Called Rhodeia - Defeat an Oceanid in Co-Op Mode.
86013:Wolf Pact - Defeat the king of Wolvendom in Co-Op Mode.
86021:A Delusion's Abilities Don't Decide a Battle's Outcome - Defeat Childe in Co-Op Mode.
86015:Moving Mountains - Defeat a Primo Geovishap in Co-Op Mode.
86016:Blast From the Past - Defeat Azhdaha in Co-Op Mode.
86017:Put on Ice - Defeat a Cryo Hypostasis in Co-Op Mode.
86018:No Strings Attached, Anymore - Defeat a Maguu Kenki in Co-Op Mode.
86019:Operation Bonfire - Defeat a Pyro Hypostasis in Co-Op Mode.
86020:The Not-So-Perpetual Mechanical Array - Defeat a Perpetual Mechanic Array in Co-Op Mode.
86021:A Delusion's Abilities Don't Decide a Battle's Outcome - Defeat Childe in Co-Op Mode.
86022:Our Hearts as One - Defeat a Thunder Manifestation in Co-Op Mode.
86023:Water, Basically - Defeat a Hydro Hypostasis in Co-Op Mode.
86024:Dashing Through the Snow... and the Flames - Defeat Signora in Co-Op Mode.
@@ -951,4 +1026,13 @@
86026:Brave the Lightning's Glow... - Defeat the Raiden Shogun in Co-Op Mode.
86027:Surpassing the Ancients' Wisdom - Defeat the Ruin Serpent in Co-Op Mode.
86028:I'm a Flexitarian - Defeat a Jadeplume Terrorshroom in Co-Op Mode.
86029:Electric Shock Hazard - Defeat an Electro Regisvine in Co-Op Mode.
86029:Electric Shock Hazard - Defeat an Electro Regisvine in Co-Op Mode.
86030:End of the Eternal Return - Defeat the Aeonblight Drake in Co-Op Mode.
86031:Ever So Slightly Inferior - Defeat the Algorithm of Semi-Intransient Matrix of Overseer Network in Co-Op Mode.
86032:The Greenery Out of Space - Defeat a Dendro Hypostasis in Co-Op Mode.
86033:Dance Like You Want to Win! - Defeat Shouki no Kami, the Prodigal in Co-Op Mode.
86034:Desert-Dwellers' Rite of Passage - Defeat the Setekh Wenut in Co-Op Mode.
86035:Presumption of Guilt - Defeat the Iniquitous Baptist in Co-Op Mode.
86036:Proof of the Reed Sea Conqueror - Defeat the Guardian of Apep's Oasis in Co-Op Mode.
86037:The Power of Science is Staggering! - Complete one form of the "Icewind Suite" challenge in Co-Op Mode.
86038:A Successful Hunt - Defeat the Emperor of Fire and Iron in Co-Op Mode.

View File

@@ -21,6 +21,8 @@
2020:Windblume's Breath
2021:A Parade of Providence
2022:Duel! The Summoners' Summit!
2023:Secret Summer Paradise
2024:Mega Meka Melee
// 1.0
1001:Lantern Rite
5001:Elemental Crucible
@@ -166,7 +168,7 @@
5116:Second Blooming
5117:Warrior's Spirit
5118:Almighty Arataki Extraordinary and Exhilarating Extreme Beetle Brawl
5119:Heated Battle Mode: Tactical Formation
5119:Heated Battle Mode: The Profound Purpose of Practice
5121:Vultur Volans Chapter
5122:Lord of the Desert
5126:Desert of Hadramaveth
@@ -193,21 +195,38 @@
5137:Carassius Auratus Chapter
5143:The Forge Realm's Temper
5146:Genius Invokation TCG: Radiant Secrets
// 新手与特殊活动
101:前路既定
1014:送芭芭拉活动
1023:打深渊送香菱活动
8001:星之归还
10001:test1.0签到
10002:(test)高价值一次性签到
10003:把握每日
10004:把握每日
10005:虹旅藏金
10006:虹旅藏金
10007:虹旅藏金
10010:把握每日
10011:富贵登门
10012:异乡食记
10013:云流星奔
50001:万民同行
50002:浅唱祈礼
// 3.8
5140:Perilous Expedition
5141:Adventurer's Trials: Advanced
5142:Shared Sight
5145:Hangout Event
5148:The Forge Realm's Temper: Endless Swarm
5119:Heated Battle Mode: The Profound Purpose of Practice
// 4.0
5148:The Forge Realm's Temper: Endless Swarm
5119:Heated Battle Mode: The Profound Purpose of Practice
5147:Studies in Light and Shadow: A Fontaine of Enchantment
5149:Felis Fuscus Chapter
5150:Relic Records: Creations of the Hydro Nation
5151:Verdict of Blades
5153:Lone Suzerain of Land and Sea
5154:Gear and Clockwork Roundelay
5158:The Terrestrial Sea, Origin of All Waters
// newcomers and special events
101: The way ahead is set
1014:Send Barbara activity
1023: Hit the abyss to send Xiangling activity
8001: Return of the Stars
10001: (test) 1.0 check-in
10002: (test) High value one-time check-in
10003: grasp the daily
10004: grasp the daily
10005: Honglv hidden gold
10006:Honglv hidden gold
10007:Honglv hidden gold
10010: grasp the daily
10011: Wealth comes to the door
10012: Tales from a foreign land
10013: Cloud Meteor Run
50001: People of all walks of life
50002: shallow singing prayer

View File

@@ -118,6 +118,46 @@
30544:Stamen of Khvarena's Origin
30553:Ancient Abscission
30554:Ancient Abscission
31412:Forgotten Vessel
31413:Forgotten Vessel
31422:Masterpiece's Overture
31423:Masterpiece's Overture
31432:Veteran's Visage
31433:Veteran's Visage
31442:Hunter's Brooch
31443:Hunter's Brooch
31452:Moment of Judgment
31453:Moment of Judgment
31513:Forgotten Vessel
31514:Forgotten Vessel
31523:Masterpiece's Overture
31524:Masterpiece's Overture
31533:Veteran's Visage
31534:Veteran's Visage
31543:Hunter's Brooch
31544:Hunter's Brooch
31553:Moment of Judgment
31554:Moment of Judgment
32412:Golden Night's Bustle
32413:Golden Night's Bustle
32422:Golden Bird's Shedding
32423:Golden Bird's Shedding
32432:Golden Troupe's Reward
32433:Golden Troupe's Reward
32442:Golden Song's Variation
32443:Golden Song's Variation
32452:Golden Era's Prelude
32453:Golden Era's Prelude
32513:Golden Night's Bustle
32514:Golden Night's Bustle
32523:Golden Bird's Shedding
32524:Golden Bird's Shedding
32533:Golden Troupe's Reward
32534:Golden Troupe's Reward
32543:Golden Song's Variation
32544:Golden Song's Variation
32553:Golden Era's Prelude
32554:Golden Era's Prelude
51110:Goblet of the Sojourner
51111:Goblet of the Sojourner
51112:Goblet of the Sojourner
@@ -3187,4 +3227,4 @@
99551:Lord of Wind over Firmament's Hourglass
99552:Lord of Wind over Firmament's Hourglass
99553:Lord of Wind over Firmament's Hourglass
99554:Lord of Wind over Firmament's Hourglass
99554:Lord of Wind over Firmament's Hourglass

View File

@@ -2,8 +2,10 @@
21:Gilded Dreams
27:Desert Pavilion Chronicle
28:Flower of Paradise Lost
29:水仙之梦
30:花海甘露之光
29:Nymphs Dream
30:Vourukashas Glow
31:Marechaussee Hunter
32:Golden Troupe
51:Resolution of Sojourner
52:Brave Heart
53:Defender's Will

View File

@@ -1,8 +1,8 @@
1002:Kamisato Ayaka
1002:Kamisato Ayaka
1003:Jean
1005:Aether
1005:Male Character
1006:Lisa
1007:Lumine
1007:Female Lead
1014:Barbara
1015:Kaeya
1016:Diluc
@@ -45,7 +45,6 @@
1058:Yae Miko
1059:Shikanoin Heizou
1060:Yelan
1061:Kirara
1062:Aloy
1063:Shenhe
1064:Yun Jin
@@ -60,10 +59,14 @@
1073:Nahida
1074:Layla
1075:Wanderer
1076:Faruzan
1077:Yaoyao
1078:Alhaitham
1079:Dehya
1080:Mika
1081:Kaveh
1082:Baizhu
1082:Baizhu
1076:Faruzan
1061:Kirara
1083:Lynette
1084:Lyney
1085:Freminet

View File

@@ -71,7 +71,7 @@ Unlock player status
no CD
/setstats cdr 100%
All skins
/give 340000|/give 340001|/give 340002|/give 340003|/give 340004|/give 340005|/give 340006|/give 340007|/give 340008|/give 340009
/give 340000|/give 340001|/give 340002|/give 340003|/give 340004|/give 340005|/give 340006|/give 340007|/give 340008|/give 340009|/give 340010|/give 340011
Monthly cards
/give 1202 x999
Troubleshoot

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -1,4 +1,4 @@
30302:Goddess Statue Unlocked - [N/A] 362713143
30302:Goddess Statue Unlocked - [N/A] 362713143
30303:Goddess Statue Unlocked - [N/A] 715511863
30304:Goddess Statue Unlocked - [N/A] 163018255
30305:Goddess Statue Unlocked - [N/A] 3694648119
@@ -219,7 +219,7 @@
38001:Fallen Tears - Go to the Thousand Winds Temple
38002:Fallen Tears - Defeat the monsters guarding the ruin to complete the challenge
38003:Fallen Tears - Obtain Dvalin's Tear
38004:Fallen Tears - [CHS] - (test)隐藏对话$HIDDEN
38004:Fallen Tears - Talk to Jean
38101:Hidden Tears - Go to the ruins in the woods
38102:Hidden Tears - Enter the ruins in the woods
38103:Hidden Tears - Defeat all opponents in the ruin
@@ -1327,15 +1327,15 @@
102603:[CHS] - (test)寻人启事刷新$HIDDEN - [CHS] - (test)刷送仙物品$HIDDEN
102604:[CHS] - (test)寻人启事刷新$HIDDEN - [CHS] - (test)刷新寻人启示$HIDDEN
102701:[CHS] - 层岩间章Part2.5$HIDDEN - [CHS] - 众人闲置对话$HIDDEN
102801:Chasmic Maze - Enter the Domain
102802:Chasmic Maze - Talk to everyone
102803:Chasmic Maze - Leave the Domain
102804:Chasmic Maze - Talk to everyone
102805:Chasmic Maze - Talk to everyone
102806:Chasmic Maze - Talk to everyone
102807:Chasmic Maze - [CHS] - 完成父任务$HIDDEN
102808:Chasmic Maze - Ascertain if the Domain leads outside
102809:Chasmic Maze - [CHS] - 刷新烤菫瓜$HIDDEN
102801:[N/A] 3086338855 - Enter the Domain
102802:[N/A] 3086338855 - Talk to everyone
102803:[N/A] 3086338855 - Leave the Domain
102804:[N/A] 3086338855 - Talk to everyone
102805:[N/A] 3086338855 - Talk to everyone
102806:[N/A] 3086338855 - Talk to everyone
102807:[N/A] 3086338855 - [CHS] - 完成父任务$HIDDEN
102808:[N/A] 3086338855 - Ascertain if the Domain leads outside
102809:[N/A] 3086338855 - [CHS] - 刷新烤菫瓜$HIDDEN
102901:Danger All Around - Wait till the next day
102902:Danger All Around - Continue exploring
102903:Danger All Around - Confirm the situation inside the Domain
@@ -17173,19 +17173,19 @@
7332908:Search for the Lost Monument Fragments - Search for the lost monument fragments with Sorush's help
7332909:Search for the Lost Monument Fragments - [CHS] - (test)防回滚隐藏$HIDDEN
7332910:Search for the Lost Monument Fragments - [CHS] - (test)首次获得符文reminder$HIDDEN
7333001:Investigate the Fatui camps marked by Sosi - Investigate the Fatui camps marked by Sosi
7333002:Investigate the Fatui camps marked by Sosi - Investigate the next Fatui camp
7333003:Investigate the Fatui camps marked by Sosi - [CHS] - (test)防回滚(隐藏)$HIDDEN
7333004:Investigate the Fatui camps marked by Sosi - Continue forward and look for clues
7333005:Investigate the Fatui camps marked by Sosi - [CHS] - (test)追踪脚印
7333006:Investigate the Fatui camps marked by Sosi - Continue following the footprints and look for clues
7333007:Investigate the Fatui camps marked by Sosi - Talk to the Fatui officer
7333008:Investigate the Fatui camps marked by Sosi - Defeat all opponents
7333009:Investigate the Fatui camps marked by Sosi - Wait until noon (10:00 14:00)
7333010:Investigate the Fatui camps marked by Sosi - [CHS] - (test)时间不对回滚$HIDDEN
7333011:Investigate the Fatui camps marked by Sosi - Go to the main camp
7333012:Investigate the Fatui camps marked by Sosi - Follow the footprints and search for clues
7333013:Investigate the Fatui camps marked by Sosi - Defeat all opponents
7333001:Investigate the Fatui Camps Marked by Sosi - Investigate the Fatui camps marked by Sosi
7333002:Investigate the Fatui Camps Marked by Sosi - Investigate the next Fatui camp
7333003:Investigate the Fatui Camps Marked by Sosi - [CHS] - (test)防回滚(隐藏)$HIDDEN
7333004:Investigate the Fatui Camps Marked by Sosi - Continue forward and look for clues
7333005:Investigate the Fatui Camps Marked by Sosi - [CHS] - (test)追踪脚印
7333006:Investigate the Fatui Camps Marked by Sosi - Continue following the footprints and look for clues
7333007:Investigate the Fatui Camps Marked by Sosi - Talk to the Fatui officer
7333008:Investigate the Fatui Camps Marked by Sosi - Defeat all opponents
7333009:Investigate the Fatui Camps Marked by Sosi - Wait until noon (10:00 14:00)
7333010:Investigate the Fatui Camps Marked by Sosi - [CHS] - (test)时间不对回滚$HIDDEN
7333011:Investigate the Fatui Camps Marked by Sosi - Go to the main camp
7333012:Investigate the Fatui Camps Marked by Sosi - Follow the footprints and search for clues
7333013:Investigate the Fatui Camps Marked by Sosi - Defeat all opponents
7333201:Awaken the Residual Pari in the Fravashi Trees - [CHS] - (test)获得斯露莎小道具后才能接取任务$HIDDEN
7333202:Awaken the Residual Pari in the Fravashi Trees - [CHS] - (test)到达精灵冢附近$HIDDEN
7333203:Awaken the Residual Pari in the Fravashi Trees - [CHS] - (test)与斯露莎对话$HIDDEN
@@ -17951,4 +17951,4 @@
7903708:[CHS] - test)隐藏任务控制莫娜地城传送$UNRELEASED$HIDDEN - [CHS] - test)回到20134$UNRELEASED$HIDDEN
7903801:[N/A] 2825156287 - [N/A] 153137900
7904001:[N/A] 4111312767 - [N/A] 203113820
9000101:Quest Editor Test - Connection success?
9000101:Quest Editor Test - Connection success?

View File

@@ -1,4 +1,4 @@
1:BigWorld_LevelStreaming
1:BigWorld_LevelStreaming
2:BigWorld_LevelStreaming
3:BigWorld_LevelStreaming
4:LostParadise_LevelStreaming
@@ -6,6 +6,7 @@
6:TheChasm_LevelStreaming
7:MichiaeMatsuri_LevelStreaming
9:DreamIsland_LevelStreaming
10:Penumbra_LevelStreaming
1001:ClimbTest1
1002:ClimbTest2
1003:TheBigWorld
@@ -58,7 +59,11 @@
1077:IndoorScene_Xm_Chunzhangjia
1078:IndoorScene_Xm_Zls
1079:IndoorScene_Xm_Alhouse
1080:IndoorScene_Fd_ShuiXian
1082:IndoorScene_Ly_Baizhu
1083:IndoorScene_Fd_Yht
1084:IndoorScene_Fd_Hotel
1085:IndoorScene_Fd_Gjy
2001:Homeworld_Exterior_Above
2002:Homeworld_Exterior_Karst
2003:Homeworld_Exterior_Uncharted
@@ -180,7 +185,10 @@
20180:BigWorld_LevelStreaming
20181:Level_HangMystification
20182:Level_Ly_Baizhu_01
20183:Level_Penumbra_CircusTent
20185:Level_WeekDungeon_Apep
20186:Level_Fontaine_Gear
20187:Level_Dungeon_Fd_LinNi
30001:LevelTest_CurseMaze
30100:Level_Tower_Morning_01
30101:Level_Tower_Morning_01
@@ -355,6 +363,12 @@
33752:Level_Tower_Universe_01
33753:Level_Tower_Moon_01
33754:Level_Tower_Universe_01
33755:Level_Tower_Moon_01
33756:Level_Tower_Universe_01
33757:Level_Tower_Moon_01
33758:Level_Tower_Moon_01
33759:Level_Tower_Moon_01
33760:Level_Tower_Universe_01
34100:Level_Tower_Morning_01
34101:Level_Tower_01_Water
34102:Level_Tower_01_Open
@@ -418,6 +432,12 @@
34752:Level_Tower_Universe_01
34753:Level_Tower_Moon_01
34754:Level_Tower_Universe_01
34755:Level_Tower_Moon_01
34756:Level_Tower_Universe_01
34757:Level_Tower_Moon_01
34758:Level_Tower_Moon_01
34759:Level_Tower_Moon_01
34760:Level_Tower_Universe_01
35100:Level_Tower_Morning_01
35101:Level_Tower_Morning_01
35102:Level_Tower_Morning_01
@@ -481,6 +501,12 @@
35752:Level_Tower_Universe_01
35753:Level_Tower_Moon_01
35754:Level_Tower_Universe_01
35755:Level_Tower_Moon_01
35756:Level_Tower_Universe_01
35757:Level_Tower_Moon_01
35758:Level_Tower_Moon_01
35759:Level_Tower_Moon_01
35760:Level_Tower_Universe_01
35800:Level_CycleDungeon_WindFlower
35801:Level_ContestBattle01
35802:Level_ContestBattle01
@@ -569,6 +595,15 @@
35911:Level_SmrDungeon_Challenge
35912:Level_SmrDungeon_Challenge
35913:Level_SmrDungeon_Challenge
35914:Level_Activity_Circus
35915:Level_Activity_Circus
35916:Level_Activity_Circus
35917:Level_Activity_Circus
35918:Level_SmrDungeon_Challenge
35919:Level_SmrDungeon_Challenge
35920:Level_SmrDungeon_Challenge
35921:Level_SmrDungeon_Challenge
35922:Level_SmrDungeon_Challenge
40001:Level_UCDungeon02
40002:Level_UCDungeon01
40003:Level_UCDungeon01
@@ -726,6 +761,18 @@
40755:Level_Cycle01_XM02
40756:Level_Cycle01_XM02
40757:Level_Cycle01_XM02
40760:Level_Cycle_Fontaine01
40761:Level_Cycle_Fontaine01
40762:Level_Cycle_Fontaine01
40763:Level_Cycle_Fontaine01
40770:Level_Cycle_Fontaine02
40771:Level_Cycle_Fontaine02
40772:Level_Cycle_Fontaine02
40773:Level_Cycle_Fontaine02
40780:Level_Cycle_Fontaine03
40781:Level_Cycle_Fontaine03
40782:Level_Cycle_Fontaine03
40783:Level_Cycle_Fontaine03
40800:Level_CycleDungeon02_ThunderCave_Dq
40801:Level_CycleDungeon02_ThunderCave_Dq
40802:Level_CycleDungeon02_ThunderCave_Dq
@@ -813,6 +860,13 @@
41066:Level_Tower_01_Open
41067:Level_Tower_01_Open
41068:Level_Tower_01_Open
41069:Level_Tower_01_Open
41070:Level_Tower_01_Open
41071:Level_Tower_01_Open
41072:Level_Tower_01_Open
41073:Level_Tower_01_Open
41074:Level_Tower_01_Open
41075:Level_Tower_01_Open
42001:Level_PFDungeon02_Active01
42002:Level_PFDungeon02_Active02
42003:Level_PFDungeon02_Active07
@@ -950,6 +1004,7 @@
47605:Level_XM_BigLeaf
47606:Level_OnmyoCombat_01
47607:Level_CloudCombat_01
47608:Level_Carnival02
50002:TestLevel_Cold_LYX
50003:TestLevel_Battle_CLX
50004:Level_PowerCharge_Test
@@ -1042,6 +1097,9 @@
50097:Level_Tower_Moon_01
50098:Level_Tower_Moon_01
50099:Level_Tower_Moon_01
50100:FdWaterTest
50101:FdWaterTest02
50102:FdWaterFlowTest
51000:Level_Tower_Moon_01
51001:Level_Tower_Moon_01
51002:Level_Tower_Moon_01
@@ -1058,14 +1116,20 @@
51013:Level_Xm_Alhaitham_01
51014:Level_Cycle01_XM04
51015:Level_TestLevel_Pacman_Sll
51016:TestLevel_FD_4.6_YYL
51017:Level_Cycle01_XM04
51018:TestLevel_Dehya_GJH
51019:TestLevel_WhiteBox_Xm_05
51020:TestLevel_3.7UGC_GJH
51021:Level_CustomLevel_A_05
51022:Level_CustomLevel_A_05
51023:TestLevel_WhiteBox_Fd_01
51024:TestLevel_WhiteBox_3.7UGC
51026:TestLevel_WhiteBox_UGC_TowerDefence
51027:TestLevel_WhiteBox_UGC_Survival
51028:TestLevel_WhiteBox_UGC_CampEnhancer
79999:GcgCardTest
51031:Level_SmrDungeon_Challenge
51032:TestLevel_Whitebox_MQL
51037:Level_Tower_Moon_01
51038:Level_Tower_Moon_01
79999:GcgCardTest

View File

@@ -1,4 +1,4 @@
11101:Dull Blade
11101:Dull Blade
11201:Silver Sword
11301:Cool Steel
11302:Harbinger of Dawn
@@ -27,6 +27,9 @@
11420:Prized Isshin Blade
11421:Prized Isshin Blade
11422:Toukabou Shigure
11424:Wolf-Fang
11425:Finale of the Deep
11426:Fleuve Cendre Ferryman
11501:Aquila Favonia
11502:Skyward Blade
11503:Freedom-Sworn
@@ -61,6 +64,8 @@
12416:Akuoumaru
12417:Forest Regalia
12418:Mailed Flower
12424:Talking Stick
12425:Tidal Shadow
12501:Skyward Pride
12502:Wolf's Gravestone
12503:Song of Broken Pines
@@ -87,6 +92,8 @@
13416:Wavebreaker's Fin
13417:Moonpiercer
13419:Missive Windspear
13424:Ballad of the Fjords
13425:Rightful Reward
13501:Staff of Homa
13502:Skyward Spine
13504:Vortex Vanquisher
@@ -118,10 +125,11 @@
14415:Oathsworn Eye
14416:Wandering Evenstar
14417:Fruit of Fulfillment
14424:Sacrificial Jade
14425:Flowing Purity
14501:Skyward Atlas
14502:Lost Prayer to the Sacred Winds
14504:Memory of Dust
14505:Jadefall<6C><6C>s Splendor
14506:Everlasting Moonglow
14509:Kagura's Verity
14511:A Thousand Floating Dreams
@@ -153,10 +161,13 @@
15417:King's Squire
15418:End of the Line
15419:Ibis Piercer
15424:Scion of the Blazing Sun
15425:Song of Stillness
15501:Skyward Harp
15502:Amos' Bow
15503:Elegy for the End
15507:Polar Star
15508:Aqua Simulacra
15509:Thundering Pulse
15511:Hunter's Path
15511:Hunter's Path
15512:The First Great Magic

View File

@@ -17,9 +17,9 @@
80017:Как закалялась сталь - Возвысьте оружие до фазы 2.
80018:Как закалялась сталь - Возвысьте оружие до фазы 4.
80019:Как закалялась сталь - Возвысьте оружие до фазы 6.
80020:Это личное... - Достигните уровня дружбы 10 с 4-мя персонажами.
80021:Это личное... - Достигните уровня дружбы 10 с 8-мью персонажами.
80022:Это личное... - Достигните уровня дружбы 10 с 16-тью персонажами.
80020:Это личное... - Достигните уровня дружбы 10 с четырьмя персонажами.
80021:Это личное... - Достигните уровня дружбы 10 с восьмью персонажами.
80022:Это личное... - Достигните уровня дружбы 10 с шестнадцатью персонажами.
80023:Щедрость земли - Получите награды Цветов богатства или Цветов озарения 200 раз.
80024:Щедрость земли - Получите награды Цветов богатства или Цветов озарения 400 раз.
80025:Щедрость земли - Получите награды Цветов богатства или Цветов озарения 800 раз.
@@ -89,7 +89,6 @@
80089:Сказания из Татары - Разрешите ситуацию с горном Микагэ.
80090:Эхо ярости - Завершите задание «Наследие Оробаси».
80091:Байки из склепа - Соберите полную коллекцию «Рассказов улицы Токи».
80092:По островам царства грома - Достигните уровня репутации 10 в Инадзуме.
80093:В поисках приключений грома I - Завершите 6 активируемых механизмами ограниченных по времени испытаний открытого мира на острове Наруками, в Каннадзуке и на острове Ясиори в Инадзуме.
80094:В поисках приключений грома I - Завершите 12 активируемых механизмами ограниченных по времени испытаний открытого мира на острове Наруками, в Каннадзуке и на острове Ясиори в Инадзуме.
80095:В поисках приключений грома I - Завершите 24 активируемых механизмами ограниченных по времени испытания открытого мира на острове Наруками, в Каннадзуке и на острове Ясиори в Инадзуме.
@@ -103,11 +102,11 @@
80105:В поисках сокровищ грома II - Откройте 40 сундуков на островах Ватацуми и Сэйрай в Инадзуме.
80106:В поисках сокровищ грома II - Откройте 80 сундуков на островах Ватацуми и Сэйрай в Инадзуме.
80107:В поисках сокровищ грома II - Откройте 160 сундуков на островах Ватацуми и Сэйрай в Инадзуме.
80108:Охотники за грозами Сэйрая - Завершите «Охотники за грозами Сэйрая».
80109:Тот же свет луны - Завершите «Лунную бездну».
80110:В поисках приключений грома II - Завершите 6 активируемых механизмами ограниченных по времени испытаний открытого мира на островах Ватацуми и Сэйрай в Инадзуме.
80111:В поисках приключений грома II - Завершите 12 активируемых механизмами ограниченных по времени испытаний открытого мира на островах Ватацуми и Сэйрай в Инадзуме.
80112:В поисках приключений грома II - Завершите 24 активируемых механизмами ограниченных по времени испытания открытого мира на островах Ватацуми и Сэйрай в Инадзуме.
80108:Охотники за грозами Сэйрая - Завершите «Охотники за грозами Сэйрая».
80109:Тот же свет луны - Завершите «Лунную бездну».
80113:Континентальный исследователь: Цуруми - Откройте полностью карту Цуруми.
80114:Край тумана - Активируйте все точки телепортации на острове Цуруми.
80115:Паломник святилища: Цуруми - Откройте все усыпальницы глубин на острове Цуруми.
@@ -122,7 +121,7 @@
80126:Гроза навсегда - Выполните поручение некоего писателя по сбору материалов.
80127:#{M#Хозяин}{F#Хозяйка} зоопарка - Поймайте 1 дикое животное с помощью Сети всевездесущности.
80128:#{M#Хозяин}{F#Хозяйка} зоопарка - Поймайте 30 диких животных с помощью Сети всевездесущности.
80129:Хозяин зоопарка - Поймайте 100 диких животных с помощью Сети всевездесущности.
80129:#{M#Хозяин}{F#Хозяйка} зоопарка - Поймайте 100 диких животных с помощью Сети всевездесущности.
80130:«...тебе неведома ночь...» - Откройте полностью карту Энканомии.
80131:Высшая власть в Токоё - Активируйте все точки телепортации в Энканомии.
80132:Наставления Фосфороса - Доведите 6 фей до их садов в Энканомии.
@@ -208,13 +207,12 @@
80218:Легендарный игрок - Суммарно получите {param0} счастливых монет.
80219:Легендарный игрок - Суммарно получите {param0} счастливых монет.
80220:Легендарный игрок - Суммарно получите {param0} счастливых монет.
80221:Дайс-шейкер - В победной игре нанесите не менее 8 ед. урона за один ход ×{param0}.
80222:Дайс-шейкер - В победной игре нанесите не менее 8 ед. урона за один ход ×{param0}.
80223:Дайс-шейкер - В победной игре нанесите не менее 8 ед. урона за один ход ×{param0}.
80221:Дайс-шейкер - В победной игре нанесите 8 ед. урона за один ход ×{param0}.
80222:Дайс-шейкер - В победной игре нанесите 8 ед. урона за один ход ×{param0}.
80223:Дайс-шейкер - В победной игре нанесите 8 ед. урона за один ход ×{param0}.
80224:Континентальный исследователь: Жгучие сны пустыни II - Откройте карту следующего региона Сумеру: пустыня Хадрамавет.
80225:Через миражи и песчаные бури II - Активируйте все точки телепортации в следующем регионе Сумеру: пустыня Хадрамавет.
80226:Паломник святилища: Жгучие сны пустыни II - Откройте все Усыпальницы глубин в следующем регионе Сумеру: пустыня Хадрамавет.
80227:Панихида Билцис - Завершите «Панихиду Билцис»
80228:Пустыня укажет тебе путь II - Доведите фей ({param0}) до их садов в пустыне Хадрамавет.
80229:Пустыня укажет тебе путь II - Доведите фей ({param0}) до их садов в пустыне Хадрамавет.
80230:Пустыня укажет тебе путь II - Доведите фей ({param0}) до их садов в пустыне Хадрамавет.
@@ -224,6 +222,7 @@
80234:Искатель приключений в зыбучих песках II - Завершите активируемых механизмом ограниченных по времени испытаний открытого мира в пустыне Хадрамавет: {param0}.
80235:Искатель приключений в зыбучих песках II - Завершите активируемых механизмом ограниченных по времени испытаний открытого мира в пустыне Хадрамавет: {param0}.
80236:Искатель приключений в зыбучих песках II - Завершите активируемых механизмом ограниченных по времени испытаний открытого мира в пустыне Хадрамавет: {param0}.
80227:Панихида Билцис - Завершите «Панихиду Билцис»
80237:Континентальный исследователь: Благословенная хамада - Откройте карты следующих регионов Сумеру: Гавирех Ладжавард, царство Фарахкерт.
80238:Небеса опустились в бездну - Активируйте все точки телепортации в следующих регионах Сумеру: Гавирех Ладжавард, царство Фарахкерт.
80239:Паломник святилища: Благословенная хамада - Откройте все Усыпальницы глубин в следующих регионах Сумеру: Пустыня Одинокой скалы, царство Фарахкерт.
@@ -231,13 +230,33 @@
80241:Проводник пустыни - Доведите фей ({param0}) до их садов в Гавирехе Ладжаварде, царстве Фарахкерт.
80242:Проводник пустыни - Доведите фей ({param0}) до их садов в Гавирехе Ладжаварде, царстве Фарахкерт.
80243:Охотник за сокровищами пустыря - Откройте сундуки ({param0}) в Гавирехе Ладжаварде, царстве Фарахкерт.
80244:Охотник за сокровищами пустыря - Откройте сундуки ({param0}) в Гавирехе Ладжаварде, царстве Фарахкерт.
80244:Охотник за сокровищами пустыря - Откройте сундуки ({param0}) в пустыне Одинокой скалы, царстве Фарахкерт.
80245:Охотник за сокровищами пустыря - Откройте сундуки ({param0}) в Гавирехе Ладжаварде, царстве Фарахкерт.
80246:Искатель приключений пустыря - Завершите ограниченные по времени испытания открытого мира ({param0}) в Гавирехе Ладжаварде, царстве Фарахкерт.
80247:Искатель приключений пустыря - Завершите ограниченные по времени испытания открытого мира ({param0}) в Гавирехе Ладжаварде, царстве Фарахкерт.
80247:Искатель приключений пустыря - Завершите ограниченные по времени испытания открытого мира ({param0}) в пустыне Одинокой скалы, царстве Фарахкерт.
80248:Искатель приключений пустыря - Завершите ограниченные по времени испытания открытого мира ({param0}) в Гавирехе Ладжаварде, царстве Фарахкерт.
80249:Хварна добра и зла - Завершите «Хварну добра и зла».
80250:Красная амрита - Повысьте Озеро амриты до макс. уровня.
80249:Хварна добра и зла - Завершите «Хварну добра и зла».
80252:Континентальный исследователь: Земля мелодичных родников I - Откройте карту Белло, Берилла и Кур-де-Фонтейна.
80253:Всех вод источник I - Откройте все точки телепортации Белло, Берилла и Кур-де-Фонтейна.
80254:Паломник святилища: Земля мелодичных родников I - Сломайте печати всех Усыпальниц глубин в Белло, Берилле и Кур-де-Фонтейне.
80255:Капля чистой воды - Повысьте статую семи Архонтов в Фонтейне до макс. уровня.
80256:Песнь росы - Повысьте фонтан Люсин в Кур-де-Фонтейне до макс. уровня.
80257:Проводник по волнам I - Проследуйте за {param0} феями в их сады в Белло, Берилле и Кур-де-Фонтейне.
80258:Проводник по волнам I - Проследуйте за {param0} феями в их сады в Белло, Берилле и Кур-де-Фонтейне.
80259:Проводник по волнам I - Проследуйте за {param0} феями в их сады в Белло, Берилле и Кур-де-Фонтейне.
80260:Охотник за морскими сокровищами I - Откройте {param0} сундуков в Белло, Берилле и Кур-де-Фонтейне.
80261:Охотник за морскими сокровищами I - Откройте {param0} сундуков в Белло, Берилле и Кур-де-Фонтейне.
80262:Охотник за морскими сокровищами I - Откройте {param0} сундуков в Белло, Берилле и Кур-де-Фонтейне.
80263:Искатель морских приключений I - Завершите ограниченные по времени испытания открытого мира ({param0}) в Белло, Берилле и Кур-де-Фонтейне.
80264:Искатель морских приключений I - Завершите ограниченные по времени испытания открытого мира ({param0}) в Белло, Берилле и Кур-де-Фонтейне.
80265:Искатель морских приключений I - Завершите ограниченные по времени испытания открытого мира ({param0}) в Белло, Берилле и Кур-де-Фонтейне.
80266:Анн в стране чудес - Завершите историю Отряда героев Нарциссенкрейца.
80267:Картины. Мечты. Механический пёс - Узнайте секрет внутри Элинаса.
80268:Земля чистых родников - Получите силу элемента Гидро.
80269:Обманщица Ренар - Соберите полную коллекцию «Притч о животных Фонтейна».
80270:Бандиты и сыщики - Соберите полную коллекцию серии «Бандиты и сыщики: Радужная брошь».
80271:Коллекция несчастий - Соберите полную коллекцию «Закат и падение Ремурии».
81000:Всеохватывающий вид - Достигните вершины пика Цинъюнь.
81001:Останки режущих бурь - Достигните вершины башни в логове Ужаса Бури.
81002:Семена истории, принесённые ветром... - Достигните безымянного острова на северо-востоке Мондштадта.
@@ -257,6 +276,7 @@
81023:Друзья по всему миру - Познакомьтесь с разными людьми во время своего путешествия.
81024:Мегазвезда Мондштадта - Достигните уровня репутации 8 в Мондштадте.
81025:Легенда Ли Юэ - Достигните уровня репутации 8 в Ли Юэ.
80092:По островам царства грома - Достигните уровня репутации 10 в Инадзуме.
81026:Цель уничтожена - Выполните 10 заказов на монстров.
81027:Цель уничтожена - Выполните 20 заказов на монстров.
81028:Цель уничтожена - Выполните 30 заказов на монстров.
@@ -538,6 +558,7 @@
81327:Чудесное путешествие - Завершите «Художника в свободном плавании».
81328:Все загадки разгаданы! - Завершите «Монументальное исследование».
81329:Возвращение духов - Завершите «Бледное пламя».
81339:Изобильное море - Жизненные силы восстановились во всех цветочных полянах оазиса Вурукаша.
81331:Храбрецы не бегут - Пройдите все испытания от Джарджар.
81332:Путь света - Завершите все испытания Колокола духов.
81333:Танец на барабанах - Завершите все испытания барабанных прыгунков.
@@ -546,7 +567,39 @@
81336:Кружение в небе над Паре-Ожеком - Заставьте Соруш пролететь некоторое время.
81337:Чей ты потомок? Как тебя зовут? - Первый раз используйте Соруш для управления силой Хварны.
81338:Соруш, используй силу - Бросьте фрукт ниродха с помощью Соруш, чтобы растопить кристаллы из застывшей амриты ({param0}).
81339:Изобильное море - Жизненные силы восстановились во всех цветочных полянах оазиса Вурукаша.
81340:Стиратель углов - Подавите Звериный разрыв с помощью силы кристаллов.
81341:Охлаждение очага - Верните бурлящему озеру былое спокойствие.
81342:Белый корабль - «Он идёт по волнам мечты...»
81344:Энциклопедия натурфилософии - Найдите место встречи древнего общества при помощи стеклянной стены и книги, не поддающейся расшифровке.
81345:Фонтейнское послание - Побеседуйте с Виржилем по-дружески.
81346:Всего лишь собака... - Помогите Мамер починить Сеймура.
81347:Это рыба, вкусная рыба - Попробуйте «праздничный торт» с мелюзиной.
81348:Добро пожаловать в Фонтейн - Завершите маршрут на аквабусе.
81349:Мечта о полёте - Завершите полёт на Летательном аппарате Антуана Роже.
81350:Появление современных часов - Помогите Пуке найти руде полезное применение.
81351:Грядущий водный мир - Вглядитесь в «пространство воды» под «поверхностью».
81352:Эстетика непривлекательности - Ещё два шага Фонтейна к прекрасному.
81353:Словно слёзы под дождём - Найдите самозванца среди остроскатов.
81355:В жизни есть столько... - ...прекрасных вещей.
81356:Око за око - Разберитесь с назойливыми пулелюсками!
81357:Веришь ли ты в восторг? - Помогите построить рай для пухленей.
81358:Сквозь трудности... - «...Чтобы заполучить Чудесный меч, способный одолеть злого короля, рыцарь врывается в древнюю крепость, закрытую магией...»
81359:А потом... - «...После победы над злым королём рыцарь спасает принцессу. И в королевство возвращается свет...»
81360:Этюд в чёрных тонах - Найдите более... специфический предмет для изучения в Институте натурфилософии.
81361:Двадцать тысяч лье под водой - Следуйте за потоком...
81362:Сводящий с ума аромат - Помогите Анри изменить судьбу.
81363:Песнь древних - Услышьте мелодию старины.
81364:Дева озера Нинианна - Победите местную легенду, Деву озера Нинианну
81365:Дева озера Вивианна - Победите местную легенду, Деву озера Вивианну
81366:Фонтейн ждёт, что каждый выполнит свой долг - Предмет возвращается к законному владельцу...
81367:В поисках растраченного времени - Достигните уровня репутации 10 в Фонтейне.
81368:Теория пухленькой эволюции - Сопровождайте маленького пухленя, пока он растёт.
81369:Окружной судья океана - Победите местную легенду, Окружного судью океана
81370:Железный виконт - Победите местную легенду, Железного виконта
81371:Владыка отшельников: Доварху - Победите местную легенду, Владыку отшельников Доварху
81372:Угасающий старый солдат - Победите местную легенду, Угасающего старого солдата
81373:Меч ущелья - Победите местную легенду, Меч ущелья
81374:Волшебные рыцари-близнецы - Победите местную легенду, Волшебных рыцарей-близнецов
82001:Это просто практика... - Сбейте сокола в полёте с помощью лука.
82002:Выстрел со ста шагов - Попадите прицельным выстрелом в уязвимое место противника с большого расстояния.
82003:Вольный стрелок - Попадите прицельным выстрелом в уязвимое место противника с очень большого расстояния.
@@ -642,6 +695,7 @@
82096:Водная терапия - Победите зеркальную деву, не попав в её водяную тюрьму.
82097:Здесь тихо... Слишком тихо... - Победите Пиро гипостазис после того, как он войдёт в потушенное состояние лишь один раз.
82098:Битва за остров Наруками - Победите бесконечный механический массив, пока он находится в ослабленном состоянии.
82109:Последний штрих - Победите Аждаху без использования щита.
82099:Если бежать быстрее... - Победите магу кэнки, не попав под атаки его фантома.
82100:Дуэль чести - Победите магу кэнки, не активируя его парирование «Оси но омотэ».
82101:Ладно, я сделаю это сам - Победите древнего геовишапа, не отражая Первобытный поток.
@@ -652,7 +706,6 @@
82106:Клин клином вышибают - Победите кайраги: Огненная мощь, пока его оружие имеет статус Пиро.
82107:Оседлать молнию - Победите кайраги: Громовое вознесение, пока его оружие имеет статус Электро.
82108:Гром донёсся с востока - Получите удар молнии, вызванной митачурлом с электрическим топором...
82109:Последний штрих - Победите Аждаху без использования щита.
82110:Убийство всухую - Одолейте Гидро гипостазиса, не победив ни одну из капель (кроме периодов, когда гипостазис восстанавливает HP).
82111:Гидробиологическое оружие - Вас побеждает существо, в которое превратился Гидро гипостазис.
82112:Непередаваемая волна любви - Победите манифестацию грома так, чтобы вас не обнаружил Ударный зонд.
@@ -680,12 +733,12 @@
82134:Бешеный цветок в конце пути - Когда Электро папоротник выпустит пучок молний, парализуйте его атакой по венчику.
82135:Дух противника сломлен! - Дождитесь, когда состояние Оживления завершится, и Пернатый плесенник перейдёт в состояние истощения, и победите его.
82136:Запах жареных плесенников поутру - За одну битву уничтожьте 6 плесенников, выброшенных Пернатым плесенником в состоянии Горения.
82137:Последний день дракона - За одну битву низвергните дракона вечных бедствий атакой на ядра, расположенные на его крыльях.
82138:Победа - у тебя в голове - За одну битву прервите поток энергии дракона вечных бедствий атакой на ядро, расположенное в его голове.
82139:Сопротивление бесполезно! - Победите дракона вечных бедствий с повышенным сопротивлением как минимум к двум разным элементам.
82137:Последний день дракона - За одну битву низвергните Дракона вечных бедствий атакой на ядра, расположенные на его крыльях.
82138:Победа - у тебя в голове - За одну битву прервите поток энергии Дракона вечных бедствий атакой на ядро, расположенное в его голове.
82139:Сопротивление бесполезно! - Победите Дракона вечных бедствий с повышенным сопротивлением как минимум к двум разным элементам.
82140:Сбой системы - Разрушьте Алгоритм полуизвечной матрицы оператора наблюдения, пока он находится в перегрузке.
82141:Дэйзи, Дэйзи - Прервите состояние невидимости Алгоритма полуизвечной матрицы оператора наблюдения, атаковав его ядра Стимуляцией, Обострением или Разрастанием.
82142:Постойте, господин робот! - Прервите яростную атаку дракона вечных бедствий атакой на ядро, расположенное в его голове.
82142:Постойте, господин робот! - Прервите яростную атаку Дракона вечных бедствий атакой на ядро, расположенное в его голове.
82143:Наномашины, мой мальчик! - Победите Пернатого плесенника, пока он находится в состоянии Оживления и использует свои боевые навыки.
82144:Организация плацдарма - Узрите Алгоритм полуизвечной матрицы оператора наблюдения...
82145:Невидимая рука - Победите первозданную конструкцию, не нарушая её невидимого состояния.
@@ -697,7 +750,7 @@
82151:Вегетация на арене - Выполните 10 раз: Одолейте 4 врагов с помощью реакции Вегетация за 2 сек.
82155:Удивительная азотфиксация - В ходе одного испытания против Дендро гипостазиса одновременно переведите три восстанавливающих ядра в состояние оживления.
82156:Разговор падающей травы - Сожгите оболочку из лозы Дендро гипостазиса, когда он совершает атаку в падении.
82157:Грохот падения - Используйте элементальные матрицы, чтобы вызвать перезагрузку и парализовать Сёки но Ками.
82157:Грохот падения - Используйте элементальные матрицы, чтобы вызвать перегрузку и парализовать Сёки но Ками.
82158:Цикл рождения и смерти - Возрождение возможно даже на грани уничтожения...
82159:Активный камуфляж - С помощью Стимуляции, Обострения, Разрастания или импульса истины прервите невидимость минимум 2 первозданных конструкций за 3 сек.
82160:Повелитель благовоний... - Вызовите реакцию Рассеивание при помощи шаров эрозии, чтобы атаковать Унута Сетеха, пока он левитирует.
@@ -707,9 +760,15 @@
82164:Защита от взаимной атаки... - Разрушьте щит Сёки но Ками, когда он проводит мощный шквал атак.
82165:Вот это настоящий Хранитель четырёх ветров! - Во время одного испытания Унута Сетеха активируйте реакцию рассеивания шара эрозии с помощью Крио, Пиро, Электро и Гидро атак соответственно.
82166:Отчуждённость... - Победите Чудовищного крестителя, не нарушая его защитного купола.
82167:Метод исключения - Победите Чудовищного крестителя, вобравшего все силы элементов.
82167:Метод исключения - Победите Чудовищных крестителей всех возможных элементальных комбинаций.
82168:В такие моменты слова будут лишними - Когда Чудовищный креститель совершает древние песнопения, уничтожьте все элементальные кольца, чтобы его парализовать.
82169:Подобно движению солнца - Победите Стража оазиса Апепа, не попав под воздействие волн апокалипсиса.
82175:Законный путь меж двух рек - Проиграйте дуэль легендарному остроскату...
82176:Расколовшаяся клетка - Используйте атаки пневмой или усией, чтобы нарушить состояние напряжения у протогена расщелин.
82177:Слишком горячо! - Без остановки пытайтесь заморозить фантазмов мутных вод...
82178:Погребальная гроза - Используйте атаку пневмой, чтобы ослабить вихрь, созданный Коппелией во время кульминации представления.
82179:Король умер, да здравствует король! - Прервите Пылающую коронацию Императора огня и железа.
82180:Ледяная клятва - Атакой усии уничтожьте щит, который Коппелиус установил во время кульминации представления.
84000:Затянутое начало - Завершите задания Архонтов в Мондштадте.
84001:Чужеземец, поймавший ветер - Завершите главу «Чужеземец, поймавший ветер».
84002:Горькие слёзы - Завершите главу «Горькие слёзы».
@@ -736,8 +795,6 @@
84023:Последнее прощание - Примите участие в Церемонии Вознесения.
84024:Приближение новой звезды - Завершите «Приближение новой звезды».
84025:Механизмы судьбы - Завершите задание «Хранитель ветви: Дайнслейф».
84026:Волнительное приключение: Пролог - Завершите встречу «Волнительное приключение» и откройте все концовки.
84028:Знаток нечисти - Безошибочно истолкуйте все подсказки.
84029:Безумцы, разбойники и тёмные тайны - Узнайте судьбу Великого вора.
84030:Перекрёсток судеб - Сбегите из загадочных руин.
84031:Насмешка над силой богов - Узнайте о «Плетении судьбы»...
@@ -763,8 +820,6 @@
84051:Чужие желания - Исполните все желания, содержащиеся в статуе всевидящего божества.
84052:Всевидящий бог, бренный мир - Завершите «Всевидящий бог, бренный мир».
84053:«Всё благополучно» - Помогите Ван Пинъаню восстановить храм Бронзового Воробья.
84054:Приключения Анны - Помогите Анне стать искательницей приключений.
84055:В дальний путь - Юноша готовится к долгому путешествию...
84056:Дворец до самых небес - Закончите реконструкцию Нефритового дворца.
84057:Величие глубин - Одолейте Бешт, Отголосок Вихря
84058:Видение из прошлого - Станьте свидетелем правды о прошлом деревни.
@@ -805,15 +860,102 @@
84093:Ещё не смертельная болезнь - Создайте лекарство, несущее надежду.
84094:На том берегу судьбы - Станьте свидетелем чуда, дарованного «Грешником».
84095:Кариберт - Выполните «Кариберт».
84096:Как вода исчезает в воде - Послушайте о пророчестве, которое широко известно в Фонтейне.
84097:Сыщик в действии - Разузнайте, что на самом деле произошло с Лини, в качестве его «представителя».
84098:Большой магический разворот - Оратрис Меканик д'Анализ Кардиналь вынесла приговор: вина не доказана.
84099:Прелюдия белых рос и чёрных волн - Завершите «Прелюдию белых рос и чёрных волн».
84300:Ручей лепечет, полный благозвучья... - Услышьте зов океаниды и соединитесь с её сознанием
84301:Однажды во Флёв Сандр - Узнайте об отце Навии на базе Спина-ди-Росула.
84302:Трагедия повторяется - Раскройте дело об исчезновениях девушек
84303:Словно лёгкий дождь без причины - Завершите «Словно лёгкий дождь без причины»
84501:...Odomu? - Проведите успешный «языковой обмен» с хиличурлом.
84502:Yo dala? - Проведите успешный «поэтический обмен» с хиличурлом.
84503:Перфекционист - Безупречно выполните все поручения Царевича в задании «Сказано - сделано!»
84504:Говорю как есть - Соберите информацию о Снежной в задании «Зимняя история».
84505:Анекдоты Гео Архонта - Соберите полный сборник историй о Властелине Камня.
84506:Останьтесь ненадолго, путешественники... - Послушайте историю о «Дожде клинков» в задании «Сейчас объясню».
84507:Давным-давно, в далёком-далёком царстве... - Послушайте историю о «Гневе Хай Шаня» в задании «Сейчас объясню».
84508:Карамба, пираты! - Сыграйте в пиратов с малышами Лулу, Фэем и Мэном.
84509:Повар и рыбак - Завершите задания «Рыбак Цзян Сюэ» и «Дилемма Янь Сяо».
84510:Любовь повсюду - Помогите Чжи Хуа отыскать пять счастливых знамений в задании «Хороший знак».
84512:Излишняя тоска - Завершите 5 раз задание «Ветер воспоминаний уносит тоску».
84513:На этаж повыше... - Помогите Хуай Аню починить лестницу на постоялом дворе «Ваншу».
84514:Новичкам везёт - Выберите самый дорогой нефрит с первого раза.
84515:Пора ответить за свои ошибки - Извинитесь перед Тимми.
84516:Стукни и заработает - Принесите Герману только материалы для тренировочного манекена.
84517:Мгновенная карма - Разоблачите Марджори и получите благодарность от Джека.
84518:«Привет, любимый папочка...» - Послушайте историю Тимми.
84519:Чудеса медицины - Вылечите болезнь Анны.
84520:Во имя Фавония - Станьте свидетелем истории Джиллианы.
84522:Академические притязания - Завершите задания «Потерянная реликвия» и «Дело о краже сокровищ».
84523:Мечта и работа, стихи и хлеб - Завершите задание «Так называемая "работа"» и получите сборник поэзии Линь Лин.
84524:Все хорошо, что хорошо кончается - Завершите задание «В ожидании старого друга».
84525:Потрясающий роман - Подсмотрите в рукопись Чана Девятого.
84526:Открыто для интерпретации - Испортите 4 знамения неизбежной любви.
84527:Это не живая консерва - Съешьте еду в задании «Доставка еды»...
84528:Замаскирован на виду - Помогите Санго и Рюдзи раскрыть дело.
84529:Есть всегда одна истина? - Станьте свидетелем истории Рюдзи.
84530:Ли Юэ итибан - Вылечите Тан Вэнь вкусной едой.
84531:Опять бум шака-лака - Узнайте у Сян Лин об особых методах готовки.
84532:Обед для двоих - Помогите Сюй Дуну и Камэи Мунэхисе приготовить по одному блюду.
84533:Вопрос диеты - Помогите Парване проверить рецепты.
84534:Рисовый самурай - Помогите Камэи Мунэхисе собрать ингредиенты из лагерей с обеих сторон.
84535:«Простите за неудобства!» - Получите жалобу от Конды Дэнсукэ в задании «Обслуживание после продажи».
84536:Самурай-гурман - Станьте свидетелем принятия Камэи Мунэхисы в ряды всеядных гурманов.
84537:Ау... Есть кто? - Найдите скрытый проход на острове Рито.
84538:Мнение редакции - Помогите Сигэру и Дзюнкити вернуться на творческий путь.
84539:Пора открывать Досин додзё - Помогите Асакуре с тренировками 5 раз.
84540:Угадай кто? - Узнайте, кем является Чжэнь Юй на самом деле.
84541:Хотя бы заканчивается - Дослушайте историю Дзюнкити до конца.
84542:Она и её кошка - Вместе с Нэко идите на гору Ёго и найдите следы Хибики.
84054:Приключения Анны - Помогите Анне стать искательницей приключений.
84055:В дальний путь - Юноша готовится к долгому путешествию...
84543:Что на крючке? - Вместе с Кайваном выловите странные предметы.
84544:Плесенник Калими - Посмотрите, как Хатим срывает куш на бирже!
84545:Богатство стучится в дверь - Угостите Хатима яблочным напитком.
84546:Котолов - Помогите Саре отыскать её кошек.
84547:Законы арифметики - Помогите Гарсии завершить его устройство.
84548:Труд всему голова - Соберите побольше грибов для Хамбэя.
84549:Релаксационная терапия - Исполните желания 3 пациентов.
84550:На корню - Найдите и победите убегающую попрыгунью.
84551:Дата отплытия - Получите письмо Александры...
84552:Мора не виновата - Станьте свидетелем приключений Всеядных гурманов в Сумеру.
84553:Небо высоко, а земля... - Помогите Фаргани с измерениями.
84554:Время ответа - Станьте свидетелем истории Алрани в Сумеру.
84555:Случайные обстоятельства цветения розы - Помогите Коллеи ухаживать за сумерскими розами.
84556:Где же вы, мечты? - Станьте свидетелем истории Джави и его «мечты».
84557:Необязательное требование - Найдите все предметы, которые Гулабгир дал змеям.
84558:Корабельная мощь - Помогите Рафику испытать корпус корабля на прочность.
84559:В чём дело? - Попробуйте три блюда Джафара.
84560:Эрудит из Сумеру - Ответьте правильно на 6 различных вопросов.
84561:Всего один шаг - Уступите Хилми в состязаниях по бегу...
84562:Врачебный почерк - Помогите Маруфу верно прочесть рецепт.
84563:Остатки аромата - Станьте свидетелем истории Нермин.
84564:В поисках меча - Станьте свидетелем истории о мисс Лань и «Скрытом клинке».
84565:Пройти по горизонту?.. - Станьте свидетелем истории Сунь Юя.
84566:Офис на улице - Станьте свидетелем мелких происшествий в Кур-де-Фонтейне.
84567:Превосходный вкус - Приготовьте особенный кофе.
84568:Эстетическая критика - Выслушайте теорию Депьери о красоте.
84569:Второе детство - Поиграйте с детьми и станьте свидетелем их истории.
84570:Ветер и волны - Станьте свидетелем истории о работе Айюна.
85000:Кроме времени нечего терять - Разгадайте секрет двух солнечных часов.
85001:Разговор с древним божеством - Послушайте историю древнего божества.
85002:Крадущийся дракон, притаившееся Чи - Ознакомьтесь с историей «Чи».
85003:Биться до последнего - Продайте за хорошую цену сокровище, найденное в древних руинах...
85004:Тень над озером Лухуа - Помогите Вермееру найти желаемый пейзаж.
85005:Нулевой игрок - Поиграйте в простую игру с малышом Цзяном.
85006:Под густой тенью древа соберётся вся семья - Станьте свидетелем истории дома Юань Хун.
84026:Волнительное приключение: Пролог - Завершите встречу «Волнительное приключение» и откройте все концовки.
84100:Владыка грома - Станьте свидетелем влияния невезения Беннета на погоду.
84101:Сила удачи! - Активируйте механизмы и заберите сокровище, не совершив ни одной ошибки.
84102:Черта, которую можно переступить - Завершите встречу «Лечебный родник» и откройте все концовки.
84103:Сильная и добродетельная горничная - Завершите встречу «Путь рыцаря Ордо Фавониус» и откройте все концовки.
84104:И зло изгнано - Завершите встречу «Заметки о поиске злых духов» и откройте все концовки.
84105:Пряная легенда Мондштадта - Попробуйте пряный напиток Барбары.
84106:«...Таков мой долг» - Помогите Ноэлль найти источник её силы.
84028:Знаток нечисти - Безошибочно истолкуйте все подсказки.
84107:Жгучий герой - Приготовьте мороженое по неправильному рецепту и вызовите бурную реакцию чистой энергии Ян Чун Юня.
84102:Черта, которую можно переступить - Завершите встречу «Лечебный родник» и откройте все концовки.
84108:Последняя линия обороны идола - Уговорите Альберта и других фанатов Барбары уйти.
84105:Пряная легенда Мондштадта - Попробуйте пряный напиток Барбары.
84103:Сильная и добродетельная горничная - Завершите встречу «Путь рыцаря Ордо Фавониус» и откройте все концовки.
84106:«...Таков мой долг» - Помогите Ноэлль найти источник её силы.
84109:Известный лишь розам мир - Прочтите конспект Ноэлль.
84110:Избавление от беспокойства - Завершите встречу «Подготовка к рыцарскому экзамену» и откройте все концовки.
84111:Неуязвимая горничная-рыцарь - Прослушайте «Путешествие рыцаря по Ли Юэ» с Ноэлль.
@@ -854,82 +996,15 @@
84146:Искусство и жизнь - Завершите встречу «Маятник печали и радости» и откройте все концовки.
84147:Студенческие дни - Найдите книги с заметками в Доме даэны.
84148:Романтизм в архитектуре - Обсудите будущее с Кавехом в пустыне.
84501:...Odomu? - Проведите успешный «языковой обмен» с хиличурлом.
84502:Yo dala? - Проведите успешный «поэтический обмен» с хиличурлом.
84503:Перфекционист - Безупречно выполните все поручения Царевича в задании «Сказано - сделано!»
84504:Говорю как есть - Соберите информацию о Снежной в задании «Зимняя история».
84505:Анекдоты Гео Архонта - Соберите полный сборник историй о Властелине Камня.
84506:Останьтесь ненадолго, путешественники... - Послушайте историю о «Дожде клинков» в задании «Сейчас объясню».
84507:Давным-давно, в далёком-далёком царстве... - Послушайте историю о «Гневе Хай Шаня» в задании «Сейчас объясню».
84508:Карамба, пираты! - Сыграйте в пиратов с малышами Лулу, Фэем и Мэном.
84509:Повар и рыбак - Завершите задания «Рыбак Цзян Сюэ» и «Дилемма Янь Сяо».
84510:Любовь повсюду - Помогите Чжи Хуа отыскать пять счастливых знамений в задании «Хороший знак».
84512:Излишняя тоска - Завершите 5 раз задание «Ветер воспоминаний уносит тоску».
84513:На этаж повыше... - Помогите Хуай Аню починить лестницу на постоялом дворе «Ваншу».
84514:Новичкам везёт - Выберите самый дорогой нефрит с первого раза.
84515:Пора ответить за свои ошибки - Извинитесь перед Тимми.
84516:Стукни и заработает - Принесите Герману только материалы для тренировочного манекена.
84517:Мгновенная карма - Разоблачите Марджори и получите благодарность от Джека.
84518:«Привет, любимый папочка...» - Послушайте историю Тимми.
84519:Чудеса медицины - Вылечите болезнь Анны.
84520:Во имя Фавония - Станьте свидетелем истории Джиллианы.
84522:Академические притязания - Завершите задания «Потерянная реликвия» и «Дело о краже сокровищ».
84523:Мечта и работа, стихи и хлеб - Завершите задание «Так называемая "работа"» и получите сборник поэзии Линь Лин.
84524:Все хорошо, что хорошо кончается - Завершите задание «В ожидании старого друга».
84525:Потрясающий роман - Подсмотрите в рукопись Чана Девятого.
84526:Открыто для интерпретации - Испортите 4 знамения неизбежной любви.
84527:Это не живая консерва - Съешьте еду в задании «Доставка еды»...
84528:Замаскирован на виду - Помогите Санго и Рюдзи раскрыть дело.
84529:Есть всегда одна истина? - Станьте свидетелем истории Рюдзи.
84530:Ли Юэ итибан - Вылечите Тан Вэнь вкусной едой.
84531:Опять бум шака-лака - Узнайте у Сян Лин об особых методах готовки.
84532:Обед для двоих - Помогите Сюй Дуну и Камэи Мунэхисе приготовить по одному блюду.
84533:Вопрос диеты - Помогите Парване проверить рецепты.
84534:Рисовый самурай - Помогите Камэи Мунэхисе собрать ингредиенты из лагерей с обоих сторон.
84535:«Простите за неудобства!» - Получите жалобу от Конды Дэнсукэ в задании «Обслуживание после продажи».
84536:Самурай-гурман - Станьте свидетелем принятия Камэи Мунэхисы в ряды всеядных гурманов.
84537:Ау... Есть кто? - Найдите скрытый проход на острове Рито.
84538:Мнение редакции - Помогите Сигэру и Дзюнкити вернуться на творческий путь.
84539:Пора открывать Досин додзё - Помогите Асакуре с тренировками 5 раз.
84540:Угадай кто? - Узнайте, кем является Чжэнь Юй на самом деле.
84541:Хотя бы заканчивается - Дослушайте историю Дзюнкити до конца.
84542:Она и её кошка - Вместе с Нэко идите на гору Ёго и найдите следы Хибики.
84543:Что на крючке? - Вместе с Кайваном выловите странные предметы.
84544:Плесенник Калими - Посмотрите, как Хатим срывает куш на бирже!
84545:Богатство стучится в дверь - Угостите Хатима яблочным напитком.
84546:Котолов - Помогите Саре отыскать её кошек.
84547:Законы арифметики - Помогите Гарсии завершить его устройство.
84548:Труд всему голова - Соберите побольше грибов для Хамбэя.
84549:Релаксационная терапия - Исполните желания 3 пациентов.
84550:На корню - Найдите и победите убегающую попрыгунью.
84551:Дата отплытия - Получите письмо Александры...
84552:Мора не виновата - Станьте свидетелем приключений Всеядных гурманов в Сумеру.
84553:Небо высоко, а земля... - Помогите Фаргани с измерениями.
84554:Время ответа - Станьте свидетелем истории Алрани в Сумеру.
84555:Случайные обстоятельства цветения розы - Помогите Коллеи ухаживать за сумерскими розами.
84556:Где же вы, мечты? - Станьте свидетелем истории Джави и его «мечты».
84557:Необязательное требование - Найдите все предметы, которые Гулабгир дал змеям.
84558:Корабельная мощь - Помогите Рафику испытать корпус корабля на прочность.
84559:В чём дело? - Попробуйте три блюда Джафара.
84560:Эрудит из Сумеру - Ответьте правильно на 6 различных вопросов.
84561:Всего один шаг - Уступите Хилми в состязаниях по бегу...
84562:Врачебный почерк - Помогите Маруфу верно прочесть рецепт.
84563:Остатки аромата - Станьте свидетелем истории Нермин.
84564:В поисках меча - Станьте свидетелем истории о мисс Лань и «Скрытом клинке».
84565:Пройти по горизонту?.. - Станьте свидетелем истории Сунь Юя.
85000:Кроме времени нечего терять - Разгадайте секрет двух солнечных часов.
85001:Разговор с древним божеством - Послушайте историю древнего божества.
85002:Крадущийся дракон, притаившееся Чи - Ознакомьтесь с историей «Чи».
85003:Биться до последнего - Продайте за хорошую цену сокровище, найденное в древних руинах...
85004:Тень над озером Лухуа - Помогите Вермееру найти желаемый пейзаж.
85005:Нулевой игрок - Поиграйте в простую игру с малышом Цзяном.
85006:Под густой тенью древа соберётся вся семья - Станьте свидетелем истории дома Юань Хун.
84149:В поиске веселья - Завершите встречу «Выдумки и выпивка» и откройте все концовки.
84150:Счастливая монета - Примите участие в пари, предложенном Кэйей.
84151:Тсс... Слушай! - Прислушайтесь к голосу, доносящемуся из одиночной камеры.
86001:Пришли, увидели и победили вместе - Выполните 5 испытаний подземелья с другими игроками.
86002:Пришли, увидели и победили вместе - Выполните 20 испытаний подземелья с другими игроками.
86003:Пришли, увидели и победили вместе - Выполните 100 испытаний подземелья с другими игроками.
86004:Пришёл, увидел и победил в одиночку - Соберите 5 местных диковин в мире другого игрока.
86005:Пришёл, увидел и победил в одиночку - Соберите 20 местных диковин в мире другого игрока.
86006:Пришёл, увидел и победил в одиночку - Соберите 50 местных диковин в мире другого игрока.
86004:Пришёл, увидел и победил в одиночку - Соберите 5 местных диковинок в мире другого игрока.
86005:Пришёл, увидел и победил в одиночку - Соберите 20 местных диковинок в мире другого игрока.
86006:Пришёл, увидел и победил в одиночку - Соберите 50 местных диковинок в мире другого игрока.
86007:У вас такие огромные кристальные бабочки - Одолейте Анемо гипостазис в совместном режиме.
86008:...хватит и улыбки. - Одолейте Электро гипостазис в совместном режиме.
86009:Оказывается, можно бить эти колонны. - Одолейте Гео гипостазис в совместном режиме.
@@ -937,13 +1012,13 @@
86011:This is fine. - Одолейте Пиро орхидею в совместном режиме.
86012:Рыба по имени Родия - Одолейте океанида в совместном режиме.
86013:Волчий союз - Одолейте короля Вольфендома в совместном режиме.
86021:Способности Глаза Порчи не решают исход битвы - Одолейте Чайльда в совместном режиме.
86015:Сворачивая горы - Одолейте древнего геовишапа в совместном режиме.
86016:Привет из прошлого - Одолейте Аждаху в совместном режиме.
86017:План по заморозке - Одолейте Крио гипостазис в совместном режиме.
86018:Больше никаких нитей - Одолейте магу кэнки в совместном режиме.
86019:Операция «Костёр» - Одолейте Пиро гипостазис в совместном режиме.
86020:Конечный механический массив - Одолейте бесконечный механический массив в совместном режиме.
86021:Способности Глаза Порчи не решают исход битвы - Одолейте Чайльда в совместном режиме.
86022:Все за одного - Одолейте манифестацию грома в совместном режиме.
86023:Одна вода - Одолейте Гидро гипостазис в совместном режиме.
86024:Сквозь снег и пламя - Одолейте Синьору в совместном режиме.
@@ -951,4 +1026,13 @@
86026:Храбрость пред лицом молнии - Одолейте сёгуна Райдэн в совместном режиме.
86027:Превосходя древнюю мудрость - Одолейте Змея руин в совместном режиме.
86028:Полувегетарианство - Одолейте Пернатого плесенника в совместном режиме.
86029:Не влезай, убьёт! - Одолейте Электро папоротник в совместном режиме.
86029:Не влезай, убьёт! - Одолейте Электро папоротник в совместном режиме.
86030:Конец вечного возвращения - Одолейте Дракона вечных бедствий в совместном режиме.
86031:Незначительное отставание - Одолейте Алгоритм полуизвечной матрицы оператора наблюдения в совместном режиме.
86032:Зелень из других миров - Одолейте Дендро гипостазиса в совместном режиме.
86033:Танцуйте, если хотите победить! - Одолейте Сёки но Ками в совместном режиме.
86034:Инициация народа пустыни - Одолейте Унута Сетеха в совместном режиме.
86035:Презумпция виновности - Одолейте Чудовищного крестителя в совместном режиме.
86036:Завоеватель тростникового моря - Одолейте Стража оазиса Апепа в совместном режиме.
86037:Великая сила науки - Завершите одно из испытаний Сюиты ледяного ветра в совместном режиме.
86038:Удачная охота - Одолейте Императора огня и железа в совместном режиме.

View File

@@ -21,6 +21,8 @@
2020:Дыхание анемонии
2021:Торжество разума
2022:Дуэль! К вершинам карточного мастерства!
2023:Лето! Парк развлечений? Мираж!
2024:Мегасхватка меков
// 1.0
1001:Праздник морских фонарей
5001:Элементальная жаровня
@@ -166,7 +168,7 @@
5116:Второе цветение
5117:Воинский дух
5118:Эпичный бой жуков великолепного Аратаки
5119:Горячая битва: Тактическое построение
5119:Горячая битва: Секрет совершенствования
5121:Сокол
5122:Царь пустыни
5126:Пустыня Хадрамавет
@@ -193,21 +195,38 @@
5137:Золотая Рыбка
5143:В пламени горна
5146:Священный призыв семерых: Сияющие секреты
// 新手与特殊活动
101:前路既定
1014:送芭芭拉活动
1023:打深渊送香菱活动
8001:星之归还
10001:test1.0签到
10002:(test)高价值一次性签到
10003:把握每日
10004:把握每日
10005:虹旅藏金
10006:虹旅藏金
10007:虹旅藏金
10010:把握每日
10011:富贵登门
10012:异乡食记
10013:云流星奔
50001:万民同行
50002:浅唱祈礼
// 3.8
5140:Опасное исследование
5141:Испытание для искателей приключений: Расширенное
5142:Единение сердец
5145:Встреча
5148:В пламени горна: Бесконечный рой
5119:Горячая битва: Секрет совершенствования
// 4.0
5148:В пламени горна: Бесконечный рой
5119:Горячая битва: Секрет совершенствования
5147:Наука о свете и тени: Фонтан очарования
5149:Пятнистый Кот
5150:Историческая память: Наследие водной нации
5151:Приговор лезвий
5153:Одинокий король земли и моря
5154:Танец пружин и шестерён
5158:Море земли, исток всех вод
// новички и особые события
101: путь вперед определен
1014:Отправить активность Барбары
1023: Ударьте пропасть, чтобы отправить активность Xiangling
8001: Возвращение звезд
10001: (тест) 1.0 регистрация
10002: (тест) Однократная регистрация с высокой стоимостью
10003: хватайся за день
10004: хватайся за день
10005: Спрятанное золото Honglv
10006:Honglv скрытое золото
10007:Honglv скрытое золото
10010: хватайся за день
10011: Богатство приходит к двери
10012: Байки из чужой земли
10013: Облачный метеоритный бег
50001: Люди всех слоев общества.
50002: неглубокая пение молитвы

View File

@@ -1,4 +1,4 @@
20412:Лампа заблудших
20412:Лампа заблудших
20413:Лампа заблудших
20422:Мудрец лозы
20423:Мудрец лозы
@@ -118,6 +118,46 @@
30544:Тычинка истока Хварны
30553:Древнее увядание
30554:Древнее увядание
31412:Забытый сосуд
31413:Забытый сосуд
31422:Увертюра шедевра
31423:Увертюра шедевра
31432:Лик старого солдата
31433:Лик старого солдата
31442:Брошь охотника
31443:Брошь охотника
31452:Мгновение правосудия
31453:Мгновение правосудия
31513:Забытый сосуд
31514:Забытый сосуд
31523:Увертюра шедевра
31524:Увертюра шедевра
31533:Лик старого солдата
31534:Лик старого солдата
31543:Брошь охотника
31544:Брошь охотника
31553:Мгновение правосудия
31554:Мгновение правосудия
32412:Суета золотой ночи
32413:Суета золотой ночи
32422:Перо золотой птицы
32423:Перо золотой птицы
32432:Награда Золотой труппы
32433:Награда Золотой труппы
32442:Вариация золотой песни
32443:Вариация золотой песни
32452:Предзнаменование золотой эпохи
32453:Предзнаменование золотой эпохи
32513:Суета золотой ночи
32514:Суета золотой ночи
32523:Перо золотой птицы
32524:Перо золотой птицы
32533:Награда Золотой труппы
32534:Награда Золотой труппы
32543:Вариация золотой песни
32544:Вариация золотой песни
32553:Предзнаменование золотой эпохи
32554:Предзнаменование золотой эпохи
51110:Кубок временщика
51111:Кубок временщика
51112:Кубок временщика
@@ -2168,6 +2208,81 @@
77552:Окончание концерта
77553:Окончание концерта
77554:Окончание концерта
78310:Кубок северных ветров
78311:Кубок северных ветров
78312:Кубок северных ветров
78313:Кубок северных ветров
78314:Кубок северных ветров
78320:Перо снежных равнин
78321:Перо снежных равнин
78322:Перо снежных равнин
78323:Перо снежных равнин
78324:Перо снежных равнин
78330:Корона мёрзлых рек
78331:Корона мёрзлых рек
78332:Корона мёрзлых рек
78333:Корона мёрзлых рек
78334:Корона мёрзлых рек
78340:Сердце зимнего леса
78341:Сердце зимнего леса
78342:Сердце зимнего леса
78343:Сердце зимнего леса
78344:Сердце зимнего леса
78350:Часы песчаных льдов
78351:Часы песчаных льдов
78352:Часы песчаных льдов
78353:Часы песчаных льдов
78354:Часы песчаных льдов
78410:Кубок северных ветров
78411:Кубок северных ветров
78412:Кубок северных ветров
78413:Кубок северных ветров
78414:Кубок северных ветров
78420:Перо снежных равнин
78421:Перо снежных равнин
78422:Перо снежных равнин
78423:Перо снежных равнин
78424:Перо снежных равнин
78430:Корона мёрзлых рек
78431:Корона мёрзлых рек
78432:Корона мёрзлых рек
78433:Корона мёрзлых рек
78434:Корона мёрзлых рек
78440:Сердце зимнего леса
78441:Сердце зимнего леса
78442:Сердце зимнего леса
78443:Сердце зимнего леса
78444:Сердце зимнего леса
78450:Часы песчаных льдов
78451:Часы песчаных льдов
78452:Часы песчаных льдов
78453:Часы песчаных льдов
78454:Часы песчаных льдов
78510:Кубок северных ветров
78511:Кубок северных ветров
78512:Кубок северных ветров
78513:Кубок северных ветров
78514:Кубок северных ветров
78520:Перо снежных равнин
78521:Перо снежных равнин
78522:Перо снежных равнин
78523:Перо снежных равнин
78524:Перо снежных равнин
78530:Корона мёрзлых рек
78531:Корона мёрзлых рек
78532:Корона мёрзлых рек
78533:Корона мёрзлых рек
78534:Корона мёрзлых рек
78540:Сердце зимнего леса
78541:Сердце зимнего леса
78542:Сердце зимнего леса
78543:Сердце зимнего леса
78544:Сердце зимнего леса
78550:Часы песчаных льдов
78551:Часы песчаных льдов
78552:Часы песчаных льдов
78553:Часы песчаных льдов
78554:Часы песчаных льдов
79310:Предвестник бури
79311:Предвестник бури
79312:Предвестник бури
@@ -3037,4 +3152,79 @@
98543:Цветок призрачного аромата
98544:Цветок призрачного аромата
98553:Символ подношения
98554:Символ подношения
98554:Символ подношения
99310:Чаша хозяина ветров
99311:Чаша хозяина ветров
99312:Чаша хозяина ветров
99313:Чаша хозяина ветров
99314:Чаша хозяина ветров
99320:Перо хозяина ветров
99321:Перо хозяина ветров
99322:Перо хозяина ветров
99323:Перо хозяина ветров
99324:Перо хозяина ветров
99330:Корона хозяина ветров
99331:Корона хозяина ветров
99332:Корона хозяина ветров
99333:Корона хозяина ветров
99334:Корона хозяина ветров
99340:Цветок хозяина ветров
99341:Цветок хозяина ветров
99342:Цветок хозяина ветров
99343:Цветок хозяина ветров
99344:Цветок хозяина ветров
99350:Часы хозяина ветров
99351:Часы хозяина ветров
99352:Часы хозяина ветров
99353:Часы хозяина ветров
99354:Часы хозяина ветров
99410:Чаша хозяина ветров
99411:Чаша хозяина ветров
99412:Чаша хозяина ветров
99413:Чаша хозяина ветров
99414:Чаша хозяина ветров
99420:Перо хозяина ветров
99421:Перо хозяина ветров
99422:Перо хозяина ветров
99423:Перо хозяина ветров
99424:Перо хозяина ветров
99430:Корона хозяина ветров
99431:Корона хозяина ветров
99432:Корона хозяина ветров
99433:Корона хозяина ветров
99434:Корона хозяина ветров
99440:Цветок хозяина ветров
99441:Цветок хозяина ветров
99442:Цветок хозяина ветров
99443:Цветок хозяина ветров
99444:Цветок хозяина ветров
99450:Часы хозяина ветров
99451:Часы хозяина ветров
99452:Часы хозяина ветров
99453:Часы хозяина ветров
99454:Часы хозяина ветров
99510:Чаша хозяина ветров
99511:Чаша хозяина ветров
99512:Чаша хозяина ветров
99513:Чаша хозяина ветров
99514:Чаша хозяина ветров
99520:Перо хозяина ветров
99521:Перо хозяина ветров
99522:Перо хозяина ветров
99523:Перо хозяина ветров
99524:Перо хозяина ветров
99530:Корона хозяина ветров
99531:Корона хозяина ветров
99532:Корона хозяина ветров
99533:Корона хозяина ветров
99534:Корона хозяина ветров
99540:Цветок хозяина ветров
99541:Цветок хозяина ветров
99542:Цветок хозяина ветров
99543:Цветок хозяина ветров
99544:Цветок хозяина ветров
99550:Часы хозяина ветров
99551:Часы хозяина ветров
99552:Часы хозяина ветров
99553:Часы хозяина ветров
99554:Часы хозяина ветров

View File

@@ -2,8 +2,10 @@
21:Позолоченные сны
27:Хроники Чертогов в пустыне
28:Цветок потерянного рая
29:水仙之梦
30:花海甘露之光
29:Сон нимфы
30:Сияние Вурукаши
31:Охотник Сумеречного двора
32:Золотая труппа
51:Решимость временщика
52:Душа храбреца
53:Воля защитника

View File

@@ -1,8 +1,8 @@
1002:Камисато Аяка
1002:Камисато Аяка
1003:Джинн
1005:Итэр
1005:Мужской персонаж
1006:Лиза
1007:Люмин
1007:Женский персонаж
1014:Барбара
1015:Кэйа
1016:Дилюк
@@ -45,7 +45,6 @@
1058:Яэ Мико
1059:Сиканоин Хэйдзо
1060:Е Лань
1061:Кирара
1062:Элой
1063:Шэнь Хэ
1064:Юнь Цзинь
@@ -60,10 +59,14 @@
1073:Нахида
1074:Лайла
1075:Странник
1076:Фарузан
1077:Яо Яо
1078:Аль-Хайтам
1079:Дэхья
1080:Мика
1081:Кавех
1082:Бай Чжу
1082:Бай Чжу
1076:Фарузан
1061:Кирара
1083:Линетт
1084:Лини
1085:Фремине

View File

@@ -71,7 +71,7 @@
Отключить кулдаун (?)
/setstats cdr 100%
Все скины
/give 340000|/give 340001|/give 340002|/give 340003|/give 340004|/give 340005|/give 340006|/give 340007|/give 340008|/give 340009
/give 340000|/give 340001|/give 340002|/give 340003|/give 340004|/give 340005|/give 340006|/give 340007|/give 340008|/give 340009|/give 340010|/give 340011
Ежемесячные карты
/give 1202 x999
Устранение неполадок

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -1,19 +1,19 @@
30302:[EN] - Goddess Statue Unlocked - [N/A] 362713143
30303:[EN] - Goddess Statue Unlocked - [N/A] 715511863
30304:[EN] - Goddess Statue Unlocked - [N/A] 163018255
30305:[EN] - Goddess Statue Unlocked - [N/A] 3694648119
30306:[EN] - Goddess Statue Unlocked - [N/A] 3223799591
30307:[EN] - Goddess Statue Unlocked - [N/A] 1232757671
30308:[EN] - Goddess Statue Unlocked - [N/A] 3056513767
30309:[EN] - Goddess Statue Unlocked - [N/A] 2426653367
30310:[EN] - Goddess Statue Unlocked - [N/A] 2003131071
30311:[EN] - Goddess Statue Unlocked - [N/A] 105277231
30312:[EN] - Goddess Statue Unlocked - [N/A] 3391806215
30313:[EN] - Goddess Statue Unlocked - [N/A] 1357500887
30314:[EN] - Goddess Statue Unlocked - [N/A] 3054344935
30315:[EN] - Goddess Statue Unlocked - [N/A] 2041734695
30316:[EN] - Goddess Statue Unlocked - [N/A] 4028276703
30317:[EN] - Goddess Statue Unlocked - [N/A] 3048585239
30302:[CHS] - 女神像解锁$HIDDEN - [N/A] 362713143
30303:[CHS] - 女神像解锁$HIDDEN - [N/A] 715511863
30304:[CHS] - 女神像解锁$HIDDEN - [N/A] 163018255
30305:[CHS] - 女神像解锁$HIDDEN - [N/A] 3694648119
30306:[CHS] - 女神像解锁$HIDDEN - [N/A] 3223799591
30307:[CHS] - 女神像解锁$HIDDEN - [N/A] 1232757671
30308:[CHS] - 女神像解锁$HIDDEN - [N/A] 3056513767
30309:[CHS] - 女神像解锁$HIDDEN - [N/A] 2426653367
30310:[CHS] - 女神像解锁$HIDDEN - [N/A] 2003131071
30311:[CHS] - 女神像解锁$HIDDEN - [N/A] 105277231
30312:[CHS] - 女神像解锁$HIDDEN - [N/A] 3391806215
30313:[CHS] - 女神像解锁$HIDDEN - [N/A] 1357500887
30314:[CHS] - 女神像解锁$HIDDEN - [N/A] 3054344935
30315:[CHS] - 女神像解锁$HIDDEN - [N/A] 2041734695
30316:[CHS] - 女神像解锁$HIDDEN - [N/A] 4028276703
30317:[CHS] - 女神像解锁$HIDDEN - [N/A] 3048585239
30600:Ветра прошлого - Встретьте Эмбер у входа в храм
30601:Ветра прошлого - Поговорите с Эмбер
30602:Ветра прошлого - Войдите в храм
@@ -36,8 +36,8 @@
30710:Полоса препятствий - Поговорите с Кэйей
30711:Полоса препятствий - [CHS] - (test)地城失败$HIDDEN
30712:Полоса препятствий - [CHS] - (test)到教学点4$HIDDEN
30713:Полоса препятствий - [EN] - Kaeya cutscene
30715:Полоса препятствий - [EN] - Talk to Kaeya
30713:Полоса препятствий - [CHS] - (test)凯亚cutscene$HIDDEN
30715:Полоса препятствий - [CHS] - (test)与凯亚对话$HIDDEN
30800:Искры среди страниц - Встретьтесь с Лизой у входа в храм
30801:Искры среди страниц - Поговорите с Лизой
30802:Искры среди страниц - Войдите в храм
@@ -49,7 +49,7 @@
30810:Искры среди страниц - Поговорите с Лизой
30811:Искры среди страниц - [CHS] - (test)地城失败$HIDDEN
30812:Искры среди страниц - [CHS] - (test)到教学点4$HIDDEN
30814:Искры среди страниц - [EN] - Talk to Lisa
30814:Искры среди страниц - [CHS] - (test)与丽莎对话$HIDDEN
30901:[CHS] - (test)蒙德之围$HIDDEN - [CHS] - (test)协助安柏、凯亚、丽莎攻略地城$HIDDEN
30903:[CHS] - (test)蒙德之围$HIDDEN - [CHS] - (test)离开神庙$HIDDEN
30904:[CHS] - (test)蒙德之围$HIDDEN - [CHS] - (test)蒙德天气变化cs$HIDDEN
@@ -61,8 +61,8 @@
31006:В поисках новых партнёров - [CHS] - 领取芭芭拉$HIDDEN
31007:В поисках новых партнёров - [CHS] - 领取绫华$HIDDEN
31008:В поисках новых партнёров - [CHS] - 领取香菱$HIDDEN
31101:[EN] - First Stage Ended - [CHS] - (test)与派蒙对话$HIDDEN
31201:[EN] - Lisa Dungeon, Lisa Tome Reward - [EN] - Lisa Reading Material Reward
31101:[CHS] - (test)一阶段结束$HIDDEN - [CHS] - (test)与派蒙对话$HIDDEN
31201:[CHS] - (test)丽莎地城,丽莎书本奖励$HIDDEN - [CHS] - (test)丽莎阅读物奖励$HIDDEN
31801:Ещё одна стихия - Первая активация статуи архонта земли
31802:Ещё одна стихия - Паймон объясняет, как переключиться на Гео навыки
34800:[CHS] - 猫尾酒馆留言板$HIDDEN - [N/A] 3571874607
@@ -111,7 +111,7 @@
35202:Взгляд с высоты - Поговорите с Паймон
35203:Взгляд с высоты - Следуйте за Паймон
35204:Взгляд с высоты - Проплывите к островку на озере Звездопадов
35205:Взгляд с высоты - [EN] - Statue of The Seven (I) unlocked
35205:Взгляд с высоты - [CHS] - 七天神像1解锁$HIDDEN
35301:Неожиданные силы - Поговорите с Паймон
35302:Неожиданные силы - Используйте элементальную атаку
35303:Неожиданные силы - Используйте заряженную элементальную атаку
@@ -119,12 +119,12 @@
35309:Неожиданные силы - Победите слайма
35310:Неожиданные силы - Победите слайма
35311:Неожиданные силы - Победите слайма
35312:Неожиданные силы - [EN] - Exit area rollback failed
35312:Неожиданные силы - [CHS] - 离开区域失败回滚$HIDDEN
35401:Скаут, принесённый ветром - Продолжайте двигаться в Мондштадт
35402:Скаут, принесённый ветром - Поговорите с непоседливой девушкой
35403:Скаут, принесённый ветром - Пройдите к точке, указанной Эмбер
35404:Скаут, принесённый ветром - Одолейте Анемо слайма с помощью навыков Эмбер
35405:Скаут, принесённый ветром - [EN] - Expose hidden trigger to start driving
35405:Скаут, принесённый ветром - [CHS] - 出隐藏触发器开始开车$HIDDEN
35501:Встреча в лесу - Направляйтесь в Мондштадт
35502:Встреча в лесу - Пройдите вглубь леса
35503:Встреча в лесу - Поговорите с Паймон
@@ -136,9 +136,9 @@
35604:Город свободы - Поговорите с Эмбер
35605:Город свободы - [CHS] - (test)开始飞行教学$HIDDEN
35606:Город свободы - Пролетите к площади с фонтаном
35721:Дракон и буря - [EN] - Dvalin's Assault
35721:Дракон и буря - [CHS] - (test)风龙来袭$HIDDEN
35722:Дракон и буря - Прогоните Ужас Бури
35723:Дракон и буря - [EN] - Talk to Amber
35723:Дракон и буря - [CHS] - (test)与安柏对话$HIDDEN
35724:Дракон и буря - Направляйтесь в штаб Ордо Фавониус
35725:Дракон и буря - [CHS] - (test)地城内cs$HIDDEN
35800:Ордо Фавониус - [CHS] - (test)任务中第一次涉及loading场景让派蒙出来说句话$HIDDEN
@@ -154,7 +154,7 @@
36005:В ногу с ветром - Продолжайте двигаться в Мондштадт
36100:[CHS] - 风魔龙飞过$HIDDEN - [N/A] 409705175
36101:[CHS] - 风魔龙飞过$HIDDEN - [N/A] 754818367
36203:[EN] - Apple Tutorial - [N/A] 3035924127
36203:[CHS] - 苹果教学$HIDDEN - [N/A] 3035924127
36301:[CHS] - (test)控制第一幕开始的隐藏任务$HIDDEN - [N/A] 4180969575
37001:Тень над Мондштадтом - Вернитесь в Мондштадт
37002:Тень над Мондштадтом - Подслушайте разговор Джинн с незнакомцем
@@ -219,7 +219,7 @@
38001:Пролитые слёзы - Направляйтесь в храм Тысячи ветров
38002:Пролитые слёзы - Одолейте стража руин, охраняющего древний храм
38003:Пролитые слёзы - Подберите слезу Двалина
38004:Пролитые слёзы - [CHS] - (test)隐藏对话$HIDDEN
38004:Пролитые слёзы - Поговорите с Джинн
38101:Потаённые слёзы - Отправляйтесь к вратам Орла
38102:Потаённые слёзы - Отворите врата Орла
38103:Потаённые слёзы - Одолейте монстров, охраняющих руины
@@ -336,13 +336,13 @@
42201:Печать Мясного племени - [CHS] - 完成大擂台挑战$HIDDEN
42301:Найдите пропавшую фею - [CHS] - 到达神树$HIDDEN
42302:Найдите пропавшую фею - Найдите пропавшую фею
42401:[EN] - Advanced Infiltration Test - [CHS] - (test)进入教堂地下室$UNRELEASED$HIDDEN
42402:[EN] - Advanced Infiltration Test - [N/A] 929980999
42403:[EN] - Advanced Infiltration Test - [N/A] 1628519047
42404:[EN] - Advanced Infiltration Test - [N/A] 2799696903
42405:[EN] - Advanced Infiltration Test - [N/A] 3929885095
42406:[EN] - Advanced Infiltration Test - [N/A] 1801202831
42407:[EN] - Advanced Infiltration Test - [N/A] 2358493503
42401:[CHS] - 高级潜入测试$UNRELEASED - [CHS] - (test)进入教堂地下室$UNRELEASED$HIDDEN
42402:[CHS] - 高级潜入测试$UNRELEASED - [N/A] 929980999
42403:[CHS] - 高级潜入测试$UNRELEASED - [N/A] 1628519047
42404:[CHS] - 高级潜入测试$UNRELEASED - [N/A] 2799696903
42405:[CHS] - 高级潜入测试$UNRELEASED - [N/A] 3929885095
42406:[CHS] - 高级潜入测试$UNRELEASED - [N/A] 1801202831
42407:[CHS] - 高级潜入测试$UNRELEASED - [N/A] 2358493503
42501:Задание Теста Полёта - [CHS] - (test)进入飞行测试场景$UNRELEASED$HIDDEN
42502:Задание Теста Полёта - [CHS] - (test)和NPC对话$UNRELEASED
42503:Задание Теста Полёта - [CHS] - (test)开始飞行特训$UNRELEASED
@@ -358,9 +358,9 @@
42707:Планерист Мондштадта - Подойдите ко входу в Гильдию искателей приключений
42708:Планерист Мондштадта - Поговорите с городскими стражниками.
42709:Планерист Мондштадта - Подойдите к дверям собора в Мондштадте
42801:Янтарная Бездна - [EN] - Set the Fallen Afloat
42802:Янтарная Бездна - [EN] - Pre-test
42803:Янтарная Бездна - [EN] - Testing. Reach the other chore.
42801:Янтарная Бездна - [CHS] - (test)掉下去,吹起来$UNRELEASED$HIDDEN
42802:Янтарная Бездна - [CHS] - (test)测试前$UNRELEASED
42803:Янтарная Бездна - [CHS] - (test)测试中,到达对岸$UNRELEASED
45101:Территория волков - Отправляйтесь в Вольфендом
45102:Территория волков - Поговорите с Паймон.
45103:Территория волков - Победите слаймов
@@ -404,31 +404,31 @@
46101:Проблемы Кэйи - Поговорите с Кэйей
46102:Проблемы Кэйи - Поговорите с Кэйей на месте встречи
46103:Проблемы Кэйи - Разузнайте в Гильдии искателей приключений
46104:Проблемы Кэйи - [EN] - Talk
46105:Проблемы Кэйи - [EN] - Talk
46106:Проблемы Кэйи - [EN] - Talk
46104:Проблемы Кэйи - [CHS] - (test)与冒险家对话,打听情报$HIDDEN
46105:Проблемы Кэйи - [CHS] - (test)与冒险家对话,打听情报$HIDDEN
46106:Проблемы Кэйи - [CHS] - (test)与冒险家对话,打听情报$HIDDEN
46107:Проблемы Кэйи - Доложите Кэйе
46109:Проблемы Кэйи - [EN] - Get to the destination
46109:Проблемы Кэйи - [CHS] - (test)到达目标地点$HIDDEN
46110:Проблемы Кэйи - [N/A] 637882431
46201:Тайна руин Аркадии - Отправляйтесь на встречу с осведомителем в обозначенном месте
46202:Тайна руин Аркадии - Одолейте врагов, напавших на осведомителя
46203:Тайна руин Аркадии - Поговорите с осведомителем
46204:Тайна руин Аркадии - [EN] - Find the location of the buried treasure
46204:Тайна руин Аркадии - [CHS] - (test)寻找谜题中所指的地点$HIDDEN
46205:Тайна руин Аркадии - Разгадайте загадку (Можете попросить Кэйю о помощи, он находится в штабе Ордо Фавониус)
46206:Тайна руин Аркадии - [EN] - Find the location of the buried treasure
46206:Тайна руин Аркадии - [CHS] - (test)寻找谜题中所指的地点$HIDDEN
46207:Тайна руин Аркадии - Разгадайте загадку (Можете попросить Кэйю о помощи, он находится в штабе Ордо Фавониус)
46208:Тайна руин Аркадии - Найдите место, описанное в подсказке
46209:Тайна руин Аркадии - Найдите место, описанное в подсказке
46210:Тайна руин Аркадии - [EN] - Disappears after controlling Paimon to talk
46210:Тайна руин Аркадии - [CHS] - (test)控制派蒙对话后消失$HIDDEN
46300:Выгода Кэйи - Обсудите с Паймон ваш следующий шаг
46301:Выгода Кэйи - Найдите сокровища с помощью карты
46302:Выгода Кэйи - Исследуйте глубины руин
46303:Выгода Кэйи - [EN] - Finish conversation
46303:Выгода Кэйи - [CHS] - (test)与派蒙对话$HIDDEN
46304:Выгода Кэйи - Одолейте стража руин
46305:Выгода Кэйи - [EN] - Talk to Kaeya
46306:Выгода Кэйи - [EN] - None
46307:Выгода Кэйи - [EN] - None
46308:Выгода Кэйи - [EN] - None
46305:Выгода Кэйи - [CHS] - (test)听凯亚解释「宝藏」的真相$HIDDEN
46306:Выгода Кэйи - [CHS] - (test)无$HIDDEN
46307:Выгода Кэйи - [CHS] - (test)无$HIDDEN
46308:Выгода Кэйи - [CHS] - (test)无$HIDDEN
46401:Легенда о Полуночном герое - Узнайте у Чарльза свежие слухи
46402:Легенда о Полуночном герое - Расспросите людей на площади
46403:Легенда о Полуночном герое - Расспросите городскую стражу у городских ворот
@@ -488,19 +488,19 @@
46623:Алиби Полуночного героя - [CHS] - 迪卢克干掉一批袭击者$HIDDEN
46624:Алиби Полуночного героя - [CHS] - (test)$HIDDEN
46625:Алиби Полуночного героя - [CHS] - (test)$HIDDEN
46701:Кулинарное искусство - [EN] - Pass by the pot
46701:Кулинарное искусство - [CHS] - (test)路过锅子旁$HIDDEN
46702:Кулинарное искусство - Поговорите с Линн
46703:Кулинарное искусство - Отдайте Линн шашлычок с грибами
46801:Бей кабана! - [CHS] - (test)对话NPC$HIDDEN
46802:Бей кабана! - [CHS] - (test)完成玩法$HIDDEN
46901:Благословение семи Архонтов - [EN] - Go to the Statue of The Seven in Windrise
46901:Благословение семи Архонтов - [CHS] - (test)到风起地的七天神像附近$HIDDEN
46902:Благословение семи Архонтов - Поднесите анемокул статуе семи Архонтов
46903:Благословение семи Архонтов - Поговорите с Паймон
46904:Благословение семи Архонтов - [EN] - Obtained the first Statue's Eye of Wind
47001:Аромат на ветру - [EN] - Passing Downtown
47002:Аромат на ветру - [EN] - Talk to Paimon before the purchase
46904:Благословение семи Архонтов - [CHS] - (test)初次拿到风神瞳$HIDDEN
47001:Аромат на ветру - [CHS] - 路过商业街旁$HIDDEN
47002:Аромат на ветру - [CHS] - 购买前对话派蒙$HIDDEN
47003:Аромат на ветру - Купите рыбацкий бутерброд
47004:Аромат на ветру - [EN] - Talk to Paimon after the purchase
47004:Аромат на ветру - [CHS] - 购买后对话派蒙$HIDDEN
47101:[CHS] - 风神瞳说明$HIDDEN - [CHS] - 派蒙的说明$HIDDEN
47102:[CHS] - 风神瞳说明$HIDDEN - [CHS] - 派蒙的说明$HIDDEN
48001:Разрешение на полёт - Поговорите с Эмбер
@@ -509,8 +509,8 @@
48004:Разрешение на полёт - Поговорите с Эмбер
48005:Разрешение на полёт - Пройдите к месту сдачи экзамена
48101:Лети как ветер - Поговорите с Эмбер
48102:Лети как ветер - [EN] - Read Amber's Gliding Guide (Hidden)
48103:Лети как ветер - [EN] - Leave Area (Hidden)
48102:Лети как ветер - [CHS] - (test)阅读安柏的飞行课本(隐)$HIDDEN
48103:Лети как ветер - [CHS] - (test)离开区域(隐)
48104:Лети как ветер - Поговорите с Паймон.
48105:Лети как ветер - Воспроизвести - Басня
48106:Лети как ветер - Сомнения Паймон
@@ -533,7 +533,7 @@
48409:Его называют Птеродактилем - [CHS] - 第一次搜索完成+ 遗弃工具 对话$HIDDEN
48410:Его называют Птеродактилем - [CHS] - 第一次搜索完成+ 可疑痕迹 对话$HIDDEN
48411:Его называют Птеродактилем - Найдите улики, чтобы отыскать "Странную Птичку".
48412:Его называют Птеродактилем - [EN] - The correct dialogue choice after completing the first analysis (Visible)
48412:Его называют Птеродактилем - [CHS] - (test)第一次分析后对话的正确选择(隐)$HIDDEN
48413:Его называют Птеродактилем - [CHS] - (test)隐藏的存档回滚点$HIDDEN
48414:Его называют Птеродактилем - [CHS] - (test)隐藏的存档回滚点$HIDDEN
48415:Его называют Птеродактилем - Найдите Птеродактиля
@@ -545,12 +545,12 @@
48421:Его называют Птеродактилем - Найдите следы Птеродактиля
48422:Его называют Птеродактилем - Найдите следы Птеродактиля
48423:Его называют Птеродактилем - Выследите Птеродактиля
48424:Его называют Птеродактилем - [EN] - The wrong dialogue choice after completing the first analysis (Hidden)
48425:Его называют Птеродактилем - [EN] - Rollback savepoint
48426:Его называют Птеродактилем - [EN] - Talk to Villager A
48427:Его называют Птеродактилем - [EN] - Talk to Villager B
48428:Его называют Птеродактилем - [EN] - Talk to Villager C
48429:Его называют Птеродактилем - [EN] - Completed talking to NPCs in Springvale (Hidden)
48424:Его называют Птеродактилем - [CHS] - 第一次分析后对话的错误选择(隐)$HIDDEN
48425:Его называют Птеродактилем - [CHS] - 回滚的存档点$HIDDEN
48426:Его называют Птеродактилем - [CHS] - (test)和村民一对话$HIDDEN
48427:Его называют Птеродактилем - [CHS] - (test)和村民二对话$HIDDEN
48428:Его называют Птеродактилем - [CHS] - (test)和村民三对话$HIDDEN
48429:Его называют Птеродактилем - [CHS] - (test)完成与清泉镇NPC的调查对话$HIDDEN
48430:Его называют Птеродактилем - Закончите разговор с NPC в Спрингвейле (Видимый)
48431:Его называют Птеродактилем - Проверьте источник странного звука
48432:Его называют Птеродактилем - Поговорите с Фаррой
@@ -1111,10 +1111,10 @@
100319:Постоялый двор «Ваншу» - test判断是否完成海灯节
100320:Постоялый двор «Ваншу» - test靠近望舒客栈开车
100321:Постоялый двор «Ваншу» - Изучите картину
100401:[EN] - Appearance control logic - [CHS] - 人群系统控制任务(待隐藏)$HIDDEN
100402:[EN] - Appearance control logic - [CHS] - 玉京台请仙场景:正式台面任务(待隐藏)$HIDDEN
100403:[EN] - Appearance control logic - [CHS] - 玉京台请仙场景:破损台面任务(待隐藏)$HIDDEN
100404:[EN] - Appearance control logic - [CHS] - 玉京台请仙场景:只剩香炉任务(待隐藏)$HIDDEN
100401:[CHS] - (test)表现控制逻辑$HIDDEN - [CHS] - 人群系统控制任务(待隐藏)$HIDDEN
100402:[CHS] - (test)表现控制逻辑$HIDDEN - [CHS] - 玉京台请仙场景:正式台面任务(待隐藏)$HIDDEN
100403:[CHS] - (test)表现控制逻辑$HIDDEN - [CHS] - 玉京台请仙场景:破损台面任务(待隐藏)$HIDDEN
100404:[CHS] - (test)表现控制逻辑$HIDDEN - [CHS] - 玉京台请仙场景:只剩香炉任务(待隐藏)$HIDDEN
100501:[CHS] - (test)海灯节活动完成记录$HIDDEN - [CHS] - 海灯节完成标记任务$HIDDEN
100601:[CHS] - (test)海灯节遇到魈的标记$HIDDEN - [CHS] - 海灯节遇到魈的标记$HIDDEN
100701:[CHS] - (test)守卫岩神尸体$HIDDEN - [CHS] - test触发NPC对话绝对领域$HIDDEN
@@ -1327,15 +1327,15 @@
102603:[CHS] - (test)寻人启事刷新$HIDDEN - [CHS] - (test)刷送仙物品$HIDDEN
102604:[CHS] - (test)寻人启事刷新$HIDDEN - [CHS] - (test)刷新寻人启示$HIDDEN
102701:[CHS] - 层岩间章Part2.5$HIDDEN - [CHS] - 众人闲置对话$HIDDEN
102801:Подземный лабиринт - Войдите в подземелье
102802:Подземный лабиринт - Поговорите с остальными
102803:Подземный лабиринт - Покиньте подземелье
102804:Подземный лабиринт - Поговорите с остальными
102805:Подземный лабиринт - Поговорите с остальными
102806:Подземный лабиринт - Поговорите с остальными
102807:Подземный лабиринт - [CHS] - 完成父任务$HIDDEN
102808:Подземный лабиринт - Проверьте, можно ли из подземелья выбраться во внешний мир
102809:Подземный лабиринт - [CHS] - 刷新烤菫瓜$HIDDEN
102801:[N/A] 3086338855 - Войдите в подземелье
102802:[N/A] 3086338855 - Поговорите с остальными
102803:[N/A] 3086338855 - Покиньте подземелье
102804:[N/A] 3086338855 - Поговорите с остальными
102805:[N/A] 3086338855 - Поговорите с остальными
102806:[N/A] 3086338855 - Поговорите с остальными
102807:[N/A] 3086338855 - [CHS] - 完成父任务$HIDDEN
102808:[N/A] 3086338855 - Проверьте, можно ли из подземелья выбраться во внешний мир
102809:[N/A] 3086338855 - [CHS] - 刷新烤菫瓜$HIDDEN
102901:Опасность повсюду - Подождите до следующего дня
102902:Опасность повсюду - Продолжайте исследовать
102903:Опасность повсюду - Проверьте ситуацию в подземелье
@@ -1485,7 +1485,7 @@
200704:Цветок распускается в темнице - Поговорите с Ёимией
200705:Цветок распускается в темнице - Спасите мастера Масакацу
200706:Цветок распускается в темнице - Найдите мастера Масакацу
200707:Цветок распускается в темнице - [EN] - Return to Komore Teahouse
200707:Цветок распускается в темнице - [CHS] - 回到木漏茶室$HIDDEN
200708:Цветок распускается в темнице - Покиньте чайный дом «Коморэ»
200709:Цветок распускается в темнице - Покиньте полицейский участок
200710:Цветок распускается в темнице - Направляйтесь к чайному дому «Коморэ»
@@ -2378,27 +2378,27 @@
1010008:Рутинная работа - Поговорите с Донной
1010009:Рутинная работа - Обсудите с Лизой элементальную метку
1010010:Рутинная работа - Выберите сувенир для Лизы
1010011:Рутинная работа - [EN] - Find a gift for Lisa (Hidden)
1010012:Рутинная работа - [EN] - Find a gift for Lisa (Hidden)
1010013:Рутинная работа - [EN] - Find a gift for Lisa (Hidden)
1010014:Рутинная работа - [EN] - Find a gift for Lisa (Hidden)
1010015:Рутинная работа - [EN] - Hidden Option 1 unlocked (Hidden)
1010016:Рутинная работа - [EN] - Hidden Option 2 unlocked
1010017:Рутинная работа - [EN] - Hidden clues unlocked (Hidden)
1010018:Рутинная работа - [EN] - Hidden clues completed (Hidden)
1010011:Рутинная работа - [CHS] - (test)给丽莎挑选礼品(隐藏)$HIDDEN
1010012:Рутинная работа - [CHS] - (test)给丽莎挑选礼品(隐藏)$HIDDEN
1010013:Рутинная работа - [CHS] - (test)给丽莎挑选礼品(隐藏)$HIDDEN
1010014:Рутинная работа - [CHS] - (test)给丽莎挑选礼品(隐藏)$HIDDEN
1010015:Рутинная работа - [CHS] - (test)隐藏选项1解锁隐藏$HIDDEN
1010016:Рутинная работа - [CHS] - (test)隐藏选项2解锁隐藏$HIDDEN
1010017:Рутинная работа - [CHS] - (test)隐藏线索解锁(隐藏)$HIDDEN
1010018:Рутинная работа - [CHS] - (test)隐藏线索完成(隐藏)$HIDDEN
1010019:Рутинная работа - [CHS] - (test)对话条件判断用(隐藏)$HIDDEN
1010021:Рутинная работа - [EN] - Have tea with Lisa (Hidden)
1010022:Рутинная работа - [EN] - Have tea with Lisa (Hidden)
1010023:Рутинная работа - [EN] - Have tea with Lisa (Hidden)
1010024:Рутинная работа - [EN] - Have tea with Lisa (Hidden)
1010025:Рутинная работа - [EN] - Have tea with Lisa (Hidden)
1010026:Рутинная работа - [EN] - Hidden Option 1 unlocked (Hidden)
1010027:Рутинная работа - [EN] - Hidden Option 2 unlocked
1010021:Рутинная работа - [CHS] - (test)与丽莎一起吃下午茶(隐藏)$HIDDEN
1010022:Рутинная работа - [CHS] - (test)与丽莎一起吃下午茶(隐藏)$HIDDEN
1010023:Рутинная работа - [CHS] - (test)与丽莎一起吃下午茶(隐藏)$HIDDEN
1010024:Рутинная работа - [CHS] - (test)与丽莎一起吃下午茶(隐藏)$HIDDEN
1010025:Рутинная работа - [CHS] - (test)与丽莎一起吃下午茶(隐藏)$HIDDEN
1010026:Рутинная работа - [CHS] - (test)隐藏选项1解锁隐藏$HIDDEN
1010027:Рутинная работа - [CHS] - (test)隐藏选项2解锁隐藏$HIDDEN
1010028:Рутинная работа - [CHS] - (test)延迟解锁披萨(隐藏)$HIDDEN
1010029:Рутинная работа - [CHS] - (test)衔接对话用(隐藏)$HIDDEN
1010031:Рутинная работа - [EN] - Result: Lisa in a good mood (Hidden)
1010032:Рутинная работа - [EN] - Result: Lisa in an average mood (Hidden)
1010033:Рутинная работа - [EN] - Result: Lisa in a bad mood (Hidden)
1010031:Рутинная работа - [CHS] - (test)给丽莎挑选花(隐藏)$HIDDEN
1010032:Рутинная работа - [CHS] - (test)给丽莎挑选花(隐藏)$HIDDEN
1010033:Рутинная работа - [CHS] - (test)给丽莎挑选花(隐藏)$HIDDEN
1010034:Рутинная работа - [CHS] - (test)给丽莎挑选花(隐藏)$HIDDEN
1010035:Рутинная работа - [CHS] - (test)给丽莎挑选花(隐藏)$HIDDEN
1010036:Рутинная работа - [CHS] - (test)给丽莎挑选花(隐藏)$HIDDEN
@@ -2406,15 +2406,15 @@
1010038:Рутинная работа - [CHS] - (test)对话条件判断用(隐藏)$HIDDEN
1010044:Рутинная работа - Следуйте по элементальным следам, оставленным книгой
1010101:Потерянная книга - Идите по направлению элементальных следов
1010102:Потерянная книга - [EN] - Reach Target Point 1 (Hidden)
1010103:Потерянная книга - [EN] - Reach Target Point 2 (Hidden)
1010104:Потерянная книга - [EN] - Reach Target Point 3 (Hidden)
1010105:Потерянная книга - [EN] - Reach Target Point 4 (Hidden)
1010106:Потерянная книга - [EN] - Reach Target Point 5 (Hidden)
1010102:Потерянная книга - [CHS] - (test)到达目标点1隐藏$HIDDEN
1010103:Потерянная книга - [CHS] - (test)到达目标点2隐藏$HIDDEN
1010104:Потерянная книга - [CHS] - (test)到达目标点3隐藏$HIDDEN
1010105:Потерянная книга - [CHS] - (test)到达目标点4隐藏$HIDDEN
1010106:Потерянная книга - [CHS] - (test)到达目标点5隐藏$HIDDEN
1010107:Потерянная книга - Войдите в логово книжного вора
1010108:Потерянная книга - [EN] - Defeat the Order Commander
1010108:Потерянная книга - [CHS] - (test)找到书本后的对话(隐藏)$HIDDEN
1010109:Потерянная книга - Поговорите с Лизой
1010110:Потерянная книга - [EN] - Talk to Lisa (Hidden)
1010110:Потерянная книга - [CHS] - (test)与丽莎对话(隐藏)$HIDDEN
1010111:Потерянная книга - Одолейте врагов
1010112:Потерянная книга - [CHS] - (test)击败深渊法师后的对话(隐藏)$HIDDEN
1010113:Потерянная книга - Одолейте мага Бездны
@@ -6122,16 +6122,16 @@
2100016:Полундра! Пираты хотят вырасти! - [N/A] 3970112284
2100017:Полундра! Пираты хотят вырасти! - Отнесите бутылку малышу Мэну
2100018:Полундра! Пираты хотят вырасти! - Поговорите с малышом Мэном
2100101:Охота за сокровищами в облаках - [EN] - Talk to NPC
2100102:Охота за сокровищами в облаках - [EN] - Approach the ancient stone platform
2100103:Охота за сокровищами в облаках - [EN] - Approach the seal mechanism
2100101:Охота за сокровищами в облаках - [CHS] - 对话NPC$HIDDEN
2100102:Охота за сокровищами в облаках - [CHS] - 靠近古石台$HIDDEN
2100103:Охота за сокровищами в облаках - [CHS] - 靠近封印机关$HIDDEN
2100104:Охота за сокровищами в облаках - Заберитесь на самую высокую точку пика Цинъюнь, чтобы посмотреть на Заоблачный предел
2100105:Охота за сокровищами в облаках - Исследуйте вспышку света
2100106:Охота за сокровищами в облаках - [EN] - Climb to the highest point of Qingyun Peak again and see what has changed
2100110:Охота за сокровищами в облаках - [EN] - Go investigate the flashing light
2100111:Охота за сокровищами в облаках - [EN] - Go investigate the flashing light
2100112:Охота за сокровищами в облаках - [EN] - Go investigate the flashing light
2100113:Охота за сокровищами в облаках - [EN] - Rollback isolation
2100106:Охота за сокровищами в облаках - [CHS] - 重返庆云顶最高处,查看变化$HIDDEN
2100110:Охота за сокровищами в облаках - [CHS] - 前往闪光处调查$HIDDEN
2100111:Охота за сокровищами в облаках - [CHS] - 前往闪光处调查$HIDDEN
2100112:Охота за сокровищами в облаках - [CHS] - 前往闪光处调查$HIDDEN
2100113:Охота за сокровищами в облаках - [CHS] - 回滚隔离$HIDDEN
2100201:test)璃月石龙 - [CHS] - 前置隐藏$UNRELEASED$HIDDEN
2100202:test)璃月石龙 - [CHS] - (test)向仙人了解封魔珠之谜$UNRELEASED
2100203:test)璃月石龙 - [CHS] - (test)寻找遗失的封魔珠$UNRELEASED$HIDDEN
@@ -6151,15 +6151,15 @@
2100331:Один в поле не воин - [CHS] - 对话后直接清理营地完成任务$HIDDEN
2100399:Один в поле не воин - Поговорите с Цяо Си
2100401:Непостоянство сокровищ - Поговорите с Сорайей
2100402:Непостоянство сокровищ - [EN] - Ask Soraya about the saying of the nearby area
2100403:Непостоянство сокровищ - [EN] - Find the clue
2100402:Непостоянство сокровищ - [CHS] - 询问索拉雅关于附近的传说2$HIDDEN
2100403:Непостоянство сокровищ - [CHS] - 前往遗迹,寻找奇怪的圆盘$HIDDEN
2100410:Непостоянство сокровищ - Отправляйтесь в руины и найдите странную круглую пластину
2100411:Непостоянство сокровищ - Отправляйтесь в руины и найдите странную круглую пластину
2100412:Непостоянство сокровищ - Отправляйтесь в руины и найдите странную круглую пластину
2100413:Непостоянство сокровищ - Отправляйтесь в руины и найдите странную круглую пластину
2100414:Непостоянство сокровищ - Изоляция отката.
2100420:Непостоянство сокровищ - Поговорите с Сорайей
2100421:Непостоянство сокровищ - [EN] - Find the final clue
2100421:Непостоянство сокровищ - [CHS] - 找到最后的遗迹$HIDDEN
2100422:Непостоянство сокровищ - Найдите последнюю подсказку
2100430:Непостоянство сокровищ - Запустите механизм в руинах
2100431:Непостоянство сокровищ - Одолейте Стража руин
@@ -6168,27 +6168,27 @@
2100450:Непостоянство сокровищ - Поговорите с Сорайей
2100480:Непостоянство сокровищ - [CHS] - 没有接取任务,派蒙$HIDDEN
2100481:Непостоянство сокровищ - [CHS] - 没有接取任务,回滚$HIDDEN
2100501:Постоялый двор «Ван Шу»: Испытание на время - [EN] - Talk to NPC
2100502:Постоялый двор «Ван Шу»: Испытание на время - [EN] - Complete minigame
2100503:Постоялый двор «Ван Шу»: Испытание на время - [EN] - Talk to NPC
2100504:Постоялый двор «Ван Шу»: Испытание на время - [EN] - Complete minigame
2100505:Постоялый двор «Ван Шу»: Испытание на время - [EN] - Talk to NPC
2100506:Постоялый двор «Ван Шу»: Испытание на время - [EN] - Complete minigame
2100507:Постоялый двор «Ван Шу»: Испытание на время - [EN] - Talk to NPC
2100508:Постоялый двор «Ван Шу»: Испытание на время - [EN] - Complete minigame
2100501:Постоялый двор «Ван Шу»: Испытание на время - [CHS] - 对话NPC$HIDDEN
2100502:Постоялый двор «Ван Шу»: Испытание на время - [CHS] - 完成玩法$HIDDEN
2100503:Постоялый двор «Ван Шу»: Испытание на время - [CHS] - 对话NPC$HIDDEN
2100504:Постоялый двор «Ван Шу»: Испытание на время - [CHS] - 完成玩法$HIDDEN
2100505:Постоялый двор «Ван Шу»: Испытание на время - [CHS] - 对话NPC$HIDDEN
2100506:Постоялый двор «Ван Шу»: Испытание на время - [CHS] - 完成玩法$HIDDEN
2100507:Постоялый двор «Ван Шу»: Испытание на время - [CHS] - 对话NPC$HIDDEN
2100508:Постоялый двор «Ван Шу»: Испытание на время - [CHS] - 完成玩法$HIDDEN
2100509:Постоялый двор «Ван Шу»: Испытание на время - [N/A] 758000946
2100510:Постоялый двор «Ван Шу»: Испытание на время - [N/A] 3274648850
2100511:Постоялый двор «Ван Шу»: Испытание на время - [N/A] 3981012090
2100512:Постоялый двор «Ван Шу»: Испытание на время - [N/A] 3190252594
2100701:Одинокое дерево - Обыщите деревню Миньюнь
2100702:Одинокое дерево - [EN] - Find the treasure clue
2100702:Одинокое дерево - [CHS] - 搜寻「祖训」$HIDDEN
2100703:Одинокое дерево - Найдите «наставление»
2100704:Одинокое дерево - Найдите «наставление»
2100705:Одинокое дерево - Найдите «наставление»
2100706:Одинокое дерево - Найдите «наставление»
2100707:Одинокое дерево - Найдите сокровища
2100708:Одинокое дерево - Заберите сокровище
2100709:Одинокое дерево - [EN] - Defense rollback
2100709:Одинокое дерево - [CHS] - 防御回滚$HIDDEN
2100710:Одинокое дерево - Заберите сокровище
2100711:Одинокое дерево - [CHS] - 四个对话$HIDDEN
2100712:Одинокое дерево - [CHS] - 四个对话$HIDDEN
@@ -6196,16 +6196,16 @@
2100714:Одинокое дерево - [CHS] - 四个对话$HIDDEN
2100716:Одинокое дерево - [CHS] - 进入明蕴镇$HIDDEN
2100720:Одинокое дерево - Заберите сокровище
2100800:Три огня озарят путь - [EN] - Quest start
2100801:Три огня озарят путь - [EN] - Second conversation
2100802:Три огня озарят путь - [EN] - Light the watchtower torch on the plains
2100800:Три огня озарят путь - [CHS] - 任务的开启$UNRELEASED$HIDDEN
2100801:Три огня озарят путь - [CHS] - 第二次对话$UNRELEASED$HIDDEN
2100802:Три огня озарят путь - [CHS] - 点燃平原瞭望塔上的火把$UNRELEASED$HIDDEN
2100803:Три огня озарят путь - Зажгите факел
2100804:Три огня озарят путь - Зажгите факел
2100805:Три огня озарят путь - Зажгите факел
2100806:Три огня озарят путь - Изоляция отката.
2100810:Три огня озарят путь - [EN] - Talk to Xinghuo
2100810:Три огня озарят путь - [CHS] - 与星火对话$UNRELEASED
2100900:Незабываемый вкус - Активируйте задание
2100910:Незабываемый вкус - [EN] - Talk to Mr. Zhu
2100910:Незабываемый вкус - [CHS] - 与朱老板对话$HIDDEN
2100920:Незабываемый вкус - Принесите блюдо из курицы мистеру Чжу
2100930:Незабываемый вкус - Поговорите с мистером Чжу
2101001:Изменение погоды на отмели Яо Гуан - Начало задания.
@@ -6219,46 +6219,46 @@
2101108:test璃月漂流瓶收集任务 - [CHS] - 交付道具$UNRELEASED$HIDDEN
2101109:test璃月漂流瓶收集任务 - [CHS] - 交付道具$UNRELEASED$HIDDEN
2101110:test璃月漂流瓶收集任务 - [CHS] - 交付道具$UNRELEASED$HIDDEN
2101201:Уборка листьев - [EN] - Quest start
2101202:Уборка листьев - [EN] - Sweep up all the piles of leaves leading downstairs
2101203:Уборка листьев - [EN] - Sweep up the pile of leaves
2101204:Уборка листьев - [EN] - Sweep up the pile of leaves
2101205:Уборка листьев - [EN] - Sweep up the pile of leaves
2101206:Уборка листьев - [EN] - Sweep up the pile of leaves
2101207:Уборка листьев - [EN] - Sweep up the pile of leaves
2101208:Уборка листьев - [EN] - Sweep up the pile of leaves
2101209:Уборка листьев - [EN] - Find Dandy downstairs
2101210:Уборка листьев - [EN] - Rollback isolation
2101201:Уборка листьев - [CHS] - 任务开启$UNRELEASED$HIDDEN
2101202:Уборка листьев - [CHS] - 清扫通往下层的所有落叶堆$UNRELEASED
2101203:Уборка листьев - [CHS] - 清扫落叶堆$UNRELEASED
2101204:Уборка листьев - [CHS] - 清扫落叶堆$UNRELEASED
2101205:Уборка листьев - [CHS] - 清扫落叶堆$UNRELEASED
2101206:Уборка листьев - [CHS] - 清扫落叶堆$UNRELEASED
2101207:Уборка листьев - [CHS] - 清扫落叶堆$UNRELEASED
2101208:Уборка листьев - [CHS] - 清扫落叶堆$UNRELEASED
2101209:Уборка листьев - [CHS] - 在楼下找到丹迪$UNRELEASED
2101210:Уборка листьев - [CHS] - 回滚隔离$UNRELEASED$HIDDEN
2101301:Деревянное гнездо хиличурлов - [CHS] - 夺回任务开启(暂时弃用)$HIDDEN
2101311:Деревянное гнездо хиличурлов - Разберитесь с хиличурлами в мастерской Фань Му (временно недоступно)
2101399:Деревянное гнездо хиличурлов - Поговорите с хозяином мастерской (временно недоступно)
2101400:(test)璃月入口镜头 - Начать задание камеры.
2101501:Книга в лесу - [EN] - Quest start
2101502:Книга в лесу - [EN] - Find the doll
2101501:Книга в лесу - [CHS] - 任务开启$HIDDEN
2101502:Книга в лесу - [CHS] - 寻找玩偶$HIDDEN
2101503:Книга в лесу - Найдите потерянную в лесу книгу
2101504:Книга в лесу - Найдите потерянную в лесу книгу
2101505:Книга в лесу - Вернитесь и найдите Девяточку
2101506:Книга в лесу - [EN] - Rollback isolation
2101601:Водопад: Испытание на время - [EN] - Talk to NPC
2101602:Водопад: Испытание на время - [EN] - Complete minigame
2101603:Водопад: Испытание на время - [EN] - Talk to NPC
2101604:Водопад: Испытание на время - [EN] - Complete minigame
2101605:Водопад: Испытание на время - [EN] - Talk to NPC
2101606:Водопад: Испытание на время - [EN] - Complete minigame
2101607:Водопад: Испытание на время - [EN] - Talk to NPC
2101608:Водопад: Испытание на время - [EN] - Complete minigame
2101506:Книга в лесу - [CHS] - 回滚隔离$HIDDEN
2101601:Водопад: Испытание на время - [CHS] - 对话NPC$HIDDEN
2101602:Водопад: Испытание на время - [CHS] - 完成玩法$HIDDEN
2101603:Водопад: Испытание на время - [CHS] - 对话NPC$HIDDEN
2101604:Водопад: Испытание на время - [CHS] - 完成玩法$HIDDEN
2101605:Водопад: Испытание на время - [CHS] - 对话NPC$HIDDEN
2101606:Водопад: Испытание на время - [CHS] - 完成玩法$HIDDEN
2101607:Водопад: Испытание на время - [CHS] - 对话NPC$HIDDEN
2101608:Водопад: Испытание на время - [CHS] - 完成玩法$HIDDEN
2101609:Водопад: Испытание на время - [N/A] 120278610
2101610:Водопад: Испытание на время - [N/A] 2350873682
2101611:Водопад: Испытание на время - [N/A] 3658385050
2101612:Водопад: Испытание на время - [N/A] 1162171610
2101701:Отмель Яо Гуан: Испытание на время - [EN] - Talk to NPC
2101702:Отмель Яо Гуан: Испытание на время - [EN] - Complete minigame
2101703:Отмель Яо Гуан: Испытание на время - [EN] - Talk to NPC
2101704:Отмель Яо Гуан: Испытание на время - [EN] - Complete minigame
2101705:Отмель Яо Гуан: Испытание на время - [EN] - Talk to NPC
2101706:Отмель Яо Гуан: Испытание на время - [EN] - Complete minigame
2101707:Отмель Яо Гуан: Испытание на время - [EN] - Talk to NPC
2101708:Отмель Яо Гуан: Испытание на время - [EN] - Complete minigame
2101701:Отмель Яо Гуан: Испытание на время - [CHS] - 对话NPC$HIDDEN
2101702:Отмель Яо Гуан: Испытание на время - [CHS] - 完成玩法$HIDDEN
2101703:Отмель Яо Гуан: Испытание на время - [CHS] - 对话NPC$HIDDEN
2101704:Отмель Яо Гуан: Испытание на время - [CHS] - 完成玩法$HIDDEN
2101705:Отмель Яо Гуан: Испытание на время - [CHS] - 对话NPC$HIDDEN
2101706:Отмель Яо Гуан: Испытание на время - [CHS] - 完成玩法$HIDDEN
2101707:Отмель Яо Гуан: Испытание на время - [CHS] - 对话NPC$HIDDEN
2101708:Отмель Яо Гуан: Испытание на время - [CHS] - 完成玩法$HIDDEN
2101709:Отмель Яо Гуан: Испытание на время - [N/A] 4027999530
2101710:Отмель Яо Гуан: Испытание на время - [N/A] 1029021194
2101711:Отмель Яо Гуан: Испытание на время - [N/A] 2345064586
@@ -6270,15 +6270,15 @@
2101809:Приключение начинается с... игры в прятки - Найдите спрятавшегося ребёнка.
2101811:Приключение начинается с... игры в прятки - [N/A] 4217962194
2101812:Приключение начинается с... игры в прятки - Поговорите с Правшой.
2101901:Тайные сокровища Цинь Че - [EN] - Quest start
2101902:Тайные сокровища Цинь Че - [EN] - Observe the inscription
2101903:Тайные сокровища Цинь Че - [EN] - Find the treasure clue
2101904:Тайные сокровища Цинь Че - [EN] - Find the treasure clue
2101905:Тайные сокровища Цинь Че - [EN] - Find the treasure clue
2101906:Тайные сокровища Цинь Че - [EN] - Find the treasure clue
2101907:Тайные сокровища Цинь Че - [EN] - Collect the treasure
2101908:Тайные сокровища Цинь Че - [EN] - Find the treasure clue
2102000:Это мои сокровища! - [EN] - Quest start
2101901:Тайные сокровища Цинь Че - [CHS] - 任务开启$UNRELEASED$HIDDEN
2101902:Тайные сокровища Цинь Че - [CHS] - 观察铭文$UNRELEASED
2101903:Тайные сокровища Цинь Че - [CHS] - 寻找宝藏的线索$UNRELEASED$HIDDEN
2101904:Тайные сокровища Цинь Че - [CHS] - 寻找宝藏的线索$UNRELEASED
2101905:Тайные сокровища Цинь Че - [CHS] - 寻找宝藏的线索$UNRELEASED
2101906:Тайные сокровища Цинь Че - [CHS] - 寻找宝藏的线索$UNRELEASED
2101907:Тайные сокровища Цинь Че - [CHS] - 获得宝藏$UNRELEASED
2101908:Тайные сокровища Цинь Че - [CHS] - 寻找宝藏的线索$UNRELEASED$HIDDEN
2102000:Это мои сокровища! - [CHS] - 阅读奇怪的信$HIDDEN
2102010:Это мои сокровища! - Разожгите костёр
2102020:Это мои сокровища! - Одолейте врагов
2102021:Это мои сокровища! - Прочитайте текст
@@ -7004,7 +7004,7 @@
2270109:Воробей и Клинок - [CHS] - 计算进度$HIDDEN
2270110:Воробей и Клинок - [CHS] - 计算进度保护$HIDDEN
2300001:1001 чашка кофе - Поговорите с Маддахом
2300002:1001 чашка кофе - Дождитесь следующего вечера (19:00 - 21:00)
2300002:1001 чашка кофе - Дождитесь вечера следующего дня (19:00 - 21:00)
2300003:1001 чашка кофе - Отправляйтесь в кафе и поговорите с Маддахом
2300004:1001 чашка кофе - Отправляйтесь в кафе и поговорите с Маддахом
2300101:Поглощение золота и накопление моры - Поговорите с Хатимом
@@ -7279,17 +7279,17 @@
2303216:Ещё один равноценный обмен! - Поговорите с Ламбадом
2303217:Ещё один равноценный обмен! - Поговорите с Джутом
2303218:Ещё один равноценный обмен! - [CHS] - 打倒所有蕈兽$HIDDEN
2303301:Король заклинаний - Поговорите с Фукумото
2303302:Король заклинаний - Идите к подходящему месту
2303303:Король заклинаний - Поговорите с Фукумото
2303304:Король заклинаний - Победите всех врагов
2303305:Король заклинаний - Поговорите с Фукумото
2303306:Король заклинаний - Поговорите с Фукумото
2303307:Король заклинаний - Идите к подходящему месту
2303308:Король заклинаний - Поговорите с Фукумото
2303309:Король заклинаний - Идите к подходящему месту и примите позу
2303310:Король заклинаний - Поговорите с Фукумото
2303311:Король заклинаний - [N/A] 841740308
2303301:Король священного призыва - Поговорите с Фукумото
2303302:Король священного призыва - Идите к подходящему месту
2303303:Король священного призыва - Поговорите с Фукумото
2303304:Король священного призыва - Победите всех врагов
2303305:Король священного призыва - Поговорите с Фукумото
2303306:Король священного призыва - Поговорите с Фукумото
2303307:Король священного призыва - Идите к подходящему месту
2303308:Король священного призыва - Поговорите с Фукумото
2303309:Король священного призыва - Идите к подходящему месту и примите позу
2303310:Король священного призыва - Поговорите с Фукумото
2303311:Король священного призыва - [N/A] 841740308
2303501:В следующей части «Короля заклинаний»... - Поговорите с Фукумото
2303502:В следующей части «Короля заклинаний»... - Отправляйтесь в кафе «Пуспа»
2303503:В следующей части «Короля заклинаний»... - Отправляйтесь в кафе «Пуспа» и встретьтесь там с Фукумото
@@ -7375,19 +7375,19 @@
2304315:Сравнение цен - [CHS] - (test)获得贾汗吉尔的订单$HIDDEN
2304316:Сравнение цен - Вернитесь к Азалаю
2304317:Сравнение цен - Вернитесь к Азалаю
2500001:Свобода 1 - Скрыто - [EN] - Opens at required Adventure Rank
2500001:Свобода 1 - Скрыто - [CHS] - (test)冒险等阶到达$HIDDEN
2500101:Возвышение Ранга приключений I - Войдите в руины
2500102:Возвышение Ранга приключений I - Исследуйте руины
2500201:Свобода 2 - Скрыто - [EN] - Opens at required Adventure Rank
2500201:Свобода 2 - Скрыто - [CHS] - (test)冒险等阶到达$HIDDEN
2500301:Возвышение Ранга приключений II - Войдите в руины
2500302:Возвышение Ранга приключений II - Исследуйте руины
2500401:Свобода 3 - Скрыто - [EN] - Opens at required Adventure Rank
2500401:Свобода 3 - Скрыто - [CHS] - (test)冒险等阶到达$HIDDEN
2500501:Возвышение Ранга приключений II - Войдите в руины
2500502:Возвышение Ранга приключений II - Исследуйте руины
2500601:Свобода 4 - Скрыто - [EN] - Opens at required Adventure Rank
2500601:Свобода 4 - Скрыто - [CHS] - (test)冒险等阶到达$HIDDEN
2500701:Возвышение Ранга приключений II - Войдите в руины
2500702:Возвышение Ранга приключений II - Исследуйте руины
2500801:Свобода 5 - Скрыто - [EN] - Opens at required Adventure Rank
2500801:Свобода 5 - Скрыто - [CHS] - (test)冒险等阶到达$HIDDEN
2500901:Возвышение Ранга приключений III - Войдите в руины
2500902:Возвышение Ранга приключений III - Исследуйте руины
2501001:Свобода 6 - Скрыто - [CHS] - (test)冒险等阶到达$HIDDEN
@@ -8279,9 +8279,9 @@
4007410:Древние лазурные звёзды - Пройдите вызов звёздного неба
4007411:Древние лазурные звёзды - Встретьтесь со всеми
4007412:Древние лазурные звёзды - Поговорите со всеми
4007413:Древние лазурные звёзды - [EN] - Enter the pool
4007413:Древние лазурные звёзды - [CHS] - 进入水池$HIDDEN
4007414:Древние лазурные звёзды - Войдите во врата мира грёз
4007415:Древние лазурные звёзды - [EN] - Follow the star to the destination
4007415:Древние лазурные звёзды - [CHS] - 跟随星星指引找到终点$HIDDEN
4007416:Древние лазурные звёзды - [CHS] - (test)(hide)发送水池通知$HIDDEN
4007417:Древние лазурные звёзды - Следуйте за странной звездой
4007501:Древние лазурные звёзды - Исследуйте местность с помощью подсказки
@@ -10402,18 +10402,18 @@
7094201:[CHS] - 艾斯特尔NPC送礼物$UNRELEASED$HIDDEN - [N/A] 555226076
7100001:[CHS] - 海灯节d1-1解谜test$UNRELEASED - [CHS] - 找到海灯图标记的位置test$UNRELEASED
7100002:[CHS] - 海灯节d1-1解谜test$UNRELEASED - [CHS] - 找到藏在盘丝后的宝箱test$UNRELEASED
7100101:[EN] - Treasures of Taishan Fill the Ship - [EN] - Find the strange mechanism near Taishan Mansion
7100102:[EN] - Treasures of Taishan Fill the Ship - Изучите механизм и откройте
7100103:[EN] - Treasures of Taishan Fill the Ship - [N/A] 4225906593
7100104:[EN] - Treasures of Taishan Fill the Ship - Найдите и одолейте мага Бездны
7100201:[EN] - Fly a Letter Towards the Sky - Пустое задание.
7100202:[EN] - Fly a Letter Towards the Sky - Найдите подсказку Адепта в Заоблачном пределе.
7100203:[EN] - Fly a Letter Towards the Sky - Найдите подсказку Адепта в Заоблачном пределе.
7100204:[EN] - Fly a Letter Towards the Sky - Найдите подсказку Адепта в Заоблачном пределе.
7100205:[EN] - Fly a Letter Towards the Sky - Найдите подсказку Адепта в Заоблачном пределе.
7100206:[EN] - Fly a Letter Towards the Sky - Найдите подсказку Адепта в Заоблачном пределе
7100207:[EN] - Fly a Letter Towards the Sky - Зажгите благовония и помолитесь в указанном месте
7100208:[EN] - Fly a Letter Towards the Sky - Изоляция отката.
7100101:[CHS] - 太山宝贝满船归$HIDDEN - [CHS] - 寻找太山府附近的可疑机关$HIDDEN
7100102:[CHS] - 太山宝贝满船归$HIDDEN - Изучите механизм и откройте
7100103:[CHS] - 太山宝贝满船归$HIDDEN - [N/A] 4225906593
7100104:[CHS] - 太山宝贝满船归$HIDDEN - Найдите и одолейте мага Бездны
7100201:[CHS] - 忽得一信向天飞$HIDDEN - Пустое задание.
7100202:[CHS] - 忽得一信向天飞$HIDDEN - Найдите подсказку Адепта в Заоблачном пределе.
7100203:[CHS] - 忽得一信向天飞$HIDDEN - Найдите подсказку Адепта в Заоблачном пределе.
7100204:[CHS] - 忽得一信向天飞$HIDDEN - Найдите подсказку Адепта в Заоблачном пределе.
7100205:[CHS] - 忽得一信向天飞$HIDDEN - Найдите подсказку Адепта в Заоблачном пределе.
7100206:[CHS] - 忽得一信向天飞$HIDDEN - Найдите подсказку Адепта в Заоблачном пределе
7100207:[CHS] - 忽得一信向天飞$HIDDEN - Зажгите благовония и помолитесь в указанном месте
7100208:[CHS] - 忽得一信向天飞$HIDDEN - Изоляция отката.
7100301:[CHS] - 海灯节d1-2解谜test$UNRELEASED - [CHS] - 找到海灯图标记的位置test$UNRELEASED
7100302:[CHS] - 海灯节d1-2解谜test$UNRELEASED - [CHS] - 冰凉凉瀑布test$UNRELEASED
7100401:[CHS] - test考古迷踪$UNRELEASED$HIDDEN - [CHS] - 占位$UNRELEASED$HIDDEN
@@ -13320,8 +13320,8 @@
7224218:Вход в Токоё - Продолжайте поиск подсказок поблизости
7224219:Вход в Токоё - [N/A] 387883828
7224220:Вход в Токоё - Изучите механизм и откройте врата
7224301:[EN] - Lotus Eater Epilogue: Marjorie - [CHS] - (test)找玛乔丽对话$HIDDEN
7224302:[EN] - Lotus Eater Epilogue: Marjorie - [CHS] - (test)找玛乔丽买卖
7224301:[CHS] - 食莲者后续玛乔丽$HIDDEN - [CHS] - (test)找玛乔丽对话$HIDDEN
7224302:[CHS] - 食莲者后续玛乔丽$HIDDEN - [CHS] - (test)找玛乔丽买卖
7224401:Сиртос Фаэтонов - [CHS] - (test)和NPC对话$HIDDEN
7224402:Сиртос Фаэтонов - Возложите жемчужины Санго на семь королевских гробниц
7224403:Сиртос Фаэтонов - Возложите жемчужины Санго на семь королевских гробниц
@@ -14398,7 +14398,7 @@
7302210:Еда - это способ поделиться прекрасным - Разбудите аранару с помощью Дендро
7302301:Короткая встреча с редкой птицей - [CHS] - (test)(隐藏)到达须弥$HIDDEN
7302302:Короткая встреча с редкой птицей - [CHS] - (test)(隐藏)击杀特定香菇猪$HIDDEN
7302303:Короткая встреча с редкой птицей - [EN] - Talk to the Forest Ranger
7302303:Короткая встреча с редкой птицей - [CHS] - (test)(隐藏)与出现的巡林员对话$HIDDEN
7302304:Короткая встреча с редкой птицей - [CHS] - (test)交付材料
7302305:Короткая встреча с редкой птицей - [CHS] - (test)与坏调查员对话
7302306:Короткая встреча с редкой птицей - Поохотьтесь на сумеречных птиц в южной части чащи Апам
@@ -14510,7 +14510,7 @@
7303106:Ради лучшего воссоединения - [N/A] 3811616524
7303107:Ради лучшего воссоединения - Поговорите с Арамой
7303201:Праздник Утсава - [N/A] 3329639732
7303202:Праздник Утсава - [EN] - Talk to Araja
7303202:Праздник Утсава - [CHS] - 与兰拉迦对话$HIDDEN
7303203:Праздник Утсава - Разделите с аранарами веселье Праздника Утсава в Ванаране во сне.
7303204:Праздник Утсава - [N/A] 142861372
7303205:Праздник Утсава - Исполните песню на сцене
@@ -14597,14 +14597,14 @@
7303637:Во имя детей прошлого - По крайней мере, мы нашли путь вниз
7303638:Во имя детей прошлого - Отправляйтесь в глубины пещеры
7303639:Во имя детей прошлого - Победите руинный механизм
7303640:Во имя детей прошлого - [EN] - Try to lift the seal
7303641:Во имя детей прошлого - [EN] - Try to lift the seal
7303642:Во имя детей прошлого - [EN] - Try to lift the seal
7303643:Во имя детей прошлого - [EN] - Try to lift the seal
7303644:Во имя детей прошлого - [EN] - Try to lift the seal
7303645:Во имя детей прошлого - [EN] - Try to lift the seal
7303640:Во имя детей прошлого - [CHS] - 设法解除封印$HIDDEN
7303641:Во имя детей прошлого - [CHS] - 设法解除封印$HIDDEN
7303642:Во имя детей прошлого - [CHS] - 设法解除封印$HIDDEN
7303643:Во имя детей прошлого - [CHS] - 设法解除封印$HIDDEN
7303644:Во имя детей прошлого - [CHS] - 设法解除封印$HIDDEN
7303645:Во имя детей прошлого - [CHS] - 设法解除封印$HIDDEN
7303646:Во имя детей прошлого - [N/A] 1231285508
7303647:Во имя детей прошлого - [EN] - Try to lift the seal
7303647:Во имя детей прошлого - [CHS] - 设法解除封印$HIDDEN
7303648:Во имя детей прошлого - [N/A] 3975888092
7303701:Во имя стремящихся к жизни детей - [CHS] - (test)离开水室
7303702:Во имя стремящихся к жизни детей - Отправляйтесь в глубины пещеры
@@ -14708,13 +14708,13 @@
7305002:[CHS] - (test)无忧节其它一级WQ对话$HIDDEN - [N/A] 2378011980
7305003:[CHS] - (test)无忧节其它一级WQ对话$HIDDEN - [N/A] 3341565228
7305004:[CHS] - (test)无忧节其它一级WQ对话$HIDDEN - [N/A] 3577902196
7305101:[CHS] - (test)死域观测站失落1隐藏任务$HIDDEN - [EN] - Detect Aranara
7305102:[CHS] - (test)死域观测站失落1隐藏任务$HIDDEN - [EN] - Talk to the Aranara
7305103:[CHS] - (test)死域观测站失落1隐藏任务$HIDDEN - [EN] - Detect dark smoke 1
7305104:[CHS] - (test)死域观测站失落1隐藏任务$HIDDEN - [EN] - Defeat dark smoke 1
7305105:[CHS] - (test)死域观测站失落1隐藏任务$HIDDEN - [EN] - Detect dark smoke 2
7305106:[CHS] - (test)死域观测站失落1隐藏任务$HIDDEN - [EN] - Defeat dark smoke 2
7305107:[CHS] - (test)死域观测站失落1隐藏任务$HIDDEN - [EN] - Advance Quest progress
7305101:[CHS] - (test)死域观测站失落1隐藏任务$HIDDEN - [CHS] - 监测看见兰那罗$HIDDEN
7305102:[CHS] - (test)死域观测站失落1隐藏任务$HIDDEN - [CHS] - 和兰那罗对话$HIDDEN
7305103:[CHS] - (test)死域观测站失落1隐藏任务$HIDDEN - [CHS] - 监测看见黑烟1$HIDDEN
7305104:[CHS] - (test)死域观测站失落1隐藏任务$HIDDEN - [CHS] - 打黑烟1$HIDDEN
7305105:[CHS] - (test)死域观测站失落1隐藏任务$HIDDEN - [CHS] - 监测看见黑烟2$HIDDEN
7305106:[CHS] - (test)死域观测站失落1隐藏任务$HIDDEN - [CHS] - 打黑烟2$HIDDEN
7305107:[CHS] - (test)死域观测站失落1隐藏任务$HIDDEN - [CHS] - 增加任务进度$HIDDEN
7305108:[CHS] - (test)死域观测站失落1隐藏任务$HIDDEN - [N/A] 35661124
7305201:Затерянные в песках - [CHS] - test*隐藏*先找凯瑟琳$HIDDEN
7305202:Затерянные в песках - Направляйтесь в деревню Аару и отыщите торговца из Мондштадта
@@ -14986,12 +14986,12 @@
7306133:Глава звёздной ночи - Найдите Аранакина
7306134:Глава звёздной ночи - Войдите в пещеру
7306135:Глава звёздной ночи - Покиньте пещеру
7306136:Глава звёздной ночи - [EN] - Talk to Aranakin
7306136:Глава звёздной ночи - [CHS] - 与兰纳真对话$HIDDEN
7306137:Глава звёздной ночи - Исследуйте гриб зохру
7306138:Глава звёздной ночи - [N/A] 2055810156
7306139:Глава звёздной ночи - [EN] - Use Kusava to break the seal on the Zohrah Mushroom
7306140:Глава звёздной ночи - [EN] - Use Kusava to break the seal on the Zohrah Mushroom
7306141:Глава звёздной ночи - [EN] - Use Kusava to break the seal on the Zohrah Mushroom
7306139:Глава звёздной ночи - [CHS] - 使用「苦舍桓」解除「须罗蕈」的封印$HIDDEN
7306140:Глава звёздной ночи - [CHS] - 使用「苦舍桓」解除「须罗蕈」的封印$HIDDEN
7306141:Глава звёздной ночи - [CHS] - 使用「苦舍桓」解除「须罗蕈」的封印$HIDDEN
7306201:Пока вана не исцелится - [CHS] - 通用时间改变(隐藏)$HIDDEN
7306202:Пока вана не исцелится - [CHS] - 到达兰那罗附近或过24小时隐藏$HIDDEN
7306203:Пока вана не исцелится - Поговорите с Арариканом
@@ -15033,9 +15033,9 @@
7306310:Восходящая Луна - Победите плесенников
7306311:Восходящая Луна - Исследуйте окружённые плесенниками руны
7306312:Восходящая Луна - Продолжайте искать руны
7306313:Восходящая Луна - [EN] - Continue looking for runes
7306314:Восходящая Луна - [EN] - Continue looking for runes
7306315:Восходящая Луна - [EN] - Continue looking for runes
7306313:Восходящая Луна - [CHS] - 继续寻找符文$HIDDEN
7306314:Восходящая Луна - [CHS] - 继续寻找符文$HIDDEN
7306315:Восходящая Луна - [CHS] - 继续寻找符文$HIDDEN
7306316:Восходящая Луна - Поговорите с Арагару
7306317:Восходящая Луна - Покиньте пещеру
7306318:Восходящая Луна - Покиньте пещеру
@@ -15045,9 +15045,9 @@
7306322:Восходящая Луна - Исследуйте Королевство Кхаб
7306323:Восходящая Луна - Поговорите с Арагару
7306324:Восходящая Луна - Используйте кусаву, чтобы сломать печать цветка барсам
7306325:Восходящая Луна - [EN] - Use the Kusava to break the seal on the Barsam Flower
7306326:Восходящая Луна - [EN] - Use the Kusava to break the seal on the Barsam Flower
7306327:Восходящая Луна - [EN] - Use the Kusava to break the seal on the Barsam Flower
7306325:Восходящая Луна - [CHS] - 使用「苦舍桓」解除「钵参花」的封印$HIDDEN
7306326:Восходящая Луна - [CHS] - 使用「苦舍桓」解除「钵参花」的封印$HIDDEN
7306327:Восходящая Луна - [CHS] - 使用「苦舍桓」解除「钵参花」的封印$HIDDEN
7306328:Восходящая Луна - Сорвите цветок барсам
7306329:Восходящая Луна - Поговорите с Арагару
7306330:Восходящая Луна - Найдите Арагару
@@ -15287,7 +15287,7 @@
7308005:Дитя вне леса - [N/A] 637716268
7308006:Дитя вне леса - [N/A] 625418812
7308101:Выступление в лесу - [CHS] - (test)合唱团任务满足接取条件$HIDDEN
7308102:Выступление в лесу - [EN] - Talk to Arakavi
7308102:Выступление в лесу - [CHS] - 与兰加惟对话$HIDDEN
7308103:Выступление в лесу - Поговорите с Аракави
7308104:Выступление в лесу - Найдите и исследуйте Зал Ашваттхи
7308105:Выступление в лесу - [CHS] - (test)监听传送门之曲进度$HIDDEN
@@ -15393,13 +15393,13 @@
7308711:[CHS] - test隐藏-兰那罗小游戏-顺序击破1$HIDDEN - [CHS] - (test)玩法开始$HIDDEN
7308712:[CHS] - test隐藏-兰那罗小游戏-顺序击破1$HIDDEN - [CHS] - (test)玩法完成$HIDDEN
7308801:[CHS] - (test)73025发放老旧的诗琴$HIDDEN - [N/A] 4234759724
7308901:[CHS] - (test)死域观测站失落2隐藏任务$HIDDEN - [EN] - Detect Aranara
7308902:[CHS] - (test)死域观测站失落2隐藏任务$HIDDEN - [EN] - Talk to the Aranara
7308903:[CHS] - (test)死域观测站失落2隐藏任务$HIDDEN - [EN] - Detect dark smoke 1
7308904:[CHS] - (test)死域观测站失落2隐藏任务$HIDDEN - [EN] - Defeat dark smoke 1
7308905:[CHS] - (test)死域观测站失落2隐藏任务$HIDDEN - [EN] - Detect dark smoke 2
7308906:[CHS] - (test)死域观测站失落2隐藏任务$HIDDEN - [EN] - Defeat dark smoke 2
7308907:[CHS] - (test)死域观测站失落2隐藏任务$HIDDEN - [EN] - Advance Quest progress
7308901:[CHS] - (test)死域观测站失落2隐藏任务$HIDDEN - [CHS] - 监测看见兰那罗$HIDDEN
7308902:[CHS] - (test)死域观测站失落2隐藏任务$HIDDEN - [CHS] - 和兰那罗对话$HIDDEN
7308903:[CHS] - (test)死域观测站失落2隐藏任务$HIDDEN - [CHS] - 监测看见黑烟1$HIDDEN
7308904:[CHS] - (test)死域观测站失落2隐藏任务$HIDDEN - [CHS] - 打黑烟1$HIDDEN
7308905:[CHS] - (test)死域观测站失落2隐藏任务$HIDDEN - [CHS] - 监测看见黑烟2$HIDDEN
7308906:[CHS] - (test)死域观测站失落2隐藏任务$HIDDEN - [CHS] - 打黑烟2$HIDDEN
7308907:[CHS] - (test)死域观测站失落2隐藏任务$HIDDEN - [CHS] - 增加任务进度$HIDDEN
7308908:[CHS] - (test)死域观测站失落2隐藏任务$HIDDEN - [N/A] 1407880236
7309001:[CHS] - (test)画册Group1$HIDDEN - [N/A] 1373577028
7309002:[CHS] - (test)画册Group1$HIDDEN - [N/A] 1203330220
@@ -15610,53 +15610,53 @@
7311011:Мечта Сохейля - [CHS] - (test)提前完成小金字塔差分$HIDDEN
7311012:Мечта Сохейля - [CHS] - (test)提前完成藏匿处差分$HIDDEN
7311013:Мечта Сохейля - [CHS] - (test)判断离开原地改变量使差分失败$HIDDEN
7311101:[CHS] - (test)死域观测站唤雨1隐藏任务$HIDDEN - [EN] - Detect Aranara
7311102:[CHS] - (test)死域观测站唤雨1隐藏任务$HIDDEN - [EN] - Talk to the Aranara
7311103:[CHS] - (test)死域观测站唤雨1隐藏任务$HIDDEN - [EN] - Detect dark smoke 1
7311104:[CHS] - (test)死域观测站唤雨1隐藏任务$HIDDEN - [EN] - Defeat dark smoke 1
7311105:[CHS] - (test)死域观测站唤雨1隐藏任务$HIDDEN - [EN] - Detect dark smoke 2
7311106:[CHS] - (test)死域观测站唤雨1隐藏任务$HIDDEN - [EN] - Defeat dark smoke 2
7311107:[CHS] - (test)死域观测站唤雨1隐藏任务$HIDDEN - [EN] - Advance Quest progress
7311101:[CHS] - (test)死域观测站唤雨1隐藏任务$HIDDEN - [CHS] - 监测看见兰那罗$HIDDEN
7311102:[CHS] - (test)死域观测站唤雨1隐藏任务$HIDDEN - [CHS] - 和兰那罗对话$HIDDEN
7311103:[CHS] - (test)死域观测站唤雨1隐藏任务$HIDDEN - [CHS] - 监测看见黑烟1$HIDDEN
7311104:[CHS] - (test)死域观测站唤雨1隐藏任务$HIDDEN - [CHS] - 打黑烟1$HIDDEN
7311105:[CHS] - (test)死域观测站唤雨1隐藏任务$HIDDEN - [CHS] - 监测看见黑烟2$HIDDEN
7311106:[CHS] - (test)死域观测站唤雨1隐藏任务$HIDDEN - [CHS] - 打黑烟2$HIDDEN
7311107:[CHS] - (test)死域观测站唤雨1隐藏任务$HIDDEN - [CHS] - 增加任务进度$HIDDEN
7311108:[CHS] - (test)死域观测站唤雨1隐藏任务$HIDDEN - [N/A] 881436556
7311201:[CHS] - (test)死域观测站唤雨2隐藏任务$HIDDEN - [EN] - Detect Aranara
7311202:[CHS] - (test)死域观测站唤雨2隐藏任务$HIDDEN - [EN] - Talk to the Aranara
7311203:[CHS] - (test)死域观测站唤雨2隐藏任务$HIDDEN - [EN] - Detect dark smoke 1
7311204:[CHS] - (test)死域观测站唤雨2隐藏任务$HIDDEN - [EN] - Defeat dark smoke 1
7311205:[CHS] - (test)死域观测站唤雨2隐藏任务$HIDDEN - [EN] - Detect dark smoke 2
7311206:[CHS] - (test)死域观测站唤雨2隐藏任务$HIDDEN - [EN] - Defeat dark smoke 2
7311207:[CHS] - (test)死域观测站唤雨2隐藏任务$HIDDEN - [EN] - Advance Quest progress
7311201:[CHS] - (test)死域观测站唤雨2隐藏任务$HIDDEN - [CHS] - 监测看见兰那罗$HIDDEN
7311202:[CHS] - (test)死域观测站唤雨2隐藏任务$HIDDEN - [CHS] - 和兰那罗对话$HIDDEN
7311203:[CHS] - (test)死域观测站唤雨2隐藏任务$HIDDEN - [CHS] - 监测看见黑烟1$HIDDEN
7311204:[CHS] - (test)死域观测站唤雨2隐藏任务$HIDDEN - [CHS] - 打黑烟1$HIDDEN
7311205:[CHS] - (test)死域观测站唤雨2隐藏任务$HIDDEN - [CHS] - 监测看见黑烟2$HIDDEN
7311206:[CHS] - (test)死域观测站唤雨2隐藏任务$HIDDEN - [CHS] - 打黑烟2$HIDDEN
7311207:[CHS] - (test)死域观测站唤雨2隐藏任务$HIDDEN - [CHS] - 增加任务进度$HIDDEN
7311208:[CHS] - (test)死域观测站唤雨2隐藏任务$HIDDEN - [N/A] 1634319452
7311301:[CHS] - (test)死域观测站凋零1隐藏任务$HIDDEN - [EN] - Detect Aranara
7311302:[CHS] - (test)死域观测站凋零1隐藏任务$HIDDEN - [EN] - Talk to the Aranara
7311303:[CHS] - (test)死域观测站凋零1隐藏任务$HIDDEN - [EN] - Detect dark smoke 1
7311304:[CHS] - (test)死域观测站凋零1隐藏任务$HIDDEN - [EN] - Defeat dark smoke 1
7311305:[CHS] - (test)死域观测站凋零1隐藏任务$HIDDEN - [EN] - Detect dark smoke 2
7311306:[CHS] - (test)死域观测站凋零1隐藏任务$HIDDEN - [EN] - Defeat dark smoke 2
7311307:[CHS] - (test)死域观测站凋零1隐藏任务$HIDDEN - [EN] - Advance Quest progress
7311301:[CHS] - (test)死域观测站凋零1隐藏任务$HIDDEN - [CHS] - 监测看见兰那罗$HIDDEN
7311302:[CHS] - (test)死域观测站凋零1隐藏任务$HIDDEN - [CHS] - 和兰那罗对话$HIDDEN
7311303:[CHS] - (test)死域观测站凋零1隐藏任务$HIDDEN - [CHS] - 监测看见黑烟1$HIDDEN
7311304:[CHS] - (test)死域观测站凋零1隐藏任务$HIDDEN - [CHS] - 打黑烟1$HIDDEN
7311305:[CHS] - (test)死域观测站凋零1隐藏任务$HIDDEN - [CHS] - 监测看见黑烟2$HIDDEN
7311306:[CHS] - (test)死域观测站凋零1隐藏任务$HIDDEN - [CHS] - 打黑烟2$HIDDEN
7311307:[CHS] - (test)死域观测站凋零1隐藏任务$HIDDEN - [CHS] - 增加任务进度$HIDDEN
7311308:[CHS] - (test)死域观测站凋零1隐藏任务$HIDDEN - [N/A] 610117204
7311401:[CHS] - (test)死域观测站凋零2隐藏任务$HIDDEN - [EN] - Detect Aranara
7311402:[CHS] - (test)死域观测站凋零2隐藏任务$HIDDEN - [EN] - Talk to the Aranara
7311403:[CHS] - (test)死域观测站凋零2隐藏任务$HIDDEN - [EN] - Detect dark smoke 1
7311404:[CHS] - (test)死域观测站凋零2隐藏任务$HIDDEN - [EN] - Defeat dark smoke 1
7311405:[CHS] - (test)死域观测站凋零2隐藏任务$HIDDEN - [EN] - Detect dark smoke 2
7311406:[CHS] - (test)死域观测站凋零2隐藏任务$HIDDEN - [EN] - Defeat dark smoke 2
7311407:[CHS] - (test)死域观测站凋零2隐藏任务$HIDDEN - [EN] - Advance Quest progress
7311401:[CHS] - (test)死域观测站凋零2隐藏任务$HIDDEN - [CHS] - 监测看见兰那罗$HIDDEN
7311402:[CHS] - (test)死域观测站凋零2隐藏任务$HIDDEN - [CHS] - 和兰那罗对话$HIDDEN
7311403:[CHS] - (test)死域观测站凋零2隐藏任务$HIDDEN - [CHS] - 监测看见黑烟1$HIDDEN
7311404:[CHS] - (test)死域观测站凋零2隐藏任务$HIDDEN - [CHS] - 打黑烟1$HIDDEN
7311405:[CHS] - (test)死域观测站凋零2隐藏任务$HIDDEN - [CHS] - 监测看见黑烟2$HIDDEN
7311406:[CHS] - (test)死域观测站凋零2隐藏任务$HIDDEN - [CHS] - 打黑烟2$HIDDEN
7311407:[CHS] - (test)死域观测站凋零2隐藏任务$HIDDEN - [CHS] - 增加任务进度$HIDDEN
7311408:[CHS] - (test)死域观测站凋零2隐藏任务$HIDDEN - [N/A] 3911197868
7311501:[CHS] - (test)死域观测站织梦1隐藏任务$HIDDEN - [EN] - Detect Aranara
7311502:[CHS] - (test)死域观测站织梦1隐藏任务$HIDDEN - [EN] - Talk to the Aranara
7311503:[CHS] - (test)死域观测站织梦1隐藏任务$HIDDEN - [EN] - Detect dark smoke 1
7311504:[CHS] - (test)死域观测站织梦1隐藏任务$HIDDEN - [EN] - Defeat dark smoke 1
7311505:[CHS] - (test)死域观测站织梦1隐藏任务$HIDDEN - [EN] - Detect dark smoke 2
7311506:[CHS] - (test)死域观测站织梦1隐藏任务$HIDDEN - [EN] - Defeat dark smoke 2
7311507:[CHS] - (test)死域观测站织梦1隐藏任务$HIDDEN - [EN] - Advance Quest progress
7311501:[CHS] - (test)死域观测站织梦1隐藏任务$HIDDEN - [CHS] - 监测看见兰那罗$HIDDEN
7311502:[CHS] - (test)死域观测站织梦1隐藏任务$HIDDEN - [CHS] - 和兰那罗对话$HIDDEN
7311503:[CHS] - (test)死域观测站织梦1隐藏任务$HIDDEN - [CHS] - 监测看见黑烟1$HIDDEN
7311504:[CHS] - (test)死域观测站织梦1隐藏任务$HIDDEN - [CHS] - 打黑烟1$HIDDEN
7311505:[CHS] - (test)死域观测站织梦1隐藏任务$HIDDEN - [CHS] - 监测看见黑烟2$HIDDEN
7311506:[CHS] - (test)死域观测站织梦1隐藏任务$HIDDEN - [CHS] - 打黑烟2$HIDDEN
7311507:[CHS] - (test)死域观测站织梦1隐藏任务$HIDDEN - [CHS] - 增加任务进度$HIDDEN
7311508:[CHS] - (test)死域观测站织梦1隐藏任务$HIDDEN - [N/A] 395247364
7311601:[CHS] - (test)死域观测站织梦2隐藏任务$HIDDEN - [EN] - Detect Aranara
7311602:[CHS] - (test)死域观测站织梦2隐藏任务$HIDDEN - [EN] - Talk to the Aranara
7311603:[CHS] - (test)死域观测站织梦2隐藏任务$HIDDEN - [EN] - Detect dark smoke 1
7311604:[CHS] - (test)死域观测站织梦2隐藏任务$HIDDEN - [EN] - Defeat dark smoke 1
7311605:[CHS] - (test)死域观测站织梦2隐藏任务$HIDDEN - [EN] - Detect dark smoke 2
7311606:[CHS] - (test)死域观测站织梦2隐藏任务$HIDDEN - [EN] - Defeat dark smoke 2
7311607:[CHS] - (test)死域观测站织梦2隐藏任务$HIDDEN - [EN] - Advance Quest progress
7311601:[CHS] - (test)死域观测站织梦2隐藏任务$HIDDEN - [CHS] - 监测看见兰那罗$HIDDEN
7311602:[CHS] - (test)死域观测站织梦2隐藏任务$HIDDEN - [CHS] - 和兰那罗对话$HIDDEN
7311603:[CHS] - (test)死域观测站织梦2隐藏任务$HIDDEN - [CHS] - 监测看见黑烟1$HIDDEN
7311604:[CHS] - (test)死域观测站织梦2隐藏任务$HIDDEN - [CHS] - 打黑烟1$HIDDEN
7311605:[CHS] - (test)死域观测站织梦2隐藏任务$HIDDEN - [CHS] - 监测看见黑烟2$HIDDEN
7311606:[CHS] - (test)死域观测站织梦2隐藏任务$HIDDEN - [CHS] - 打黑烟2$HIDDEN
7311607:[CHS] - (test)死域观测站织梦2隐藏任务$HIDDEN - [CHS] - 增加任务进度$HIDDEN
7311608:[CHS] - (test)死域观测站织梦2隐藏任务$HIDDEN - [N/A] 130827548
7311801:[CHS] - (test)兰纳罗交付02$HIDDEN - [CHS] - (test)判定进圈$HIDDEN
7311802:[CHS] - (test)兰纳罗交付02$HIDDEN - [CHS] - (test)村长前置$HIDDEN
@@ -16161,8 +16161,8 @@
7320602:Подаренная роза: Могут ли зацвести камни? - Полить цветы
7320603:Подаренная роза: Могут ли зацвести камни? - Поговорите с Аффаном
7320604:Подаренная роза: Могут ли зацвести камни? - [CHS] - (test)向赛芭寻求帮助$HIDDEN
7320605:Подаренная роза: Могут ли зацвести камни? - [EN] - Water the flowers
7320606:Подаренная роза: Могут ли зацвести камни? - [EN] - Water the flowers
7320605:Подаренная роза: Могут ли зацвести камни? - [CHS] - test给花种浇水
7320606:Подаренная роза: Могут ли зацвести камни? - [CHS] - test给花种浇水
7320607:Подаренная роза: Могут ли зацвести камни? - [CHS] - (test)73206与阿凡闲聊$HIDDEN
7320608:Подаренная роза: Могут ли зацвести камни? - [CHS] - (test)73205与阿凡闲聊$HIDDEN
7320609:Подаренная роза: Могут ли зацвести камни? - [CHS] - (test)计时$HIDDEN
@@ -16189,8 +16189,8 @@
7320902:Подаренная роза: Забвению не бывать - Пробудите золотую розу с помощью Дендро
7320903:Подаренная роза: Забвению не бывать - Пробудите золотую розу с помощью Дендро
7320904:Подаренная роза: Забвению не бывать - [CHS] - (test)对话中开花$HIDDEN
7320905:Подаренная роза: Забвению не бывать - [EN] - Use the power of Dendro to "awaken" the Golden Rose
7320906:Подаренная роза: Забвению не бывать - [EN] - Use the power of Dendro to "awaken" the Golden Rose
7320905:Подаренная роза: Забвению не бывать - [CHS] - test苗圃变化$HIDDEN
7320906:Подаренная роза: Забвению не бывать - [CHS] - test用草元素的力量「唤醒」金蔷薇
7320907:Подаренная роза: Забвению не бывать - [CHS] - (test)计时$HIDDEN
7320908:Подаренная роза: Забвению не бывать - [CHS] - (test)73207后闲置对话$HIDDEN
7321001:[CHS] - (test)*隐藏*探索魔鳞医院$HIDDEN - [CHS] - (test)*隐藏*探索魔鳞医院$HIDDEN
@@ -17951,4 +17951,4 @@
7903708:[CHS] - test)隐藏任务控制莫娜地城传送$UNRELEASED$HIDDEN - [CHS] - test)回到20134$UNRELEASED$HIDDEN
7903801:[N/A] 2825156287 - [N/A] 153137900
7904001:[N/A] 4111312767 - [N/A] 203113820
9000101:Тест редактора заданий - [EN] - Connection success?
9000101:Тест редактора заданий - [CHS] - 接入成功?$UNRELEASED$HIDDEN

View File

@@ -1,4 +1,4 @@
1:BigWorld_LevelStreaming
1:BigWorld_LevelStreaming
2:BigWorld_LevelStreaming
3:Тейват
4:Архипелаг Золотого Яблока (1.6)
@@ -6,6 +6,7 @@
6:Разлом: Подземные шахты
7:Подношение врат трёх миров
9:Архипелаг Золотого Яблока (2.8)
10:Penumbra_LevelStreaming
1001:ClimbTest1
1002:ClimbTest2
1003:TheBigWorld
@@ -58,7 +59,11 @@
1077:IndoorScene_Xm_Chunzhangjia
1078:IndoorScene_Xm_Zls
1079:IndoorScene_Xm_Alhouse
1080:IndoorScene_Fd_ShuiXian
1082:IndoorScene_Ly_Baizhu
1083:IndoorScene_Fd_Yht
1084:IndoorScene_Fd_Hotel
1085:IndoorScene_Fd_Gjy
2001:Homeworld_Exterior_Above
2002:Homeworld_Exterior_Karst
2003:Homeworld_Exterior_Uncharted
@@ -180,7 +185,10 @@
20180:BigWorld_LevelStreaming
20181:Level_HangMystification
20182:Level_Ly_Baizhu_01
20183:Level_Penumbra_CircusTent
20185:Level_WeekDungeon_Apep
20186:Level_Fontaine_Gear
20187:Level_Dungeon_Fd_LinNi
30001:LevelTest_CurseMaze
30100:Level_Tower_Morning_01
30101:Level_Tower_Morning_01
@@ -355,6 +363,12 @@
33752:Level_Tower_Universe_01
33753:Level_Tower_Moon_01
33754:Level_Tower_Universe_01
33755:Level_Tower_Moon_01
33756:Level_Tower_Universe_01
33757:Level_Tower_Moon_01
33758:Level_Tower_Moon_01
33759:Level_Tower_Moon_01
33760:Level_Tower_Universe_01
34100:Level_Tower_Morning_01
34101:Level_Tower_01_Water
34102:Level_Tower_01_Open
@@ -418,6 +432,12 @@
34752:Level_Tower_Universe_01
34753:Level_Tower_Moon_01
34754:Level_Tower_Universe_01
34755:Level_Tower_Moon_01
34756:Level_Tower_Universe_01
34757:Level_Tower_Moon_01
34758:Level_Tower_Moon_01
34759:Level_Tower_Moon_01
34760:Level_Tower_Universe_01
35100:Level_Tower_Morning_01
35101:Level_Tower_Morning_01
35102:Level_Tower_Morning_01
@@ -481,6 +501,12 @@
35752:Level_Tower_Universe_01
35753:Level_Tower_Moon_01
35754:Level_Tower_Universe_01
35755:Level_Tower_Moon_01
35756:Level_Tower_Universe_01
35757:Level_Tower_Moon_01
35758:Level_Tower_Moon_01
35759:Level_Tower_Moon_01
35760:Level_Tower_Universe_01
35800:Level_CycleDungeon_WindFlower
35801:Level_ContestBattle01
35802:Level_ContestBattle01
@@ -569,6 +595,15 @@
35911:Level_SmrDungeon_Challenge
35912:Level_SmrDungeon_Challenge
35913:Level_SmrDungeon_Challenge
35914:Level_Activity_Circus
35915:Level_Activity_Circus
35916:Level_Activity_Circus
35917:Level_Activity_Circus
35918:Level_SmrDungeon_Challenge
35919:Level_SmrDungeon_Challenge
35920:Level_SmrDungeon_Challenge
35921:Level_SmrDungeon_Challenge
35922:Level_SmrDungeon_Challenge
40001:Level_UCDungeon02
40002:Level_UCDungeon01
40003:Level_UCDungeon01
@@ -726,6 +761,18 @@
40755:Level_Cycle01_XM02
40756:Level_Cycle01_XM02
40757:Level_Cycle01_XM02
40760:Level_Cycle_Fontaine01
40761:Level_Cycle_Fontaine01
40762:Level_Cycle_Fontaine01
40763:Level_Cycle_Fontaine01
40770:Level_Cycle_Fontaine02
40771:Level_Cycle_Fontaine02
40772:Level_Cycle_Fontaine02
40773:Level_Cycle_Fontaine02
40780:Level_Cycle_Fontaine03
40781:Level_Cycle_Fontaine03
40782:Level_Cycle_Fontaine03
40783:Level_Cycle_Fontaine03
40800:Level_CycleDungeon02_ThunderCave_Dq
40801:Level_CycleDungeon02_ThunderCave_Dq
40802:Level_CycleDungeon02_ThunderCave_Dq
@@ -813,6 +860,13 @@
41066:Level_Tower_01_Open
41067:Level_Tower_01_Open
41068:Level_Tower_01_Open
41069:Level_Tower_01_Open
41070:Level_Tower_01_Open
41071:Level_Tower_01_Open
41072:Level_Tower_01_Open
41073:Level_Tower_01_Open
41074:Level_Tower_01_Open
41075:Level_Tower_01_Open
42001:Level_PFDungeon02_Active01
42002:Level_PFDungeon02_Active02
42003:Level_PFDungeon02_Active07
@@ -950,6 +1004,7 @@
47605:Level_XM_BigLeaf
47606:Level_OnmyoCombat_01
47607:Level_CloudCombat_01
47608:Level_Carnival02
50002:TestLevel_Cold_LYX
50003:TestLevel_Battle_CLX
50004:Level_PowerCharge_Test
@@ -1042,6 +1097,9 @@
50097:Level_Tower_Moon_01
50098:Level_Tower_Moon_01
50099:Level_Tower_Moon_01
50100:FdWaterTest
50101:FdWaterTest02
50102:FdWaterFlowTest
51000:Level_Tower_Moon_01
51001:Level_Tower_Moon_01
51002:Level_Tower_Moon_01
@@ -1058,14 +1116,20 @@
51013:Level_Xm_Alhaitham_01
51014:Level_Cycle01_XM04
51015:Level_TestLevel_Pacman_Sll
51016:TestLevel_FD_4.6_YYL
51017:Level_Cycle01_XM04
51018:TestLevel_Dehya_GJH
51019:TestLevel_WhiteBox_Xm_05
51020:TestLevel_3.7UGC_GJH
51021:Level_CustomLevel_A_05
51022:Level_CustomLevel_A_05
51023:TestLevel_WhiteBox_Fd_01
51024:TestLevel_WhiteBox_3.7UGC
51026:TestLevel_WhiteBox_UGC_TowerDefence
51027:TestLevel_WhiteBox_UGC_Survival
51028:TestLevel_WhiteBox_UGC_CampEnhancer
79999:GcgCardTest
51031:Level_SmrDungeon_Challenge
51032:TestLevel_Whitebox_MQL
51037:Level_Tower_Moon_01
51038:Level_Tower_Moon_01
79999:GcgCardTest

View File

@@ -1,4 +1,4 @@
11101:Тупой меч
11101:Тупой меч
11201:Серебряный меч
11301:Холодное лезвие
11302:Предвестник зари
@@ -27,6 +27,9 @@
11420:Легендарный клинок Иссин
11421:Легендарный клинок Иссин
11422:Токабо сигурэ
11424:Волчий клык
11425:Грандиозный финал глубин
11426:Перевозчик Флёв Сандр
11501:Меч Сокола
11502:Небесный меч
11503:Клятва свободы
@@ -61,6 +64,8 @@
12416:Акуомару
12417:Регалия леса
12418:Цветок в латах
12424:Говорящая палица
12425:Тень волны
12501:Небесное величие
12502:Волчья погибель
12503:Песнь разбитых сосен
@@ -87,6 +92,8 @@
13416:Режущий волны плавник
13417:Пронзающий луну
13419:Копьё послания ветров
13424:Баллада фьордов
13425:Справедливая награда
13501:Посох Хомы
13502:Небесная ось
13504:Покоритель вихря
@@ -118,10 +125,11 @@
14415:Око клятвы
14416:Скитающаяся звезда
14417:Плод восполнения
14424:Жертвенный нефрит
14425:Сверкание чистых вод
14501:Небесный атлас
14502:Молитва святым ветрам
14504:Память о пыли
14505:Великолепие лазурного свода
14506:Вечное лунное сияние
14509:Истина кагура
14511:Сновидения тысячи ночей
@@ -153,10 +161,13 @@
15417:Приближённый короля
15418:Иссушитель
15419:Клюв ибиса
15424:Наследник слепящего солнца
15425:Мелодия покоя
15501:Небесное крыло
15502:Лук Амоса
15503:Элегия погибели
15507:Полярная звезда
15508:Аква симулякрум
15509:Громовой пульс
15511:Охотничья тропа
15511:Охотничья тропа
15512:Первый великий фокус

View File

@@ -89,7 +89,6 @@
80089:踏鞴物语 - 解除「御影炉心」的危机。
80090:遗怨的回音 - 完成了「远吕羽氏遗事」系列任务。
80091:妖鬼狂言百物语 - 集齐全套《鹮巷物语》。
80092:布武雷国 - 稻妻的声望等级达到10级。
80093:循雷的冒险家·其一 - 在稻妻区域的鸣神岛、神无冢与八酝岛完成6个大世界机关限时挑战。
80094:循雷的冒险家·其一 - 在稻妻区域的鸣神岛、神无冢与八酝岛完成12个大世界机关限时挑战。
80095:循雷的冒险家·其一 - 在稻妻区域的鸣神岛、神无冢与八酝岛完成24个大世界机关限时挑战。
@@ -103,11 +102,11 @@
80105:循雷的寻宝者·其二 - 在稻妻的海祇岛与清籁岛开启40个宝箱。
80106:循雷的寻宝者·其二 - 在稻妻的海祇岛与清籁岛开启80个宝箱。
80107:循雷的寻宝者·其二 - 在稻妻的海祇岛与清籁岛开启160个宝箱。
80108:清籁逐雷记 - 完成「清籁逐雷记」。
80109:一样的月光 - 完成「月浴之渊」。
80110:循雷的冒险家·其二 - 在海祇岛与清籁岛完成6个大世界机关限时挑战。
80111:循雷的冒险家·其二 - 在海祇岛与清籁岛完成12个大世界机关限时挑战。
80112:循雷的冒险家·其二 - 在海祇岛与清籁岛完成24个大世界机关限时挑战。
80108:清籁逐雷记 - 完成「清籁逐雷记」。
80109:一样的月光 - 完成「月浴之渊」。
80113:大地勘探·鹤观 - 点亮鹤观的地图。
80114:雾海尽头 - 解锁鹤观所有的传送锚点。
80115:圣龛巡礼·鹤观 - 解锁鹤观所有地灵龛的封印。
@@ -214,7 +213,6 @@
80224:大地勘探·沙海热梦·其二 - 点亮须弥区域中,千壑沙地的地图。
80225:越过沙暴与蜃气楼·其二 - 解锁须弥区域中,千壑沙地所有传送锚点。
80226:圣龛巡礼·沙海热梦·其二 - 解除须弥区域中,千壑沙地所有地灵龛的封印。
80227:比勒琪丝的哀歌 - 完成「比勒琪丝的哀歌」。
80228:大漠引路人·其二 - 在千壑沙地追随{param0}个仙灵,并点亮仙灵之庭。
80229:大漠引路人·其二 - 在千壑沙地追随{param0}个仙灵,并点亮仙灵之庭。
80230:大漠引路人·其二 - 在千壑沙地追随{param0}个仙灵,并点亮仙灵之庭。
@@ -224,6 +222,7 @@
80234:流沙的冒险家·其二 - 在千壑沙地完成{param0}个大世界机关限时挑战。
80235:流沙的冒险家·其二 - 在千壑沙地完成{param0}个大世界机关限时挑战。
80236:流沙的冒险家·其二 - 在千壑沙地完成{param0}个大世界机关限时挑战。
80227:比勒琪丝的哀歌 - 完成「比勒琪丝的哀歌」。
80237:大地勘探·佑灵砾漠 - 点亮须弥区域中,荒石苍漠、浮罗囿的地图。
80238:穷碧落而下墟渊 - 解锁须弥区域中,荒石苍漠、浮罗囿的所有传送锚点。
80239:圣龛巡礼·佑灵砾漠 - 解除须弥区域中,荒石苍漠、浮罗囿所有地灵龛的封印。
@@ -236,8 +235,28 @@
80246:荒场的冒险家 - 在荒石苍漠、浮罗囿完成{param0}个大世界限时挑战。
80247:荒场的冒险家 - 在荒石苍漠、浮罗囿完成{param0}个大世界限时挑战。
80248:荒场的冒险家 - 在荒石苍漠、浮罗囿完成{param0}个大世界限时挑战。
80249:善恶的赫瓦雷纳 - 完成「善恶的赫瓦雷纳」。
80250:朱英甘露 - 将甘露池等级供奉至满级。
80249:善恶的赫瓦雷纳 - 完成「善恶的赫瓦雷纳」。
80252:大地勘探·百泉谐律之地·其一 - 点亮枫丹区域中,枫丹廷区、白露区、苍晶区的地图。
80253:行汲众水的泉源·其一 - 解锁枫丹区域中,枫丹廷区、白露区、苍晶区所有传送锚点。
80254:圣龛巡礼·百泉谐律之地·其一 - 解除枫丹区域中,枫丹廷区、白露区、苍晶区所有地灵龛的封印。
80255:如水澄湛 - 将枫丹的七天神像供奉至满级。
80256:露景的清歌 - 将枫丹廷区的露景泉等级提升至满级。
80257:汐海引路人·其一 - 在枫丹廷区、白露区、苍晶区追随{param0}个仙灵,并点亮仙灵之庭。
80258:汐海引路人·其一 - 在枫丹廷区、白露区、苍晶区追随{param0}个仙灵,并点亮仙灵之庭。
80259:汐海引路人·其一 - 在枫丹廷区、白露区、苍晶区追随{param0}个仙灵,并点亮仙灵之庭。
80260:沧浪的寻宝者·其一 - 在枫丹廷区、白露区、苍晶区开启{param0}个宝箱。
80261:沧浪的寻宝者·其一 - 在枫丹廷区、白露区、苍晶区开启{param0}个宝箱。
80262:沧浪的寻宝者·其一 - 在枫丹廷区、白露区、苍晶区开启{param0}个宝箱。
80263:沧浪的冒险家·其一 - 在枫丹廷区、白露区、苍晶区完成{param0}个大世界限时挑战。
80264:沧浪的冒险家·其一 - 在枫丹廷区、白露区、苍晶区完成{param0}个大世界限时挑战。
80265:沧浪的冒险家·其一 - 在枫丹廷区、白露区、苍晶区完成{param0}个大世界限时挑战。
80266:不可思议之国的安 - 完成了水仙十字冒险团的故事。
80267:画、梦境和机器狗 - 知晓了厄里那斯中心的秘密。
80268:美泉之地 - 掌握「水」的元素力。
80269:欺诈师列那 - 集齐全套《枫丹动物寓言集》。
80270:怪盗与名侦探 - 集齐全套《怪盗与名侦探:虹彩胸针之谜》。
80271:不幸的总集 - 集齐全套《雷穆利亚衰亡史》。
81000:俯瞰风景 - 抵达庆云顶的制高点。
81001:烈风的遗骨 - 登上风龙废墟的高塔顶端。
81002:「风带来了故事的种子…」 - 到达蒙德东北方的无名小岛。
@@ -257,6 +276,7 @@
81023:朋友遍天下 - 在冒险中,与各种各样的人相识。
81024:威遍风土 - 蒙德的声望等级达到8级。
81025:名震云来 - 璃月的声望等级达到8级。
80092:布武雷国 - 稻妻的声望等级达到10级。
81026:QUEST CLEAR - 完成10次「讨伐悬赏」。
81027:QUEST CLEAR - 完成20次「讨伐悬赏」。
81028:QUEST CLEAR - 完成30次「讨伐悬赏」。
@@ -538,6 +558,7 @@
81327:奇景之旅 - 完成「画家漂流记」。
81328:「谜题全都解开了!」 - 完成「碑铭的研究」。
81329:百灵归巢 - 完成「微暗之火」。
81339:丰饶之海 - 花海中的所有花池都恢复了生机。
81331:勇者不会逃避 - 通过贾尔贾设下的全部试炼。
81332:闪光的道路 - 完成所有「灵宝铎」的挑战。
81333:历七盘而蹝蹑 - 完成所有「奇鼓跳跳菇」的挑战。
@@ -546,7 +567,39 @@
81336:在萨雷-奥杰卡的天空翱翔 - 使斯露莎维持飞行一段时间。
81337:你是谁的子孙,叫什么名字? - 第一次使用斯露莎引导灵光之力。
81338:要用原力,斯露莎 - 使用斯露莎投掷「苦离果」,融化{param0}个甘露凝结的晶石。
81339:丰饶之海 - 花海中的所有花池都恢复了生机
81340:抹消角度的人 - 借助结晶体的力量,压制兽境裂隙
81341:炉心冷却 - 让翻腾的湖面重归平静。
81342:白船 - 「她在梦海之上遨游…」
81344:自然哲学百科全书 - 靠一面玻璃幕墙和一本无法解读的书发现了过去的结社集会所。
81345:枫丹式的消息 - 和维吉尔友好地聊了聊。
81346:不过是条猎犬… - 帮助玛梅赫修好了西摩尔。
81347:是鱼肉,我加了鱼肉 - 与美露莘们一起品尝了奇妙的「生日蛋糕」。
81348:欢迎来到枫丹 - 完成一次巡轨船的航行。
81349:飞行的梦想 - 完成一次「安东·罗杰飞行器」的航程。
81350:现代钟表的诞生 - 帮助芙佳找到矿石的「用处」。
81351:未来水世界 - 见到「水面」之下的「水体」。
81352:丑的美学 - 枫丹朝美的方向前进了两步。
81353:就像雨中的泪水 - 揪出隐藏在猎刀鳐中的伪装者。
81355:这是我喜爱的事物中… - …小小的一部分。
81356:还施彼身 - 解决很烦人的子弹藤壶!
81357:你是否相信极乐城? - 帮助缔造膨膨兽的乐园。
81358:历经艰险… - 「…为了取得击败魔王的圣剑,骑士闯入了魔法封印的古城…」
81359:从此以后… - 「…骑士战胜了魔王,救出了被囚禁的公主。王国终于恢复了光明…」
81360:黑字的研究 - 发现了自然哲学学院研究的…比较特别的对象。
81361:两万里格的漫游 - 随波逐流…
81362:真是让人垂涎欲滴 - 帮助恩里改变命运。
81363:旧日之歌 - 聆听来自悠远年代的伟大乐章。
81364:「湖畔的尼尼安涅」 - 战胜地方传奇·湖畔的尼尼安涅。
81365:「湖畔的维维安涅」 - 战胜地方传奇·湖畔的维维安涅。
81366:恪尽其责的企盼 - 物归原主…
81367:追忆泉华的时光 - 枫丹的声望等级达到10级。
81368:圆滚滚的创化论 - 陪伴幼小的膨膨兽健康长大。
81369:「海原巡回法官」 - 战胜地方传奇·海原巡回法官。
81370:「铁皮子爵」 - 战胜地方传奇·铁皮子爵。
81371:「隐者王·多尔库」 - 战胜地方传奇·隐者王·多尔库。
81372:「渐渐隐去的老兵」 - 战胜地方传奇「渐渐隐去的老兵」。
81373:「深谷之剑」 - 战胜地方传奇·深谷之剑。
81374:「双生妖精骑士」 - 战胜地方传奇·双生妖精骑士。
82001:「无他,惟手熟尔」 - 用弓箭射中在空中飞行的鹰。
82002:百步穿杨 - 在远距离,通过瞄准射击击中敌人要害。
82003:魔弹射手 - 在超远距离,通过瞄准射击击中敌人要害。
@@ -642,6 +695,7 @@
82096:飞越水疗馆 - 不被「水牢」攻击命中的情况下,击败藏镜仕女。
82097:完全静默 - 在无相之火只进入一次熄灭状态的情况下,击败无相之火。
82098:鸣神岛作战 - 击败处于虚弱状态下的恒常机关阵列。
82109:画龙点睛 - 在战斗中不曾获取过护盾的情况下,击败若陀龙王。
82099:只要我跑的够快 - 不被幻影击中的情况下,击败魔偶剑鬼。
82100:堂堂正正的决斗! - 不触发「枉死之面」的格挡的情况下,击败魔偶剑鬼。
82101:…全靠我们自己 - 不触发「原岩喷吐」的反噬的情况下,击败古岩龙蜥。
@@ -652,7 +706,6 @@
82106:遇火斩火 - 在海乱鬼·炎威的武器附有烈焰的情况下,击败海乱鬼·炎威。
82107:遇雷切雷 - 在海乱鬼·雷腾的武器附有电流的情况下,击败海乱鬼·雷腾。
82108:雷自东来 - 被雷斧丘丘暴徒引来的落雷击中…
82109:画龙点睛 - 在战斗中不曾获取过护盾的情况下,击败若陀龙王。
82110:A Kill without Water - 不击败任何「水滴」的情况下(无相之水恢复时除外),击败无相之水。
82111:海洋生物学者,欧拉! - 被无相之水幻化的某种生物击中…
82112:无法传达的恋波 - 不曾被探针的侦测锁定的情况下,击败雷音权现。
@@ -710,6 +763,12 @@
82167:穷举法则 - 击败所有元素能力组合的深罪浸礼者。
82168:此时无声胜有声 - 在深罪浸礼者进行初始之吟唱时,通过摧毁其所有的元素之环,使之瘫痪。
82169:像太阳一般通过 - 在阿佩普的绿洲守望者的挑战中,在没有角色承受末日的余波攻击的情况下,将其击败。
82175:二河白道之卷 - 惜败于与传奇猎刀鳐的决斗中…
82176:单元格碎片 - 通过荒性或芒性的攻击,中断隙境原体的应激状态。
82177:热腾腾! - 不断尝试冰冻浊水幻灵…
82178:送葬的风暴 - 通过芒性的攻击,削弱歌裴莉娅演出高潮时的旋风。
82179:吾王崩御,吾王万岁! - 中断铁甲熔火帝皇的「烈焰加冕」。
82180:坚冰的赌咒 - 通过荒性的攻击,移除科培琉司演出高潮时的护罩。
84000:漫长旅途的开端 - 完成蒙德的魔神任务。
84001:捕风的异乡人 - 完成「捕风的异乡人」。
84002:为了没有眼泪的明天 - 完成「为了没有眼泪的明天」。
@@ -736,8 +795,6 @@
84023:终有一别 - 参与「送仙典仪」。
84024:迫近的客星 - 完成「迫近的客星」。
84025:命运初动 - 完成任务「拾枝者·戴因斯雷布」。
84026:美妙旅程:序 - 完成「美妙旅程」,解锁全部结局。
84028:慧眼识妖! - 正确鉴定所有情报。
84029:贼寇、狂人与漆黑之谜 - 确认大盗宝家的异状。
84030:命运交叉的废都 - 逃离诡异的遗迹。
84031:将诸神的力量付之一笑 - 得知「命运的织机」正在进行中…
@@ -763,8 +820,6 @@
84051:「他们」的愿望… - 回应「千手百眼神像」中所有的愿望。
84052:千手百眼,天下人间 - 完成「千手百眼,天下人间」。
84053:「诸事平安」 - 与王平安一起重修铜雀的庙宇。
84054:安娜冒险记 - 帮助安娜成为一名冒险家。
84055:远大前程 - 一位少年即将启程远行…
84056:群玉临空 - 完成群玉阁重建工作。
84057:沧海生威 - 击退「漩涡的余威」跋掣。
84058:前尘一梦 - 见证村庄历史中的真相。
@@ -805,55 +860,14 @@
84093:尚未致死的疾病 - 制作带来希望的「药物」。
84094:「命运」的彼岸 - 见证「罪人」赐予的「奇迹」。
84095:卡利贝尔 - 完成「卡利贝尔」。
84100:霹雳闪雷真君 - 见证班尼特足以影响天气的厄运
84101:运气即实力! - 在不失误的情况下解开机关,取得宝藏
84102:能跨越的边界线 - 完成「治愈的清泉」,解锁全部结局
84103:完美而坚强的女仆 - 完成「骑士修行之道」,解锁全部结局
84104:诸邪退散 - 完成「寻妖觅邪记」,解锁全部结局
84105:蒙德城的麻辣传说 - 品尝芭芭拉的辣味饮料
84106:「…因为羁绊。」 - 帮助诺艾尔找到自己强大的原因
84107:辣椒英雄 - 制作错误的冰棍,引发重云「纯阳之体」的剧烈反应
84108:偶像的可靠防线 - 成功劝走艾伯特和其他芭芭拉的粉丝。
84109:只有玫瑰知道的世界 - 阅读诺艾尔的学习笔记。
84110:消除焦虑的最好办法 - 完成「骑士备考之道」,解锁全部结局。
84111:女仆骑士不会受伤 - 与诺艾尔一起听过《异国骑士璃月行记》。
84112:蒙德做题王 - 阅读诺艾尔的学习笔记。
84113:迪奥娜特调,搅拌,不要摇 - 完成「猫与特调酒」,解锁全部结局。
84114:但是,代价是… - 帮助迪奥娜找到特制基底饮品。
84115:猫咪殿下 - 将所有猫咪带回「猫尾酒馆」。
84116:皆大欢喜 - 完成「家政官的日常工作」,解锁全部结局。
84117:家政高手 - 在规定时间内完成大扫除。
84118:沧海不归客 - 与托马一起见证犬少将的故事
84119:「高」人一等 - 完成「呜呼流·生长之术」,解锁全部结局。
84120:貉级忍者 - 在敏捷度训练中获得早柚的最高评价。
84121:料理效果:移动速度降低 - 没能劝阻早柚的暴饮暴食…
84122:南十字荣誉船员 - 完成「南十字闪耀时」,解锁全部结局。
84123:洒下甘露三千担 - 与北斗共同参加了轻策庄的宴会。
84124:孤云阁买家俱乐部 - 询问了北斗真正交易的内容。
84125:海祇大将 - 完成「犬大将的特别行动」,解锁全部结局。
84126:运势无常 - 在神社抽到过所有的运势签。
84127:说还是不说,这是个问题。 - 在八重堂察觉了希娜小姐的真实身份。
84128:天权伴星 - 完成「玉阁归客至」,解锁全部结局。
84129:有备才能无患 - 鱼肉,当然是越多越好。
84130:过当防卫 - 一石激起千层浪,凝光的假期看来无福消受了。
84131:曲终人未散 - 完成「弦歌知雅意」,解锁全部结局。
84132:愿此刻永恒 - 与云堇合影留念。
84133:严师出高徒 - 在不击中任何「蓝色稻草人」的情况下完成演练。
84134:荒泷派首席顾问 - 完成「帮派的日常事务」,解锁全部结局。
84135:再看一眼! - 一睹久岐忍身着巫女服的风采。
84136:「楼上的区域…」 - 在惊动九条裟罗和久岐忍之前被劝阻。
84137:你以为是本格吧? - 完成「风暴捕物帐」,解锁全部结局。
84138:吾乃完美真探! - 分析动机和犯罪事实一次成功。
84139:珊瑚宫的祈祷 - 询问了五郎,心海是否知道海祇岛的事。
84140:最优解 - 完成「难解之结」,解锁全部结局。
84141:致一百年后的你 - 阅读所有寄给珐露珊的信件。
84142:机关术:从入门到…? - 猜对解开七层「堆栈塔」所需的最少步数。
84143:其名为「莱依拉」 - 完成「星本无言」,解锁全部结局。
84144:她已经很紧张了 - 在帮助莱依拉完成论文的过程中,没有引起她进一步的焦虑。
84145:仙灵与星空之秘 - 得到「知慧仙灵」真正的回信。
84146:艺术与生活 - 完成「苦与幸的钟摆」,解锁全部结局。
84147:学生时代 - 在智慧宫翻阅留有笔记的书。
84148:建筑设计师的浪漫 - 与卡维在沙漠净土中畅聊未来。
84096:就像水消失在水中 - 知晓在枫丹流传的「预言」
84097:行动派侦探出击 - 作为林尼的「代理人」调查事件的真相
84098:逆转的大魔术 - 「谕示裁定枢机」已作出无罪判决
84099:白露与黑潮的序诗 - 完成「白露与黑潮的序诗」
84300:我愿是急流 - 听见「纯水精灵」的呼唤并与其意识连接
84301:灰河往事 - 在刺玫会的据点下榻并了解到娜维娅父亲的事
84302:悲剧的复写 - 使「少女连环失踪案」真相大白
84303:仿若无因飘落的轻雨 - 完成「仿若无因飘落的轻雨」
84501:…Odomu - 在「语言交流」中与丘丘人交流成功。
84502:Yo dala - 在「诗歌交流」中与丘丘人交流成功。
84503:追求极致 - 在「说到做到!」中完美完成查耶维奇的所有委托。
@@ -894,6 +908,8 @@
84540:猜猜我是谁? - 获知「枕玉」老师的真实身份。
84541:至少有了个结局 - 听顺吉讲述完他所构思的故事。
84542:她和她的猫 - 陪寝子前往影向山,寻找「阿响」的痕迹。
84054:安娜冒险记 - 帮助安娜成为一名冒险家。
84055:远大前程 - 一位少年即将启程远行…
84543:啊哈…什么上钩了? - 与凯万一起钓起奇怪的东西…
84544:卡里米之蕈兽 - 见证哈特姆在「期货交易」大赚一笔!
84545:当财运来敲门 - 将苹果酿带给哈特姆。
@@ -917,6 +933,11 @@
84563:手有余香 - 见证内尔敏的故事。
84564:四方求剑 - 见证岚姐与「藏锋」的故事。
84565:行万里路…? - 见证孙宇的故事。
84566:大街上的办公室 - 见证枫丹廷内的些许琐事。
84567:优选风味 - 调制出一杯特别的咖啡。
84568:审美力批判 - 聆听德皮耶里的「美学」理论。
84569:在童年 - 和孩子们一同玩耍,并且见证他们的故事。
84570:一场风波 - 见证艾尤恩的工作故事。
85000:除了时间,什么也没丢 - 解开两座日晷的秘密。
85001:与一位往昔神灵的谈话 - 了解一位往昔神灵的故事。
85002:卧龙藏螭 - 了解关于「螭」的故事。
@@ -924,6 +945,60 @@
85004:渌华池之影 - 帮助梵米尔取到他想要的景致。
85005:零号玩家 - 陪小姜玩一场简单的游戏。
85006:盘木森森,荫蔽家庭 - 见证元鸿一家的故事。
84026:美妙旅程:序 - 完成「美妙旅程」,解锁全部结局。
84100:霹雳闪雷真君 - 见证班尼特足以影响天气的厄运。
84101:运气即实力! - 在不失误的情况下解开机关,取得宝藏。
84104:诸邪退散 - 完成「寻妖觅邪记」,解锁全部结局。
84028:慧眼识妖! - 正确鉴定所有情报。
84107:辣椒英雄 - 制作错误的冰棍,引发重云「纯阳之体」的剧烈反应。
84102:能跨越的边界线 - 完成「治愈的清泉」,解锁全部结局。
84108:偶像的可靠防线 - 成功劝走艾伯特和其他芭芭拉的粉丝。
84105:蒙德城的麻辣传说 - 品尝芭芭拉的辣味饮料。
84103:完美而坚强的女仆 - 完成「骑士修行之道」,解锁全部结局。
84106:「…因为羁绊。」 - 帮助诺艾尔找到自己强大的原因。
84109:只有玫瑰知道的世界 - 阅读诺艾尔的学习笔记。
84110:消除焦虑的最好办法 - 完成「骑士备考之道」,解锁全部结局。
84111:女仆骑士不会受伤 - 与诺艾尔一起听过《异国骑士璃月行记》。
84112:蒙德做题王 - 阅读诺艾尔的学习笔记。
84113:迪奥娜特调,搅拌,不要摇 - 完成「猫与特调酒」,解锁全部结局。
84114:但是,代价是… - 帮助迪奥娜找到特制基底饮品。
84115:猫咪殿下 - 将所有猫咪带回「猫尾酒馆」。
84116:皆大欢喜 - 完成「家政官的日常工作」,解锁全部结局。
84117:家政高手 - 在规定时间内完成大扫除。
84118:沧海不归客 - 与托马一起见证犬少将的故事
84119:「高」人一等 - 完成「呜呼流·生长之术」,解锁全部结局。
84120:貉级忍者 - 在敏捷度训练中获得早柚的最高评价。
84121:料理效果:移动速度降低 - 没能劝阻早柚的暴饮暴食…
84122:南十字荣誉船员 - 完成「南十字闪耀时」,解锁全部结局。
84123:洒下甘露三千担 - 与北斗共同参加了轻策庄的宴会。
84124:孤云阁买家俱乐部 - 询问了北斗真正交易的内容。
84125:海祇大将 - 完成「犬大将的特别行动」,解锁全部结局。
84126:运势无常 - 在神社抽到过所有的运势签。
84127:说还是不说,这是个问题。 - 在八重堂察觉了希娜小姐的真实身份。
84128:天权伴星 - 完成「玉阁归客至」,解锁全部结局。
84129:有备才能无患 - 鱼肉,当然是越多越好。
84130:过当防卫 - 一石激起千层浪,凝光的假期看来无福消受了。
84131:曲终人未散 - 完成「弦歌知雅意」,解锁全部结局。
84132:愿此刻永恒 - 与云堇合影留念。
84133:严师出高徒 - 在不击中任何「蓝色稻草人」的情况下完成演练。
84134:荒泷派首席顾问 - 完成「帮派的日常事务」,解锁全部结局。
84135:再看一眼! - 一睹久岐忍身着巫女服的风采。
84136:「楼上的区域…」 - 在惊动九条裟罗和久岐忍之前被劝阻。
84137:你以为是本格吧? - 完成「风暴捕物帐」,解锁全部结局。
84138:吾乃完美真探! - 分析动机和犯罪事实一次成功。
84139:珊瑚宫的祈祷 - 询问了五郎,心海是否知道海祇岛的事。
84140:最优解 - 完成「难解之结」,解锁全部结局。
84141:致一百年后的你 - 阅读所有寄给珐露珊的信件。
84142:机关术:从入门到…? - 猜对解开七层「堆栈塔」所需的最少步数。
84143:其名为「莱依拉」 - 完成「星本无言」,解锁全部结局。
84144:她已经很紧张了 - 在帮助莱依拉完成论文的过程中,没有引起她进一步的焦虑。
84145:仙灵与星空之秘 - 得到「知慧仙灵」真正的回信。
84146:艺术与生活 - 完成「苦与幸的钟摆」,解锁全部结局。
84147:学生时代 - 在智慧宫翻阅留有笔记的书。
84148:建筑设计师的浪漫 - 与卡维在沙漠净土中畅聊未来。
84149:寻欢作乐 - 完成「鬼话与甜酒」,解锁全部结局。
84150:幸运硬币 - 参与凯亚设下的赌局。
84151:嘘…听! - 倾听禁闭室里传来的言语声。
86001:「来坦,来补,来输出」 - 与其他玩家一同完成5次秘境挑战。
86002:「来坦,来补,来输出」 - 与其他玩家一同完成20次秘境挑战。
86003:「来坦,来补,来输出」 - 与其他玩家一同完成100次秘境挑战。
@@ -937,13 +1012,13 @@
86011:「This is fine」 - 与其他玩家一同战胜爆炎树。
86012:一条名叫洛蒂娅的鱼 - 与其他玩家一同战胜纯水精灵。
86013:狼族盟约 - 与其他玩家一同战胜奔狼领的王者。
86021:邪眼的性能不是战力差距的决定因素 - 与其他玩家一同战胜「公子」。
86015:「山动了」 - 与其他玩家一同战胜古岩龙蜥。
86016:往日重现 - 与其他玩家一同战胜若陀龙王。
86017:未来解冻计划 - 与其他玩家一同战胜无相之冰。
86018:一线断时… - 与其他玩家一同战胜魔偶剑鬼。
86019:篝火大作战 - 与其他玩家一同战胜无相之火。
86020:「机关阵列没有永恒」 - 与其他玩家一同战胜恒常机关阵列。
86021:邪眼的性能不是战力差距的决定因素 - 与其他玩家一同战胜「公子」。
86022:心有灵犀一电通 - 与其他玩家一同战胜雷音权现。
86023:基本上都是水 - 与其他玩家一同战胜无相之水。
86024:越过冰霜与烈焰 - 与其他玩家一同战胜「女士」。
@@ -951,4 +1026,13 @@
86026:总有地上的生灵… - 与其他玩家一同战胜雷电将军。
86027:超古代文明遗产 - 与其他玩家一同战胜遗迹巨蛇。
86028:半素食主义 - 与其他玩家一同战胜翠翎恐蕈。
86029:谨防触电 - 与其他玩家一同战胜掣电树。
86029:谨防触电 - 与其他玩家一同战胜掣电树。
86030:永劫回还的终末 - 与其他玩家一同战胜兆载永劫龙兽。
86031:略逊半筹 - 与其他玩家一同战胜半永恒统辖矩阵。
86032:奇境异草 - 与其他玩家一同战胜无相之草。
86033:Dance Like You Want to Win! - 与其他玩家一同战胜「正机之神」。
86034:沙漠之民的成人礼 - 与其他玩家一同战胜风蚀沙虫。
86035:有罪推定 - 与其他玩家一同战胜深罪浸礼者。
86036:苇海霸者之证 - 与其他玩家一同战胜阿佩普的绿洲守望者。
86037:科学的力量真伟大! - 与其他玩家一同完成「冰风组曲」的一项挑战。
86038:一次成功的狩猎 - 与其他玩家一同战胜铁甲熔火帝皇。

Some files were not shown because too many files have changed in this diff Show More