├── OneStar
├── icon.ico
├── Resources
│ ├── map.png
│ ├── map2_1.png
│ ├── map2_2.png
│ ├── map2_3.png
│ ├── map3_1.png
│ ├── map3_2.png
│ ├── map3_3.png
│ └── point.png
├── deps
│ └── PKHeX_Raid_Plugin.dll
├── TextBoxEx.cs
├── App.config
├── packages.config
├── Properties
│ ├── Settings.settings
│ ├── Settings.Designer.cs
│ ├── AssemblyInfo.cs
│ ├── Resources.Designer.cs
│ └── Resources.resx
├── FlagExtensions.cs
├── Program.cs
├── PersonalInfoProvider.cs
├── Xoroshiro.cs
├── Messages.cs
├── EventDenList.cs
├── PokemonFormUtility.cs
├── Preferences.cs
├── ListGenerator.cs
├── OneStar.csproj
├── RaidData.cs
└── AdditionalNestIdTable.cs
├── OneStarCalculatorLib
├── Const.h
├── Data.cpp
├── Type.h
├── Calculator.cpp
├── CudaProcess.cu
├── CudaProcess.cuh
├── CudaProcess5.cu
├── CudaProcess6.cu
├── CudaCalculator.cpp
├── CudaProcess5.cuh
├── CudaProcess6.cuh
├── SixivCalculator.cpp
├── Calculator.h
├── SixivCalculator.h
├── Data.h
├── XoroshiroState.h
├── CudaCalculator.h
├── Util.h
├── OneStarCalculatorLib.vcxproj.filters
└── OneStarCalculatorLib.vcxproj
├── DenListConverter
├── packages.config
├── obj
│ └── Debug
│ │ ├── DenListConverter.csprojAssemblyReference.cache
│ │ ├── DesignTimeResolveAssemblyReferencesInput.cache
│ │ └── .NETFramework,Version=v4.7.2.AssemblyAttributes.cs
├── App.config
├── DenSet.cs
├── Properties
│ └── AssemblyInfo.cs
├── DenListConverter.csproj
├── Nest.cs
├── Entry.cs
└── Program.cs
├── IVCalcNetFramework
├── packages.config
├── App.config
├── Extensions.cs
├── Properties
│ └── AssemblyInfo.cs
└── IVCalcNetFramework.csproj
├── OneStarCUI
├── App.config
├── Properties
│ └── AssemblyInfo.cs
├── Program.cs
└── OneStarCUI.csproj
├── README.md
├── OneStarCalculator
├── Properties
│ └── AssemblyInfo.cs
├── OneStarCalculator.csproj
└── SeedSearcher.cs
├── .gitignore
├── OneStar.sln
└── Data
├── LanguageJp.json
└── LanguageZh.json
/OneStar/icon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rusted-coil/OneStar/HEAD/OneStar/icon.ico
--------------------------------------------------------------------------------
/OneStar/Resources/map.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rusted-coil/OneStar/HEAD/OneStar/Resources/map.png
--------------------------------------------------------------------------------
/OneStar/Resources/map2_1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rusted-coil/OneStar/HEAD/OneStar/Resources/map2_1.png
--------------------------------------------------------------------------------
/OneStar/Resources/map2_2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rusted-coil/OneStar/HEAD/OneStar/Resources/map2_2.png
--------------------------------------------------------------------------------
/OneStar/Resources/map2_3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rusted-coil/OneStar/HEAD/OneStar/Resources/map2_3.png
--------------------------------------------------------------------------------
/OneStar/Resources/map3_1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rusted-coil/OneStar/HEAD/OneStar/Resources/map3_1.png
--------------------------------------------------------------------------------
/OneStar/Resources/map3_2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rusted-coil/OneStar/HEAD/OneStar/Resources/map3_2.png
--------------------------------------------------------------------------------
/OneStar/Resources/map3_3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rusted-coil/OneStar/HEAD/OneStar/Resources/map3_3.png
--------------------------------------------------------------------------------
/OneStar/Resources/point.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rusted-coil/OneStar/HEAD/OneStar/Resources/point.png
--------------------------------------------------------------------------------
/OneStarCalculatorLib/Const.h:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rusted-coil/OneStar/HEAD/OneStarCalculatorLib/Const.h
--------------------------------------------------------------------------------
/OneStarCalculatorLib/Data.cpp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rusted-coil/OneStar/HEAD/OneStarCalculatorLib/Data.cpp
--------------------------------------------------------------------------------
/OneStarCalculatorLib/Type.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | typedef unsigned long long _u64;
4 | typedef unsigned long _u32;
5 |
--------------------------------------------------------------------------------
/OneStar/deps/PKHeX_Raid_Plugin.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rusted-coil/OneStar/HEAD/OneStar/deps/PKHeX_Raid_Plugin.dll
--------------------------------------------------------------------------------
/OneStar/TextBoxEx.cs:
--------------------------------------------------------------------------------
1 | namespace OneStar
2 | {
3 | public class TextBoxEx : System.Windows.Forms.TextBox
4 | {
5 | }
6 | }
7 |
--------------------------------------------------------------------------------
/OneStarCalculatorLib/Calculator.cpp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rusted-coil/OneStar/HEAD/OneStarCalculatorLib/Calculator.cpp
--------------------------------------------------------------------------------
/OneStarCalculatorLib/CudaProcess.cu:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rusted-coil/OneStar/HEAD/OneStarCalculatorLib/CudaProcess.cu
--------------------------------------------------------------------------------
/OneStarCalculatorLib/CudaProcess.cuh:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rusted-coil/OneStar/HEAD/OneStarCalculatorLib/CudaProcess.cuh
--------------------------------------------------------------------------------
/OneStarCalculatorLib/CudaProcess5.cu:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rusted-coil/OneStar/HEAD/OneStarCalculatorLib/CudaProcess5.cu
--------------------------------------------------------------------------------
/OneStarCalculatorLib/CudaProcess6.cu:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rusted-coil/OneStar/HEAD/OneStarCalculatorLib/CudaProcess6.cu
--------------------------------------------------------------------------------
/OneStarCalculatorLib/CudaCalculator.cpp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rusted-coil/OneStar/HEAD/OneStarCalculatorLib/CudaCalculator.cpp
--------------------------------------------------------------------------------
/OneStarCalculatorLib/CudaProcess5.cuh:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rusted-coil/OneStar/HEAD/OneStarCalculatorLib/CudaProcess5.cuh
--------------------------------------------------------------------------------
/OneStarCalculatorLib/CudaProcess6.cuh:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rusted-coil/OneStar/HEAD/OneStarCalculatorLib/CudaProcess6.cuh
--------------------------------------------------------------------------------
/OneStarCalculatorLib/SixivCalculator.cpp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rusted-coil/OneStar/HEAD/OneStarCalculatorLib/SixivCalculator.cpp
--------------------------------------------------------------------------------
/DenListConverter/packages.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/IVCalcNetFramework/packages.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/DenListConverter/obj/Debug/DenListConverter.csprojAssemblyReference.cache:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rusted-coil/OneStar/HEAD/DenListConverter/obj/Debug/DenListConverter.csprojAssemblyReference.cache
--------------------------------------------------------------------------------
/DenListConverter/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rusted-coil/OneStar/HEAD/DenListConverter/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache
--------------------------------------------------------------------------------
/OneStar/App.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/OneStarCUI/App.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/DenListConverter/App.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/IVCalcNetFramework/App.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/OneStar/packages.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/OneStar/Properties/Settings.settings:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/DenListConverter/obj/Debug/.NETFramework,Version=v4.7.2.AssemblyAttributes.cs:
--------------------------------------------------------------------------------
1 | //
2 | using System;
3 | using System.Reflection;
4 | [assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETFramework,Version=v4.7.2", FrameworkDisplayName = ".NET Framework 4.7.2")]
5 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # OneStar
2 | ソードシールド乱数調整ツール
3 |
4 | ### Untranslated Messages
5 | Please edit Data/Language**.json and give a pull request.
6 | * English: Data/LanguageEn.json
7 | * Please translate any unsuitable messages.
8 |
9 |
10 |
--------------------------------------------------------------------------------
/IVCalcNetFramework/Extensions.cs:
--------------------------------------------------------------------------------
1 | namespace IVCalcNetFramework
2 | {
3 | public static class Extensions
4 | {
5 | public static decimal ToDecimal(this string text)
6 | {
7 | return decimal.Parse(text, new System.Globalization.CultureInfo("en-US"));
8 | }
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/OneStar/FlagExtensions.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Linq;
4 | using System.Text;
5 | using System.Threading.Tasks;
6 |
7 | namespace OneStar
8 | {
9 | public static class FlagExtensions
10 | {
11 | public static bool TestBit(this int flag, int bit)
12 | {
13 | return (flag & (1 << bit)) > 0;
14 | }
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/OneStarCalculatorLib/Calculator.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 | #include "Type.h"
3 |
4 | extern "C"
5 | {
6 | __declspec(dllexport) void Prepare(int rerolls);
7 | __declspec(dllexport) void Set12Condition(int index, int iv0, int iv1, int iv2, int iv3, int iv4, int iv5, int ability, int nature, int natureTableId, int characteristic, bool isNoGender, int abilityFlag, int flawlessIvs);
8 | __declspec(dllexport) _u64 Search(_u64);
9 | }
10 |
--------------------------------------------------------------------------------
/OneStar/Program.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Linq;
4 | using System.Threading.Tasks;
5 | using System.Windows.Forms;
6 |
7 | namespace OneStar
8 | {
9 | static class Program
10 | {
11 | ///
12 | /// アプリケーションのメイン エントリ ポイントです。
13 | ///
14 | [STAThread]
15 | static void Main()
16 | {
17 | Application.EnableVisualStyles();
18 | Application.SetCompatibleTextRenderingDefault(false);
19 | MainForm mainForm = new MainForm();
20 | if (mainForm.IsInitialized)
21 | {
22 | Application.Run(mainForm);
23 | }
24 | }
25 | }
26 | }
27 |
--------------------------------------------------------------------------------
/OneStarCalculatorLib/SixivCalculator.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 | #include "Type.h"
3 |
4 | extern "C"
5 | {
6 | __declspec(dllexport) void PrepareSix(int ivOffset);
7 | __declspec(dllexport) void Set35Condition(int index, int iv0, int iv1, int iv2, int iv3, int iv4, int iv5, int ability, int nature, int natureTableId, int characteristic, bool isNoGender, int abilityFlag, int flawlessIvs);
8 | __declspec(dllexport) void SetTargetCondition6(int iv1, int iv2, int iv3, int iv4, int iv5, int iv6);
9 | __declspec(dllexport) void SetTargetCondition5(int iv1, int iv2, int iv3, int iv4, int iv5);
10 | __declspec(dllexport) _u64 SearchSix(_u64);
11 | }
12 |
--------------------------------------------------------------------------------
/OneStar/PersonalInfoProvider.cs:
--------------------------------------------------------------------------------
1 | using PKHeX.Core;
2 |
3 | namespace OneStar
4 | {
5 | public static class PersonalInfoProvider
6 | {
7 | public static PersonalInfo GetPersonalInfo(RaidData.Pokemon pokemon)
8 | {
9 | // ルガルガン(たそがれ)のみ別で処理
10 | if (pokemon.DisplaySpecies == 745.2m)
11 | {
12 | int dataSpecies = PersonalTable.USUM[745].FormeIndex(745, 2);
13 | return PersonalTable.USUM[dataSpecies];
14 | }
15 |
16 | // 剣盾にデータが無いものはUSUMから取ってくる
17 | if (pokemon.IsDataSWSH)
18 | {
19 | return PersonalTable.SWSH[pokemon.DataSpecies];
20 | }
21 | else
22 | {
23 | return PersonalTable.USUM[pokemon.DataSpecies];
24 | }
25 | }
26 | }
27 | }
28 |
--------------------------------------------------------------------------------
/OneStarCalculatorLib/Data.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 | #include "Type.h"
3 | #include "Util.h"
4 |
5 | extern NatureTable c_NatureTable[3];
6 |
7 | extern _u64 g_TempMatrix[256];
8 | extern _u64 g_InputMatrix[64];
9 | extern _u64 g_ConstantTermVector;
10 | extern _u64 g_Coefficient[64];
11 | extern _u64 g_AnswerFlag[64];
12 | extern _u64 g_CoefficientData[0x4000];
13 | extern _u64 g_SearchPattern[0x4000];
14 | extern int g_FreeBit[64];
15 | extern int g_FreeId[64];
16 |
17 | void InitializeTransformationMatrix();
18 | void ProceedTransformationMatrix();
19 | _u64 GetMatrixMultiplier(int index);
20 | short GetMatrixConst(int index);
21 |
22 | void CalculateInverseMatrix(int length);
23 | void CalculateCoefficientData(int length);
24 |
25 | extern "C"
26 | {
27 | __declspec(dllexport) void InitializeConstData();
28 | }
29 |
--------------------------------------------------------------------------------
/OneStarCalculatorLib/XoroshiroState.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 | #include "Type.h"
3 |
4 | inline _u64 RotateLeft(_u64 value, int amount)
5 | {
6 | return (value << amount) | (value >> (64 - amount));
7 | }
8 |
9 | struct XoroshiroState
10 | {
11 | _u64 m_S0;
12 | _u64 m_S1;
13 |
14 | void SetSeed(_u64 seed)
15 | {
16 | m_S0 = seed;
17 | m_S1 = 0x82a2b175229d6a5bull;
18 | }
19 |
20 | void Copy(XoroshiroState* src)
21 | {
22 | m_S0 = src->m_S0;
23 | m_S1 = src->m_S1;
24 | }
25 |
26 | unsigned int Next(unsigned int mask)
27 | {
28 | unsigned int value = (m_S0 + m_S1) & mask;
29 | m_S1 = m_S0 ^ m_S1;
30 | m_S0 = RotateLeft(m_S0, 24) ^ m_S1 ^ (m_S1 << 16);
31 | m_S1 = RotateLeft(m_S1, 37);
32 | return value;
33 | }
34 | void Next()
35 | {
36 | m_S1 = m_S0 ^ m_S1;
37 | m_S0 = RotateLeft(m_S0, 24) ^ m_S1 ^ (m_S1 << 16);
38 | m_S1 = RotateLeft(m_S1, 37);
39 | }
40 | };
41 |
--------------------------------------------------------------------------------
/OneStarCalculatorLib/CudaCalculator.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 | #include "Type.h"
3 |
4 | extern "C"
5 | {
6 | __declspec(dllexport) int GetCudaDeviceCount();
7 | __declspec(dllexport) void CudaInitialize();
8 | __declspec(dllexport) void SetCudaCondition(int index, int iv0, int iv1, int iv2, int iv3, int iv4, int iv5, int ability, int nature, int natureTableId, int characteristic, bool isNoGender, int abilityFlag, int flawlessIvs);
9 | __declspec(dllexport) void SetCudaTargetCondition6(int iv1, int iv2, int iv3, int iv4, int iv5, int iv6);
10 | __declspec(dllexport) void SetCudaTargetCondition5(int iv1, int iv2, int iv3, int iv4, int iv5);
11 | __declspec(dllexport) void CudaCalcInitialize();
12 | __declspec(dllexport) void PrepareCuda(int ivOffset);
13 | __declspec(dllexport) void SearchCuda(_u32, int);
14 | __declspec(dllexport) int GetResultCount();
15 | __declspec(dllexport) _u64 GetResult(int index);
16 | __declspec(dllexport) void CudaCalcFinalize();
17 | }
18 |
--------------------------------------------------------------------------------
/OneStar/Xoroshiro.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Linq;
4 | using System.Text;
5 | using System.Threading.Tasks;
6 |
7 | namespace OneStar
8 | {
9 | public class Xoroshiro
10 | {
11 | UInt64 s0, s1;
12 |
13 | public int GetRaw(int index, UInt32 mask)
14 | {
15 | if (index == 0)
16 | {
17 | return (int)(s0 & mask);
18 | }
19 | return (int)(s1 & mask);
20 | }
21 |
22 | public Xoroshiro(UInt64 seed)
23 | {
24 | s0 = seed;
25 | s1 = 0x82a2b175229d6a5bul;
26 | }
27 |
28 | UInt64 RotateLeft(UInt64 value, int amount)
29 | {
30 | UInt64 left = (value << amount);
31 | UInt64 right = (value >> (64 - amount));
32 | return left | right;
33 | }
34 |
35 | public UInt32 Next(UInt32 mask)
36 | {
37 | UInt32 value = (UInt32)(s0 + s1) & mask;
38 |
39 | s1 = s0 ^ s1;
40 | s0 = RotateLeft(s0, 24) ^ s1 ^ (s1 << 16);
41 | s1 = RotateLeft(s1, 37);
42 |
43 | return value;
44 | }
45 | }
46 | }
47 |
--------------------------------------------------------------------------------
/OneStarCalculatorLib/Util.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 | #include "Type.h"
3 |
4 | inline _u64 GetSignature(_u64 value)
5 | {
6 | unsigned int a = (unsigned int)(value ^ (value >> 32));
7 | a = a ^ (a >> 16);
8 | a = a ^ (a >> 8);
9 | a = a ^ (a >> 4);
10 | a = a ^ (a >> 2);
11 | return (a ^ (a >> 1)) & 1;
12 | }
13 |
14 | struct PokemonData
15 | {
16 | int ivs[6];
17 | int ability;
18 | int nature;
19 | int natureTableId;
20 | int characteristic;
21 | bool isNoGender;
22 | int abilityFlag;
23 | int flawlessIvs;
24 |
25 | bool IsCharacterized(int index) // H A B "S" C D
26 | {
27 | switch (index)
28 | {
29 | case 0: return (ivs[0] == 31);
30 | case 1: return (ivs[1] == 31);
31 | case 2: return (ivs[2] == 31);
32 | case 3: return (ivs[5] == 31);
33 | case 4: return (ivs[3] == 31);
34 | case 5: return (ivs[4] == 31);
35 | default: return true;
36 | }
37 | }
38 | };
39 |
40 | struct NatureTable
41 | {
42 | _u32 randMax;
43 | _u32 patternCount;
44 | _u32 natureId[25];
45 | };
46 |
--------------------------------------------------------------------------------
/OneStar/Properties/Settings.Designer.cs:
--------------------------------------------------------------------------------
1 | //------------------------------------------------------------------------------
2 | //
3 | // このコードはツールによって生成されました。
4 | // ランタイム バージョン:4.0.30319.42000
5 | //
6 | // このファイルへの変更は、以下の状況下で不正な動作の原因になったり、
7 | // コードが再生成されるときに損失したりします。
8 | //
9 | //------------------------------------------------------------------------------
10 |
11 | namespace OneStar.Properties {
12 |
13 |
14 | [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
15 | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "15.9.0.0")]
16 | internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase {
17 |
18 | private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
19 |
20 | public static Settings Default {
21 | get {
22 | return defaultInstance;
23 | }
24 | }
25 | }
26 | }
27 |
--------------------------------------------------------------------------------
/OneStar/Properties/AssemblyInfo.cs:
--------------------------------------------------------------------------------
1 | using System.Reflection;
2 | using System.Runtime.CompilerServices;
3 | using System.Runtime.InteropServices;
4 |
5 | // アセンブリに関する一般情報は以下の属性セットをとおして制御されます。
6 | // アセンブリに関連付けられている情報を変更するには、
7 | // これらの属性値を変更してください。
8 | [assembly: AssemblyTitle("OneStar")]
9 | [assembly: AssemblyDescription("")]
10 | [assembly: AssemblyConfiguration("")]
11 | [assembly: AssemblyCompany("")]
12 | [assembly: AssemblyProduct("OneStar")]
13 | [assembly: AssemblyCopyright("Copyright © 2019")]
14 | [assembly: AssemblyTrademark("")]
15 | [assembly: AssemblyCulture("")]
16 |
17 | // ComVisible を false に設定すると、このアセンブリ内の型は COM コンポーネントから
18 | // 参照できなくなります。COM からこのアセンブリ内の型にアクセスする必要がある場合は、
19 | // その型の ComVisible 属性を true に設定してください。
20 | [assembly: ComVisible(false)]
21 |
22 | // このプロジェクトが COM に公開される場合、次の GUID が typelib の ID になります
23 | [assembly: Guid("f78e6705-c8f8-4817-81ef-49121d2d0005")]
24 |
25 | // アセンブリのバージョン情報は次の 4 つの値で構成されています:
26 | //
27 | // メジャー バージョン
28 | // マイナー バージョン
29 | // ビルド番号
30 | // Revision
31 | //
32 | // すべての値を指定するか、次を使用してビルド番号とリビジョン番号を既定に設定できます
33 | // 既定値にすることができます:
34 | // [assembly: AssemblyVersion("1.0.*")]
35 | [assembly: AssemblyVersion("1.0.0.0")]
36 | [assembly: AssemblyFileVersion("1.0.0.0")]
37 |
--------------------------------------------------------------------------------
/OneStarCUI/Properties/AssemblyInfo.cs:
--------------------------------------------------------------------------------
1 | using System.Reflection;
2 | using System.Runtime.CompilerServices;
3 | using System.Runtime.InteropServices;
4 |
5 | // アセンブリに関する一般情報は以下の属性セットをとおして制御されます。
6 | // アセンブリに関連付けられている情報を変更するには、
7 | // これらの属性値を変更してください。
8 | [assembly: AssemblyTitle("OneStarCUI")]
9 | [assembly: AssemblyDescription("")]
10 | [assembly: AssemblyConfiguration("")]
11 | [assembly: AssemblyCompany("")]
12 | [assembly: AssemblyProduct("OneStarCUI")]
13 | [assembly: AssemblyCopyright("Copyright © 2019")]
14 | [assembly: AssemblyTrademark("")]
15 | [assembly: AssemblyCulture("")]
16 |
17 | // ComVisible を false に設定すると、このアセンブリ内の型は COM コンポーネントから
18 | // 参照できなくなります。COM からこのアセンブリ内の型にアクセスする必要がある場合は、
19 | // その型の ComVisible 属性を true に設定してください。
20 | [assembly: ComVisible(false)]
21 |
22 | // このプロジェクトが COM に公開される場合、次の GUID が typelib の ID になります
23 | [assembly: Guid("01e97797-02b9-460d-a6c8-b90e55b7064b")]
24 |
25 | // アセンブリのバージョン情報は次の 4 つの値で構成されています:
26 | //
27 | // メジャー バージョン
28 | // マイナー バージョン
29 | // ビルド番号
30 | // Revision
31 | //
32 | // すべての値を指定するか、次を使用してビルド番号とリビジョン番号を既定に設定できます
33 | // 既定値にすることができます:
34 | // [assembly: AssemblyVersion("1.0.*")]
35 | [assembly: AssemblyVersion("1.0.0.0")]
36 | [assembly: AssemblyFileVersion("1.0.0.0")]
37 |
--------------------------------------------------------------------------------
/DenListConverter/DenSet.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.IO;
4 | using System.Linq;
5 | using System.Text;
6 | using System.Threading.Tasks;
7 |
8 | namespace DenListConverter
9 | {
10 | public class DenSet
11 | {
12 | public Dictionary NestDictionary { get; } = new Dictionary();
13 |
14 | public void Load(string path)
15 | {
16 | using (StreamReader sr = new StreamReader(path))
17 | {
18 | string line;
19 | Nest nest = null;
20 | List nestLines = new List();
21 |
22 | while ((line = sr.ReadLine()) != null)
23 | {
24 | // NestID定義
25 | if (line.IndexOf("Nest ID:") == 0)
26 | {
27 | if (nest != null)
28 | {
29 | nest.Load(nestLines);
30 | NestDictionary.Add(nest.Id, nest);
31 | nestLines.Clear();
32 | }
33 |
34 | string[] elements = line.Split(' ');
35 | string id = elements[2];
36 | nest = new Nest(id);
37 |
38 | continue;
39 | }
40 | nestLines.Add(line);
41 | }
42 | if (nest != null)
43 | {
44 | nest.Load(nestLines);
45 | NestDictionary.Add(nest.Id, nest);
46 | }
47 | }
48 | }
49 | }
50 | }
51 |
--------------------------------------------------------------------------------
/OneStarCalculator/Properties/AssemblyInfo.cs:
--------------------------------------------------------------------------------
1 | using System.Reflection;
2 | using System.Runtime.CompilerServices;
3 | using System.Runtime.InteropServices;
4 |
5 | // アセンブリに関する一般情報は以下の属性セットをとおして制御されます。
6 | // アセンブリに関連付けられている情報を変更するには、
7 | // これらの属性値を変更してください。
8 | [assembly: AssemblyTitle("OneStarCalculator")]
9 | [assembly: AssemblyDescription("")]
10 | [assembly: AssemblyConfiguration("")]
11 | [assembly: AssemblyCompany("")]
12 | [assembly: AssemblyProduct("OneStarCalculator")]
13 | [assembly: AssemblyCopyright("Copyright © 2019")]
14 | [assembly: AssemblyTrademark("")]
15 | [assembly: AssemblyCulture("")]
16 |
17 | // ComVisible を false に設定すると、このアセンブリ内の型は COM コンポーネントから
18 | // 参照できなくなります。COM からこのアセンブリ内の型にアクセスする必要がある場合は、
19 | // その型の ComVisible 属性を true に設定してください。
20 | [assembly: ComVisible(false)]
21 |
22 | // このプロジェクトが COM に公開される場合、次の GUID が typelib の ID になります
23 | [assembly: Guid("4a5adb06-7773-4e21-9336-d46a44b92cc2")]
24 |
25 | // アセンブリのバージョン情報は次の 4 つの値で構成されています:
26 | //
27 | // メジャー バージョン
28 | // マイナー バージョン
29 | // ビルド番号
30 | // Revision
31 | //
32 | // すべての値を指定するか、次を使用してビルド番号とリビジョン番号を既定に設定できます
33 | // 以下のように '*' を使用します:
34 | // [assembly: AssemblyVersion("1.0.*")]
35 | [assembly: AssemblyVersion("1.0.0.0")]
36 | [assembly: AssemblyFileVersion("1.0.0.0")]
37 |
--------------------------------------------------------------------------------
/DenListConverter/Properties/AssemblyInfo.cs:
--------------------------------------------------------------------------------
1 | using System.Reflection;
2 | using System.Runtime.CompilerServices;
3 | using System.Runtime.InteropServices;
4 |
5 | // アセンブリに関する一般情報は以下の属性セットをとおして制御されます。
6 | // 制御されます。アセンブリに関連付けられている情報を変更するには、
7 | // これらの属性値を変更します。
8 | [assembly: AssemblyTitle("DenListConverter")]
9 | [assembly: AssemblyDescription("")]
10 | [assembly: AssemblyConfiguration("")]
11 | [assembly: AssemblyCompany("")]
12 | [assembly: AssemblyProduct("DenListConverter")]
13 | [assembly: AssemblyCopyright("Copyright © 2020")]
14 | [assembly: AssemblyTrademark("")]
15 | [assembly: AssemblyCulture("")]
16 |
17 | // ComVisible を false に設定すると、このアセンブリ内の型は COM コンポーネントから
18 | // 参照できなくなります。COM からこのアセンブリ内の型にアクセスする必要がある場合は、
19 | // その型の ComVisible 属性を true に設定します。
20 | [assembly: ComVisible(false)]
21 |
22 | // このプロジェクトが COM に公開される場合、次の GUID が typelib の ID になります
23 | [assembly: Guid("3d0d9d95-e953-4eba-9559-6dfbfc6c74f9")]
24 |
25 | // アセンブリのバージョン情報は次の 4 つの値で構成されています:
26 | //
27 | // メジャー バージョン
28 | // マイナー バージョン
29 | // ビルド番号
30 | // リビジョン
31 | //
32 | // すべての値を指定するか、次を使用してビルド番号とリビジョン番号を既定に設定できます
33 | // 既定値にすることができます:
34 | // [assembly: AssemblyVersion("1.0.*")]
35 | [assembly: AssemblyVersion("1.0.0.0")]
36 | [assembly: AssemblyFileVersion("1.0.0.0")]
37 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | /.vs
2 | /.idea
3 | /Debug
4 | /OneStar/bin
5 | /OneStar/obj
6 | /IVCalcNetFramework/bin
7 | /IVCalcNetFramework/bin/Debug
8 | /IVCalcNetFramework/bin/Release
9 | /IVCalcNetFramework/obj
10 | *.exp
11 | *.iobj
12 | *.ipdb
13 | /Release
14 | /x64
15 | /OneStarCalculatorLib/x64
16 | /OneStarCUI/bin
17 | /OneStarCUI/obj
18 | *.user
19 | /OneStarCalculator/bin
20 | /OneStarCalculator/obj
21 | /OneStarCalculatorLib/Release
22 | /packages/Newtonsoft.Json.12.0.3
23 | IVCalcNetFramework/bin/Debug/IVCalcNetFramework.pdb
24 | IVCalcNetFramework/bin/Release/IVCalcNetFramework.dll
25 | IVCalcNetFramework/bin/Release/IVCalcNetFramework.pdb
26 | IVCalcNetFramework/obj/Debug/IVCalcNetFramework.csproj.CoreCompileInputs.cache
27 | IVCalcNetFramework/obj/Debug/IVCalcNetFramework.csproj.FileListAbsolute.txt
28 | IVCalcNetFramework/obj/Debug/IVCalcNetFramework.csprojAssemblyReference.cache
29 | IVCalcNetFramework/obj/Debug/IVCalcNetFramework.pdb
30 | IVCalcNetFramework/obj/Release/IVCalcNetFramework.csproj.CoreCompileInputs.cache
31 | IVCalcNetFramework/obj/Release/IVCalcNetFramework.csproj.FileListAbsolute.txt
32 | IVCalcNetFramework/obj/Release/IVCalcNetFramework.csprojAssemblyReference.cache
33 | IVCalcNetFramework/obj/Release/IVCalcNetFramework.dll
34 | IVCalcNetFramework/obj/Release/IVCalcNetFramework.pdb
35 | /packages/PKHeX.Core.20.1.26
36 | /packages/PKHeX.Core.20.2.9
37 | /OneStarCalculatorLib/Debug
38 |
--------------------------------------------------------------------------------
/IVCalcNetFramework/Properties/AssemblyInfo.cs:
--------------------------------------------------------------------------------
1 | using System.Reflection;
2 | using System.Runtime.CompilerServices;
3 | using System.Runtime.InteropServices;
4 |
5 | // General Information about an assembly is controlled through the following
6 | // set of attributes. Change these attribute values to modify the information
7 | // associated with an assembly.
8 | [assembly: AssemblyTitle("IVCalcNetFramework")]
9 | [assembly: AssemblyDescription("")]
10 | [assembly: AssemblyConfiguration("")]
11 | [assembly: AssemblyCompany("")]
12 | [assembly: AssemblyProduct("IVCalcNetFramework")]
13 | [assembly: AssemblyCopyright("Copyright © 2020")]
14 | [assembly: AssemblyTrademark("")]
15 | [assembly: AssemblyCulture("")]
16 |
17 | // Setting ComVisible to false makes the types in this assembly not visible
18 | // to COM components. If you need to access a type in this assembly from
19 | // COM, set the ComVisible attribute to true on that type.
20 | [assembly: ComVisible(false)]
21 |
22 | // The following GUID is for the ID of the typelib if this project is exposed to COM
23 | [assembly: Guid("ee1d9696-545c-495d-9f6d-680038688f85")]
24 |
25 | // Version information for an assembly consists of the following four values:
26 | //
27 | // Major Version
28 | // Minor Version
29 | // Build Number
30 | // Revision
31 | //
32 | // You can specify all the values or you can default the Build and Revision Numbers
33 | // by using the '*' as shown below:
34 | // [assembly: AssemblyVersion("1.0.*")]
35 | [assembly: AssemblyVersion("1.0.0.0")]
36 | [assembly: AssemblyFileVersion("1.0.0.0")]
37 |
--------------------------------------------------------------------------------
/OneStar/Messages.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.IO;
4 | using Newtonsoft.Json;
5 |
6 | namespace OneStar
7 | {
8 | public class Messages
9 | {
10 | // データ
11 | public string LangCode;
12 | public Dictionary Nature;
13 | public Dictionary Characteristic;
14 | public List Gender;
15 | public List Ability;
16 | public List Status;
17 | public List RankPrefix;
18 | public List IvsInfo;
19 | public Dictionary SystemLabel;
20 | public List CheckIvsResult;
21 | public Dictionary ErrorMessage;
22 | public Dictionary SystemMessage;
23 | public Dictionary ListLabel;
24 | public Dictionary Pokemon;
25 | public Dictionary Den;
26 | public List Version;
27 | public List DenRarity;
28 |
29 | [JsonIgnore] public static Messages Instance { get; private set; }
30 | [JsonIgnore] public static string ErrorText { get; private set; }
31 |
32 | // 言語を指定して初期化
33 | public static bool Initialize(Language language)
34 | {
35 | string fileName = "";
36 | string str = "";
37 | switch (language)
38 | {
39 | case Language.Japanese: fileName = "LanguageJp.json"; break;
40 | case Language.English: fileName = "LanguageEn.json"; break;
41 | case Language.ChineseZh: fileName = "LanguageZh.json"; break;
42 | case Language.ChineseZh_TW: fileName = "LanguageZh_TW.json"; break;
43 | }
44 | try
45 | {
46 | using (StreamReader sr = new StreamReader("data/" + fileName))
47 | {
48 | str = sr.ReadToEnd();
49 | }
50 | }
51 | catch (Exception e)
52 | {
53 | // エラー
54 | ErrorText = e.ToString();
55 | Instance = null;
56 | return false;
57 | }
58 |
59 | try
60 | {
61 | Instance = JsonConvert.DeserializeObject(str);
62 | }
63 | catch (Exception e)
64 | {
65 | // エラー
66 | ErrorText = e.ToString();
67 | Instance = null;
68 | return false;
69 | }
70 |
71 | return Instance != null;
72 | }
73 | }
74 | }
75 |
--------------------------------------------------------------------------------
/OneStar/EventDenList.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.IO;
4 | using Newtonsoft.Json;
5 | using PKHeX_Raid_Plugin;
6 |
7 | namespace OneStar
8 | {
9 | public class EventDenList
10 | {
11 | public class EventDen
12 | {
13 | public class Data
14 | {
15 | public int Species;
16 | public int[] Probabilities;
17 | public int FlawlessIvs;
18 | public int MinRank;
19 | public int MaxRank;
20 | public int AltForm;
21 | public int Ability;
22 | public int Gender;
23 | public bool Gigantamax;
24 | public int ShinyType;
25 |
26 | public Data()
27 | {
28 | Probabilities = new int[5];
29 | }
30 | }
31 |
32 | public List Entries;
33 |
34 | public EventDen()
35 | {
36 | Entries = new List();
37 | Entries.Add(new Data());
38 | Entries.Add(new Data());
39 | Entries.Add(new Data());
40 | }
41 |
42 | // RaidPlugin互換のデータを取得
43 | [JsonIgnore]
44 | public RaidTemplate[] RaidEntries {
45 | get {
46 | RaidTemplate[] list = new RaidTemplate[Entries.Count];
47 | for (int i = 0; i < list.Length; ++i)
48 | {
49 | list[i] = new RaidTemplate( Entries[i].Species,
50 | Entries[i].Probabilities,
51 | Entries[i].FlawlessIvs,
52 | Entries[i].MinRank,
53 | Entries[i].MaxRank,
54 | Entries[i].AltForm,
55 | Entries[i].Ability,
56 | Entries[i].Gender,
57 | Entries[i].Gigantamax,
58 | Entries[i].ShinyType );
59 | }
60 | return list;
61 | }
62 | }
63 | }
64 |
65 | [JsonIgnore]
66 | public bool IsValid = false;
67 | public Dictionary EventList;
68 |
69 | public void Load(string path)
70 | {
71 | string str;
72 | try
73 | {
74 | using (StreamReader sr = new StreamReader(path))
75 | {
76 | str = sr.ReadToEnd();
77 | }
78 | }
79 | catch (Exception)
80 | {
81 | // エラー
82 | return;
83 | }
84 |
85 | EventDenList tmp = null;
86 | try
87 | {
88 | tmp = JsonConvert.DeserializeObject(str);
89 | }
90 | catch (Exception)
91 | {
92 | // エラー
93 | return;
94 | }
95 |
96 | if (tmp != null)
97 | {
98 | EventList = new Dictionary(tmp.EventList);
99 |
100 | IsValid = true;
101 | }
102 | }
103 | }
104 | }
105 |
--------------------------------------------------------------------------------
/OneStarCalculatorLib/OneStarCalculatorLib.vcxproj.filters:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | {4FC737F1-C7A5-4376-A066-2A32D752A2FF}
6 | cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx
7 |
8 |
9 | {93995380-89BD-4b04-88EB-625FBE52EBFB}
10 | h;hh;hpp;hxx;hm;inl;inc;ipp;xsd
11 |
12 |
13 | {67DA6AB6-F800-4c08-8B7A-83BB121AAD01}
14 | rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms
15 |
16 |
17 |
18 |
19 | ソース ファイル
20 |
21 |
22 | ソース ファイル
23 |
24 |
25 | ソース ファイル
26 |
27 |
28 | ソース ファイル
29 |
30 |
31 |
32 |
33 | ヘッダー ファイル
34 |
35 |
36 | ヘッダー ファイル
37 |
38 |
39 | ヘッダー ファイル
40 |
41 |
42 | ヘッダー ファイル
43 |
44 |
45 | ヘッダー ファイル
46 |
47 |
48 | ヘッダー ファイル
49 |
50 |
51 | ヘッダー ファイル
52 |
53 |
54 | ヘッダー ファイル
55 |
56 |
57 | ヘッダー ファイル
58 |
59 |
60 | ヘッダー ファイル
61 |
62 |
63 | ヘッダー ファイル
64 |
65 |
66 |
67 |
68 | ソース ファイル
69 |
70 |
71 | ソース ファイル
72 |
73 |
74 | ソース ファイル
75 |
76 |
77 |
--------------------------------------------------------------------------------
/OneStarCUI/Program.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using OneStarCalculator;
3 |
4 | namespace OneStarCUI
5 | {
6 | class Program
7 | {
8 | static void Main(string[] args)
9 | {
10 | // 適当に計算したりするテスト用コンソールです
11 | // 0x123イベントレイド
12 | // マホミル★3
13 | // 4匹目3V 31 28 31 4 31 11 うっかりや 夢 ♀固定 個性1 うたれづよい
14 | // マホミル★4
15 | // 4匹目4V 31 10 31 31 31 27 ひかえめ 特性1 ♀固定 個性1 うたれづよい
16 | // マホミル★3
17 | // 5匹目3V 27 21 31 31 18 31 のうてんき 特性1 ♀固定 個性2 うたれづよい
18 | // マホミル★3
19 | // 6匹目3V 31 31 3 17 31 6 さみしがり 特性1 ♀固定 個性3 みえっぱり
20 | /*
21 | SeedSearcher searcher = new SeedSearcher(SeedSearcher.Mode.Cuda35);
22 | SeedSearcher.CudaInitialize();
23 | SeedSearcher.SetCudaCondition(0, 31, 28, 31, 4, 31, 11, 2, 19, 0, 2, true, 4, 3);
24 | SeedSearcher.SetCudaCondition(1, 31, 10, 31, 31, 31, 27, 0, 15, 0, 2, true, 4, 4);
25 | SeedSearcher.SetCudaCondition(2, 27, 21, 31, 31, 18, 31, 0, 9, 0, 2, true, 4, 3);
26 | SeedSearcher.SetCudaCondition(3, 31, 31, 3, 17, 31, 6, 0, 1, 0, 5, true, 4, 3);
27 | SeedSearcher.SetCudaTargetCondition5(28, 4, 11, 10, 27);
28 | */
29 | // 0x123イベントレイド
30 | // ストリンダー(ハイ)★3
31 | // 4匹目3V 31 28 31 4 31 11 わんぱく 夢 ♂♀ 個性1 うたれづよい
32 | // ストリンダー(ハイ)★4
33 | // 4匹目4V 31 10 31 31 31 27 なまいき 特性1 ♂♀ 個性1 うたれづよい
34 | // ストリンダー(ハイ)★3
35 | // 5匹目3V 27 21 31 31 18 31 ゆうかん 特性1 ♂♀ 個性2 うたれづよい
36 | /*
37 | SeedSearcher searcher = new SeedSearcher(SeedSearcher.Mode.Cuda35);
38 | SeedSearcher.CudaInitialize();
39 | SeedSearcher.SetCudaCondition(0, 31, 28, 31, 4, 31, 11, 2, 8, 1, 2, false, 4, 3);
40 | SeedSearcher.SetCudaCondition(1, 31, 10, 31, 31, 31, 27, 0, 22, 1, 2, false, 4, 4);
41 | SeedSearcher.SetCudaCondition(2, 27, 21, 31, 31, 18, 31, 0, 2, 1, 2, false, 4, 3);
42 | SeedSearcher.SetCudaTargetCondition5(28, 4, 11, 10, 27);
43 | */
44 | // 0x123イベントレイド
45 | // ストリンダー(ロー)★3
46 | // 4匹目3V 31 28 31 4 31 11 おくびょう 夢 ♂♀ 個性1 うたれづよい
47 | // ストリンダー(ロー)★4
48 | // 4匹目4V 31 10 31 31 31 27 おっとり 特性1 ♂♀ 個性1 うたれづよい
49 | // ストリンダー(ロー)★3
50 | // 5匹目3V 27 21 31 31 18 31 のんき 特性1 ♂♀ 個性2 うたれづよい
51 | SeedSearcher searcher = new SeedSearcher(SeedSearcher.Mode.Cuda35);
52 | SeedSearcher.CudaInitialize();
53 | SeedSearcher.SetCudaCondition(0, 31, 28, 31, 4, 31, 11, 2, 10, 2, 2, false, 4, 3);
54 | SeedSearcher.SetCudaCondition(1, 31, 10, 31, 31, 31, 27, 0, 16, 2, 2, false, 4, 4);
55 | SeedSearcher.SetCudaCondition(2, 27, 21, 31, 31, 18, 31, 0, 7, 2, 2, false, 4, 3);
56 | SeedSearcher.SetCudaTargetCondition5(28, 4, 11, 10, 27);
57 |
58 | searcher.CudaLoopPartition = 0;
59 |
60 | Console.WriteLine("計算中...");
61 |
62 | // 時間計測
63 | var sw = new System.Diagnostics.Stopwatch();
64 | sw.Start();
65 |
66 | // 計算
67 | searcher.Calculate(false, 0, 0, null);
68 |
69 | sw.Stop();
70 |
71 | Console.WriteLine($"{searcher.Result.Count} results");
72 | foreach (ulong result in searcher.Result)
73 | {
74 | Console.WriteLine($"0x{result:X}");
75 | }
76 | Console.WriteLine($"{sw.ElapsedMilliseconds}[ms]");
77 | }
78 | }
79 | }
80 |
--------------------------------------------------------------------------------
/DenListConverter/DenListConverter.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Debug
6 | AnyCPU
7 | {3D0D9D95-E953-4EBA-9559-6DFBFC6C74F9}
8 | Exe
9 | DenListConverter
10 | DenListConverter
11 | v4.7.2
12 | 512
13 | true
14 | true
15 |
16 |
17 | AnyCPU
18 | true
19 | full
20 | false
21 | bin\Debug\
22 | DEBUG;TRACE
23 | prompt
24 | 4
25 |
26 |
27 | AnyCPU
28 | pdbonly
29 | true
30 | bin\Release\
31 | TRACE
32 | prompt
33 | 4
34 |
35 |
36 |
37 | ..\packages\PKHeX.Core.20.10.11\lib\net46\PKHeX.Core.dll
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 |
54 |
55 |
56 |
57 |
58 |
59 |
60 |
61 | {f78e6705-c8f8-4817-81ef-49121d2d0005}
62 | OneStar
63 |
64 |
65 |
66 |
--------------------------------------------------------------------------------
/OneStar/PokemonFormUtility.cs:
--------------------------------------------------------------------------------
1 | using System.Collections.Generic;
2 | using System.Windows.Forms;
3 | using OneStarCalculator;
4 |
5 | namespace OneStar
6 | {
7 | class PokemonFormUtility
8 | {
9 | // 特性コンボボックスアイテムクラス
10 | public class AbilityItem
11 | {
12 | public int Type { get; private set; }
13 | public int Id { get; private set; }
14 | public string Name { get; private set; }
15 |
16 | public override string ToString() { return Name; }
17 |
18 | public AbilityItem(int type, int id, string name)
19 | {
20 | Type = type;
21 | Id = id;
22 | Name = name;
23 | }
24 | }
25 |
26 | // 性格リストをコンボボックスにセット
27 | public static void SetNatureComboBox(ComboBox comboBox)
28 | {
29 | foreach (var key in Messages.Instance.Nature.Keys)
30 | {
31 | comboBox.Items.Add(key);
32 | }
33 | comboBox.SelectedIndex = 0;
34 | }
35 |
36 | // 性格IDのものを選択
37 | public static void SelectNatureComboBox(ComboBox comboBox, int nature)
38 | {
39 | string str = GetNatureString(nature);
40 | foreach (var item in comboBox.Items)
41 | {
42 | if (item.ToString() == str)
43 | {
44 | comboBox.SelectedItem = item;
45 | }
46 | }
47 | }
48 |
49 | // 個性リストをコンボボックスにセット
50 | public static void SetCharacteristicComboBox(ComboBox comboBox)
51 | {
52 | foreach (var key in Messages.Instance.Characteristic.Keys)
53 | {
54 | comboBox.Items.Add(key);
55 | }
56 | comboBox.SelectedIndex = 0;
57 | }
58 |
59 | // 個性IDのものを選択
60 | public static void SelectCharacteristicComboBox(ComboBox comboBox, int characteristic)
61 | {
62 | string str = GetCharacteristicString(characteristic);
63 | foreach (var item in comboBox.Items)
64 | {
65 | if (item.ToString() == str)
66 | {
67 | comboBox.SelectedItem = item;
68 | }
69 | }
70 | }
71 |
72 | // 特性リストをコンボボックスにセット
73 | public static void SetAbilityComboBox(ComboBox comboBox, int count, int initialIndex = 0)
74 | {
75 | for (int i = 0; i < count; ++i)
76 | {
77 | comboBox.Items.Add(Messages.Instance.Ability[i]);
78 | }
79 | comboBox.SelectedIndex = initialIndex;
80 | }
81 |
82 | public static string GetNatureString(int nature)
83 | {
84 | foreach (var pair in Messages.Instance.Nature)
85 | {
86 | if (pair.Value == nature)
87 | {
88 | return pair.Key;
89 | }
90 | }
91 | return "";
92 | }
93 |
94 | public static string GetCharacteristicString(int characteristic)
95 | {
96 | foreach (var pair in Messages.Instance.Characteristic)
97 | {
98 | if (pair.Value == characteristic)
99 | {
100 | return pair.Key;
101 | }
102 | }
103 | return "";
104 | }
105 |
106 | // 性格テーブル
107 | public class NatureTable
108 | {
109 | public uint Max { get; set; }
110 | public uint Pattern { get; set; }
111 | public int[] List { get; set; }
112 | }
113 | public static NatureTable[] NatureTableList = {
114 | new NatureTable{ Max = 0x1F, Pattern = 25, List = new int[]{ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16 ,17, 18, 19, 20, 21, 22, 23, 24 } },
115 | new NatureTable{ Max = 0xF, Pattern = 13, List = new int[]{ 3, 4, 2, 8, 9, 19, 22, 11, 13, 14, 0, 6, 24 } },
116 | new NatureTable{ Max = 0xF, Pattern = 12, List = new int[]{ 1, 5, 7, 10, 12, 15, 16, 17, 18, 20, 21, 23 } },
117 | };
118 | }
119 | }
120 |
--------------------------------------------------------------------------------
/DenListConverter/Nest.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.IO;
4 | using System.Linq;
5 | using System.Text;
6 | using System.Threading.Tasks;
7 |
8 | namespace DenListConverter
9 | {
10 | public class Nest
11 | {
12 | public string Id { get; }
13 | public List Entries { get; } = new List();
14 |
15 | public Nest(string id)
16 | {
17 | Id = id;
18 | }
19 |
20 | public void Load(List lines)
21 | {
22 | Entry entry = null;
23 | List entryLines = new List();
24 | foreach (var line in lines)
25 | {
26 | if (line.Length > 2)
27 | {
28 | // 最初の行
29 | if (line[0] == '\t' && line[1] != '\t')
30 | {
31 | if (entry != null)
32 | {
33 | entry.Load(entryLines);
34 | Entries.Add(entry);
35 | entryLines.Clear();
36 | }
37 |
38 | int index = line.IndexOf(' ');
39 | string first = line.Substring(1, index - 1);
40 | string second = line.Substring(index + 1);
41 | int star = 0;
42 | if (first == "1-Star")
43 | {
44 | star = 1;
45 | }
46 | else if (first == "2-Star")
47 | {
48 | star = 2;
49 | }
50 | else if (first == "3-Star")
51 | {
52 | star = 3;
53 | }
54 | else if (first == "4-Star")
55 | {
56 | star = 4;
57 | }
58 | else if (first == "5-Star")
59 | {
60 | star = 5;
61 | }
62 | else if (first == "0-Star")
63 | {
64 | star = 0;
65 | }
66 | else
67 | {
68 | ;
69 | }
70 |
71 | bool gigantamax = false;
72 | if (second.IndexOf("Gigantamax") == 0)
73 | {
74 | second = second.Substring(11);
75 | gigantamax = true;
76 | }
77 |
78 | string name = second;
79 | int altform = 0;
80 | if (second[second.Length - 2] == '-' && second != "Jangmo-o" && second != "Hakamo-o" && second != "Kommo-o")
81 | {
82 | name = second.Substring(0, second.Length - 2);
83 | altform = int.Parse(second.Substring(second.Length - 1));
84 | }
85 |
86 | if (star > 0)
87 | {
88 | entry = new Entry(star, name, altform, gigantamax);
89 | }
90 | else
91 | {
92 | entry = null;
93 | }
94 |
95 | continue;
96 | }
97 | entryLines.Add(line);
98 | }
99 | }
100 | if (entry != null)
101 | {
102 | entry.Load(entryLines);
103 | Entries.Add(entry);
104 | }
105 | }
106 |
107 | public void Output(StreamWriter sw, string suffix)
108 | {
109 | sw.WriteLine($" \"{Id + suffix}\":{{");
110 | sw.WriteLine(" \"Entries\":[");
111 |
112 | for (int i = 1; i <= 5; ++i)
113 | {
114 | foreach (var entry in Entries)
115 | {
116 | if (entry.Star == i)
117 | {
118 | entry.Output(sw);
119 | }
120 | }
121 | }
122 |
123 | sw.WriteLine(" ]},");
124 | }
125 |
126 | public void Intermediate(StreamWriter sw, string suffix)
127 | {
128 | sw.WriteLine($"====={Id + suffix}");
129 |
130 | for (int i = 0; i < 5; ++i)
131 | {
132 | foreach (var entry in Entries)
133 | {
134 | if (entry.Probability[i] > 0)
135 | {
136 | int species = -1;
137 | string name = entry.Name;
138 | {
139 | var list = PKHeX.Core.Util.GetSpeciesList("en");
140 | for (int a = 0; a < list.Length; ++a)
141 | {
142 | if (name == list[a])
143 | {
144 | species = a;
145 | break;
146 | }
147 | }
148 | }
149 | // 日本語ポケモン名検索
150 | if(species != -1)
151 | {
152 | name = PKHeX.Core.Util.GetSpeciesList("ja")[species];
153 | }
154 |
155 | string output = $"★{i + 1}: {name}";
156 | if (entry.Gigantamax)
157 | {
158 | output += "(キョダイ)";
159 | }
160 | if (entry.Ability == 2)
161 | {
162 | output += "[HA]";
163 | }
164 |
165 | sw.WriteLine(output);
166 | }
167 | }
168 | }
169 | }
170 | }
171 | }
172 |
--------------------------------------------------------------------------------
/OneStarCalculator/OneStarCalculator.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Debug
6 | AnyCPU
7 | {4A5ADB06-7773-4E21-9336-D46A44B92CC2}
8 | Library
9 | Properties
10 | OneStarCalculator
11 | OneStarCalculator
12 | v4.8
13 | 512
14 | true
15 |
16 |
17 |
18 | true
19 | full
20 | false
21 | bin\Debug\
22 | DEBUG;TRACE
23 | prompt
24 | 4
25 | x64
26 |
27 |
28 | pdbonly
29 | true
30 | bin\Release\x64\
31 | TRACE
32 | prompt
33 | 4
34 | x64
35 |
36 |
37 | true
38 | bin\Debug\x64\
39 | DEBUG;TRACE
40 | full
41 | x64
42 | prompt
43 | MinimumRecommendedRules.ruleset
44 |
45 |
46 | bin\Release\x64\
47 | TRACE
48 | true
49 | pdbonly
50 | x64
51 | prompt
52 | MinimumRecommendedRules.ruleset
53 |
54 |
55 | true
56 | bin\x86\Debug\
57 | DEBUG;TRACE
58 | full
59 | x86
60 | prompt
61 | MinimumRecommendedRules.ruleset
62 |
63 |
64 | bin\Release\x86\
65 | TRACE
66 | true
67 | pdbonly
68 | x86
69 | prompt
70 | MinimumRecommendedRules.ruleset
71 |
72 |
73 |
74 |
75 |
76 |
77 |
78 |
79 |
80 |
81 |
82 |
83 |
84 |
85 |
86 |
87 |
--------------------------------------------------------------------------------
/IVCalcNetFramework/IVCalcNetFramework.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Debug
6 | AnyCPU
7 | {EE1D9696-545C-495D-9F6D-680038688F85}
8 | Library
9 | IVCalcNetFramework
10 | IVCalcNetFramework
11 | v4.8
12 | 512
13 | true
14 | true
15 |
16 |
17 |
18 | AnyCPU
19 | true
20 | full
21 | false
22 | bin\Debug\
23 | DEBUG;TRACE
24 | prompt
25 | 4
26 |
27 |
28 | AnyCPU
29 | pdbonly
30 | true
31 | bin\Release\
32 | TRACE
33 | prompt
34 | 4
35 |
36 |
37 |
38 |
39 |
40 | true
41 | bin\x64\Debug\
42 | DEBUG;TRACE
43 | full
44 | x64
45 | prompt
46 | MinimumRecommendedRules.ruleset
47 |
48 |
49 | bin\x64\Release\
50 | TRACE
51 | true
52 | pdbonly
53 | x64
54 | prompt
55 | MinimumRecommendedRules.ruleset
56 |
57 |
58 | true
59 | bin\x86\Debug\
60 | DEBUG;TRACE
61 | full
62 | x86
63 | prompt
64 | MinimumRecommendedRules.ruleset
65 |
66 |
67 | bin\x86\Release\
68 | TRACE
69 | true
70 | pdbonly
71 | x86
72 | prompt
73 | MinimumRecommendedRules.ruleset
74 |
75 |
76 |
77 | ..\packages\Newtonsoft.Json.12.0.3\lib\net45\Newtonsoft.Json.dll
78 |
79 |
80 | ..\packages\PKHeX.Core.20.2.9\lib\net46\PKHeX.Core.dll
81 |
82 |
83 |
84 |
85 |
86 |
87 |
88 |
89 |
90 |
91 |
92 |
93 |
94 |
95 |
96 |
97 |
98 |
99 |
100 |
101 |
--------------------------------------------------------------------------------
/OneStar/Preferences.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.IO;
4 | using Newtonsoft.Json;
5 |
6 | namespace OneStar
7 | {
8 | public class Preferences
9 | {
10 | // 言語設定
11 | [JsonProperty] Language m_Language = Language.Japanese;
12 |
13 | // バージョン
14 | [JsonProperty] int m_GameVersion = 0;
15 |
16 | // イベントレイド
17 | [JsonProperty] string m_EventId = "20201102";
18 |
19 | // GPU使用
20 | [JsonProperty] bool m_isUseGpu = false;
21 |
22 | // GPU設定
23 | [JsonProperty] int m_GpuLoop = 0;
24 |
25 | // 検索設定
26 | [JsonProperty] bool m_SearchShowDuration = false;
27 | [JsonProperty] bool m_SearchStop = true;
28 |
29 | // リスト設定
30 | [JsonProperty] int m_ListMaxFrame = 5000;
31 | [JsonProperty] bool m_ListOnlyShiny = false;
32 | [JsonProperty] bool m_ListShowSeed = false;
33 | [JsonProperty] bool m_ListShowEC = false;
34 | [JsonProperty] bool m_ListShowAbilityName = false;
35 |
36 | #region 取得
37 | [JsonIgnore]
38 | public Language Language {
39 | get { return m_Language; }
40 | set {
41 | m_Language = value;
42 | Serialize();
43 | }
44 | }
45 | [JsonIgnore]
46 | public int GameVersion {
47 | get { return m_GameVersion; }
48 | set {
49 | m_GameVersion = value;
50 | Serialize();
51 | }
52 | }
53 | [JsonIgnore]
54 | public string EventId {
55 | get { return m_EventId; }
56 | set {
57 | m_EventId = value;
58 | Serialize();
59 | }
60 | }
61 | [JsonIgnore]
62 | public bool IsUseGpu {
63 | get { return m_isUseGpu; }
64 | set {
65 | m_isUseGpu = value;
66 | Serialize();
67 | }
68 | }
69 | [JsonIgnore]
70 | public int GpuLoop {
71 | get { return m_GpuLoop; }
72 | set {
73 | m_GpuLoop = value;
74 | Serialize();
75 | }
76 | }
77 | [JsonIgnore]
78 | public bool SearchShowDuration
79 | {
80 | get { return m_SearchShowDuration; }
81 | set
82 | {
83 | m_SearchShowDuration = value;
84 | Serialize();
85 | }
86 | }
87 | [JsonIgnore]
88 | public bool SearchStop
89 | {
90 | get { return m_SearchStop; }
91 | set
92 | {
93 | m_SearchStop = value;
94 | Serialize();
95 | }
96 | }
97 | [JsonIgnore]
98 | public int ListMaxFrame {
99 | get { return m_ListMaxFrame; }
100 | set {
101 | m_ListMaxFrame = value;
102 | Serialize();
103 | }
104 | }
105 | [JsonIgnore]
106 | public bool ListOnlyShiny
107 | {
108 | get { return m_ListOnlyShiny; }
109 | set
110 | {
111 | m_ListOnlyShiny = value;
112 | Serialize();
113 | }
114 | }
115 | [JsonIgnore]
116 | public bool ListShowSeed
117 | {
118 | get { return m_ListShowSeed; }
119 | set
120 | {
121 | m_ListShowSeed = value;
122 | Serialize();
123 | }
124 | }
125 | [JsonIgnore]
126 | public bool ListShowEC
127 | {
128 | get { return m_ListShowEC; }
129 | set
130 | {
131 | m_ListShowEC = value;
132 | Serialize();
133 | }
134 | }
135 | [JsonIgnore]
136 | public bool ListShowAbilityName
137 | {
138 | get { return m_ListShowAbilityName; }
139 | set
140 | {
141 | m_ListShowAbilityName = value;
142 | Serialize();
143 | }
144 | }
145 | #endregion
146 |
147 | // 初期設定
148 | public void Initialize()
149 | {
150 | m_Language = Language.Japanese;
151 | m_GameVersion = 0;
152 | m_EventId = "20201102";
153 | m_isUseGpu = false;
154 | m_GpuLoop = 0;
155 | m_SearchShowDuration = false;
156 | m_SearchStop = true;
157 | m_ListMaxFrame = 5000;
158 | m_ListOnlyShiny = false;
159 | m_ListShowSeed = false;
160 | m_ListShowEC = false;
161 | m_ListShowAbilityName = false;
162 | }
163 |
164 | // コピー
165 | void Copy(Preferences src)
166 | {
167 | m_Language = src.m_Language;
168 | m_GameVersion = src.m_GameVersion;
169 | m_EventId = src.m_EventId;
170 | m_isUseGpu = src.m_isUseGpu;
171 | m_GpuLoop = src.m_GpuLoop;
172 | m_SearchShowDuration = src.m_SearchShowDuration;
173 | m_SearchStop = src.m_SearchStop;
174 | m_ListMaxFrame = src.m_ListMaxFrame;
175 | m_ListOnlyShiny = src.m_ListOnlyShiny;
176 | m_ListShowSeed = src.m_ListShowSeed;
177 | m_ListShowEC = src.m_ListShowEC;
178 | m_ListShowAbilityName = src.m_ListShowAbilityName;
179 | }
180 |
181 | // 設定をファイルに保存
182 | public void Serialize()
183 | {
184 | try
185 | {
186 | using (StreamWriter sw = new StreamWriter("data/config.json"))
187 | {
188 | string str = JsonConvert.SerializeObject(this);
189 | sw.Write(str);
190 | }
191 | }
192 | catch (Exception)
193 | {
194 | }
195 | }
196 |
197 | // ファイルから設定を読み込み
198 | public bool Deserialize()
199 | {
200 | string str;
201 | try
202 | {
203 | using (StreamReader sr = new StreamReader("data/config.json"))
204 | {
205 | str = sr.ReadToEnd();
206 | }
207 | }
208 | catch (Exception)
209 | {
210 | // エラー
211 | return false;
212 | }
213 |
214 | Preferences tmp = null;
215 | try
216 | {
217 | tmp = JsonConvert.DeserializeObject(str);
218 | }
219 | catch (Exception)
220 | {
221 | // エラー
222 | return false;
223 | }
224 |
225 | if (tmp != null)
226 | {
227 | Copy(tmp);
228 |
229 | return true;
230 | }
231 | return false;
232 | }
233 | }
234 | }
235 |
--------------------------------------------------------------------------------
/OneStar/ListGenerator.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.IO;
3 | using System.Diagnostics;
4 | using PKHeX.Core;
5 |
6 | namespace OneStar
7 | {
8 | public class ListGenerator
9 | {
10 | UInt64 m_DenSeed;
11 | int m_MaxCount;
12 | RaidData.Pokemon m_Pokemon;
13 | bool m_isShinyCheck;
14 | bool m_isShowSeed;
15 | bool m_isShowEc;
16 | bool m_isShowAbilityName;
17 |
18 | public ListGenerator(UInt64 denSeed, int maxCount, RaidData.Pokemon pokemon, bool isShinyCheck, bool isShowSeed, bool isShowEc, bool isShowAbilityName)
19 | {
20 | m_DenSeed = denSeed;
21 | m_MaxCount = maxCount;
22 | m_Pokemon = pokemon;
23 | m_isShinyCheck = isShinyCheck;
24 | m_isShowSeed = isShowSeed;
25 | m_isShowEc = isShowEc;
26 | m_isShowAbilityName = isShowAbilityName;
27 | }
28 |
29 | public void Generate()
30 | {
31 | PersonalInfo personalInfo = PersonalInfoProvider.GetPersonalInfo(m_Pokemon);
32 | var abilityList = PKHeX.Core.Util.GetAbilitiesList(Messages.Instance.LangCode);
33 |
34 | UInt64 seed = m_DenSeed; // 消費数0のDen Seed
35 |
36 | UInt32 ec, otid, pid;
37 | int[] ivs = new int[6];
38 | UInt32 fixedIndex;
39 | UInt32 ability;
40 | UInt32 gender = 0;
41 | UInt32 nature;
42 |
43 | using (StreamWriter sw = new StreamWriter("list.txt"))
44 | {
45 | sw.Write($"{Messages.Instance.ListLabel["Frame"]},");
46 | if (m_isShowSeed)
47 | {
48 | sw.Write("Seed,");
49 | }
50 | if (m_isShowEc)
51 | {
52 | sw.Write("EC,");
53 | }
54 | for (int i = 0; i < 6; ++i)
55 | {
56 | sw.Write($"{Messages.Instance.Status[i]},");
57 | }
58 | if (!m_Pokemon.IsFixedGender)
59 | {
60 | sw.Write($"{Messages.Instance.SystemLabel["Gender"]},");
61 | }
62 | sw.Write($"{Messages.Instance.ListLabel["Ability"]},");
63 | sw.Write($"{Messages.Instance.ListLabel["Nature"]},");
64 | sw.WriteLine($"{Messages.Instance.ListLabel["Shiny"]}");
65 |
66 | for (int frame = 0; frame <= m_MaxCount; ++frame)
67 | {
68 | Xoroshiro xoroshiro = new Xoroshiro(seed);
69 |
70 | // seedを進める
71 | ec = xoroshiro.Next(0xFFFFFFFFu);
72 | otid = xoroshiro.Next(0xFFFFFFFFu);
73 | pid = xoroshiro.Next(0xFFFFFFFFu);
74 |
75 | bool isShiny = ((((otid ^ (otid >> 16)) >> 4) & 0xFFF) == (((pid ^ (pid >> 16)) >> 4) & 0xFFF));
76 | bool isSquare = (((otid ^ (otid >> 16)) & 0xFFFF) == ((pid ^ (pid >> 16)) & 0xFFFF));
77 |
78 | if (m_isShinyCheck && ! isShiny)
79 | {
80 | seed = seed + 0x82a2b175229d6a5bul;
81 | continue;
82 | }
83 |
84 | // V箇所決定
85 | for (int i = 0; i < 6; ++i)
86 | {
87 | ivs[i] = -1;
88 | }
89 |
90 | int fixedCount = 0;
91 | do
92 | {
93 | fixedIndex = 0;
94 | do
95 | {
96 | fixedIndex = xoroshiro.Next(7); // V箇所
97 | } while (fixedIndex >= 6);
98 |
99 | if (ivs[fixedIndex] == -1)
100 | {
101 | ivs[fixedIndex] = 31;
102 | ++fixedCount;
103 | }
104 | } while (fixedCount < m_Pokemon.FlawlessIvs);
105 |
106 | // 個体値を埋める
107 | for (int i = 0; i < 6; ++i)
108 | {
109 | if (ivs[i] == -1)
110 | {
111 | ivs[i] = (int)xoroshiro.Next(0x1F);
112 | }
113 | }
114 |
115 | // 特性
116 | if (m_Pokemon.Ability == 2)
117 | {
118 | ability = 2;
119 | }
120 | else if(m_Pokemon.Ability == 4)
121 | {
122 | do
123 | {
124 | ability = xoroshiro.Next(3);
125 | } while (ability >= 3);
126 | }
127 | else
128 | {
129 | ability = xoroshiro.Next(1);
130 | }
131 |
132 | // 性別値
133 | if (!m_Pokemon.IsFixedGender)
134 | {
135 | do
136 | {
137 | gender = xoroshiro.Next(0xFF);
138 | } while (gender >= 253);
139 | }
140 |
141 | // 性格
142 | do
143 | {
144 | nature = xoroshiro.Next(PokemonFormUtility.NatureTableList[m_Pokemon.NatureTableId].Max);
145 | } while (nature >= PokemonFormUtility.NatureTableList[m_Pokemon.NatureTableId].Pattern);
146 |
147 | // 出力
148 | sw.Write($"{frame},");
149 | if (m_isShowSeed)
150 | {
151 | sw.Write($"{seed:X16},");
152 | }
153 | if (m_isShowEc)
154 | {
155 | sw.Write($"{ec:X8},");
156 | }
157 | sw.Write($"{ivs[0]},{ivs[1]},{ivs[2]},{ivs[3]},{ivs[4]},{ivs[5]},");
158 | if (!m_Pokemon.IsFixedGender)
159 | {
160 | if (gender + 1 < personalInfo.Gender)
161 | {
162 | sw.Write($"{Messages.Instance.Gender[1]},");
163 | }
164 | else
165 | {
166 | sw.Write($"{Messages.Instance.Gender[0]},");
167 | }
168 | }
169 | if (m_isShowAbilityName)
170 | {
171 | sw.Write($"{abilityList[personalInfo.Abilities[(int)ability]]},");
172 | }
173 | else
174 | {
175 | sw.Write(ability == 2 ? $"{Messages.Instance.ListLabel["HiddenAbility"]}," : $"{ability + 1},");
176 | }
177 | sw.Write($"{PokemonFormUtility.GetNatureString(PokemonFormUtility.NatureTableList[m_Pokemon.NatureTableId].List[nature])},");
178 | if (isShiny)
179 | {
180 | sw.WriteLine(isSquare ? Messages.Instance.ListLabel["SquareShiny"] : Messages.Instance.ListLabel["StarShiny"]);
181 | }
182 | else if(!m_isShinyCheck)
183 | {
184 | sw.WriteLine("");
185 | }
186 |
187 | seed = seed + 0x82a2b175229d6a5bul;
188 | }
189 | }
190 |
191 | Process ps = new Process();
192 | ps.StartInfo.FileName = "list.txt";
193 | ps.Start();
194 | }
195 | }
196 | }
197 |
--------------------------------------------------------------------------------
/OneStar/Properties/Resources.Designer.cs:
--------------------------------------------------------------------------------
1 | //------------------------------------------------------------------------------
2 | //
3 | // このコードはツールによって生成されました。
4 | // ランタイム バージョン:4.0.30319.42000
5 | //
6 | // このファイルへの変更は、以下の状況下で不正な動作の原因になったり、
7 | // コードが再生成されるときに損失したりします。
8 | //
9 | //------------------------------------------------------------------------------
10 |
11 | namespace OneStar.Properties {
12 | using System;
13 |
14 |
15 | ///
16 | /// ローカライズされた文字列などを検索するための、厳密に型指定されたリソース クラスです。
17 | ///
18 | // このクラスは StronglyTypedResourceBuilder クラスが ResGen
19 | // または Visual Studio のようなツールを使用して自動生成されました。
20 | // メンバーを追加または削除するには、.ResX ファイルを編集して、/str オプションと共に
21 | // ResGen を実行し直すか、または VS プロジェクトをビルドし直します。
22 | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "16.0.0.0")]
23 | [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
24 | [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
25 | internal class Resources {
26 |
27 | private static global::System.Resources.ResourceManager resourceMan;
28 |
29 | private static global::System.Globalization.CultureInfo resourceCulture;
30 |
31 | [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
32 | internal Resources() {
33 | }
34 |
35 | ///
36 | /// このクラスで使用されているキャッシュされた ResourceManager インスタンスを返します。
37 | ///
38 | [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
39 | internal static global::System.Resources.ResourceManager ResourceManager {
40 | get {
41 | if (object.ReferenceEquals(resourceMan, null)) {
42 | global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("OneStar.Properties.Resources", typeof(Resources).Assembly);
43 | resourceMan = temp;
44 | }
45 | return resourceMan;
46 | }
47 | }
48 |
49 | ///
50 | /// すべてについて、現在のスレッドの CurrentUICulture プロパティをオーバーライドします
51 | /// 現在のスレッドの CurrentUICulture プロパティをオーバーライドします。
52 | ///
53 | [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
54 | internal static global::System.Globalization.CultureInfo Culture {
55 | get {
56 | return resourceCulture;
57 | }
58 | set {
59 | resourceCulture = value;
60 | }
61 | }
62 |
63 | ///
64 | /// 型 System.Drawing.Bitmap のローカライズされたリソースを検索します。
65 | ///
66 | internal static System.Drawing.Bitmap map {
67 | get {
68 | object obj = ResourceManager.GetObject("map", resourceCulture);
69 | return ((System.Drawing.Bitmap)(obj));
70 | }
71 | }
72 |
73 | ///
74 | /// 型 System.Drawing.Bitmap のローカライズされたリソースを検索します。
75 | ///
76 | internal static System.Drawing.Bitmap map2_1 {
77 | get {
78 | object obj = ResourceManager.GetObject("map2_1", resourceCulture);
79 | return ((System.Drawing.Bitmap)(obj));
80 | }
81 | }
82 |
83 | ///
84 | /// 型 System.Drawing.Bitmap のローカライズされたリソースを検索します。
85 | ///
86 | internal static System.Drawing.Bitmap map2_2 {
87 | get {
88 | object obj = ResourceManager.GetObject("map2_2", resourceCulture);
89 | return ((System.Drawing.Bitmap)(obj));
90 | }
91 | }
92 |
93 | ///
94 | /// 型 System.Drawing.Bitmap のローカライズされたリソースを検索します。
95 | ///
96 | internal static System.Drawing.Bitmap map2_3 {
97 | get {
98 | object obj = ResourceManager.GetObject("map2_3", resourceCulture);
99 | return ((System.Drawing.Bitmap)(obj));
100 | }
101 | }
102 |
103 | ///
104 | /// 型 System.Drawing.Bitmap のローカライズされたリソースを検索します。
105 | ///
106 | internal static System.Drawing.Bitmap map3_1 {
107 | get {
108 | object obj = ResourceManager.GetObject("map3_1", resourceCulture);
109 | return ((System.Drawing.Bitmap)(obj));
110 | }
111 | }
112 |
113 | ///
114 | /// 型 System.Drawing.Bitmap のローカライズされたリソースを検索します。
115 | ///
116 | internal static System.Drawing.Bitmap map3_2 {
117 | get {
118 | object obj = ResourceManager.GetObject("map3_2", resourceCulture);
119 | return ((System.Drawing.Bitmap)(obj));
120 | }
121 | }
122 |
123 | ///
124 | /// 型 System.Drawing.Bitmap のローカライズされたリソースを検索します。
125 | ///
126 | internal static System.Drawing.Bitmap map3_3 {
127 | get {
128 | object obj = ResourceManager.GetObject("map3_3", resourceCulture);
129 | return ((System.Drawing.Bitmap)(obj));
130 | }
131 | }
132 |
133 | ///
134 | /// 型 System.Drawing.Bitmap のローカライズされたリソースを検索します。
135 | ///
136 | internal static System.Drawing.Bitmap point {
137 | get {
138 | object obj = ResourceManager.GetObject("point", resourceCulture);
139 | return ((System.Drawing.Bitmap)(obj));
140 | }
141 | }
142 | }
143 | }
144 |
--------------------------------------------------------------------------------
/OneStarCUI/OneStarCUI.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Debug
6 | AnyCPU
7 | {01E97797-02B9-460D-A6C8-B90E55B7064B}
8 | Exe
9 | OneStarCUI
10 | OneStarCUI
11 | v4.8
12 | 512
13 | true
14 | true
15 | publish\
16 | true
17 | Disk
18 | false
19 | Foreground
20 | 7
21 | Days
22 | false
23 | false
24 | true
25 | 0
26 | 1.0.0.%2a
27 | false
28 | false
29 | true
30 |
31 |
32 |
33 | AnyCPU
34 | true
35 | full
36 | false
37 | bin\Debug\
38 | DEBUG;TRACE
39 | prompt
40 | 4
41 | false
42 |
43 |
44 | x64
45 | pdbonly
46 | true
47 | ..\OneStar\bin\Release\x64\
48 | TRACE
49 | prompt
50 | 4
51 | false
52 |
53 |
54 | true
55 | ..\OneStar\bin\Debug\x64\
56 | DEBUG;TRACE
57 | full
58 | x64
59 | prompt
60 | MinimumRecommendedRules.ruleset
61 |
62 |
63 | ..\OneStar\bin\Release\x64\
64 | TRACE
65 | true
66 | pdbonly
67 | x64
68 | prompt
69 | MinimumRecommendedRules.ruleset
70 |
71 |
72 | true
73 | ..\OneStar\bin\Debug\x86\
74 | DEBUG;TRACE
75 | full
76 | x86
77 | prompt
78 | MinimumRecommendedRules.ruleset
79 |
80 |
81 | ..\OneStar\bin\Release\x86\
82 | TRACE
83 | true
84 | pdbonly
85 | x86
86 | prompt
87 | MinimumRecommendedRules.ruleset
88 |
89 |
90 |
91 |
92 |
93 |
94 |
95 |
96 |
97 |
98 |
99 |
100 |
101 |
102 |
103 |
104 |
105 |
106 |
107 |
108 | {4a5adb06-7773-4e21-9336-d46a44b92cc2}
109 | OneStarCalculator
110 |
111 |
112 |
113 |
114 | False
115 | Microsoft .NET Framework 4.6.1 %28x86 および x64%29
116 | true
117 |
118 |
119 | False
120 | .NET Framework 3.5 SP1
121 | false
122 |
123 |
124 |
125 |
126 |
127 |
128 |
129 |
--------------------------------------------------------------------------------
/DenListConverter/Entry.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.IO;
4 | using System.Linq;
5 | using System.Text;
6 | using System.Threading.Tasks;
7 |
8 | namespace DenListConverter
9 | {
10 | public class Entry
11 | {
12 | public int Star { get; }
13 | public string Name { get; }
14 | public int AltForm { get; }
15 | public bool Gigantamax { get; }
16 | public int Gender { get; private set; }
17 | public int Ability { get; private set; }
18 | public int[] Probability { get; }
19 |
20 | public Entry(int star, string name, int altform, bool gigantamax)
21 | {
22 | Star = star;
23 | Name = name;
24 | AltForm = altform;
25 | Gigantamax = gigantamax;
26 | Probability = new int[5];
27 | for (int i = 0; i < 5; ++i)
28 | {
29 | Probability[i] = 0;
30 | }
31 | }
32 |
33 | public void Load(List lines)
34 | {
35 | foreach (var line in lines)
36 | {
37 | // 性別
38 | if (line.IndexOf("\t\tGender: ") == 0)
39 | {
40 | string gender = line.Substring(10);
41 | if (gender == "Random")
42 | {
43 | Gender = 0;
44 | }
45 | else if (gender == "Female")
46 | {
47 | Gender = 1;
48 | }
49 | else if (gender == "Male")
50 | {
51 | Gender = 2;
52 | }
53 | else
54 | {
55 | ;
56 | }
57 | }
58 |
59 | // 特性
60 | else if (line.IndexOf("\t\tAbility: ") == 0)
61 | {
62 | string ability = line.Substring(11);
63 | if (ability == "A2")
64 | {
65 | Ability = 2;
66 | }
67 | else if (ability == "A3")
68 | {
69 | Ability = 3;
70 | }
71 | else if (ability == "A4")
72 | {
73 | Ability = 4;
74 | }
75 | else
76 | {
77 | ;
78 | }
79 | }
80 |
81 | // 確率
82 | if (line.IndexOf("\t\t\t1-Star Desired: ") == 0)
83 | {
84 | string[] elements = line.Split(' ');
85 | string percentage = elements[elements.Length - 1];
86 | string num = percentage.Substring(0, percentage.Length - 1);
87 | int probability = int.Parse(num);
88 | Probability[0] += probability;
89 | }
90 | else if (line.IndexOf("\t\t\t2-Star Desired: ") == 0)
91 | {
92 | string[] elements = line.Split(' ');
93 | string percentage = elements[elements.Length - 1];
94 | string num = percentage.Substring(0, percentage.Length - 1);
95 | int probability = int.Parse(num);
96 | Probability[1] += probability;
97 | }
98 | else if (line.IndexOf("\t\t\t3-Star Desired: ") == 0)
99 | {
100 | string[] elements = line.Split(' ');
101 | string percentage = elements[elements.Length - 1];
102 | string num = percentage.Substring(0, percentage.Length - 1);
103 | int probability = int.Parse(num);
104 | Probability[2] += probability;
105 | }
106 | else if (line.IndexOf("\t\t\t4-Star Desired: ") == 0)
107 | {
108 | string[] elements = line.Split(' ');
109 | string percentage = elements[elements.Length - 1];
110 | string num = percentage.Substring(0, percentage.Length - 1);
111 | int probability = int.Parse(num);
112 | Probability[3] += probability;
113 | }
114 | else if (line.IndexOf("\t\t\t5-Star Desired: ") == 0)
115 | {
116 | string[] elements = line.Split(' ');
117 | string percentage = elements[elements.Length - 1];
118 | string num = percentage.Substring(0, percentage.Length - 1);
119 | int probability = int.Parse(num);
120 | Probability[4] += probability;
121 | }
122 | }
123 | }
124 |
125 | public void Output(StreamWriter sw)
126 | {
127 | string output = " {\"Species\":";
128 |
129 | int species = -1;
130 |
131 | // 日本語ポケモン名検索
132 | {
133 | var list = PKHeX.Core.Util.GetSpeciesList("ja");
134 | for (int i = 0; i < list.Length; ++i)
135 | {
136 | if (Name == list[i])
137 | {
138 | species = i;
139 | break;
140 | }
141 | }
142 | }
143 | // 英語ポケモン名検索
144 | if (species == -1)
145 | {
146 | var list = PKHeX.Core.Util.GetSpeciesList("en");
147 | for (int i = 0; i < list.Length; ++i)
148 | {
149 | if (Name == list[i])
150 | {
151 | species = i;
152 | break;
153 | }
154 | }
155 | }
156 |
157 | output += $"{species,3},";
158 |
159 | output += "\"Probabilities\":[";
160 |
161 | int min = -1;
162 | int max = -1;
163 | for (int i = 0; i < 5; ++i)
164 | {
165 | if (Probability[i] > 0)
166 | {
167 | if (min == -1)
168 | {
169 | min = i;
170 | }
171 | max = i;
172 | }
173 |
174 | if (i > 0)
175 | {
176 | output += ",";
177 | }
178 | output += $"{Probability[i],3}";
179 | }
180 |
181 | output += "],";
182 |
183 | int flawlessIVs = 0;
184 |
185 | if (Ability == 3) // レア判定
186 | {
187 | if (max == 4)
188 | {
189 | flawlessIVs = 5;
190 | }
191 | else if (min == 0)
192 | {
193 | flawlessIVs = 2;
194 | }
195 | else if (min == 1)
196 | {
197 | flawlessIVs = 3;
198 | }
199 | else if (min == 2)
200 | {
201 | flawlessIVs = 4;
202 | }
203 | else if (min == 3)
204 | {
205 | // ?
206 | flawlessIVs = 4;
207 | }
208 | }
209 | else
210 | {
211 | // 鎧の孤島、冠の雪原ノーマル
212 | if (max == 4)
213 | {
214 | flawlessIVs = 4;
215 | }
216 | else if (min == 0)
217 | {
218 | flawlessIVs = 1;
219 | }
220 | else if (min == 1)
221 | {
222 | flawlessIVs = 2;
223 | }
224 | else if (min == 2)
225 | {
226 | flawlessIVs = 3;
227 | }
228 | else if (min == 3)
229 | {
230 | // ?
231 | flawlessIVs = 3;
232 | }
233 | }
234 |
235 | output += $"\"FlawlessIvs\":{flawlessIVs},";
236 | output += $"\"MinRank\":{min},\"MaxRank\":{max},";
237 | output += $"\"AltForm\":{AltForm},";
238 | output += $"\"Ability\":{Ability},";
239 | output += $"\"Gender\":{Gender},";
240 | if (Gigantamax)
241 | {
242 | output += $"\"Gigantamax\":true,";
243 | }
244 | else
245 | {
246 | output += $"\"Gigantamax\":false,";
247 | }
248 | output += $"\"ShinyType\":0";
249 |
250 | output += "},";
251 |
252 | sw.WriteLine(output);
253 | }
254 | }
255 | }
256 |
--------------------------------------------------------------------------------
/DenListConverter/Program.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Linq;
4 | using System.Text;
5 | using System.Threading.Tasks;
6 | using PKHeX.Core;
7 | using System.IO;
8 |
9 | namespace DenListConverter
10 | {
11 | class Program
12 | {
13 | static void Main(string[] args)
14 | {
15 | // イベントレイド向け
16 | string inputPath = "input.csv";
17 | string outputPath = "output.json";
18 |
19 | using (StreamReader sr = new StreamReader(inputPath, Encoding.GetEncoding("shift-jis")))
20 | {
21 | using (StreamWriter sw = new StreamWriter(outputPath))
22 | {
23 | // ヘッダ出力
24 | sw.WriteLine("{");
25 | sw.WriteLine(" \"EventList\":{");
26 |
27 | int tableCount = 0;
28 |
29 | sr.ReadLine(); // 1行目は飛ばす
30 | for (int c = 2; ; ++c)
31 | {
32 | string line = sr.ReadLine();
33 | if (line == null || line == "")
34 | {
35 | break;
36 | }
37 |
38 | string[] elements = line.Split(',');
39 |
40 | if (elements.Length != 12)
41 | {
42 | Console.WriteLine($"{c}行目が不正です。スキップします。");
43 | continue;
44 | }
45 |
46 | // ID定義行
47 | if (elements[3].Length == 0)
48 | {
49 | if (tableCount > 0)
50 | {
51 | // 前の〆
52 | sw.WriteLine(" ]},");
53 | }
54 |
55 | string id = elements[0];
56 | string version = elements[1];
57 | string type = elements[2];
58 |
59 | string tableId = id;
60 | if (version == "ソード")
61 | {
62 | tableId += "_Sw";
63 | }
64 | else if(version == "シールド")
65 | {
66 | tableId += "_Sh";
67 | }
68 | if (type == "通常")
69 | {
70 | tableId += "_n";
71 | }
72 | else if(type == "レア")
73 | {
74 | tableId += "_r";
75 | }
76 |
77 | sw.WriteLine($" \"{tableId}\":{{");
78 | sw.WriteLine(" \"Entries\":[");
79 |
80 | ++tableCount;
81 | continue;
82 | }
83 |
84 | // ポケモン名
85 | string name = elements[0];
86 |
87 | // 確率
88 | int[] probability = new int[5];
89 | for (int i = 0; i < 5; ++i)
90 | {
91 | probability[i] = int.Parse(elements[i + 1]);
92 | }
93 |
94 | // V数
95 | int flawlessIVs = int.Parse(elements[6]);
96 |
97 | // その他のパラメータ
98 | int altForm = int.Parse(elements[7]);
99 | int ability = int.Parse(elements[8]);
100 | int gender = int.Parse(elements[9]);
101 |
102 | bool gigantamax = (elements[10].Length != 0);
103 | bool shiny = (elements[11].Length != 0);
104 |
105 | string output = " {\"Species\":";
106 |
107 | int species = -1;
108 |
109 | // 日本語ポケモン名検索
110 | {
111 | var list = PKHeX.Core.Util.GetSpeciesList("ja");
112 | for (int i = 0; i < list.Length; ++i)
113 | {
114 | if (name == list[i])
115 | {
116 | species = i;
117 | break;
118 | }
119 | }
120 | }
121 | // 英語ポケモン名検索
122 | if (species == -1)
123 | {
124 | var list = PKHeX.Core.Util.GetSpeciesList("en");
125 | for (int i = 0; i < list.Length; ++i)
126 | {
127 | if (name == list[i])
128 | {
129 | species = i;
130 | break;
131 | }
132 | }
133 | }
134 |
135 | output += $"{species,3},";
136 |
137 | output += "\"Probabilities\":[";
138 |
139 | int min = -1;
140 | int max = -1;
141 | for (int i = 0; i < 5; ++i)
142 | {
143 | if (probability[i] > 0)
144 | {
145 | if (min == -1)
146 | {
147 | min = i;
148 | }
149 | max = i;
150 | }
151 |
152 | if (i > 0)
153 | {
154 | output += ",";
155 | }
156 | output += $"{probability[i],3}";
157 | }
158 |
159 | output += "],";
160 |
161 | output += $"\"FlawlessIvs\":{flawlessIVs},";
162 | output += $"\"MinRank\":{min},\"MaxRank\":{max},";
163 | output += $"\"AltForm\":{altForm},";
164 | output += $"\"Ability\":{ability},";
165 | output += $"\"Gender\":{gender},";
166 | if (gigantamax)
167 | {
168 | output += $"\"Gigantamax\":true,";
169 | }
170 | else
171 | {
172 | output += $"\"Gigantamax\":false,";
173 | }
174 | if (shiny)
175 | {
176 | output += $"\"ShinyType\":1";
177 | }
178 | else
179 | {
180 | output += $"\"ShinyType\":0";
181 | }
182 | output += "},";
183 |
184 | sw.WriteLine(output);
185 | }
186 |
187 | // フッタ出力
188 | sw.WriteLine(" ]},");
189 | sw.WriteLine(" }");
190 | sw.WriteLine("}");
191 | }
192 | }
193 | /*
194 | DenSet shieldDen = new DenSet();
195 | DenSet swordDen = new DenSet();
196 |
197 | shieldDen.Load("ShieldDen.txt");
198 | swordDen.Load("SwordDen.txt");
199 |
200 | string outputPath = "output.json";
201 |
202 | using (StreamWriter sw = new StreamWriter(outputPath))
203 | {
204 | // ヘッダ出力
205 | sw.WriteLine("{");
206 | sw.WriteLine(" \"EventList\":{");
207 |
208 | foreach (var pair in swordDen.NestDictionary)
209 | {
210 | Nest swordNest = pair.Value;
211 | Nest shieldNest = shieldDen.NestDictionary[pair.Key];
212 | swordNest.Output(sw, "_Sw");
213 | shieldNest.Output(sw, "_Sh");
214 | }
215 |
216 | // フッタ出力
217 | sw.WriteLine(" }");
218 | sw.WriteLine("}");
219 | }
220 |
221 | using (StreamWriter sw = new StreamWriter("intermediate.txt", false, Encoding.GetEncoding("shift-jis")))
222 | {
223 | int rareCountSw = 0;
224 | int rareCountSh = 0;
225 | foreach (var pair in swordDen.NestDictionary)
226 | {
227 | Nest swordNest = pair.Value;
228 | Nest shieldNest = shieldDen.NestDictionary[pair.Key];
229 | swordNest.Intermediate(sw, "_Sw");
230 | shieldNest.Intermediate(sw, "_Sh");
231 |
232 | foreach (var entry in swordNest.Entries)
233 | {
234 | if (entry.Ability == 2)
235 | {
236 | rareCountSw++;
237 | break;
238 | }
239 | }
240 | }
241 | ;
242 | }
243 | */
244 | }
245 | }
246 | }
247 |
--------------------------------------------------------------------------------
/OneStar.sln:
--------------------------------------------------------------------------------
1 |
2 | Microsoft Visual Studio Solution File, Format Version 12.00
3 | # Visual Studio Version 16
4 | VisualStudioVersion = 16.0.30128.74
5 | MinimumVisualStudioVersion = 10.0.40219.1
6 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "OneStarCalculator", "OneStarCalculator\OneStarCalculator.csproj", "{4A5ADB06-7773-4E21-9336-D46A44B92CC2}"
7 | EndProject
8 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "OneStarCUI", "OneStarCUI\OneStarCUI.csproj", "{01E97797-02B9-460D-A6C8-B90E55B7064B}"
9 | EndProject
10 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "OneStarCalculatorLib", "OneStarCalculatorLib\OneStarCalculatorLib.vcxproj", "{FC9F2AF9-AB51-4382-8028-A36AEA296863}"
11 | EndProject
12 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "OneStar", "OneStar\OneStar.csproj", "{F78E6705-C8F8-4817-81EF-49121D2D0005}"
13 | EndProject
14 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "IVCalcNetFramework", "IVCalcNetFramework\IVCalcNetFramework.csproj", "{EE1D9696-545C-495D-9F6D-680038688F85}"
15 | EndProject
16 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DenListConverter", "DenListConverter\DenListConverter.csproj", "{3D0D9D95-E953-4EBA-9559-6DFBFC6C74F9}"
17 | EndProject
18 | Global
19 | GlobalSection(SolutionConfigurationPlatforms) = preSolution
20 | Debug|Any CPU = Debug|Any CPU
21 | Debug|x64 = Debug|x64
22 | Debug|x86 = Debug|x86
23 | Release|Any CPU = Release|Any CPU
24 | Release|x64 = Release|x64
25 | Release|x86 = Release|x86
26 | EndGlobalSection
27 | GlobalSection(ProjectConfigurationPlatforms) = postSolution
28 | {4A5ADB06-7773-4E21-9336-D46A44B92CC2}.Debug|Any CPU.ActiveCfg = Debug|x64
29 | {4A5ADB06-7773-4E21-9336-D46A44B92CC2}.Debug|Any CPU.Build.0 = Debug|x64
30 | {4A5ADB06-7773-4E21-9336-D46A44B92CC2}.Debug|x64.ActiveCfg = Debug|x64
31 | {4A5ADB06-7773-4E21-9336-D46A44B92CC2}.Debug|x64.Build.0 = Debug|x64
32 | {4A5ADB06-7773-4E21-9336-D46A44B92CC2}.Debug|x86.ActiveCfg = Debug|x86
33 | {4A5ADB06-7773-4E21-9336-D46A44B92CC2}.Debug|x86.Build.0 = Debug|x86
34 | {4A5ADB06-7773-4E21-9336-D46A44B92CC2}.Release|Any CPU.ActiveCfg = Release|x64
35 | {4A5ADB06-7773-4E21-9336-D46A44B92CC2}.Release|Any CPU.Build.0 = Release|x64
36 | {4A5ADB06-7773-4E21-9336-D46A44B92CC2}.Release|x64.ActiveCfg = Release|x64
37 | {4A5ADB06-7773-4E21-9336-D46A44B92CC2}.Release|x64.Build.0 = Release|x64
38 | {4A5ADB06-7773-4E21-9336-D46A44B92CC2}.Release|x86.ActiveCfg = Release|x86
39 | {4A5ADB06-7773-4E21-9336-D46A44B92CC2}.Release|x86.Build.0 = Release|x86
40 | {01E97797-02B9-460D-A6C8-B90E55B7064B}.Debug|Any CPU.ActiveCfg = Debug|x64
41 | {01E97797-02B9-460D-A6C8-B90E55B7064B}.Debug|Any CPU.Build.0 = Debug|x64
42 | {01E97797-02B9-460D-A6C8-B90E55B7064B}.Debug|x64.ActiveCfg = Debug|x64
43 | {01E97797-02B9-460D-A6C8-B90E55B7064B}.Debug|x64.Build.0 = Debug|x64
44 | {01E97797-02B9-460D-A6C8-B90E55B7064B}.Debug|x86.ActiveCfg = Debug|x86
45 | {01E97797-02B9-460D-A6C8-B90E55B7064B}.Debug|x86.Build.0 = Debug|x86
46 | {01E97797-02B9-460D-A6C8-B90E55B7064B}.Release|Any CPU.ActiveCfg = Release|x64
47 | {01E97797-02B9-460D-A6C8-B90E55B7064B}.Release|Any CPU.Build.0 = Release|x64
48 | {01E97797-02B9-460D-A6C8-B90E55B7064B}.Release|x64.ActiveCfg = Release|x64
49 | {01E97797-02B9-460D-A6C8-B90E55B7064B}.Release|x64.Build.0 = Release|x64
50 | {01E97797-02B9-460D-A6C8-B90E55B7064B}.Release|x86.ActiveCfg = Release|x86
51 | {01E97797-02B9-460D-A6C8-B90E55B7064B}.Release|x86.Build.0 = Release|x86
52 | {FC9F2AF9-AB51-4382-8028-A36AEA296863}.Debug|Any CPU.ActiveCfg = Debug|x64
53 | {FC9F2AF9-AB51-4382-8028-A36AEA296863}.Debug|Any CPU.Build.0 = Debug|x64
54 | {FC9F2AF9-AB51-4382-8028-A36AEA296863}.Debug|x64.ActiveCfg = Debug|x64
55 | {FC9F2AF9-AB51-4382-8028-A36AEA296863}.Debug|x64.Build.0 = Debug|x64
56 | {FC9F2AF9-AB51-4382-8028-A36AEA296863}.Debug|x86.ActiveCfg = Debug|Win32
57 | {FC9F2AF9-AB51-4382-8028-A36AEA296863}.Debug|x86.Build.0 = Debug|Win32
58 | {FC9F2AF9-AB51-4382-8028-A36AEA296863}.Release|Any CPU.ActiveCfg = Release|x64
59 | {FC9F2AF9-AB51-4382-8028-A36AEA296863}.Release|Any CPU.Build.0 = Release|x64
60 | {FC9F2AF9-AB51-4382-8028-A36AEA296863}.Release|x64.ActiveCfg = Release|x64
61 | {FC9F2AF9-AB51-4382-8028-A36AEA296863}.Release|x64.Build.0 = Release|x64
62 | {FC9F2AF9-AB51-4382-8028-A36AEA296863}.Release|x86.ActiveCfg = Release|Win32
63 | {FC9F2AF9-AB51-4382-8028-A36AEA296863}.Release|x86.Build.0 = Release|Win32
64 | {F78E6705-C8F8-4817-81EF-49121D2D0005}.Debug|Any CPU.ActiveCfg = Debug|x64
65 | {F78E6705-C8F8-4817-81EF-49121D2D0005}.Debug|Any CPU.Build.0 = Debug|x64
66 | {F78E6705-C8F8-4817-81EF-49121D2D0005}.Debug|x64.ActiveCfg = Debug|x64
67 | {F78E6705-C8F8-4817-81EF-49121D2D0005}.Debug|x64.Build.0 = Debug|x64
68 | {F78E6705-C8F8-4817-81EF-49121D2D0005}.Debug|x86.ActiveCfg = Debug|x86
69 | {F78E6705-C8F8-4817-81EF-49121D2D0005}.Debug|x86.Build.0 = Debug|x86
70 | {F78E6705-C8F8-4817-81EF-49121D2D0005}.Release|Any CPU.ActiveCfg = Release|x64
71 | {F78E6705-C8F8-4817-81EF-49121D2D0005}.Release|Any CPU.Build.0 = Release|x64
72 | {F78E6705-C8F8-4817-81EF-49121D2D0005}.Release|x64.ActiveCfg = Release|x64
73 | {F78E6705-C8F8-4817-81EF-49121D2D0005}.Release|x64.Build.0 = Release|x64
74 | {F78E6705-C8F8-4817-81EF-49121D2D0005}.Release|x86.ActiveCfg = Release|x86
75 | {F78E6705-C8F8-4817-81EF-49121D2D0005}.Release|x86.Build.0 = Release|x86
76 | {EE1D9696-545C-495D-9F6D-680038688F85}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
77 | {EE1D9696-545C-495D-9F6D-680038688F85}.Debug|Any CPU.Build.0 = Debug|Any CPU
78 | {EE1D9696-545C-495D-9F6D-680038688F85}.Debug|x64.ActiveCfg = Debug|x64
79 | {EE1D9696-545C-495D-9F6D-680038688F85}.Debug|x64.Build.0 = Debug|x64
80 | {EE1D9696-545C-495D-9F6D-680038688F85}.Debug|x86.ActiveCfg = Debug|x86
81 | {EE1D9696-545C-495D-9F6D-680038688F85}.Debug|x86.Build.0 = Debug|x86
82 | {EE1D9696-545C-495D-9F6D-680038688F85}.Release|Any CPU.ActiveCfg = Release|Any CPU
83 | {EE1D9696-545C-495D-9F6D-680038688F85}.Release|Any CPU.Build.0 = Release|Any CPU
84 | {EE1D9696-545C-495D-9F6D-680038688F85}.Release|x64.ActiveCfg = Release|x64
85 | {EE1D9696-545C-495D-9F6D-680038688F85}.Release|x64.Build.0 = Release|x64
86 | {EE1D9696-545C-495D-9F6D-680038688F85}.Release|x86.ActiveCfg = Release|x86
87 | {EE1D9696-545C-495D-9F6D-680038688F85}.Release|x86.Build.0 = Release|x86
88 | {3D0D9D95-E953-4EBA-9559-6DFBFC6C74F9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
89 | {3D0D9D95-E953-4EBA-9559-6DFBFC6C74F9}.Debug|Any CPU.Build.0 = Debug|Any CPU
90 | {3D0D9D95-E953-4EBA-9559-6DFBFC6C74F9}.Debug|x64.ActiveCfg = Debug|Any CPU
91 | {3D0D9D95-E953-4EBA-9559-6DFBFC6C74F9}.Debug|x64.Build.0 = Debug|Any CPU
92 | {3D0D9D95-E953-4EBA-9559-6DFBFC6C74F9}.Debug|x86.ActiveCfg = Debug|Any CPU
93 | {3D0D9D95-E953-4EBA-9559-6DFBFC6C74F9}.Debug|x86.Build.0 = Debug|Any CPU
94 | {3D0D9D95-E953-4EBA-9559-6DFBFC6C74F9}.Release|Any CPU.ActiveCfg = Release|Any CPU
95 | {3D0D9D95-E953-4EBA-9559-6DFBFC6C74F9}.Release|Any CPU.Build.0 = Release|Any CPU
96 | {3D0D9D95-E953-4EBA-9559-6DFBFC6C74F9}.Release|x64.ActiveCfg = Release|Any CPU
97 | {3D0D9D95-E953-4EBA-9559-6DFBFC6C74F9}.Release|x64.Build.0 = Release|Any CPU
98 | {3D0D9D95-E953-4EBA-9559-6DFBFC6C74F9}.Release|x86.ActiveCfg = Release|Any CPU
99 | {3D0D9D95-E953-4EBA-9559-6DFBFC6C74F9}.Release|x86.Build.0 = Release|Any CPU
100 | EndGlobalSection
101 | GlobalSection(SolutionProperties) = preSolution
102 | HideSolutionNode = FALSE
103 | EndGlobalSection
104 | GlobalSection(ExtensibilityGlobals) = postSolution
105 | SolutionGuid = {3EC9C4A2-64BF-4327-9C3B-C90E999FB71A}
106 | EndGlobalSection
107 | EndGlobal
108 |
--------------------------------------------------------------------------------
/OneStar/Properties/Resources.resx:
--------------------------------------------------------------------------------
1 |
2 |
3 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 |
70 |
71 |
72 |
73 |
74 |
75 |
76 |
77 |
78 |
79 |
80 |
81 |
82 |
83 |
84 |
85 |
86 |
87 |
88 |
89 |
90 |
91 |
92 |
93 |
94 |
95 |
96 |
97 |
98 |
99 |
100 |
101 |
102 |
103 |
104 |
105 |
106 |
107 |
108 |
109 | text/microsoft-resx
110 |
111 |
112 | 2.0
113 |
114 |
115 | System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
116 |
117 |
118 | System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
119 |
120 |
121 |
122 | ..\Resources\point.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
123 |
124 |
125 | ..\Resources\map.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
126 |
127 |
128 | ..\Resources\map2_1.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
129 |
130 |
131 | ..\Resources\map2_2.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
132 |
133 |
134 | ..\Resources\map2_3.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
135 |
136 |
137 | ..\Resources\map3_1.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
138 |
139 |
140 | ..\Resources\map3_2.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
141 |
142 |
143 | ..\Resources\map3_3.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
144 |
145 |
--------------------------------------------------------------------------------
/OneStar/OneStar.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Debug
6 | AnyCPU
7 | {F78E6705-C8F8-4817-81EF-49121D2D0005}
8 | WinExe
9 | OneStar
10 | OneStar
11 | v4.8
12 | 512
13 | true
14 | true
15 |
16 |
17 |
18 | x64
19 | true
20 | full
21 | false
22 | bin\Debug\
23 | DEBUG;TRACE
24 | prompt
25 | 4
26 | false
27 |
28 |
29 | x64
30 | pdbonly
31 | true
32 | bin\Release\x64\
33 | TRACE
34 | prompt
35 | 4
36 | false
37 |
38 |
39 | icon.ico
40 |
41 |
42 | true
43 | bin\Debug\x64\
44 | TRACE;DEBUG;_X64
45 | full
46 | x64
47 | prompt
48 | MinimumRecommendedRules.ruleset
49 |
50 |
51 | bin\Release\x64\
52 | TRACE;_X64
53 | true
54 | pdbonly
55 | x64
56 | prompt
57 | MinimumRecommendedRules.ruleset
58 |
59 |
60 | true
61 | bin\x86\Debug\
62 | TRACE;DEBUG;_X86
63 | full
64 | x86
65 | prompt
66 | MinimumRecommendedRules.ruleset
67 |
68 |
69 | bin\Release\x86\
70 | TRACE;_X86
71 | true
72 | pdbonly
73 | x86
74 | prompt
75 | MinimumRecommendedRules.ruleset
76 |
77 |
78 |
79 | ..\packages\Newtonsoft.Json.12.0.3\lib\net45\Newtonsoft.Json.dll
80 |
81 |
82 | ..\packages\PKHeX.Core.20.10.11\lib\net46\PKHeX.Core.dll
83 |
84 |
85 | deps\PKHeX_Raid_Plugin.dll
86 |
87 |
88 |
89 |
90 |
91 |
92 |
93 |
94 |
95 |
96 |
97 |
98 |
99 |
100 |
101 |
102 |
103 |
104 |
105 | Form
106 |
107 |
108 | Form1.cs
109 |
110 |
111 |
112 |
113 |
114 |
115 |
116 |
117 |
118 | Component
119 |
120 |
121 |
122 | Form1.cs
123 |
124 |
125 | ResXFileCodeGenerator
126 | Resources.Designer.cs
127 | Designer
128 |
129 |
130 | True
131 | Resources.resx
132 | True
133 |
134 |
135 |
136 | SettingsSingleFileGenerator
137 | Settings.Designer.cs
138 |
139 |
140 | True
141 | Settings.settings
142 | True
143 |
144 |
145 |
146 |
147 |
148 |
149 |
150 | {ee1d9696-545c-495d-9f6d-680038688f85}
151 | IVCalcNetFramework
152 |
153 |
154 | {4a5adb06-7773-4e21-9336-d46a44b92cc2}
155 | OneStarCalculator
156 |
157 |
158 |
159 |
160 |
161 |
162 |
163 |
164 |
165 |
166 |
167 |
168 |
169 |
170 |
171 | cd $(SolutionDir)Data
172 | mkdir $(TargetDir)data
173 | copy /Y *.json $(TargetDir)data\
174 |
175 |
--------------------------------------------------------------------------------
/OneStarCalculator/SeedSearcher.cs:
--------------------------------------------------------------------------------
1 | using System.Collections.Generic;
2 | using System.Threading;
3 | using System.Threading.Tasks;
4 | using System.Runtime.InteropServices;
5 |
6 | namespace OneStarCalculator
7 | {
8 | public class SeedSearcher
9 | {
10 | // モード
11 | public enum Mode {
12 | Star12,
13 | Star35_5,
14 | Star35_6,
15 | Cuda35,
16 | };
17 | Mode m_Mode;
18 |
19 | // 結果
20 | public List Result { get; } = new List();
21 |
22 | // 共通
23 | [DllImport("OneStarCalculatorLib.dll")]
24 | static extern void InitializeConstData();
25 |
26 | #region ★1~2検索設定
27 | [DllImport("OneStarCalculatorLib.dll")]
28 | static extern void Prepare(int rerolls);
29 |
30 | [DllImport("OneStarCalculatorLib.dll")]
31 | public static extern void Set12Condition(int index, int iv0, int iv1, int iv2, int iv3, int iv4, int iv5, int ability, int nature, int natureTableId, int characteristic, bool noGender, int abilityFlag, int flawlessIvs);
32 |
33 | [DllImport("OneStarCalculatorLib.dll")]
34 | static extern ulong Search(ulong ivs);
35 | #endregion
36 |
37 | #region ★3~5検索設定
38 | [DllImport("OneStarCalculatorLib.dll")]
39 | static extern void PrepareSix(int ivOffset);
40 |
41 | [DllImport("OneStarCalculatorLib.dll")]
42 | public static extern void Set35Condition(int index, int iv0, int iv1, int iv2, int iv3, int iv4, int iv5, int ability, int nature, int natureTableId, int characteristic, bool noGender, int abilityFlag, int flawlessIvs);
43 |
44 | [DllImport("OneStarCalculatorLib.dll")]
45 | public static extern void SetTargetCondition6(int iv1, int iv2, int iv3, int iv4, int iv5, int iv6);
46 |
47 | [DllImport("OneStarCalculatorLib.dll")]
48 | public static extern void SetTargetCondition5(int iv1, int iv2, int iv3, int iv4, int iv5);
49 |
50 | [DllImport("OneStarCalculatorLib.dll")]
51 | static extern ulong SearchSix(ulong ivs);
52 | #endregion
53 |
54 | #region CUDA計算設定
55 | [DllImport("OneStarCalculatorLib.dll")]
56 | public static extern int GetCudaDeviceCount();
57 |
58 | [DllImport("OneStarCalculatorLib.dll")]
59 | public static extern void CudaInitialize();
60 |
61 | [DllImport("OneStarCalculatorLib.dll")]
62 | public static extern void SetCudaCondition(int index, int iv0, int iv1, int iv2, int iv3, int iv4, int iv5, int ability, int nature, int natureTableId, int characteristic, bool noGender, int abilityFlag, int flawlessIvs);
63 |
64 | [DllImport("OneStarCalculatorLib.dll")]
65 | public static extern void SetCudaTargetCondition6(int iv1, int iv2, int iv3, int iv4, int iv5, int iv6);
66 |
67 | [DllImport("OneStarCalculatorLib.dll")]
68 | public static extern void SetCudaTargetCondition5(int iv1, int iv2, int iv3, int iv4, int iv5);
69 |
70 | [DllImport("OneStarCalculatorLib.dll")]
71 | static extern void CudaCalcInitialize();
72 |
73 | [DllImport("OneStarCalculatorLib.dll")]
74 | static extern void PrepareCuda(int ivOffset);
75 |
76 | [DllImport("OneStarCalculatorLib.dll")]
77 | static extern void SearchCuda(uint ivs, int partitionBit);
78 |
79 | [DllImport("OneStarCalculatorLib.dll")]
80 | static extern int GetResultCount();
81 |
82 | [DllImport("OneStarCalculatorLib.dll")]
83 | static extern ulong GetResult(int index);
84 |
85 | [DllImport("OneStarCalculatorLib.dll")]
86 | static extern void CudaCalcFinalize();
87 |
88 | [DllImport("OneStarCalculatorLib.dll")]
89 | public static extern void CudaFinalize();
90 |
91 | public int CudaLoopPartition { get; set; } = 0;
92 | #endregion
93 |
94 | public SeedSearcher(Mode mode)
95 | {
96 | m_Mode = mode;
97 | InitializeConstData();
98 | }
99 |
100 | private readonly object lockObj = new object();
101 | public void Calculate(bool isEnableStop, int minRerolls, int maxRerolls, System.IProgress p)
102 | {
103 | Result.Clear();
104 |
105 | if (m_Mode == Mode.Cuda35)
106 | {
107 | // 分割bit数
108 | int partitionBit = CudaLoopPartition;
109 |
110 | // 探索範囲
111 | int searchLower = 0;
112 | int searchUpper = (1 << partitionBit) - 1;
113 |
114 | // 途中経過
115 | int progress = 0;
116 | int progressMax = (1 << partitionBit) * (maxRerolls - minRerolls + 1);
117 |
118 | p?.Report(0);
119 |
120 | // 計算前のCUDA初期化
121 | CudaCalcInitialize();
122 |
123 | for (int i = minRerolls; i <= maxRerolls; ++i)
124 | {
125 | // C++ライブラリ側の事前計算
126 | PrepareCuda(i);
127 |
128 | for (int ivs = searchLower; ivs <= searchUpper; ++ivs)
129 | {
130 | SearchCuda((uint)ivs, partitionBit);
131 | int resultCount = GetResultCount();
132 | if (resultCount > 0)
133 | {
134 | for (int a = 0; a < resultCount; ++a)
135 | {
136 | Result.Add(GetResult(a));
137 | if (isEnableStop)
138 | {
139 | break;
140 | }
141 | }
142 | if (Result.Count > 0 && isEnableStop)
143 | {
144 | break;
145 | }
146 | }
147 | ++progress;
148 | p?.Report(progress * 1000 / progressMax);
149 | }
150 |
151 | if (Result.Count > 0 && isEnableStop)
152 | {
153 | break;
154 | }
155 | }
156 |
157 | // 計算が終わったのでCUDA終了
158 | CudaCalcFinalize();
159 |
160 | // 結果を加工([-3]にする)
161 | for (int i = 0; i < Result.Count; ++i)
162 | {
163 | for (int a = 0; a < 3; ++a)
164 | {
165 | Result[i] = Result[i] + 0x7d5d4e8add6295a5ul;
166 | }
167 | }
168 | }
169 | else if (m_Mode == Mode.Star12)
170 | {
171 | // 探索範囲
172 | int searchLower = 0;
173 | int searchUpper = 0x10000000;
174 |
175 | // 途中経過
176 | int chunkPart = 16;
177 |
178 | int progress = 0;
179 | int chunkSize = searchUpper / chunkPart;
180 | int chunkMax = chunkPart * (maxRerolls - minRerolls + 1);
181 | int chunkCount = 1;
182 |
183 | p?.Report(0);
184 |
185 | for (int i = minRerolls; i <= maxRerolls; ++i)
186 | {
187 | int chunkOffset = (i - minRerolls) * chunkPart;
188 |
189 | progress = 0;
190 | chunkCount = 0;
191 |
192 | // C++ライブラリ側の事前計算
193 | Prepare(i);
194 |
195 | // 並列探索
196 | if (isEnableStop)
197 | {
198 | // 中断あり
199 | Parallel.For(searchLower, searchUpper, (ivs, state) =>
200 | {
201 | ulong result = Search((ulong)ivs);
202 | if (result != 0)
203 | {
204 | Result.Add(result);
205 | state.Stop();
206 | }
207 | Interlocked.Increment(ref progress);
208 | if (progress >= chunkCount * chunkSize)
209 | {
210 | lock (lockObj)
211 | {
212 | if (progress >= chunkCount * chunkSize)
213 | {
214 | p?.Report((chunkCount + chunkOffset) * 1000 / chunkMax);
215 | ++chunkCount;
216 | }
217 | }
218 | }
219 | });
220 | if (Result.Count > 0)
221 | {
222 | break;
223 | }
224 | }
225 | else
226 | {
227 | // 中断なし
228 | Parallel.For(searchLower, searchUpper, (ivs) =>
229 | {
230 | ulong result = Search((ulong)ivs);
231 | if (result != 0)
232 | {
233 | Result.Add(result);
234 | }
235 | Interlocked.Increment(ref progress);
236 | if (progress >= chunkCount * chunkSize)
237 | {
238 | lock (lockObj)
239 | {
240 | if (progress >= chunkCount * chunkSize)
241 | {
242 | p?.Report((chunkCount + chunkOffset) * 1000 / chunkMax);
243 | ++chunkCount;
244 | }
245 | }
246 | }
247 | });
248 | }
249 | }
250 | }
251 | else if (m_Mode == Mode.Star35_5 || m_Mode == Mode.Star35_6)
252 | {
253 | // 探索範囲
254 | int searchLower = 0;
255 | int searchUpper = (m_Mode == Mode.Star35_5 ? 0x2000000 : 0x40000000);
256 |
257 | // 途中経過
258 | int chunkPart = 32;
259 |
260 | int progress = 0;
261 | int chunkSize = searchUpper / chunkPart;
262 | int chunkMax = chunkPart * (maxRerolls - minRerolls + 1);
263 | int chunkCount = 1;
264 |
265 | p?.Report(0);
266 |
267 | for (int i = minRerolls; i <= maxRerolls; ++i)
268 | {
269 | int chunkOffset = (i - minRerolls) * chunkPart;
270 |
271 | progress = 0;
272 | chunkCount = 0;
273 |
274 | // C++ライブラリ側の事前計算
275 | PrepareSix(i);
276 |
277 | // 並列探索
278 | if (isEnableStop)
279 | {
280 | // 中断あり
281 | Parallel.For(searchLower, searchUpper, (ivs, state) =>
282 | {
283 | ulong result = SearchSix((ulong)ivs);
284 | if (result != 0)
285 | {
286 | Result.Add(result);
287 | state.Stop();
288 | }
289 | Interlocked.Increment(ref progress);
290 | if (progress >= chunkCount * chunkSize)
291 | {
292 | lock (lockObj)
293 | {
294 | if (progress >= chunkCount * chunkSize)
295 | {
296 | p?.Report((chunkCount + chunkOffset) * 1000 / chunkMax);
297 | ++chunkCount;
298 | }
299 | }
300 | }
301 | });
302 | if (Result.Count > 0)
303 | {
304 | break;
305 | }
306 | }
307 | else
308 | {
309 | // 中断なし
310 | Parallel.For(searchLower, searchUpper, (ivs) =>
311 | {
312 | ulong result = SearchSix((ulong)ivs);
313 | if (result != 0)
314 | {
315 | Result.Add(result);
316 | }
317 | Interlocked.Increment(ref progress);
318 | if (progress >= chunkCount * chunkSize)
319 | {
320 | lock (lockObj)
321 | {
322 | if (progress >= chunkCount * chunkSize)
323 | {
324 | p?.Report((chunkCount + chunkOffset) * 1000 / chunkMax);
325 | ++chunkCount;
326 | }
327 | }
328 | }
329 | });
330 | }
331 | }
332 |
333 | // 結果を加工([-3]にする)
334 | for (int i = 0; i < Result.Count; ++i)
335 | {
336 | for (int a = 0; a < 3; ++a)
337 | {
338 | Result[i] = Result[i] + 0x7d5d4e8add6295a5ul;
339 | }
340 | }
341 | }
342 | }
343 | }
344 | }
345 |
--------------------------------------------------------------------------------
/OneStar/RaidData.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using PKHeX_Raid_Plugin;
4 | using PKHeX.Core;
5 | using System.Runtime.CompilerServices;
6 |
7 | namespace OneStar
8 | {
9 | public class RaidData
10 | {
11 | // 巣穴データ(Raid_Pluginより)
12 | readonly RaidTables c_RaidTables = new RaidTables();
13 |
14 | // イベントレイドデータ
15 | EventDenList m_EventDenList;
16 |
17 | // DLCレイドデータ
18 | EventDenList m_AdditionalDenList;
19 |
20 | // マップスケール
21 | readonly float c_MapScale = 250.0f / 458.0f; // ビュー上の幅/画像の幅
22 |
23 | // ガラルポケモン
24 | static readonly Dictionary c_GalarForms = new Dictionary{
25 | { 562, 562.1m }, // デスマス
26 | { 618, 618.1m }, // マッギョ
27 | { 77, 77.1m }, // ポニータ
28 | { 78, 78.1m }, // ギャロップ
29 | { 122, 122.1m }, // バリヤード
30 | { 222, 222.1m }, // サニーゴ
31 | { 263, 263.1m }, // ジグザグマ
32 | { 264, 264.1m }, // マッスグマ
33 | { 52, 52.2m }, // ニャース
34 | { 83, 83.1m }, // カモネギ
35 | { 110, 110.1m }, // マタドガス
36 | { 554, 993m }, // ダルマッカ
37 | { 555, 555.2m }, // ヒヒダルマ
38 | };
39 |
40 | // ♂のみ:バルキー系、エルレイド、ナゲキ、ダゲキ、ウォーグル系、オーロンゲ系
41 | // ♀のみ:ビークイン、ユキメノコ、バルジーナ系、アマージョ系、ブリムオン系、マホイップ系
42 | // 性別不明:メタモン、ヌケニン、ネンドール系、ドータクン系、ロトム、ギギギアル系、ゴルーグ系、シルヴァディ系、ダダリン、ポットデス系、タイレーツ、化石、伝説
43 | static readonly Dictionary c_FixedGender = new Dictionary {
44 | { 236, 1 }, // バルキー
45 | { 106, 1 }, // サワムラー
46 | { 107, 1 }, // エビワラー
47 | { 237, 1 }, // カポエラー
48 | { 475, 1 }, // エルレイド
49 | { 538, 1 }, // ナゲキ
50 | { 539, 1 }, // ダゲキ
51 | { 627, 1 }, // ワシボン
52 | { 628, 1 }, // ウォーグル
53 | { 859, 1 }, // ベロバー
54 | { 860, 1 }, // ギモー
55 | { 861, 1 }, // オーロンゲ
56 | { 416, 2 }, // ビークイン
57 | { 478, 2 }, // ユキメノコ
58 | { 629, 2 }, // バルチャイ
59 | { 630, 2 }, // バルジーナ
60 | { 761, 2 }, // アマカジ
61 | { 762, 2 }, // アママイコ
62 | { 763, 2 }, // アマージョ
63 | { 856, 2 }, // ミブリム
64 | { 857, 2 }, // テブリム
65 | { 858, 2 }, // ブリムオン
66 | { 868, 2 }, // マホミル
67 | { 869, 2 }, // マホイップ
68 | { 132, 3 }, // メタモン
69 | { 292, 3 }, // ヌケニン
70 | { 343, 3 }, // ヤジロン
71 | { 344, 3 }, // ネンドール
72 | { 436, 3 }, // ドーミラー
73 | { 437, 3 }, // ドータクン
74 | { 479, 3 }, // ロトム
75 | { 599, 3 }, // ギアル
76 | { 600, 3 }, // ギギアル
77 | { 601, 3 }, // ギギギアル
78 | { 622, 3 }, // ゴビット
79 | { 623, 3 }, // ゴルーグ
80 | { 772, 3 }, // タイプ:ヌル
81 | { 773, 3 }, // シルヴァディ
82 | { 781, 3 }, // ダダリン
83 | { 854, 3 }, // ヤバチャ
84 | { 855, 3 }, // ポットデス
85 | { 870, 3 }, // タイレーツ
86 | { 880, 3 }, // パッチラゴン
87 | { 881, 3 }, // パッチルドン
88 | { 882, 3 }, // ウオノラゴン
89 | { 883, 3 }, // ウオチルドン
90 | { 888, 3 }, // ザシアン
91 | { 889, 3 }, // ザマゼンタ
92 | { 890, 3 }, // ムゲンダイナ
93 | };
94 |
95 | public RaidData()
96 | {
97 | m_EventDenList = new EventDenList();
98 | m_EventDenList.Load("data/EventDen.json");
99 |
100 | // DLCレイドデータ読み込み
101 | m_AdditionalDenList = new EventDenList();
102 | m_AdditionalDenList.Load("data/AdditionalDen.json");
103 | }
104 |
105 | // 恒常レイド
106 | public RaidTemplate[] GetRaidEntries(int raidIndex, int version, int rarity)
107 | {
108 | // イベントレイド
109 | if (raidIndex == -1)
110 | {
111 | RaidTemplateTable[] raidTables = (version == 0 ? c_RaidTables.SwordNestsEvent : c_RaidTables.ShieldNestsEvent);
112 | return Array.Find(raidTables, table => table.TableID == NestLocations.EventHash).Entries;
113 | }
114 | // 本編レイド
115 | else if(raidIndex < NestLocations.Nests.Length)
116 | {
117 | var detail = NestLocations.Nests[raidIndex];
118 | RaidTemplateTable[] raidTables = (version == 0 ? c_RaidTables.SwordNests : c_RaidTables.ShieldNests);
119 | if (rarity == 0)
120 | {
121 | return Array.Find(raidTables, table => table.TableID == detail.CommonHash).Entries;
122 | }
123 | else
124 | {
125 | return Array.Find(raidTables, table => table.TableID == detail.RareHash).Entries;
126 | }
127 | }
128 | // DLCレイド
129 | else
130 | {
131 | return GetAdditionalRaidEntries(raidIndex, version, rarity);
132 | }
133 | }
134 | public int GetRaidMap(int raidIndex)
135 | {
136 | if (raidIndex >= NestLocations.Nests.Length)
137 | {
138 | return AdditionalNestIdTable.c_DLC1Table[raidIndex].MapIndex;
139 | }
140 | return 0;
141 | }
142 | public System.Drawing.Point GetRaidLocation(int raidIndex)
143 | {
144 | if (raidIndex >= 0 && raidIndex < NestLocations.Nests.Length)
145 | {
146 | var detail = NestLocations.Nests[raidIndex];
147 | return new System.Drawing.Point((int)(detail.MapX * c_MapScale), (int)(detail.MapY * c_MapScale));
148 | }
149 | else if (raidIndex >= NestLocations.Nests.Length)
150 | {
151 | return new System.Drawing.Point(AdditionalNestIdTable.c_DLC1Table[raidIndex].PosX, AdditionalNestIdTable.c_DLC1Table[raidIndex].PosY);
152 | }
153 | else
154 | {
155 | return System.Drawing.Point.Empty;
156 | }
157 | }
158 | RaidTemplate[] GetAdditionalRaidEntries(int raidIndex, int version, int rarity)
159 | {
160 | string id = (rarity == 0 ? AdditionalNestIdTable.c_DLC1Table[raidIndex].IdNormal : AdditionalNestIdTable.c_DLC1Table[raidIndex].IdRare);
161 | if (version == 0)
162 | {
163 | id += "_Sw";
164 | }
165 | else
166 | {
167 | id += "_Sh";
168 | }
169 |
170 | if (m_AdditionalDenList.EventList.ContainsKey(id))
171 | {
172 | return m_AdditionalDenList.EventList[id].RaidEntries;
173 | }
174 | else
175 | {
176 | return GetRaidEntries(-1, version, 0);
177 | }
178 | }
179 |
180 | // イベントレイド
181 | public RaidTemplate[] GetEventRaidEntries(string id, int version)
182 | {
183 | if (version == 0)
184 | {
185 | id += "_Sw";
186 | }
187 | else
188 | {
189 | id += "_Sh";
190 | }
191 |
192 | if (m_EventDenList.EventList.ContainsKey(id))
193 | {
194 | return m_EventDenList.EventList[id].RaidEntries;
195 | }
196 | else
197 | {
198 | return GetRaidEntries(-1, version, 0);
199 | }
200 | }
201 |
202 | public List GetEventRaidIdList()
203 | {
204 | List list = new List();
205 | HashSet existId = new HashSet();
206 | foreach (string key in m_EventDenList.EventList.Keys)
207 | {
208 | // 末尾のバージョンを削除
209 | string id = key.Substring(0, key.Length - 3);
210 | if (!existId.Contains(id))
211 | {
212 | list.Add(id);
213 | existId.Add(id);
214 | }
215 | }
216 | list.Sort();
217 | list.Reverse();
218 | return list;
219 | }
220 | public void LoadEventRaidData()
221 | {
222 | m_EventDenList.Load("data/EventDen.json");
223 | }
224 |
225 | // 1ランク1ポケモンごとに対応するデータ
226 | public class Pokemon
227 | {
228 | public string Key { get; private set; }
229 | public int Rank { get; private set; }
230 |
231 | public decimal DisplaySpecies { get; private set; } // 名前表示上の種族
232 | public int DataSpecies { get; private set; } // PKHeXデータ上のインデックス
233 | public bool IsDataSWSH { get; private set; }
234 |
235 | public int FlawlessIvs { get; private set; }
236 | public bool IsGigantamax { get; private set; }
237 | public int Ability { get; private set; }
238 | public bool IsFixedGender { get; private set; }
239 |
240 | public override string ToString() { return Key; }
241 |
242 | // データ取得
243 | public int NatureTableId {
244 | get {
245 | // ストリンダー対応
246 | if (DisplaySpecies == 849)
247 | {
248 | return 1; // ハイ
249 | }
250 | if (DisplaySpecies == 1154)
251 | {
252 | return 2; // ロー
253 | }
254 | return 0;
255 | }
256 | }
257 |
258 | public Pokemon(RaidTemplate entry, int rank)
259 | {
260 | Rank = rank;
261 |
262 | int rawSpecies = entry.Species;
263 | decimal altForm = entry.AltForm;
264 |
265 | DisplaySpecies = rawSpecies;
266 | IsDataSWSH = true;
267 |
268 | // マホイップ、カラナクシ、トリトドンは無視
269 | if (rawSpecies == 869 || rawSpecies == 422 || rawSpecies == 423)
270 | {
271 | altForm = 0;
272 | }
273 | // FCロトムは全て1に
274 | else if (rawSpecies == 479)
275 | {
276 | if (altForm != 0)
277 | {
278 | altForm = 1;
279 | }
280 | }
281 |
282 | // ストリンダー(ロー)
283 | if (rawSpecies == 849 && altForm == 1)
284 | {
285 | DisplaySpecies = 1154;
286 | }
287 | else
288 | {
289 | DisplaySpecies = rawSpecies + altForm / 10m;
290 | }
291 |
292 | // PKHeX上のindexを取得
293 | if (altForm != 0)
294 | {
295 | DataSpecies = PersonalTable.SWSH[rawSpecies].FormeIndex(rawSpecies, entry.AltForm);
296 | // 存在しないものは以前のデータを使う
297 | if (DataSpecies == rawSpecies)
298 | {
299 | PersonalInfo tempInfo = PersonalTable.SWSH[DataSpecies];
300 | if (tempInfo.ATK == 0)
301 | {
302 | DataSpecies = PersonalTable.USUM[rawSpecies].FormeIndex(rawSpecies, entry.AltForm);
303 | IsDataSWSH = false;
304 | }
305 | }
306 | }
307 | else
308 | {
309 | DataSpecies = rawSpecies;
310 | }
311 |
312 | FlawlessIvs = entry.FlawlessIVs;
313 | IsGigantamax = entry.IsGigantamax;
314 |
315 | // 特性
316 | Ability = entry.Ability;
317 |
318 | PersonalInfo info = PersonalTable.SWSH[DataSpecies];
319 | if (info.ATK == 0)
320 | {
321 | info = PersonalTable.USUM[DataSpecies];
322 | IsDataSWSH = false;
323 | }
324 |
325 | // レイドデータで固定されているのはイエッサン、ニャオニクス、エンニュートのみ
326 | // ♂のみ:バルキー系、エルレイド、ナゲキ、ダゲキ、ウォーグル系、オーロンゲ系
327 | // ♀のみ:ビークイン、ユキメノコ、バルジーナ系、アマージョ系、ブリムオン系、マホイップ系
328 | if(info.Genderless || info.OnlyFemale || info.OnlyMale)
329 | {
330 | IsFixedGender = true;
331 | }
332 | else
333 | {
334 | IsFixedGender = (entry.Gender != 0);
335 | }
336 |
337 | RefreshKey();
338 | }
339 |
340 | public void RefreshKey()
341 | {
342 | // キーを作成
343 | string key = Messages.Instance.RankPrefix[Rank];
344 | bool isExist = false;
345 | foreach (var pokemon in Messages.Instance.Pokemon)
346 | {
347 | if (pokemon.Value == DisplaySpecies)
348 | {
349 | key += pokemon.Key;
350 | isExist = true;
351 | break;
352 | }
353 | }
354 | // 存在しない場合はPKHeXから取ってくる
355 | if (!isExist)
356 | {
357 | var list = PKHeX.Core.Util.GetSpeciesList(Messages.Instance.LangCode);
358 | int listId = (int)DisplaySpecies;
359 | if (listId < list.Length)
360 | {
361 | key += list[listId];
362 | }
363 | }
364 |
365 | if (IsGigantamax)
366 | {
367 | key += Messages.Instance.SystemLabel["Gigantamax"];
368 | }
369 |
370 | // V固定数のkeyを付与
371 | key += $" [{Messages.Instance.IvsInfo[FlawlessIvs]} / ";
372 |
373 | // 特性のkeyを付与
374 | if (Ability == 2)
375 | {
376 | key += $"{Messages.Instance.SystemLabel["HiddenFixed"]}]";
377 | }
378 | else if (Ability == 3)
379 | {
380 | key += $"{Messages.Instance.SystemLabel["NoHidden"]}]";
381 | }
382 | else if (Ability == 4)
383 | {
384 | key += $"{Messages.Instance.SystemLabel["HiddenPossible"]}]";
385 | }
386 | else
387 | {
388 | key += $"]";
389 | }
390 |
391 | Key = key;
392 | }
393 | }
394 | }
395 | }
396 |
--------------------------------------------------------------------------------
/OneStarCalculatorLib/OneStarCalculatorLib.vcxproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Debug
6 | Win32
7 |
8 |
9 | Release
10 | Win32
11 |
12 |
13 | Debug
14 | x64
15 |
16 |
17 | Release
18 | x64
19 |
20 |
21 |
22 | 15.0
23 | {FC9F2AF9-AB51-4382-8028-A36AEA296863}
24 | OneStarCalculatorLib
25 | 10.0
26 |
27 |
28 |
29 | DynamicLibrary
30 | true
31 | v142
32 | MultiByte
33 |
34 |
35 | DynamicLibrary
36 | false
37 | v142
38 | true
39 | MultiByte
40 |
41 |
42 | DynamicLibrary
43 | true
44 | v142
45 | MultiByte
46 |
47 |
48 | DynamicLibrary
49 | false
50 | v142
51 | true
52 | MultiByte
53 |
54 |
55 |
56 |
57 |
58 |
59 |
60 |
61 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 |
70 |
71 |
72 |
73 |
74 | $(SolutionDir)OneStar\bin\$(Configuration)\x64\
75 | $(VC_IncludePath);$(WindowsSDK_IncludePath);$(CUDA_INC_PATH);
76 |
77 |
78 | $(SolutionDir)OneStar\bin\$(Configuration)\x64\
79 | $(VC_IncludePath);$(WindowsSDK_IncludePath);$(CUDA_INC_PATH);
80 |
81 |
82 | $(SolutionDir)OneStar\bin\$(Configuration)\x86\
83 | $(VC_IncludePath);$(WindowsSDK_IncludePath);$(CUDA_INC_PATH);
84 |
85 |
86 | $(VC_IncludePath);$(WindowsSDK_IncludePath);$(CUDA_INC_PATH);
87 |
88 |
89 |
90 | Level3
91 | MaxSpeed
92 | true
93 | true
94 | true
95 | true
96 |
97 |
98 | true
99 | true
100 | cudart.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)
101 |
102 |
103 |
104 |
105 | Level3
106 | Disabled
107 | true
108 | true
109 |
110 |
111 | cudart.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)
112 |
113 |
114 |
115 |
116 | Level3
117 | Disabled
118 | true
119 | true
120 |
121 |
122 | cudart.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)
123 |
124 |
125 |
126 |
127 | Level3
128 | MaxSpeed
129 | true
130 | true
131 | true
132 | true
133 |
134 |
135 | true
136 | true
137 | cudart.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)
138 |
139 |
140 |
141 |
142 |
143 | true
144 | true
145 |
146 |
147 |
148 |
149 |
150 |
151 |
152 |
153 | true
154 | true
155 |
156 |
157 | true
158 | true
159 |
160 |
161 | true
162 | true
163 |
164 |
165 | true
166 | true
167 |
168 |
169 |
170 |
171 |
172 |
173 |
174 |
175 |
176 | true
177 | true
178 |
179 |
180 | true
181 | true
182 |
183 |
184 | true
185 | true
186 |
187 |
188 |
189 |
190 |
191 |
192 |
--------------------------------------------------------------------------------
/OneStar/AdditionalNestIdTable.cs:
--------------------------------------------------------------------------------
1 | using PKHeX.Core;
2 | using System;
3 | using System.Collections.Generic;
4 | using System.Linq;
5 | using System.Text;
6 | using System.Threading.Tasks;
7 |
8 | namespace OneStar
9 | {
10 | class AdditionalNestIdTable
11 | {
12 | public class Data
13 | {
14 | public string IdNormal { get; }
15 | public string IdRare { get; }
16 | public int MapIndex { get; }
17 | public int PosX { get; }
18 | public int PosY { get; }
19 |
20 | public Data(string idNormal, string idRare, int mapIndex, int posX, int posY)
21 | {
22 | IdNormal = idNormal;
23 | IdRare = idRare;
24 | MapIndex = mapIndex;
25 | PosX = posX;
26 | PosY = posY;
27 | }
28 | }
29 | public static readonly Dictionary c_DLC1Table = new Dictionary
30 | {
31 | // 一礼野原
32 | { 100, new Data( "6589539950519384197", "3561902408726248099", 3, 117, 377)},
33 | { 101, new Data( "13563999851587423716", "502513031628180988", 3, 88, 389)},
34 | { 102, new Data( "4780541378243794326", "18345017229883237822", 3, 106, 389)},
35 | { 103, new Data( "2997411918588892139", "12562706121429926817", 2, 178, 385)},
36 | { 104, new Data( "4780539179220537904", "18345015030859981400", 3, 39, 393)},
37 | { 105, new Data( "7956530560371257544", "2024757571205803752", 2, 183, 402)},
38 | { 106, new Data( "7854659797556875545", "5999950843982638879", 3, 35, 414)},
39 | { 107, new Data( "16341001078884806474", "9913932150092391706", 3, 56, 405)},
40 | { 108, new Data( "8769170721942624824", "14477537978666912344", 2, 167, 414)},
41 | { 109, new Data( "2447364886159768926", "15632276665898509590", 2, 184, 426)},
42 | // 清涼湿原
43 | { 110, new Data( "13305292637317525948", "16069264858016261892", 2, 160, 305)},
44 | { 111, new Data( "2447363786648140715", "15632275566386881379", 2, 181, 304)},
45 | { 112, new Data( "14284833672245134656", "7704513452465554544", 2, 214, 311)},
46 | { 113, new Data( "16341001078884806474", "9913932150092391706", 2, 191, 318)},
47 | { 114, new Data( "4780541378243794326", "18345017229883237822", 2, 117, 284)},
48 | { 115, new Data( "6672704941776910536", "17951961757311600360", 2, 142, 295)},
49 | { 116, new Data( "4780540278732166115", "18345016130371609611", 2, 171, 341)},
50 | { 117, new Data( "2997411918588892139", "12562706121429926817", 2, 218, 341)},
51 | { 118, new Data( "2447364886159768926", "15632276665898509590", 2, 143, 334)},
52 | // ファイトケイブ
53 | { 119, new Data( "5830741396702654597", "17953607996949684899", 3, 162, 249)},
54 | // チャレンジロード
55 | { 120, new Data( "14284833672245134656", "7704513452465554544", 3, 125, 158)},
56 | { 121, new Data( "11635283243122928556", "17629394089387610164", 3, 139, 192)},
57 | { 122, new Data( "6162140483756004486", "6162171270081594394", 3, 143, 206)}, // ルガルガン
58 | { 123, new Data( "13563999851587423716", "502513031628180988", 3, 139, 225)},
59 | // 集中の森
60 | { 124, new Data( "6672704941776910536", "17951961757311600360", 2, 161, 237)},
61 | { 125, new Data( "16341001078884806474", "9913932150092391706", 2, 126, 250)},
62 | { 126, new Data( "7956530560371257544", "2024757571205803752", 2, 156, 256)},
63 | { 127, new Data( "7854659797556875545", "5999950843982638879", 2, 104, 258)},
64 | { 128, new Data( "4780540278732166115", "18345016130371609611", 2, 114, 258)},
65 | { 129, new Data( "15818376695778914966", "5701088864462885848", 2, 188, 263)}, // キョダイフシギバナ
66 | // 鍛錬平原
67 | { 130, new Data( "8769170721942624824", "14477537978666912344", 2, 178, 152)},
68 | { 131, new Data( "2997411918588892139", "12562706121429926817", 3, 52, 154)},
69 | { 132, new Data( "2447363786648140715", "15632275566386881379", 3, 31, 178)},
70 | { 133, new Data( "15818376695778914966", "5701088864462885848", 3, 92, 185)}, // キョダイフシギバナ
71 | { 134, new Data( "7854659797556875545", "5701093262509398692", 2, 178, 185)}, // キョダイイオルブ
72 | { 135, new Data( "6672704941776910536", "17951961757311600360", 3, 24, 199)},
73 | { 136, new Data( "13305292637317525948", "16069264858016261892", 2, 135, 206)},
74 | // 鍋底砂漠
75 | { 137, new Data( "6984833918694526192", "5701096561044283325", 3, 117, 100)}, // キョダイサダイジャ
76 | { 138, new Data( "6589539950519384197", "3561902408726248099", 3, 67, 89)},
77 | { 139, new Data( "8769170721942624824", "14477537978666912344", 2, 173, 102)},
78 | // ハニカームの海
79 | { 140, new Data( "4780546875801935381", "18345022727441378877", 2, 205, 24)},
80 | { 141, new Data( "14284833672245134656", "7704513452465554544", 2, 178, 41)},
81 | { 142, new Data( "7956530560371257544", "2024757571205803752", 2, 138, 32)},
82 | { 143, new Data( "13563999851587423716", "502513031628180988", 2, 137, 68)},
83 | { 144, new Data( "12738905581603037598", "4426791916416848726", 2, 75, 213)},
84 | // ハニカーム島
85 | { 145, new Data( "16882931869395424672", "4515385547978135952", 2, 38, 57)},
86 | { 146, new Data( "16882931869395424672", "4515385547978135952", 2, 68, 57)},
87 | { 147, new Data( "16882931869395424672", "4515385547978135952", 2, 23, 82)},
88 | { 148, new Data( "16882931869395424672", "4515385547978135952", 2, 82, 82)},
89 | { 149, new Data( "16882931869395424672", "4515385547978135952", 2, 39, 104)},
90 | { 150, new Data( "16882931869395424672", "4515385547978135952", 2, 68, 104)},
91 | // チャレンジビーチ
92 | { 151, new Data( "4780539179220537904", "18345015030859981400", 1, 159, 256)},
93 | { 152, new Data( "6589539950519384197", "3561902408726248099", 2, 79, 233)},
94 | { 153, new Data( "4780540278732166115", "18345016130371609611", 2, 80,278)},
95 | { 154, new Data( "6984833918694526192", "14413583907274219616", 2, 60, 281)},
96 | { 155, new Data( "342604449375897784", "8253110425161551320", 2, 38, 281)},
97 | { 156, new Data( "7956530560371257544", "2024757571205803752", 2, 69, 295)},
98 | { 157, new Data( "13305292637317525948", "16069264858016261892", 2, 53, 301)},
99 | { 158, new Data( "13563999851587423716", "502513031628180988", 2, 53, 325)},
100 | // 離れ島海域
101 | { 159, new Data( "4780539179220537904", "5701091063486142270", 1, 137, 122)}, // キョダイキングラー
102 | { 160, new Data( "4780546875801935381", "18345022727441378877", 1, 122, 132)},
103 | { 161, new Data( "2997411918588892139", "12562706121429926817", 1, 92, 136)},
104 | { 162, new Data( "2447364886159768926", "15632276665898509590", 1, 104, 164)},
105 | { 163, new Data( "16341001078884806474", "9913932150092391706", 1, 150, 168)},
106 | // 並ぶ島の海
107 | { 164, new Data( "6672704941776910536", "17951961757311600360", 1, 55, 258)},
108 | { 165, new Data( "7725829814153603264", "5701092162997770481", 1, 49, 273)}, // キョダイカメックス
109 | { 166, new Data( "5830741396702654597", "17953607996949684899", 1, 136, 281)},
110 | { 167, new Data( "13305292637317525948", "16069264858016261892", 1, 28, 325)},
111 | { 168, new Data( "2447364886159768926", "15632276665898509590", 1, 121, 325)},
112 | { 169, new Data( "11635283243122928556", "17629394089387610164", 1, 74, 390)},
113 | { 170, new Data( "6984833918694526192", "14413583907274219616", 1, 56, 405)},
114 | { 171, new Data( "4780546875801935381", "18345022727441378877", 1, 84, 413)},
115 | { 172, new Data( "342604449375897784", "8253110425161551320", 1, 80, 442)},
116 | // 闘心の洞窟
117 | { 173, new Data( "4780540278732166115", "5701094362021026903", 2, 139, 359)}, // キョダイカジリガメ
118 | { 174, new Data( "5830741396702654597", "17953607996949684899", 2, 128, 352)},
119 | { 175, new Data( "342604449375897784", "8253110425161551320", 2, 128, 364)},
120 | { 176, new Data( "6984833918694526192", "14413583907274219616", 2, 100, 325)},
121 | { 177, new Data( "2447363786648140715", "15632275566386881379", 2, 100, 348)},
122 | { 178, new Data( "4780541378243794326", "18345017229883237822", 2, 153, 373)},
123 | // 円環の入り江
124 | { 179, new Data( "12738905581603037598", "5701095461532655114", 1, 221, 401)}, // キョダイアップリュー
125 | { 180, new Data( "11635283243122928556", "17629394089387610164", 1, 164, 401)},
126 | { 181, new Data( "6589539950519384197", "3561902408726248099", 1, 211, 413)},
127 | { 182, new Data( "4780539179220537904", "18345015030859981400", 1, 189, 433)},
128 | // ワークアウトの海
129 | { 183, new Data( "7725829814153603264", "5701092162997770481", 1, 161, 514)}, // キョダイカメックス
130 | { 184, new Data( "12738905581603037598", "4426791916416848726", 2, 97, 510)},
131 | { 185, new Data( "11635283243122928556", "17629394089387610164", 2, 135, 556)},
132 | { 186, new Data( "4780546875801935381", "18345022727441378877", 3, 65, 487)},
133 | { 187, new Data( "7854659797556875545", "5999950843982638879", 3, 60, 524)},
134 | { 188, new Data( "14284833672245134656", "7704513452465554544", 3, 169, 348)},
135 | { 189, new Data( "4665094036540599430", "11519945754184084270", 3, 205, 377)}, // メタモン
136 |
137 | // 滑り出し雪原
138 | { 190, new Data( "CT001_N", "CT001_R", 4, 18, 220 )}, // キョダイバタフリー
139 | { 191, new Data( "CT003_N", "CT003_R", 4, 50, 218 )},
140 | { 192, new Data( "CT002_N", "CT002_R", 4, 57, 215 )}, // ソードのみキョダイセキタンザン
141 | { 193, new Data( "CT003_N", "CT003_R", 4, 75, 230 )},
142 | { 194, new Data( "CT004_N", "CT004_R", 4, 85, 244 )}, // キョダイカビゴン
143 | { 195, new Data( "CT005_N", "CT005_R", 4, 100, 240 )}, // シールドのみキョダイゲンガー
144 | // 氷点雪原
145 | { 196, new Data( "CT006_N", "CT006_R", 4, 10, 291 )}, // キョダイブリムオン
146 | { 197, new Data( "CT007_N", "CT007_R", 4, 19, 285 )}, // キョダイアーマーガア
147 | { 198, new Data( "CT009_N", "CT009_R", 4, 20, 299 )}, // ソードのみキョダイカイリキー
148 | { 199, new Data( "CT008_N", "CT008_R", 4, 38, 299 )}, // キョダイオーロンゲ
149 | { 200, new Data( "CT010_N", "CT010_R", 4, 66, 303 )}, // キョダイストリンダー
150 | // 巨人の寝床
151 | { 201, new Data( "CT011_N", "CT011_R", 4, 14, 359 )}, // キョダイダイオウドウ
152 | { 202, new Data( "CT012_N", "CT012_R", 4, 50, 359 )}, // キョダイマルヤクデ
153 | { 203, new Data( "CT002_N", "CT002_R", 4, 81, 351 )}, // ソードのみキョダイセキタンザン
154 | { 204, new Data( "CT014_N", "CT014_R", 4, 140, 317 )}, // ヤバチャ、キョダイマホイップ
155 | { 205, new Data( "CT013_N", "CT013_R", 4, 138, 344 )}, // キョダイダストダス
156 | { 206, new Data( "CT004_N", "CT004_R", 4, 175, 325 )}, // キョダイカビゴン
157 | { 207, new Data( "CT015_N", "CT015_R", 4, 164, 344 )}, // キョダイキングラー
158 | { 208, new Data( "CT017_N", "CT017_R", 4, 191, 322 )}, // シールドのみキョダイラプラス
159 | { 209, new Data( "CT016_N", "CT016_R", 4, 199, 316 )}, // キョダイジュラルドン
160 | { 210, new Data( "CT009_N", "CT009_R", 4, 229, 317 )}, // ソードのみキョダイカイリキー
161 | { 211, new Data( "CT001_N", "CT001_R", 5, 134, 332 )}, // キョダイバタフリー
162 | { 212, new Data( "CT013_N", "CT013_R", 4, 92, 399 )}, // キョダイダストダス
163 | { 213, new Data( "CT008_N", "CT008_R", 4, 121, 358 )}, // キョダイオーロンゲ
164 | { 214, new Data( "CT012_N", "CT012_R", 5, 86, 364 )}, // キョダイマルヤクデ
165 | { 215, new Data( "CT010_N", "CT010_R", 5, 78, 402 )}, // キョダイストリンダー
166 | { 216, new Data( "CT018_N", "CT018_R", 5, 105, 371 )},
167 | { 217, new Data( "CT006_N", "CT006_R", 5, 95, 391 )}, // キョダイブリムオン
168 | { 218, new Data( "CT007_N", "CT007_R", 5, 126, 420 )}, // キョダイアーマーガア
169 | { 219, new Data( "CT002_N", "CT002_R", 5, 155, 386 )}, // ソードのみキョダイセキタンザン
170 | { 220, new Data( "CT017_N", "CT017_R", 4, 130, 431 )}, // シールドのみキョダイラプラス
171 | { 221, new Data( "CT015_N", "CT015_R", 4, 193, 431 )}, // キョダイキングラー
172 | // いにしえの墓地
173 | { 222, new Data( "CT005_N", "CT005_R", 4, 153, 376 )}, // シールドのみキョダイゲンガー
174 | { 223, new Data( "CT014_N", "CT014_R", 4, 191, 374 )}, // ヤバチャ、キョダイマホイップ
175 | // 雪中渓谷
176 | { 224, new Data( "CT018_N", "CT018_R", 5, 48, 164 )},
177 | { 225, new Data( "CT012_N", "CT012_R", 5, 71, 164 )}, // キョダイマルヤクデ
178 | { 226, new Data( "CT008_N", "CT008_R", 5, 32, 243 )}, // キョダイオーロンゲ
179 | { 227, new Data( "CT006_N", "CT006_R", 5, 18, 210 )}, // キョダイブリムオン
180 | { 228, new Data( "CT003_N", "CT003_R", 5, 54, 205 )},
181 | { 229, new Data( "CT011_N", "CT011_R", 5, 87, 193 )}, // キョダイダイオウドウ
182 | { 230, new Data( "CT019_N", "CT019_R", 5, 125, 174 )}, // 化石
183 | { 231, new Data( "CT009_N", "CT009_R", 5, 99, 263 )}, // ソードのみキョダイカイリキー
184 | { 232, new Data( "CT002_N", "CT002_R", 5, 139, 295 )}, // ソードのみキョダイセキタンザン
185 | // 頂への雪道
186 | { 233, new Data( "CT018_N", "CT018_R", 5, 79, 69 )},
187 | { 234, new Data( "CT011_N", "CT011_R", 5, 93, 69 )}, // キョダイジュラルドン
188 | { 235, new Data( "CT016_N", "CT016_R", 5, 103, 80 )}, // キョダイダイオウドウ
189 | // カンムリ神殿
190 | { 236, new Data( "CT001_N", "CT001_R", 5, 53, 46 )}, // キョダイバタフリー
191 | // 巨人の靴底
192 | { 237, new Data( "CT004_N", "CT004_R", 5, 147, 348 )}, // キョダイカビゴン
193 | { 238, new Data( "CT015_N", "CT015_R", 5, 157, 347 )}, // キョダイキングラー
194 | { 239, new Data( "CT001_N", "CT001_R", 5, 164, 326 )}, // キョダイバタフリー
195 | { 240, new Data( "CT005_N", "CT005_R", 5, 183, 342 )}, // シールドのみキョダイゲンガー
196 | { 241, new Data( "CT008_N", "CT008_R", 5, 186, 354 )}, // キョダイオーロンゲ
197 | // 凍てつきの海
198 | { 242, new Data( "CT016_N", "CT016_R", 6, 90, 222 )}, // キョダイジュラルドン
199 | { 243, new Data( "CT007_N", "CT007_R", 6, 171, 187 )}, // キョダイアーマーガア
200 | { 244, new Data( "CT010_N", "CT010_R", 6, 229, 179 )}, // キョダイストリンダー
201 | { 245, new Data( "CT017_N", "CT017_R", 6, 92, 276 )}, // シールドのみキョダイラプラス
202 | { 246, new Data( "CT006_N", "CT006_R", 6, 187, 211 )}, // キョダイブリムオン
203 | { 247, new Data( "CT015_N", "CT015_R", 6, 199, 193 )}, // キョダイキングラー
204 | { 248, new Data( "CT017_N", "CT017_R", 6, 224, 205 )}, // シールドのみキョダイラプラス
205 | { 249, new Data( "CT005_N", "CT005_R", 6, 235, 192 )}, // シールドのみキョダイゲンガー
206 | { 250, new Data( "CT003_N", "CT003_R", 6, 246, 223 )},
207 | { 251, new Data( "CT008_N", "CT008_R", 6, 179, 241 )}, // キョダイオーロンゲ
208 | { 252, new Data( "CT011_N", "CT011_R", 6, 217, 239 )}, // キョダイダイオウドウ
209 | { 253, new Data( "CT009_N", "CT009_R", 6, 217, 271 )}, // ソードのみキョダイカイリキー
210 | { 254, new Data( "CT013_N", "CT013_R", 6, 177, 277 )}, // キョダイダストダス
211 | { 255, new Data( "CT017_N", "CT017_R", 6, 225, 295 )}, // シールドのみキョダイラプラス
212 | // 三つまたヶ原
213 | { 256, new Data( "CT016_N", "CT016_R", 6, 121, 302 )}, // キョダイジュラルドン
214 | { 257, new Data( "CT010_N", "CT010_R", 6, 130, 313 )}, // キョダイストリンダー
215 | // ボールレイクの湖畔
216 | { 258, new Data( "CT004_N", "CT004_R", 4, 158, 443 )}, // キョダイカビゴン
217 | { 259, new Data( "CT013_N", "CT013_R", 5, 65, 478 )}, // キョダイダストダス
218 | { 260, new Data( "CT002_N", "CT002_R", 5, 101, 478 )}, // ソードのみキョダイセキタンザン
219 | { 261, new Data( "CT007_N", "CT007_R", 5, 29, 480 )}, // キョダイアーマーガア
220 | { 262, new Data( "CT012_N", "CT012_R", 5, 117, 475 )}, // キョダイマルヤクデ
221 | { 263, new Data( "CT005_N", "CT005_R", 5, 41, 494 )}, // シールドのみキョダイゲンガー
222 | { 264, new Data( "CT016_N", "CT016_R", 5, 99, 500 )}, // キョダイジュラルドン
223 | { 265, new Data( "CT015_N", "CT015_R", 5, 99, 539 )}, // キョダイキングラー
224 | { 266, new Data( "CT018_N", "CT018_R", 5, 51, 550 )},
225 | { 267, new Data( "CT013_N", "CT013_R", 5, 89, 562 )}, // キョダイダストダス
226 | { 268, new Data( "CT001_N", "CT001_R", 5, 172, 520 )}, // キョダイバタフリー
227 | { 269, new Data( "CT006_N", "CT006_R", 4, 125, 538 )}, // キョダイブリムオン
228 | { 270, new Data( "CT010_N", "CT010_R", 5, 71, 570 )}, // キョダイストリンダー
229 | { 271, new Data( "CT012_N", "CT012_R", 5, 145, 564 )}, // キョダイマルヤクデ
230 | { 272, new Data( "CT014_N", "CT014_R", 4, 121, 557 )}, // ヤバチャ、キョダイマホイップ
231 | { 273, new Data( "CT009_N", "CT009_R", 4, 138, 571 )}, // ソードのみキョダイカイリキー
232 | { 274, new Data( "CT020_N", "CT020_R", 4, 94, 562 )}, // ブイズ
233 | // ダイ木の丘
234 | { 275, new Data( "CT007_N", "CT007_R", 4, 199, 534 )}, // キョダイアーマーガア
235 | };
236 | }
237 | }
238 |
--------------------------------------------------------------------------------
/Data/LanguageJp.json:
--------------------------------------------------------------------------------
1 | {
2 | "LangCode": "ja",
3 | "Nature": {
4 | "がんばりや" :"0",
5 | "さみしがり" :"1",
6 | "ゆうかん" :"2",
7 | "いじっぱり" :"3",
8 | "やんちゃ" :"4",
9 | "ずぶとい" :"5",
10 | "すなお" :"6",
11 | "のんき" :"7",
12 | "わんぱく" :"8",
13 | "のうてんき" :"9",
14 | "おくびょう" :"10",
15 | "せっかち" :"11",
16 | "まじめ" :"12",
17 | "ようき" :"13",
18 | "むじゃき" :"14",
19 | "ひかえめ" :"15",
20 | "おっとり" :"16",
21 | "れいせい" :"17",
22 | "てれや" :"18",
23 | "うっかりや" :"19",
24 | "おだやか" :"20",
25 | "おとなしい" :"21",
26 | "なまいき" :"22",
27 | "しんちょう" :"23",
28 | "きまぐれ" :"24",
29 | },
30 | "Characteristic": {
31 | "ひるねをよくする" :"0",
32 | "あばれることがすき" :"1",
33 | "うたれづよい" :"2",
34 | "ものおとにびんかん" :"3",
35 | "イタズラがすき" :"4",
36 | "ちょっぴりみえっぱり" :"5",
37 | },
38 | "Gender": [
39 | "♂",
40 | "♀",
41 | "不明",
42 | ],
43 | "Ability": [
44 | "特性1",
45 | "特性2",
46 | "通常特性",
47 | "夢特性",
48 | ],
49 | "Status": [
50 | "H",
51 | "A",
52 | "B",
53 | "C",
54 | "D",
55 | "S",
56 | "Lv",
57 | ],
58 | "RankPrefix": [
59 | "★1 ",
60 | "★2 ",
61 | "★3 ",
62 | "★4 ",
63 | "★5 ",
64 | ],
65 | "IvsInfo": [
66 | "0V",
67 | "1V",
68 | "2V",
69 | "3V",
70 | "4V",
71 | "5V",
72 | "6V",
73 | ],
74 | "SystemLabel": {
75 | "Tab35": "★3~5",
76 | "Tab12": "★1~2",
77 | "TabList": "リスト出力",
78 | "Ivs": "個体値:",
79 | "NoHidden": "通常特性のみ",
80 | "HiddenPossible": "夢特性あり",
81 | "HiddenFixed": "夢特性固定",
82 | "GenderFixed": "性別固定/不明",
83 | "Pokemon35_1_2V": "4匹目-2Vから検索",
84 | "Pokemon35_1_3V": "4匹目-3Vから検索",
85 | "Pokemon35_2": "4匹目-3V~4V",
86 | "Pokemon35_3": "5匹目",
87 | "Pokemon12_1": "1匹目",
88 | "Pokemon12_2": "2匹目",
89 | "Pokemon12_3": "3匹目",
90 | "CheckIvsButton": "個体値チェック",
91 | "CheckIvsResultTitle": "結果:",
92 | "ListVCount": "V固定数:",
93 | "MaxFrame": "最大消費数:",
94 | "OnlyShiny": "色違いのみ",
95 | "ShowSeed": "Seedの値を表示する",
96 | "ShowEC": "ECを表示する",
97 | "ShowAbilityName": "特性を名前で表示する",
98 | "ListButton": "リスト出力",
99 | "ShowDuration": "計算時間を表示",
100 | "StartSearch": "検索開始",
101 | "Searching": "検索中",
102 | "Rerolls": "V箇所再抽選考慮回数",
103 | "Range": "~",
104 | "SearchStop": "1つ見つけたら終了",
105 | "Pokemon": "ポケモン:",
106 | "CalculateIVs": "<- 計算",
107 | "Status": "ステータス:",
108 | "EventDen": "イベントレイド",
109 | "Gigantamax": "(キョダイ)",
110 | "Information": "情報",
111 | "Language": "言語",
112 | "WindowSize": "ウィンドウサイズ",
113 | "WindowSizeNormal": "標準",
114 | "WindowSizeSmall": "小",
115 | "Den": "巣穴",
116 | "GameVersion": "バージョン",
117 | "DenType": "柱の種類",
118 | "Attribute": "ステータス",
119 | "UpdateEventDen": "データ更新",
120 | "GpuSettings": "GPU設定",
121 | "UseGpu": "GPUを計算に使用する",
122 | "ThreadSetting": "スレッド数",
123 | "GpuCheck": "テストを実行",
124 | "Gender": "性別",
125 | "GenderNone": "性別不明",
126 | "GenderMale": "♂のみ",
127 | "GenderFemale": "♀のみ",
128 | "GenderMF71": "♂:♀=7:1",
129 | "GenderMF31": "♂:♀=3:1",
130 | "GenderMF11": "♂:♀=1:1",
131 | "GenderMF13": "♂:♀=1:3",
132 | "GenderMF17": "♂:♀=1:7",
133 | },
134 | "CheckIvsResult": [
135 | "NG!",
136 | "OK! Next -> 3V",
137 | "OK! Next -> 4V",
138 | "OK! Next -> 3V or 4V",
139 | ],
140 | "ErrorMessage": {
141 | "DialogTitle": "エラー",
142 | "IvsFormat": "個体値の入力が不正です。\n(0~31の半角数字)",
143 | "IvsStrict1": "1匹目のポケモンは個体値31が1箇所でなければいけません。",
144 | "IvsStrict351_3V": "4匹目-3Vのポケモンは個体値31が3箇所でなければいけません。",
145 | "IvsStrict351_2V": "4匹目-2Vのポケモンは個体値31が2箇所でなければいけません。",
146 | "IvsStrict": "個体値31の箇所がレイドによる確定数に足りません。",
147 | "NotSearchTab": "検索したいレイドによって\n★3~5か★1~2のタブを開いてください。",
148 | "NotFound": "Den Seedが見つかりませんでした。\n「V箇所再抽選考慮回数」の範囲を変えると見つかる可能性があります。",
149 | "DenSeedFormat": "Den Seedの入力が不正です。",
150 | "MaxFrameFormat": "最大消費数の入力が不正です。",
151 | "VCountFormat": "V固定数の入力が不正です。",
152 | "VFormat": "レベルまたはステータスの入力が不正です。\n(1以上の半角数字)",
153 | "LevelRange": "レベルの値が不正です。(1~100)",
154 | "CouldNotCalculateIVs": "個体値の候補がありません。\nレベル、ステータス、性格、個性の入力を確認してください。",
155 | "StatError": "ステータスに問題があります:",
156 | "StatErrorTitle": "ステータスエラー",
157 | "InvalidPokemon": "ポケモン名の入力が不正です。",
158 | "UpdateEventDenFailed": "データの取得に失敗しました。",
159 | "GpuCheckFailed": "テストに失敗しました。GPU計算が正しく機能していません。\n(スレッド数を変更すると動くかもしれません。)",
160 | "NoCudaDevice": "CUDA GPU計算が使用可能なデバイスがありません。",
161 | "GpuError32bit": "GPU計算機能は32bit版では使用できません。",
162 | },
163 | "SystemMessage": {
164 | "ResultDialogTitle": "結果",
165 | "FindManySeeds": "複数のDen Seedが見つかりました。\n全ての候補はseeds.txtをご確認ください。",
166 | "FindManyIvs": "個体値を絞り込めなかったステータスがあります。\n他のレベルで計算してみてください。",
167 | "EncounterInfoDialogTitle": "レイド情報",
168 | "UpdateEventDenSuccessed": "イベントレイドのデータを更新しました。",
169 | "GpuCheckSuccessed": "テストに成功しました。GPU計算が使用できます。\nベンチマーク:",
170 | },
171 | "ListLabel": {
172 | "Frame": "消費数",
173 | "Ability": "特性",
174 | "HiddenAbility": "夢",
175 | "Nature": "性格",
176 | "Shiny": "色違い",
177 | "StarShiny": "★",
178 | "SquareShiny": "◆",
179 | },
180 | "Pokemon": {
181 | "ユキノオー": "460",
182 | "アギルダー": "617",
183 | "ギルガルド": "681",
184 | "マホイップ": "869",
185 | "タルップル": "842",
186 | "カジッチュ": "840",
187 | "オニシズクモ": "752",
188 | "ウインディ": "59",
189 | "ウオチルドン": "883",
190 | "パッチルドン": "881",
191 | "フレフワン": "683",
192 | "サシカマス": "846",
193 | "クレベース": "713",
194 | "キバゴ": "610",
195 | "ヤジロン": "343",
196 | "ガメノデス": "689",
197 | "ドジョッチ": "339",
198 | "カマスジョー": "847",
199 | "バスラオ青": "550.1",
200 | "バスラオ赤": "550",
201 | "ツンベアー": "614",
202 | "オーベム": "606",
203 | "キレイハナ": "182",
204 | "カチコール": "712",
205 | "キテルグマ": "760",
206 | "カメテテ": "688",
207 | "キリキザン": "625",
208 | "サッチムシ": "824",
209 | "ガントル": "525",
210 | "パルスワン": "836",
211 | "ウソハチ": "438",
212 | "アマカジ": "761",
213 | "ウォーグル": "628",
214 | "ドータクン": "437",
215 | "ドーミラー": "436",
216 | "スボミー": "406",
217 | "フシギダネ": "1",
218 | "ホルビー": "659",
219 | "バタフリー": "12",
220 | "トロッゴン": "838",
221 | "キャタピー": "10",
222 | "マルヤクデ": "851",
223 | "シャンデラ": "609",
224 | "リザードン": "6",
225 | "デンヂムシ": "737",
226 | "ヒトカゲ": "4",
227 | "リザード": "5",
228 | "チェリム": "421",
229 | "チェリンボ": "420",
230 | "カムカメ": "833",
231 | "チョンチー": "170",
232 | "チラチーノ": "573",
233 | "エースバーン": "815",
234 | "ネンドール": "344",
235 | "ピクシー": "36",
236 | "ピッピ": "35",
237 | "ピィ": "173",
238 | "タタッコ": "852",
239 | "パルシェン": "91",
240 | "セキタンザン": "839",
241 | "デスカーン": "563",
242 | "ミツハニー": "415",
243 | "ローブシン": "534",
244 | "ダイオウドウ": "879",
245 | "ヘイガニ": "341",
246 | "サニーゴ (ガラル)": "222.1",
247 | "アーマーガア": "823",
248 | "アオガラス": "822",
249 | "モンメン": "546",
250 | "ウッウ": "845",
251 | "シザリガー": "342",
252 | "グレッグル": "453",
253 | "イワパレス": "558",
254 | "クマシュン": "613",
255 | "ゾウドウ": "878",
256 | "サニゴーン": "864",
257 | "アブリー": "742",
258 | "ヒヒダルマ (ガラル)": "555.2",
259 | "フクスロー": "723",
260 | "ダルマッカ (ガラル)": "993",
261 | "ジュナイパー": "724",
262 | "モノズ": "633",
263 | "デリバード": "225",
264 | "シズクモ": "751",
265 | "ダダリン": "781",
266 | "ホルード": "660",
267 | "ディグダ": "50",
268 | "メタモン": "132",
269 | "レドームシ": "825",
270 | "ニダンギル": "680",
271 | "ウオノラゴン": "882",
272 | "パッチラゴン": "880",
273 | "ドラパルト": "887",
274 | "ドロンチ": "886",
275 | "ジジーロン": "780",
276 | "ドラピオン": "452",
277 | "カジリガメ": "834",
278 | "ドラメシヤ": "885",
279 | "フワライド": "426",
280 | "フワンテ": "425",
281 | "モグリュー": "529",
282 | "ジメレオン": "817",
283 | "バイウールー": "832",
284 | "ダグトリオ": "51",
285 | "ダブラン": "578",
286 | "ジュラルドン": "884",
287 | "アイアント": "632",
288 | "サマヨール": "356",
289 | "ヨノワール": "477",
290 | "ヨマワル": "355",
291 | "イシズマイ": "557",
292 | "イーブイ": "133",
293 | "コオリッポ": "875",
294 | "ワタシラガ": "830",
295 | "ラクライ": "309",
296 | "リグレー": "605",
297 | "シュバルゴ": "589",
298 | "エーフィ": "196",
299 | "ニャスパー": "677",
300 | "ムゲンダイナ": "890",
301 | "ドリュウズ": "530",
302 | "タイレーツ": "870",
303 | "カモネギ (ガラル)": "83.1",
304 | "ヒンバス": "349",
305 | "テッシード": "597",
306 | "ナットレイ": "598",
307 | "アップリュー": "841",
308 | "ブースター": "136",
309 | "フライゴン": "330",
310 | "オノンド": "611",
311 | "プルリル": "592",
312 | "ユキメノコ": "478",
313 | "モスノウ": "873",
314 | "エルレイド": "475",
315 | "デンチュラ": "596",
316 | "ダストダス": "569",
317 | "サーナイト": "282",
318 | "ゴース": "92",
319 | "トリトドン": "423",
320 | "ゲンガー": "94",
321 | "ギガイアス": "526",
322 | "グレイシア": "471",
323 | "オニゴーリ": "362",
324 | "クサイハナ": "44",
325 | "トサキント": "118",
326 | "ゴビット": "622",
327 | "グソクムシャ": "768",
328 | "ゴルーグ": "623",
329 | "ヌメルゴン": "706",
330 | "ヌメラ": "704",
331 | "ヒメンカ": "829",
332 | "ゴチム": "574",
333 | "ゴチルゼル": "576",
334 | "ゴチミル": "575",
335 | "パンプジン (小)": "711.1",
336 | "パンプジン (大)": "711.2",
337 | "パンプジン (特大)": "711.3",
338 | "パンプジン (通常)": "711",
339 | "オトスパス": "853",
340 | "ヨクバリス": "820",
341 | "オーロンゲ": "861",
342 | "サルノリ": "810",
343 | "ガーディ": "58",
344 | "アゴジムシ": "736",
345 | "ドテッコツ": "533",
346 | "ギャラドス": "130",
347 | "ジャランゴ": "783",
348 | "ミブリム": "856",
349 | "ブリムオン": "858",
350 | "テブリム": "857",
351 | "ゴースト": "93",
352 | "ルチャブル": "701",
353 | "オノノクス": "612",
354 | "クイタラン": "631",
355 | "エレザード": "695",
356 | "エリキテル": "694",
357 | "ヒポポタス": "449",
358 | "カバルドン": "450",
359 | "エビワラー": "107",
360 | "サワムラー": "106",
361 | "カポエラー": "237",
362 | "ヒトツキ": "679",
363 | "ホーホー": "163",
364 | "サザンドラ": "635",
365 | "ベロバー": "859",
366 | "ガオガエン": "727",
367 | "イエッサン♀": "876.1",
368 | "イエッサン♂": "876",
369 | "マーイーカ": "686",
370 | "インテレオン": "818",
371 | "ジャラコ": "782",
372 | "ブルンゲル": "593",
373 | "サンダース": "135",
374 | "バチュル": "595",
375 | "カブルモ": "588",
376 | "キングラー": "99",
377 | "キルリア": "281",
378 | "ギギアル": "600",
379 | "ギアル": "599",
380 | "ギギギアル": "601",
381 | "ドガース": "109",
382 | "ジャラランガ": "784",
383 | "クラブ": "98",
384 | "ランプラー": "608",
385 | "ランターン": "171",
386 | "ラプラス": "131",
387 | "ヨーギラス": "246",
388 | "リーフィア": "470",
389 | "レパルダス": "510",
390 | "マッスグマ (ガラル)": "264.1",
391 | "ヒトモシ": "607",
392 | "ハスブレロ": "271",
393 | "ハスボー": "270",
394 | "ルカリオ": "448",
395 | "ルンパッパ": "272",
396 | "ルナトーン": "337",
397 | "カイリキー": "68",
398 | "ゴーリキー": "67",
399 | "ワンリキー": "66",
400 | "コイキング": "129",
401 | "カラマネロ": "687",
402 | "マンムー": "473",
403 | "バルジーナ": "630",
404 | "ライボルト": "310",
405 | "マンタイン": "226",
406 | "タマンタ": "458",
407 | "マラカッチ": "556",
408 | "ヒドイデ": "747",
409 | "クチート": "303",
410 | "ニャオニクス♀": "678.1",
411 | "ニャオニクス♂": "678",
412 | "ニャース (ガラル)": "52.2",
413 | "ニャース": "52",
414 | "トランセル": "11",
415 | "ミュウ": "151",
416 | "マホミル": "868",
417 | "ミロカロス": "350",
418 | "マネネ": "439",
419 | "ミミッキュ": "778",
420 | "チラーミィ": "572",
421 | "ネマシュ": "755",
422 | "ギモー": "860",
423 | "モルペコ": "877",
424 | "バリヤード (ガラル)": "122.1",
425 | "バリヤード": "122",
426 | "バリコオル": "866",
427 | "ドロバンコ": "749",
428 | "バンバドロ": "750",
429 | "ゴンベ": "446",
430 | "ムンナ": "517",
431 | "ムシャーナ": "518",
432 | "ネイティ": "177",
433 | "クスネ": "827",
434 | "ツチニン": "290",
435 | "キュウコン": "38",
436 | "テッカニン": "291",
437 | "ヨルノズク": "164",
438 | "オンバット": "714",
439 | "オンバーン": "715",
440 | "コノハナ": "274",
441 | "タチフサグマ": "862",
442 | "オクタン": "224",
443 | "ナゾノクサ": "43",
444 | "イワーク": "95",
445 | "ヤレユータン": "765",
446 | "イオルブ": "826",
447 | "ガマガル": "536",
448 | "ヤンチャム": "674",
449 | "ゴロンダ": "675",
450 | "ナゲツケサル": "766",
451 | "コマタナ": "624",
452 | "ペリッパー": "279",
453 | "ニャイキング": "863",
454 | "ペルシアン": "53",
455 | "ボクレー": "708",
456 | "ピチュー": "172",
457 | "マメパト": "519",
458 | "ピカチュウ": "25",
459 | "イノムー": "221",
460 | "バチンウニ": "871",
461 | "ポットデス": "855",
462 | "ポニータ (ガラル)": "77.1",
463 | "バケッチャ (小)": "710.1",
464 | "バケッチャ (大)": "710.2",
465 | "バケッチャ (特大)": "710.3",
466 | "バケッチャ (通常)": "710",
467 | "サナギラス": "247",
468 | "チョロネコ": "509",
469 | "ナマコブシ": "771",
470 | "ヌオー": "195",
471 | "ハリーセン": "211",
472 | "ラビフット": "814",
473 | "ライチュウ": "26",
474 | "ラルトス": "280",
475 | "ギャロップ (ガラル)": "78.1",
476 | "テッポウオ": "223",
477 | "ランクルス": "579",
478 | "サイドン": "112",
479 | "サイホーン": "111",
480 | "ドサイドン": "464",
481 | "アブリボン": "743",
482 | "ゴリランダー": "812",
483 | "リオル": "447",
484 | "ダンゴロ": "524",
485 | "タンドン": "837",
486 | "ココガラ": "821",
487 | "ロゼリア": "315",
488 | "ロズレイド": "407",
489 | "ロトム (FC)": "479.1",
490 | "ロトム": "479",
491 | "モクロー": "722",
492 | "ワシボン": "627",
493 | "デスバーン": "867",
494 | "ヤミラミ": "302",
495 | "ヤトウモリ": "757",
496 | "エンニュート": "758",
497 | "サダイジャ": "844",
498 | "ダゲキ": "539",
499 | "ヒバニー": "813",
500 | "ズルズキン": "560",
501 | "ズルッグ": "559",
502 | "アズマオウ": "119",
503 | "タネボー": "273",
504 | "ガマゲロゲ": "537",
505 | "ヌケニン": "292",
506 | "シェルダー": "90",
507 | "カラナクシ": "422",
508 | "チョボマキ": "616",
509 | "ダーテング": "275",
510 | "マシェード": "756",
511 | "ツボツボ": "213",
512 | "シンボラー": "561",
513 | "スナヘビ": "843",
514 | "シルヴァディ": "773",
515 | "ヤバチャ": "854",
516 | "ネギガナイト": "865",
517 | "ヤクデ": "850",
518 | "スコルピ": "451",
519 | "スカタンク": "435",
520 | "ホシガリス": "819",
521 | "ヌメイル": "705",
522 | "ペロリーム": "685",
523 | "ニューラ": "215",
524 | "ユキハミ": "872",
525 | "カビゴン": "143",
526 | "ユキワラシ": "361",
527 | "ユキカブリ": "459",
528 | "メッソン": "816",
529 | "ユニラン": "577",
530 | "ソルロック": "338",
531 | "シュシュプ": "682",
532 | "ハガネール": "208",
533 | "アママイコ": "762",
534 | "イシヘンジン": "874",
535 | "ヌイコグマ": "759",
536 | "マッギョ (ガラル)": "618.1",
537 | "スカンプー": "434",
538 | "ウソッキー": "185",
539 | "ウリムー": "220",
540 | "ペロッパフ": "684",
541 | "ココロモリ": "528",
542 | "ニンフィア": "700",
543 | "フォクスライ": "828",
544 | "ナゲキ": "538",
545 | "バチンキー": "811",
546 | "ドッコラー": "532",
547 | "トゲデマル": "777",
548 | "トゲキッス": "468",
549 | "トゲピー": "175",
550 | "トゲチック": "176",
551 | "コータス": "324",
552 | "ドヒドイデ": "748",
553 | "エレズン": "848",
554 | "ドクロッグ": "454",
555 | "ストリンダー (ロー)": "1154",
556 | "ストリンダー (ハイ)": "849",
557 | "ハトーボー": "520",
558 | "ナックラー": "328",
559 | "オーロット": "709",
560 | "ヤブクロン": "568",
561 | "アマージョ": "763",
562 | "バクガメス": "776",
563 | "オタマロ": "535",
564 | "タイプ:ヌル": "772",
565 | "バンギラス": "248",
566 | "バルキー": "236",
567 | "ブラッキー": "197",
568 | "ケンホロウ": "521",
569 | "バニリッチ": "583",
570 | "バニプッチ": "582",
571 | "バイバニラ": "584",
572 | "シャワーズ": "134",
573 | "ビークイン": "416",
574 | "ビブラーバ": "329",
575 | "クワガノン": "738",
576 | "ラフレシア": "45",
577 | "バルチャイ": "629",
578 | "ロコン": "37",
579 | "ホエルコ": "320",
580 | "ホエルオー": "321",
581 | "マニューラ": "461",
582 | "マタドガス (ガラル)": "110.1",
583 | "エルフーン": "547",
584 | "ナマズン": "340",
585 | "コソクムシ": "767",
586 | "キャモメ": "278",
587 | "ヨワシ": "746",
588 | "ソーナンス": "202",
589 | "コロモリ": "527",
590 | "ウールー": "831",
591 | "ウパー": "194",
592 | "ソーナノ": "360",
593 | "ネイティオ": "178",
594 | "デスマス (ガラル)": "562.1",
595 | "デスマス": "562",
596 | "ワンパチ": "835",
597 | "ザシアン": "888",
598 | "ザマゼンタ": "889",
599 | "ジグザグマ (ガラル)": "263.1",
600 | "ジヘッド": "634",
601 | "ポニータ": "77",
602 | "ギャロップ": "78",
603 | "カモネギ": "83",
604 | "マタドガス": "110",
605 | "サニーゴ": "222",
606 | "ジグザグマ": "263",
607 | "マッスグマ": "264",
608 | "マッギョ": "618",
609 | "ダルマッカ": "554",
610 | "ヒヒダルマ": "555",
611 | "イワンコ(マイペース)": "744.1",
612 | "ルガルガン(まひる)": "745",
613 | "ルガルガン(まよなか)": "745.1",
614 | "ルガルガン(たそがれ)": "745.2",
615 | "コラッタ(アローラ)": "19.1",
616 | "ラッタ(アローラ)": "20.1",
617 | "ライチュウ(アローラ)": "26.1",
618 | "サンド(アローラ)": "27.1",
619 | "サンドパン(アローラ)": "28.1",
620 | "ロコン(アローラ)": "37.1",
621 | "キュウコン(アローラ)": "38.1",
622 | "ディグダ(アローラ)": "50.1",
623 | "ダグトリオ(アローラ)": "51.1",
624 | "ニャース(アローラ)": "52.1",
625 | "ペルシアン(アローラ)": "53.1",
626 | "イシツブテ(アローラ)": "74.1",
627 | "ゴローン(アローラ)": "75.1",
628 | "ゴローニャ(アローラ)": "76.1",
629 | "ベトベター(アローラ)": "88.1",
630 | "ベトベトン(アローラ)": "89.1",
631 | "ナッシー(アローラ)": "103.1",
632 | "ガラガラ(アローラ)": "105.1",
633 | },
634 | "Den": {
635 | "イベントレイド": "-1",
636 | "うららか草原 D": "0",
637 | "うららか草原 G": "1",
638 | "うららか草原 A": "2",
639 | "うららか草原 H": "3",
640 | "うららか草原 F": "4",
641 | "うららか草原 I": "5",
642 | "うららか草原 E": "6",
643 | "うららか草原 B": "7",
644 | "うららか草原 C": "8",
645 | "こもれび林 E": "9",
646 | "こもれび林 B": "10",
647 | "こもれび林 A": "11",
648 | "こもれび林 D": "12",
649 | "こもれび林 C": "13",
650 | "見張り塔跡地 C": "14",
651 | "見張り塔跡地 A": "15",
652 | "キバ湖・東 E": "17",
653 | "キバ湖・東 A": "18",
654 | "キバ湖・東 C": "19",
655 | "キバ湖・東 D": "20",
656 | "キバ湖・西 D": "21",
657 | "キバ湖・西 C": "22",
658 | "キバ湖・西 F": "23",
659 | "キバ湖・西 E": "24",
660 | "キバ湖・西 B": "25",
661 | "キバ湖・西 A": "26",
662 | "キバ湖の瞳 A": "27",
663 | "ミロカロ湖・南 C": "28",
664 | "ミロカロ湖・南 D": "29",
665 | "ミロカロ湖・南 E": "30",
666 | "ミロカロ湖・南 A": "31",
667 | "ミロカロ湖・南 B": "32",
668 | "巨人の腰かけ E": "33",
669 | "巨人の腰かけ B": "34",
670 | "巨人の腰かけ C": "35",
671 | "巨人の腰かけ D": "36",
672 | "巨人の腰かけ A": "37",
673 | "ミロカロ湖・北 E": "38",
674 | "ミロカロ湖・北 D": "39",
675 | "ミロカロ湖・北 B": "40",
676 | "ミロカロ湖・北 C": "41",
677 | "ミロカロ湖・北 A": "42",
678 | "キバ湖・東 B": "43",
679 | "ミロカロ湖・北 F": "44",
680 | "エンジンリバーサイド B": "45",
681 | "エンジンリバーサイド A": "46",
682 | "エンジンリバーサイド C": "47",
683 | "エンジンリバーサイド D": "48",
684 | "ハシノマ原っぱ A": "49",
685 | "ハシノマ原っぱ F": "50",
686 | "ハシノマ原っぱ H": "51",
687 | "ハシノマ原っぱ I": "52",
688 | "ハシノマ原っぱ B": "53",
689 | "ハシノマ原っぱ E": "54",
690 | "ハシノマ原っぱ C": "55",
691 | "ハシノマ原っぱ D": "56",
692 | "ハシノマ原っぱ G": "57",
693 | "ストーンズ原野 L": "58",
694 | "ストーンズ原野 E": "59",
695 | "ストーンズ原野 G": "60",
696 | "ストーンズ原野 D": "61",
697 | "ストーンズ原野 F": "62",
698 | "ストーンズ原野 B": "63",
699 | "ストーンズ原野 A": "64",
700 | "ストーンズ原野 H": "65",
701 | "ストーンズ原野 I": "66",
702 | "ストーンズ原野 J": "67",
703 | "ストーンズ原野 K": "68",
704 | "ストーンズ原野 C": "69",
705 | "砂塵の窪地 H": "70",
706 | "砂塵の窪地 D": "71",
707 | "砂塵の窪地 E": "72",
708 | "砂塵の窪地 A": "73",
709 | "砂塵の窪地 B": "74",
710 | "砂塵の窪地 G": "75",
711 | "砂塵の窪地 C": "76",
712 | "砂塵の窪地 I": "77",
713 | "巨人の鏡池 E": "78",
714 | "砂塵の窪地 F": "79",
715 | "巨人の鏡池 D": "80",
716 | "巨人の鏡池 B": "81",
717 | "巨人の鏡池 A": "82",
718 | "巨人の鏡池 C": "83",
719 | "ナックル丘陵 B": "84",
720 | "ナックル丘陵 F": "85",
721 | "ナックル丘陵 A": "86",
722 | "ナックル丘陵 E": "87",
723 | "ナックル丘陵 C": "88",
724 | "ナックル丘陵 D": "89",
725 | "ナックル丘陵 G": "90",
726 | "巨人の帽子 E": "91",
727 | "巨人の帽子 C": "92",
728 | "巨人の帽子 D": "93",
729 | "巨人の帽子 A": "94",
730 | "巨人の帽子 B": "95",
731 | "げきりんの湖 D": "96",
732 | "げきりんの湖 A": "97",
733 | "げきりんの湖 C": "98",
734 | "げきりんの湖 B": "99",
735 | "[鎧] 一礼野原 A": "100",
736 | "[鎧] 一礼野原 B": "101",
737 | "[鎧] 一礼野原 C": "102",
738 | "[鎧] 一礼野原 D": "103",
739 | "[鎧] 一礼野原 E": "104",
740 | "[鎧] 一礼野原 F": "105",
741 | "[鎧] 一礼野原 G": "106",
742 | "[鎧] 一礼野原 H": "107",
743 | "[鎧] 一礼野原 I": "108",
744 | "[鎧] 一礼野原 J": "109",
745 | "[鎧] 清涼湿原 A": "110",
746 | "[鎧] 清涼湿原 B": "111",
747 | "[鎧] 清涼湿原 C": "112",
748 | "[鎧] 清涼湿原 D": "113",
749 | "[鎧] 清涼湿原 E": "114",
750 | "[鎧] 清涼湿原 F": "115",
751 | "[鎧] 清涼湿原 G": "116",
752 | "[鎧] 清涼湿原 H": "117",
753 | "[鎧] 清涼湿原 I": "118",
754 | "[鎧] ファイトケイブ A": "119",
755 | "[鎧] チャレンジロード A": "120",
756 | "[鎧] チャレンジロード B": "121",
757 | "[鎧] チャレンジロード C": "122",
758 | "[鎧] チャレンジロード D": "123",
759 | "[鎧] 集中の森 A": "124",
760 | "[鎧] 集中の森 B": "125",
761 | "[鎧] 集中の森 C": "126",
762 | "[鎧] 集中の森 D": "127",
763 | "[鎧] 集中の森 E": "128",
764 | "[鎧] 集中の森 F": "129",
765 | "[鎧] 鍛錬平原 A": "130",
766 | "[鎧] 鍛錬平原 B": "131",
767 | "[鎧] 鍛錬平原 C": "132",
768 | "[鎧] 鍛錬平原 D": "133",
769 | "[鎧] 鍛錬平原 E": "134",
770 | "[鎧] 鍛錬平原 F": "135",
771 | "[鎧] 鍛錬平原 G": "136",
772 | "[鎧] 鍋底砂漠 A": "137",
773 | "[鎧] 鍋底砂漠 B": "138",
774 | "[鎧] 鍋底砂漠 C": "139",
775 | "[鎧] ハニカームの海 A": "140",
776 | "[鎧] ハニカームの海 B": "141",
777 | "[鎧] ハニカームの海 C": "142",
778 | "[鎧] ハニカームの海 D": "143",
779 | "[鎧] ハニカームの海 E": "144",
780 | "[鎧] ハニカーム島 A": "145",
781 | "[鎧] ハニカーム島 B": "146",
782 | "[鎧] ハニカーム島 C": "147",
783 | "[鎧] ハニカーム島 D": "148",
784 | "[鎧] ハニカーム島 E": "149",
785 | "[鎧] ハニカーム島 F": "150",
786 | "[鎧] チャレンジビーチ A": "151",
787 | "[鎧] チャレンジビーチ B": "152",
788 | "[鎧] チャレンジビーチ C": "153",
789 | "[鎧] チャレンジビーチ D": "154",
790 | "[鎧] チャレンジビーチ E": "155",
791 | "[鎧] チャレンジビーチ F": "156",
792 | "[鎧] チャレンジビーチ G": "157",
793 | "[鎧] チャレンジビーチ H": "158",
794 | "[鎧] 離れ島海域 A": "159",
795 | "[鎧] 離れ島海域 B": "160",
796 | "[鎧] 離れ島海域 C": "161",
797 | "[鎧] 離れ島海域 D": "162",
798 | "[鎧] 離れ島海域 E": "163",
799 | "[鎧] 並ぶ島の海 A": "164",
800 | "[鎧] 並ぶ島の海 B": "165",
801 | "[鎧] 並ぶ島の海 C": "166",
802 | "[鎧] 並ぶ島の海 D": "167",
803 | "[鎧] 並ぶ島の海 E": "168",
804 | "[鎧] 並ぶ島の海 F": "169",
805 | "[鎧] 並ぶ島の海 G": "170",
806 | "[鎧] 並ぶ島の海 H": "171",
807 | "[鎧] 並ぶ島の海 I": "172",
808 | "[鎧] 闘心の洞窟 A": "173",
809 | "[鎧] 闘心の洞窟 B": "174",
810 | "[鎧] 闘心の洞窟 C": "175",
811 | "[鎧] 闘心の洞窟 D": "176",
812 | "[鎧] 闘心の洞窟 E": "177",
813 | "[鎧] 闘心の洞窟 F": "178",
814 | "[鎧] 円環の入り江 A": "179",
815 | "[鎧] 円環の入り江 B": "180",
816 | "[鎧] 円環の入り江 C": "181",
817 | "[鎧] 円環の入り江 D": "182",
818 | "[鎧] ワークアウトの海 A": "183",
819 | "[鎧] ワークアウトの海 B": "184",
820 | "[鎧] ワークアウトの海 C": "185",
821 | "[鎧] ワークアウトの海 D": "186",
822 | "[鎧] ワークアウトの海 E": "187",
823 | "[鎧] ワークアウトの海 F": "188",
824 | "[鎧] ワークアウトの海 G": "189",
825 | "[冠] 滑り出し雪原 A": "190",
826 | "[冠] 滑り出し雪原 B": "191",
827 | "[冠] 滑り出し雪原 C": "192",
828 | "[冠] 滑り出し雪原 D": "193",
829 | "[冠] 滑り出し雪原 E": "194",
830 | "[冠] 滑り出し雪原 F": "195",
831 | "[冠] 氷点雪原 A": "196",
832 | "[冠] 氷点雪原 B": "197",
833 | "[冠] 氷点雪原 C": "198",
834 | "[冠] 氷点雪原 D": "199",
835 | "[冠] 氷点雪原 E": "200",
836 | "[冠] 巨人の寝床 A": "201",
837 | "[冠] 巨人の寝床 B": "202",
838 | "[冠] 巨人の寝床 C": "203",
839 | "[冠] 巨人の寝床 D": "204",
840 | "[冠] 巨人の寝床 E": "205",
841 | "[冠] 巨人の寝床 F": "206",
842 | "[冠] 巨人の寝床 G": "207",
843 | "[冠] 巨人の寝床 H": "208",
844 | "[冠] 巨人の寝床 I": "209",
845 | "[冠] 巨人の寝床 K": "210",
846 | "[冠] 巨人の寝床 L": "211",
847 | "[冠] 巨人の寝床 M": "212",
848 | "[冠] 巨人の寝床 N": "213",
849 | "[冠] 巨人の寝床 O": "214",
850 | "[冠] 巨人の寝床 P": "215",
851 | "[冠] 巨人の寝床 Q": "216",
852 | "[冠] 巨人の寝床 R": "217",
853 | "[冠] 巨人の寝床 S": "218",
854 | "[冠] 巨人の寝床 T": "219",
855 | "[冠] 巨人の寝床 U": "220",
856 | "[冠] 巨人の寝床 V": "221",
857 | "[冠] いにしえの墓地 A": "222",
858 | "[冠] いにしえの墓地 B": "223",
859 | "[冠] 雪中渓谷 A": "224",
860 | "[冠] 雪中渓谷 B": "225",
861 | "[冠] 雪中渓谷 C": "226",
862 | "[冠] 雪中渓谷 D": "227",
863 | "[冠] 雪中渓谷 E": "228",
864 | "[冠] 雪中渓谷 F": "229",
865 | "[冠] 雪中渓谷 G": "230",
866 | "[冠] 雪中渓谷 H": "231",
867 | "[冠] 雪中渓谷 I": "232",
868 | "[冠] 頂への雪道 A": "233",
869 | "[冠] 頂への雪道 B": "234",
870 | "[冠] 頂への雪道 C": "235",
871 | "[冠] カンムリ神殿 A": "236",
872 | "[冠] 巨人の靴底 A": "237",
873 | "[冠] 巨人の靴底 B": "238",
874 | "[冠] 巨人の靴底 C": "239",
875 | "[冠] 巨人の靴底 D": "240",
876 | "[冠] 巨人の靴底 E": "241",
877 | "[冠] 凍てつきの海 A": "242",
878 | "[冠] 凍てつきの海 B": "243",
879 | "[冠] 凍てつきの海 C": "244",
880 | "[冠] 凍てつきの海 D": "245",
881 | "[冠] 凍てつきの海 E": "246",
882 | "[冠] 凍てつきの海 F": "247",
883 | "[冠] 凍てつきの海 G": "248",
884 | "[冠] 凍てつきの海 H": "249",
885 | "[冠] 凍てつきの海 I": "250",
886 | "[冠] 凍てつきの海 J": "251",
887 | "[冠] 凍てつきの海 K": "252",
888 | "[冠] 凍てつきの海 L": "253",
889 | "[冠] 凍てつきの海 M": "254",
890 | "[冠] 凍てつきの海 N": "255",
891 | "[冠] 三つまたヶ原 A": "256",
892 | "[冠] 三つまたヶ原 B": "257",
893 | "[冠] ボールレイクの湖畔 A": "258",
894 | "[冠] ボールレイクの湖畔 B": "259",
895 | "[冠] ボールレイクの湖畔 C": "260",
896 | "[冠] ボールレイクの湖畔 D": "261",
897 | "[冠] ボールレイクの湖畔 E": "262",
898 | "[冠] ボールレイクの湖畔 F": "263",
899 | "[冠] ボールレイクの湖畔 G": "264",
900 | "[冠] ボールレイクの湖畔 H": "265",
901 | "[冠] ボールレイクの湖畔 I": "266",
902 | "[冠] ボールレイクの湖畔 J": "267",
903 | "[冠] ボールレイクの湖畔 K": "268",
904 | "[冠] ボールレイクの湖畔 L": "269",
905 | "[冠] ボールレイクの湖畔 M": "270",
906 | "[冠] ボールレイクの湖畔 N": "271",
907 | "[冠] ボールレイクの湖畔 O": "272",
908 | "[冠] ボールレイクの湖畔 P": "273",
909 | "[冠] ボールレイクの湖畔 Q": "274",
910 | "[冠] ダイ木の丘 A": "275",
911 | },
912 | "Version": [
913 | "ソード",
914 | "シールド",
915 | ],
916 | "DenRarity": [
917 | "通常",
918 | "レア",
919 | ],
920 | }
921 |
--------------------------------------------------------------------------------
/Data/LanguageZh.json:
--------------------------------------------------------------------------------
1 | {
2 | "LangCode": "zh",
3 | "Nature": {
4 | "勤奋": "0",
5 | "怕寂寞": "1",
6 | "勇敢": "2",
7 | "固执": "3",
8 | "顽皮": "4",
9 | "大胆": "5",
10 | "坦率": "6",
11 | "悠闲": "7",
12 | "淘气": "8",
13 | "乐天": "9",
14 | "胆小": "10",
15 | "急躁": "11",
16 | "认真": "12",
17 | "爽朗": "13",
18 | "天真": "14",
19 | "内敛": "15",
20 | "慢吞吞": "16",
21 | "冷静": "17",
22 | "害羞": "18",
23 | "马虎": "19",
24 | "温和": "20",
25 | "温顺": "21",
26 | "自大": "22",
27 | "慎重": "23",
28 | "浮躁": "24",
29 | },
30 | "Characteristic": {
31 | "经常睡午觉": "0",
32 | "喜欢胡闹": "1",
33 | "抗打能力强": "2",
34 | "对声音敏感": "3",
35 | "喜欢恶作剧": "4",
36 | "有一点点爱慕虚荣": "5",
37 | },
38 | "Gender": [
39 | "♂",
40 | "♀",
41 | "无性别",
42 | ],
43 | "Ability": [
44 | "特性1",
45 | "特性2",
46 | "普通特性",
47 | "隐藏特性",
48 | ],
49 | "Status": [
50 | "生命",
51 | "攻击",
52 | "防御",
53 | "特攻",
54 | "特防",
55 | "速度",
56 | "等级",
57 | ],
58 | "RankPrefix": [
59 | "1★ ",
60 | "2★ ",
61 | "3★ ",
62 | "4★ ",
63 | "5★ ",
64 | ],
65 | "IvsInfo": [
66 | "0V",
67 | "1V",
68 | "2V",
69 | "3V",
70 | "4V",
71 | "5V",
72 | "6V",
73 | ],
74 | "SystemLabel": {
75 | "Tab35": "3★-5★",
76 | "Tab12": "1★-2★",
77 | "TabList": "列表",
78 | "Ivs": "个体值:",
79 | "NoHidden": "仅普通特性",
80 | "HiddenPossible": "可能出隐藏特性",
81 | "HiddenFixed": "固定隐藏特性",
82 | "GenderFixed": "性别固定",
83 | "Pokemon35_1_2V": "第4帧-2V模式",
84 | "Pokemon35_1_3V": "第4帧-3V模式",
85 | "Pokemon35_2": "第4帧-3或4V",
86 | "Pokemon35_3": "第5帧",
87 | "Pokemon12_1": "第1帧",
88 | "Pokemon12_2": "第2帧",
89 | "Pokemon12_3": "第3帧",
90 | "CheckIvsButton": "检查个体值",
91 | "CheckIvsResultTitle": "结果",
92 | "ListVCount": "固定V数",
93 | "MaxFrame": "最大帧数",
94 | "OnlyShiny": "仅列出异色",
95 | "ShowSeed": "显示种子",
96 | "ShowEC": "显示EC",
97 | "ShowAbilityName": "显示特性名称",
98 | "ListButton": "生成列表",
99 | "ShowDuration": "显示计算时间",
100 | "StartSearch": "开始搜索",
101 | "Searching": "搜索中",
102 | "Rerolls": "允许个体值误差",
103 | "Range": "-",
104 | "SearchStop": "找到一个种子时停止",
105 | "Pokemon": "宝可梦",
106 | "CalculateIVs": "< 计算",
107 | "Status": "能力",
108 | "EventDen": "活动日期",
109 | "Gigantamax": " 【超极巨】",
110 | "Information": "信息",
111 | "Language": "语言/Language",
112 | "WindowSize": "窗口大小",
113 | "WindowSizeNormal": "正常",
114 | "WindowSizeSmall": "小",
115 | "Den": "旷野巢穴",
116 | "GameVersion": "游戏版本",
117 | "DenType": "光柱类型",
118 | "Attribute": "属性",
119 | "UpdateEventDen": "更新活动",
120 | "GpuSettings": "GPU设置",
121 | "UseGpu": "使用GPU计算",
122 | "ThreadSetting": "线程数",
123 | "GpuCheck": "运行测试",
124 | "Gender": "性别",
125 | "GenderNone": "无性别",
126 | "GenderMale": "只有♂",
127 | "GenderFemale": "只有♀",
128 | "GenderMF71": "♂:♀=7:1",
129 | "GenderMF31": "♂:♀=3:1",
130 | "GenderMF11": "♂:♀=1:1",
131 | "GenderMF13": "♂:♀=1:3",
132 | "GenderMF17": "♂:♀=1:7",
133 | },
134 | "CheckIvsResult": [
135 | "失败!",
136 | "成功! 下一个 -> 3V",
137 | "成功! 下一个 -> 4V",
138 | "成功! 下一个 -> 3V或4V皆可",
139 | ],
140 | "ErrorMessage": {
141 | "DialogTitle": "错误",
142 | "IvsFormat": "个体值必须在0到31之间",
143 | "IvsStrict1": "第一只怪至少1V",
144 | "IvsStrict351_3V": "第4帧-3V搜索模式下,第一个框的怪必须固定3V",
145 | "IvsStrict351_2V": "第4帧-2V搜索模式下,第一个框的怪必须固定2V",
146 | "IvsStrict": "V数不正确",
147 | "NotSearchTab": "请打开搜索界面再点击搜索",
148 | "NotFound": "计算失败! 请尝试调整个体值误差范围",
149 | "DenSeedFormat": "种子格式错误",
150 | "MaxFrameFormat": "最大帧数必须为整数",
151 | "VCountFormat": "固定V数格式错误",
152 | "VFormat": "能力值必须为整数",
153 | "LevelRange": "等级(Lv)必须在1到100之间",
154 | "CouldNotCalculateIVs": "个体计算失败!请检查数据",
155 | "StatError": "可能有问题的能力值: ",
156 | "StatErrorTitle": "能力值错误",
157 | "InvalidPokemon": "请选择一个宝可梦",
158 | "UpdateEventDenFailed": "更新活动巢穴数据失败",
159 | "GpuCheckFailed": "测试失败",
160 | "NoCudaDevice": "无可用CUDA设备",
161 | "GpuError32bit": "GPU加速仅适用64位版本",
162 | },
163 | "SystemMessage": {
164 | "ResultDialogTitle": "结果",
165 | "FindManySeeds": "找到了多个种子,详见seeds.txt",
166 | "FindManyIvs": "个体值存在误差,请尝试提升等级(Lv)",
167 | "EncounterInfoDialogTitle": "遇敌信息",
168 | "UpdateEventDenSuccessed": "更新完成,请重启软件",
169 | "GpuCheckSuccessed": "测试成功\n耗时:",
170 | },
171 | "ListLabel": {
172 | "Frame": "帧数",
173 | "Ability": "特性",
174 | "HiddenAbility": "梦特",
175 | "Nature": "性格",
176 | "Shiny": "异色",
177 | "StarShiny": "★",
178 | "SquareShiny": "◆",
179 | },
180 | "Pokemon": {
181 | "暴雪王": "460",
182 | "敏捷虫": "617",
183 | "坚盾剑怪 (刀剑形态)": "681.1",
184 | "坚盾剑怪": "681",
185 | "霜奶仙": "869",
186 | "丰蜜龙": "842",
187 | "啃果虫": "840",
188 | "滴蛛霸": "752",
189 | "风速狗": "59",
190 | "鳃鱼海兽": "883",
191 | "雷鸟海兽": "881",
192 | "芳香精": "683",
193 | "刺梭鱼": "846",
194 | "冰岩怪": "713",
195 | "牙牙": "610",
196 | "天秤偶": "343",
197 | "龟足巨铠": "689",
198 | "泥泥鳅": "339",
199 | "戽斗尖梭": "847",
200 | "野蛮鲈鱼 (蓝条纹的样子)": "550.1",
201 | "野蛮鲈鱼": "550",
202 | "冻原熊": "614",
203 | "大宇怪": "606",
204 | "美丽花": "182",
205 | "冰宝": "712",
206 | "穿着熊": "760",
207 | "龟脚脚": "688",
208 | "劈斩司令": "625",
209 | "水箭龟": "9",
210 | "索侦虫": "824",
211 | "地幔岩": "525",
212 | "逐电犬": "836",
213 | "盆才怪": "438",
214 | "甜竹竹": "761",
215 | "勇士雄鹰": "628",
216 | "花漾海狮": "729",
217 | "青铜钟": "437",
218 | "铜镜怪": "436",
219 | "含羞苞": "406",
220 | "妙蛙种子": "1",
221 | "掘掘兔": "659",
222 | "巴大蝶": "12",
223 | "大炭车": "838",
224 | "绿毛虫": "10",
225 | "时拉比": "251",
226 | "焚焰蚣": "851",
227 | "水晶灯火灵": "609",
228 | "喷火龙": "6",
229 | "虫电宝": "737",
230 | "小火龙": "4",
231 | "火恐龙": "5",
232 | "樱花儿": "421",
233 | "樱花宝": "420",
234 | "咬咬龟": "833",
235 | "灯笼鱼": "170",
236 | "奇诺栗鼠": "573",
237 | "闪焰王牌": "815",
238 | "念力土偶": "344",
239 | "皮可西": "36",
240 | "皮皮": "35",
241 | "皮宝宝": "173",
242 | "拳拳蛸": "852",
243 | "刺甲贝": "91",
244 | "巨炭山": "839",
245 | "勾帕路翁": "638",
246 | "死神棺": "563",
247 | "三蜜蜂": "415",
248 | "修建老匠": "534",
249 | "大王铜象": "879",
250 | "龙虾小兵": "341",
251 | "太阳珊瑚 (伽勒尔的样子)": "222.1",
252 | "太阳珊瑚": "222",
253 | "钢铠鸦": "823",
254 | "蓝鸦": "822",
255 | "科斯莫姆": "790",
256 | "科斯莫古": "789",
257 | "木棉球": "546",
258 | "古月鸟": "845",
259 | "铁螯龙虾": "342",
260 | "不良蛙": "453",
261 | "岩殿居蟹": "558",
262 | "喷嚏熊": "613",
263 | "铜象": "878",
264 | "魔灵珊瑚": "864",
265 | "萌虻": "742",
266 | "达摩狒狒 (达摩模式)": "555.1",
267 | "达摩狒狒 (伽勒尔的样子)": "555.2",
268 | "达摩狒狒 (伽勒尔 达摩)": "555.3",
269 | "达摩狒狒": "555",
270 | "投羽枭": "723",
271 | "火红不倒翁 1": "993",
272 | "火红不倒翁": "554",
273 | "狙射树枭": "724",
274 | "单首龙": "633",
275 | "信使鸟": "225",
276 | "滴蛛": "751",
277 | "破破舵轮": "781",
278 | "掘地兔": "660",
279 | "地鼠 (阿罗拉的样子)": "50.1",
280 | "地鼠": "50",
281 | "百变怪": "132",
282 | "天罩虫": "825",
283 | "双剑鞘": "680",
284 | "鳃鱼龙": "882",
285 | "雷鸟龙": "880",
286 | "多龙巴鲁托": "887",
287 | "多龙奇": "886",
288 | "老翁龙": "780",
289 | "龙王蝎": "452",
290 | "暴噬龟": "834",
291 | "多龙梅西亚": "885",
292 | "随风球": "426",
293 | "飘飘球": "425",
294 | "螺钉地鼠": "529",
295 | "变涩蜥": "817",
296 | "毛毛角羊": "832",
297 | "三地鼠 (阿罗拉的样子)": "51.1",
298 | "三地鼠": "51",
299 | "双卵细胞球": "578",
300 | "铝钢龙": "884",
301 | "铁蚁": "632",
302 | "彷徨夜灵": "356",
303 | "黑夜魔灵": "477",
304 | "夜巡灵": "355",
305 | "石居蟹": "557",
306 | "伊布": "133",
307 | "冰砌鹅 (解冻头)": "875.1",
308 | "冰砌鹅": "875",
309 | "白蓬蓬": "830",
310 | "落雷兽": "309",
311 | "小灰怪": "605",
312 | "骑士蜗牛": "589",
313 | "太阳伊布": "196",
314 | "妙喵": "677",
315 | "无极汰那": "890",
316 | "龙头地鼠": "530",
317 | "列阵兵": "870",
318 | "大葱鸭 (伽勒尔的样子)": "83.1",
319 | "大葱鸭": "83",
320 | "丑丑鱼": "349",
321 | "种子铁球": "597",
322 | "坚果哑铃": "598",
323 | "苹裹龙": "841",
324 | "火伊布": "136",
325 | "沙漠蜻蜓": "330",
326 | "斧牙龙": "611",
327 | "轻飘飘": "592",
328 | "雪妖女": "478",
329 | "雪绒蛾": "873",
330 | "艾路雷朵": "475",
331 | "电蜘蛛": "596",
332 | "灰尘山": "569",
333 | "沙奈朵": "282",
334 | "鬼斯": "92",
335 | "海兔兽 (东海)": "423.2",
336 | "海兔兽": "423",
337 | "耿鬼": "94",
338 | "庞岩怪": "526",
339 | "冰伊布": "471",
340 | "冰鬼护": "362",
341 | "臭臭花": "44",
342 | "角金鱼": "118",
343 | "泥偶小人": "622",
344 | "具甲武者": "768",
345 | "泥偶巨人": "623",
346 | "黏美龙": "706",
347 | "黏黏宝": "704",
348 | "幼棉棉": "829",
349 | "哥德宝宝": "574",
350 | "哥德小姐": "576",
351 | "哥德小童": "575",
352 | "南瓜怪人 (小尺寸)": "711.1",
353 | "南瓜怪人 (大尺寸)": "711.2",
354 | "南瓜怪人 (特大尺寸)": "711.3",
355 | "南瓜怪人": "711",
356 | "八爪武师": "853",
357 | "藏饱栗鼠": "820",
358 | "长毛巨魔": "861",
359 | "敲音猴": "810",
360 | "卡蒂狗": "58",
361 | "强颚鸡母虫": "736",
362 | "铁骨土人": "533",
363 | "暴鲤龙": "130",
364 | "鳞甲龙": "783",
365 | "迷布莉姆": "856",
366 | "布莉姆温": "858",
367 | "提布莉姆": "857",
368 | "鬼斯通": "93",
369 | "摔角鹰人": "701",
370 | "双斧战龙": "612",
371 | "熔蚁兽": "631",
372 | "光电伞蜥": "695",
373 | "伞电蜥": "694",
374 | "沙河马": "449",
375 | "河马兽": "450",
376 | "快拳郎": "107",
377 | "飞腿郎": "106",
378 | "战舞郎": "237",
379 | "独剑鞘": "679",
380 | "咕咕": "163",
381 | "三首恶龙": "635",
382 | "捣蛋小妖": "859",
383 | "炽焰咆哮虎": "727",
384 | "爱管侍 (雌性的样子)": "876.1",
385 | "爱管侍": "876",
386 | "好啦鱿": "686",
387 | "千面避役": "818",
388 | "妙蛙草": "2",
389 | "心鳞宝": "782",
390 | "胖嘟嘟": "593",
391 | "基拉祈": "385",
392 | "雷伊布": "135",
393 | "电电虫": "595",
394 | "盖盖虫": "588",
395 | "凯路迪欧": "647",
396 | "巨钳蟹": "99",
397 | "奇鲁莉安": "281",
398 | "齿轮组": "600",
399 | "齿轮儿": "599",
400 | "齿轮怪": "601",
401 | "瓦斯弹": "109",
402 | "杖尾鳞甲龙": "784",
403 | "大钳蟹": "98",
404 | "酋雷姆 (焰白酋雷姆)": "646.1",
405 | "酋雷姆 (暗黑酋雷姆)": "646.2",
406 | "酋雷姆": "646",
407 | "灯火幽灵": "608",
408 | "电灯怪": "171",
409 | "拉普拉斯": "131",
410 | "幼基拉斯": "246",
411 | "叶伊布": "470",
412 | "酷豹": "510",
413 | "直冲熊 (伽勒尔的样子)": "264.1",
414 | "直冲熊": "264",
415 | "火斑喵": "725",
416 | "烛光灵": "607",
417 | "莲帽小童": "271",
418 | "莲叶童子": "270",
419 | "路卡利欧": "448",
420 | "乐天河童": "272",
421 | "露奈雅拉": "792",
422 | "月石": "337",
423 | "怪力": "68",
424 | "豪力": "67",
425 | "腕力": "66",
426 | "鲤鱼王": "129",
427 | "乌贼王": "687",
428 | "象牙猪": "473",
429 | "秃鹰娜": "630",
430 | "雷电兽": "310",
431 | "巨翅飞鱼": "226",
432 | "小球飞鱼": "458",
433 | "沙铃仙人掌": "556",
434 | "好坏星": "747",
435 | "玛夏多": "802",
436 | "大嘴娃": "303",
437 | "美录梅塔": "809",
438 | "美录坦": "808",
439 | "超能妙喵 (雌性的样子)": "678.1",
440 | "超能妙喵": "678",
441 | "喵喵 (阿罗拉的样子)": "52.1",
442 | "喵喵 (伽勒尔的样子)": "52.2",
443 | "喵喵": "52",
444 | "铁甲蛹": "11",
445 | "梦幻": "151",
446 | "超梦": "150",
447 | "小仙奶": "868",
448 | "美纳斯": "350",
449 | "魔尼尼": "439",
450 | "谜拟Q (现形的样子)": "778.1",
451 | "谜拟Q": "778",
452 | "泡沫栗鼠": "572",
453 | "睡睡菇": "755",
454 | "诈唬魔": "860",
455 | "莫鲁贝可 (空腹花纹)": "877.1",
456 | "莫鲁贝可": "877",
457 | "魔墙人偶 (伽勒尔的样子)": "122.1",
458 | "魔墙人偶": "122",
459 | "踏冰人偶": "866",
460 | "泥驴仔": "749",
461 | "重泥挽马": "750",
462 | "小卡比兽": "446",
463 | "食梦梦": "517",
464 | "梦梦蚀": "518",
465 | "天然雀": "177",
466 | "奈克洛兹玛 (黄昏之鬃)": "800.1",
467 | "奈克洛兹玛 (拂晓之翼)": "800.2",
468 | "奈克洛兹玛": "800",
469 | "偷儿狐": "827",
470 | "土居忍士": "290",
471 | "九尾 (阿罗拉的样子)": "38.1",
472 | "九尾": "38",
473 | "铁面忍者": "291",
474 | "猫头夜鹰": "164",
475 | "嗡蝠": "714",
476 | "音波龙": "715",
477 | "长鼻叶": "274",
478 | "堵拦熊": "862",
479 | "章鱼桶": "224",
480 | "走路草": "43",
481 | "大岩蛇": "95",
482 | "智挥猩": "765",
483 | "以欧路普": "826",
484 | "蓝蟾蜍": "536",
485 | "顽皮熊猫": "674",
486 | "流氓熊猫": "675",
487 | "投掷猴": "766",
488 | "驹刀小兵": "624",
489 | "大嘴鸥": "279",
490 | "喵头目": "863",
491 | "猫老大 (阿罗拉的样子)": "53.1",
492 | "猫老大": "53",
493 | "小木灵": "708",
494 | "皮丘": "172",
495 | "豆豆鸽": "519",
496 | "皮卡丘": "25",
497 | "长毛猪": "221",
498 | "啪嚓海胆": "871",
499 | "怖思壶": "855",
500 | "小火马 (伽勒尔的样子)": "77.1",
501 | "小火马": "77",
502 | "球球海狮": "728",
503 | "西狮海壬": "730",
504 | "南瓜精 (小尺寸)": "710.1",
505 | "南瓜精 (大尺寸)": "710.2",
506 | "南瓜精 (特大尺寸)": "710.3",
507 | "南瓜精": "710",
508 | "沙基拉斯": "247",
509 | "扒手猫": "509",
510 | "拳海参": "771",
511 | "沼王": "195",
512 | "千针鱼": "211",
513 | "腾蹴小将": "814",
514 | "雷丘 (阿罗拉的样子)": "26.1",
515 | "雷丘": "26",
516 | "拉鲁拉丝": "280",
517 | "烈焰马 (伽勒尔的样子)": "78.1",
518 | "烈焰马": "78",
519 | "铁炮鱼": "223",
520 | "莱希拉姆": "643",
521 | "人造细胞卵": "579",
522 | "钻角犀兽": "112",
523 | "独角犀牛": "111",
524 | "超甲狂犀": "464",
525 | "蝶结萌虻": "743",
526 | "轰擂金刚猩": "812",
527 | "利欧路": "447",
528 | "石丸子": "524",
529 | "小炭仔": "837",
530 | "稚山雀": "821",
531 | "毒蔷薇": "315",
532 | "罗丝雷朵": "407",
533 | "洛托姆 (加热洛托姆)": "479.1",
534 | "洛托姆 (结冰洛托姆)": "479.2",
535 | "洛托姆 (清洗洛托姆)": "479.3",
536 | "洛托姆 (旋转洛托姆)": "479.4",
537 | "洛托姆 (切割洛托姆)": "479.5",
538 | "洛托姆": "479",
539 | "木木枭": "722",
540 | "毛头小鹰": "627",
541 | "死神板": "867",
542 | "勾魂眼": "302",
543 | "夜盗火蜥": "757",
544 | "焰后蜥": "758",
545 | "沙螺蟒": "844",
546 | "打击鬼": "539",
547 | "炎兔儿": "813",
548 | "头巾混混": "560",
549 | "滑滑小子": "559",
550 | "金鱼王": "119",
551 | "橡实果": "273",
552 | "蟾蜍王": "537",
553 | "脱壳忍者": "292",
554 | "大舌贝": "90",
555 | "无壳海兔 (东海)": "422.1",
556 | "无壳海兔": "422",
557 | "小嘴蜗": "616",
558 | "狡猾天狗": "275",
559 | "灯罩夜菇": "756",
560 | "壶壶": "213",
561 | "象征鸟": "561",
562 | "沙包蛇": "843",
563 | "银伴战兽": "773",
564 | "来悲茶": "854",
565 | "葱游兵": "865",
566 | "烧火蚣": "850",
567 | "钳尾蝎": "451",
568 | "坦克臭鼬": "435",
569 | "贪心栗鼠": "819",
570 | "黏美儿": "705",
571 | "胖甜妮": "685",
572 | "狃拉": "215",
573 | "雪吞虫": "872",
574 | "卡比兽": "143",
575 | "雪童子": "361",
576 | "雪笠怪": "459",
577 | "泪眼蜥": "816",
578 | "索尔迦雷欧": "791",
579 | "单卵细胞球": "577",
580 | "太阳岩": "338",
581 | "粉香香": "682",
582 | "杰尼龟": "7",
583 | "大钢蛇": "208",
584 | "甜舞妮": "762",
585 | "巨石丁": "874",
586 | "童偶熊": "759",
587 | "泥巴鱼 (伽勒尔的样子)": "618.1",
588 | "泥巴鱼": "618",
589 | "臭鼬噗": "434",
590 | "树才怪": "185",
591 | "小山猪": "220",
592 | "绵绵泡芙": "684",
593 | "心蝙蝠": "528",
594 | "仙子伊布": "700",
595 | "代拉基翁": "639",
596 | "狐大盗": "828",
597 | "投摔鬼": "538",
598 | "啪咚猴": "811",
599 | "搬运小匠": "532",
600 | "托戈德玛尔": "777",
601 | "波克基斯": "468",
602 | "波克比": "175",
603 | "波克基古": "176",
604 | "煤炭龟": "324",
605 | "炎热喵": "726",
606 | "超坏星": "748",
607 | "毒电婴": "848",
608 | "毒骷蛙": "454",
609 | "颤弦蝾螈 (低调的样子)": "1154",
610 | "颤弦蝾螈": "849",
611 | "咕咕鸽": "520",
612 | "大颚蚁": "328",
613 | "朽木妖": "709",
614 | "破破袋": "568",
615 | "甜冷美后": "763",
616 | "爆焰龟兽": "776",
617 | "圆蝌蚪": "535",
618 | "属性:空": "772",
619 | "班基拉斯": "248",
620 | "无畏小子": "236",
621 | "月亮伊布": "197",
622 | "高傲雉鸡": "521",
623 | "多多冰": "583",
624 | "迷你冰": "582",
625 | "双倍多多冰": "584",
626 | "水伊布": "134",
627 | "妙蛙花": "3",
628 | "蜂女王": "416",
629 | "超音波幼虫": "329",
630 | "锹农炮虫": "738",
631 | "霸王花": "45",
632 | "毕力吉翁": "640",
633 | "秃鹰丫头": "629",
634 | "六尾 (阿罗拉的样子)": "37.1",
635 | "六尾": "37",
636 | "吼吼鲸": "320",
637 | "吼鲸王": "321",
638 | "卡咪龟": "8",
639 | "玛狃拉": "461",
640 | "双弹瓦斯 (伽勒尔的样子)": "110.1",
641 | "双弹瓦斯": "110",
642 | "风妖精": "547",
643 | "鲶鱼王": "340",
644 | "胆小虫": "767",
645 | "长翅鸥": "278",
646 | "弱丁鱼 (鱼群的样子)": "746.1",
647 | "弱丁鱼": "746",
648 | "果然翁": "202",
649 | "滚滚蝙蝠": "527",
650 | "毛辫羊": "831",
651 | "乌波": "194",
652 | "小果然": "360",
653 | "天然鸟": "178",
654 | "哭哭面具 (伽勒尔的样子)": "562.1",
655 | "哭哭面具": "562",
656 | "来电汪": "835",
657 | "苍响 (剑之王)": "888.1",
658 | "苍响": "888",
659 | "藏玛然特 (盾之王)": "889.1",
660 | "藏玛然特": "889",
661 | "捷克罗姆": "644",
662 | "捷拉奥拉": "807",
663 | "蛇纹熊 (伽勒尔的样子)": "263.1",
664 | "蛇纹熊": "263",
665 | "双首暴龙": "634",
666 | "岩狗狗 (我行我素)": "744.1",
667 | "鬃岩狼人 (白昼的样子)": "745",
668 | "鬃岩狼人 (黑夜的样子)": "745.1",
669 | "鬃岩狼人 (黄昏的样子)": "745.2",
670 | },
671 | "Den": {
672 | " 0:活动巢穴":"-1",
673 | " 1:煦丽草原 D":"0",
674 | " 2:煦丽草原 C":"1",
675 | " 3:煦丽草原 B":"2",
676 | " 4:煦丽草原 H":"3",
677 | " 5:煦丽草原 G":"4",
678 | " 6:煦丽草原 I":"5",
679 | " 7:煦丽草原 E":"6",
680 | " 8:煦丽草原 A":"7",
681 | " 9:煦丽草原 F":"8",
682 | " 10:沐光森林 E":"9",
683 | " 11:沐光森林 A":"10",
684 | " 12:沐光森林 B":"11",
685 | " 13:沐光森林 D":"12",
686 | " 14:沐光森林 C":"13",
687 | " 15:瞭望塔旧址 C":"14",
688 | " 16:瞭望塔旧址 A":"15",
689 | " 17:瞭望塔旧址 B [无用]":"15",
690 | " 18:牙牙湖东岸 E":"17",
691 | " 19:牙牙湖东岸 B":"18",
692 | " 20:牙牙湖东岸 C":"19",
693 | " 21:牙牙湖东岸 D":"20",
694 | " 22:牙牙湖西岸 D":"21",
695 | " 23:牙牙湖西岸 B":"22",
696 | " 24:牙牙湖西岸 E":"23",
697 | " 25:牙牙湖西岸 F":"24",
698 | " 26:牙牙湖西岸 C":"25",
699 | " 27:牙牙湖西岸 A":"26",
700 | " 28:牙牙湖之眼 A":"27",
701 | " 29:美纳斯湖南岸 C":"28",
702 | " 30:美纳斯湖南岸 D":"29",
703 | " 31:美纳斯湖南岸 E":"30",
704 | " 32:美纳斯湖南岸 B":"31",
705 | " 33:美纳斯湖南岸 A":"32",
706 | " 34:巨人凳岩 D":"33",
707 | " 35:巨人凳岩 C":"34",
708 | " 36:巨人凳岩 B":"35",
709 | " 37:巨人凳岩 E":"36",
710 | " 38:巨人凳岩 A":"37",
711 | " 39:美纳斯湖北岸 C":"38",
712 | " 40:美纳斯湖北岸 F":"39",
713 | " 41:美纳斯湖北岸 B":"40",
714 | " 42:美纳斯湖北岸 E":"41",
715 | " 43:美纳斯湖北岸 A":"42",
716 | " 44:牙牙湖东岸 A":"43",
717 | " 45:美纳斯湖北岸 D":"44",
718 | " 46:机擎河岸 B":"45",
719 | " 47:机擎河岸 A":"46",
720 | " 48:机擎河岸 C":"47",
721 | " 49:机擎河岸 D":"48",
722 | " 50:桥间空地 E":"49",
723 | " 51:桥间空地 H":"50",
724 | " 52:桥间空地 F":"51",
725 | " 53:桥间空地 I":"52",
726 | " 54:桥间空地 B":"53",
727 | " 55:桥间空地 D":"54",
728 | " 56:桥间空地 A":"55",
729 | " 57:桥间空地 C":"56",
730 | " 58:桥间空地 G":"57",
731 | " 59:巨石原野 J":"58",
732 | " 60:巨石原野 C":"59",
733 | " 61:巨石原野 L":"60",
734 | " 62:巨石原野 A":"61",
735 | " 63:巨石原野 B":"62",
736 | " 64:巨石原野 D":"63",
737 | " 65:巨石原野 F":"64",
738 | " 66:巨石原野 K":"65",
739 | " 67:巨石原野 H":"66",
740 | " 68:巨石原野 I":"67",
741 | " 69:巨石原野 G":"68",
742 | " 70:巨石原野 E":"69",
743 | " 71:沙尘洼地 G":"70",
744 | " 72:沙尘洼地 C":"71",
745 | " 73:沙尘洼地 A":"72",
746 | " 74:沙尘洼地 B":"73",
747 | " 75:沙尘洼地 D":"74",
748 | " 76:沙尘洼地 I":"75",
749 | " 77:沙尘洼地 E":"76",
750 | " 78:沙尘洼地 F":"77",
751 | " 79:巨人镜池 E":"78",
752 | " 80:沙尘洼地 H":"79",
753 | " 81:巨人镜池 D":"80",
754 | " 82:巨人镜池 B":"81",
755 | " 83:巨人镜池 A":"82",
756 | " 84:巨人镜池 C":"83",
757 | " 85:拳关丘陵 F":"84",
758 | " 86:拳关丘陵 E":"85",
759 | " 87:拳关丘陵 B":"86",
760 | " 88:拳关丘陵 D":"87",
761 | " 89:拳关丘陵 A":"88",
762 | " 90:拳关丘陵 C":"89",
763 | " 91:拳关丘陵 G":"90",
764 | " 92:巨人帽岩 E":"91",
765 | " 93:巨人帽岩 C":"92",
766 | " 94:巨人帽岩 D":"93",
767 | " 95:巨人帽岩 A":"94",
768 | " 96:巨人帽岩 B":"95",
769 | " 97:逆鳞湖 D":"96",
770 | " 98:逆鳞湖 A":"97",
771 | " 99:逆鳞湖 C":"98",
772 | "100:逆鳞湖 B":"99",
773 | "[铠岛] 揖礼原野 1": "100",
774 | "[铠岛] 揖礼原野 2": "101",
775 | "[铠岛] 揖礼原野 3": "102",
776 | "[铠岛] 揖礼原野 4": "103",
777 | "[铠岛] 揖礼原野 5": "104",
778 | "[铠岛] 揖礼原野 6": "105",
779 | "[铠岛] 揖礼原野 7": "106",
780 | "[铠岛] 揖礼原野 8": "107",
781 | "[铠岛] 揖礼原野 9": "108",
782 | "[铠岛] 揖礼原野 10": "109",
783 | "[铠岛] 清凉湿原 1": "110",
784 | "[铠岛] 清凉湿原 2": "111",
785 | "[铠岛] 清凉湿原 3": "112",
786 | "[铠岛] 清凉湿原 4": "113",
787 | "[铠岛] 清凉湿原 5": "114",
788 | "[铠岛] 清凉湿原 6": "115",
789 | "[铠岛] 清凉湿原 7": "116",
790 | "[铠岛] 清凉湿原 8": "117",
791 | "[铠岛] 清凉湿原 9": "118",
792 | "[铠岛] 战斗洞窟 1": "119",
793 | "[铠岛] 挑战之路 1": "120",
794 | "[铠岛] 挑战之路 2": "121",
795 | "[铠岛] 挑战之路 3": "122",
796 | "[铠岛] 挑战之路 4": "123",
797 | "[铠岛] 专注森林 1": "124",
798 | "[铠岛] 专注森林 2": "125",
799 | "[铠岛] 专注森林 3": "126",
800 | "[铠岛] 专注森林 4": "127",
801 | "[铠岛] 专注森林 5": "128",
802 | "[铠岛] 专注森林 6": "129",
803 | "[铠岛] 锻炼平原 1": "130",
804 | "[铠岛] 锻炼平原 2": "131",
805 | "[铠岛] 锻炼平原 3": "132",
806 | "[铠岛] 锻炼平原 4": "133",
807 | "[铠岛] 锻炼平原 5": "134",
808 | "[铠岛] 锻炼平原 6": "135",
809 | "[铠岛] 锻炼平原 7": "136",
810 | "[铠岛] 锅底沙漠 1": "137",
811 | "[铠岛] 锅底沙漠 2": "138",
812 | "[铠岛] 锅底沙漠 3": "139",
813 | "[铠岛] 蜂巢海 1": "140",
814 | "[铠岛] 蜂巢海 2": "141",
815 | "[铠岛] 蜂巢海 3": "142",
816 | "[铠岛] 蜂巢海 4": "143",
817 | "[铠岛] 蜂巢海 5": "144",
818 | "[铠岛] 蜂巢岛 1": "145",
819 | "[铠岛] 蜂巢岛 2": "146",
820 | "[铠岛] 蜂巢岛 3": "147",
821 | "[铠岛] 蜂巢岛 4": "148",
822 | "[铠岛] 蜂巢岛 5": "149",
823 | "[铠岛] 蜂巢岛 6": "150",
824 | "[铠岛] 挑战海滩 1": "151",
825 | "[铠岛] 挑战海滩 2": "152",
826 | "[铠岛] 挑战海滩 3": "153",
827 | "[铠岛] 挑战海滩 4": "154",
828 | "[铠岛] 挑战海滩 5": "155",
829 | "[铠岛] 挑战海滩 6": "156",
830 | "[铠岛] 挑战海滩 7": "157",
831 | "[铠岛] 挑战海滩 8": "158",
832 | "[铠岛] 离岛海域 1": "159",
833 | "[铠岛] 离岛海域 2": "160",
834 | "[铠岛] 离岛海域 3": "161",
835 | "[铠岛] 离岛海域 4": "162",
836 | "[铠岛] 离岛海域 5": "163",
837 | "[铠岛] 列岛海域 1": "164",
838 | "[铠岛] 列岛海域 2": "165",
839 | "[铠岛] 列岛海域 3": "166",
840 | "[铠岛] 列岛海域 4": "167",
841 | "[铠岛] 列岛海域 5": "168",
842 | "[铠岛] 列岛海域 6": "169",
843 | "[铠岛] 列岛海域 7": "170",
844 | "[铠岛] 列岛海域 8": "171",
845 | "[铠岛] 列岛海域 9": "172",
846 | "[铠岛] 斗志洞窟 1": "173",
847 | "[铠岛] 斗志洞窟 2": "174",
848 | "[铠岛] 斗志洞窟 3": "175",
849 | "[铠岛] 斗志洞窟 4": "176",
850 | "[铠岛] 斗志洞窟 5": "177",
851 | "[铠岛] 斗志洞窟 6": "178",
852 | "[铠岛] 圆环海湾 1": "179",
853 | "[铠岛] 圆环海湾 2": "180",
854 | "[铠岛] 圆环海湾 3": "181",
855 | "[铠岛] 圆环海湾 4": "182",
856 | "[铠岛] 健身之海 1": "183",
857 | "[铠岛] 健身之海 2": "184",
858 | "[铠岛] 健身之海 3": "185",
859 | "[铠岛] 健身之海 4": "186",
860 | "[铠岛] 健身之海 5": "187",
861 | "[铠岛] 健身之海 6": "188",
862 | "[铠岛] 健身之海 7": "189",
863 | "[CT] Slippery Slope 1": "190",
864 | "[CT] Slippery Slope 2": "191",
865 | "[CT] Slippery Slope 3": "192",
866 | "[CT] Slippery Slope 4": "193",
867 | "[CT] Slippery Slope 5": "194",
868 | "[CT] Slippery Slope 6": "195",
869 | "[CT] Frostpoint Field 1": "196",
870 | "[CT] Frostpoint Field 2": "197",
871 | "[CT] Frostpoint Field 3": "198",
872 | "[CT] Frostpoint Field 4": "199",
873 | "[CT] Frostpoint Field 5": "200",
874 | "[CT] Giant\'s Bed 1": "201",
875 | "[CT] Giant\'s Bed 2": "202",
876 | "[CT] Giant\'s Bed 3": "203",
877 | "[CT] Giant\'s Bed 4": "204",
878 | "[CT] Giant\'s Bed 5": "205",
879 | "[CT] Giant\'s Bed 6": "206",
880 | "[CT] Giant\'s Bed 7": "207",
881 | "[CT] Giant\'s Bed 8": "208",
882 | "[CT] Giant\'s Bed 9": "209",
883 | "[CT] Giant\'s Bed 10": "210",
884 | "[CT] Giant\'s Bed 11": "211",
885 | "[CT] Giant\'s Bed 12": "212",
886 | "[CT] Giant\'s Bed 13": "213",
887 | "[CT] Giant\'s Bed 14": "214",
888 | "[CT] Giant\'s Bed 15": "215",
889 | "[CT] Giant\'s Bed 16": "216",
890 | "[CT] Giant\'s Bed 17": "217",
891 | "[CT] Giant\'s Bed 18": "218",
892 | "[CT] Giant\'s Bed 19": "219",
893 | "[CT] Giant\'s Bed 20": "220",
894 | "[CT] Giant\'s Bed 21": "221",
895 | "[CT] Old Cemetery 1": "222",
896 | "[CT] Old Cemetery 2": "223",
897 | "[CT] Snowslide Slope 1": "224",
898 | "[CT] Snowslide Slope 2": "225",
899 | "[CT] Snowslide Slope 3": "226",
900 | "[CT] Snowslide Slope 4": "227",
901 | "[CT] Snowslide Slope 5": "228",
902 | "[CT] Snowslide Slope 6": "229",
903 | "[CT] Snowslide Slope 7": "230",
904 | "[CT] Snowslide Slope 8": "231",
905 | "[CT] Snowslide Slope 9": "232",
906 | "[CT] Path to the Peak 1": "233",
907 | "[CT] Path to the Peak 2": "234",
908 | "[CT] Path to the Peak 3": "235",
909 | "[CT] Crown Shrine 1": "236",
910 | "[CT] Giant\'s Foot 1": "237",
911 | "[CT] Giant\'s Foot 2": "238",
912 | "[CT] Giant\'s Foot 3": "239",
913 | "[CT] Giant\'s Foot 4": "240",
914 | "[CT] Giant\'s Foot 5": "241",
915 | "[CT] Frigid Sea 1": "242",
916 | "[CT] Frigid Sea 2": "243",
917 | "[CT] Frigid Sea 3": "244",
918 | "[CT] Frigid Sea 4": "245",
919 | "[CT] Frigid Sea 5": "246",
920 | "[CT] Frigid Sea 6": "247",
921 | "[CT] Frigid Sea 7": "248",
922 | "[CT] Frigid Sea 8": "249",
923 | "[CT] Frigid Sea 9": "250",
924 | "[CT] Frigid Sea 10": "251",
925 | "[CT] Frigid Sea 11": "252",
926 | "[CT] Frigid Sea 12": "253",
927 | "[CT] Frigid Sea 13": "254",
928 | "[CT] Frigid Sea 14": "255",
929 | "[CT] Three-Point Pass 1": "256",
930 | "[CT] Three-Point Pass 2": "257",
931 | "[CT] Ballimere Lake 1": "258",
932 | "[CT] Ballimere Lake 2": "259",
933 | "[CT] Ballimere Lake 3": "260",
934 | "[CT] Ballimere Lake 4": "261",
935 | "[CT] Ballimere Lake 5": "262",
936 | "[CT] Ballimere Lake 6": "263",
937 | "[CT] Ballimere Lake 7": "264",
938 | "[CT] Ballimere Lake 8": "265",
939 | "[CT] Ballimere Lake 9": "266",
940 | "[CT] Ballimere Lake 10": "267",
941 | "[CT] Ballimere Lake 11": "268",
942 | "[CT] Ballimere Lake 12": "269",
943 | "[CT] Ballimere Lake 13": "270",
944 | "[CT] Ballimere Lake 14": "271",
945 | "[CT] Ballimere Lake 15": "272",
946 | "[CT] Ballimere Lake 16": "273",
947 | "[CT] Ballimere Lake 17": "274",
948 | "[CT] Dyna Tree Hill 1": "275",
949 | },
950 | "Version": [
951 | "宝可梦-剑",
952 | "宝可梦-盾",
953 | ],
954 | "DenRarity": [
955 | "红光",
956 | "紫光",
957 | ],
958 | }
959 |
--------------------------------------------------------------------------------