Compare commits

..

27 Commits

Author SHA1 Message Date
6647e5bd37 Add OpenChat Ad 2023-02-18 16:27:22 +08:00
64b7c25de5 Update 3.4 Resources (Item/Monsters/Quest/Scene/Weapon) 2023-02-18 15:00:02 +08:00
7c562228c6 Update version to v1.8.1 2023-02-08 11:50:33 +08:00
91a194c948 Fix /drop command 2023-02-08 11:50:08 +08:00
50a30331e5 Fix /scene command 2023-02-08 11:49:33 +08:00
TomyJan
da47941564 (CHS Only)修改item分类名为中文&修改部分物品id排序&添加新的卡池id&增加两个自定义命令 (#175)
* 优化物品id&增加两个自定义命令

* del duplicate ids

* replenish gacha title/prefab to 3.4

* Update Item.txt
2023-01-31 18:22:26 +08:00
Syca
6e999f92a0 Add some ids(3.4.5) (CHS only) 2023-01-27 15:31:54 +08:00
f4fc0ef3c5 Fix the command is cleared after repeated 2023-01-12 14:22:40 +08:00
Syca
2dc8dc734b Add 3.4beta Dungeon&Scene IDs(CHS only) (#172)
* Add 3.4beta DungeonIDs&SceneIDs(CHS only)

* Fix Scene Names(3.3)(CHS only)

* Update Scene.txt

* Fix Scene Names(3.2)(CHS only)

* Add files via upload
2022-12-26 21:01:55 +08:00
Syca
98663240de Add Some 3.4beta IDs(CHS Only) (#169)
* add 3.4beta weapon

* Add Some 3.4bata items

* Add 3.4beta monsters
2022-12-17 21:49:48 +08:00
ba782c85d4 fix screenshots 2022-12-15 20:55:45 +08:00
dea067b21f Add task page screenshot 2022-12-15 20:43:51 +08:00
d56c73e2a3 Add Test page 2022-12-15 20:32:01 +08:00
5d208d1220 Update SceneIds and MonsterIds 2022-12-15 20:31:29 +08:00
47a3a1c7ab Add 3.3.50 avatar ids (from Sakura616 res)
Update quest text
2022-12-15 20:03:47 +08:00
56059b4f4f Update 3.3 Artifacts and avatar/weapon colors 2022-12-14 20:24:48 +08:00
09577d5403 Update Banners.json Ignore PreviewPrefabPath 2022-12-12 20:26:48 +08:00
fb77f9432a Add CI Badge 2022-12-10 23:56:12 +08:00
0f70405041 Update build.yml 2022-12-10 23:37:22 +08:00
399888f976 Update Task page translates 2022-12-10 18:14:54 +08:00
a8a0a14713 fix connect command issue 2022-12-10 17:57:51 +08:00
59af1e468d Add Task Page (#166) 2022-12-10 17:57:51 +08:00
0d1bad5551 Update version to v1.8.0 2022-12-10 17:57:50 +08:00
7eb2ff1624 Add categories to item page 2022-12-10 17:57:50 +08:00
72351ba60f Update 3.3 Resources (Items/Avatars/Weapons) 2022-12-10 17:57:50 +08:00
7dc2dcc9db Update build.yml 2022-12-08 17:17:15 +08:00
5b4a7d784d Create build.yml 2022-12-08 16:43:30 +08:00
84 changed files with 22090 additions and 21252 deletions

32
.github/workflows/build.yml vendored Normal file
View File

@@ -0,0 +1,32 @@
name: Build project
on:
push:
branches:
- main
paths:
- Source/**
pull_request:
branches:
- main
paths:
- Source/**
jobs:
build:
runs-on: windows-latest
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Setup MSBuild.exe
uses: microsoft/setup-msbuild@v1.1.3
- name: Build release
run: msbuild Source/GrasscutterTools.sln /p:Configuration=Release /t:build /restore
- name: Upload build artifacts
uses: actions/upload-artifact@v3
with:
name: GrasscutterTools
path: Source/GrasscutterTools/bin/Release/GrasscutterTools.exe

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 23 KiB

View File

@@ -3,6 +3,8 @@
[![GitHub license](https://img.shields.io/github/license/jie65535/GrasscutterCommandGenerator)](https://github.com/jie65535/GrasscutterCommandGenerator/blob/main/LICENSE)
[![GitHub stars](https://img.shields.io/github/stars/jie65535/GrasscutterCommandGenerator)](https://github.com/jie65535/GrasscutterCommandGenerator/stargazers)
[![Github All Releases](https://img.shields.io/github/downloads/jie65535/GrasscutterCommandGenerator/total.svg)](https://github.com/jie65535/GrasscutterCommandGenerator/releases)
[![GitHub release](https://img.shields.io/github/v/release/jie65535/GrasscutterCommandGenerator)](https://github.com/jie65535/GrasscutterCommandGenerator/releases/latest)
[![Build](https://github.com/jie65535/GrasscutterCommandGenerator/actions/workflows/build.yml/badge.svg)](https://github.com/jie65535/GrasscutterCommandGenerator/actions/workflows/build.yml)
[![QQ Group](https://pub.idqqimg.com/wpa/images/group.png)](https://qm.qq.com/cgi-bin/qm/qr?k=PdS9--b-n8LEAmYjX8fNFXtKDcsp4NHN&jump_from=webapi&authKey=7ty3ZCKYMKLGWLmO8O84qiNAZ0EuCnSGF+acP+74xuDMKYXXNjuPP7iUzffHz4r2)
English | [简体中文](README_zh-cn.md) | [Русский](README_ru-RU.md)
@@ -16,6 +18,10 @@ 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)**
## Update log
### GrasscutterTools-v1.8
![Task page](Doc/Screenshots-en/18-TaskPage.png)
### GrasscutterTools-v1.7.3
![Gadget](Doc/Screenshots-en/6-SpawnEntity.png)

View File

@@ -3,6 +3,8 @@
[![GitHub лицензия](https://img.shields.io/github/license/jie65535/GrasscutterCommandGenerator)](https://github.com/jie65535/GrasscutterCommandGenerator/blob/main/LICENSE)
[![GitHub звёзды](https://img.shields.io/github/stars/jie65535/GrasscutterCommandGenerator)](https://github.com/jie65535/GrasscutterCommandGenerator/stargazers)
[![Github ВСЕ выпуски](https://img.shields.io/github/downloads/jie65535/GrasscutterCommandGenerator/total.svg)](https://github.com/jie65535/GrasscutterCommandGenerator/releases)
[![GitHub release](https://img.shields.io/github/v/release/jie65535/GrasscutterCommandGenerator)](https://github.com/jie65535/GrasscutterCommandGenerator/releases/latest)
[![Build](https://github.com/jie65535/GrasscutterCommandGenerator/actions/workflows/build.yml/badge.svg)](https://github.com/jie65535/GrasscutterCommandGenerator/actions/workflows/build.yml)
[English](README.md) | [简体中文](README_zh-cn.md) | Русский - Перевод [Юрий Дворецкий](https://github.com/yurikenjx) (с исправлениями от [EgorBron](https://github.com/EgorBron))
@@ -15,6 +17,10 @@ GCG поддерживает 简体中文 (китайский упр.), 繁体
> **Warning**: вид приложения может отличаться от скриншотов. Также в нём могут присутствовать ошибки в переводе и отсутсвие некоторых ресурсов. **Мы приглашаем всех сделать вклад в их [улучшение](/Source/GrasscutterTools/Resources/ru-ru)**
## Лог обновлений
### GrasscutterTools-v1.8
![Task page](Doc/Screenshots-ru/18-TaskPage.png)
### GrasscutterTools-v1.7.3
![Улучшенный спавн](Doc/Screenshots-ru/5-Spawn.png)

View File

@@ -3,6 +3,8 @@
[![GitHub license](https://img.shields.io/github/license/jie65535/GrasscutterCommandGenerator)](https://github.com/jie65535/GrasscutterCommandGenerator/blob/main/LICENSE)
[![GitHub stars](https://img.shields.io/github/stars/jie65535/GrasscutterCommandGenerator)](https://github.com/jie65535/GrasscutterCommandGenerator/stargazers)
[![Github All Releases](https://img.shields.io/github/downloads/jie65535/GrasscutterCommandGenerator/total.svg)](https://github.com/jie65535/GrasscutterCommandGenerator/releases)
[![GitHub release](https://img.shields.io/github/v/release/jie65535/GrasscutterCommandGenerator)](https://github.com/jie65535/GrasscutterCommandGenerator/releases/latest)
[![Build](https://github.com/jie65535/GrasscutterCommandGenerator/actions/workflows/build.yml/badge.svg)](https://github.com/jie65535/GrasscutterCommandGenerator/actions/workflows/build.yml)
[![QQ Group](https://pub.idqqimg.com/wpa/images/group.png)](https://qm.qq.com/cgi-bin/qm/qr?k=PdS9--b-n8LEAmYjX8fNFXtKDcsp4NHN&jump_from=webapi&authKey=7ty3ZCKYMKLGWLmO8O84qiNAZ0EuCnSGF+acP+74xuDMKYXXNjuPP7iUzffHz4r2)
[English](README.md) | 简体中文 | [Русский](README_ru-RU.md)
@@ -17,6 +19,9 @@
## Update log
### GrasscutterTools-v1.8
![Task page](Doc/Screenshots/18-TaskPage.png)
### GrasscutterTools-v1.7.3
![Spawns](Doc/Screenshots/6-SpawnEntity.png)

View File

@@ -49,6 +49,7 @@ namespace GrasscutterTools.Forms
this.TPHome = new System.Windows.Forms.TabPage();
this.TCMain = new System.Windows.Forms.TabControl();
this.TPMail = new System.Windows.Forms.TabPage();
this.TPLoopTasks = new System.Windows.Forms.TabPage();
this.MenuSpawnEntityFilter = new System.Windows.Forms.ContextMenuStrip(this.components);
this.GrpCommand.SuspendLayout();
this.TCMain.SuspendLayout();
@@ -177,6 +178,7 @@ namespace GrasscutterTools.Forms
this.TCMain.Controls.Add(this.TPWeapon);
this.TCMain.Controls.Add(this.TPManage);
this.TCMain.Controls.Add(this.TPMail);
this.TCMain.Controls.Add(this.TPLoopTasks);
this.TCMain.Controls.Add(this.TPQuest);
this.TCMain.Controls.Add(this.TPScene);
this.TCMain.Controls.Add(this.TPAbout);
@@ -189,10 +191,16 @@ namespace GrasscutterTools.Forms
this.TPMail.Name = "TPMail";
this.TPMail.UseVisualStyleBackColor = true;
//
// TPLoopTasks
//
resources.ApplyResources(this.TPLoopTasks, "TPLoopTasks");
this.TPLoopTasks.Name = "TPLoopTasks";
this.TPLoopTasks.UseVisualStyleBackColor = true;
//
// MenuSpawnEntityFilter
//
this.MenuSpawnEntityFilter.Name = "MenuSpawnEntityFilter";
resources.ApplyResources(this.MenuSpawnEntityFilter, "MenuSpawnEntityFilter");
this.MenuSpawnEntityFilter.Name = "MenuSpawnEntityFilter";
//
// FormMain
//
@@ -234,5 +242,6 @@ namespace GrasscutterTools.Forms
private System.Windows.Forms.TabControl TCMain;
private System.Windows.Forms.TabPage TPMail;
private System.Windows.Forms.ContextMenuStrip MenuSpawnEntityFilter;
private System.Windows.Forms.TabPage TPLoopTasks;
}
}

View File

@@ -97,9 +97,11 @@ namespace GrasscutterTools.Forms
TPWeapon.Controls.Add(CreatePage<PageGiveWeapon>());
TPManage.Controls.Add(CreatePage<PageManagement>());
TPMail.Controls.Add(CreatePage<PageMail>());
TPLoopTasks.Controls.Add(CreatePage<PageTasks>());
TPQuest.Controls.Add(CreatePage<PageQuest>());
TPScene.Controls.Add(CreatePage<PageScene>());
TPAbout.Controls.Add(CreatePage<PageAbout>());
//TPAbout.Controls.Add(CreatePage<PageTools>());
TCMain.ResumeLayout();
Logger.I(TAG, "InitPages completed");
}
@@ -206,10 +208,11 @@ namespace GrasscutterTools.Forms
{
Logger.I(TAG, $"SetCommand(\"{command}\")");
var oldCommand = CmbCommand.Text;
CmbCommand.Text = (ModifierKeys == Keys.Shift) ? $"{oldCommand} | {command}" : command;
if (ModifierKeys == Keys.Shift && !string.IsNullOrEmpty(oldCommand))
command = $"{oldCommand} | {command}";
AddCommandToList(command);
if (ChkAutoCopy.Checked)
CopyCommand();
AddCommandToList(command);
if (ModifierKeys == Keys.Control)
{
@@ -229,12 +232,12 @@ namespace GrasscutterTools.Forms
{
if (string.IsNullOrEmpty(command))
command = CmbCommand.Text;
if (!string.IsNullOrEmpty(command))
{
if (CmbCommand.Items.Count > 19)
CmbCommand.Items.RemoveAt(0);
CmbCommand.Items.Add(command);
}
if (string.IsNullOrEmpty(command))
return;
if (CmbCommand.Items.Count > 19)
CmbCommand.Items.RemoveAt(0);
CmbCommand.Items.Add(command);
CmbCommand.SelectedIndex = CmbCommand.Items.Count - 1;
}
/// <summary>

View File

@@ -127,119 +127,21 @@
<data name="ChkAutoCopy.Text" xml:space="preserve">
<value>Auto</value>
</data>
<data name="BtnInvokeOpenCommand.Text" xml:space="preserve">
<value>Run(F5)</value>
</data>
<data name="GrpCommand.Text" xml:space="preserve">
<value>Command - [Ctrl] Autorun - [Shift] Append - [Alt] Only run - [|] Split multiple commands</value>
</data>
<data name="BtnInvokeOpenCommand.Text" xml:space="preserve">
<value>Run(F5)</value>
</data>
<data name="TPRemoteCall.Text" xml:space="preserve">
<value>Remote</value>
</data>
<data name="LblSupportDescription.Size" type="System.Drawing.Size, System.Drawing">
<value>387, 102</value>
</data>
<data name="LblSupportDescription.Text" xml:space="preserve">
<value>Grasscutter Tools
This is a free and open source project.
If you think this is helpful to you, you can give me a free Star.
If there is a problem with the command generation,
or there is a new feature request, you can file an issue on Github.</value>
</data>
<data name="TPAbout.Text" xml:space="preserve">
<value>About</value>
</data>
<data name="TPManage.Text" xml:space="preserve">
<value>Manage</value>
</data>
<data name="RbListDungeons.Location" type="System.Drawing.Point, System.Drawing">
<value>255, 7</value>
</data>
<data name="RbListDungeons.Size" type="System.Drawing.Size, System.Drawing">
<value>85, 21</value>
</data>
<data name="RbListDungeons.Text" xml:space="preserve">
<value>Dungeons</value>
</data>
<data name="RbListScene.Location" type="System.Drawing.Point, System.Drawing">
<value>183, 7</value>
</data>
<data name="RbListScene.Size" type="System.Drawing.Size, System.Drawing">
<value>66, 21</value>
</data>
<data name="RbListScene.Text" xml:space="preserve">
<value>Scenes</value>
</data>
<data name="ChkIncludeSceneId.Location" type="System.Drawing.Point, System.Drawing">
<value>91, 213</value>
</data>
<data name="ChkIncludeSceneId.Size" type="System.Drawing.Size, System.Drawing">
<value>122, 21</value>
</data>
<data name="ChkIncludeSceneId.Text" xml:space="preserve">
<value>Include scene Id</value>
</data>
<data name="LblTpZ.Location" type="System.Drawing.Point, System.Drawing">
<value>219, 184</value>
</data>
<data name="LblTpY.Location" type="System.Drawing.Point, System.Drawing">
<value>113, 184</value>
</data>
<data name="BtnTeleport.Location" type="System.Drawing.Point, System.Drawing">
<value>10, 211</value>
</data>
<data name="BtnTeleport.Text" xml:space="preserve">
<value>Teleport</value>
</data>
<data name="LblTpX.Location" type="System.Drawing.Point, System.Drawing">
<value>7, 184</value>
</data>
<data name="NUDTpZ.Location" type="System.Drawing.Point, System.Drawing">
<value>239, 182</value>
</data>
<data name="NUDTpY.Location" type="System.Drawing.Point, System.Drawing">
<value>133, 182</value>
</data>
<data name="NUDTpX.Location" type="System.Drawing.Point, System.Drawing">
<value>27, 182</value>
</data>
<data name="CmbClimateType.Location" type="System.Drawing.Point, System.Drawing">
<value>66, 61</value>
</data>
<data name="LblClimateType.Location" type="System.Drawing.Point, System.Drawing">
<value>6, 64</value>
</data>
<data name="LblClimateType.Size" type="System.Drawing.Size, System.Drawing">
<value>54, 17</value>
</data>
<data name="LblClimateType.Text" xml:space="preserve">
<value>weather</value>
</data>
<assembly alias="mscorlib" name="mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="LblSceneDescription.AutoSize" type="System.Boolean, mscorlib">
<value>False</value>
</data>
<data name="LblSceneDescription.Size" type="System.Drawing.Size, System.Drawing">
<value>287, 55</value>
</data>
<data name="LblSceneDescription.Text" xml:space="preserve">
<value>Scene control</value>
</data>
<data name="LblTp.AutoSize" type="System.Boolean, mscorlib">
<value>False</value>
</data>
<data name="LblTp.Location" type="System.Drawing.Point, System.Drawing">
<value>6, 89</value>
</data>
<data name="LblTp.Size" type="System.Drawing.Size, System.Drawing">
<value>337, 90</value>
</data>
<data name="LblTp.Text" xml:space="preserve">
<value>Teleporting
Tip: You can quickly teleport through the 'fishing hook' pin on the map in-game.
In the command, you can use ~ to indicate the current position, and ~N to indicate the relative current N</value>
</data>
<data name="TPScene.Text" xml:space="preserve">
<value>Scene</value>
</data>
@@ -255,38 +157,6 @@ In the command, you can use ~ to indicate the current position, and ~N to indica
<data name="TPSpawn.Text" xml:space="preserve">
<value>Spawn</value>
</data>
<data name="ChkQuestFilterTEST.Size" type="System.Drawing.Size, System.Drawing">
<value>51, 21</value>
</data>
<data name="ChkQuestFilterTEST.Text" xml:space="preserve">
<value>Test</value>
</data>
<data name="ChkQuestFilterUNRELEASED.Size" type="System.Drawing.Size, System.Drawing">
<value>93, 21</value>
</data>
<data name="ChkQuestFilterUNRELEASED.Text" xml:space="preserve">
<value>Unreleased</value>
</data>
<data name="ChkQuestFilterHIDDEN.Size" type="System.Drawing.Size, System.Drawing">
<value>69, 21</value>
</data>
<data name="ChkQuestFilterHIDDEN.Text" xml:space="preserve">
<value>Hidden</value>
</data>
<data name="GrpQuestFilters.Text" xml:space="preserve">
<value>List Filter</value>
</data>
<data name="BtnFinishQuest.Text" xml:space="preserve">
<value>Finish</value>
</data>
<data name="BtnAddQuest.Text" xml:space="preserve">
<value>Add</value>
</data>
<data name="LblQuestDescription.Text" xml:space="preserve">
<value>Add or Finish Quest
Tip: Many quest require server-side scripting support
Therefore, the quest can be added and finished, but not necessarily work.</value>
</data>
<data name="TPQuest.Text" xml:space="preserve">
<value>Quest</value>
</data>
@@ -302,4 +172,7 @@ Therefore, the quest can be added and finished, but not necessarily work.</value
<data name="TPMail.Text" xml:space="preserve">
<value>Mail</value>
</data>
<data name="TPLoopTasks.Text" xml:space="preserve">
<value>Loop</value>
</data>
</root>

File diff suppressed because it is too large Load Diff

View File

@@ -142,130 +142,24 @@
<data name="ChkAutoCopy.Text" xml:space="preserve">
<value>Авто</value>
</data>
<data name="GrpCommand.Text" xml:space="preserve">
<value>Команды - [Ctrl] Запуск и замена - [Shift] Добавить - [Alt] Только запустить - [|] Разделитель</value>
</data>
<data name="BtnInvokeOpenCommand.Size" type="System.Drawing.Size, System.Drawing">
<value>120, 23</value>
</data>
<data name="BtnInvokeOpenCommand.Text" xml:space="preserve">
<value>Выполнить (F5)</value>
</data>
<data name="GrpCommand.Text" xml:space="preserve">
<value>Команды - [Ctrl] Запуск и замена - [Shift] Добавить - [Alt] Только запустить - [|] Разделитель</value>
</data>
<data name="TPRemoteCall.Text" xml:space="preserve">
<value>OpenCommand</value>
</data>
<data name="LblSupportDescription.Size" type="System.Drawing.Size, System.Drawing">
<value>552, 170</value>
</data>
<data name="LblSupportDescription.Text" xml:space="preserve">
<value>Grasscutter Tools - основной перевод Юрий Дворецкий (с исправлениями от EgorBron)
Это бесплатный проект с открытым исходным кодом.
Если вы считаете, что это полезно для вас,
вы можете дать мне звезду на Github.
Если возникла проблема с генерацией команды или
есть запрос на новую функцию,
вы можете написать в Issues на Github.
Спасибо: Dhar_Jinxed
</value>
</data>
<data name="TPAbout.Text" xml:space="preserve">
<value>Справка</value>
</data>
<data name="TPManage.Text" xml:space="preserve">
<value>Аккаунты</value>
</data>
<data name="RbListDungeons.Location" type="System.Drawing.Point, System.Drawing">
<value>243, 7</value>
</data>
<data name="RbListDungeons.Size" type="System.Drawing.Size, System.Drawing">
<value>100, 21</value>
</data>
<data name="RbListDungeons.Text" xml:space="preserve">
<value>Подземелья</value>
</data>
<data name="RbListScene.Location" type="System.Drawing.Point, System.Drawing">
<value>171, 7</value>
</data>
<data name="RbListScene.Size" type="System.Drawing.Size, System.Drawing">
<value>66, 21</value>
</data>
<data name="RbListScene.Text" xml:space="preserve">
<value>Сцены</value>
</data>
<data name="ChkIncludeSceneId.Location" type="System.Drawing.Point, System.Drawing">
<value>91, 213</value>
</data>
<data name="ChkIncludeSceneId.Size" type="System.Drawing.Size, System.Drawing">
<value>228, 21</value>
</data>
<data name="ChkIncludeSceneId.Text" xml:space="preserve">
<value>Включить идентификатор сцены</value>
</data>
<data name="LblTpZ.Location" type="System.Drawing.Point, System.Drawing">
<value>219, 184</value>
</data>
<data name="LblTpY.Location" type="System.Drawing.Point, System.Drawing">
<value>113, 184</value>
</data>
<data name="BtnTeleport.Location" type="System.Drawing.Point, System.Drawing">
<value>10, 211</value>
</data>
<data name="BtnTeleport.Text" xml:space="preserve">
<value>Телепорт</value>
</data>
<data name="LblTpX.Location" type="System.Drawing.Point, System.Drawing">
<value>7, 184</value>
</data>
<data name="NUDTpZ.Location" type="System.Drawing.Point, System.Drawing">
<value>239, 182</value>
</data>
<data name="NUDTpY.Location" type="System.Drawing.Point, System.Drawing">
<value>133, 182</value>
</data>
<data name="NUDTpX.Location" type="System.Drawing.Point, System.Drawing">
<value>27, 182</value>
</data>
<data name="CmbClimateType.Location" type="System.Drawing.Point, System.Drawing">
<value>66, 61</value>
</data>
<data name="LblClimateType.Location" type="System.Drawing.Point, System.Drawing">
<value>6, 64</value>
</data>
<data name="LblClimateType.Size" type="System.Drawing.Size, System.Drawing">
<value>52, 17</value>
</data>
<data name="LblClimateType.Text" xml:space="preserve">
<value>Погода</value>
</data>
<assembly alias="mscorlib" name="mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="LblSceneDescription.AutoSize" type="System.Boolean, mscorlib">
<value>False</value>
</data>
<data name="LblSceneDescription.Size" type="System.Drawing.Size, System.Drawing">
<value>287, 55</value>
</data>
<data name="LblSceneDescription.Text" xml:space="preserve">
<value>Управление сценами.</value>
</data>
<data name="LblTp.AutoSize" type="System.Boolean, mscorlib">
<value>False</value>
</data>
<data name="LblTp.Font" type="System.Drawing.Font, System.Drawing">
<value>Microsoft YaHei UI, 8pt</value>
</data>
<data name="LblTp.Location" type="System.Drawing.Point, System.Drawing">
<value>6, 84</value>
</data>
<data name="LblTp.Size" type="System.Drawing.Size, System.Drawing">
<value>337, 100</value>
</data>
<data name="LblTp.Text" xml:space="preserve">
<value>Телепортация
Подсказка: вы можете быстро телепортироваться через отметку «рыболовный крючок» на миникарте в игре.
В команде вы можете использовать ~, чтобы указать текущую позицию, и ~N, чтобы указать смещение на N относительно текущей позиции</value>
</data>
<data name="TPScene.Text" xml:space="preserve">
<value>Сцена</value>
</data>
@@ -281,38 +175,6 @@
<data name="TPSpawn.Text" xml:space="preserve">
<value>Спавн</value>
</data>
<data name="ChkQuestFilterTEST.Size" type="System.Drawing.Size, System.Drawing">
<value>52, 21</value>
</data>
<data name="ChkQuestFilterTEST.Text" xml:space="preserve">
<value>Тест</value>
</data>
<data name="ChkQuestFilterUNRELEASED.Size" type="System.Drawing.Size, System.Drawing">
<value>102, 21</value>
</data>
<data name="ChkQuestFilterUNRELEASED.Text" xml:space="preserve">
<value>Неизданное</value>
</data>
<data name="ChkQuestFilterHIDDEN.Size" type="System.Drawing.Size, System.Drawing">
<value>81, 21</value>
</data>
<data name="ChkQuestFilterHIDDEN.Text" xml:space="preserve">
<value>Скрытый</value>
</data>
<data name="GrpQuestFilters.Text" xml:space="preserve">
<value>Фильтр списка</value>
</data>
<data name="BtnFinishQuest.Text" xml:space="preserve">
<value>Завершить</value>
</data>
<data name="BtnAddQuest.Text" xml:space="preserve">
<value>Добавить</value>
</data>
<data name="LblQuestDescription.Text" xml:space="preserve">
<value>Добавить или завершить задание.
Внимание: для многих квестов требуются скрипты таковых на стороне сервера.
Поэтому квест может быть добавлен или отозван через консоль, но завершён игроком - вряд ли.</value>
</data>
<data name="TPQuest.Text" xml:space="preserve">
<value>Квест</value>
</data>
@@ -328,4 +190,7 @@
<data name="TPMail.Text" xml:space="preserve">
<value>Почта</value>
</data>
<data name="TPLoopTasks.Text" xml:space="preserve">
<value>Петля</value>
</data>
</root>

View File

@@ -132,73 +132,12 @@
<data name="TPRemoteCall.Text" xml:space="preserve">
<value>遠程</value>
</data>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="LblSupportDescription.Size" type="System.Drawing.Size, System.Drawing">
<value>334, 102</value>
</data>
<data name="LblSupportDescription.Text" xml:space="preserve">
<value>割草機工具箱
這是一個免費且開源的項目
如果覺得這對你很有幫助可以為我點一個免費的Star
如果願意請我喝一杯奶茶,那就更好了 : )
指令生成有問題或者有新的功能請求都可以來Github提出</value>
</data>
<data name="TPAbout.Text" xml:space="preserve">
<value>關於</value>
</data>
<data name="RbListDungeons.Text" xml:space="preserve">
<value>祕境</value>
</data>
<data name="RbListScene.Text" xml:space="preserve">
<value>場景</value>
</data>
<data name="ChkIncludeSceneId.Text" xml:space="preserve">
<value>含場景ID</value>
</data>
<data name="BtnTeleport.Text" xml:space="preserve">
<value>傳送</value>
</data>
<data name="LblClimateType.Text" xml:space="preserve">
<value>設置天氣</value>
</data>
<data name="LblSceneDescription.Text" xml:space="preserve">
<value>場景控制</value>
</data>
<data name="LblTp.Size" type="System.Drawing.Size, System.Drawing">
<value>290, 51</value>
</data>
<data name="LblTp.Text" xml:space="preserve">
<value>座標傳送
提示:遊戲內可以通過小地圖的'魚鉤'標記來快捷傳送
命令中可以用~表示當前位置,~N 表示相對當前N</value>
</data>
<data name="TPScene.Text" xml:space="preserve">
<value>場景</value>
</data>
<data name="ChkQuestFilterTEST.Text" xml:space="preserve">
<value>測試任務</value>
</data>
<data name="ChkQuestFilterUNRELEASED.Text" xml:space="preserve">
<value>未發佈的任務</value>
</data>
<data name="ChkQuestFilterHIDDEN.Text" xml:space="preserve">
<value>隱藏的任務</value>
</data>
<data name="GrpQuestFilters.Text" xml:space="preserve">
<value>列表過濾</value>
</data>
<data name="BtnFinishQuest.Text" xml:space="preserve">
<value>完成任務</value>
</data>
<data name="BtnAddQuest.Text" xml:space="preserve">
<value>添加任務</value>
</data>
<data name="LblQuestDescription.Text" xml:space="preserve">
<value>添加或完成任務
提示:許多任務需要服務端腳本支持
囙此任務可以接,可以完成,但是不一定可以做</value>
</data>
<data name="TPQuest.Text" xml:space="preserve">
<value>任務</value>
</data>
@@ -214,4 +153,7 @@
<data name="TPMail.Text" xml:space="preserve">
<value>郵件</value>
</data>
<data name="TPLoopTasks.Text" xml:space="preserve">
<value>循環</value>
</data>
</root>

View File

@@ -59,7 +59,7 @@ namespace GrasscutterTools.Game.Gacha
/// <summary>
/// 这个是抽卡的预览背景路径id
/// </summary>
[JsonProperty("previewPrefabPath")]
[JsonProperty("previewPrefabPath"), JsonIgnore]
public string PreviewPrefabPath { get; set; } = "UI_Tab_GachaShowPanel_A007";
/// <summary>

View File

@@ -31,7 +31,7 @@ namespace GrasscutterTools.Game
ArtifactSubAttribution = new ItemMap(Resources.ArtifactSubAttribution);
Avatars = new ItemMap(Resources.Avatar);
AvatarColors = new ItemMap(Resources.AvatarColor);
Items = new ItemMap(Resources.Item);
Items = new ItemMapGroup(Resources.Item);
Monsters = new ItemMapGroup(Resources.Monsters);
Gadgets = new ItemMapGroup(Resources.Gadget);
Scenes = new ItemMap(Resources.Scene);
@@ -56,7 +56,7 @@ namespace GrasscutterTools.Game
public static ItemMap AvatarColors { get; private set; }
public static ItemMap Items { get; private set; }
public static ItemMapGroup Items { get; private set; }
public static ItemMapGroup Monsters { get; private set; }

View File

@@ -63,5 +63,21 @@ namespace GrasscutterTools.Game
/// 获取所有行
/// </summary>
public IEnumerable<string> AllLines => Values.SelectMany(it => it.Lines);
private string[] lines;
public string[] Lines => lines ?? (lines = AllLines.ToArray());
public string this[int id]
{
get
{
foreach (var map in Values) {
var n = map[id];
if (n != ItemMap.EmptyName)
return n;
}
return ItemMap.EmptyName;
}
}
}
}

View File

@@ -238,6 +238,18 @@
<Compile Include="Pages\PageSpawn.Designer.cs">
<DependentUpon>PageSpawn.cs</DependentUpon>
</Compile>
<Compile Include="Pages\PageTasks.cs">
<SubType>UserControl</SubType>
</Compile>
<Compile Include="Pages\PageTasks.Designer.cs">
<DependentUpon>PageTasks.cs</DependentUpon>
</Compile>
<Compile Include="Pages\PageTools.cs">
<SubType>UserControl</SubType>
</Compile>
<Compile Include="Pages\PageTools.Designer.cs">
<DependentUpon>PageTools.cs</DependentUpon>
</Compile>
<Compile Include="Program.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="Properties\Resources.zh-TW.Designer.cs">
@@ -496,6 +508,21 @@
<EmbeddedResource Include="Pages\PageSpawn.zh-TW.resx">
<DependentUpon>PageSpawn.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Pages\PageTasks.en-US.resx">
<DependentUpon>PageTasks.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Pages\PageTasks.resx">
<DependentUpon>PageTasks.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Pages\PageTasks.ru-RU.resx">
<DependentUpon>PageTasks.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Pages\PageTasks.zh-TW.resx">
<DependentUpon>PageTasks.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Pages\PageTools.resx">
<DependentUpon>PageTools.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Properties\Resources.zh-TW.resx">
<Generator>ResXFileCodeGenerator</Generator>
<LastGenOutput>Resources.zh-TW.Designer.cs</LastGenOutput>
@@ -567,6 +594,7 @@
<Content Include="Resources\en-us\ShopType.txt" />
<Content Include="Resources\en-us\Weapon.txt" />
<None Include="Resources\Newtonsoft.Json.dll" />
<Content Include="Resources\MyTools.java" />
<Content Include="Resources\ru-ru\Artifact.txt" />
<Content Include="Resources\ru-ru\ArtifactCat.txt" />
<Content Include="Resources\ru-ru\ArtifactMainAttribution.txt" />

View File

@@ -19,6 +19,7 @@
using System;
using System.Drawing;
using System.Linq;
using System.Threading.Tasks;
using System.Windows.Forms;
@@ -51,7 +52,7 @@ namespace GrasscutterTools.Pages
/// <param name="args">参数</param>
public SetCommandHandler SetCommand { get; set; }
public delegate Task<bool> RunCommandsHandler(string[] commands);
public delegate Task<bool> RunCommandsHandler(params string[] commands);
/// <summary>
/// 运行命令
@@ -63,6 +64,30 @@ namespace GrasscutterTools.Pages
/// </summary>
public Func<string> GetCommand { get; set; }
/// <summary>
/// 运行原始命令(未处理的竖线分割命令文本)
/// </summary>
/// <param name="commands">未处理的竖线分割命令文本</param>
/// <returns>是否运行成功</returns>
protected async Task<bool> RunRawCommands(string commands)
{
if (commands.IndexOf('|') == -1)
return await RunCommands(FormatCommand(commands));
else
return await RunCommands(commands.Split('|').Select(it => FormatCommand(it)).ToArray());
}
/// <summary>
/// 格式化命令
/// (去除收尾空白,替换换行)
/// </summary>
/// <param name="raw">原始输入</param>
/// <returns>格式化后可执行命令</returns>
private string FormatCommand(string raw)
{
return raw.Trim().Replace("\\r", "\r").Replace("\\n", "\n");
}
#endregion - -
#region - -

View File

@@ -32,6 +32,7 @@
this.GrasscutterToolsSupport = new System.Windows.Forms.PictureBox();
this.LnkGithub = new System.Windows.Forms.LinkLabel();
this.LblSupportDescription = new System.Windows.Forms.Label();
this.LnkOpenChat = new System.Windows.Forms.LinkLabel();
((System.ComponentModel.ISupportInitialize)(this.GrasscutterToolsSupport)).BeginInit();
this.SuspendLayout();
//
@@ -54,10 +55,18 @@
resources.ApplyResources(this.LblSupportDescription, "LblSupportDescription");
this.LblSupportDescription.Name = "LblSupportDescription";
//
// LnkOpenChat
//
resources.ApplyResources(this.LnkOpenChat, "LnkOpenChat");
this.LnkOpenChat.Name = "LnkOpenChat";
this.LnkOpenChat.TabStop = true;
this.LnkOpenChat.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.LnkOpenChat_LinkClicked);
//
// PageAbout
//
resources.ApplyResources(this, "$this");
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.Controls.Add(this.LnkOpenChat);
this.Controls.Add(this.GrasscutterToolsSupport);
this.Controls.Add(this.LnkGithub);
this.Controls.Add(this.LblSupportDescription);
@@ -73,5 +82,6 @@
private System.Windows.Forms.PictureBox GrasscutterToolsSupport;
private System.Windows.Forms.LinkLabel LnkGithub;
private System.Windows.Forms.Label LblSupportDescription;
private System.Windows.Forms.LinkLabel LnkOpenChat;
}
}

View File

@@ -37,5 +37,13 @@ namespace GrasscutterTools.Pages
{
UIUtil.OpenURL("https://github.com/jie65535/GrasscutterCommandGenerator");
}
/// <summary>
/// 点击查看服务器聊天插件时触发
/// </summary>
private void LnkOpenChat_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
{
UIUtil.OpenURL("https://github.com/jie65535/gc-openchat-plugin");
}
}
}

View File

@@ -130,4 +130,7 @@ If there is a problem with the command generation,
or there is a new feature request, you can file an issue on Github.
</value>
</data>
<data name="LnkOpenChat.Text" xml:space="preserve">
<value>Click to view server chat plugin</value>
</data>
</root>

View File

@@ -117,89 +117,21 @@
<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="GrasscutterToolsSupport.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Bottom, Right</value>
</data>
<data name="GrasscutterToolsSupport.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="GrasscutterToolsSupport.Location" type="System.Drawing.Point, System.Drawing">
<value>498, 86</value>
</data>
<data name="GrasscutterToolsSupport.MaximumSize" type="System.Drawing.Size, System.Drawing">
<value>280, 280</value>
</data>
<data name="GrasscutterToolsSupport.Size" type="System.Drawing.Size, System.Drawing">
<value>140, 140</value>
</data>
<data name="GrasscutterToolsSupport.SizeMode" type="System.Windows.Forms.PictureBoxSizeMode, System.Windows.Forms">
<value>Zoom</value>
</data>
<assembly alias="mscorlib" name="mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="GrasscutterToolsSupport.TabIndex" type="System.Int32, mscorlib">
<value>8</value>
</data>
<data name="&gt;&gt;GrasscutterToolsSupport.Name" xml:space="preserve">
<value>GrasscutterToolsSupport</value>
</data>
<data name="&gt;&gt;GrasscutterToolsSupport.Type" xml:space="preserve">
<value>System.Windows.Forms.PictureBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;GrasscutterToolsSupport.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;GrasscutterToolsSupport.ZOrder" xml:space="preserve">
<data name="&gt;&gt;LnkOpenChat.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="&gt;&gt;GrasscutterToolsSupport.ZOrder" xml:space="preserve">
<value>1</value>
</data>
<data name="&gt;&gt;LblSupportDescription.Parent" xml:space="preserve">
<value>$this</value>
</data>
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="LnkGithub.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Bottom, Left</value>
</data>
<data name="LnkGithub.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="LnkGithub.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
</data>
<data name="LnkGithub.Location" type="System.Drawing.Point, System.Drawing">
<value>8, 209</value>
</data>
<data name="LnkGithub.Size" type="System.Drawing.Size, System.Drawing">
<value>46, 17</value>
</data>
<data name="LnkGithub.TabIndex" type="System.Int32, mscorlib">
<value>1</value>
</data>
<data name="LnkGithub.Text" xml:space="preserve">
<value>Github</value>
</data>
<data name="&gt;&gt;LnkGithub.Name" xml:space="preserve">
<value>LnkGithub</value>
</data>
<data name="&gt;&gt;LnkGithub.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;LnkGithub.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;LnkGithub.ZOrder" xml:space="preserve">
<value>1</value>
</data>
<data name="LblSupportDescription.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="LblSupportDescription.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
</data>
<data name="LblSupportDescription.Location" type="System.Drawing.Point, System.Drawing">
<value>8, 12</value>
</data>
<data name="LblSupportDescription.Size" type="System.Drawing.Size, System.Drawing">
<value>334, 136</value>
</data>
<data name="LblSupportDescription.TabIndex" type="System.Int32, mscorlib">
<value>0</value>
<data name="LnkOpenChat.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Bottom</value>
</data>
<data name="LblSupportDescription.Text" xml:space="preserve">
<value>割草机工具箱
@@ -211,28 +143,129 @@
欢迎加入内测Q群: 457427536 (需要回答正确答案)</value>
</data>
<data name="&gt;&gt;GrasscutterToolsSupport.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;LnkGithub.Type" xml:space="preserve">
<value>System.Windows.Forms.LinkLabel, 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="LnkOpenChat.TextAlign" type="System.Drawing.ContentAlignment, System.Drawing">
<value>MiddleCenter</value>
</data>
<data name="LblSupportDescription.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
</data>
<data name="$this.AutoScaleDimensions" type="System.Drawing.SizeF, System.Drawing">
<value>7, 17</value>
</data>
<data name="GrasscutterToolsSupport.Location" type="System.Drawing.Point, System.Drawing">
<value>498, 86</value>
</data>
<data name="&gt;&gt;LnkGithub.Parent" xml:space="preserve">
<value>$this</value>
</data>
<assembly alias="mscorlib" name="mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="LblSupportDescription.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="LnkGithub.TabIndex" type="System.Int32, mscorlib">
<value>1</value>
</data>
<data name="GrasscutterToolsSupport.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
</data>
<data name="&gt;&gt;$this.Name" xml:space="preserve">
<value>PageAbout</value>
</data>
<data name="LblSupportDescription.Size" type="System.Drawing.Size, System.Drawing">
<value>334, 136</value>
</data>
<data name="&gt;&gt;LnkOpenChat.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="LnkOpenChat.Location" type="System.Drawing.Point, System.Drawing">
<value>198, 207</value>
</data>
<data name="GrasscutterToolsSupport.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Bottom, Right</value>
</data>
<data name="&gt;&gt;LnkOpenChat.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;$this.Type" xml:space="preserve">
<value>GrasscutterTools.Pages.BasePage, GrasscutterTools, Version=1.8.1.0, Culture=neutral, PublicKeyToken=de2b1c089621e923</value>
</data>
<data name="&gt;&gt;LnkOpenChat.Name" xml:space="preserve">
<value>LnkOpenChat</value>
</data>
<data name="&gt;&gt;LblSupportDescription.Name" xml:space="preserve">
<value>LblSupportDescription</value>
</data>
<data name="&gt;&gt;LnkGithub.Name" xml:space="preserve">
<value>LnkGithub</value>
</data>
<data name="LnkGithub.Text" xml:space="preserve">
<value>Github</value>
</data>
<data name="LnkOpenChat.Size" type="System.Drawing.Size, System.Drawing">
<value>250, 20</value>
</data>
<data name="GrasscutterToolsSupport.SizeMode" type="System.Windows.Forms.PictureBoxSizeMode, System.Windows.Forms">
<value>Zoom</value>
</data>
<data name="LnkOpenChat.TabIndex" type="System.Int32, mscorlib">
<value>9</value>
</data>
<data name="GrasscutterToolsSupport.Size" type="System.Drawing.Size, System.Drawing">
<value>140, 140</value>
</data>
<data name="GrasscutterToolsSupport.TabIndex" type="System.Int32, mscorlib">
<value>8</value>
</data>
<data name="&gt;&gt;GrasscutterToolsSupport.Type" xml:space="preserve">
<value>System.Windows.Forms.PictureBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="GrasscutterToolsSupport.MaximumSize" type="System.Drawing.Size, System.Drawing">
<value>280, 280</value>
</data>
<data name="LnkGithub.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="&gt;&gt;LblSupportDescription.ZOrder" xml:space="preserve">
<value>3</value>
</data>
<data name="LnkOpenChat.Text" xml:space="preserve">
<value>点击查看服务器聊天插件</value>
</data>
<data name="LblSupportDescription.Location" type="System.Drawing.Point, System.Drawing">
<value>8, 12</value>
</data>
<data name="LblSupportDescription.TabIndex" type="System.Int32, mscorlib">
<value>0</value>
</data>
<data name="LnkGithub.Location" type="System.Drawing.Point, System.Drawing">
<value>8, 209</value>
</data>
<data name="LnkGithub.Size" type="System.Drawing.Size, System.Drawing">
<value>46, 17</value>
</data>
<data name="&gt;&gt;LblSupportDescription.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;LblSupportDescription.Parent" xml:space="preserve">
<value>$this</value>
<data name="LnkGithub.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
</data>
<data name="&gt;&gt;LblSupportDescription.ZOrder" xml:space="preserve">
<data name="&gt;&gt;GrasscutterToolsSupport.Name" xml:space="preserve">
<value>GrasscutterToolsSupport</value>
</data>
<data name="&gt;&gt;LnkGithub.ZOrder" xml:space="preserve">
<value>2</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;$this.Name" xml:space="preserve">
<value>PageAbout</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>
<metadata name="$this.Language" type="System.Globalization.CultureInfo, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>ru-RU</value>
</metadata>
</root>

View File

@@ -135,4 +135,7 @@
</value>
</data>
<data name="LnkOpenChat.Text" xml:space="preserve">
<value>[OpenChat] Плагин серверного чата</value>
</data>
</root>

View File

@@ -130,4 +130,7 @@
指令生成有問題或者有新的功能請求都可以來Github提出
</value>
</data>
<data name="LnkOpenChat.Text" xml:space="preserve">
<value>點擊查看伺服器聊天插件</value>
</data>
</root>

View File

@@ -28,6 +28,7 @@
/// </summary>
private void InitializeComponent()
{
this.components = new System.ComponentModel.Container();
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(PageGiveItem));
this.LblClearGiveItemLogs = new System.Windows.Forms.Label();
this.BtnSaveGiveItemLog = new System.Windows.Forms.Button();
@@ -42,6 +43,8 @@
this.NUDGameItemAmout = new System.Windows.Forms.NumericUpDown();
this.NUDGameItemLevel = new System.Windows.Forms.NumericUpDown();
this.LblGiveCommandDescription = new System.Windows.Forms.Label();
this.BtnFilterItem = new System.Windows.Forms.Button();
this.MenuItemFilter = new System.Windows.Forms.ContextMenuStrip(this.components);
this.GrpGiveItemRecord.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.NUDGameItemAmout)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.NUDGameItemLevel)).BeginInit();
@@ -159,10 +162,23 @@
resources.ApplyResources(this.LblGiveCommandDescription, "LblGiveCommandDescription");
this.LblGiveCommandDescription.Name = "LblGiveCommandDescription";
//
// BtnFilterItem
//
resources.ApplyResources(this.BtnFilterItem, "BtnFilterItem");
this.BtnFilterItem.Name = "BtnFilterItem";
this.BtnFilterItem.UseVisualStyleBackColor = true;
this.BtnFilterItem.Click += new System.EventHandler(this.BtnFilterItem_Click);
//
// MenuItemFilter
//
this.MenuItemFilter.Name = "MenuSpawnEntityFilter";
resources.ApplyResources(this.MenuItemFilter, "MenuItemFilter");
//
// PageGiveItem
//
resources.ApplyResources(this, "$this");
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.Controls.Add(this.BtnFilterItem);
this.Controls.Add(this.LblClearGiveItemLogs);
this.Controls.Add(this.BtnSaveGiveItemLog);
this.Controls.Add(this.BtnRemoveGiveItemLog);
@@ -199,5 +215,7 @@
private System.Windows.Forms.NumericUpDown NUDGameItemAmout;
private System.Windows.Forms.NumericUpDown NUDGameItemLevel;
private System.Windows.Forms.Label LblGiveCommandDescription;
private System.Windows.Forms.Button BtnFilterItem;
private System.Windows.Forms.ContextMenuStrip MenuItemFilter;
}
}

View File

@@ -46,8 +46,52 @@ namespace GrasscutterTools.Pages
/// </summary>
public override void OnLoad()
{
ListGameItems.Items.Clear();
ListGameItems.Items.AddRange(GameData.Items.Lines);
MenuItemFilter.SuspendLayout();
MenuItemFilter.Items.Clear();
SelectedItemTypeLines = GameData.Items.Lines;
var all = new ToolStripMenuItem
{
Text = Resources.All,
Tag = SelectedItemTypeLines,
};
all.Click += OnItemFilterClick;
MenuItemFilter.Items.Add(all);
foreach (var kv in GameData.Items)
{
var item = new ToolStripMenuItem
{
Text = kv.Key,
Tag = kv.Value.Lines,
};
item.Click += OnItemFilterClick;
MenuItemFilter.Items.Add(item);
}
MenuItemFilter.ResumeLayout();
LoadItemList();
}
/// <summary>
/// 当前选中的物品类型行
/// </summary>
private string[] SelectedItemTypeLines;
/// <summary>
/// 物品类型过滤器类型选中时触发
/// </summary>
private void OnItemFilterClick(object sender, EventArgs e)
{
var btn = sender as ToolStripMenuItem;
SelectedItemTypeLines = btn.Tag as string[];
LoadItemList();
}
/// <summary>
/// 加载物品列表
/// </summary>
private void LoadItemList()
{
UIUtil.ListBoxFilter(ListGameItems, SelectedItemTypeLines, TxtGameItemFilter.Text);
}
/// <summary>
@@ -55,7 +99,7 @@ namespace GrasscutterTools.Pages
/// </summary>
private void TxtGameItemFilter_TextChanged(object sender, EventArgs e)
{
UIUtil.ListBoxFilter(ListGameItems, GameData.Items.Lines, TxtGameItemFilter.Text);
LoadItemList();
}
/// <summary>
@@ -69,14 +113,25 @@ namespace GrasscutterTools.Pages
{
var id = ItemMap.ToId(name);
NUDGameItemLevel.Enabled = true;
if (ChkDrop.Checked)
{
NUDGameItemLevel.Enabled = false;
SetCommand("/drop", $"{id} {NUDGameItemAmout.Value}");
if (CommandVersion.Check(CommandVersion.V1_3_1))
{
SetCommand("/spawn", $"{id} x{NUDGameItemAmout.Value} lv{NUDGameItemLevel.Value}");
}
else if (CommandVersion.Check(CommandVersion.V1_2_2))
{
SetCommand("/spawn", $"{id} {NUDGameItemAmout.Value} {NUDGameItemLevel.Value}");
}
else
{
NUDGameItemLevel.Enabled = false;
SetCommand("/drop", $"{id} {NUDGameItemAmout.Value}");
}
}
else
{
NUDGameItemLevel.Enabled = true;
if (CommandVersion.Check(CommandVersion.V1_2_2))
SetCommand("/give", $"{id} x{NUDGameItemAmout.Value} lv{NUDGameItemLevel.Value}");
else
@@ -95,6 +150,14 @@ namespace GrasscutterTools.Pages
GenGiveItemCommand();
}
/// <summary>
/// 点击过滤物品按钮时触发
/// </summary>
private void BtnFilterItem_Click(object sender, EventArgs e)
{
MenuItemFilter.Show(BtnFilterItem, 0, BtnFilterItem.Height);
}
#region -- --
/// <summary>

View File

@@ -151,7 +151,7 @@
<value>$this</value>
</data>
<data name="&gt;&gt;LblClearGiveItemLogs.ZOrder" xml:space="preserve">
<value>0</value>
<value>2</value>
</data>
<data name="BtnSaveGiveItemLog.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
@@ -178,7 +178,7 @@
<value>$this</value>
</data>
<data name="&gt;&gt;BtnSaveGiveItemLog.ZOrder" xml:space="preserve">
<value>1</value>
<value>3</value>
</data>
<data name="BtnRemoveGiveItemLog.Enabled" type="System.Boolean, mscorlib">
<value>False</value>
@@ -208,7 +208,7 @@
<value>$this</value>
</data>
<data name="&gt;&gt;BtnRemoveGiveItemLog.ZOrder" xml:space="preserve">
<value>2</value>
<value>4</value>
</data>
<data name="GrpGiveItemRecord.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Top, Bottom, Left</value>
@@ -262,7 +262,7 @@
<value>$this</value>
</data>
<data name="&gt;&gt;GrpGiveItemRecord.ZOrder" xml:space="preserve">
<value>3</value>
<value>5</value>
</data>
<data name="ChkDrop.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Bottom, Left</value>
@@ -295,7 +295,7 @@
<value>$this</value>
</data>
<data name="&gt;&gt;ChkDrop.ZOrder" xml:space="preserve">
<value>4</value>
<value>6</value>
</data>
<data name="TxtGameItemFilter.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Top, Left, Right</value>
@@ -304,7 +304,7 @@
<value>343, 3</value>
</data>
<data name="TxtGameItemFilter.Size" type="System.Drawing.Size, System.Drawing">
<value>300, 23</value>
<value>268, 23</value>
</data>
<data name="TxtGameItemFilter.TabIndex" type="System.Int32, mscorlib">
<value>9</value>
@@ -319,7 +319,7 @@
<value>$this</value>
</data>
<data name="&gt;&gt;TxtGameItemFilter.ZOrder" xml:space="preserve">
<value>5</value>
<value>7</value>
</data>
<data name="ListGameItems.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Top, Bottom, Left, Right</value>
@@ -334,7 +334,7 @@
<value>300, 208</value>
</data>
<data name="ListGameItems.TabIndex" type="System.Int32, mscorlib">
<value>10</value>
<value>11</value>
</data>
<data name="&gt;&gt;ListGameItems.Name" xml:space="preserve">
<value>ListGameItems</value>
@@ -346,7 +346,7 @@
<value>$this</value>
</data>
<data name="&gt;&gt;ListGameItems.ZOrder" xml:space="preserve">
<value>6</value>
<value>8</value>
</data>
<data name="LblGameItemAmount.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Bottom, Left</value>
@@ -379,7 +379,7 @@
<value>$this</value>
</data>
<data name="&gt;&gt;LblGameItemAmount.ZOrder" xml:space="preserve">
<value>7</value>
<value>9</value>
</data>
<data name="LblGameItemLevel.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Bottom, Left</value>
@@ -412,7 +412,7 @@
<value>$this</value>
</data>
<data name="&gt;&gt;LblGameItemLevel.ZOrder" xml:space="preserve">
<value>8</value>
<value>10</value>
</data>
<data name="NUDGameItemAmout.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Bottom, Left</value>
@@ -436,7 +436,7 @@
<value>$this</value>
</data>
<data name="&gt;&gt;NUDGameItemAmout.ZOrder" xml:space="preserve">
<value>9</value>
<value>11</value>
</data>
<data name="NUDGameItemLevel.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Bottom, Left</value>
@@ -460,7 +460,7 @@
<value>$this</value>
</data>
<data name="&gt;&gt;NUDGameItemLevel.ZOrder" xml:space="preserve">
<value>10</value>
<value>12</value>
</data>
<data name="LblGiveCommandDescription.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
@@ -491,7 +491,49 @@
<value>$this</value>
</data>
<data name="&gt;&gt;LblGiveCommandDescription.ZOrder" xml:space="preserve">
<value>11</value>
<value>13</value>
</data>
<data name="BtnFilterItem.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Top, Right</value>
</data>
<data name="BtnFilterItem.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
</data>
<data name="BtnFilterItem.Location" type="System.Drawing.Point, System.Drawing">
<value>617, 3</value>
</data>
<data name="BtnFilterItem.Size" type="System.Drawing.Size, System.Drawing">
<value>26, 24</value>
</data>
<data name="BtnFilterItem.TabIndex" type="System.Int32, mscorlib">
<value>10</value>
</data>
<data name="BtnFilterItem.Text" xml:space="preserve">
<value>三</value>
</data>
<data name="&gt;&gt;BtnFilterItem.Name" xml:space="preserve">
<value>BtnFilterItem</value>
</data>
<data name="&gt;&gt;BtnFilterItem.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;BtnFilterItem.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;BtnFilterItem.ZOrder" xml:space="preserve">
<value>1</value>
</data>
<metadata name="MenuItemFilter.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
<data name="MenuItemFilter.Size" type="System.Drawing.Size, System.Drawing">
<value>61, 4</value>
</data>
<data name="&gt;&gt;MenuItemFilter.Name" xml:space="preserve">
<value>MenuItemFilter</value>
</data>
<data name="&gt;&gt;MenuItemFilter.Type" xml:space="preserve">
<value>System.Windows.Forms.ContextMenuStrip, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<metadata name="$this.Localizable" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
@@ -503,6 +545,6 @@
<value>PageGiveItem</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.7.6.0, Culture=neutral, PublicKeyToken=de2b1c089621e923</value>
</data>
</root>

View File

@@ -181,9 +181,9 @@ namespace GrasscutterTools.Pages
/// </summary>
private void LoadMailSelectableItems()
{
MailSelectableItems = new string[GameData.Items.Count + GameData.Weapons.Count + GameData.Artifacts.Count];
MailSelectableItems = new string[GameData.Items.Lines.Length + GameData.Weapons.Count + GameData.Artifacts.Count];
int i = 0;
GameData.Items.Lines.CopyTo(MailSelectableItems, i); i += GameData.Items.Count;
GameData.Items.Lines.CopyTo(MailSelectableItems, i); i += GameData.Items.Lines.Length;
GameData.Weapons.Lines.CopyTo(MailSelectableItems, i); i += GameData.Weapons.Count;
GameData.Artifacts.Lines.CopyTo(MailSelectableItems, i); i += GameData.Artifacts.Count;

View File

@@ -102,11 +102,11 @@ namespace GrasscutterTools.Pages
{
if (CommandVersion.Check(CommandVersion.V1_2_2))
{
SetCommand("/scene", id.ToString());
SetCommand("/tp", $"0 400 0 {id}");
}
else
{
SetCommand("/tp ~ ~ ~", id.ToString());
SetCommand("/scene", id.ToString());
}
}
else if (RbListDungeons.Checked)

View File

@@ -60,6 +60,15 @@ namespace GrasscutterTools.Pages
// 初始化列表类型过滤器
MenuSpawnEntityFilter.SuspendLayout();
MenuSpawnEntityFilter.Items.Clear();
// 默认显示所有
SelectedEntityTypeLines = GameData.Monsters.AllLines.Concat(GameData.Gadgets.AllLines).ToArray();
var all = new ToolStripMenuItem
{
Text = Resources.All,
Tag = SelectedEntityTypeLines,
};
all.Click += OnEntityTypeFilterClick;
MenuSpawnEntityFilter.Items.Add(all);
void AddTypes(ItemMapGroup group)
{
foreach (var kv in group)
@@ -80,8 +89,6 @@ namespace GrasscutterTools.Pages
AddTypes(GameData.Gadgets);
MenuSpawnEntityFilter.ResumeLayout();
// 默认显示所有
SelectedEntityTypeLines = GameData.Monsters.AllLines.Concat(GameData.Gadgets.AllLines).ToArray();
LoadEntityList();
}

View File

@@ -0,0 +1,202 @@
namespace GrasscutterTools.Pages
{
partial class PageTasks
{
/// <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(PageTasks));
this.GrpTasks = new System.Windows.Forms.GroupBox();
this.ListTasks = new System.Windows.Forms.ListView();
this.ColTag = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
this.ColContent = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
this.ColDelay = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
this.ColCount = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
this.GrpTask = new System.Windows.Forms.GroupBox();
this.BtnRemove = new System.Windows.Forms.Button();
this.BtnAccept = new System.Windows.Forms.Button();
this.NUDTriggerCount = new System.Windows.Forms.NumericUpDown();
this.LblTriggerCount = new System.Windows.Forms.Label();
this.DTPDelay = new System.Windows.Forms.DateTimePicker();
this.LblDelay = new System.Windows.Forms.Label();
this.TxtTag = new System.Windows.Forms.TextBox();
this.LblTag = new System.Windows.Forms.Label();
this.GrpTasks.SuspendLayout();
this.GrpTask.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.NUDTriggerCount)).BeginInit();
this.SuspendLayout();
//
// GrpTasks
//
resources.ApplyResources(this.GrpTasks, "GrpTasks");
this.GrpTasks.Controls.Add(this.ListTasks);
this.GrpTasks.Name = "GrpTasks";
this.GrpTasks.TabStop = false;
//
// ListTasks
//
resources.ApplyResources(this.ListTasks, "ListTasks");
this.ListTasks.AllowColumnReorder = true;
this.ListTasks.CheckBoxes = true;
this.ListTasks.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] {
this.ColTag,
this.ColContent,
this.ColDelay,
this.ColCount});
this.ListTasks.HideSelection = false;
this.ListTasks.MultiSelect = false;
this.ListTasks.Name = "ListTasks";
this.ListTasks.UseCompatibleStateImageBehavior = false;
this.ListTasks.View = System.Windows.Forms.View.Details;
this.ListTasks.ItemChecked += new System.Windows.Forms.ItemCheckedEventHandler(this.ListTasks_ItemChecked);
this.ListTasks.SelectedIndexChanged += new System.EventHandler(this.ListTasks_SelectedIndexChanged);
//
// ColTag
//
resources.ApplyResources(this.ColTag, "ColTag");
//
// ColContent
//
resources.ApplyResources(this.ColContent, "ColContent");
//
// ColDelay
//
resources.ApplyResources(this.ColDelay, "ColDelay");
//
// ColCount
//
resources.ApplyResources(this.ColCount, "ColCount");
//
// GrpTask
//
resources.ApplyResources(this.GrpTask, "GrpTask");
this.GrpTask.Controls.Add(this.BtnRemove);
this.GrpTask.Controls.Add(this.BtnAccept);
this.GrpTask.Controls.Add(this.NUDTriggerCount);
this.GrpTask.Controls.Add(this.LblTriggerCount);
this.GrpTask.Controls.Add(this.DTPDelay);
this.GrpTask.Controls.Add(this.LblDelay);
this.GrpTask.Controls.Add(this.TxtTag);
this.GrpTask.Controls.Add(this.LblTag);
this.GrpTask.Name = "GrpTask";
this.GrpTask.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);
//
// BtnAccept
//
resources.ApplyResources(this.BtnAccept, "BtnAccept");
this.BtnAccept.Name = "BtnAccept";
this.BtnAccept.UseVisualStyleBackColor = true;
this.BtnAccept.Click += new System.EventHandler(this.BtnAccept_Click);
//
// NUDTriggerCount
//
resources.ApplyResources(this.NUDTriggerCount, "NUDTriggerCount");
this.NUDTriggerCount.Maximum = new decimal(new int[] {
1000,
0,
0,
0});
this.NUDTriggerCount.Minimum = new decimal(new int[] {
1,
0,
0,
-2147483648});
this.NUDTriggerCount.Name = "NUDTriggerCount";
this.NUDTriggerCount.Value = new decimal(new int[] {
1,
0,
0,
-2147483648});
//
// LblTriggerCount
//
resources.ApplyResources(this.LblTriggerCount, "LblTriggerCount");
this.LblTriggerCount.Name = "LblTriggerCount";
//
// DTPDelay
//
resources.ApplyResources(this.DTPDelay, "DTPDelay");
this.DTPDelay.Format = System.Windows.Forms.DateTimePickerFormat.Time;
this.DTPDelay.Name = "DTPDelay";
this.DTPDelay.ShowUpDown = true;
this.DTPDelay.Value = new System.DateTime(2022, 12, 10, 0, 1, 0, 0);
//
// LblDelay
//
resources.ApplyResources(this.LblDelay, "LblDelay");
this.LblDelay.Name = "LblDelay";
//
// TxtTag
//
resources.ApplyResources(this.TxtTag, "TxtTag");
this.TxtTag.Name = "TxtTag";
//
// LblTag
//
resources.ApplyResources(this.LblTag, "LblTag");
this.LblTag.Name = "LblTag";
//
// PageTasks
//
resources.ApplyResources(this, "$this");
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.Controls.Add(this.GrpTask);
this.Controls.Add(this.GrpTasks);
this.Name = "PageTasks";
this.GrpTasks.ResumeLayout(false);
this.GrpTask.ResumeLayout(false);
this.GrpTask.PerformLayout();
((System.ComponentModel.ISupportInitialize)(this.NUDTriggerCount)).EndInit();
this.ResumeLayout(false);
}
#endregion
private System.Windows.Forms.GroupBox GrpTasks;
private System.Windows.Forms.GroupBox GrpTask;
private System.Windows.Forms.DateTimePicker DTPDelay;
private System.Windows.Forms.Label LblDelay;
private System.Windows.Forms.TextBox TxtTag;
private System.Windows.Forms.Label LblTag;
private System.Windows.Forms.NumericUpDown NUDTriggerCount;
private System.Windows.Forms.Label LblTriggerCount;
private System.Windows.Forms.Button BtnRemove;
private System.Windows.Forms.Button BtnAccept;
private System.Windows.Forms.ListView ListTasks;
private System.Windows.Forms.ColumnHeader ColTag;
private System.Windows.Forms.ColumnHeader ColContent;
private System.Windows.Forms.ColumnHeader ColDelay;
private System.Windows.Forms.ColumnHeader ColCount;
}
}

View File

@@ -0,0 +1,265 @@
using System;
using System.Collections.Concurrent;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Threading;
using System.Threading.Tasks;
using System.Windows.Forms;
using GrasscutterTools.Properties;
using GrasscutterTools.Utils;
using Newtonsoft.Json;
namespace GrasscutterTools.Pages
{
internal partial class PageTasks : BasePage
{
private const string TAG = nameof(PageTasks);
public PageTasks()
{
InitializeComponent();
ListTasks.FullRowSelect = true;
if (DesignMode) return;
InitTasks();
}
/// <summary>
/// 循环任务
/// </summary>
private class LoopTask
{
/// <summary>
/// 任务标签
/// </summary>
public string Tag { get; set; }
/// <summary>
/// 任务内容
/// </summary>
public string Content { get; set; }
/// <summary>
/// 延迟时间(秒)
/// </summary>
public int DelayS { get; set; }
/// <summary>
/// 触发次数 -1为无限循环
/// </summary>
public int TriggerCount { get; set; }
}
/// <summary>
/// 任务列表路径
/// </summary>
private readonly string TasksJsonPath = Common.GetAppDataFile("Tasks.json");
/// <summary>
/// 任务集合
/// </summary>
private List<LoopTask> Tasks;
/// <summary>
/// 运行中的任务集合
/// </summary>
private readonly ConcurrentDictionary<string, CancellationTokenSource> RunningTasks = new ConcurrentDictionary<string, CancellationTokenSource>();
/// <summary>
/// 初始化任务集合
/// </summary>
private void InitTasks()
{
if (File.Exists(TasksJsonPath))
{
try
{
Tasks = JsonConvert.DeserializeObject<List<LoopTask>>(File.ReadAllText(TasksJsonPath));
ListTasks.Items.AddRange(Tasks.Select(t => TaskToViewItem(t)).ToArray());
}
catch (Exception ex)
{
Tasks = new List<LoopTask>();
Logger.W(TAG, "Parsing Tasks json failed", ex);
}
}
else
{
Tasks = new List<LoopTask>();
}
}
/// <summary>
/// 关闭时触发
/// </summary>
public override void OnClosed()
{
// 取消所有正在运行的任务
foreach (var cs in RunningTasks.Values)
cs.Cancel();
// 清空列表
RunningTasks.Clear();
// 保存任务列表
File.WriteAllText(TasksJsonPath, JsonConvert.SerializeObject(Tasks));
}
/// <summary>
/// 任务转为列表项
/// </summary>
/// <param name="task">任务</param>
/// <returns>列表项</returns>
private static ListViewItem TaskToViewItem(LoopTask task) => new ListViewItem(new string[]
{
task.Tag,
task.Content,
TimeSpan.FromSeconds(task.DelayS).ToString(),
task.TriggerCount.ToString(),
});
/// <summary>
/// 列表选中项改变时触发
/// </summary>
private void ListTasks_SelectedIndexChanged(object sender, EventArgs e)
{
if (ListTasks.SelectedIndices.Count == 0) return;
int i = ListTasks.SelectedIndices[0];
var task = Tasks[i];
TxtTag.Text = task.Tag;
DTPDelay.Value = DateTime.Today.Add(TimeSpan.FromSeconds(task.DelayS));
NUDTriggerCount.Value = task.TriggerCount;
// 设置命令
SetCommand(task.Content);
}
/// <summary>
/// 点击确定按钮时触发
/// </summary>
private void BtnAccept_Click(object sender, EventArgs e)
{
var tag = TxtTag.Text.Trim();
var commands = GetCommand();
var delay = DTPDelay.Value.TimeOfDay;
var count = (int)NUDTriggerCount.Value;
if (string.IsNullOrEmpty(tag) || string.IsNullOrEmpty(commands) || delay.Ticks == 0)
{
MessageBox.Show(Resources.EmptyInputTip, Resources.Error, MessageBoxButtons.OK, MessageBoxIcon.Error);
return;
}
// 查找是否已经存在
var i = Tasks.FindIndex(t => t.Tag == tag);
if (i == -1)
{
// 新建任务
var t = new LoopTask
{
Tag = tag,
Content = commands,
DelayS = (int)delay.TotalSeconds,
TriggerCount = count,
};
ListTasks.Items.Add(TaskToViewItem(t));
Tasks.Add(t);
}
else
{
// 已存在的任务,确认是否正在运行中
if (ListTasks.Items[i].Checked || RunningTasks.ContainsKey(tag))
{
MessageBox.Show(Resources.TaskRunningCannotOperated, Resources.Error, MessageBoxButtons.OK, MessageBoxIcon.Error);
return;
}
// 否则修改任务内容
var task = Tasks[i];
task.Content = commands;
task.DelayS = (int)delay.TotalSeconds;
task.TriggerCount = count;
ListTasks.Items[i] = TaskToViewItem(task);
}
}
/// <summary>
/// 点击删除按钮时触发
/// </summary>
private void BtnRemove_Click(object sender, EventArgs e)
{
var tag = TxtTag.Text.Trim();
// 查找是否已经存在
var i = Tasks.FindIndex(t => t.Tag == tag);
if (i == -1) return;
if (ListTasks.Items[i].Checked || RunningTasks.ContainsKey(tag))
{
MessageBox.Show(Resources.TaskRunningCannotOperated, Resources.Error, MessageBoxButtons.OK, MessageBoxIcon.Error);
return;
}
// 删除实例
ListTasks.Items.RemoveAt(i);
Tasks.RemoveAt(i);
}
/// <summary>
/// 任务前复选框改变时触发
/// </summary>
private void ListTasks_ItemChecked(object sender, ItemCheckedEventArgs e)
{
try
{
var item = e.Item;
if (item.Index < 0 || item.Index >= Tasks.Count)
return;
var task = Tasks[item.Index];
// 先将旧的任务取消
if (RunningTasks.TryRemove(task.Tag, out var source))
source.Cancel();
if (item.Checked)
{
var cancelSource = new CancellationTokenSource();
RunningTasks.TryAdd(task.Tag, cancelSource);
var token = cancelSource.Token;
Task.Run(async () =>
{
try
{
Logger.I(TAG, $"Task \"{task.Tag}\" started");
// 循环执行命令
for (int c = 0;
!token.IsCancellationRequested
&& (c < task.TriggerCount || task.TriggerCount <= 0);
c++)
{
// 延迟
await Task.Delay(task.DelayS * 1000, token);
// 使用UI线程执行
var ret = Invoke(new Func<string, Task<bool>>(RunRawCommands), task.Content);
if (ret is Task<bool> b && b.Result == false)
break;
// 执行
//if (!await RunRawCommands(task.Content))
// break;
}
}
finally
{
// 任务结束后取消勾选状态
BeginInvoke(new Action(() => item.Checked = false));
Logger.I(TAG, $"Task \"{task.Tag}\" stoped");
}
}, token);
}
}
catch (Exception ex)
{
Logger.E(TAG, "Start or Stop Task failed.", ex);
MessageBox.Show(ex.ToString(), Resources.Error, MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
}
}

View File

@@ -0,0 +1,169 @@
<?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="GrpTasks.Text" xml:space="preserve">
<value>Task list</value>
</data>
<data name="ColTag.Text" xml:space="preserve">
<value>Tag</value>
</data>
<data name="ColContent.Text" xml:space="preserve">
<value>Content</value>
</data>
<data name="ColDelay.Text" xml:space="preserve">
<value>Delay</value>
</data>
<data name="ColCount.Text" xml:space="preserve">
<value>Count</value>
</data>
<data name="GrpTask.Text" xml:space="preserve">
<value>Task</value>
</data>
<data name="BtnRemove.Text" xml:space="preserve">
<value>× Delete</value>
</data>
<data name="BtnAccept.Text" xml:space="preserve">
<value>√ Accept</value>
</data>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="LblTriggerCount.Location" type="System.Drawing.Point, System.Drawing">
<value>331, 22</value>
</data>
<data name="LblTriggerCount.Size" type="System.Drawing.Size, System.Drawing">
<value>42, 17</value>
</data>
<data name="LblTriggerCount.Text" xml:space="preserve">
<value>Count</value>
</data>
<data name="LblDelay.Location" type="System.Drawing.Point, System.Drawing">
<value>219, 22</value>
</data>
<data name="LblDelay.Size" type="System.Drawing.Size, System.Drawing">
<value>40, 17</value>
</data>
<data name="LblDelay.Text" xml:space="preserve">
<value>Delay</value>
</data>
<data name="LblTag.Size" type="System.Drawing.Size, System.Drawing">
<value>30, 17</value>
</data>
<data name="LblTag.Text" xml:space="preserve">
<value>Tag</value>
</data>
</root>

View File

@@ -0,0 +1,471 @@
<?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="&gt;&gt;BtnRemove.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="&gt;&gt;ColCount.Type" xml:space="preserve">
<value>System.Windows.Forms.ColumnHeader, 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="BtnRemove.Size" type="System.Drawing.Size, System.Drawing">
<value>100, 23</value>
</data>
<data name="&gt;&gt;ColContent.Name" xml:space="preserve">
<value>ColContent</value>
</data>
<data name="&gt;&gt;$this.Type" xml:space="preserve">
<value>GrasscutterTools.Pages.BasePage, GrasscutterTools, Version=1.8.0.0, Culture=neutral, PublicKeyToken=de2b1c089621e923</value>
</data>
<data name="&gt;&gt;LblDelay.Name" xml:space="preserve">
<value>LblDelay</value>
</data>
<data name="&gt;&gt;GrpTasks.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="LblDelay.Text" xml:space="preserve">
<value>延迟</value>
</data>
<data name="LblTriggerCount.Text" xml:space="preserve">
<value>次数</value>
</data>
<data name="&gt;&gt;DTPDelay.Parent" xml:space="preserve">
<value>GrpTask</value>
</data>
<data name="BtnRemove.Location" type="System.Drawing.Point, System.Drawing">
<value>534, 18</value>
</data>
<assembly alias="mscorlib" name="mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="TxtTag.TabIndex" type="System.Int32, mscorlib">
<value>1</value>
</data>
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="DTPDelay.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Top, Right</value>
</data>
<data name="&gt;&gt;TxtTag.Parent" xml:space="preserve">
<value>GrpTask</value>
</data>
<data name="&gt;&gt;LblTag.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="ListTasks.Size" type="System.Drawing.Size, System.Drawing">
<value>634, 161</value>
</data>
<data name="TxtTag.Size" type="System.Drawing.Size, System.Drawing">
<value>165, 23</value>
</data>
<data name="&gt;&gt;LblTag.Name" xml:space="preserve">
<value>LblTag</value>
</data>
<data name="&gt;&gt;TxtTag.ZOrder" xml:space="preserve">
<value>6</value>
</data>
<data name="NUDTriggerCount.Size" type="System.Drawing.Size, System.Drawing">
<value>50, 23</value>
</data>
<data name="ListTasks.Location" type="System.Drawing.Point, System.Drawing">
<value>3, 19</value>
</data>
<data name="GrpTasks.Size" type="System.Drawing.Size, System.Drawing">
<value>640, 183</value>
</data>
<data name="&gt;&gt;ColTag.Name" xml:space="preserve">
<value>ColTag</value>
</data>
<data name="&gt;&gt;TxtTag.Name" xml:space="preserve">
<value>TxtTag</value>
</data>
<data name="LblTriggerCount.Location" type="System.Drawing.Point, System.Drawing">
<value>334, 22</value>
</data>
<data name="GrpTasks.Text" xml:space="preserve">
<value>任务列表</value>
</data>
<data name="GrpTask.TabIndex" type="System.Int32, mscorlib">
<value>1</value>
</data>
<data name="&gt;&gt;LblTriggerCount.Name" xml:space="preserve">
<value>LblTriggerCount</value>
</data>
<data name="LblTriggerCount.Size" type="System.Drawing.Size, System.Drawing">
<value>32, 17</value>
</data>
<data name="TxtTag.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Top, Left, Right</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="NUDTriggerCount.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Top, Right</value>
</data>
<data name="&gt;&gt;LblDelay.ZOrder" xml:space="preserve">
<value>5</value>
</data>
<data name="&gt;&gt;DTPDelay.ZOrder" xml:space="preserve">
<value>4</value>
</data>
<data name="DTPDelay.CustomFormat" xml:space="preserve">
<value />
</data>
<data name="&gt;&gt;NUDTriggerCount.ZOrder" xml:space="preserve">
<value>2</value>
</data>
<data name="&gt;&gt;NUDTriggerCount.Parent" xml:space="preserve">
<value>GrpTask</value>
</data>
<data name="&gt;&gt;BtnAccept.Name" xml:space="preserve">
<value>BtnAccept</value>
</data>
<data name="LblDelay.Size" type="System.Drawing.Size, System.Drawing">
<value>32, 17</value>
</data>
<data name="&gt;&gt;GrpTasks.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;GrpTask.Name" xml:space="preserve">
<value>GrpTask</value>
</data>
<data name="&gt;&gt;LblDelay.Parent" xml:space="preserve">
<value>GrpTask</value>
</data>
<data name="&gt;&gt;GrpTask.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="DTPDelay.Location" type="System.Drawing.Point, System.Drawing">
<value>258, 19</value>
</data>
<data name="LblTriggerCount.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="&gt;&gt;NUDTriggerCount.Type" xml:space="preserve">
<value>System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="NUDTriggerCount.Location" type="System.Drawing.Point, System.Drawing">
<value>372, 19</value>
</data>
<data name="LblTag.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="LblTriggerCount.TabIndex" type="System.Int32, mscorlib">
<value>4</value>
</data>
<data name="&gt;&gt;LblTriggerCount.Parent" xml:space="preserve">
<value>GrpTask</value>
</data>
<data name="LblTag.Text" xml:space="preserve">
<value>标签</value>
</data>
<data name="ColContent.Text" xml:space="preserve">
<value>内容</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="ColContent.Width" type="System.Int32, mscorlib">
<value>330</value>
</data>
<data name="ColDelay.Text" xml:space="preserve">
<value>延迟</value>
</data>
<data name="&gt;&gt;LblTag.Parent" xml:space="preserve">
<value>GrpTask</value>
</data>
<data name="LblTag.Size" type="System.Drawing.Size, System.Drawing">
<value>32, 17</value>
</data>
<data name="BtnRemove.TabIndex" type="System.Int32, mscorlib">
<value>7</value>
</data>
<data name="LblTag.Location" type="System.Drawing.Point, System.Drawing">
<value>11, 21</value>
</data>
<data name="&gt;&gt;DTPDelay.Type" xml:space="preserve">
<value>System.Windows.Forms.DateTimePicker, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="GrpTask.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Bottom, Left, Right</value>
</data>
<data name="&gt;&gt;ColCount.Name" xml:space="preserve">
<value>ColCount</value>
</data>
<data name="&gt;&gt;NUDTriggerCount.Name" xml:space="preserve">
<value>NUDTriggerCount</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;BtnRemove.Name" xml:space="preserve">
<value>BtnRemove</value>
</data>
<data name="&gt;&gt;BtnAccept.Parent" xml:space="preserve">
<value>GrpTask</value>
</data>
<data name="&gt;&gt;GrpTasks.Name" xml:space="preserve">
<value>GrpTasks</value>
</data>
<data name="&gt;&gt;LblTag.ZOrder" xml:space="preserve">
<value>7</value>
</data>
<data name="$this.AutoScaleDimensions" type="System.Drawing.SizeF, System.Drawing">
<value>7, 17</value>
</data>
<data name="BtnAccept.Text" xml:space="preserve">
<value>√ 确定</value>
</data>
<data name="ColTag.Width" type="System.Int32, mscorlib">
<value>150</value>
</data>
<data name="DTPDelay.Size" type="System.Drawing.Size, System.Drawing">
<value>70, 23</value>
</data>
<data name="&gt;&gt;BtnAccept.ZOrder" xml:space="preserve">
<value>1</value>
</data>
<data name="&gt;&gt;GrpTasks.ZOrder" xml:space="preserve">
<value>1</value>
</data>
<data name="BtnAccept.Location" type="System.Drawing.Point, System.Drawing">
<value>428, 18</value>
</data>
<data name="&gt;&gt;DTPDelay.Name" xml:space="preserve">
<value>DTPDelay</value>
</data>
<data name="&gt;&gt;ListTasks.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="LblDelay.TabIndex" type="System.Int32, mscorlib">
<value>2</value>
</data>
<data name="&gt;&gt;ColDelay.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="LblDelay.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Top, Right</value>
</data>
<data name="ColCount.Text" xml:space="preserve">
<value>次数</value>
</data>
<data name="LblTriggerCount.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Top, Right</value>
</data>
<data name="&gt;&gt;$this.Name" xml:space="preserve">
<value>PageTasks</value>
</data>
<data name="GrpTasks.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Top, Bottom, Left, Right</value>
</data>
<data name="&gt;&gt;ListTasks.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="GrpTask.Text" xml:space="preserve">
<value>任务</value>
</data>
<data name="BtnAccept.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Top, Right</value>
</data>
<data name="&gt;&gt;BtnAccept.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;GrpTask.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="GrpTask.Location" type="System.Drawing.Point, System.Drawing">
<value>3, 186</value>
</data>
<data name="&gt;&gt;LblDelay.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;LblTriggerCount.ZOrder" xml:space="preserve">
<value>3</value>
</data>
<data name="ListTasks.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
<value>Fill</value>
</data>
<data name="&gt;&gt;GrpTask.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;LblTriggerCount.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;BtnRemove.Parent" xml:space="preserve">
<value>GrpTask</value>
</data>
<data name="GrpTasks.TabIndex" type="System.Int32, mscorlib">
<value>0</value>
</data>
<data name="BtnAccept.TabIndex" type="System.Int32, mscorlib">
<value>6</value>
</data>
<data name="BtnRemove.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Top, Right</value>
</data>
<data name="&gt;&gt;ColContent.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="LblTag.TabIndex" type="System.Int32, mscorlib">
<value>0</value>
</data>
<data name="ListTasks.TabIndex" type="System.Int32, mscorlib">
<value>0</value>
</data>
<data name="LblDelay.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="NUDTriggerCount.TabIndex" type="System.Int32, mscorlib">
<value>5</value>
</data>
<data name="ColTag.Text" xml:space="preserve">
<value>标签</value>
</data>
<data name="DTPDelay.TabIndex" type="System.Int32, mscorlib">
<value>3</value>
</data>
<data name="GrpTask.Size" type="System.Drawing.Size, System.Drawing">
<value>640, 50</value>
</data>
<data name="BtnAccept.Size" type="System.Drawing.Size, System.Drawing">
<value>100, 23</value>
</data>
<data name="LblDelay.Location" type="System.Drawing.Point, System.Drawing">
<value>220, 22</value>
</data>
<data name="&gt;&gt;ColDelay.Name" xml:space="preserve">
<value>ColDelay</value>
</data>
<data name="BtnRemove.Text" xml:space="preserve">
<value>× 删除</value>
</data>
<data name="TxtTag.Location" type="System.Drawing.Point, System.Drawing">
<value>49, 18</value>
</data>
<data name="&gt;&gt;ListTasks.Name" xml:space="preserve">
<value>ListTasks</value>
</data>
<data name="&gt;&gt;ListTasks.Parent" xml:space="preserve">
<value>GrpTasks</value>
</data>
<data name="GrpTasks.Location" type="System.Drawing.Point, System.Drawing">
<value>3, 3</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

@@ -0,0 +1,182 @@
<?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="GrpTasks.Text" xml:space="preserve">
<value>Список задач</value>
</data>
<data name="ColTag.Text" xml:space="preserve">
<value>Метка</value>
</data>
<data name="ColContent.Text" xml:space="preserve">
<value>Содержание</value>
</data>
<assembly alias="mscorlib" name="mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="ColContent.Width" type="System.Int32, mscorlib">
<value>310</value>
</data>
<data name="ColDelay.Text" xml:space="preserve">
<value>Задержка</value>
</data>
<data name="ColDelay.Width" type="System.Int32, mscorlib">
<value>80</value>
</data>
<data name="ColCount.Text" xml:space="preserve">
<value>Время</value>
</data>
<data name="GrpTask.Text" xml:space="preserve">
<value>Задача</value>
</data>
<data name="BtnRemove.Text" xml:space="preserve">
<value>× Удалить</value>
</data>
<data name="BtnAccept.Text" xml:space="preserve">
<value>√ Принять</value>
</data>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="LblTriggerCount.Location" type="System.Drawing.Point, System.Drawing">
<value>328, 22</value>
</data>
<data name="LblTriggerCount.Size" type="System.Drawing.Size, System.Drawing">
<value>47, 17</value>
</data>
<data name="LblTriggerCount.Text" xml:space="preserve">
<value>Время</value>
</data>
<data name="LblDelay.Location" type="System.Drawing.Point, System.Drawing">
<value>195, 22</value>
</data>
<data name="LblDelay.Size" type="System.Drawing.Size, System.Drawing">
<value>68, 17</value>
</data>
<data name="LblDelay.Text" xml:space="preserve">
<value>Задержка</value>
</data>
<data name="TxtTag.Location" type="System.Drawing.Point, System.Drawing">
<value>63, 18</value>
</data>
<data name="TxtTag.Size" type="System.Drawing.Size, System.Drawing">
<value>130, 23</value>
</data>
<data name="LblTag.Size" type="System.Drawing.Size, System.Drawing">
<value>46, 17</value>
</data>
<data name="LblTag.Text" xml:space="preserve">
<value>Метка</value>
</data>
</root>

View File

@@ -0,0 +1,153 @@
<?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="GrpTasks.Text" xml:space="preserve">
<value>任務列表</value>
</data>
<data name="ColTag.Text" xml:space="preserve">
<value>標籤</value>
</data>
<data name="ColContent.Text" xml:space="preserve">
<value>內容</value>
</data>
<data name="ColDelay.Text" xml:space="preserve">
<value>延遲</value>
</data>
<data name="ColCount.Text" xml:space="preserve">
<value>次數</value>
</data>
<data name="GrpTask.Text" xml:space="preserve">
<value>任務</value>
</data>
<data name="BtnRemove.Text" xml:space="preserve">
<value>× 刪除</value>
</data>
<data name="BtnAccept.Text" xml:space="preserve">
<value>√ 確定</value>
</data>
<data name="LblTriggerCount.Text" xml:space="preserve">
<value>次數</value>
</data>
<data name="LblDelay.Text" xml:space="preserve">
<value>延遲</value>
</data>
<data name="LblTag.Text" xml:space="preserve">
<value>標籤</value>
</data>
</root>

View File

@@ -0,0 +1,58 @@
namespace GrasscutterTools.Pages
{
partial class PageTools
{
/// <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()
{
this.BtnUpdateResources = new System.Windows.Forms.Button();
this.SuspendLayout();
//
// BtnUpdateResources
//
this.BtnUpdateResources.Location = new System.Drawing.Point(3, 3);
this.BtnUpdateResources.Name = "BtnUpdateResources";
this.BtnUpdateResources.Size = new System.Drawing.Size(100, 30);
this.BtnUpdateResources.TabIndex = 0;
this.BtnUpdateResources.Text = "Update res";
this.BtnUpdateResources.UseVisualStyleBackColor = true;
this.BtnUpdateResources.Click += new System.EventHandler(this.BtnUpdateResources_Click);
//
// PageTools
//
this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 17F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.Controls.Add(this.BtnUpdateResources);
this.Name = "PageTools";
this.ResumeLayout(false);
}
#endregion
private System.Windows.Forms.Button BtnUpdateResources;
}
}

View File

@@ -0,0 +1,66 @@
using System;
using System.Collections.Generic;
using System.IO;
using System.Windows.Forms;
namespace GrasscutterTools.Pages
{
internal partial class PageTools : BasePage
{
public PageTools()
{
InitializeComponent();
}
private void BtnUpdateResources_Click(object sender, EventArgs e)
{
var src = new OpenFileDialog
{
Title = "请选择当前原文件",
Multiselect = false,
};
var dest = new OpenFileDialog
{
Title = "请选择包含新ID的文件",
Multiselect = false,
};
if (src.ShowDialog() == DialogResult.OK && dest.ShowDialog() == DialogResult.OK)
{
var srcLines = File.ReadAllLines(src.FileName);
var srcDic = new Dictionary<string, string>(srcLines.Length);
foreach (var line in srcLines)
{
var sp = line.IndexOf(':');
if (sp > 0)
{
var value = line.Substring(sp + 1).Trim();
if (!value.StartsWith("[N/A]"))
srcDic[line.Substring(0, sp).Trim()] = line.Substring(sp + 1).Trim();
}
}
var destLines = File.ReadAllLines(dest.FileName);
using (var outStream = File.Create(dest.FileName))
using (var outTxtStream = new StreamWriter(outStream))
{
foreach (var line in destLines)
{
var sp = line.IndexOf(':');
if (sp == -1)
{
outTxtStream.WriteLine(line);
}
else
{
var key = line.Substring(0, sp).Trim();
if (!srcDic.TryGetValue(key, out var value))
value = line.Substring(sp + 1).Trim();
outTxtStream.WriteLine($"{key}:{value}");
}
}
}
}
}
}
}

View File

@@ -0,0 +1,120 @@
<?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>
</root>

View File

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

View File

@@ -60,6 +60,15 @@ namespace GrasscutterTools.Properties {
}
}
/// <summary>
/// 查找类似 全部 的本地化字符串。
/// </summary>
internal static string All {
get {
return ResourceManager.GetString("All", resourceCulture);
}
}
/// <summary>
/// 查找类似 20412:迷误者之灯
///20413:迷误者之灯
@@ -820,10 +829,12 @@ namespace GrasscutterTools.Properties {
}
/// <summary>
/// 查找类似 101:角色经验
/// 查找类似 // Items
///
///
///// ITEM_VIRTUAL
///101:角色经验
///102:冒险阅历
///103:星尘
///104:星辉
///105:好感经验
///106:原粹树脂
///107:传说钥匙
@@ -865,12 +876,10 @@ namespace GrasscutterTools.Properties {
///143:巧思手记
///144:随想草稿
///145:古铁钱
///146:牌手经验
///147:节庆热度
///148:营业收入
///149:可用资金
///150:巧策灵感
///151:蘑菇宝钱
///1 [字符串的其余部分被截断]&quot;; 的本地化字符串。
///149:可用 [字符串的其余部分被截断]&quot;; 的本地化字符串。
/// </summary>
internal static string Item {
get {
@@ -1176,6 +1185,15 @@ namespace GrasscutterTools.Properties {
}
}
/// <summary>
/// 查找类似 任务已经启动,无法操作 的本地化字符串。
/// </summary>
internal static string TaskRunningCannotOperated {
get {
return ResourceManager.GetString("TaskRunningCannotOperated", resourceCulture);
}
}
/// <summary>
/// 查找类似 提示 的本地化字符串。
/// </summary>
@@ -1250,13 +1268,12 @@ namespace GrasscutterTools.Properties {
///11419:「一心传」名刀
///11420:「一心传」名刀
///11421:「一心传」名刀
///11422:东花坊时雨
///11501:风鹰剑
///11502:天空之刃
///11503:苍古自由之誓
///11504:斫峰之刃
///11505:磐岩结绿
///11506:磐岩结绿
///11507:凭虚
///11509:雾切之回光
///11510:波乱月白经津
///11511:圣显之钥
@@ -1264,7 +1281,8 @@ namespace GrasscutterTools.Properties {
///12201:佣兵重剑
///12301:铁影阔剑
///12302:沐浴龙血的剑
///12303 [字符串的其余部分被截断]&quot;; 的本地化字符串。
///12303:白铁大剑
///12 [字符串的其余部分被截断]&quot;; 的本地化字符串。
/// </summary>
internal static string Weapon {
get {

View File

@@ -291,4 +291,10 @@ Improvement suggestions have been submitted, please use caution to send emails t
<data name="Dungeon" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\en-us\Dungeon.txt;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;utf-8</value>
</data>
<data name="All" xml:space="preserve">
<value>All</value>
</data>
<data name="TaskRunningCannotOperated" xml:space="preserve">
<value>The task has already started and cannot be operated</value>
</data>
</root>

View File

@@ -303,4 +303,10 @@
<data name="Dungeon" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\zh-cn\Dungeon.txt;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;utf-8</value>
</data>
<data name="All" xml:space="preserve">
<value>全部</value>
</data>
<data name="TaskRunningCannotOperated" xml:space="preserve">
<value>任务已经启动,无法操作</value>
</data>
</root>

View File

@@ -279,4 +279,10 @@
<data name="Dungeon" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\ru-ru\Dungeon.txt;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;utf-8</value>
</data>
<data name="All" xml:space="preserve">
<value>Все</value>
</data>
<data name="TaskRunningCannotOperated" xml:space="preserve">
<value>Задача уже запущена и не может быть выполнена</value>
</data>
</root>

View File

@@ -285,4 +285,10 @@
<data name="Dungeon" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\zh-tw\Dungeon.txt;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;utf-8</value>
</data>
<data name="All" xml:space="preserve">
<value>全部</value>
</data>
<data name="TaskRunningCannotOperated" xml:space="preserve">
<value>任務已經啟動,無法操作</value>
</data>
</root>

View File

@@ -58,4 +58,8 @@
1071:5
1072:4
1073:5
1074:4
1074:4
1075:5
1076:4
1077:4
1078:5

View File

@@ -0,0 +1,420 @@
package emu.grasscutter.tools;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import java.nio.charset.StandardCharsets;
import java.nio.file.Files;
import java.nio.file.Path;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.*;
import java.util.function.Function;
import java.util.stream.Collectors;
import java.util.stream.IntStream;
import java.util.stream.LongStream;
import emu.grasscutter.GameConstants;
import emu.grasscutter.Grasscutter;
import emu.grasscutter.command.CommandHandler;
import emu.grasscutter.command.CommandMap;
import emu.grasscutter.data.GameData;
import emu.grasscutter.data.ResourceLoader;
import emu.grasscutter.data.excels.AvatarData;
import emu.grasscutter.data.excels.ItemData;
import emu.grasscutter.game.inventory.ItemType;
import emu.grasscutter.game.inventory.MaterialType;
import emu.grasscutter.game.props.MonsterType;
import emu.grasscutter.utils.Language;
import emu.grasscutter.utils.Language.TextStrings;
import emu.grasscutter.utils.SparseSet;
import it.unimi.dsi.fastutil.ints.Int2IntRBTreeMap;
import it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap;
import lombok.val;
import static emu.grasscutter.config.Configuration.*;
import static emu.grasscutter.utils.FileUtils.getResourcePath;
import static emu.grasscutter.utils.Language.getTextMapKey;
public final class Tools {
public static void createGmHandbooks() throws Exception {
val languages = Language.TextStrings.getLanguages();
ResourceLoader.loadAll();
SparseSet illegalWeaponIds = new SparseSet("""
10000-10008, 11411, 11506-11508, 12505, 12506, 12508, 12509,
13503, 13506, 14411, 14503, 14505, 14508, 15504-15506
""");
SparseSet illegalRelicIds = new SparseSet("""
20001, 23300-23340, 23383-23385, 78310-78554, 99310-99554
""");
SparseSet illegalItemIds = new SparseSet("""
3004-3022, 100086, 100087, 100100-101000, 101106-101110, 101306, 101500-104000,
105001, 105004, 106000-107000, 107011, 108000, 109000-110000,
115000-130000, 200200-200899, 220050, 220054
""");
val mainQuestTitles = new Int2IntRBTreeMap(GameData.getMainQuestDataMap().int2ObjectEntrySet().stream().collect(Collectors.toMap(e -> (int) e.getIntKey(), e -> (int) e.getValue().getTitleTextMapHash())));
// val questDescs = new Int2IntRBTreeMap(GameData.getQuestDataMap().int2ObjectEntrySet().stream().collect(Collectors.toMap(e -> (int) e.getIntKey(), e -> (int) e.getValue().getDescTextMapHash())));
val avatarDataMap = new Int2ObjectRBTreeMap<>(GameData.getAvatarDataMap());
val itemDataMap = new Int2ObjectRBTreeMap<>(GameData.getItemDataMap());
val monsterDataMap = new Int2ObjectRBTreeMap<>(GameData.getMonsterDataMap());
val sceneDataMap = new Int2ObjectRBTreeMap<>(GameData.getSceneDataMap());
val questDataMap = new Int2ObjectRBTreeMap<>(GameData.getQuestDataMap());
// Create builders and helper functions
val handbookBuilders = IntStream.range(0, TextStrings.NUM_LANGUAGES).mapToObj(i -> new StringBuilder()).toList();
var h = new Object() {
void newLine(String line) {
handbookBuilders.forEach(b -> b.append(line + "\n"));
}
void newSection(String title) {
newLine("\n\n// " + title);
}
void newTranslatedLine(String template, TextStrings... textstrings) {
for (int i = 0; i < TextStrings.NUM_LANGUAGES; i++) {
String s = template;
for (int j = 0; j < textstrings.length; j++)
s = s.replace("{"+j+"}", textstrings[j].strings[i]);
handbookBuilders.get(i).append(s + "\n");
}
}
void newTranslatedLine(String template, long... hashes) {
newTranslatedLine(template, LongStream.of(hashes).mapToObj(hash -> getTextMapKey(hash)).toArray(TextStrings[]::new));
}
};
// Preamble
h.newLine("// Grasscutter " + GameConstants.VERSION + " GM Handbook");
h.newLine("// Created " + DateTimeFormatter.ofPattern("yyyy/MM/dd HH:mm:ss").format(LocalDateTime.now()));
// Commands
h.newSection("Commands");
final List<CommandHandler> cmdList = CommandMap.getInstance().getHandlersAsList();
final String padCmdLabel = "%s:";
for (CommandHandler cmd : cmdList) {
final String label = padCmdLabel.formatted(cmd.getLabel());
final String descKey = cmd.getDescriptionKey();
for (int i = 0; i < TextStrings.NUM_LANGUAGES; i++) {
String desc = languages.get(i).get(descKey).replace("\n", "\n\t");
handbookBuilders.get(i).append(label + desc + "\n");
}
}
// Avatars
h.newSection("Avatars");
for (val data : avatarDataMap.values()) {
if (data.getId() >= 10000002 && data.getId() < 11000000)
h.newTranslatedLine("%d:{0}".formatted(data.getId()), data.getNameTextMapHash());
}
// avatarDataMap.forEach((id, data) -> h.newTranslatedLine("%d:".formatted(id) + "{0}", data.getNameTextMapHash()));
// Items
h.newSection("Items");
Map<ItemType, List<ItemData>> items = new HashMap<>();
for (val type : ItemType.values()) {
items.put(type, new ArrayList<>());
}
for (val item : itemDataMap.values()) {
if (!illegalItemIds.contains(item.getId()))
items.get(item.getItemType()).add(item);
}
items.get(ItemType.ITEM_WEAPON).removeIf(data -> illegalWeaponIds.contains(data.getId()));
items.get(ItemType.ITEM_RELIQUARY).removeIf(data -> illegalRelicIds.contains(data.getId()));
for (val kv : items.entrySet()
.stream()
.filter(e -> e.getValue().size() > 0)
.sorted(Comparator.comparing(e -> e.getValue().get(0).getId()))
.toList()) {
if (kv.getValue().size() == 0)
continue;
h.newSection(kv.getKey().name());
if (kv.getKey() == ItemType.ITEM_MATERIAL) {
Map<MaterialType, List<ItemData>> materials = new HashMap<>();
for (val type : MaterialType.values()) {
materials.put(type, new ArrayList<>());
}
for (val item : kv.getValue()) {
materials.get(item.getMaterialType()).add(item);
}
for (val mkv : materials.entrySet()
.stream()
.filter(e -> e.getValue().size() > 0)
.sorted(Comparator.comparing(e -> e.getValue()
.stream()
.mapToInt(ItemData::getId)
.average()
.orElse(0)))
.toList()) {
h.newSection(mkv.getKey().name());
if (mkv.getKey() == MaterialType.MATERIAL_BGM) {
for (val item : mkv.getValue()) {
val bgmName = Optional.ofNullable(item.getItemUse())
.map(u -> u.get(0))
.map(u -> u.getUseParam())
.filter(u -> u.length > 0)
.map(u -> Integer.parseInt(u[0]))
.map(bgmId -> GameData.getHomeWorldBgmDataMap().get(bgmId))
.map(bgm -> bgm.getBgmNameTextMapHash())
.map(hash -> getTextMapKey(hash));
if (bgmName.isPresent()) {
h.newTranslatedLine("%d:{0} - {1}".formatted(item.getId()), getTextMapKey(item.getNameTextMapHash()), bgmName.get());
return;
} // Fall-through
h.newTranslatedLine("%d:{0}".formatted(item.getId()), getTextMapKey(item.getNameTextMapHash()));
}
} else {
for (val item : mkv.getValue()) {
h.newTranslatedLine("%d:{0}".formatted(item.getId()), getTextMapKey(item.getNameTextMapHash()));
}
}
}
} else {
for (val item : kv.getValue()) {
h.newTranslatedLine("%d:{0}".formatted(item.getId()), getTextMapKey(item.getNameTextMapHash()));
}
}
}
// h.newSection("WeaponColors");
// for (val data : items.get(ItemType.ITEM_WEAPON)) {
// val color = switch (data.getRankLevel()) {
// case 3 -> "blue";
// case 4 -> "purple";
// case 5 -> "yellow";
// default -> null;
// };
// if (color != null) {
// h.newLine("%d:%s".formatted(data.getId(), color));
// }
// }
//
// h.newSection("AvatarColors");
// for (val data : avatarDataMap.values()) {
// if (data.getId() >= 10000002 && data.getId() < 11000000) {
// String color = switch (data.getQualityType()) {
// case "QUALITY_PURPLE" -> "purple";
// case "QUALITY_ORANGE" -> "yellow";
// case "QUALITY_BLUE" -> "blue";
// default -> "";
// };
// h.newLine("%d:%s".formatted(data.getId(), color));
// }
// }
// itemDataMap.forEach((id, data) -> {
// val name = getTextMapKey(data.getNameTextMapHash());
// switch (data.getMaterialType()) {
// case MATERIAL_BGM:
// val bgmName = Optional.ofNullable(data.getItemUse())
// .map(u -> u.get(0))
// .map(u -> u.getUseParam())
// .filter(u -> u.length > 0)
// .map(u -> Integer.parseInt(u[0]))
// .map(bgmId -> GameData.getHomeWorldBgmDataMap().get(bgmId))
// .map(bgm -> bgm.getBgmNameTextMapHash())
// .map(hash -> getTextMapKey(hash));
// if (bgmName.isPresent()) {
// h.newTranslatedLine("%d:".formatted(id) + "{0} - {1}", name, bgmName.get());
// return;
// } // Fall-through
// default:
// h.newTranslatedLine("%d:".formatted(id) + "{0}", name);
// return;
// }
// });
// Monsters
h.newSection("Monsters");
val monsterTypes = MonsterType.values();
for (val type : monsterTypes) {
h.newSection(type.name());
for (val kv : monsterDataMap.int2ObjectEntrySet()) {
if (kv.getValue().getType() == type)
h.newTranslatedLine(
"%d:".formatted(kv.getIntKey()) + kv.getValue().getMonsterName() + " - {0}",
kv.getValue().getNameTextMapHash());
}
}
// Scenes - no translations
h.newSection("Scenes");
sceneDataMap.forEach((id, data) -> h.newLine("%d:".formatted(id) + data.getScriptData()));
// Quests
h.newSection("Quests");
questDataMap.forEach((id, data) -> h.newTranslatedLine(
"%d:".formatted(id) + "{0} - {1}",
mainQuestTitles.get(data.getMainId()),
data.getDescTextMapHash()));
// Write txt files
for (int i = 0; i < TextStrings.NUM_LANGUAGES; i++) {
File GMHandbookOutputpath=new File("./GM Handbook");
GMHandbookOutputpath.mkdir();
final String fileName = "./GM Handbook/GM Handbook - %s.txt".formatted(TextStrings.ARR_LANGUAGES[i]);
try (PrintWriter writer = new PrintWriter(new OutputStreamWriter(new FileOutputStream(fileName), StandardCharsets.UTF_8), false)) {
writer.write(handbookBuilders.get(i).toString());
}
}
Grasscutter.getLogger().info("GM Handbooks generated!");
}
public static List<String> createGachaMappingJsons() {
final int NUM_LANGUAGES = Language.TextStrings.NUM_LANGUAGES;
final Language.TextStrings CHARACTER = Language.getTextMapKey(4233146695L); // "Character" in EN
final Language.TextStrings WEAPON = Language.getTextMapKey(4231343903L); // "Weapon" in EN
final Language.TextStrings STANDARD_WISH = Language.getTextMapKey(332935371L); // "Standard Wish" in EN
final Language.TextStrings CHARACTER_EVENT_WISH = Language.getTextMapKey(2272170627L); // "Character Event Wish" in EN
final Language.TextStrings CHARACTER_EVENT_WISH_2 = Language.getTextMapKey(3352513147L); // "Character Event Wish-2" in EN
final Language.TextStrings WEAPON_EVENT_WISH = Language.getTextMapKey(2864268523L); // "Weapon Event Wish" in EN
final List<StringBuilder> sbs = new ArrayList<>(NUM_LANGUAGES);
for (int langIdx = 0; langIdx < NUM_LANGUAGES; langIdx++)
sbs.add(new StringBuilder("{\n")); // Web requests should never need Windows line endings
// Avatars
GameData.getAvatarDataMap().keySet().intStream().sorted().forEach(id -> {
AvatarData data = GameData.getAvatarDataMap().get(id);
int avatarID = data.getId();
if (avatarID >= 11000000) { // skip test avatar
return;
}
String color = switch (data.getQualityType()) {
case "QUALITY_PURPLE" -> "purple";
case "QUALITY_ORANGE" -> "yellow";
case "QUALITY_BLUE" -> "blue";
default -> "";
};
Language.TextStrings avatarName = Language.getTextMapKey(data.getNameTextMapHash());
for (int langIdx = 0; langIdx < NUM_LANGUAGES; langIdx++) {
sbs.get(langIdx)
.append("\t\"")
.append(avatarID % 1000 + 1000)
.append("\": [\"")
.append(avatarName.get(langIdx))
.append(" (")
.append(CHARACTER.get(langIdx))
.append(")\", \"")
.append(color)
.append("\"],\n");
}
});
// Weapons
GameData.getItemDataMap().keySet().intStream().sorted().forEach(id -> {
ItemData data = GameData.getItemDataMap().get(id);
if (data.getId() <= 11101 || data.getId() >= 20000) {
return; //skip non weapon items
}
String color = switch (data.getRankLevel()) {
case 3 -> "blue";
case 4 -> "purple";
case 5 -> "yellow";
default -> null;
};
if (color == null) return; // skip unnecessary entries
Language.TextStrings weaponName = Language.getTextMapKey(data.getNameTextMapHash());
for (int langIdx = 0; langIdx < NUM_LANGUAGES; langIdx++) {
sbs.get(langIdx)
.append("\t\"")
.append(data.getId())
.append("\": [\"")
.append(weaponName.get(langIdx).replaceAll("\"", "\\\\\""))
.append(" (")
.append(WEAPON.get(langIdx))
.append(")\", \"")
.append(color)
.append("\"],\n");
}
});
for (int langIdx = 0; langIdx < NUM_LANGUAGES; langIdx++) {
sbs.get(langIdx)
.append("\t\"200\": \"")
.append(STANDARD_WISH.get(langIdx))
.append("\",\n\t\"301\": \"")
.append(CHARACTER_EVENT_WISH.get(langIdx))
.append("\",\n\t\"400\": \"")
.append(CHARACTER_EVENT_WISH_2.get(langIdx))
.append("\",\n\t\"302\": \"")
.append(WEAPON_EVENT_WISH.get(langIdx))
.append("\"\n}");
}
return sbs.stream().map(StringBuilder::toString).toList();
}
public static void createGachaMappings(Path location) throws IOException {
ResourceLoader.loadResources();
List<String> jsons = createGachaMappingJsons();
var usedLocales = new HashSet<String>();
StringBuilder sb = new StringBuilder("mappings = {\n");
for (int i = 0; i < Language.TextStrings.NUM_LANGUAGES; i++) {
String locale = Language.TextStrings.ARR_GC_LANGUAGES[i].toLowerCase(); // TODO: change the templates to not use lowercased locale codes
if (usedLocales.add(locale)) { // Some locales fallback to en-us, we don't want to redefine en-us with vietnamese strings
sb.append("\t\"%s\": ".formatted(locale));
sb.append(jsons.get(i).replace("\n", "\n\t") + ",\n");
}
}
sb.setLength(sb.length() - 2); // Delete trailing ",\n"
sb.append("\n}");
Files.createDirectories(location.getParent());
Files.writeString(location, sb);
Grasscutter.getLogger().info("Mappings generated to " + location);
}
public static List<String> getAvailableLanguage() {
List<String> availableLangList = new ArrayList<>();
try {
Files.newDirectoryStream(getResourcePath("TextMap"), "TextMap*.json").forEach(path -> {
availableLangList.add(path.getFileName().toString().replace("TextMap", "").replace(".json", "").toLowerCase());
});
} catch (IOException e) {
Grasscutter.getLogger().error("Failed to get available languages:", e);
}
return availableLangList;
}
@Deprecated(forRemoval = true, since = "1.2.3")
public static String getLanguageOption() {
List<String> availableLangList = getAvailableLanguage();
// Use system out for better format
if (availableLangList.size() == 1) {
return availableLangList.get(0).toUpperCase();
}
StringBuilder stagedMessage = new StringBuilder();
stagedMessage.append("The following languages mappings are available, please select one: [default: EN] \n");
StringBuilder groupedLangList = new StringBuilder(">\t"); String input;
int groupedLangCount = 0;
for (String availableLanguage: availableLangList) {
groupedLangCount++;
groupedLangList.append(availableLanguage).append("\t");
if (groupedLangCount == 6) {
stagedMessage.append(groupedLangList).append("\n");
groupedLangCount = 0;
groupedLangList = new StringBuilder(">\t");
}
}
if (groupedLangCount > 0) {
stagedMessage.append(groupedLangList).append("\n");
}
stagedMessage.append("\nYour choice: [EN] ");
input = Grasscutter.getConsole().readLine(stagedMessage.toString());
if (availableLangList.contains(input.toLowerCase())) {
return input.toUpperCase();
}
Grasscutter.getLogger().info("Invalid option. Will use EN (English) as fallback."); return "EN";
}
}

View File

@@ -14,21 +14,26 @@
11408:purple
11409:purple
11410:purple
11411:purple
11412:purple
11413:purple
11414:purple
11415:purple
11416:purple
11417:purple
11418:purple
11419:purple
11420:purple
11421:purple
11422:purple
11501:yellow
11502:yellow
11503:yellow
11504:yellow
11505:yellow
11506:yellow
11507:yellow
11508:yellow
11509:yellow
11510:yellow
11511:yellow
11512:yellow
12301:blue
12302:blue
12303:blue
@@ -48,15 +53,13 @@
12411:purple
12412:purple
12414:purple
12415:purple
12416:purple
12417:purple
12501:yellow
12502:yellow
12503:yellow
12504:yellow
12505:yellow
12506:yellow
12508:yellow
12509:yellow
12510:yellow
13301:blue
13302:blue
@@ -74,14 +77,15 @@
13414:purple
13415:purple
13416:purple
13417:purple
13419:purple
13501:yellow
13502:yellow
13503:yellow
13504:yellow
13505:yellow
13506:yellow
13507:yellow
13509:yellow
13511:yellow
14301:blue
14302:blue
14303:blue
@@ -98,19 +102,19 @@
14408:purple
14409:purple
14410:purple
14411:purple
14412:purple
14413:purple
14414:purple
14415:purple
14416:purple
14417:purple
14501:yellow
14502:yellow
14503:yellow
14504:yellow
14505:yellow
14506:yellow
14508:yellow
14509:yellow
14511:yellow
14512:yellow
15301:blue
15302:blue
15303:blue
@@ -133,13 +137,13 @@
15414:purple
15415:purple
15416:purple
15417:purple
15418:purple
15501:yellow
15502:yellow
15503:yellow
15504:yellow
15505:yellow
15506:yellow
15507:yellow
15508:yellow
15509:yellow
15511:yellow
15511:yellow
20001:yellow

View File

@@ -38,6 +38,46 @@
21544:Dreaming Steelbloom
21553:The Sunken Years
21554:The Sunken Years
27412:Defender of the Enchanting Dream
27413:Defender of the Enchanting Dream
27422:End of the Golden Realm
27423:End of the Golden Realm
27432:Legacy of the Desert High-Born
27433:Legacy of the Desert High-Born
27442:The First Days of the City of Kings
27443:The First Days of the City of Kings
27452:Timepiece of the Lost Path
27453:Timepiece of the Lost Path
27513:Defender of the Enchanting Dream
27514:Defender of the Enchanting Dream
27523:End of the Golden Realm
27524:End of the Golden Realm
27533:Legacy of the Desert High-Born
27534:Legacy of the Desert High-Born
27543:The First Days of the City of Kings
27544:The First Days of the City of Kings
27553:Timepiece of the Lost Path
27554:Timepiece of the Lost Path
28412:Secret-Keeper's Magic Bottle
28413:Secret-Keeper's Magic Bottle
28422:Wilting Feast
28423:Wilting Feast
28432:Amethyst Crown
28433:Amethyst Crown
28442:Ay-Khanoum's Myriad
28443:Ay-Khanoum's Myriad
28452:A Moment Congealed
28453:A Moment Congealed
28513:Secret-Keeper's Magic Bottle
28514:Secret-Keeper's Magic Bottle
28523:Wilting Feast
28524:Wilting Feast
28533:Amethyst Crown
28534:Amethyst Crown
28543:Ay-Khanoum's Myriad
28544:Ay-Khanoum's Myriad
28553:A Moment Congealed
28554:A Moment Congealed
51110:Goblet of the Sojourner
51111:Goblet of the Sojourner
51112:Goblet of the Sojourner
@@ -1794,10 +1834,10 @@
74313:Maiden's Fleeting Leisure
74314:Maiden's Fleeting Leisure
74320:Maiden's Heart-stricken Infatuation
74321:Maiden's Heart-stricken Infatuation
74322:Maiden's Heart-stricken Infatuation
74323:Maiden's Heart-stricken Infatuation
74324:Maiden's Heart-stricken Infatuation
74321:Maiden's Heart-Stricken Infatuation
74322:Maiden's Heart-Stricken Infatuation
74323:Maiden's Heart-Stricken Infatuation
74324:Maiden's Heart-Stricken Infatuation
74330:Maiden's Fading Beauty
74331:Maiden's Fading Beauty
74332:Maiden's Fading Beauty
@@ -1818,11 +1858,11 @@
74412:Maiden's Fleeting Leisure
74413:Maiden's Fleeting Leisure
74414:Maiden's Fleeting Leisure
74420:Maiden's Heart-stricken Infatuation
74421:Maiden's Heart-stricken Infatuation
74422:Maiden's Heart-stricken Infatuation
74423:Maiden's Heart-stricken Infatuation
74424:Maiden's Heart-stricken Infatuation
74420:Maiden's Heart-Stricken Infatuation
74421:Maiden's Heart-Stricken Infatuation
74422:Maiden's Heart-Stricken Infatuation
74423:Maiden's Heart-Stricken Infatuation
74424:Maiden's Heart-Stricken Infatuation
74430:Maiden's Fading Beauty
74431:Maiden's Fading Beauty
74432:Maiden's Fading Beauty
@@ -1843,11 +1883,11 @@
74512:Maiden's Fleeting Leisure
74513:Maiden's Fleeting Leisure
74514:Maiden's Fleeting Leisure
74520:Maiden's Heart-stricken Infatuation
74521:Maiden's Heart-stricken Infatuation
74522:Maiden's Heart-stricken Infatuation
74523:Maiden's Heart-stricken Infatuation
74524:Maiden's Heart-stricken Infatuation
74520:Maiden's Heart-Stricken Infatuation
74521:Maiden's Heart-Stricken Infatuation
74522:Maiden's Heart-Stricken Infatuation
74523:Maiden's Heart-Stricken Infatuation
74524:Maiden's Heart-Stricken Infatuation
74530:Maiden's Fading Beauty
74531:Maiden's Fading Beauty
74532:Maiden's Fading Beauty

View File

@@ -1,5 +1,7 @@
20:Deepwood Memories
21:Gilded Dreams
27:Desert Pavilion Chronicle
28:Flower of Paradise Lost
51:Resolution of Sojourner
52:Brave Heart
53:Defender's Will

View File

@@ -57,4 +57,8 @@
1071:Cyno
1072:Candace
1073:Nahida
1074:Layla
1074:Layla
1075:Wanderer
1076:Faruzan
1077:Yaoyao
1078:Alhaitham

File diff suppressed because it is too large Load Diff

View File

@@ -9,9 +9,11 @@
20010403:Large Anemo Slime
20010501:Electro Slime
20010502:Electro Slime (Mechanicus)
20010503:Slime_Electric_02_SimpleStick - [N/A] 1834387465
20010601:Large Electro Slime
20010602:Large Electro Slime (Mechanicus)
20010604:Large Electro Slime
20010605:Slime_Electric_03_SimpleStick - [N/A] 3051091649
20010701:Mutant Electro Slime
20010702:Mutant Electro Slime
20010703:Mutant Electro Slime
@@ -22,6 +24,7 @@
20010902:Large Cryo Slime
20010903:Large Cryo Slime
20010904:Large Cryo Slime
20010905:Slime_Ice_03_SimpleStick - [N/A] 3152089697
20011001:Hydro Slime
20011002:Hydro Slime
20011101:Large Hydro Slime
@@ -30,9 +33,11 @@
20011201:Pyro Slime
20011202:Pyro Slime
20011203:Pyro Slime
20011204:Slime_Fire_02_SimpleStick - [N/A] 1669508241
20011301:Large Pyro Slime
20011302:Large Pyro Slime
20011304:Large Pyro Slime
20011305:Slime_Fire_03_SimpleStick - [N/A] 771419505
20011401:Geo Slime
20011402:Geo Slime
20011501:Large Geo Slime
@@ -42,6 +47,9 @@
20011701:Hydro Hypostasis Summon: Split (S)
20011801:Hydro Hypostasis Summon: Self-Destruct
20011901:Hydro Hypostasis Summon: Heal
20012001:Effigy_Water_Underling_Ooze_05 - [N/A] 3817659321
20012101:Effigy_Water_Underling_Ooze_06 - [N/A] 2054683281
20012201:Effigy_Water_Underling_Ooze_07 - [N/A] 716714657
20020101:Eye of the Storm
20050201:Oceanid Boar
20050202:Oceanid Boar
@@ -68,7 +76,7 @@
20060401:Cryo Specter
20060501:Electro Specter
20060601:Pyro Specter
20060701:[N/A] 586909705
20060701:Sylph_Grass_01 - [N/A] 586909705
21010101:Hilichurl
21010102:Hilichurl
21010201:Hilichurl Fighter
@@ -153,10 +161,10 @@
22010404:Electro Abyss Mage
22020101:Abyss Herald: Wicked Torrents
22020102:Abyss Herald: Wicked Torrents
22020103:[N/A] 3179556369
22020103:Invoker_Herald_Water_01 - [N/A] 3179556369
22030101:Abyss Lector: Violet Lightning
22030102:Abyss Lector: Violet Lightning
22030103:[N/A] 577563505
22030103:Invoker_Deacon_Electric_01 - [N/A] 577563505
22030201:Abyss Lector: Fathomless Flames
22030202:Abyss Lector: Fathomless Flames
22040101:Rockfond Rifthound Whelp
@@ -171,6 +179,7 @@
22070302:Shadowy Husk: Defender
22080101:Black Serpent Knight: Windcutter
22090101:Guess!
22100101:Invoker_Archdeacon_01 - Hilichurl
23010101:Fatui Skirmisher - Cryogunner Legionnaire
23010201:Fatui Skirmisher - Hydrogunner Legionnaire
23010301:Fatui Skirmisher - Electrohammer Vanguard
@@ -193,7 +202,7 @@
24010301:Ruin Grader
24010302:Ruin Grader
24010303:Ruin Grader
24010304:[N/A] 4152683505
24010304:Konungmathr_None_WQ - [N/A] 4152683505
24020101:Ruin Cruiser
24020102:Ruin Cruiser
24020103:Ruin Cruiser
@@ -203,15 +212,16 @@
24020301:Ruin Defender
24020302:Ruin Defender
24020303:Ruin Defender
24020304:[N/A] 3323395121
24020304:Apparatus_Enigma_BionicInsecta_Karkata - [N/A] 3323395121
24020401:Ruin Scout
24020402:Ruin Scout
24020403:Ruin Scout
24030101:[N/A] 765448937
24030201:[N/A] 3903929633
24040101:[N/A] 1462919497
24040201:[N/A] 285953129
24040301:[N/A] 3626535649
24030101:Gargoyle_Airborne_01 - [N/A] 765448937
24030201:Gargoyle_Ground_01 - [N/A] 3903929633
24040101:Monolith_Ordinator_01 - [N/A] 1462919497
24040201:Monolith_Ordinator_02 - [N/A] 285953129
24040301:Monolith_Ordinator_03 - [N/A] 3626535649
24990101:Monster_Alternate_01 - [N/A] 3880332545
25010101:Liuliu
25010102:Mystery Man
25010103:Treasure Hoarders: Liuliu
@@ -225,9 +235,9 @@
25010206:Treasure Hoarders: Scout
25010207:Treasure Hoarders: Scout
25010208:Treasure Hoarders: Scout
25010209:[N/A] 1167900689
25010210:[N/A] 4032173065
25010211:[N/A] 392055353
25010209:Thoarder_Male_Standard_NoWeapon_02_09 - [N/A] 1167900689
25010210:Thoarder_Male_Standard_NoWeapon_02_10 - [N/A] 4032173065
25010211:Thoarder_Male_Standard_NoWeapon_02_11 - [N/A] 392055353
25010301:Treasure Hoarders: Pyro Potioneer
25010302:Treasure Hoarders: Pyro Potioneer
25010401:Treasure Hoarders: Hydro Potioneer
@@ -253,6 +263,7 @@
25050402:Shogunate Infantry Captain
25050501:Sangonomiya Cohort
25050502:Sangonomiya Cohort
25050503:Ahigaru_Male_03 - [FR] - (test)心海个人线反抗军足轻
25060101:Treasure Hoarders: Pugilist
25060102:Treasure Hoarders: Pugilist
25070101:Treasure Hoarders: Crusher
@@ -264,59 +275,83 @@
25080301:Nobushi: Kikouban
25080401:Yoriki Samurai
25080402:Yoriki Samurai
25080403:[N/A] 1581579825
25080404:[N/A] 400320561
25080403:Samurai_Hatamoto_03 - [N/A] 1581579825
25080404:Samurai_Hatamoto_03 - [N/A] 400320561
25080405:Samurai_Hatamoto_04 - [N/A] 400320561
25100101:Kairagi: Dancing Thunder
25100102:Kairagi: Dancing Thunder
25100201:Kairagi: Fiery Might
25100202:Samurai_Kairagi_07 - Pyro Kairagi
25100301:Ochimusha: Ensorcelled Thunder
25100302:Ochimusha: Ensorcelled Thunder
25100401:Ochimusha: Cankered Flame
25110101:[N/A] 1820584137
25110102:[N/A] 2361510321
25110201:[N/A] 3397827697
25110202:[N/A] 1458817257
25210101:[N/A] 593962337
25210102:[N/A] 655804089
25210103:[N/A] 3189818729
25210104:[N/A] 2655106977
25210105:[N/A] 2175825297
25210106:[N/A] 660925665
25210107:[N/A] 2260729353
25210201:[N/A] 1998919569
25210202:[N/A] 2119181617
25210203:[N/A] 3425185161
25210204:[N/A] 3201394457
25210205:[N/A] 3735395833
25210206:[N/A] 1444996537
25210207:[N/A] 1636753185
25210301:[N/A] 4008986473
25210302:[N/A] 2939413633
25210303:[N/A] 2517557169
25210304:[N/A] 3890286705
25210305:[N/A] 1664946217
25210306:[N/A] 696066441
25210307:[N/A] 2671081977
25210401:[N/A] 998410809
25210402:[N/A] 839477089
25210403:[N/A] 2628038825
25210404:[N/A] 509218169
25210405:[N/A] 4366953
25210406:[N/A] 1385944497
25210501:[N/A] 914092905
25210502:[N/A] 3484979137
25210503:[N/A] 2747515289
25210504:[N/A] 1621612097
25210505:[N/A] 4251715865
25210506:[N/A] 124112617
25210601:[N/A] 3480498409
25210602:[N/A] 1531750897
25310101:[N/A] 2984077569
25310201:[N/A] 3154173257
25310202:[N/A] 3503187145
25310301:[N/A] 863506833
25410101:[N/A] 1317576089
25410201:[N/A] 1223193297
25110101:Gator_Eremite_Rock_01 - [N/A] 1820584137
25110102:Gator_Eremite_Rock_02 - [N/A] 2361510321
25110201:Vulture_Eremite_Wind_01 - [N/A] 3397827697
25110202:Vulture_Eremite_Wind_02 - [N/A] 1458817257
25110301:Scorpion_Eremite_Fire_01 - [N/A] 1458817257
25110401:Chrysopelea_Eremite_Grass_01 - [N/A] 1458817257
25210101:Eremite_Female_Hatchet_01 - [N/A] 593962337
25210102:Eremite_Female_Hatchet_02 - [N/A] 655804089
25210103:Eremite_Female_Hatchet_03 - [N/A] 3189818729
25210104:EremiteElite_Female_Hatchet_01 - [N/A] 2655106977
25210105:EremiteElite_Female_Hatchet_02 - [N/A] 2175825297
25210106:EremiteElite_Female_Hatchet_03 - [N/A] 660925665
25210107:Eremite_Female_Hatchet_04 - [N/A] 2260729353
25210108:Eremite_Female_Hatchet_05 - [N/A] 1446861633
25210109:NPC_Quest_Female_Standard_Nailan_20933 - [N/A] 2358839953
25210201:Eremite_Male_Standard_Crossbow_01 - [N/A] 1998919569
25210202:Eremite_Male_Standard_Crossbow_02 - [N/A] 2119181617
25210203:Eremite_Male_Standard_Crossbow_03 - [N/A] 3425185161
25210204:EremiteElite_Male_Standard_Crossbow_01 - [N/A] 3201394457
25210205:EremiteElite_Male_Standard_Crossbow_02 - [N/A] 3735395833
25210206:EremiteElite_Male_Standard_Crossbow_03 - [N/A] 1444996537
25210207:Eremite_Male_Standard_Crossbow_04 - [N/A] 1636753185
25210208:NPC_Quest_Male_Standard_Eremite_01 - [N/A] 2050456833
25210209:NPC_Quest_Male_Standard_Eremite_02 - [N/A] 3171996801
25210210:NPC_Sumeru_Male_Standard_Aderfi_4293 - [N/A] 2723889409
25210211:NPC_Quest_Male_Standard_Assassin02_20940 - [N/A] 3153927337
25210301:Eremite_Male_Standard_Pole_01 - [N/A] 4008986473
25210302:Eremite_Male_Standard_Pole_02 - [N/A] 2939413633
25210303:Eremite_Male_Standard_Pole_03 - [N/A] 2517557169
25210304:EremiteElite_Male_Standard_Pole_01 - [N/A] 3890286705
25210305:EremiteElite_Male_Standard_Pole_02 - [N/A] 1664946217
25210306:EremiteElite_Male_Standard_Pole_03 - [N/A] 696066441
25210307:Eremite_Male_Standard_Pole_01 - [N/A] 2671081977
25210308:NPC_Sumeru_Male_Standard_Warden03_4298 - [N/A] 2403836809
25210309:NPC_Sumeru_Male_Standard_Warden04_4299 - [N/A] 191969201
25210401:Eremite_MuscleMan_Gloves_01 - [N/A] 998410809
25210402:Eremite_MuscleMan_Gloves_02 - [N/A] 839477089
25210403:Eremite_MuscleMan_Gloves_03 - [N/A] 2628038825
25210404:EremiteElite_MuscleMan_Gloves_01 - [N/A] 509218169
25210405:EremiteElite_MuscleMan_Gloves_02 - [N/A] 4366953
25210406:EremiteElite_MuscleMan_Gloves_03 - [N/A] 1385944497
25210407:NPC_Quest_MuscleMan_Standard_Eremite_01 - [N/A] 3844535385
25210408:NPC_Quest_MuscleMan_Standard_Assassin01_20913 - [N/A] 2083537065
25210501:Eremite_MuscleMan_Simitar_01 - [N/A] 914092905
25210502:Eremite_MuscleMan_Simitar_02 - [N/A] 3484979137
25210503:Eremite_MuscleMan_Simitar_03 - [N/A] 2747515289
25210504:EremiteElite_MuscleMan_Simitar_01 - [N/A] 1621612097
25210505:EremiteElite_MuscleMan_Simitar_02 - [N/A] 4251715865
25210506:EremiteElite_MuscleMan_Simitar_03 - [N/A] 124112617
25210507:Eremite_MuscleMan_Simitar_04 - [N/A] 1714026825
25210508:NPC_Sumeru_MuscleMan_Standard_Yuften_4294 - [N/A] 2949828257
25210601:Eremite_Male_Standard_NoWeapon_01 - [N/A] 3480498409
25210602:Eremite_Male_Standard_NoWeapon_02 - [N/A] 1531750897
25310101:Eremite_Female_Slim_PushDagger_01 - [N/A] 2984077569
25310102:Eremite_Female_Slim_PushDagger_02 - [N/A] 1936242505
25310201:Eremite_Male_Standard_Glaive_01 - [N/A] 3154173257
25310202:Eremite_Male_Standard_Glaive_02 - [N/A] 3503187145
25310301:Eremite_Male_Standard_Polearm_01 - [N/A] 863506833
25410101:Eremite_Male_Strong_Katar_01 - [N/A] 1317576089
25410102:Eremite_Male_Strong_Katar_02 - [N/A] 1317576089
25410103:Eremite_Male_Strong_Katar_01 - [N/A] 1317576089
25410201:Eremite_Female_Standard_Longbow_01 - [N/A] 1223193297
25410202:Eremite_Female_Standard_Longbow_01 - [N/A] 1223193297
25410301:Eremite_Female_Standard_Oracle_01 - [N/A] 1223193297
25410302:Eremite_Female_Standard_Oracle_02 - [N/A] 3319063017
25410303:Eremite_Female_Standard_Oracle_03 - [N/A] 1427419849
25410401:Monster_Eremite_Female_Standard_Dancer_01 - [N/A] 1223193297
26010101:Cryo Whopperflower
26010102:Cryo Whopperflower
26010201:Pyro Whopperflower
@@ -335,28 +370,51 @@
26060201:Hydro Cicin
26060301:Cryo Cicin
26090101:Floating Hydro Fungus
26090201:[N/A] 4206793049
26090202:[N/A] 3825581857
26090301:[N/A] 243798441
26090401:[N/A] 2774139065
26090501:[N/A] 1181717657
26090601:[N/A] 4148148753
26090701:[N/A] 2130513233
26090801:[N/A] 554072617
26090901:[N/A] 2734459225
26091001:[N/A] 1409125529
26120101:[N/A] 198051785
26120201:[N/A] 2368019041
26120301:[N/A] 3299184601
26120401:[N/A] 4098645257
26090190:Fungus_Un_Gamma_Water_Enemy - [N/A] 2798916145
26090191:Fungus_Un_Gamma_Water_01_Capture - [N/A] 4229105793
26090201:Fungus_Un_Delta_Grass_01 - [N/A] 4206793049
26090202:Fungus_Un_Delta_Grass_01_02 - [N/A] 3825581857
26090290:Fungus_Un_Delta_Grass_Enemy - [N/A] 2834173953
26090291:Fungus_Un_Delta_Grass_01_Capture - [N/A] 3005241825
26090301:Fungus_Un_Delta_Wind_01 - [N/A] 243798441
26090390:Fungus_Un_Delta_Wind_Enemy - [N/A] 3376055609
26090391:Fungus_Un_Delta_Wind_01_Capture - [N/A] 1573739513
26090401:Fungus_Trois_Epsilon_Electric_01 - [N/A] 2774139065
26090490:Fungus_Trois_Epsilon_Electric_Enemy - [N/A] 783524481
26090491:Fungus_Trois_Epsilon_Electric_01_Capture - [N/A] 3709881913
26090501:Fungus_Trois_Alpha_Ice_01 - [N/A] 1181717657
26090590:Fungus_Trois_Alpha_Ice_Enemy - [N/A] 4208292977
26090591:Fungus_Trois_Alpha_Ice_01_Capture - [N/A] 1798960849
26090601:Fungus_Trois_Gamma_Fire_01 - [N/A] 4148148753
26090690:Fungus_Trois_Gamma_Fire_Enemy - [N/A] 4223971953
26090691:Fungus_Trois_Gamma_Fire_01_Capture - [N/A] 3680085465
26090701:Fungus_Deux_Alpha_Fire_01 - [N/A] 2130513233
26090790:Fungus_Deux_Alpha_Fire_Enemy - [N/A] 1078684105
26090791:Fungus_Deux_Alpha_Fire_01_Capture - [N/A] 2097382481
26090801:Fungus_Deux_Epsilon_Wind_01 - [N/A] 554072617
26090890:Fungus_Deux_Epsilon_Wind_Enemy - [N/A] 466604457
26090891:Fungus_Deux_Epsilon_Wind_01_Capture - [N/A] 3913813441
26090901:Fungus_Deux_Beta_Rock_01 - [N/A] 2734459225
26090990:Fungus_Deux_Beta_Rock_Enemy - [N/A] 287229801
26090991:Fungus_Deux_Beta_Rock_01_Capture - [N/A] 4221967233
26091001:Fungus_Deux_Delta_Electric_01 - [N/A] 1409125529
26091090:Fungus_Deux_Delta_Electric_Enemy - [N/A] 2977465545
26091091:Fungus_Deux_Delta_Electric_01_Capture - [N/A] 2399196673
26100301:Monster_Vulture_Sacred_Fire_01 - [N/A] 2399196673
26100401:Monster_Scorpion_Sacred_Electric_01 - [N/A] 2399196673
26100501:Monster_Chrysopelea_Sacred_Wind_01 - [N/A] 2399196673
26120101:Fungus_Amanita_Unu_Anudatta_Grass_01 - [N/A] 198051785
26120201:Fungus_Amanita_Unu_Svarita_Ices_01 - [N/A] 2368019041
26120301:Fungus_Amanita_Du_Anudatta_Water_01 - [N/A] 3299184601
26120401:Fungus_Amanita_Du_Udatta_Rock_01 - [N/A] 4098645257
28020101:Snow Fox
28020102:Crimson Fox
28020103:Gifting Snow Fox
28020104:Super-Gifting Snow Fox
28020105:Snow Fox
28020106:Crimson Fox
28020107:[N/A] 378885401
28020108:[N/A] 2121972905
28020107:Fox_02 - [N/A] 378885401
28020108:Fox_01_03 - [N/A] 2121972905
28020201:Squirrel
28020301:Forest Boar
28020302:Forest Piglet
@@ -367,12 +425,12 @@
28020307:Forest Boar
28020308:Frozen Snowboar
28020309:Great Snowboar King
28020310:[N/A] 1922000329
28020311:[N/A] 3804855321
28020312:[N/A] 1052664969
28020313:[N/A] 2391061289
28020314:[N/A] 2761000073
28020315:[N/A] 977650529
28020310:Boar_02_Hunt - [N/A] 1922000329
28020311:Boar_01_Hunt - [N/A] 3804855321
28020312:Boar_03_Hunt - [N/A] 1052664969
28020313:Boar_Grass - [N/A] 2391061289
28020314:Boar_Grass_Small - [N/A] 2761000073
28020315:Boar_09 - [N/A] 977650529
28020401:Northland Hound
28020402:Forest-Patrol Hound
28020403:Shiba
@@ -409,10 +467,11 @@
28020901:Samurai Dog Diversion (test)
28020902:Samurai dog boss (test)
28020903:Taroumaru
28020904:Inu_Shihandai_04 - [N/A] 467002241
28030101:Azure Crane
28030102:Violet Ibis
28030103:[N/A] 434877481
28030104:[N/A] 3431473329
28030103:Crane_01 - [N/A] 434877481
28030104:Crane_01_Lbis - [N/A] 3431473329
28030201:Brownwing Falcon
28030202:Umbertail Falcon
28030203:Lapis Glede
@@ -428,8 +487,9 @@
28030309:Graywing Pigeon
28030310:Crimsonflank Pigeon
28030311:Black King Pigeon
28030312:[N/A] 1045054721
28030313:[N/A] 45487625
28030312:Pigeon_01 - [N/A] 1045054721
28030313:Pigeon_Beak_01 - [N/A] 45487625
28030314:Crow_01 - [N/A] 3254419441
28030401:Crimson Finch
28030402:Golden Finch
28030403:Snow Finch
@@ -443,7 +503,7 @@
28030502:Emerald Duck
28030503:Golden Duck
28030504:Scarletbeak Duck
28030505:[N/A] 3375863305
28030505:Wigeon_01 - [N/A] 3375863305
28040703:Floating Ray
28050201:Amateur Weasel Thief
28050202:Hoarder Weasel Thief
@@ -455,49 +515,57 @@
28050221:Amateur Weasel Thief
28050222:Hoarder Weasel Thief
28050223:Golden Weasel Thief
28060101:[N/A] 128716817
28060102:[N/A] 2866718929
28060103:[N/A] 1328271489
28060201:[N/A] 2538068521
28060202:[N/A] 3539690529
28060203:[N/A] 3418949673
28060301:[N/A] 1575409961
28060302:[N/A] 35400545
28060401:[N/A] 2550380273
28060402:[N/A] 1827515817
28060501:[N/A] 2910802777
28060502:[N/A] 3424336233
28060503:[N/A] 3938050385
28060504:[N/A] 457094737
28060505:[N/A] 3374220305
28060506:[N/A] 1349374089
28060509:[N/A] 1497649297
28060510:[N/A] 3380533609
28060511:[N/A] 423020265
28060512:[N/A] 112703337
28060513:[N/A] 2396817929
28060601:[N/A] 2825466249
28060602:[N/A] 409501041
28060603:[N/A] 2740821897
28060604:[N/A] 2340527241
28060605:[N/A] 37512633
28060606:[N/A] 2214856321
28060609:[N/A] 1426424937
28060610:[N/A] 3717654113
28060611:[N/A] 1648208073
28060612:[N/A] 2053098161
28060613:[N/A] 276253497
28060614:[N/A] 465761521
28060701:[N/A] 3963893857
28060801:[N/A] 3494586161
28060901:[N/A] 3910686713
28061001:[N/A] 3720242777
28061002:[N/A] 3801760225
28061101:[N/A] 3407624849
28061201:[N/A] 2733673945
28061301:[N/A] 3469996769
28061401:[N/A] 2330015681
28061402:[N/A] 3443985385
28050501:Electrohercules_01 - [N/A] 2466918521
28050502:Electrohercules_02 - [N/A] 2466918521
28050503:Electrohercules_03 - [N/A] 2466918521
28050504:Electrohercules_04 - [N/A] 2466918521
28050505:Electrohercules_05 - [N/A] 2466918521
28050506:Electrohercules_06 - [N/A] 2466918521
28060101:Gator_01 - [N/A] 128716817
28060102:Gator_Strong_01 - [N/A] 2866718929
28060103:Gator_01 - [N/A] 1328271489
28060201:Panther_01 - [N/A] 2538068521
28060202:Panther_Strong_01 - [N/A] 3539690529
28060203:Panther_01 - [N/A] 3418949673
28060301:Vulture_01 - [N/A] 1575409961
28060302:Vulture_01 - [N/A] 35400545
28060401:Scorpion_01 - [N/A] 2550380273
28060402:Scorpion_01 - [N/A] 1827515817
28060501:Megamoth_Desert_01 - [N/A] 2910802777
28060502:Megamoth_Desert_02 - [N/A] 3424336233
28060503:Megamoth_Desert_03 - [N/A] 3938050385
28060504:Megamoth_Desert_01 - [N/A] 457094737
28060505:Megamoth_Desert_02 - [N/A] 3374220305
28060506:Megamoth_Desert_03 - [N/A] 1349374089
28060509:Megamoth_Desert_04 - [N/A] 1497649297
28060510:Megamoth_Desert_05 - [N/A] 3380533609
28060511:Megamoth_Desert_06 - [N/A] 423020265
28060512:Megamoth_Desert_07 - [N/A] 112703337
28060513:Megamoth_Desert_08 - [N/A] 2396817929
28060601:Megamoth_Jungle_01 - [N/A] 2825466249
28060602:Megamoth_Jungle_02 - [N/A] 409501041
28060603:Megamoth_Jungle_03 - [N/A] 2740821897
28060604:Megamoth_Jungle_01 - [N/A] 2340527241
28060605:Megamoth_Jungle_02 - [N/A] 37512633
28060606:Megamoth_Jungle_03 - [N/A] 2214856321
28060609:Megamoth_Jungle_Strong_01 - [N/A] 1426424937
28060610:Megamoth_Jungle_04 - [N/A] 3717654113
28060611:Megamoth_Jungle_05 - [N/A] 1648208073
28060612:Megamoth_Jungle_06 - [N/A] 2053098161
28060613:Megamoth_Jungle_07 - [N/A] 276253497
28060614:Megamoth_Jungle_08 - [N/A] 465761521
28060701:Megamoth_Desert_04 - [N/A] 3963893857
28060801:Megamoth_Desert_05 - [N/A] 3494586161
28060901:Megamoth_Desert_06 - [N/A] 3910686713
28061001:Megamoth_Desert_07 - [N/A] 3720242777
28061002:Megamoth_Desert_08 - [N/A] 3801760225
28061101:Megamoth_Jungle_04 - [N/A] 3407624849
28061201:Megamoth_Jungle_05 - [N/A] 2733673945
28061301:Megamoth_Jungle_06 - [N/A] 3469996769
28061401:Megamoth_Jungle_07 - [N/A] 2330015681
28061402:Megamoth_Jungle_08 - [N/A] 3443985385
28061501:Chrysopelea_01 - [N/A] 447726457
28061502:Chrysopelea_01 - [N/A] 3984456185
28210101:Serenitea Pot: Golden Crab
28210102:Serenitea Pot: Sun Crab
28210103:Serenitea Pot: Ocean Crab
@@ -510,23 +578,23 @@
28210205:Serenitea Pot: Golden Loach
28210206:Serenitea Pot: Sunny Loach
28210207:Serenitea Pot: Marrow Lizard
28210208:[N/A] 4168682209
28210208:Homeworld_Lizard_05 - [N/A] 4168682209
28210301:Serenitea Pot: Frog
28210302:Serenitea Pot: Mud Frog
28210303:Serenitea Pot: Blue Frog
28210304:[N/A] 1743923249
28210304:Homeworld_Frog_04 - [N/A] 1743923249
28210401:Serenitea Pot: Adorned Unagi
28210402:Serenitea Pot: Deep Sea Unagi
28210403:Serenitea Pot: Red-Finned Unagi
28210404:[N/A] 1020919801
28210404:Homeworld_Eel_04 - [N/A] 1020919801
28220101:Serenitea Pot: Snow Fox
28220102:Serenitea Pot: Crimson Fox
28220108:[N/A] 3596224209
28220108:Homeworld_Fox_03 - [N/A] 3596224209
28220201:Serenitea Pot: Squirrel
28220301:Serenitea Pot: Forest Boar
28220303:Serenitea Pot: Snowboar
28220313:[N/A] 2460569713
28220314:[N/A] 3974077529
28220313:Homeworld_Boar_Grass - [N/A] 2460569713
28220314:Homeworld_Boar_Grass_Small - [N/A] 3974077529
28220401:Serenitea Pot: Northland Hound
28220402:Serenitea Pot: Forest-Patrol Hound
28220403:Serenitea Pot: Shiba
@@ -540,20 +608,20 @@
28220601:Serenitea Pot: Snow Weasel
28220602:Serenitea Pot: Red-Tailed Weasel
28220603:Serenitea Pot: Boot Weasel
28220604:[N/A] 3102074185
28220604:Homeworld_Marten_04 - [N/A] 3102074185
28220605:Serenitea Pot: Bluethunder Weasel
28220701:Serenitea Pot: Kitsune
28220901:Serenitea Pot: Kageroumaru
28230101:Serenitea Pot: Azure Crane
28230102:Serenitea Pot: Violet Ibis
28230104:[N/A] 811422561
28230104:Homeworld_Crane_01_Lbis - [N/A] 811422561
28230301:Serenitea Pot: White Pigeon
28230302:Serenitea Pot: Brightcrown Pigeon
28230303:Serenitea Pot: Graywing Pigeon
28230304:Serenitea Pot: Crimsonflank Pigeon
28230305:Serenitea Pot: Black King Pigeon
28230306:Serenitea Pot: Crow
28230313:[N/A] 3724967537
28230313:Homeworld_Pigeon_Beak_01 - [N/A] 3724967537
28230401:Serenitea Pot: Crimson Finch
28230402:Serenitea Pot: Golden Finch
28230403:Serenitea Pot: Snow Finch
@@ -581,20 +649,20 @@
28240602:Serenitea Pot: Bitter Pufferfish
28240701:Serenitea Pot: Divda Ray
28240702:Serenitea Pot: Formalo Ray
28240801:[N/A] 2213501889
28240802:[N/A] 2420839809
28240803:[N/A] 619347953
28240804:[N/A] 2847515857
28240901:[N/A] 4288334729
28240902:[N/A] 2843011617
28240801:Homeworld_Fishable_Maritime_Batdiodan_01 - [N/A] 2213501889
28240802:Homeworld_Fishable_Maritime_Batdiodan_02 - [N/A] 2420839809
28240803:Homeworld_Fishable_Maritime_Batdiodan_03 - [N/A] 619347953
28240804:Homeworld_Fishable_Maritime_Batdiodan_04 - [N/A] 2847515857
28240901:Homeworld_Fishable_Maritime_Apsva_01 - [N/A] 4288334729
28240902:Homeworld_Fishable_Maritime_Apsva_02 - [N/A] 2843011617
28250101:Serenitea Pot: Anemo Crystalfly
28250102:Serenitea Pot: Geo Crystalfly
28250103:Serenitea Pot: Cryo Crystalfly
28250104:Serenitea Pot: Electro Crystalfly
28250105:Serenitea Pot: Coral Butterfly
28250106:[N/A] 3343647737
28250106:Homeworld_Wisp_Grass_01 - [N/A] 3343647737
28250301:Serenitea Pot: Lucklight Fly
28250401:[N/A] 741074761
28250401:Homeworld_Boltbug_Scarab_01 - [N/A] 741074761
// BOSS
@@ -605,8 +673,13 @@
20040301:Geo Hypostasis
20040302:Geo Hypostasis
20040401:Hydro Hypostasis
20040402:Effigy_Water_02 - [N/A] 2510499945
20040501:Cryo Hypostasis
20040502:Effigy_Ice_01 - [N/A] 244519785
20040601:Pyro Hypostasis
20040602:Effigy_Fire_02 - [N/A] 802657121
20040701:Effigy_Grass_01 - [N/A] 572615921
20040702:Effigy_Grass_02 - [N/A] 2410347593
20050101:Oceanid
20050102:Oceanid
20070101:Thunder Manifestation
@@ -614,12 +687,13 @@
24010401:Ruin Serpent
24021101:Perpetual Mechanical Array
24021102:Perpetual Mechanical Array
24030301:[N/A] 3108339881
24050101:[N/A] 2629579681
24030301:Gargoyle_Fafnir_01 - [N/A] 3108339881
24050101:Monolith_Starchild - [N/A] 2629579681
25090101:Maguu Kenki
25090102:Maguu Kenki: Wind Bunshin
25090103:Maguu Kenki: Ice Bunshin
25090104:Maguu Kenki: Masked Bunshin
25090105:Samurai_Ningyo_05 - Marionette General: Masked Bunshin
25090201:Maguu Kenki: Lone Gale
25090301:Maguu Kenki: Galloping Frost
25090401:Maguu Kenki: Mask of Terror
@@ -628,7 +702,7 @@
26020101:Cryo Regisvine
26020102:Cryo Regisvine
26020201:Pyro Regisvine
26020301:[N/A] 67218681
26020301:Regisvine_Electric - [N/A] 67218681
26050101:Primo Geovishap (Hydro)
26050201:Primo Geovishap (Pyro)
26050301:Primo Geovishap (Cryo)
@@ -639,7 +713,8 @@
26050801:Bolteater Bathysmal Vishap
26050802:Bolteater Bathysmal Vishap
26080101:Beisht
26110101:[N/A] 4290207929
26110101:Fungus_Raptor - [N/A] 4290207929
26130101:Sandworm_01 - [N/A] 4098645257
29010101:Stormterror
29010102:Stormterror
29010103:Stormterror
@@ -666,6 +741,12 @@
29060201:Magatsu Mitake Narukami no Mikoto
29060202:Magatsu Mitake Narukami no Mikoto
29060203:Magatsu Mitake Narukami no Mikoto
29070101:Monster_Nada - [N/A] 3425649649
29070102:Monster_Nada - [N/A] 996756049
29070103:Monster_Nada - [N/A] 887141825
29070104:Monster_Nada - [N/A] 3834332121
29070105:Monster_Nada - [N/A] 1547264913
29070106:Monster_Nada - [N/A] 641768601
// Animal
@@ -682,15 +763,15 @@
28010205:Golden Loach
28010206:Sunny Loach
28010207:Pith Lizard
28010208:[N/A] 404479849
28010208:Lizard_05 - [N/A] 404479849
28010301:Frog
28010302:Mud Frog
28010303:Blue Frog
28010304:[N/A] 13583441
28010304:Frog_04 - [N/A] 13583441
28010401:Adorned Unagi
28010402:Deep Sea Unagi
28010403:Red-Finned Unagi
28010404:[N/A] 2823603497
28010404:Eel_04 - [N/A] 2823603497
28040101:Black-Back Bass
28040102:Blue-Fin Bass
28040103:Golden Bass
@@ -704,9 +785,15 @@
28050103:Cryo Crystalfly
28050104:Electro Crystalfly
28050105:Coral Butterfly
28050106:[N/A] 149328065
28050106:Wisp_Grass_01 - [N/A] 149328065
28050301:Lucklight Fly
28050401:[N/A] 2466918521
28050401:Boltbug_Scarab_01 - [N/A] 2466918521
28050501:Electrohercules_01 - [N/A] 2466918521
28050502:Electrohercules_02 - [N/A] 2466918521
28050503:Electrohercules_03 - [N/A] 2466918521
28050504:Electrohercules_04 - [N/A] 2466918521
28050505:Electrohercules_05 - [N/A] 2466918521
28050506:Electrohercules_06 - [N/A] 2466918521
// Fish
@@ -733,12 +820,12 @@
28040602:Bitter Pufferfish
28040701:Divda Ray
28040702:Formalo Ray
28040801:[N/A] 1381140681
28040802:[N/A] 3230531961
28040803:[N/A] 2534877817
28040804:[N/A] 1321673065
28040901:[N/A] 3639121545
28040902:[N/A] 3476332937
28040801:Fishable_Maritime_Batdiodan_01 - [N/A] 1381140681
28040802:Fishable_Maritime_Batdiodan_02 - [N/A] 3230531961
28040803:Fishable_Maritime_Batdiodan_03 - [N/A] 2534877817
28040804:Fishable_Maritime_Batdiodan_04 - [N/A] 1321673065
28040901:Fishable_Maritime_Apsva_01 - [N/A] 3639121545
28040902:Fishable_Maritime_Apsva_02 - [N/A] 3476332937
// Partner
35210101:Gilded Brigade - One-Handed Axe (Forest Book)
@@ -747,8 +834,8 @@
35210303:Gilded NPC - 3.2 Garrison Soldier C
35210401:Gold Plated NPC - Luxembourg
35210501:NPC - Habachi
35310101:Gilded Brigade <EFBFBD><EFBFBD> Sand Water Purification (Golden Dreamland)
35310301:The Gilded Brigade <EFBFBD><EFBFBD> Thunder in the Daytime (Golden Dreamland)
35310101:Gilded Brigade ¡¤ Sand Water Purification (Golden Dreamland)
35310301:The Gilded Brigade ¡¤ Thunder in the Daytime (Golden Dreamland)
35210102:Jungle Leopard
36090190:Activity - Friendly Flying Water
36090290:Activity - Friendly Flying Grass

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -22,20 +22,20 @@
11415:Cinnabar Spindle
11416:Kagotsurube Isshin
11417:Sapwood Blade
11418:Xiphos Moonlight
11418:Xiphos' Moonlight
11419:Prized Isshin Blade
11420:Prized Isshin Blade
11421:Prized Isshin Blade
11422:Toukabou Shigure
11501:Aquila Favonia
11502:Skyward Blade
11503:Freedom-Sworn
11504:Summit Shaper
11505:Primordial Jade Cutter
11506:Primordial Jade Cutter
11507:One Side
11509:Mistsplitter Reforged
11510:Haran Geppaku Futsu
11511:Key of Khaj-Nisut
11512:Light of Foliar Incision
12101:Waster Greatsword
12201:Old Merc's Pal
12301:Ferrous Shadow
@@ -64,8 +64,6 @@
12502:Wolf's Gravestone
12503:Song of Broken Pines
12504:The Unforged
12505:Primordial Jade Greatsword
12506:The Other Side
12510:Redhorn Stonethresher
13101:Beginner's Protector
13201:Iron Point
@@ -91,7 +89,6 @@
13502:Skyward Spine
13504:Vortex Vanquisher
13505:Primordial Jade Winged-Spear
13506:Deicide
13507:Calamity Queller
13509:Engulfing Lightning
13511:Staff of the Scarlet Sands
@@ -121,12 +118,11 @@
14417:Fruit of Fulfillment
14501:Skyward Atlas
14502:Lost Prayer to the Sacred Winds
14503:Lost Ballade
14504:Memory of Dust
14505:Primordial Jade Regalia
14506:Everlasting Moonglow
14509:Kagura's Verity
14511:A Thousand Floating Dreams
14512:Tulaytullah's Remembrance
15101:Hunter's Bow
15201:Seasoned Hunter's Bow
15301:Raven Bow
@@ -156,9 +152,6 @@
15501:Skyward Harp
15502:Amos' Bow
15503:Elegy for the End
15504:Kunwu's Wyrmbane
15505:Primordial Jade Vista
15506:Mirror Breaker
15507:Polar Star
15508:Aqua Simulacra
15509:Thundering Pulse

View File

@@ -38,6 +38,46 @@
21544:Сон железного цветка
21553:Золотые годы
21554:Золотые годы
27412:Хранитель дивной мечты
27413:Хранитель дивной мечты
27422:Конец золотого царства
27423:Конец золотого царства
27432:Наследие пустынной знати
27433:Наследие пустынной знати
27442:Рождение города королей
27443:Рождение города королей
27452:Часы потерянного пути
27453:Часы потерянного пути
27513:Хранитель дивной мечты
27514:Хранитель дивной мечты
27523:Конец золотого царства
27524:Конец золотого царства
27533:Наследие пустынной знати
27534:Наследие пустынной знати
27543:Рождение города королей
27544:Рождение города королей
27553:Часы потерянного пути
27554:Часы потерянного пути
28412:Магический сосуд хранителя тайн
28413:Магический сосуд хранителя тайн
28422:Угасающий пир
28423:Угасающий пир
28432:Аметистовый венец
28433:Аметистовый венец
28442:Великолепие Ай-Ханум
28443:Великолепие Ай-Ханум
28452:Застывшее мгновение
28453:Застывшее мгновение
28513:Магический сосуд хранителя тайн
28514:Магический сосуд хранителя тайн
28523:Угасающий пир
28524:Угасающий пир
28533:Аметистовый венец
28534:Аметистовый венец
28543:Великолепие Ай-Ханум
28544:Великолепие Ай-Ханум
28553:Застывшее мгновение
28554:Застывшее мгновение
51110:Кубок временщика
51111:Кубок временщика
51112:Кубок временщика

View File

@@ -1,5 +1,7 @@
20:Воспоминания дремучего леса
21:Позолоченные сны
27:Хроники Чертогов в пустыне
28:Цветок потерянного рая
51:Решимость временщика
52:Душа храбреца
53:Воля защитника

View File

@@ -57,4 +57,8 @@
1071:Сайно
1072:Кандакия
1073:Нахида
1074:Лайла
1074:Лайла
1075:Странник
1076:Фарузан
1077:Яо Яо
1078:Аль-Хайтам

File diff suppressed because it is too large Load Diff

View File

@@ -9,9 +9,11 @@
20010403:Большой Анемо слайм
20010501:Электро слайм
20010502:Электро слайм
20010503:Slime_Electric_02_SimpleStick - [N/A] 1834387465
20010601:Большой Электро слайм
20010602:Большой Электро слайм
20010604:Большой Электро слайм
20010605:Slime_Electric_03_SimpleStick - [N/A] 3051091649
20010701:Электро слайм-мутант
20010702:Электро слайм-мутант
20010703:Электро слайм-мутант
@@ -22,6 +24,7 @@
20010902:Большой крио слайм
20010903:Большой Крио слайм
20010904:Большой Крио слайм
20010905:Slime_Ice_03_SimpleStick - [N/A] 3152089697
20011001:Гидро слайм
20011002:Гидро слайм
20011101:Большой Гидро слайм
@@ -30,9 +33,11 @@
20011201:Пиро слайм
20011202:Пиро слайм
20011203:Пиро слайм
20011204:Slime_Fire_02_SimpleStick - [N/A] 1669508241
20011301:Большой Пиро слайм
20011302:Большой Пиро слайм
20011304:Большой Пиро слайм
20011305:Slime_Fire_03_SimpleStick - [N/A] 771419505
20011401:Гео слайм
20011402:Гео слайм
20011501:Большой Гео слайм
@@ -42,6 +47,9 @@
20011701:Призыв Гидро гипостазиса - Малая половина
20011801:Призыв Гидро гипостазиса - Самоуничтожение
20011901:Призыв Гидро гипостазиса - Лечение
20012001:Effigy_Water_Underling_Ooze_05 - [N/A] 3817659321
20012101:Effigy_Water_Underling_Ooze_06 - [N/A] 2054683281
20012201:Effigy_Water_Underling_Ooze_07 - [N/A] 716714657
20020101:Глаз бури
20050201:Гидро мимик: Кабан
20050202:Гидро мимик: Кабан
@@ -68,7 +76,7 @@
20060401:Крио призрак
20060501:Электро призрак
20060601:Пиро призрак
20060701:[N/A] 586909705
20060701:Sylph_Grass_01 - [N/A] 586909705
21010101:Хиличурл
21010102:Хиличурл
21010201:Хиличурл-боец
@@ -153,10 +161,10 @@
22010404:Электро маг Бездны
22020101:Вестник Бездны: Злые течения
22020102:Вестник Бездны: Злые течения
22020103:[N/A] 3179556369
22020103:Invoker_Herald_Water_01 - [N/A] 3179556369
22030101:Чтец Бездны: Пурпурная молния
22030102:Чтец Бездны: Пурпурная молния
22030103:[N/A] 577563505
22030103:Invoker_Deacon_Electric_01 - [N/A] 577563505
22030201:Чтец Бездны: Пламя бездны
22030202:Чтец Бездны: Пламя бездны
22040101:Щенок Разрыва: Камнегрыз
@@ -171,6 +179,7 @@
22070302:Чёрный доспех: Гвардеец
22080101:Рыцарь Чёрного Змея: Разрезающий ветер
22090101:Угадай!
22100101:Invoker_Archdeacon_01 - Хиличурл
23010101:Застрельщик Фатуи: Крио бомбардир
23010201:Застрельщик Фатуи: Гидро бомбардир
23010301:Застрельщик Фатуи: Электро молотобоец
@@ -193,7 +202,7 @@
24010301:Руинный молотильщик
24010302:Руинный молотильщик
24010303:Руинный молотильщик
24010304:[N/A] 4152683505
24010304:Konungmathr_None_WQ - [N/A] 4152683505
24020101:Руинный патрульный
24020102:Руинный патрульный
24020103:Руинный патрульный
@@ -203,15 +212,16 @@
24020301:Руинный защитник
24020302:Руинный защитник
24020303:Руинный защитник
24020304:[N/A] 3323395121
24020304:Apparatus_Enigma_BionicInsecta_Karkata - [N/A] 3323395121
24020401:Руинный шпион
24020402:Руинный шпион
24020403:Руинный шпион
24030101:[N/A] 765448937
24030201:[N/A] 3903929633
24040101:[N/A] 1462919497
24040201:[N/A] 285953129
24040301:[N/A] 3626535649
24030101:Gargoyle_Airborne_01 - [N/A] 765448937
24030201:Gargoyle_Ground_01 - [N/A] 3903929633
24040101:Monolith_Ordinator_01 - [N/A] 1462919497
24040201:Monolith_Ordinator_02 - [N/A] 285953129
24040301:Monolith_Ordinator_03 - [N/A] 3626535649
24990101:Monster_Alternate_01 - [N/A] 3880332545
25010101:«Лю Лю»
25010102:Таинственный человек
25010103:Похитители сокровищ: Лю Лю
@@ -225,9 +235,9 @@
25010206:Похитители сокровищ: Разведчик
25010207:Похитители сокровищ: Разведчик
25010208:Похитители сокровищ: Разведчик
25010209:[N/A] 1167900689
25010210:[N/A] 4032173065
25010211:[N/A] 392055353
25010209:Thoarder_Male_Standard_NoWeapon_02_09 - [N/A] 1167900689
25010210:Thoarder_Male_Standard_NoWeapon_02_10 - [N/A] 4032173065
25010211:Thoarder_Male_Standard_NoWeapon_02_11 - [N/A] 392055353
25010301:Похитители сокровищ: Пиро химик
25010302:Похитители сокровищ: Пиро химик
25010401:Похитители сокровищ: Гидро химик
@@ -253,6 +263,7 @@
25050402:Капитан пехоты сёгуната
25050501:Сторонник Сангономии
25050502:Сторонник Сангономии
25050503:Ahigaru_Male_03 - (test)心海个人线反抗军足轻
25060101:Похитители сокровищ: Боксёр
25060102:Похитители сокровищ: Боксёр
25070101:Похитители сокровищ: Сокрушитель
@@ -264,59 +275,83 @@
25080301:Нобуси: Кикобан
25080401:Самурай-ёрики
25080402:Самурай-ёрики
25080403:[N/A] 1581579825
25080404:[N/A] 400320561
25080403:Samurai_Hatamoto_03 - [N/A] 1581579825
25080404:Samurai_Hatamoto_03 - [N/A] 400320561
25080405:Samurai_Hatamoto_04 - [N/A] 400320561
25100101:Кайраги: Громовое вознесение
25100102:Кайраги: Громовое вознесение
25100201:Кайраги: Огненная мощь
25100202:Samurai_Kairagi_07 - Пиро кайраги
25100301:Отимуся: Проклятый гром
25100302:Отимуся: Проклятый гром
25100401:Отимуся: Нечестивое пламя
25110101:[N/A] 1820584137
25110102:[N/A] 2361510321
25110201:[N/A] 3397827697
25110202:[N/A] 1458817257
25210101:[N/A] 593962337
25210102:[N/A] 655804089
25210103:[N/A] 3189818729
25210104:[N/A] 2655106977
25210105:[N/A] 2175825297
25210106:[N/A] 660925665
25210107:[N/A] 2260729353
25210201:[N/A] 1998919569
25210202:[N/A] 2119181617
25210203:[N/A] 3425185161
25210204:[N/A] 3201394457
25210205:[N/A] 3735395833
25210206:[N/A] 1444996537
25210207:[N/A] 1636753185
25210301:[N/A] 4008986473
25210302:[N/A] 2939413633
25210303:[N/A] 2517557169
25210304:[N/A] 3890286705
25210305:[N/A] 1664946217
25210306:[N/A] 696066441
25210307:[N/A] 2671081977
25210401:[N/A] 998410809
25210402:[N/A] 839477089
25210403:[N/A] 2628038825
25210404:[N/A] 509218169
25210405:[N/A] 4366953
25210406:[N/A] 1385944497
25210501:[N/A] 914092905
25210502:[N/A] 3484979137
25210503:[N/A] 2747515289
25210504:[N/A] 1621612097
25210505:[N/A] 4251715865
25210506:[N/A] 124112617
25210601:[N/A] 3480498409
25210602:[N/A] 1531750897
25310101:[N/A] 2984077569
25310201:[N/A] 3154173257
25310202:[N/A] 3503187145
25310301:[N/A] 863506833
25410101:[N/A] 1317576089
25410201:[N/A] 1223193297
25110101:Gator_Eremite_Rock_01 - [N/A] 1820584137
25110102:Gator_Eremite_Rock_02 - [N/A] 2361510321
25110201:Vulture_Eremite_Wind_01 - [N/A] 3397827697
25110202:Vulture_Eremite_Wind_02 - [N/A] 1458817257
25110301:Scorpion_Eremite_Fire_01 - [N/A] 1458817257
25110401:Chrysopelea_Eremite_Grass_01 - [N/A] 1458817257
25210101:Eremite_Female_Hatchet_01 - [N/A] 593962337
25210102:Eremite_Female_Hatchet_02 - [N/A] 655804089
25210103:Eremite_Female_Hatchet_03 - [N/A] 3189818729
25210104:EremiteElite_Female_Hatchet_01 - [N/A] 2655106977
25210105:EremiteElite_Female_Hatchet_02 - [N/A] 2175825297
25210106:EremiteElite_Female_Hatchet_03 - [N/A] 660925665
25210107:Eremite_Female_Hatchet_04 - [N/A] 2260729353
25210108:Eremite_Female_Hatchet_05 - [N/A] 1446861633
25210109:NPC_Quest_Female_Standard_Nailan_20933 - [N/A] 2358839953
25210201:Eremite_Male_Standard_Crossbow_01 - [N/A] 1998919569
25210202:Eremite_Male_Standard_Crossbow_02 - [N/A] 2119181617
25210203:Eremite_Male_Standard_Crossbow_03 - [N/A] 3425185161
25210204:EremiteElite_Male_Standard_Crossbow_01 - [N/A] 3201394457
25210205:EremiteElite_Male_Standard_Crossbow_02 - [N/A] 3735395833
25210206:EremiteElite_Male_Standard_Crossbow_03 - [N/A] 1444996537
25210207:Eremite_Male_Standard_Crossbow_04 - [N/A] 1636753185
25210208:NPC_Quest_Male_Standard_Eremite_01 - [N/A] 2050456833
25210209:NPC_Quest_Male_Standard_Eremite_02 - [N/A] 3171996801
25210210:NPC_Sumeru_Male_Standard_Aderfi_4293 - [N/A] 2723889409
25210211:NPC_Quest_Male_Standard_Assassin02_20940 - [N/A] 3153927337
25210301:Eremite_Male_Standard_Pole_01 - [N/A] 4008986473
25210302:Eremite_Male_Standard_Pole_02 - [N/A] 2939413633
25210303:Eremite_Male_Standard_Pole_03 - [N/A] 2517557169
25210304:EremiteElite_Male_Standard_Pole_01 - [N/A] 3890286705
25210305:EremiteElite_Male_Standard_Pole_02 - [N/A] 1664946217
25210306:EremiteElite_Male_Standard_Pole_03 - [N/A] 696066441
25210307:Eremite_Male_Standard_Pole_01 - [N/A] 2671081977
25210308:NPC_Sumeru_Male_Standard_Warden03_4298 - [N/A] 2403836809
25210309:NPC_Sumeru_Male_Standard_Warden04_4299 - [N/A] 191969201
25210401:Eremite_MuscleMan_Gloves_01 - [N/A] 998410809
25210402:Eremite_MuscleMan_Gloves_02 - [N/A] 839477089
25210403:Eremite_MuscleMan_Gloves_03 - [N/A] 2628038825
25210404:EremiteElite_MuscleMan_Gloves_01 - [N/A] 509218169
25210405:EremiteElite_MuscleMan_Gloves_02 - [N/A] 4366953
25210406:EremiteElite_MuscleMan_Gloves_03 - [N/A] 1385944497
25210407:NPC_Quest_MuscleMan_Standard_Eremite_01 - [N/A] 3844535385
25210408:NPC_Quest_MuscleMan_Standard_Assassin01_20913 - [N/A] 2083537065
25210501:Eremite_MuscleMan_Simitar_01 - [N/A] 914092905
25210502:Eremite_MuscleMan_Simitar_02 - [N/A] 3484979137
25210503:Eremite_MuscleMan_Simitar_03 - [N/A] 2747515289
25210504:EremiteElite_MuscleMan_Simitar_01 - [N/A] 1621612097
25210505:EremiteElite_MuscleMan_Simitar_02 - [N/A] 4251715865
25210506:EremiteElite_MuscleMan_Simitar_03 - [N/A] 124112617
25210507:Eremite_MuscleMan_Simitar_04 - [N/A] 1714026825
25210508:NPC_Sumeru_MuscleMan_Standard_Yuften_4294 - [N/A] 2949828257
25210601:Eremite_Male_Standard_NoWeapon_01 - [N/A] 3480498409
25210602:Eremite_Male_Standard_NoWeapon_02 - [N/A] 1531750897
25310101:Eremite_Female_Slim_PushDagger_01 - [N/A] 2984077569
25310102:Eremite_Female_Slim_PushDagger_02 - [N/A] 1936242505
25310201:Eremite_Male_Standard_Glaive_01 - [N/A] 3154173257
25310202:Eremite_Male_Standard_Glaive_02 - [N/A] 3503187145
25310301:Eremite_Male_Standard_Polearm_01 - [N/A] 863506833
25410101:Eremite_Male_Strong_Katar_01 - [N/A] 1317576089
25410102:Eremite_Male_Strong_Katar_02 - [N/A] 1317576089
25410103:Eremite_Male_Strong_Katar_01 - [N/A] 1317576089
25410201:Eremite_Female_Standard_Longbow_01 - [N/A] 1223193297
25410202:Eremite_Female_Standard_Longbow_01 - [N/A] 1223193297
25410301:Eremite_Female_Standard_Oracle_01 - [N/A] 1223193297
25410302:Eremite_Female_Standard_Oracle_02 - [N/A] 3319063017
25410303:Eremite_Female_Standard_Oracle_03 - [N/A] 1427419849
25410401:Monster_Eremite_Female_Standard_Dancer_01 - [N/A] 1223193297
26010101:Крио попрыгунья
26010102:Крио попрыгунья
26010201:Пиро попрыгунья
@@ -335,28 +370,51 @@
26060201:Гидро цицин
26060301:Крио цицин
26090101:Плавучий Гидро плесенник
26090201:[N/A] 4206793049
26090202:[N/A] 3825581857
26090301:[N/A] 243798441
26090401:[N/A] 2774139065
26090501:[N/A] 1181717657
26090601:[N/A] 4148148753
26090701:[N/A] 2130513233
26090801:[N/A] 554072617
26090901:[N/A] 2734459225
26091001:[N/A] 1409125529
26120101:[N/A] 198051785
26120201:[N/A] 2368019041
26120301:[N/A] 3299184601
26120401:[N/A] 4098645257
26090190:Fungus_Un_Gamma_Water_Enemy - [N/A] 2798916145
26090191:Fungus_Un_Gamma_Water_01_Capture - [N/A] 4229105793
26090201:Fungus_Un_Delta_Grass_01 - [N/A] 4206793049
26090202:Fungus_Un_Delta_Grass_01_02 - [N/A] 3825581857
26090290:Fungus_Un_Delta_Grass_Enemy - [N/A] 2834173953
26090291:Fungus_Un_Delta_Grass_01_Capture - [N/A] 3005241825
26090301:Fungus_Un_Delta_Wind_01 - [N/A] 243798441
26090390:Fungus_Un_Delta_Wind_Enemy - [N/A] 3376055609
26090391:Fungus_Un_Delta_Wind_01_Capture - [N/A] 1573739513
26090401:Fungus_Trois_Epsilon_Electric_01 - [N/A] 2774139065
26090490:Fungus_Trois_Epsilon_Electric_Enemy - [N/A] 783524481
26090491:Fungus_Trois_Epsilon_Electric_01_Capture - [N/A] 3709881913
26090501:Fungus_Trois_Alpha_Ice_01 - [N/A] 1181717657
26090590:Fungus_Trois_Alpha_Ice_Enemy - [N/A] 4208292977
26090591:Fungus_Trois_Alpha_Ice_01_Capture - [N/A] 1798960849
26090601:Fungus_Trois_Gamma_Fire_01 - [N/A] 4148148753
26090690:Fungus_Trois_Gamma_Fire_Enemy - [N/A] 4223971953
26090691:Fungus_Trois_Gamma_Fire_01_Capture - [N/A] 3680085465
26090701:Fungus_Deux_Alpha_Fire_01 - [N/A] 2130513233
26090790:Fungus_Deux_Alpha_Fire_Enemy - [N/A] 1078684105
26090791:Fungus_Deux_Alpha_Fire_01_Capture - [N/A] 2097382481
26090801:Fungus_Deux_Epsilon_Wind_01 - [N/A] 554072617
26090890:Fungus_Deux_Epsilon_Wind_Enemy - [N/A] 466604457
26090891:Fungus_Deux_Epsilon_Wind_01_Capture - [N/A] 3913813441
26090901:Fungus_Deux_Beta_Rock_01 - [N/A] 2734459225
26090990:Fungus_Deux_Beta_Rock_Enemy - [N/A] 287229801
26090991:Fungus_Deux_Beta_Rock_01_Capture - [N/A] 4221967233
26091001:Fungus_Deux_Delta_Electric_01 - [N/A] 1409125529
26091090:Fungus_Deux_Delta_Electric_Enemy - [N/A] 2977465545
26091091:Fungus_Deux_Delta_Electric_01_Capture - [N/A] 2399196673
26100301:Monster_Vulture_Sacred_Fire_01 - [N/A] 2399196673
26100401:Monster_Scorpion_Sacred_Electric_01 - [N/A] 2399196673
26100501:Monster_Chrysopelea_Sacred_Wind_01 - [N/A] 2399196673
26120101:Fungus_Amanita_Unu_Anudatta_Grass_01 - [N/A] 198051785
26120201:Fungus_Amanita_Unu_Svarita_Ices_01 - [N/A] 2368019041
26120301:Fungus_Amanita_Du_Anudatta_Water_01 - [N/A] 3299184601
26120401:Fungus_Amanita_Du_Udatta_Rock_01 - [N/A] 4098645257
28020101:Снежная лиса
28020102:Алая лиса
28020103:Снежная лиса с подарками
28020104:Снежная лиса с суперподарками
28020105:Снежная лиса
28020106:Алая лиса
28020107:[N/A] 378885401
28020108:[N/A] 2121972905
28020107:Fox_02 - [N/A] 378885401
28020108:Fox_01_03 - [N/A] 2121972905
28020201:Белка
28020301:Лесной кабан
28020302:Лесной кабанчик
@@ -367,12 +425,12 @@
28020307:Лесной кабан
28020308:Замороженный снежный кабан
28020309:Король снежных кабанов
28020310:[N/A] 1922000329
28020311:[N/A] 3804855321
28020312:[N/A] 1052664969
28020313:[N/A] 2391061289
28020314:[N/A] 2761000073
28020315:[N/A] 977650529
28020310:Boar_02_Hunt - [N/A] 1922000329
28020311:Boar_01_Hunt - [N/A] 3804855321
28020312:Boar_03_Hunt - [N/A] 1052664969
28020313:Boar_Grass - [N/A] 2391061289
28020314:Boar_Grass_Small - [N/A] 2761000073
28020315:Boar_09 - [N/A] 977650529
28020401:Полярная гончая
28020402:Лесная патрульная
28020403:Сиба-ину
@@ -409,10 +467,11 @@
28020901:Пёс-самурай (Патруль)
28020902:Пёс-самурай (Бой)
28020903:Таромару
28020904:Inu_Shihandai_04 - [N/A] 467002241
28030101:Лазурный журавль
28030102:Фиолетовый ибис
28030103:[N/A] 434877481
28030104:[N/A] 3431473329
28030103:Crane_01 - [N/A] 434877481
28030104:Crane_01_Lbis - [N/A] 3431473329
28030201:Бурокрылый сокол
28030202:Янтарнохвостый сокол
28030203:Каменный коршун
@@ -428,8 +487,9 @@
28030309:Среброкрылый голубь
28030310:Багровый голубь
28030311:Чёрный голубь
28030312:[N/A] 1045054721
28030313:[N/A] 45487625
28030312:Pigeon_01 - [N/A] 1045054721
28030313:Pigeon_Beak_01 - [N/A] 45487625
28030314:Crow_01 - [N/A] 3254419441
28030401:Алый зяблик
28030402:Золотой зяблик
28030403:Снежный зяблик
@@ -441,9 +501,8 @@
28030409:Изумрудный зяблик
28030501:Красноклювая утка
28030502:Изумрудная утка
28030503:Жёлтая утка
28030504:Красноклювая утка
28030505:[N/A] 3375863305
28030505:Wigeon_01 - [N/A] 3375863305
28040703:Дрейфующий скат
28050201:Хорёк-воришка
28050202:Хорёк-барахольщик
@@ -455,49 +514,57 @@
28050221:Хорёк-воришка
28050222:Хорёк-барахольщик
28050223:Золотой хорёк-воришка
28060101:[N/A] 128716817
28060102:[N/A] 2866718929
28060103:[N/A] 1328271489
28060201:[N/A] 2538068521
28060202:[N/A] 3539690529
28060203:[N/A] 3418949673
28060301:[N/A] 1575409961
28060302:[N/A] 35400545
28060401:[N/A] 2550380273
28060402:[N/A] 1827515817
28060501:[N/A] 2910802777
28060502:[N/A] 3424336233
28060503:[N/A] 3938050385
28060504:[N/A] 457094737
28060505:[N/A] 3374220305
28060506:[N/A] 1349374089
28060509:[N/A] 1497649297
28060510:[N/A] 3380533609
28060511:[N/A] 423020265
28060512:[N/A] 112703337
28060513:[N/A] 2396817929
28060601:[N/A] 2825466249
28060602:[N/A] 409501041
28060603:[N/A] 2740821897
28060604:[N/A] 2340527241
28060605:[N/A] 37512633
28060606:[N/A] 2214856321
28060609:[N/A] 1426424937
28060610:[N/A] 3717654113
28060611:[N/A] 1648208073
28060612:[N/A] 2053098161
28060613:[N/A] 276253497
28060614:[N/A] 465761521
28060701:[N/A] 3963893857
28060801:[N/A] 3494586161
28060901:[N/A] 3910686713
28061001:[N/A] 3720242777
28061002:[N/A] 3801760225
28061101:[N/A] 3407624849
28061201:[N/A] 2733673945
28061301:[N/A] 3469996769
28061401:[N/A] 2330015681
28061402:[N/A] 3443985385
28050501:Electrohercules_01 - [N/A] 2466918521
28050502:Electrohercules_02 - [N/A] 2466918521
28050503:Electrohercules_03 - [N/A] 2466918521
28050504:Electrohercules_04 - [N/A] 2466918521
28050505:Electrohercules_05 - [N/A] 2466918521
28050506:Electrohercules_06 - [N/A] 2466918521
28060101:Gator_01 - [N/A] 128716817
28060102:Gator_Strong_01 - [N/A] 2866718929
28060103:Gator_01 - [N/A] 1328271489
28060201:Panther_01 - [N/A] 2538068521
28060202:Panther_Strong_01 - [N/A] 3539690529
28060203:Panther_01 - [N/A] 3418949673
28060301:Vulture_01 - [N/A] 1575409961
28060302:Vulture_01 - [N/A] 35400545
28060401:Scorpion_01 - [N/A] 2550380273
28060402:Scorpion_01 - [N/A] 1827515817
28060501:Megamoth_Desert_01 - [N/A] 2910802777
28060502:Megamoth_Desert_02 - [N/A] 3424336233
28060503:Megamoth_Desert_03 - [N/A] 3938050385
28060504:Megamoth_Desert_01 - [N/A] 457094737
28060505:Megamoth_Desert_02 - [N/A] 3374220305
28060506:Megamoth_Desert_03 - [N/A] 1349374089
28060509:Megamoth_Desert_04 - [N/A] 1497649297
28060510:Megamoth_Desert_05 - [N/A] 3380533609
28060511:Megamoth_Desert_06 - [N/A] 423020265
28060512:Megamoth_Desert_07 - [N/A] 112703337
28060513:Megamoth_Desert_08 - [N/A] 2396817929
28060601:Megamoth_Jungle_01 - [N/A] 2825466249
28060602:Megamoth_Jungle_02 - [N/A] 409501041
28060603:Megamoth_Jungle_03 - [N/A] 2740821897
28060604:Megamoth_Jungle_01 - [N/A] 2340527241
28060605:Megamoth_Jungle_02 - [N/A] 37512633
28060606:Megamoth_Jungle_03 - [N/A] 2214856321
28060609:Megamoth_Jungle_Strong_01 - [N/A] 1426424937
28060610:Megamoth_Jungle_04 - [N/A] 3717654113
28060611:Megamoth_Jungle_05 - [N/A] 1648208073
28060612:Megamoth_Jungle_06 - [N/A] 2053098161
28060613:Megamoth_Jungle_07 - [N/A] 276253497
28060614:Megamoth_Jungle_08 - [N/A] 465761521
28060701:Megamoth_Desert_04 - [N/A] 3963893857
28060801:Megamoth_Desert_05 - [N/A] 3494586161
28060901:Megamoth_Desert_06 - [N/A] 3910686713
28061001:Megamoth_Desert_07 - [N/A] 3720242777
28061002:Megamoth_Desert_08 - [N/A] 3801760225
28061101:Megamoth_Jungle_04 - [N/A] 3407624849
28061201:Megamoth_Jungle_05 - [N/A] 2733673945
28061301:Megamoth_Jungle_06 - [N/A] 3469996769
28061401:Megamoth_Jungle_07 - [N/A] 2330015681
28061402:Megamoth_Jungle_08 - [N/A] 3443985385
28061501:Chrysopelea_01 - [N/A] 447726457
28061502:Chrysopelea_01 - [N/A] 3984456185
28210101:Чайник безмятежности: золотистый краб
28210102:Чайник безмятежности: солнечный краб
28210103:Чайник безмятежности: водный краб
@@ -510,23 +577,23 @@
28210205:Чайник безмятежности: золотистый аксолотль
28210206:Чайник безмятежности: небесный аксолотль
28210207:Чайник безмятежности: мозгоядный ящер
28210208:[N/A] 4168682209
28210208:Homeworld_Lizard_05 - [N/A] 4168682209
28210301:Чайник безмятежности: лягушка
28210302:Чайник безмятежности: грязевая лягушка
28210303:Чайник безмятежности: синяя лягушка
28210304:[N/A] 1743923249
28210304:Homeworld_Frog_04 - [N/A] 1743923249
28210401:Чайник безмятежности: узорный унаги
28210402:Чайник безмятежности: Глубоководный унаги
28210403:Чайник безмятежности: краснопёрый унаги
28210404:[N/A] 1020919801
28210404:Homeworld_Eel_04 - [N/A] 1020919801
28220101:Чайник безмятежности: снежная лиса
28220102:Чайник безмятежности: алая лиса
28220108:[N/A] 3596224209
28220108:Homeworld_Fox_03 - [N/A] 3596224209
28220201:Чайник безмятежности: белка
28220301:Чайник безмятежности: лесной кабан
28220303:Чайник безмятежности: снежный кабан
28220313:[N/A] 2460569713
28220314:[N/A] 3974077529
28220313:Homeworld_Boar_Grass - [N/A] 2460569713
28220314:Homeworld_Boar_Grass_Small - [N/A] 3974077529
28220401:Чайник безмятежности: полярная гончая
28220402:Чайник безмятежности: лесная патрульная гончая
28220403:Чайник безмятежности: сиба-ину
@@ -540,20 +607,20 @@
28220601:Чайник безмятежности: снежный хорёк
28220602:Чайник безмятежности: краснохвостый хорёк
28220603:Чайник безмятежности: сапожный хорёк
28220604:[N/A] 3102074185
28220604:Homeworld_Marten_04 - [N/A] 3102074185
28220605:Чайник безмятежности: Хорёк сиреневой молнии
28220701:Чайник безмятежности: кицунэ
28220901:Чайник безмятежности: Кагэромару
28230101:Чайник безмятежности: лазурный журавль
28230102:Чайник безмятежности: фиолетовый ибис
28230104:[N/A] 811422561
28230104:Homeworld_Crane_01_Lbis - [N/A] 811422561
28230301:Чайник безмятежности: белый голубь
28230302:Чайник безмятежности: коронованный голубь
28230303:Чайник безмятежности: среброкрылый голубь
28230304:Чайник безмятежности: багровый голубь
28230305:Чайник безмятежности: чёрный голубь
28230306:Чайник безмятежности: ворон
28230313:[N/A] 3724967537
28230313:Homeworld_Pigeon_Beak_01 - [N/A] 3724967537
28230401:Чайник безмятежности: алый зяблик
28230402:Чайник безмятежности: золотой зяблик
28230403:Чайник безмятежности: снежный зяблик
@@ -581,20 +648,20 @@
28240602:Чайник безмятежности: горький иглобрюх
28240701:Чайник безмятежности: Дивдинский скат
28240702:Чайник безмятежности: Фумарольный скат
28240801:[N/A] 2213501889
28240802:[N/A] 2420839809
28240803:[N/A] 619347953
28240804:[N/A] 2847515857
28240901:[N/A] 4288334729
28240902:[N/A] 2843011617
28240801:Homeworld_Fishable_Maritime_Batdiodan_01 - [N/A] 2213501889
28240802:Homeworld_Fishable_Maritime_Batdiodan_02 - [N/A] 2420839809
28240803:Homeworld_Fishable_Maritime_Batdiodan_03 - [N/A] 619347953
28240804:Homeworld_Fishable_Maritime_Batdiodan_04 - [N/A] 2847515857
28240901:Homeworld_Fishable_Maritime_Apsva_01 - [N/A] 4288334729
28240902:Homeworld_Fishable_Maritime_Apsva_02 - [N/A] 2843011617
28250101:Чайник безмятежности: кристальная бабочка Анемо
28250102:Чайник безмятежности: кристальная бабочка Гео
28250103:Чайник безмятежности: кристальная бабочка Крио
28250104:Чайник безмятежности: кристальная бабочка Электро
28250105:Чайник безмятежности: Коралловая бабочка
28250106:[N/A] 3343647737
28250106:Homeworld_Wisp_Grass_01 - [N/A] 3343647737
28250301:Чайник безмятежности: Светлячок удачи
28250401:[N/A] 741074761
28250401:Homeworld_Boltbug_Scarab_01 - [N/A] 741074761
// BOSS
@@ -605,8 +672,13 @@
20040301:Гео гипостазис Гимель
20040302:Гео гипостазис Гимель
20040401:Гидро гипостазис
20040402:Effigy_Water_02 - [N/A] 2510499945
20040501:Крио гипостазис
20040502:Effigy_Ice_01 - [N/A] 244519785
20040601:Пиро гипостазис
20040602:Effigy_Fire_02 - [N/A] 802657121
20040701:Effigy_Grass_01 - [N/A] 572615921
20040702:Effigy_Grass_02 - [N/A] 2410347593
20050101:Океанид
20050102:Океанид
20070101:Манифестация грома
@@ -614,12 +686,13 @@
24010401:Змей руин
24021101:Бесконечный механический массив
24021102:Бесконечный механический массив
24030301:[N/A] 3108339881
24050101:[N/A] 2629579681
24030301:Gargoyle_Fafnir_01 - [N/A] 3108339881
24050101:Monolith_Starchild - [N/A] 2629579681
25090101:Магу кэнки
25090102:Магу кэнки: Бунсин ветра
25090103:Магу кэнки: Бунсин льда
25090104:Магу кэнки: Бунсин маски
25090105:Samurai_Ningyo_05 - Генерал-марионетка: Бунсин маски
25090201:Магу кэнки: Одинокий ветер
25090301:Магу кэнки: Бегущий иней
25090401:Магу кэнки: Маска ужаса
@@ -628,7 +701,7 @@
26020101:Крио папоротник
26020102:Крио папоротник
26020201:Пиро орхидея
26020301:[N/A] 67218681
26020301:Regisvine_Electric - [N/A] 67218681
26050101:Древний геовишап - Гидро
26050201:Древний геовишап - Пиро
26050301:Древний геовишап - Крио
@@ -639,7 +712,8 @@
26050801:Вишап глубин: Громоглот
26050802:Вишап глубин: Громоглот
26080101:Бешт
26110101:[N/A] 4290207929
26110101:Fungus_Raptor - [N/A] 4290207929
26130101:Sandworm_01 - [N/A] 4098645257
29010101:Ужас Бури
29010102:Ужас Бури
29010103:Ужас Бури
@@ -666,6 +740,12 @@
29060201:Магацу митакэ Наруками но микото
29060202:Магацу митакэ Наруками но микото
29060203:Магацу митакэ Наруками но микото
29070101:Monster_Nada - [N/A] 3425649649
29070102:Monster_Nada - [N/A] 996756049
29070103:Monster_Nada - [N/A] 887141825
29070104:Monster_Nada - [N/A] 3834332121
29070105:Monster_Nada - [N/A] 1547264913
29070106:Monster_Nada - [N/A] 641768601
// Животное
@@ -682,15 +762,15 @@
28010205:Золотистый аксолотль
28010206:Небесный аксолотль
28010207:Мозгоядный ящер
28010208:[N/A] 404479849
28010208:Lizard_05 - [N/A] 404479849
28010301:Лягушка
28010302:Грязевая лягушка
28010303:Синяя лягушка
28010304:[N/A] 13583441
28010304:Frog_04 - [N/A] 13583441
28010401:Узорный унаги
28010402:Глубоководный унаги
28010403:Краснопёрый унаги
28010404:[N/A] 2823603497
28010404:Eel_04 - [N/A] 2823603497
28040101:Чёрный окунь
28040102:Голубой окунь
28040103:Золотистый окунь
@@ -704,9 +784,15 @@
28050103:Кристальная бабочка Крио
28050104:Кристальная бабочка Электро
28050105:Коралловая бабочка
28050106:[N/A] 149328065
28050106:Wisp_Grass_01 - [N/A] 149328065
28050301:Светлячок удачи
28050401:[N/A] 2466918521
28050401:Boltbug_Scarab_01 - [N/A] 2466918521
28050501:Electrohercules_01 - [N/A] 2466918521
28050502:Electrohercules_02 - [N/A] 2466918521
28050503:Electrohercules_03 - [N/A] 2466918521
28050504:Electrohercules_04 - [N/A] 2466918521
28050505:Electrohercules_05 - [N/A] 2466918521
28050506:Electrohercules_06 - [N/A] 2466918521
// Рыбы
@@ -733,12 +819,12 @@
28040602:Горький иглобрюх
28040701:Дивдинский скат
28040702:Фумарольный скат
28040801:[N/A] 1381140681
28040802:[N/A] 3230531961
28040803:[N/A] 2534877817
28040804:[N/A] 1321673065
28040901:[N/A] 3639121545
28040902:[N/A] 3476332937
28040801:Fishable_Maritime_Batdiodan_01 - [N/A] 1381140681
28040802:Fishable_Maritime_Batdiodan_02 - [N/A] 3230531961
28040803:Fishable_Maritime_Batdiodan_03 - [N/A] 2534877817
28040804:Fishable_Maritime_Batdiodan_04 - [N/A] 1321673065
28040901:Fishable_Maritime_Apsva_01 - [N/A] 3639121545
28040902:Fishable_Maritime_Apsva_02 - [N/A] 3476332937
// Партнёр
@@ -760,4 +846,4 @@
36090790:Активность — Дружественный растянутый огонь
36090890:Активность — Дружелюбный растянутый ветер
36090990:Активность — Дружелюбная растянутая скала
36091090:Активность — Дружелюбный растянутый гром
36091090:Активность — Дружелюбный растянутый гром

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -11,7 +11,7 @@
11403:Церемониальный меч
11404:Меч аристократов
11405:Драконий рык
11406:Прототип:Злоба
11406:Прототип: Злоба
11407:Стальное жало
11408:Черногорский длинный меч
11409:Чёрный меч
@@ -26,16 +26,16 @@
11419:Легендарный клинок Иссин
11420:Легендарный клинок Иссин
11421:Легендарный клинок Иссин
11422:Токабо сигурэ
11501:Меч Сокола
11502:Небесный меч
11503:Клятва свободы
11504:Кромсатель пиков
11505:Драгоценный омут
11506:Древний Нефритовый Резак
11507:Одна Сторона
11509:Рассекающий туман
11510:Харан гэппаку фуцу
11511:Ключ Хадж-нисут
11512:Свет лиственного разреза
12101:Двуручный меч богатыря
12201:Лучший друг наёмника
12301:Металлическая тень
@@ -49,7 +49,7 @@
12403:Церемониальный двуручный меч
12404:Королевский двуручный меч
12405:Дождерез
12406:Прототип:Архаичный
12406:Прототип: Архаичный
12407:Белая тень
12408:Черногорская бритва
12409:Меч драконьей кости
@@ -64,8 +64,6 @@
12502:Волчья погибель
12503:Песнь разбитых сосен
12504:Некованый
12505:Древний Нефритовый Двуручный Меч
12506:Другая Сторона
12510:Краснорогий камнеруб
13101:Копьё новичка
13201:Железный наконечник
@@ -74,7 +72,7 @@
13303:Чёрная кисть
13304:Флагшток
13401:Гроза драконов
13402:Прототип:Звёздный блеск
13402:Прототип: Звёздный блеск
13403:Пика полумесяца
13404:Черногорская пика
13405:Смертельный бой
@@ -91,7 +89,6 @@
13502:Небесная ось
13504:Покоритель вихря
13505:Нефритовый коршун
13506:Богоубийство
13507:Усмиритель бед
13509:Сияющая жатва
13511:Посох алых песков
@@ -108,7 +105,7 @@
14403:Церемониальные мемуары
14404:Королевский гримуар
14405:Солнечная жемчужина
14406:Прототип:Янтарь
14406:Прототип: Янтарь
14407:Морской атлас
14408:Черногорский агат
14409:Око сознания
@@ -121,12 +118,11 @@
14417:Плод восполнения
14501:Небесный атлас
14502:Молитва святым ветрам
14503:Утерянная Баллада
14504:Память о пыли
14505:Древняя Нефритовая Регалия
14506:Вечное лунное сияние
14509:Истина кагура
14511:Сновидения тысячи ночей
14512:Воспоминания Тулайтуллы
15101:Лук охотника
15201:Лук опытного охотника
15301:Лук ворона
@@ -140,7 +136,7 @@
15403:Церемониальный лук
15404:Королевский лук
15405:Ржавый лук
15406:Прототип:Полумесяц
15406:Прототип: Полумесяц
15407:Составной лук
15408:Черногорский боевой лук
15409:Зелёный лук
@@ -156,9 +152,6 @@
15501:Небесное крыло
15502:Лук Амоса
15503:Элегия погибели
15504:Убийца Драконов Кунву
15505:Древняя Нефритовая Виста
15506:Разбитое зеркало
15507:Полярная звезда
15508:Аква симулякрум
15509:Громовой пульс

View File

@@ -38,6 +38,46 @@
21544:梦中的铁花
21553:沉金的岁月
21554:沉金的岁月
27412:迷醉长梦的守护
27413:迷醉长梦的守护
27422:黄金邦国的结末
27423:黄金邦国的结末
27432:流沙贵嗣的遗宝
27433:流沙贵嗣的遗宝
27442:众王之都的开端
27443:众王之都的开端
27452:失落迷途的机芯
27453:失落迷途的机芯
27513:迷醉长梦的守护
27514:迷醉长梦的守护
27523:黄金邦国的结末
27524:黄金邦国的结末
27533:流沙贵嗣的遗宝
27534:流沙贵嗣的遗宝
27543:众王之都的开端
27544:众王之都的开端
27553:失落迷途的机芯
27554:失落迷途的机芯
28412:守秘的魔瓶
28413:守秘的魔瓶
28422:谢落的筵席
28423:谢落的筵席
28432:紫晶的花冠
28433:紫晶的花冠
28442:月女的华彩
28443:月女的华彩
28452:凝结的时刻
28453:凝结的时刻
28513:守秘的魔瓶
28514:守秘的魔瓶
28523:谢落的筵席
28524:谢落的筵席
28533:紫晶的花冠
28534:紫晶的花冠
28543:月女的华彩
28544:月女的华彩
28553:凝结的时刻
28554:凝结的时刻
51110:异国之盏
51111:异国之盏
51112:异国之盏

View File

@@ -1,5 +1,7 @@
20:深林的记忆
21:饰金之梦
27:沙上楼阁史话
28:乐园遗落之花
51:行者之心
52:勇士之心
53:守护之心

View File

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

View File

@@ -67,4 +67,8 @@
解锁所有状态(可使用尘歌壶道具)
/unlockall
无CD
/setstats cdr 100%
/setstats cdr 100%
全皮肤
/give 340000|/give 340001|/give 340002|/give 340003|/give 340004|/give 340005|/give 340006|/give 340007|/give 340008|/give 340009
月卡
/give 1202 x999

View File

@@ -1,4 +1,4 @@
1:深入狼之殿
1:深入狼之殿
2:丘丘人大本营(test)
3:丘丘人巢穴(test)
4:小岩洞据点(test)
@@ -60,6 +60,7 @@
67:塔防V3测试(test)
68:旋转房间白盒(test)
69:测试秘境
70:(test)圆柱测试地城
71:(test)3.2散兵boss地城
72:(test)风场地城测试01
73:(test)风场地城测试04
@@ -77,6 +78,8 @@
85:测试秘境 V
86:测试秘境 Ⅵ
88:(test)奇趣秘园白盒
89:(test)LCM测试秘境
90:(test)须弥单线白盒
91:(test)吃豆人白盒
101:黄金与孤影
102:群玉阁剧情
@@ -196,10 +199,11 @@
1167:正机之神殿
1168:3.3间章地城01(test)
1169:3.3间章地城02(test)
1170:
1170:漂浮的回忆
1171:3.3间章地城03test
1172:3.3间章地城04test
1173:3.3间章地城05test
1174:
2000:阿卡狄亚的失落秘宝
2001:暴风般狂啸之龙
2002:风魔龙-净化(test)
@@ -526,6 +530,13 @@
4053:『标准乐谱』模式的『三部曲·燃灼之炉』
4054:『标准乐谱』模式的『谐谑曲·束浪之池』
4055:『标准乐谱』模式的『回旋曲·森郁之笼』
4056:(test)3.4连线挑战地城1
4057:(test)3.4连线挑战地城2
4058:(test)3.4连线挑战地城3
4059:(test)3.4连线挑战地城4
4060:(test)3.4连线挑战地城5
4061:渐逝的冥想
4062:亡者的叹息
4200:精通秘境:刺骨之霜 I
4201:精通秘境:刺骨之霜 II
4202:精通秘境:刺骨之霜 III
@@ -770,6 +781,8 @@
6058:角色试玩关-纳西妲(test)
6059:角色试玩关-流浪者(test)
6060:角色试玩关-法露珊(test)
6061:角色试玩关-瑶瑶(test)
6062:角色试玩关-艾尔海森(test)
7000:苇风可凋井边桐
7001:苇风可凋井边桐难度1
7002:解鞍倚枕画仙桥难度2
@@ -916,4 +929,11 @@
8304:(test)3.3迷城复刻04
8305:(test)3.3迷城复刻05
8306:(test)3.3迷城复刻06
8307:(test)3.3迷城复刻07
8307:(test)3.3迷城复刻07
8401:(test)3.4拼刀地城01
8402:(test)3.4拼刀地城02
8403:(test)3.4拼刀地城03
8404:(test)3.4拼刀地城04
8405:(test)3.4拼刀地城05
8406:(test)3.4拼刀地城06
8407:(test)3.4拼刀地城07

View File

@@ -40,6 +40,9 @@
097:雳裁冥昭-赛诺
098:杯装之诗-温迪
099:神铸赋形-赤沙终末
//100:翩舞歈莲-妮露 // Error
0100:翩舞歈莲-妮露
0103:月草的赐慧-纳西妲
0109:余火变相-流浪者
0115:敕诫枢谋-艾尔海森
101:深秘之息-阿贝多
101:神铸赋形-圣显绿箭

View File

@@ -40,6 +40,24 @@
097:雳裁冥昭-赛诺
098:杯装之诗-温迪
099:神铸赋形-赤沙终末
//100:翩舞歈莲-妮露 // Error
100:翩舞歈莲-妮露
101:深秘之息-阿贝多
101:神铸赋形-圣显绿箭
102:神铸赋形-圣显绿箭
103:月草的赐慧-纳西妲
104:焰色天河-宵宫
105:神铸赋形-千夜飞雷
106:华紫樱绯-八重神子
107:暂别冬都-达达利亚
108:神铸赋形-神乐冬极
109:余火变相-流浪者
110:鬼门斗宴-荒泷一斗
111:神铸赋形-图莱杜拉赤角
112:影寂天下人-雷电将军
113:苍流踏花-神里绫人
114:神铸赋形-薙草波乱
115:敕诫枢谋-艾尔海森
116:烟火之邀-魈
117:神铸赋形-裁叶萃光和璞鸢
118:赤团开时-胡桃
119:素霓伣天-夜兰
120:神铸赋形-护摩若水

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

File diff suppressed because it is too large Load Diff

View File

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

View File

@@ -38,6 +38,46 @@
21544:夢中的鐵花
21553:沉金的歲月
21554:沉金的歲月
27412:迷醉長夢的守護
27413:迷醉長夢的守護
27422:黃金邦國的結末
27423:黃金邦國的結末
27432:流沙貴嗣的遺寶
27433:流沙貴嗣的遺寶
27442:眾王之都的開端
27443:眾王之都的開端
27452:失落迷途的機芯
27453:失落迷途的機芯
27513:迷醉長夢的守護
27514:迷醉長夢的守護
27523:黃金邦國的結末
27524:黃金邦國的結末
27533:流沙貴嗣的遺寶
27534:流沙貴嗣的遺寶
27543:眾王之都的開端
27544:眾王之都的開端
27553:失落迷途的機芯
27554:失落迷途的機芯
28412:守秘的魔瓶
28413:守秘的魔瓶
28422:謝落的筵席
28423:謝落的筵席
28432:紫晶的花冠
28433:紫晶的花冠
28442:月女的華彩
28443:月女的華彩
28452:凝結的時刻
28453:凝結的時刻
28513:守秘的魔瓶
28514:守秘的魔瓶
28523:謝落的筵席
28524:謝落的筵席
28533:紫晶的花冠
28534:紫晶的花冠
28543:月女的華彩
28544:月女的華彩
28553:凝結的時刻
28554:凝結的時刻
51110:異國之盞
51111:異國之盞
51112:異國之盞

View File

@@ -1,5 +1,7 @@
20:深林的記憶
21:飾金之夢
27:沙上樓閣史話
28:樂園遺落之花
51:行者之心
52:勇士之心
53:守護之心

View File

@@ -57,4 +57,8 @@
1071:賽諾
1072:坎蒂絲
1073:納西妲
1074:萊依拉
1074:萊依拉
1075:流浪者
1076:琺露珊
1077:瑶瑶
1078:艾尔海森

File diff suppressed because it is too large Load Diff

View File

@@ -9,9 +9,11 @@
20010403:大型風史萊姆
20010501:雷史萊姆
20010502:雷史萊姆(塔防)
20010503:Slime_Electric_02_SimpleStick - [N/A] 1834387465
20010601:大型雷史萊姆
20010602:大型雷史萊姆(塔防)
20010604:大型雷史萊姆
20010605:Slime_Electric_03_SimpleStick - [N/A] 3051091649
20010701:變異雷史萊姆
20010702:變異雷史萊姆
20010703:變異雷史萊姆(塔防)
@@ -22,6 +24,7 @@
20010902:大型冰史萊姆-雪山活動
20010903:大型冰史萊姆(塔防)
20010904:大型冰史萊姆
20010905:Slime_Ice_03_SimpleStick - [N/A] 3152089697
20011001:水史萊姆
20011002:水史萊姆(塔防)
20011101:大型水史萊姆
@@ -30,9 +33,11 @@
20011201:火史萊姆
20011202:火史萊姆
20011203:火史萊姆(塔防)
20011204:Slime_Fire_02_SimpleStick - [N/A] 1669508241
20011301:大型火史萊姆
20011302:大型火史萊姆(塔防)
20011304:大型火史萊姆
20011305:Slime_Fire_03_SimpleStick - [N/A] 771419505
20011401:岩史萊姆
20011402:岩史萊姆(塔防)
20011501:大型岩史萊姆
@@ -42,6 +47,9 @@
20011701:無相之水-召喚物-小分裂
20011801:無相之水-召喚物-自爆
20011901:無相之水-召喚物-回血
20012001:Effigy_Water_Underling_Ooze_05 - [N/A] 3817659321
20012101:Effigy_Water_Underling_Ooze_06 - [N/A] 2054683281
20012201:Effigy_Water_Underling_Ooze_07 - [N/A] 716714657
20020101:狂風之核
20050201:純水之豬
20050202:純水之豬(強化)
@@ -153,10 +161,10 @@
22010404:雷深淵法師-強攻強化
22020101:深淵使徒·激流(消失)
22020102:深淵使徒·激流(常駐)
22020103:[N/A] 3179556369
22020103:Invoker_Herald_Water_01 - [N/A] 3179556369
22030101:深淵詠者·紫電(消失)
22030102:深淵詠者·紫電(常駐)
22030103:[N/A] 577563505
22030103:Invoker_Deacon_Electric_01 - [N/A] 577563505
22030201:深淵詠者·淵火
22030202:深淵詠者·淵火
22040101:嗜岩·獸境幼獸
@@ -171,6 +179,7 @@
22070302:黯色空殼·近衛
22080101:黑蛇騎士·斬風之劍
22090101:你猜你猜你猜猜猜
22100101:Invoker_Archdeacon_01 - 丘丘人
23010101:愚人眾先遣隊·冰銃重衛士
23010201:愚人眾先遣隊·水銃重衛士
23010301:愚人眾先遣隊·雷錘前鋒軍
@@ -193,7 +202,7 @@
24010301:遺蹟重機
24010302:遺蹟重機(塔防)
24010303:遺蹟重機(挖礦版)
24010304:[N/A] 4152683505
24010304:Konungmathr_None_WQ - [N/A] 4152683505
24020101:遺蹟巡弋者
24020102:遺蹟巡弋者(閹割版)
24020103:遺蹟巡弋者(強化版)
@@ -203,15 +212,16 @@
24020301:遺蹟防衛者
24020302:遺蹟防衛者(閹割版)
24020303:遺蹟防衛者(強化版)
24020304:[N/A] 3323395121
24020304:Apparatus_Enigma_BionicInsecta_Karkata - [N/A] 3323395121
24020401:遺蹟偵察者
24020402:遺蹟偵察者(閹割版)
24020403:遺蹟偵察者(強化版)
24030101:遺跡龍獸·空巡
24030201:遺跡龍獸·地巡
24040101:[N/A] 1462919497
24040201:[N/A] 285953129
24040301:[N/A] 3626535649
24040101:Monolith_Ordinator_01 - [N/A] 1462919497
24040201:Monolith_Ordinator_02 - [N/A] 285953129
24040301:Monolith_Ordinator_03 - [N/A] 3626535649
24990101:Monster_Alternate_01 - [N/A] 3880332545
25010101:「溜溜」
25010102:神秘人
25010103:盜寶團·「溜溜」
@@ -225,9 +235,9 @@
25010206:盜寶團·斥候
25010207:盜寶團·斥候
25010208:盜寶團·斥候
25010209:[N/A] 1167900689
25010210:[N/A] 4032173065
25010211:[N/A] 392055353
25010209:Thoarder_Male_Standard_NoWeapon_02_09 - [N/A] 1167900689
25010210:Thoarder_Male_Standard_NoWeapon_02_10 - [N/A] 4032173065
25010211:Thoarder_Male_Standard_NoWeapon_02_11 - [N/A] 392055353
25010301:盜寶團·火之藥劑師
25010302:盜寶團·火之藥劑師
25010401:盜寶團·水之藥劑師
@@ -253,6 +263,7 @@
25050402:幕府足輕頭
25050501:珊瑚宮眾
25050502:珊瑚宮眾
25050503:Ahigaru_Male_03 - [FR] - (test)心海个人线反抗军足轻
25060101:盜寶團·拳術家
25060102:盜寶團·拳術家
25070101:盜寶團·粉碎者
@@ -264,59 +275,83 @@
25080301:野伏·機巧番
25080401:寄騎武士
25080402:寄騎武士
25080403:[N/A] 1581579825
25080404:[N/A] 400320561
25080403:Samurai_Hatamoto_03 - [N/A] 1581579825
25080404:Samurai_Hatamoto_03 - [N/A] 400320561
25080405:Samurai_Hatamoto_04 - [N/A] 400320561
25100101:海亂鬼·雷騰
25100102:海亂鬼·雷騰
25100201:海亂鬼·炎威
25100202:Samurai_Kairagi_07 - 海亂鬼-火
25100301:落武者·咒雷
25100302:落武者·咒雷
25100401:落武者·祟炎
25110101:[N/A] 1820584137
25110102:[N/A] 2361510321
25110201:[N/A] 3397827697
25110202:[N/A] 1458817257
25110101:Gator_Eremite_Rock_01 - [N/A] 1820584137
25110102:Gator_Eremite_Rock_02 - [N/A] 2361510321
25110201:Vulture_Eremite_Wind_01 - [N/A] 3397827697
25110202:Vulture_Eremite_Wind_02 - [N/A] 1458817257
25110301:Scorpion_Eremite_Fire_01 - [N/A] 1458817257
25110401:Chrysopelea_Eremite_Grass_01 - [N/A] 1458817257
25210101:鍍金旅團·陣前斧手
25210102:[N/A] 655804089
25210103:[N/A] 3189818729
25210104:[N/A] 2655106977
25210105:[N/A] 2175825297
25210106:[N/A] 660925665
25210107:[N/A] 2260729353
25210102:Eremite_Female_Hatchet_02 - [N/A] 655804089
25210103:Eremite_Female_Hatchet_03 - [N/A] 3189818729
25210104:EremiteElite_Female_Hatchet_01 - [N/A] 2655106977
25210105:EremiteElite_Female_Hatchet_02 - [N/A] 2175825297
25210106:EremiteElite_Female_Hatchet_03 - [N/A] 660925665
25210107:Eremite_Female_Hatchet_04 - [N/A] 2260729353
25210108:Eremite_Female_Hatchet_05 - [N/A] 1446861633
25210109:NPC_Quest_Female_Standard_Nailan_20933 - [N/A] 2358839953
25210201:鍍金旅團·機弩兵
25210202:[N/A] 2119181617
25210203:[N/A] 3425185161
25210204:[N/A] 3201394457
25210205:[N/A] 3735395833
25210206:[N/A] 1444996537
25210207:[N/A] 1636753185
25210202:Eremite_Male_Standard_Crossbow_02 - [N/A] 2119181617
25210203:Eremite_Male_Standard_Crossbow_03 - [N/A] 3425185161
25210204:EremiteElite_Male_Standard_Crossbow_01 - [N/A] 3201394457
25210205:EremiteElite_Male_Standard_Crossbow_02 - [N/A] 3735395833
25210206:EremiteElite_Male_Standard_Crossbow_03 - [N/A] 1444996537
25210207:Eremite_Male_Standard_Crossbow_04 - [N/A] 1636753185
25210208:NPC_Quest_Male_Standard_Eremite_01 - [N/A] 2050456833
25210209:NPC_Quest_Male_Standard_Eremite_02 - [N/A] 3171996801
25210210:NPC_Sumeru_Male_Standard_Aderfi_4293 - [N/A] 2723889409
25210211:NPC_Quest_Male_Standard_Assassin02_20940 - [N/A] 3153927337
25210301:鍍金旅團·鴉喙戟手
25210302:[N/A] 2939413633
25210303:[N/A] 2517557169
25210304:[N/A] 3890286705
25210305:[N/A] 1664946217
25210306:[N/A] 696066441
25210307:[N/A] 2671081977
25210302:Eremite_Male_Standard_Pole_02 - [N/A] 2939413633
25210303:Eremite_Male_Standard_Pole_03 - [N/A] 2517557169
25210304:EremiteElite_Male_Standard_Pole_01 - [N/A] 3890286705
25210305:EremiteElite_Male_Standard_Pole_02 - [N/A] 1664946217
25210306:EremiteElite_Male_Standard_Pole_03 - [N/A] 696066441
25210307:Eremite_Male_Standard_Pole_01 - [N/A] 2671081977
25210308:NPC_Sumeru_Male_Standard_Warden03_4298 - [N/A] 2403836809
25210309:NPC_Sumeru_Male_Standard_Warden04_4299 - [N/A] 191969201
25210401:鍍金旅團·破陣者
25210402:[N/A] 839477089
25210403:[N/A] 2628038825
25210404:[N/A] 509218169
25210405:[N/A] 4366953
25210406:[N/A] 1385944497
25210402:Eremite_MuscleMan_Gloves_02 - [N/A] 839477089
25210403:Eremite_MuscleMan_Gloves_03 - [N/A] 2628038825
25210404:EremiteElite_MuscleMan_Gloves_01 - [N/A] 509218169
25210405:EremiteElite_MuscleMan_Gloves_02 - [N/A] 4366953
25210406:EremiteElite_MuscleMan_Gloves_03 - [N/A] 1385944497
25210407:NPC_Quest_MuscleMan_Standard_Eremite_01 - [N/A] 3844535385
25210408:NPC_Quest_MuscleMan_Standard_Assassin01_20913 - [N/A] 2083537065
25210501:鍍金旅團·刀舞者
25210502:[N/A] 3484979137
25210503:[N/A] 2747515289
25210504:[N/A] 1621612097
25210505:[N/A] 4251715865
25210506:[N/A] 124112617
25210601:[N/A] 3480498409
25210602:[N/A] 1531750897
25210502:Eremite_MuscleMan_Simitar_02 - [N/A] 3484979137
25210503:Eremite_MuscleMan_Simitar_03 - [N/A] 2747515289
25210504:EremiteElite_MuscleMan_Simitar_01 - [N/A] 1621612097
25210505:EremiteElite_MuscleMan_Simitar_02 - [N/A] 4251715865
25210506:EremiteElite_MuscleMan_Simitar_03 - [N/A] 124112617
25210507:Eremite_MuscleMan_Simitar_04 - [N/A] 1714026825
25210508:NPC_Sumeru_MuscleMan_Standard_Yuften_4294 - [N/A] 2949828257
25210601:Eremite_Male_Standard_NoWeapon_01 - [N/A] 3480498409
25210602:Eremite_Male_Standard_NoWeapon_02 - [N/A] 1531750897
25310101:鍍金旅團·沙中淨水
25310102:Eremite_Female_Slim_PushDagger_02 - [N/A] 1936242505
25310201:鍍金旅團·熾陽凝冰
25310202:[N/A] 3503187145
25310202:Eremite_Male_Standard_Glaive_02 - [N/A] 3503187145
25310301:鍍金旅團·白日鳴雷
25410101:[N/A] 1317576089
25410201:[N/A] 1223193297
25410101:Eremite_Male_Strong_Katar_01 - [N/A] 1317576089
25410102:Eremite_Male_Strong_Katar_02 - [N/A] 1317576089
25410103:Eremite_Male_Strong_Katar_01 - [N/A] 1317576089
25410201:Eremite_Female_Standard_Longbow_01 - [N/A] 1223193297
25410202:Eremite_Female_Standard_Longbow_01 - [N/A] 1223193297
25410301:Eremite_Female_Standard_Oracle_01 - [N/A] 1223193297
25410302:Eremite_Female_Standard_Oracle_02 - [N/A] 3319063017
25410303:Eremite_Female_Standard_Oracle_03 - [N/A] 1427419849
25410401:Monster_Eremite_Female_Standard_Dancer_01 - [N/A] 1223193297
26010101:冰霜騙騙花
26010102:冰霜騙騙花(雪山活動)
26010201:熾熱騙騙花
@@ -335,28 +370,51 @@
26060201:水螢
26060301:冰螢
26090101:浮游水蕈獸
26090190:Fungus_Un_Gamma_Water_Enemy - [N/A] 2798916145
26090191:Fungus_Un_Gamma_Water_01_Capture - [N/A] 4229105793
26090201:旋轉雷蕈獸
26090202:[N/A] 3825581857
26090301:[N/A] 243798441
26090202:Fungus_Un_Delta_Grass_01_02 - [N/A] 3825581857
26090290:Fungus_Un_Delta_Grass_Enemy - [N/A] 2834173953
26090291:Fungus_Un_Delta_Grass_01_Capture - [N/A] 3005241825
26090301:Fungus_Un_Delta_Wind_01 - [N/A] 243798441
26090390:Fungus_Un_Delta_Wind_Enemy - [N/A] 3376055609
26090391:Fungus_Un_Delta_Wind_01_Capture - [N/A] 1573739513
26090401:旋轉冰蕈獸
26090490:Fungus_Trois_Epsilon_Electric_Enemy - [N/A] 783524481
26090491:Fungus_Trois_Epsilon_Electric_01_Capture - [N/A] 3709881913
26090501:伸縮火蕈獸
26090601:[N/A] 4148148753
26090590:Fungus_Trois_Alpha_Ice_Enemy - [N/A] 4208292977
26090591:Fungus_Trois_Alpha_Ice_01_Capture - [N/A] 1798960849
26090601:Fungus_Trois_Gamma_Fire_01 - [N/A] 4148148753
26090690:Fungus_Trois_Gamma_Fire_Enemy - [N/A] 4223971953
26090691:Fungus_Trois_Gamma_Fire_01_Capture - [N/A] 3680085465
26090701:伸縮風蕈獸
26090790:Fungus_Deux_Alpha_Fire_Enemy - [N/A] 1078684105
26090791:Fungus_Deux_Alpha_Fire_01_Capture - [N/A] 2097382481
26090801:伸縮岩蕈獸
26090890:Fungus_Deux_Epsilon_Wind_Enemy - [N/A] 466604457
26090891:Fungus_Deux_Epsilon_Wind_01_Capture - [N/A] 3913813441
26090901:陸行水本真蕈
26091001:[N/A] 1409125529
26090990:Fungus_Deux_Beta_Rock_Enemy - [N/A] 287229801
26090991:Fungus_Deux_Beta_Rock_01_Capture - [N/A] 4221967233
26091001:Fungus_Deux_Delta_Electric_01 - [N/A] 1409125529
26091090:Fungus_Deux_Delta_Electric_Enemy - [N/A] 2977465545
26091091:Fungus_Deux_Delta_Electric_01_Capture - [N/A] 2399196673
26100301:Monster_Vulture_Sacred_Fire_01 - [N/A] 2399196673
26100401:Monster_Scorpion_Sacred_Electric_01 - [N/A] 2399196673
26100501:Monster_Chrysopelea_Sacred_Wind_01 - [N/A] 2399196673
26120101:有翼草本真蕈
26120201:有翼冰本真蕈
26120301:[N/A] 3299184601
26120401:[N/A] 4098645257
26120301:Fungus_Amanita_Du_Anudatta_Water_01 - [N/A] 3299184601
26120401:Fungus_Amanita_Du_Udatta_Rock_01 - [N/A] 4098645257
28020101:雪狐
28020102:紅狐
28020103:送禮雪狐
28020104:送大禮雪狐
28020105:雪狐
28020106:紅狐
28020107:[N/A] 378885401
28020108:[N/A] 2121972905
28020107:Fox_02 - [N/A] 378885401
28020108:Fox_01_03 - [N/A] 2121972905
28020201:松鼠
28020301:野林豬
28020302:小野林豬
@@ -367,12 +425,12 @@
28020307:野林豬
28020308:冰凍雪豬
28020309:「大雪豬王」
28020310:[N/A] 1922000329
28020311:[N/A] 3804855321
28020312:[N/A] 1052664969
28020310:Boar_02_Hunt - [N/A] 1922000329
28020311:Boar_01_Hunt - [N/A] 3804855321
28020312:Boar_03_Hunt - [N/A] 1052664969
28020313:大蕈猪?
28020314:蕈猪
28020315:[N/A] 977650529
28020315:Boar_09 - [N/A] 977650529
28020401:北地犬
28020402:巡林犬
28020403:柴犬
@@ -409,10 +467,11 @@
28020901:武士狗分身test
28020902:武士狗bosstest
28020903:太郎丸
28020904:Inu_Shihandai_04 - [N/A] 467002241
28030101:藍翎鷺
28030102:菫䴉
28030103:[N/A] 434877481
28030104:[N/A] 3431473329
28030103:Crane_01 - [N/A] 434877481
28030104:Crane_01_Lbis - [N/A] 3431473329
28030201:茶羽鷹
28030202:棕翎鷹
28030203:石鳶
@@ -428,8 +487,9 @@
28030309:灰羽鴿
28030310:赤脅鴿
28030311:黑王鴿
28030312:[N/A] 1045054721
28030312:Pigeon_01 - [N/A] 1045054721
28030313:暝彩鸟
28030314:Crow_01 - [N/A] 3254419441
28030401:赤團雀
28030402:金團雀
28030403:雪團雀
@@ -441,9 +501,8 @@
28030409:碧團雀
28030501:赤喙鴨
28030502:翠冠鴨
28030503:沉金鴨
28030504:赤喙鴨
28030505:[N/A] 3375863305
28030505:Wigeon_01 - [N/A] 3375863305
28040703:幽浮鰩
28050201:新手盜寶鼬
28050202:藏金盜寶鼬
@@ -455,49 +514,57 @@
28050221:新手盜寶鼬
28050222:藏金盜寶鼬
28050223:大黃金盜寶鼬
28050501:Electrohercules_01 - [N/A] 2466918521
28050502:Electrohercules_02 - [N/A] 2466918521
28050503:Electrohercules_03 - [N/A] 2466918521
28050504:Electrohercules_04 - [N/A] 2466918521
28050505:Electrohercules_05 - [N/A] 2466918521
28050506:Electrohercules_06 - [N/A] 2466918521
28060101:棘冠鳄
28060102:[N/A] 2866718929
28060103:[N/A] 1328271489
28060102:Gator_Strong_01 - [N/A] 2866718929
28060103:Gator_01 - [N/A] 1328271489
28060201:长鬓虎
28060202:[N/A] 3539690529
28060203:[N/A] 3418949673
28060301:[N/A] 1575409961
28060302:[N/A] 35400545
28060401:[N/A] 2550380273
28060402:[N/A] 1827515817
28060501:[N/A] 2910802777
28060502:[N/A] 3424336233
28060503:[N/A] 3938050385
28060504:[N/A] 457094737
28060505:[N/A] 3374220305
28060506:[N/A] 1349374089
28060509:[N/A] 1497649297
28060510:[N/A] 3380533609
28060511:[N/A] 423020265
28060512:[N/A] 112703337
28060513:[N/A] 2396817929
28060202:Panther_Strong_01 - [N/A] 3539690529
28060203:Panther_01 - [N/A] 3418949673
28060301:Vulture_01 - [N/A] 1575409961
28060302:Vulture_01 - [N/A] 35400545
28060401:Scorpion_01 - [N/A] 2550380273
28060402:Scorpion_01 - [N/A] 1827515817
28060501:Megamoth_Desert_01 - [N/A] 2910802777
28060502:Megamoth_Desert_02 - [N/A] 3424336233
28060503:Megamoth_Desert_03 - [N/A] 3938050385
28060504:Megamoth_Desert_01 - [N/A] 457094737
28060505:Megamoth_Desert_02 - [N/A] 3374220305
28060506:Megamoth_Desert_03 - [N/A] 1349374089
28060509:Megamoth_Desert_04 - [N/A] 1497649297
28060510:Megamoth_Desert_05 - [N/A] 3380533609
28060511:Megamoth_Desert_06 - [N/A] 423020265
28060512:Megamoth_Desert_07 - [N/A] 112703337
28060513:Megamoth_Desert_08 - [N/A] 2396817929
28060601:牦牦驮兽
28060602:[N/A] 409501041
28060603:[N/A] 2740821897
28060604:[N/A] 2340527241
28060605:[N/A] 37512633
28060606:[N/A] 2214856321
28060609:[N/A] 1426424937
28060610:[N/A] 3717654113
28060611:[N/A] 1648208073
28060612:[N/A] 2053098161
28060613:[N/A] 276253497
28060614:[N/A] 465761521
28060701:[N/A] 3963893857
28060801:[N/A] 3494586161
28060901:[N/A] 3910686713
28061001:[N/A] 3720242777
28061002:[N/A] 3801760225
28061101:[N/A] 3407624849
28061201:[N/A] 2733673945
28061301:[N/A] 3469996769
28061401:[N/A] 2330015681
28061402:[N/A] 3443985385
28060602:Megamoth_Jungle_02 - [N/A] 409501041
28060603:Megamoth_Jungle_03 - [N/A] 2740821897
28060604:Megamoth_Jungle_01 - [N/A] 2340527241
28060605:Megamoth_Jungle_02 - [N/A] 37512633
28060606:Megamoth_Jungle_03 - [N/A] 2214856321
28060609:Megamoth_Jungle_Strong_01 - [N/A] 1426424937
28060610:Megamoth_Jungle_04 - [N/A] 3717654113
28060611:Megamoth_Jungle_05 - [N/A] 1648208073
28060612:Megamoth_Jungle_06 - [N/A] 2053098161
28060613:Megamoth_Jungle_07 - [N/A] 276253497
28060614:Megamoth_Jungle_08 - [N/A] 465761521
28060701:Megamoth_Desert_04 - [N/A] 3963893857
28060801:Megamoth_Desert_05 - [N/A] 3494586161
28060901:Megamoth_Desert_06 - [N/A] 3910686713
28061001:Megamoth_Desert_07 - [N/A] 3720242777
28061002:Megamoth_Desert_08 - [N/A] 3801760225
28061101:Megamoth_Jungle_04 - [N/A] 3407624849
28061201:Megamoth_Jungle_05 - [N/A] 2733673945
28061301:Megamoth_Jungle_06 - [N/A] 3469996769
28061401:Megamoth_Jungle_07 - [N/A] 2330015681
28061402:Megamoth_Jungle_08 - [N/A] 3443985385
28061501:Chrysopelea_01 - [N/A] 447726457
28061502:Chrysopelea_01 - [N/A] 3984456185
28210101:塵歌壺:黃金蟹
28210102:塵歌壺:太陽蟹
28210103:塵歌壺:海藍蟹
@@ -510,23 +577,23 @@
28210205:塵歌壺:金鰍鰍
28210206:塵歌壺:晴天鰍鰍
28210207:塵歌壺:嗜髓蜥
28210208:[N/A] 4168682209
28210208:Homeworld_Lizard_05 - [N/A] 4168682209
28210301:塵歌壺:青蛙
28210302:塵歌壺:泥蛙
28210303:塵歌壺:藍蛙
28210304:[N/A] 1743923249
28210304:Homeworld_Frog_04 - [N/A] 1743923249
28210401:塵歌壺:藤紋陸鰻鰻
28210402:塵歌壺:深海鰻鰻
28210403:塵歌壺:赤鰭陸鰻鰻
28210404:[N/A] 1020919801
28210404:Homeworld_Eel_04 - [N/A] 1020919801
28220101:塵歌壺:雪狐
28220102:塵歌壺:紅狐
28220108:[N/A] 3596224209
28220108:Homeworld_Fox_03 - [N/A] 3596224209
28220201:塵歌壺:松鼠
28220301:塵歌壺:野林豬
28220303:塵歌壺:雪豬
28220313:[N/A] 2460569713
28220314:[N/A] 3974077529
28220313:Homeworld_Boar_Grass - [N/A] 2460569713
28220314:Homeworld_Boar_Grass_Small - [N/A] 3974077529
28220401:塵歌壺:北地犬
28220402:塵歌壺:巡林犬
28220403:塵歌壺:柴犬
@@ -540,20 +607,20 @@
28220601:塵歌壺:雪隱鼬
28220602:塵歌壺:紅尾鼬
28220603:塵歌壺:靴子鼬
28220604:[N/A] 3102074185
28220604:Homeworld_Marten_04 - [N/A] 3102074185
28220605:塵歌壺:青雷鼬
28220701:塵歌壺:狐
28220901:塵歌壺:影狼丸
28230101:塵歌壺:藍翎鷺
28230102:塵歌壺:菫䴉
28230104:[N/A] 811422561
28230104:Homeworld_Crane_01_Lbis - [N/A] 811422561
28230301:塵歌壺:白鴿
28230302:塵歌壺:璃冠鴿
28230303:塵歌壺:灰羽鴿
28230304:塵歌壺:赤脅鴿
28230305:塵歌壺:黑王鴿
28230306:塵歌壺:鴉
28230313:[N/A] 3724967537
28230313:Homeworld_Pigeon_Beak_01 - [N/A] 3724967537
28230401:塵歌壺:赤團雀
28230402:塵歌壺:金團雀
28230403:塵歌壺:雪團雀
@@ -581,20 +648,20 @@
28240602:塵歌壺:苦炮魨
28240701:塵歌壺:迪芙妲鰩
28240702:塵歌壺:佛瑪洛鰩
28240801:[N/A] 2213501889
28240802:[N/A] 2420839809
28240803:[N/A] 619347953
28240804:[N/A] 2847515857
28240901:[N/A] 4288334729
28240902:[N/A] 2843011617
28240801:Homeworld_Fishable_Maritime_Batdiodan_01 - [N/A] 2213501889
28240802:Homeworld_Fishable_Maritime_Batdiodan_02 - [N/A] 2420839809
28240803:Homeworld_Fishable_Maritime_Batdiodan_03 - [N/A] 619347953
28240804:Homeworld_Fishable_Maritime_Batdiodan_04 - [N/A] 2847515857
28240901:Homeworld_Fishable_Maritime_Apsva_01 - [N/A] 4288334729
28240902:Homeworld_Fishable_Maritime_Apsva_02 - [N/A] 2843011617
28250101:塵歌壺:風晶蝶
28250102:塵歌壺:岩晶蝶
28250103:塵歌壺:冰晶蝶
28250104:塵歌壺:雷晶蝶
28250105:塵歌壺:珊瑚蝶
28250106:[N/A] 3343647737
28250106:Homeworld_Wisp_Grass_01 - [N/A] 3343647737
28250301:塵歌壺:吉光蟲
28250401:[N/A] 741074761
28250401:Homeworld_Boltbug_Scarab_01 - [N/A] 741074761
// BOSS
@@ -605,8 +672,13 @@
20040301:無相之岩 基末爾
20040302:(活動)無相之岩 基末爾
20040401:無相之水
20040402:Effigy_Water_02 - [N/A] 2510499945
20040501:無相之冰 塔勒特
20040502:Effigy_Ice_01 - [N/A] 244519785
20040601:無相之火 亞因
20040602:Effigy_Fire_02 - [N/A] 802657121
20040701:Effigy_Grass_01 - [N/A] 572615921
20040702:Effigy_Grass_02 - [N/A] 2410347593
20050101:純水精靈
20050102:純水精靈(本體)
20070101:雷音權現
@@ -614,12 +686,13 @@
24010401:遺蹟巨蛇
24021101:恒常機關陣列
24021102:恒常機關陣列(稻妻活動專用)
24030301:[N/A] 3108339881
24050101:[N/A] 2629579681
24030301:Gargoyle_Fafnir_01 - [N/A] 3108339881
24050101:Monolith_Starchild - [N/A] 2629579681
25090101:魔偶劍鬼
25090102:魔偶劍鬼(風分身)
25090103:魔偶劍鬼(冰分身)
25090104:魔偶劍鬼(面具分身)
25090105:Samurai_Ningyo_05 - 傀儡將軍-面具分身
25090201:魔偶劍鬼·孤風
25090301:魔偶劍鬼·霜馳
25090401:魔偶劍鬼·兇面
@@ -640,6 +713,7 @@
26050802:深海龍蜥·吞雷
26080101:跋掣
26110101:翠翎恐蕈
26130101:Sandworm_01 - [N/A] 4098645257
29010101:裂空的魔龍
29010102:裂空的魔龍
29010103:裂空的魔龍
@@ -666,6 +740,12 @@
29060201:禍津御建鳴神命
29060202:禍津御建鳴神命
29060203:禍津御建鳴神命
29070101:Monster_Nada - [N/A] 3425649649
29070102:Monster_Nada - [N/A] 996756049
29070103:Monster_Nada - [N/A] 887141825
29070104:Monster_Nada - [N/A] 3834332121
29070105:Monster_Nada - [N/A] 1547264913
29070106:Monster_Nada - [N/A] 641768601
// 動物
@@ -690,7 +770,7 @@
28010401:藤紋陸鰻鰻
28010402:深海鰻鰻
28010403:赤鰭陸鰻鰻
28010404:[N/A] 2823603497
28010404:Eel_04 - [N/A] 2823603497
28040101:黑背鱸魚
28040102:藍鰭鱸魚
28040103:黃金鱸魚
@@ -706,7 +786,13 @@
28050105:珊瑚蝶
28050106:草晶蝶
28050301:吉光蟲
28050401:[N/A] 2466918521
28050401:Boltbug_Scarab_01 - [N/A] 2466918521
28050501:Electrohercules_01 - [N/A] 2466918521
28050502:Electrohercules_02 - [N/A] 2466918521
28050503:Electrohercules_03 - [N/A] 2466918521
28050504:Electrohercules_04 - [N/A] 2466918521
28050505:Electrohercules_05 - [N/A] 2466918521
28050506:Electrohercules_06 - [N/A] 2466918521
// 魚

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -26,16 +26,16 @@
11419:「一心傳」名刀
11420:「一心傳」名刀
11421:「一心傳」名刀
11422:東花坊時雨
11501:風鷹劍
11502:天空之刃
11503:蒼古自由之誓
11504:斫峰之刃
11505:磐岩結綠
11506:磐岩結綠
11507:憑虛
11509:霧切之回光
11510:波亂月白經津
11511:聖顯之鑰
11512:裁葉萃光
12101:訓練大劍
12201:傭兵重劍
12301:鐵影闊劍
@@ -64,8 +64,6 @@
12502:狼的末路
12503:松籟響起之時
12504:無工之劍
12505:砥厄魚
12506:異史
12510:赤角石潰杵
13101:新手長槍
13201:鐵尖槍
@@ -91,7 +89,6 @@
13502:天空之脊
13504:貫虹之槊
13505:和璞鳶
13506:弑主
13507:息災
13509:薙草之稻光
13511:赤沙之杖
@@ -121,12 +118,11 @@
14417:盈滿之實
14501:天空之卷
14502:四風原典
14503:散佚的敘事詩
14504:塵世之鎖
14505:定土玉圭
14506:不滅月華
14509:神樂之真意
14511:千夜浮夢
14512:圖萊杜拉的回憶
15101:獵弓
15201:歷練的獵弓
15301:鴉羽弓
@@ -156,9 +152,6 @@
15501:天空之翼
15502:阿莫斯之弓
15503:終末嗟嘆之詩
15504:昆吾墜龍
15505:懸黎千鈞
15506:破鏡
15507:冬極白星
15508:若水
15509:飛雷之弦振