From 9567667ec7044843eddaef31af4bf2ff9dc30ed2 Mon Sep 17 00:00:00 2001
From: Jelle <60387522+JelleInfinity@users.noreply.github.com>
Date: Tue, 18 Oct 2022 21:22:38 +0200
Subject: [PATCH] Feature update
Add a whole bunch of extra editors
Set some default parameters
Add some drop downs
Add a whole bunch of hashes (Thanks to @mvit)
---
pkNX.Game/File/GameFile.cs | 17 +
pkNX.Game/File/GameFileMapping.cs | 48 +-
pkNX.Game/GameManagerPLA.cs | 133 ++-
.../Arceus/Poke/Model Set/PokeModelSet8a.cs | 32 +
.../Arceus/Poke/Model Set/PokeModelType8a.cs | 792 +++++++++---------
.../Poke/Model Set/PokeResidentType8a.cs | 6 +-
.../Arceus/Poke/PokeAIArchive8a.cs | 90 +-
.../Arceus/Poke/PokeBattleSpawnArchive8a.cs | 34 +
.../Arceus/Poke/PokeBodyParticleArchive8a.cs | 43 +
.../Poke/PokeCaptureCollisionArchive8a.cs | 44 +
.../Poke/PokeDefaultLocatorArchive8a.cs | 33 +
.../Arceus/Pokedex/PokedexResearchTable.cs | 29 +-
.../Arceus/Util/ArchiveContents8a.cs | 26 +-
.../Converters/AIBehaviourConverter.cs | 39 +
pkNX.WinForms/MainEditor/EditorPLA.cs | 33 +
15 files changed, 946 insertions(+), 453 deletions(-)
create mode 100644 pkNX.Structures.FlatBuffers/Arceus/Poke/PokeBattleSpawnArchive8a.cs
create mode 100644 pkNX.Structures.FlatBuffers/Arceus/Poke/PokeBodyParticleArchive8a.cs
create mode 100644 pkNX.Structures.FlatBuffers/Arceus/Poke/PokeCaptureCollisionArchive8a.cs
create mode 100644 pkNX.Structures.FlatBuffers/Arceus/Poke/PokeDefaultLocatorArchive8a.cs
create mode 100644 pkNX.Structures/Converters/AIBehaviourConverter.cs
diff --git a/pkNX.Game/File/GameFile.cs b/pkNX.Game/File/GameFile.cs
index 9f53d8b4..94e0b22b 100644
--- a/pkNX.Game/File/GameFile.cs
+++ b/pkNX.Game/File/GameFile.cs
@@ -179,8 +179,11 @@ public enum GameFile
/// Symbol Behavior Definition
SymbolBehave,
+ ArchiveFolder,
+
/// Area Resident Archive
Resident,
+ archive_contents,
/// "PokeEncount" Rate Multipler Archive
EncounterRateTable,
@@ -196,6 +199,7 @@ public enum GameFile
/// All pokedex research tasks
DexResearch,
+ DexFormStorage,
DexRank,
ThrowParam,
@@ -336,5 +340,18 @@ public enum GameFile
WaterMotion,
PokemonResourceList,
+ PokeBodyParticle,
+ PokeCaptureCollision,
PokemonResourceTable,
+ PokeBattleSpawn,
+ PokeDefaultLocator,
+ PokeEatingHabits,
+ MoveObstructionLegend,
+ MoveObstructionLegendEffect,
+ MoveObstructionSE,
+ MoveObstructionWild,
+ MoveObstructionWildEffect,
+ MoveObstructionWater,
+ MoveObstructionWaterEffect,
+ NushiBattleSettings,
}
diff --git a/pkNX.Game/File/GameFileMapping.cs b/pkNX.Game/File/GameFileMapping.cs
index 79a1ad1c..0612e5c2 100644
--- a/pkNX.Game/File/GameFileMapping.cs
+++ b/pkNX.Game/File/GameFileMapping.cs
@@ -1,9 +1,9 @@
+using pkNX.Containers;
+using pkNX.Structures;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading;
-using pkNX.Containers;
-using pkNX.Structures;
namespace pkNX.Game;
@@ -212,13 +212,16 @@ internal void SaveAll()
new(GameFile.StoryText8, 9, "bin", "message", "Simp_Chinese", "script"),
new(GameFile.StoryText9, 10, "bin", "message", "Trad_Chinese", "script"),
+ new(GameFile.DexFormStorage , ContainerType.SingleFile, "bin", "appli", "pokedex", "res_table", "pokedex_form_storage_index_table.bin"),
new(GameFile.DexRank , ContainerType.SingleFile, "bin", "appli", "pokedex", "res_table", "pokedex_rank_table.bin"),
new(GameFile.DexResearch , ContainerType.SingleFile, "bin", "appli", "pokedex", "res_table", "pokedex_research_task_table.bin"),
new(GameFile.PokemonResourceList , ContainerType.SingleFile, "bin", "appli", "res_pokemon", "list", "pokemon_info_list.bin"),
new(GameFile.MoveShop , ContainerType.SingleFile, "bin", "appli", "wazaremember", "bin", "wazashop_table.bin"),
new(GameFile.HaShop , ContainerType.SingleFile, "bin", "appli", "shop", "bin", "ha_shop_data.bin"),
+ new(GameFile.ArchiveFolder , "bin", "archive"),
new(GameFile.Resident , ContainerType.GFPack , "bin", "archive", "field", "resident_release.gfpak"),
+ new(GameFile.archive_contents , ContainerType.SingleFile, "bin", "archive", "archive_contents.bin"),
new(GameFile.ThrowParam , ContainerType.SingleFile, "bin", "capture", "throw_param_table.bin"),
new(GameFile.ThrowPermissionSet , ContainerType.SingleFile, "bin", "capture", "throw_permissionset_dictionary.bin"),
@@ -342,22 +345,35 @@ internal void SaveAll()
new(GameFile.SoundConfig , ContainerType.SingleFile, "bin", "misc", "app_config", "sound_config.bin"),
new(GameFile.WaterMotion , ContainerType.SingleFile, "bin", "misc", "app_config", "water_motion.bin"),
- new(GameFile.MoveStats , "bin", "pml", "waza"),
- new(GameFile.ItemStats , ContainerType.SingleFile, "bin", "pml", "item", "item.dat"),
- new(GameFile.Evolutions , ContainerType.SingleFile, "bin", "pml", "evolution", "evolution_data_total.evobin"),
- new(GameFile.PersonalStats , ContainerType.SingleFile, "bin", "pml", "personal", "personal_data_total.perbin"),
- new(GameFile.Learnsets , ContainerType.SingleFile, "bin", "pml", "waza_oboe", "waza_oboe_total.wazaoboe"),
+ new(GameFile.MoveStats , "bin", "pml", "waza"),
+ new(GameFile.ItemStats , ContainerType.SingleFile, "bin", "pml", "item", "item.dat"),
+ new(GameFile.Evolutions , ContainerType.SingleFile, "bin", "pml", "evolution", "evolution_data_total.evobin"),
+ new(GameFile.PersonalStats , ContainerType.SingleFile, "bin", "pml", "personal", "personal_data_total.perbin"),
+ new(GameFile.Learnsets , ContainerType.SingleFile, "bin", "pml", "waza_oboe", "waza_oboe_total.wazaoboe"),
- new(GameFile.EncounterGift , ContainerType.SingleFile, "bin", "pokemon", "data", "poke_add.bin"),
- new(GameFile.SymbolBehave , ContainerType.SingleFile, "bin", "pokemon", "data", "poke_ai.bin"),
- new(GameFile.FieldDrops , ContainerType.SingleFile, "bin", "pokemon", "data", "poke_drop_item.bin"),
- new(GameFile.BattleDrops , ContainerType.SingleFile, "bin", "pokemon", "data", "poke_drop_item_battle.bin"),
- new(GameFile.EncounterRateTable , ContainerType.SingleFile, "bin", "pokemon", "data", "poke_encount.bin"),
- new(GameFile.EncounterStatic , ContainerType.SingleFile, "bin", "pokemon", "data", "poke_event_encount.bin"),
- new(GameFile.PokeMisc , ContainerType.SingleFile, "bin", "pokemon", "data", "poke_misc.bin"),
- new(GameFile.PokemonResourceTable , ContainerType.SingleFile, "bin", "pokemon", "table", "poke_resource_table.trpmcatalog"),
+ new(GameFile.EncounterGift , ContainerType.SingleFile, "bin", "pokemon", "data", "poke_add.bin"),
+ new(GameFile.SymbolBehave , ContainerType.SingleFile, "bin", "pokemon", "data", "poke_ai.bin"),
+ new(GameFile.PokeBattleSpawn , ContainerType.SingleFile, "bin", "pokemon", "data", "poke_battle_spawn.bin"),
+ new(GameFile.PokeBodyParticle , ContainerType.SingleFile, "bin", "pokemon", "data", "poke_body_particle.bin"),
+ new(GameFile.PokeCaptureCollision , ContainerType.SingleFile, "bin", "pokemon", "data", "poke_capture_collision.bin"),
+ new(GameFile.PokeDefaultLocator , ContainerType.SingleFile, "bin", "pokemon", "data", "poke_default_locator.trloc"),
+ new(GameFile.FieldDrops , ContainerType.SingleFile, "bin", "pokemon", "data", "poke_drop_item.bin"),
+ new(GameFile.BattleDrops , ContainerType.SingleFile, "bin", "pokemon", "data", "poke_drop_item_battle.bin"),
+ new(GameFile.PokeEatingHabits , ContainerType.SingleFile, "bin", "pokemon", "data", "poke_eating_habits.bin"),
+ new(GameFile.EncounterRateTable , ContainerType.SingleFile, "bin", "pokemon", "data", "poke_encount.bin"),
+ new(GameFile.EncounterStatic , ContainerType.SingleFile, "bin", "pokemon", "data", "poke_event_encount.bin"),
+ new(GameFile.MoveObstructionLegend , ContainerType.SingleFile, "bin", "pokemon", "data", "poke_field_obstruction_waza_ns_legend.bin"),
+ new(GameFile.MoveObstructionLegendEffect , ContainerType.SingleFile, "bin", "pokemon", "data", "poke_field_obstruction_waza_ns_legend_effect.bin"),
+ new(GameFile.MoveObstructionSE , ContainerType.SingleFile, "bin", "pokemon", "data", "poke_field_obstruction_waza_se.bin"),
+ new(GameFile.MoveObstructionWild , ContainerType.SingleFile, "bin", "pokemon", "data", "poke_field_obstruction_waza_wild.bin"),
+ new(GameFile.MoveObstructionWildEffect , ContainerType.SingleFile, "bin", "pokemon", "data", "poke_field_obstruction_waza_wild_effect.bin"),
+ new(GameFile.MoveObstructionWater , ContainerType.SingleFile, "bin", "pokemon", "data", "poke_field_obstruction_waza_wild_water.bin"),
+ new(GameFile.MoveObstructionWaterEffect , ContainerType.SingleFile, "bin", "pokemon", "data", "poke_field_obstruction_waza_wild_water_effect.bin"),
+ new(GameFile.PokeMisc , ContainerType.SingleFile, "bin", "pokemon", "data", "poke_misc.bin"),
+ new(GameFile.NushiBattleSettings , ContainerType.SingleFile, "bin", "pokemon", "data", "poke_nushi_battle_setting.bin"),
+ new(GameFile.PokemonResourceTable , ContainerType.SingleFile, "bin", "pokemon", "table", "poke_resource_table.trpmcatalog"),
- new(GameFile.EncounterTrade , ContainerType.SingleFile, "bin", "script_event_data", "field_trade.bin"), // Incorrect?
+ new(GameFile.EncounterTrade , ContainerType.SingleFile, "bin", "script_event_data", "field_trade.bin"), // Incorrect?
// Cutscenes bin\demo
// Models bin\archive\pokemon
diff --git a/pkNX.Game/GameManagerPLA.cs b/pkNX.Game/GameManagerPLA.cs
index c258eebe..d4b13578 100644
--- a/pkNX.Game/GameManagerPLA.cs
+++ b/pkNX.Game/GameManagerPLA.cs
@@ -1,4 +1,5 @@
using System;
+using System.Collections.Generic;
using System.IO;
using System.Linq;
using pkNX.Containers;
@@ -39,6 +40,135 @@ public override void Initialize()
ResetData();
ItemConverter.ItemNames = GetStrings(TextName.ItemNames);
+
+ // TODO: Get these from files
+ AIBehaviourConverter.BehaviourNames = new HashSet {
+ "",
+ "group_leader_wild_poke_coward_lv1",
+ "group_leader_wild_poke_coward_lv1_fish_pm0550",
+ "group_leader_wild_poke_coward_lv1_ghost",
+ "group_leader_wild_poke_coward_lv2",
+ "group_leader_wild_poke_coward_lv2_dist",
+ "group_leader_wild_poke_coward_lv3",
+ "group_leader_wild_poke_coward_pm0063",
+ "group_leader_wild_poke_coward_pm0133",
+ "group_leader_wild_poke_coward_siren",
+ "group_leader_wild_poke_fortress_ew053_to_warlike",
+ "group_leader_wild_poke_fortress_pm0224_to_warlike",
+ "group_leader_wild_poke_mild",
+ "group_leader_wild_poke_mild_koduck",
+ "group_leader_wild_poke_mild_lv1_barrier",
+ "group_leader_wild_poke_mild_lv1_to_coward",
+ "group_leader_wild_poke_mild_lv1_to_coward_fish_vanish",
+ "group_leader_wild_poke_mild_lv1_to_coward_pm0113",
+ "group_leader_wild_poke_mild_lv1_to_coward_pm0363",
+ "group_leader_wild_poke_mild_lv1_to_coward_tamazarashi",
+ "group_leader_wild_poke_mild_lv1_to_warlike",
+ "group_leader_wild_poke_mild_lv1_to_warlike_pm0100",
+ "group_leader_wild_poke_mild_lv2_to_coward",
+ "group_leader_wild_poke_mild_lv2_to_warlike",
+ "group_leader_wild_poke_mild_lv3_to_coward_shaymin",
+ "group_leader_wild_poke_mild_lv3_to_warlike",
+ "group_leader_wild_poke_mild_pm0129",
+ "group_leader_wild_poke_mild_pm0299",
+ "group_leader_wild_poke_warlike_dive_lv2",
+ "group_leader_wild_poke_warlike_fish_oyabun",
+ "group_leader_wild_poke_warlike_fortress",
+ "group_leader_wild_poke_warlike_fortress_fish",
+ "group_leader_wild_poke_warlike_ghost_callhelp",
+ "group_leader_wild_poke_warlike_lv1",
+ "group_leader_wild_poke_warlike_lv1_fish_vanish",
+ "group_leader_wild_poke_warlike_lv1_ghost",
+ "group_leader_wild_poke_warlike_lv1_pm0075",
+ "group_leader_wild_poke_warlike_lv2",
+ "group_leader_wild_poke_warlike_lv2_callhelp",
+ "group_leader_wild_poke_warlike_lv2_sly",
+ "group_leader_wild_poke_warlike_lv3",
+ "group_leader_wild_poke_warlike_lv3_pm0059",
+ "group_leader_wild_poke_warlike_lv3_pm0445",
+ "group_leader_wild_poke_warlike_lv3_pm0549",
+ "group_leader_wild_poke_warlike_lv3_pm0899",
+ "group_leader_wild_poke_warlike_lv3_pm0900",
+ "group_leader_wild_poke_warlike_lv3_pm0901",
+ "group_leader_wild_poke_warlike_lv3_quick",
+ "group_leader_wild_poke_warlike_lv3_quick_uma",
+ "group_leader_wild_poke_warlike_lv3_slow",
+ "group_leader_wild_poke_warlike_lv3_slow_sleep",
+ "group_leader_wild_poke_warlike_oyabun",
+ "group_leader_wild_poke_warlike_oyabun_pm0059",
+ "group_leader_wild_poke_warlike_oyabun_pm0063",
+ "group_leader_wild_poke_warlike_oyabun_pm0299",
+ "group_leader_wild_poke_warlike_oyabun_pm0445",
+ "group_leader_wild_poke_warlike_oyabun_pm0549",
+ "group_leader_wild_poke_warlike_oyabun_pm0899",
+ "group_leader_wild_poke_warlike_oyabun_pm0900",
+ "group_leader_wild_poke_warlike_oyabun_pm0901",
+ "group_leader_wild_poke_warlike_pm0490",
+ "group_leader_wild_poke_warlike_pm0550_fish",
+ "group_leader_wild_poke_warlike_siren",
+ "group_leader_wild_poke_warlike_swamp",
+ "group_wild_poke_coward_callhelp_leader",
+ "group_wild_poke_coward_lv1",
+ "group_wild_poke_coward_lv1_fish_pm0550",
+ "group_wild_poke_coward_lv1_ghost",
+ "group_wild_poke_coward_lv2",
+ "group_wild_poke_coward_lv3",
+ "group_wild_poke_coward_pm0063",
+ "group_wild_poke_coward_pm0133",
+ "group_wild_poke_coward_siren",
+ "group_wild_poke_fortress_ew053_to_warlike",
+ "group_wild_poke_fortress_pm0224_to_warlike",
+ "group_wild_poke_mild",
+ "group_wild_poke_mild_lv1_barrier",
+ "group_wild_poke_mild_lv1_koduck",
+ "group_wild_poke_mild_lv1_to_coward",
+ "group_wild_poke_mild_lv1_to_coward_fish_vanish",
+ "group_wild_poke_mild_lv1_to_coward_pm0113",
+ "group_wild_poke_mild_lv1_to_coward_pm0363",
+ "group_wild_poke_mild_lv1_to_warlike",
+ "group_wild_poke_mild_lv1_to_warlike_pm0100",
+ "group_wild_poke_mild_lv2_to_coward",
+ "group_wild_poke_mild_lv2_to_warlike",
+ "group_wild_poke_mild_lv3_to_warlike",
+ "group_wild_poke_mild_pm0129",
+ "group_wild_poke_mild_pm0299",
+ "group_wild_poke_warlike_fortress",
+ "group_wild_poke_warlike_fortress_fish",
+ "group_wild_poke_warlike_lv1",
+ "group_wild_poke_warlike_lv1_fish_vanish",
+ "group_wild_poke_warlike_lv1_ghost",
+ "group_wild_poke_warlike_lv1_ghost_callhelp_leader",
+ "group_wild_poke_warlike_lv1_pm0075",
+ "group_wild_poke_warlike_lv2",
+ "group_wild_poke_warlike_lv3_pm0059",
+ "group_wild_poke_warlike_lv3_pm0445",
+ "group_wild_poke_warlike_lv3_pm0549",
+ "group_wild_poke_warlike_lv3_pm0899",
+ "group_wild_poke_warlike_lv3_pm0900",
+ "group_wild_poke_warlike_lv3_pm0901",
+ "group_wild_poke_warlike_lv3_quick",
+ "group_wild_poke_warlike_lv3_slow",
+ "group_wild_poke_warlike_lv3_slow_sleep",
+ "group_wild_poke_warlike_pm0489",
+ "group_wild_poke_warlike_pm0550_fish",
+ "group_wild_poke_warlike_siren",
+ "group_wild_poke_warlike_swamp",
+ "nsi_poke_2",
+ "nsi_poke_3",
+ "nsi_poke_4",
+ "nsi_poke_5",
+ "nsi_poke_6",
+ "nsi_poke_7",
+ "nsi_poke_8",
+ "nsi_poke_9",
+ "semi_legend_poke_pm0485",
+ "semi_legend_poke_pm0488",
+ "semi_legend_poke_pm0491",
+ "semi_legend_poke_pm0641",
+ "semi_legend_poke_pm0642",
+ "semi_legend_poke_pm0645",
+ "semi_legend_poke_pm0905",
+ };
}
private void ResetData()
@@ -63,8 +193,7 @@ private void ResetData()
private DataCache GetMoves()
{
- var move = this[GameFile.MoveStats];
- ((FolderContainer)move).Initialize();
+ var move = GetFilteredFolder(GameFile.MoveStats);
return new DataCache(move)
{
Create = FlatBufferConverter.DeserializeFrom,
diff --git a/pkNX.Structures.FlatBuffers/Arceus/Poke/Model Set/PokeModelSet8a.cs b/pkNX.Structures.FlatBuffers/Arceus/Poke/Model Set/PokeModelSet8a.cs
index 78901f03..65b76304 100644
--- a/pkNX.Structures.FlatBuffers/Arceus/Poke/Model Set/PokeModelSet8a.cs
+++ b/pkNX.Structures.FlatBuffers/Arceus/Poke/Model Set/PokeModelSet8a.cs
@@ -1,7 +1,10 @@
using FlatSharp.Attributes;
+using pkNX.Containers;
using System;
using System.Collections.Generic;
using System.ComponentModel;
+using System.Diagnostics;
+using System.Linq;
using System.Text;
namespace pkNX.Structures.FlatBuffers;
@@ -12,6 +15,35 @@ public class PokeModelSet8a : IFlatBufferArchive
{
public byte[] Write() => FlatBufferConverter.SerializeFrom(this);
+ public PokeModelSetEntry8a GetEntry(ushort species)
+ {
+ return Table.FirstOrDefault(z => z.Species == species) ??
+ new PokeModelSetEntry8a { };
+ }
+
+ public bool HasEntry(ushort species)
+ {
+ return Table.Any(x => x.Species == species);
+ }
+
+ public PokeModelSetEntry8a AddEntry(ushort species, ushort form)
+ {
+ Debug.Assert(!HasEntry(species), "The resource info table already contains an entry for the same species!");
+
+ var entry = new PokeModelSetEntry8a
+ {
+ PokeModelHash = (PokeModelType8a)FnvHash.HashFnv1a_64(""),
+ Species = species,
+ Form = form,
+ };
+
+ Table = Table.Append(entry)
+ .OrderBy(x => x.Species)
+ .ThenBy(x => x.Form)
+ .ToArray();
+ return entry;
+ }
+
[FlatBufferItem(00)] public PokeModelSetEntry8a[] Table { get; set; } = Array.Empty();
}
diff --git a/pkNX.Structures.FlatBuffers/Arceus/Poke/Model Set/PokeModelType8a.cs b/pkNX.Structures.FlatBuffers/Arceus/Poke/Model Set/PokeModelType8a.cs
index 46f32c4b..8602065c 100644
--- a/pkNX.Structures.FlatBuffers/Arceus/Poke/Model Set/PokeModelType8a.cs
+++ b/pkNX.Structures.FlatBuffers/Arceus/Poke/Model Set/PokeModelType8a.cs
@@ -5,405 +5,405 @@ namespace pkNX.Structures.FlatBuffers;
[FlatBufferEnum(typeof(ulong))]
public enum PokeModelType8a : ulong
{
- Unk_0x4202065E4900E5E6 = 0x4202065E4900E5E6,
- Unk_0x90C6018B1C83C999 = 0x90C6018B1C83C999,
- Unk_0xA5EC1270693E5554 = 0xA5EC1270693E5554,
- Unk_0xAA24EE0FC9930161 = 0xAA24EE0FC9930161,
- Unk_0x738D45B3FCCD8683 = 0x738D45B3FCCD8683,
- Unk_0x7874900CA52EAAC4 = 0x7874900CA52EAAC4,
- Unk_0xC5B7CDC56F890702 = 0xC5B7CDC56F890702,
- Unk_0xC672CDBC18D185EE = 0xC672CDBC18D185EE,
- Unk_0x295E0F613E5B2E99 = 0x295E0F613E5B2E99,
- Unk_0xA03A90A554738B04 = 0xA03A90A554738B04,
- Unk_0xFEC35D67DB8FB3F7 = 0xFEC35D67DB8FB3F7,
- Unk_0x74B4B2C7F9D82197 = 0x74B4B2C7F9D82197,
- Unk_0x329D6D72A5EE893E = 0x329D6D72A5EE893E,
- Unk_0x3B24B21F94D759CC = 0x3B24B21F94D759CC,
- Unk_0x0E8AF24E711420B5 = 0x0E8AF24E711420B5,
- Unk_0x3C3D26BA3C4D928B = 0x3C3D26BA3C4D928B,
- Unk_0xBD9D0E1275E19DC3 = 0xBD9D0E1275E19DC3,
- Unk_0x780CF5544A1BA14E = 0x780CF5544A1BA14E,
- Unk_0x3994B8E5146DF87A = 0x3994B8E5146DF87A,
- Unk_0x3BFE00C60AAA4629 = 0x3BFE00C60AAA4629,
- Unk_0xE2FD1EBB1CFC547D = 0xE2FD1EBB1CFC547D,
- Unk_0x8F5F9697B53FA69A = 0x8F5F9697B53FA69A,
- Unk_0x310A3E4E64072A45 = 0x310A3E4E64072A45,
- Unk_0xE165FD88E9D8F4E8 = 0xE165FD88E9D8F4E8,
- Unk_0xDD8D4287CD69B2B1 = 0xDD8D4287CD69B2B1,
- Unk_0x0ADC40FE7471C28F = 0x0ADC40FE7471C28F,
- Unk_0xAE26E44B48B9C1A0 = 0xAE26E44B48B9C1A0,
- Unk_0x39DA6B4E0445AF7C = 0x39DA6B4E0445AF7C,
- Unk_0x2FAF26C61D6B8371 = 0x2FAF26C61D6B8371,
- Unk_0xAF552936A4E91A20 = 0xAF552936A4E91A20,
- Unk_0x893A2307830B3947 = 0x893A2307830B3947,
- Unk_0xD259B1492CBB69EE = 0xD259B1492CBB69EE,
- Unk_0x0C7783C2EAD1F11F = 0x0C7783C2EAD1F11F,
- Unk_0x4066F0333032E760 = 0x4066F0333032E760,
- Unk_0x69824E27FD3241CD = 0x69824E27FD3241CD,
- Unk_0xF44EA11B1C09F9E6 = 0xF44EA11B1C09F9E6,
- Unk_0x9AE6B7DA086DF529 = 0x9AE6B7DA086DF529,
- Unk_0xE7A76BB22F55DCCD = 0xE7A76BB22F55DCCD,
- Unk_0x9AEBB2EBE8A0E277 = 0x9AEBB2EBE8A0E277,
- Unk_0xFE46ADD5A3C9E59D = 0xFE46ADD5A3C9E59D,
- Unk_0xA9240BDFF13535FF = 0xA9240BDFF13535FF,
- Unk_0xF0CC2D7DBA68D605 = 0xF0CC2D7DBA68D605,
- Unk_0xF76AB6EFC7B2EF31 = 0xF76AB6EFC7B2EF31,
- Unk_0xB06192701C4CD0BF = 0xB06192701C4CD0BF,
- Unk_0xA253E743C3DFFCFA = 0xA253E743C3DFFCFA,
- Unk_0xAA8FCBBCAF4CC477 = 0xAA8FCBBCAF4CC477,
- Unk_0x1C971DC264EE265C = 0x1C971DC264EE265C,
- Unk_0x4ADFF188FA2CC2BF = 0x4ADFF188FA2CC2BF,
- Unk_0xCC8C967D0984A782 = 0xCC8C967D0984A782,
- Unk_0x5DFED77E3EF484E6 = 0x5DFED77E3EF484E6,
- Unk_0xD11CA01879E2560E = 0xD11CA01879E2560E,
- Unk_0xF439879C2A32AC27 = 0xF439879C2A32AC27,
- Unk_0x71A6B1803B68A0DF = 0x71A6B1803B68A0DF,
- Unk_0x1CCD92966FC276B2 = 0x1CCD92966FC276B2,
- Unk_0x4D7DD48708B9B178 = 0x4D7DD48708B9B178,
- Unk_0xEF917720395BFB4B = 0xEF917720395BFB4B,
- Unk_0x3D953062B5D32036 = 0x3D953062B5D32036,
- Unk_0x3FAAA2AB2B669F0F = 0x3FAAA2AB2B669F0F,
- Unk_0x6684C6B1DE87286A = 0x6684C6B1DE87286A,
- Unk_0xF7D3DEDBA87A5A7B = 0xF7D3DEDBA87A5A7B,
- Unk_0x56BFDBA5BF372818 = 0x56BFDBA5BF372818,
- Unk_0x37E6296E94F84FC2 = 0x37E6296E94F84FC2,
- Unk_0x15BD8A0A55DF6F9B = 0x15BD8A0A55DF6F9B,
- Unk_0xC2B88644957DF334 = 0xC2B88644957DF334,
- Unk_0xCE684213D609E4D0 = 0xCE684213D609E4D0,
- Unk_0x89D4AB3B91E4193E = 0x89D4AB3B91E4193E,
- Unk_0xB0E870D70AF6C856 = 0xB0E870D70AF6C856,
- Unk_0x4FB5FDD592E5C19C = 0x4FB5FDD592E5C19C,
- Unk_0x884CAE4F264E7C53 = 0x884CAE4F264E7C53,
- Unk_0x2F3677ACAD0B264F = 0x2F3677ACAD0B264F,
- Unk_0xFFCFC4B53B6CEB73 = 0xFFCFC4B53B6CEB73,
- Unk_0x55E136321BD4820B = 0x55E136321BD4820B,
- Unk_0x69C60410B32CFA7C = 0x69C60410B32CFA7C,
- Unk_0x56EBF2B961D8C2F0 = 0x56EBF2B961D8C2F0,
- Unk_0xBD638443042BA775 = 0xBD638443042BA775,
- Unk_0x04EFF829AE5A9CAE = 0x04EFF829AE5A9CAE,
- Unk_0xB924FA5E88CBF499 = 0xB924FA5E88CBF499,
- Unk_0x983CBC0A01DBCE18 = 0x983CBC0A01DBCE18,
- Unk_0x0789E7AD3B62AE98 = 0x0789E7AD3B62AE98,
- Unk_0x11A4B28C3399FCAE = 0x11A4B28C3399FCAE,
- Unk_0xB23DD104F7E3E7B4 = 0xB23DD104F7E3E7B4,
- Unk_0xAC41D5A69B91BDAB = 0xAC41D5A69B91BDAB,
- Unk_0x20E1A4325B9B726C = 0x20E1A4325B9B726C,
- Unk_0xBF886D72A5EB4BFD = 0xBF886D72A5EB4BFD,
- Unk_0x9602FE3839CA4144 = 0x9602FE3839CA4144,
- Unk_0x7EB49AC6E76098FF = 0x7EB49AC6E76098FF,
- Unk_0x73DE6E93E4244BA6 = 0x73DE6E93E4244BA6,
- Unk_0x0B6DBBC6F0E94019 = 0x0B6DBBC6F0E94019,
- Unk_0xF9B45DF47EC0E120 = 0xF9B45DF47EC0E120,
- Unk_0x313CF262DB0926BB = 0x313CF262DB0926BB,
- Unk_0xCEBA0A3E967DCE42 = 0xCEBA0A3E967DCE42,
- Unk_0xB6F99FCA4E14B215 = 0xB6F99FCA4E14B215,
- Unk_0x088F9B28A225E77C = 0x088F9B28A225E77C,
- Unk_0x0614F4AB758CA4EC = 0x0614F4AB758CA4EC,
- Unk_0x0C0EABF9C83A6645 = 0x0C0EABF9C83A6645,
- Unk_0x276F6051571BDC6E = 0x276F6051571BDC6E,
- Unk_0xAA3B9A7B0AC22E07 = 0xAA3B9A7B0AC22E07,
- Unk_0x1A82687E9C21FC88 = 0x1A82687E9C21FC88,
- Unk_0x2011F8FC2EAF5BC1 = 0x2011F8FC2EAF5BC1,
- Unk_0xE7B2049B04BC0D8A = 0xE7B2049B04BC0D8A,
- Unk_0x4C385FB04D7D4E83 = 0x4C385FB04D7D4E83,
- Unk_0xECF48E67086948B4 = 0xECF48E67086948B4,
- Unk_0xC27F8EE33D371BAD = 0xC27F8EE33D371BAD,
- Unk_0x35B1F3EAFB73E6BD = 0x35B1F3EAFB73E6BD,
- Unk_0x0649E4802BBCA904 = 0x0649E4802BBCA904,
- Unk_0x4759AB9110BC0EBF = 0x4759AB9110BC0EBF,
- Unk_0xF93D4C6B30D60166 = 0xF93D4C6B30D60166,
- Unk_0x1C75AA69FDB3BAD9 = 0x1C75AA69FDB3BAD9,
- Unk_0x2AA9B9D0303F75E0 = 0x2AA9B9D0303F75E0,
- Unk_0xF32E56B416E23C7B = 0xF32E56B416E23C7B,
- Unk_0x522BF06C1BD0F102 = 0x522BF06C1BD0F102,
- Unk_0xC4DB525F8E431D41 = 0xC4DB525F8E431D41,
- Unk_0x18223B561661AFAA = 0x18223B561661AFAA,
- Unk_0x27198363BE073D43 = 0x27198363BE073D43,
- Unk_0xC3AA40619506B41E = 0xC3AA40619506B41E,
- Unk_0x5C57D1B11EF558EA = 0x5C57D1B11EF558EA,
- Unk_0xAE6050F3E9BEADF7 = 0xAE6050F3E9BEADF7,
- Unk_0x4DC996846E32E10F = 0x4DC996846E32E10F,
- Unk_0x64EA03C28BB0A824 = 0x64EA03C28BB0A824,
- Unk_0x3A685B964260E751 = 0x3A685B964260E751,
- Unk_0xD566A415A1D96AC6 = 0xD566A415A1D96AC6,
- Unk_0xE0C3B017F309DB7F = 0xE0C3B017F309DB7F,
- Unk_0xFE62D6A9E1C90FA0 = 0xFE62D6A9E1C90FA0,
- Unk_0x6EB817B2E5CE41A1 = 0x6EB817B2E5CE41A1,
- Unk_0xC513F3A8B387CE60 = 0xC513F3A8B387CE60,
- Unk_0x00FFEC5427C03217 = 0x00FFEC5427C03217,
- Unk_0x263AAFAD40F6F534 = 0x263AAFAD40F6F534,
- Unk_0x557EA5E216D1EB04 = 0x557EA5E216D1EB04,
- Unk_0x5B10EEB3C42F6EF3 = 0x5B10EEB3C42F6EF3,
- Unk_0xA4B557C69DC53B4C = 0xA4B557C69DC53B4C,
- Unk_0x171318BDE5AFB37F = 0x171318BDE5AFB37F,
- Unk_0xF5117E70DB5C0CDD = 0xF5117E70DB5C0CDD,
- Unk_0xB70B74B682AEDDC0 = 0xB70B74B682AEDDC0,
- Unk_0x5A0C4392036A5A42 = 0x5A0C4392036A5A42,
- Unk_0x707D85F01E28F5F9 = 0x707D85F01E28F5F9,
- Unk_0x6E67F96382437D3E = 0x6E67F96382437D3E,
- Unk_0x754C295FB5F44D9B = 0x754C295FB5F44D9B,
- Unk_0xC5F20F76E7A93719 = 0xC5F20F76E7A93719,
- Unk_0xA763E53AE978AB27 = 0xA763E53AE978AB27,
- Unk_0xB6CBA708417AC6DC = 0xB6CBA708417AC6DC,
- Unk_0xF7D10E1E3D07DF2F = 0xF7D10E1E3D07DF2F,
- Unk_0xF4441F03DDB7443F = 0xF4441F03DDB7443F,
- Unk_0x61424A6B6B33EF06 = 0x61424A6B6B33EF06,
- Unk_0x1335E7CF78B73FD4 = 0x1335E7CF78B73FD4,
- Unk_0xA0553AA5DAAD1093 = 0xA0553AA5DAAD1093,
- Unk_0x21CFEF4845D0131B = 0x21CFEF4845D0131B,
- Unk_0x5DFEF42CC1CFDDDA = 0x5DFEF42CC1CFDDDA,
- Unk_0xD3DA7E5EE9860CFC = 0xD3DA7E5EE9860CFC,
- Unk_0xBF2D97F2A6E9C72D = 0xBF2D97F2A6E9C72D,
- Unk_0x91C4588D028D31BC = 0x91C4588D028D31BC,
- Unk_0x733DF163257691E4 = 0x733DF163257691E4,
- Unk_0xC16DA720E3FF43B1 = 0xC16DA720E3FF43B1,
- Unk_0x7A99A59187C4FEB5 = 0x7A99A59187C4FEB5,
- Unk_0xF75D819C39B27EC6 = 0xF75D819C39B27EC6,
- Unk_0x7F59A6B1A057AAEC = 0x7F59A6B1A057AAEC,
- Unk_0xAE3C6A3413ACD75E = 0xAE3C6A3413ACD75E,
- Unk_0x0E3F241026905B7F = 0x0E3F241026905B7F,
- Unk_0x57BA84BA67C80340 = 0x57BA84BA67C80340,
- Unk_0x9E3D34369C67DB99 = 0x9E3D34369C67DB99,
- Unk_0xC416B116EAA6D876 = 0xC416B116EAA6D876,
- Unk_0x5933EFC31901ADBF = 0x5933EFC31901ADBF,
- Unk_0x9D068E51A9F2B451 = 0x9D068E51A9F2B451,
- Unk_0x66A9CB7F10A10C9B = 0x66A9CB7F10A10C9B,
- Unk_0xE4860525BC865A83 = 0xE4860525BC865A83,
- Unk_0xB1BA5D4013E6B112 = 0xB1BA5D4013E6B112,
- Unk_0x0737E620799C467D = 0x0737E620799C467D,
- Unk_0x1C0192447952EEF2 = 0x1C0192447952EEF2,
- Unk_0x89D04AD6EC6542B5 = 0x89D04AD6EC6542B5,
- Unk_0xDD7ECD313002CC84 = 0xDD7ECD313002CC84,
- Unk_0xE35A7D27BA3D0026 = 0xE35A7D27BA3D0026,
- Unk_0x9491991D82A95AB9 = 0x9491991D82A95AB9,
- Unk_0x7E3796C48490E2F4 = 0x7E3796C48490E2F4,
- Unk_0xA9BAEC93EB49A97B = 0xA9BAEC93EB49A97B,
- Unk_0x5F4117769E95A4E2 = 0x5F4117769E95A4E2,
- Unk_0x27600C74B64ECBF1 = 0x27600C74B64ECBF1,
- Unk_0x8C77F0DA56F7DE7C = 0x8C77F0DA56F7DE7C,
- Unk_0xA1BB2DD9130A46F2 = 0xA1BB2DD9130A46F2,
- Unk_0xDD75C52F7283E9BB = 0xDD75C52F7283E9BB,
- Unk_0xC8F7D5BF4173CE93 = 0xC8F7D5BF4173CE93,
- Unk_0xE9E6C6B33718E60E = 0xE9E6C6B33718E60E,
- Unk_0xBF27AC1629E90381 = 0xBF27AC1629E90381,
- Unk_0xF0F994239E2F346F = 0xF0F994239E2F346F, // Kricketot (Famale) and Kriketune (Famale) both have this entry
- Unk_0x2D773D3EE1C014F6 = 0x2D773D3EE1C014F6,
- Unk_0x96C22933A5E58E3B = 0x96C22933A5E58E3B,
- Unk_0x168A00F24E6405B7 = 0x168A00F24E6405B7,
- Unk_0xFA5643FB989B3B1E = 0xFA5643FB989B3B1E,
- Unk_0x984D50F262AFCEAF = 0x984D50F262AFCEAF,
- Unk_0x22F84F7815153DD6 = 0x22F84F7815153DD6,
- Unk_0x7F6D9F484D4C0EA6 = 0x7F6D9F484D4C0EA6,
- Unk_0x0C13D8D28EC907E5 = 0x0C13D8D28EC907E5,
- Unk_0x9ECE3FC55775155F = 0x9ECE3FC55775155F,
- Unk_0x93ABEE50A1E49467 = 0x93ABEE50A1E49467,
- Unk_0x7370532B23D76DAA = 0x7370532B23D76DAA,
- Unk_0x47AE1BFCD6B42B84 = 0x47AE1BFCD6B42B84,
- Unk_0x4AE56FF6E6334961 = 0x4AE56FF6E6334961,
- Unk_0xB509DB56AEE937C2 = 0xB509DB56AEE937C2,
- Unk_0xF4E140FB3B645905 = 0xF4E140FB3B645905,
- Unk_0xA94E411B4AED0770 = 0xA94E411B4AED0770,
- Unk_0x8F6AE63389246593 = 0x8F6AE63389246593,
- Unk_0x7974384D9B4C2FB6 = 0x7974384D9B4C2FB6,
- Unk_0x14019D9941038DFD = 0x14019D9941038DFD,
- Unk_0x6ABFCC37361003B4 = 0x6ABFCC37361003B4,
- Unk_0x4CDAC9407BF83AF7 = 0x4CDAC9407BF83AF7,
- Unk_0x4BB7814C7C192D19 = 0x4BB7814C7C192D19,
- Unk_0xF1127750E1886890 = 0xF1127750E1886890,
- Unk_0x25964C22FD8497F7 = 0x25964C22FD8497F7,
- Unk_0xAE27E66F62B5A72D = 0xAE27E66F62B5A72D,
- Unk_0xE597BC60EC178830 = 0xE597BC60EC178830,
- Unk_0x5AD9AD5A8D788501 = 0x5AD9AD5A8D788501,
- Unk_0xDD355F94F2313486 = 0xDD355F94F2313486,
- Unk_0x6BF855FAE859F756 = 0x6BF855FAE859F756,
- Unk_0x220FCB19BE6F4AD1 = 0x220FCB19BE6F4AD1,
- Unk_0x219A868593E0F143 = 0x219A868593E0F143,
- Unk_0x8E22980132312750 = 0x8E22980132312750,
- Unk_0x2C54942E5AC186C5 = 0x2C54942E5AC186C5,
- Unk_0x4F33189725E4177E = 0x4F33189725E4177E,
- Unk_0x3E9C477265BDCCFB = 0x3E9C477265BDCCFB,
- Unk_0x2CFB32D06BB0ABCE = 0x2CFB32D06BB0ABCE,
- Unk_0x36A980CFC8258668 = 0x36A980CFC8258668,
- Unk_0x3A220AFBFED99063 = 0x3A220AFBFED99063,
- Unk_0x3D972A66844FA833 = 0x3D972A66844FA833,
- Unk_0xC917F1220D646DBE = 0xC917F1220D646DBE,
- Unk_0x3F6DE4B7DD492468 = 0x3F6DE4B7DD492468,
- Unk_0x20D99D21DD492357 = 0x20D99D21DD492357,
- Unk_0xC460FB2533D4748D = 0xC460FB2533D4748D,
- Unk_0xCD7032496A7C365A = 0xCD7032496A7C365A,
- Unk_0x5C60998F55A4C354 = 0x5C60998F55A4C354,
- Unk_0x313B485EBC2171CD = 0x313B485EBC2171CD,
- Unk_0x78ACE351AD05FBD4 = 0x78ACE351AD05FBD4,
- Unk_0x9328F61FB61F13E5 = 0x9328F61FB61F13E5,
- Unk_0xD055895E765EEC2F = 0xD055895E765EEC2F,
- Unk_0x4199B6BDAAAD449E = 0x4199B6BDAAAD449E,
- Unk_0x032B6F5BC52B5EFD = 0x032B6F5BC52B5EFD,
- Unk_0xF3D0F56A34A59780 = 0xF3D0F56A34A59780,
- Unk_0x0FD922D98261F028 = 0x0FD922D98261F028,
- Unk_0x19EE4EA3ADF0B902 = 0x19EE4EA3ADF0B902,
- Unk_0x584AF50A97D6E1D6 = 0x584AF50A97D6E1D6,
- Unk_0xB03300749E45BB04 = 0xB03300749E45BB04,
- Unk_0xFB9DAD7C0A306304 = 0xFB9DAD7C0A306304,
- Unk_0xB8497707B9AFFFC3 = 0xB8497707B9AFFFC3,
- Unk_0xE7676C20D594CB1D = 0xE7676C20D594CB1D,
- Unk_0x28C7077067B3CBC1 = 0x28C7077067B3CBC1,
- Unk_0x6F92EA1DC51CABCF = 0x6F92EA1DC51CABCF,
- Unk_0x11BA4D9585AACE22 = 0x11BA4D9585AACE22,
- Unk_0xF894F0AAA6DF1348 = 0xF894F0AAA6DF1348,
- Unk_0x0E7DBE6B422BF617 = 0x0E7DBE6B422BF617,
- Unk_0x625850C05A022E48 = 0x625850C05A022E48,
- Unk_0x2B17D38BA6A71C75 = 0x2B17D38BA6A71C75,
- Unk_0x8FD0138AED004409 = 0x8FD0138AED004409,
- Unk_0x5FFAD59344D84D98 = 0x5FFAD59344D84D98,
- Unk_0xA0047EEB132ED1D6 = 0xA0047EEB132ED1D6,
- Unk_0x906BBDF18FDA41D7 = 0x906BBDF18FDA41D7,
- Unk_0x17D0C6D90344C370 = 0x17D0C6D90344C370,
- Unk_0x079843AF139A4302 = 0x079843AF139A4302,
- Unk_0x4A086453137B138D = 0x4A086453137B138D,
- Unk_0x1955D84E92121D4D = 0x1955D84E92121D4D,
- Unk_0x372A069678F1F45C = 0x372A069678F1F45C,
- Unk_0x3E4BDFC71176F055 = 0x3E4BDFC71176F055,
- Unk_0x8F2F65B0686BDBC0 = 0x8F2F65B0686BDBC0,
- Unk_0x317C95E85C275D22 = 0x317C95E85C275D22,
- Unk_0x74DAFA4E821C0EDB = 0x74DAFA4E821C0EDB,
- Unk_0xE614F33C0065709B = 0xE614F33C0065709B,
- Unk_0xC181CFE9A52A6D56 = 0xC181CFE9A52A6D56,
- Unk_0x945188E7CDB5341A = 0x945188E7CDB5341A,
- Unk_0x3A5895D1101F9037 = 0x3A5895D1101F9037,
- Unk_0x30721017FA97EC02 = 0x30721017FA97EC02,
- Unk_0xA01FDF8F36D4C849 = 0xA01FDF8F36D4C849,
- Unk_0x94D65F44E4DB603A = 0x94D65F44E4DB603A,
- Unk_0x9E23D7B27A3550BA = 0x9E23D7B27A3550BA,
- Unk_0xC1C9454686BF4F77 = 0xC1C9454686BF4F77,
- Unk_0x980E30C4962AF568 = 0x980E30C4962AF568,
- Unk_0x2620F9FA5756901A = 0x2620F9FA5756901A,
- Unk_0xA329B2071F86D54D = 0xA329B2071F86D54D,
- Unk_0x98B23602AC81C150 = 0x98B23602AC81C150,
- Unk_0xA74E932CFE83EAE7 = 0xA74E932CFE83EAE7,
- Unk_0xCEEB29248D1FA839 = 0xCEEB29248D1FA839,
- Unk_0x8D15EF082F42FC05 = 0x8D15EF082F42FC05,
- Unk_0x469278A74D72F144 = 0x469278A74D72F144,
- Unk_0x2C2A4B83CF084B3B = 0x2C2A4B83CF084B3B,
- Unk_0x34DDE3ADD16B4F75 = 0x34DDE3ADD16B4F75,
- Unk_0xB568913D0AC707CE = 0xB568913D0AC707CE,
- Unk_0xFA9958E9109B302F = 0xFA9958E9109B302F,
- Unk_0xA8ED6A8D845C7B48 = 0xA8ED6A8D845C7B48,
- Unk_0x42C7F372045E2459 = 0x42C7F372045E2459,
- Unk_0x42A006A7E230D188 = 0x42A006A7E230D188,
- Unk_0xC68BD7FDEAACED3A = 0xC68BD7FDEAACED3A,
- Unk_0x9C12AB8FB6B90E68 = 0x9C12AB8FB6B90E68,
- Unk_0x5877A05E2FBA2709 = 0x5877A05E2FBA2709,
- Unk_0x386D73EBE6A7B8F4 = 0x386D73EBE6A7B8F4,
- Unk_0x306E81A939CB3993 = 0x306E81A939CB3993,
- Unk_0xC08438286952740C = 0xC08438286952740C,
- Unk_0x5E5D71F3E0CBE9DC = 0x5E5D71F3E0CBE9DC,
- Unk_0xDC018AA5878C8807 = 0xDC018AA5878C8807,
- Unk_0x6DE0698BBCB2CA2C = 0x6DE0698BBCB2CA2C,
- Unk_0x7B36F7A58164D977 = 0x7B36F7A58164D977,
- Unk_0x9E8D599701378583 = 0x9E8D599701378583,
- Unk_0x6862791F06B78BDE = 0x6862791F06B78BDE,
- Unk_0xFBBC6B6C015DC941 = 0xFBBC6B6C015DC941,
- Unk_0xB95C351BE7E9F834 = 0xB95C351BE7E9F834,
- Unk_0xD6EA55B5B5D9744F = 0xD6EA55B5B5D9744F,
- Unk_0xC56571B25632522A = 0xC56571B25632522A,
- Unk_0x97CC9929EDDBD5F8 = 0x97CC9929EDDBD5F8,
- Unk_0x8C9946681252830B = 0x8C9946681252830B,
- Unk_0xA8EF99AAF7F5F7C5 = 0xA8EF99AAF7F5F7C5,
- Unk_0x106E7182195C260F = 0x106E7182195C260F,
- Unk_0xA055D9B805436A0C = 0xA055D9B805436A0C,
- Unk_0x206088562697898E = 0x206088562697898E,
- Unk_0xBFA4299E98FB33D9 = 0xBFA4299E98FB33D9,
- Unk_0x23026AD6C36A3435 = 0x23026AD6C36A3435,
- Unk_0x2E7B41BCE75826F6 = 0x2E7B41BCE75826F6,
- Unk_0x97E7ED85C87A3DB6 = 0x97E7ED85C87A3DB6,
- Unk_0x4E0596A7E5646341 = 0x4E0596A7E5646341,
- Unk_0x4535E33F5E564902 = 0x4535E33F5E564902,
- Unk_0x983A46CEAB2742D7 = 0x983A46CEAB2742D7,
- Unk_0x8E7C1BF15AA87E41 = 0x8E7C1BF15AA87E41,
- Unk_0x586CE849A27477A0 = 0x586CE849A27477A0,
- Unk_0xB7ECCDAE6F5707D2 = 0xB7ECCDAE6F5707D2,
- Unk_0x38B4B39EC0768C67 = 0x38B4B39EC0768C67,
- Unk_0x7600DD72ED3B4920 = 0x7600DD72ED3B4920,
- Unk_0xBB368794840D45A5 = 0xBB368794840D45A5,
- Unk_0xFF87AC2753F1C9C6 = 0xFF87AC2753F1C9C6,
- Unk_0x4CA11DC3DAF364CB = 0x4CA11DC3DAF364CB,
- Unk_0x0615848DE67F0FB4 = 0x0615848DE67F0FB4,
- Unk_0x6FEF6D44ECB59C69 = 0x6FEF6D44ECB59C69,
- Unk_0x7E7D8A31F8F21EEA = 0x7E7D8A31F8F21EEA,
- Unk_0x2F0E2FB68A052C5F = 0x2F0E2FB68A052C5F,
- Unk_0xDC6E25257282CB55 = 0xDC6E25257282CB55,
- Unk_0x40D7A8B92AF09D90 = 0x40D7A8B92AF09D90,
- Unk_0x4B8A666460A38C97 = 0x4B8A666460A38C97,
- Unk_0x25FABC2DDC931F82 = 0x25FABC2DDC931F82,
- Unk_0xB312234D6E8F40D9 = 0xB312234D6E8F40D9,
- Unk_0x7725EA3FCD8EFBE4 = 0x7725EA3FCD8EFBE4,
- Unk_0x0FE7C88F0C511E3B = 0x0FE7C88F0C511E3B,
- Unk_0x666B55C4B5063836 = 0x666B55C4B5063836,
- Unk_0xAF4985CD1D218AFC = 0xAF4985CD1D218AFC,
- Unk_0x4A4A7B20881294E4 = 0x4A4A7B20881294E4,
- Unk_0x84FE2D0C81A88918 = 0x84FE2D0C81A88918,
- Unk_0xF74BB7703FA523A3 = 0xF74BB7703FA523A3,
- Unk_0x0EBA8CE66319FEFA = 0x0EBA8CE66319FEFA,
- Unk_0x865F5B29F7D3F6AF = 0x865F5B29F7D3F6AF,
- Unk_0x4C497F2A0096EEFB = 0x4C497F2A0096EEFB,
- Unk_0x630448CC6C50E58A = 0x630448CC6C50E58A,
- Unk_0xC41B98740AB889EB = 0xC41B98740AB889EB,
- Unk_0xD1DDBC2BA3D9DE20 = 0xD1DDBC2BA3D9DE20,
- Unk_0xDABA16B3B282D08F = 0xDABA16B3B282D08F,
- Unk_0xB006977E13C42A32 = 0xB006977E13C42A32,
- Unk_0x4984C3C7710B2AFC = 0x4984C3C7710B2AFC,
- Unk_0x9ECC7B26EA9E99A0 = 0x9ECC7B26EA9E99A0,
- Unk_0x761DBBDEC4BAFC5E = 0x761DBBDEC4BAFC5E,
- Unk_0xC445D3C3B5C7F567 = 0xC445D3C3B5C7F567,
- Unk_0x73CD7670DE50BF92 = 0x73CD7670DE50BF92,
- Unk_0x50042EF6FFC50F49 = 0x50042EF6FFC50F49,
- Unk_0x302B5F4800F44C2C = 0x302B5F4800F44C2C,
- Unk_0xC5EA76327F79BF9B = 0xC5EA76327F79BF9B,
- Unk_0xF39C3111234AA504 = 0xF39C3111234AA504,
- Unk_0x4504FED3686326BA = 0x4504FED3686326BA,
- Unk_0x109714EC91FC123D = 0x109714EC91FC123D,
- Unk_0x92AE783A3DD4F467 = 0x92AE783A3DD4F467,
- Unk_0x26BD2AA2A097117C = 0x26BD2AA2A097117C,
- Unk_0x86369F877D6A715A = 0x86369F877D6A715A,
- Unk_0x00177EC637E0F547 = 0x00177EC637E0F547,
- Unk_0xA7370AC81DEE9DA3 = 0xA7370AC81DEE9DA3,
- Unk_0x016B2219F2C34655 = 0x016B2219F2C34655,
- Unk_0x62F9C9295910928D = 0x62F9C9295910928D,
- Unk_0x5E18A362DB785C35 = 0x5E18A362DB785C35,
- Unk_0x1BBFAF0587DD34D2 = 0x1BBFAF0587DD34D2,
- Unk_0x1F2BC2563CDEBE0A = 0x1F2BC2563CDEBE0A,
- Unk_0x5CB5954C8863A223 = 0x5CB5954C8863A223,
- Unk_0x1A09CC57C175EF9B = 0x1A09CC57C175EF9B,
- Unk_0xE4AC9550E5F1457C = 0xE4AC9550E5F1457C,
- Unk_0x31B695D92696C535 = 0x31B695D92696C535,
- Unk_0x5ABD56E662A3AF06 = 0x5ABD56E662A3AF06,
- Unk_0x91202B07BCD8488F = 0x91202B07BCD8488F,
- Unk_0x906E97236B575388 = 0x906E97236B575388,
- Unk_0xDBE39C496C3FE76F = 0xDBE39C496C3FE76F,
- Unk_0x3A491A32B94D2E10 = 0x3A491A32B94D2E10,
- Unk_0x30215DFE4B009037 = 0x30215DFE4B009037,
- Unk_0x0414E6EA64920553 = 0x0414E6EA64920553,
- Unk_0x0A09CFACC06039F6 = 0x0A09CFACC06039F6,
- Unk_0x2BC88AEF207952D8 = 0x2BC88AEF207952D8,
- Unk_0xC198D435BB6CE1B3 = 0xC198D435BB6CE1B3,
- Unk_0x5757780F91E52E20 = 0x5757780F91E52E20,
- Unk_0xABE2F65B74FBFCF0 = 0xABE2F65B74FBFCF0,
- Unk_0xDA85A46835474EC3 = 0xDA85A46835474EC3,
- Unk_0xE84B34AB4E79AA10 = 0xE84B34AB4E79AA10,
- Unk_0xF5C64BF800CA5BC9 = 0xF5C64BF800CA5BC9,
- Unk_0xC70206D6B252D40D = 0xC70206D6B252D40D,
- Unk_0x119437A2C563161A = 0x119437A2C563161A,
- Unk_0xB496C9BC67BD78CE = 0xB496C9BC67BD78CE,
+ pm_025_0_m_PIKATYUU = 0x4202065E4900E5E6,
+ pm_025_0_f_PIKATYUU = 0x90C6018B1C83C999,
+ pm_026_0_m_RAITYUU = 0xA5EC1270693E5554,
+ pm_026_0_f_RAITYUU = 0xAA24EE0FC9930161,
+ pm_035_0_PIPPI = 0x738D45B3FCCD8683,
+ pm_035_0_PIPPI_SUB073 = 0x7874900CA52EAAC4,
+ pm_036_0_PIKUSII = 0xC5B7CDC56F890702,
+ pm_037_0_ROKON = 0xC672CDBC18D185EE,
+ pm_037_1_ROKON = 0x295E0F613E5B2E99,
+ pm_038_0_KYUUKON = 0xA03A90A554738B04,
+ pm_038_1_KYUUKON = 0xFEC35D67DB8FB3F7,
+ pm_041_0_m_ZUBATTO = 0x74B4B2C7F9D82197,
+ pm_041_0_f_ZUBATTO = 0x329D6D72A5EE893E,
+ pm_042_0_m_GORUBATTO = 0x3B24B21F94D759CC,
+ pm_042_0_f_GORUBATTO = 0x0E8AF24E711420B5,
+ pm_046_0_PARASU = 0x3C3D26BA3C4D928B,
+ pm_047_0_PARASEKUTO = 0xBD9D0E1275E19DC3,
+ pm_054_0_KODAKKU = 0x780CF5544A1BA14E,
+ pm_055_0_GORUDAKKU = 0x3994B8E5146DF87A,
+ pm_063_0_KEESHI = 0x3BFE00C60AAA4629,
+ pm_064_0_m_YUNGERAA = 0xE2FD1EBB1CFC547D,
+ pm_064_0_f_YUNGERAA = 0x8F5F9697B53FA69A,
+ pm_065_0_m_HUUDHIN = 0x310A3E4E64072A45,
+ pm_065_0_f_HUUDHIN = 0xE165FD88E9D8F4E8,
+ pm_066_0_WANRIKII = 0xDD8D4287CD69B2B1,
+ pm_067_0_GOORIKII = 0x0ADC40FE7471C28F,
+ pm_068_0_KAIRIKII = 0xAE26E44B48B9C1A0,
+ pm_072_0_MENOKURAGE = 0x39DA6B4E0445AF7C,
+ pm_073_0_DOKUKURAGE = 0x2FAF26C61D6B8371,
+ pm_074_0_ISITUBUTE = 0xAF552936A4E91A20,
+ pm_075_0_GOROON = 0x893A2307830B3947,
+ pm_076_0_GOROONYA = 0xD259B1492CBB69EE,
+ pm_077_0_PONIITA = 0x0C7783C2EAD1F11F,
+ pm_077_0_PONIITA_RARE = 0x4066F0333032E760,
+ pm_078_0_GYAROPPU = 0x69824E27FD3241CD,
+ pm_081_0_KOIRU = 0xF44EA11B1C09F9E6,
+ pm_082_0_REAKOIRU = 0x9AE6B7DA086DF529,
+ pm_092_0_GOOSU = 0xE7A76BB22F55DCCD,
+ pm_093_0_GOOSUTO = 0x9AEBB2EBE8A0E277,
+ pm_094_0_GENGAA = 0xFE46ADD5A3C9E59D,
+ pm_095_0_IWAAKU = 0xA9240BDFF13535FF,
+ pm_095_0_IWAAKU_SUB258 = 0xF0CC2D7DBA68D605,
+ pm_108_0_BERORINGA = 0xF76AB6EFC7B2EF31,
+ pm_111_0_m_SAIHOON = 0xB06192701C4CD0BF,
+ pm_111_0_f_SAIHOON = 0xA253E743C3DFFCFA,
+ pm_112_0_m_SAIDON = 0xAA8FCBBCAF4CC477,
+ pm_112_0_f_SAIDON = 0x1C971DC264EE265C,
+ pm_113_0_RAKKII = 0x4ADFF188FA2CC2BF,
+ pm_114_0_MONZYARA = 0xCC8C967D0984A782,
+ pm_122_0_BARIYAADO = 0x5DFED77E3EF484E6,
+ pm_123_0_m_SUTORAIKU = 0xD11CA01879E2560E,
+ pm_123_0_f_SUTORAIKU = 0xF439879C2A32AC27,
+ pm_125_0_EREBUU = 0x71A6B1803B68A0DF,
+ pm_126_0_BUUBAA = 0x1CCD92966FC276B2,
+ pm_129_0_m_KOIKINGU = 0x4D7DD48708B9B178,
+ pm_129_0_f_KOIKINGU = 0xEF917720395BFB4B,
+ pm_130_0_m_GYARADOSU = 0x3D953062B5D32036,
+ pm_130_0_f_GYARADOSU = 0x3FAAA2AB2B669F0F,
+ pm_133_0_m_IIBUI = 0x6684C6B1DE87286A,
+ pm_133_0_f_IIBUI = 0xF7D3DEDBA87A5A7B,
+ pm_134_0_SYAWAAZU = 0x56BFDBA5BF372818,
+ pm_135_0_SANDAASU = 0x37E6296E94F84FC2,
+ pm_136_0_BUUSUTAA = 0x15BD8A0A55DF6F9B,
+ pm_137_0_PORIGON = 0xC2B88644957DF334,
+ pm_143_0_KABIGON = 0xCE684213D609E4D0,
+ pm_155_0_HINOARASI = 0x89D4AB3B91E4193E,
+ pm_156_0_MAGUMARASI = 0xB0E870D70AF6C856,
+ pm_169_0_KUROBATTO = 0x4FB5FDD592E5C19C,
+ pm_169_0_KUROBATTO_EVENT = 0x884CAE4F264E7C53,
+ pm_172_0_PITYUU = 0x2F3677ACAD0B264F,
+ pm_173_0_PHI = 0xFFCFC4B53B6CEB73,
+ pm_175_0_TOGEPII = 0x55E136321BD4820B,
+ pm_176_0_TOGETIKKU = 0x69C60410B32CFA7C,
+ pm_185_0_m_USOKKII = 0x56EBF2B961D8C2F0,
+ pm_185_0_f_USOKKII = 0xBD638443042BA775,
+ pm_190_0_m_EIPAMU = 0x04EFF829AE5A9CAE,
+ pm_190_0_f_EIPAMU = 0xB924FA5E88CBF499,
+ pm_193_0_YANYANMA = 0x983CBC0A01DBCE18,
+ pm_196_0_EEFI = 0x0789E7AD3B62AE98,
+ pm_197_0_BURAKKII = 0x11A4B28C3399FCAE,
+ pm_198_0_m_YAMIKARASU = 0xB23DD104F7E3E7B4,
+ pm_198_0_f_YAMIKARASU = 0xAC41D5A69B91BDAB,
+ pm_200_0_MUUMA = 0x20E1A4325B9B726C,
+ pm_201_0_ANNOON = 0xBF886D72A5EB4BFD,
+ pm_201_1_ANNOON = 0x9602FE3839CA4144,
+ pm_201_2_ANNOON = 0x7EB49AC6E76098FF,
+ pm_201_3_ANNOON = 0x73DE6E93E4244BA6,
+ pm_201_4_ANNOON = 0x0B6DBBC6F0E94019,
+ pm_201_5_ANNOON = 0xF9B45DF47EC0E120,
+ pm_201_6_ANNOON = 0x313CF262DB0926BB,
+ pm_201_7_ANNOON = 0xCEBA0A3E967DCE42,
+ pm_201_8_ANNOON = 0xB6F99FCA4E14B215,
+ pm_201_9_ANNOON = 0x088F9B28A225E77C,
+ pm_201_10_ANNOON = 0x0614F4AB758CA4EC,
+ pm_201_11_ANNOON = 0x0C0EABF9C83A6645,
+ pm_201_12_ANNOON = 0x276F6051571BDC6E,
+ pm_201_13_ANNOON = 0xAA3B9A7B0AC22E07,
+ pm_201_14_ANNOON = 0x1A82687E9C21FC88,
+ pm_201_15_ANNOON = 0x2011F8FC2EAF5BC1,
+ pm_201_16_ANNOON = 0xE7B2049B04BC0D8A,
+ pm_201_17_ANNOON = 0x4C385FB04D7D4E83,
+ pm_201_18_ANNOON = 0xECF48E67086948B4,
+ pm_201_19_ANNOON = 0xC27F8EE33D371BAD,
+ pm_201_20_ANNOON = 0x35B1F3EAFB73E6BD,
+ pm_201_21_ANNOON = 0x0649E4802BBCA904,
+ pm_201_22_ANNOON = 0x4759AB9110BC0EBF,
+ pm_201_23_ANNOON = 0xF93D4C6B30D60166,
+ pm_201_24_ANNOON = 0x1C75AA69FDB3BAD9,
+ pm_201_25_ANNOON = 0x2AA9B9D0303F75E0,
+ pm_201_26_ANNOON = 0xF32E56B416E23C7B,
+ pm_201_27_ANNOON = 0x522BF06C1BD0F102,
+ pm_207_0_m_GURAIGAA = 0xC4DB525F8E431D41,
+ pm_207_0_f_GURAIGAA = 0x18223B561661AFAA,
+ pm_208_0_m_HAGANEERU = 0x27198363BE073D43,
+ pm_208_0_f_HAGANEERU = 0xC3AA40619506B41E,
+ pm_212_0_m_HASSAMU = 0x5C57D1B11EF558EA,
+ pm_212_0_f_HASSAMU = 0xAE6050F3E9BEADF7,
+ pm_214_0_m_HERAKUROSU = 0x4DC996846E32E10F,
+ pm_214_0_f_HERAKUROSU = 0x64EA03C28BB0A824,
+ pm_215_0_m_NYUURA = 0x3A685B964260E751,
+ pm_215_0_f_NYUURA = 0xD566A415A1D96AC6,
+ pm_216_0_HIMEGUMA = 0xE0C3B017F309DB7F,
+ pm_217_0_m_RINGUMA = 0xFE62D6A9E1C90FA0,
+ pm_217_0_f_RINGUMA = 0x6EB817B2E5CE41A1,
+ pm_220_0_URIMUU = 0xC513F3A8B387CE60,
+ pm_221_0_m_INOMUU = 0x00FFEC5427C03217,
+ pm_221_0_f_INOMUU = 0x263AAFAD40F6F534,
+ pm_223_0_TEPPOUO = 0x557EA5E216D1EB04,
+ pm_224_0_m_OKUTAN = 0x5B10EEB3C42F6EF3,
+ pm_224_0_f_OKUTAN = 0xA4B557C69DC53B4C,
+ pm_226_0_MANTAIN = 0x171318BDE5AFB37F,
+ pm_233_0_PORIGON2 = 0xF5117E70DB5C0CDD,
+ pm_234_0_ODOSISI = 0xB70B74B682AEDDC0,
+ pm_239_0_EREKIDDO = 0x5A0C4392036A5A42,
+ pm_240_0_BUBHI = 0x707D85F01E28F5F9,
+ pm_242_0_HAPINASU = 0x6E67F96382437D3E,
+ pm_265_0_KEMUSSO = 0x754C295FB5F44D9B,
+ pm_266_0_KARASARISU = 0xC5F20F76E7A93719,
+ pm_267_0_m_AGEHANTO = 0xA763E53AE978AB27,
+ pm_267_0_f_AGEHANTO = 0xB6CBA708417AC6DC,
+ pm_268_0_MAYURUDO = 0xF7D10E1E3D07DF2F,
+ pm_269_0_m_DOKUKEIRU = 0xF4441F03DDB7443F,
+ pm_269_0_f_DOKUKEIRU = 0x61424A6B6B33EF06,
+ pm_280_0_RARUTOSU = 0x1335E7CF78B73FD4,
+ pm_281_0_KIRURIA = 0xA0553AA5DAAD1093,
+ pm_282_0_SAANAITO = 0x21CFEF4845D0131B,
+ pm_299_0_NOZUPASU = 0x5DFEF42CC1CFDDDA,
+ pm_315_0_m_ROZERIA = 0xD3DA7E5EE9860CFC,
+ pm_315_0_f_ROZERIA = 0xBF2D97F2A6E9C72D,
+ pm_339_0_DOZYOTTI = 0x91C4588D028D31BC,
+ pm_340_0_NAMAZUN = 0x733DF163257691E4,
+ pm_355_0_YOMAWARU = 0xC16DA720E3FF43B1,
+ pm_356_0_SAMAYOORU = 0x7A99A59187C4FEB5,
+ pm_358_0_TIRIIN = 0xF75D819C39B27EC6,
+ pm_361_0_YUKIWARASI = 0x7F59A6B1A057AAEC,
+ pm_362_0_ONIGOORI = 0xAE3C6A3413ACD75E,
+ unk_e3f241026905b7f = 0x0E3F241026905B7F,
+ pm_363_0_TAMAZARASI = 0x57BA84BA67C80340,
+ pm_363_0_TAMAZARASI_SUB099 = 0x9E3D34369C67DB99,
+ pm_364_0_TODOGURAA = 0xC416B116EAA6D876,
+ pm_365_0_TODOZERUGA = 0x5933EFC31901ADBF,
+ pm_387_0_NAETORU = 0x9D068E51A9F2B451,
+ pm_388_0_HAYASIGAME = 0x66A9CB7F10A10C9B,
+ pm_389_0_DODAITOSU = 0xE4860525BC865A83,
+ pm_390_0_HIKOZARU = 0xB1BA5D4013E6B112,
+ pm_391_0_MOUKAZARU = 0x0737E620799C467D,
+ pm_392_0_GOUKAZARU = 0x1C0192447952EEF2,
+ pm_393_0_POTTYAMA = 0x89D04AD6EC6542B5,
+ pm_394_0_POTTAISI = 0xDD7ECD313002CC84,
+ pm_395_0_ENPERUTO = 0xE35A7D27BA3D0026,
+ pm_396_0_m_MUKKURU = 0x9491991D82A95AB9,
+ pm_396_0_f_MUKKURU = 0x7E3796C48490E2F4,
+ pm_397_0_m_MUKUBAADO = 0xA9BAEC93EB49A97B,
+ pm_397_0_f_MUKUBAADO = 0x5F4117769E95A4E2,
+ pm_398_0_m_MUKUHOOKU = 0x27600C74B64ECBF1,
+ pm_398_0_f_MUKUHOOKU = 0x8C77F0DA56F7DE7C,
+ pm_399_0_m_BIPPA = 0xA1BB2DD9130A46F2,
+ pm_399_0_f_BIPPA = 0xDD75C52F7283E9BB,
+ pm_400_0_m_BIIDARU = 0xC8F7D5BF4173CE93,
+ pm_400_0_f_BIIDARU = 0xE9E6C6B33718E60E,
+ pm_401_0_m_KOROBOOSI = 0xBF27AC1629E90381,
+ pm_402_0_f_KOROTOKKU = 0xF0F994239E2F346F,
+ pm_402_0_m_KOROTOKKU = 0x2D773D3EE1C014F6,
+ pm_402_0_m_KOROTOKKU_OYABUN = 0x96C22933A5E58E3B,
+ pm_403_0_m_KORINKU = 0x168A00F24E6405B7,
+ pm_403_0_f_KORINKU = 0xFA5643FB989B3B1E,
+ pm_404_0_m_RUKUSIO = 0x984D50F262AFCEAF,
+ pm_404_0_f_RUKUSIO = 0x22F84F7815153DD6,
+ pm_405_0_m_RENTORAA = 0x7F6D9F484D4C0EA6,
+ pm_405_0_f_RENTORAA = 0x0C13D8D28EC907E5,
+ pm_406_0_SUBOMII = 0x9ECE3FC55775155F,
+ pm_407_0_m_ROZUREIDO = 0x93ABEE50A1E49467,
+ pm_407_0_f_ROZUREIDO = 0x7370532B23D76DAA,
+ pm_408_0_m_ZUGAIDOSU = 0x47AE1BFCD6B42B84,
+ pm_409_0_f_RAMUPARUDO = 0x4AE56FF6E6334961,
+ pm_410_0_TATETOPUSU = 0xB509DB56AEE937C2,
+ pm_411_0_TORIDEPUSU = 0xF4E140FB3B645905,
+ pm_412_0_MINOMUTTI = 0xA94E411B4AED0770,
+ pm_412_1_MINOMUTTI = 0x8F6AE63389246593,
+ unk_7974384d9b4c2fb6 = 0x7974384D9B4C2FB6,
+ pm_413_0_MINOMADAMU = 0x14019D9941038DFD,
+ pm_413_1_MINOMADAMU = 0x6ABFCC37361003B4,
+ unk_4cdac9407bf83af7 = 0x4CDAC9407BF83AF7,
+ pm_414_0_GAAMEIRU = 0x4BB7814C7C192D19,
+ pm_414_1_GAAMEIRU = 0xF1127750E1886890,
+ unk_25964c22fd8497f7 = 0x25964C22FD8497F7,
+ pm_415_0_m_MITUHANII = 0xAE27E66F62B5A72D,
+ pm_415_0_f_MITUHANII = 0xE597BC60EC178830,
+ pm_416_0_BIIKUIN = 0x5AD9AD5A8D788501,
+ pm_416_1_BIIKUIN = 0xDD355F94F2313486,
+ pm_417_0_m_PATIRISU = 0x6BF855FAE859F756,
+ pm_417_0_f_PATIRISU = 0x220FCB19BE6F4AD1,
+ pm_418_0_m_BUIZERU_SUB004 = 0x219A868593E0F143,
+ pm_418_0_m_BUIZERU = 0x8E22980132312750,
+ pm_418_0_f_BUIZERU = 0x2C54942E5AC186C5,
+ pm_419_0_m_HUROOZERU = 0x4F33189725E4177E,
+ pm_419_0_f_HUROOZERU = 0x3E9C477265BDCCFB,
+ pm_420_0_THERINBO = 0x2CFB32D06BB0ABCE,
+ pm_421_0_THERIMU = 0x36A980CFC8258668,
+ pm_421_1_THERIMU = 0x3A220AFBFED99063,
+ pm_422_0_KARANAKUSI = 0x3D972A66844FA833,
+ pm_422_1_KARANAKUSI = 0xC917F1220D646DBE,
+ pm_423_0_TORITODON = 0x3F6DE4B7DD492468,
+ pm_423_1_TORITODON = 0x20D99D21DD492357,
+ pm_424_0_m_ETEBOOSU = 0xC460FB2533D4748D,
+ pm_424_0_f_ETEBOOSU = 0xCD7032496A7C365A,
+ pm_425_0_HUWANTE = 0x5C60998F55A4C354,
+ pm_426_0_HUWARAIDO = 0x313B485EBC2171CD,
+ pm_427_0_MIMIRORU = 0x78ACE351AD05FBD4,
+ pm_428_0_MIMIROPPU = 0x9328F61FB61F13E5,
+ pm_429_0_MUUMAAZI = 0xD055895E765EEC2F,
+ pm_430_0_DONKARASU = 0x4199B6BDAAAD449E,
+ pm_431_0_NYARUMAA = 0x032B6F5BC52B5EFD,
+ pm_432_0_BUNYATTO = 0xF3D0F56A34A59780,
+ pm_433_0_RIISYAN = 0x0FD922D98261F028,
+ pm_434_0_SUKANPUU = 0x19EE4EA3ADF0B902,
+ pm_435_0_SUKATANKU = 0x584AF50A97D6E1D6,
+ pm_436_0_DOOMIRAA = 0xB03300749E45BB04,
+ pm_437_0_DOOTAKUN = 0xFB9DAD7C0A306304,
+ pm_438_0_USOHATI = 0xB8497707B9AFFFC3,
+ pm_439_0_MANENE = 0xE7676C20D594CB1D,
+ pm_440_0_PINPUKU = 0x28C7077067B3CBC1,
+ pm_441_0_PERAPPU = 0x6F92EA1DC51CABCF,
+ pm_442_0_MIKARUGE = 0x11BA4D9585AACE22,
+ pm_443_0_m_HUKAMARU = 0xF894F0AAA6DF1348,
+ pm_443_0_f_HUKAMARU = 0x0E7DBE6B422BF617,
+ pm_444_0_m_GABAITO = 0x625850C05A022E48,
+ pm_444_0_f_GABAITO = 0x2B17D38BA6A71C75,
+ pm_445_0_m_GABURIASU = 0x8FD0138AED004409,
+ pm_445_0_f_GABURIASU = 0x5FFAD59344D84D98,
+ pm_446_0_GONBE = 0xA0047EEB132ED1D6,
+ pm_447_0_RIORU = 0x906BBDF18FDA41D7,
+ pm_448_0_RUKARIO = 0x17D0C6D90344C370,
+ pm_449_0_m_HIPOPOTASU = 0x079843AF139A4302,
+ pm_449_0_f_HIPOPOTASU = 0x4A086453137B138D,
+ pm_450_0_m_KABARUDON = 0x1955D84E92121D4D,
+ pm_450_0_f_KABARUDON = 0x372A069678F1F45C,
+ pm_451_0_SUKORUPI = 0x3E4BDFC71176F055,
+ pm_452_0_DORAPION = 0x8F2F65B0686BDBC0,
+ pm_453_0_m_GUREGGURU = 0x317C95E85C275D22,
+ pm_453_0_f_GUREGGURU = 0x74DAFA4E821C0EDB,
+ pm_454_0_m_DOKUROGGU = 0xE614F33C0065709B,
+ pm_454_0_f_DOKUROGGU = 0xC181CFE9A52A6D56,
+ pm_455_0_MASUKIPPA = 0x945188E7CDB5341A,
+ pm_456_0_m_KEIKOUO = 0x3A5895D1101F9037,
+ pm_456_0_f_KEIKOUO = 0x30721017FA97EC02,
+ pm_457_0_m_NEORANTO = 0xA01FDF8F36D4C849,
+ pm_457_0_f_NEORANTO = 0x94D65F44E4DB603A,
+ pm_458_0_TAMANTA = 0x9E23D7B27A3550BA,
+ pm_459_0_m_YUKIKABURI = 0xC1C9454686BF4F77,
+ pm_459_0_f_YUKIKABURI = 0x980E30C4962AF568,
+ pm_460_0_m_YUKINOOO = 0x2620F9FA5756901A,
+ pm_460_0_f_YUKINOOO = 0xA329B2071F86D54D,
+ pm_461_0_m_MANYUURA = 0x98B23602AC81C150,
+ pm_461_0_f_MANYUURA = 0xA74E932CFE83EAE7,
+ pm_462_0_ZIBAKOIRU = 0xCEEB29248D1FA839,
+ pm_463_0_BEROBERUTO = 0x8D15EF082F42FC05,
+ pm_464_0_m_DOSAIDON = 0x469278A74D72F144,
+ pm_464_0_f_DOSAIDON = 0x2C2A4B83CF084B3B,
+ pm_465_0_m_MOZYANBO = 0x34DDE3ADD16B4F75,
+ pm_465_0_f_MOZYANBO = 0xB568913D0AC707CE,
+ pm_466_0_EREKIBURU = 0xFA9958E9109B302F,
+ pm_467_0_BUUBAAN = 0xA8ED6A8D845C7B48,
+ pm_468_0_TOGEKISSU = 0x42C7F372045E2459,
+ pm_469_0_MEGAYANMA = 0x42A006A7E230D188,
+ pm_470_0_RIIFIA = 0xC68BD7FDEAACED3A,
+ pm_471_0_GUREISIA = 0x9C12AB8FB6B90E68,
+ pm_472_0_GURAION = 0x5877A05E2FBA2709,
+ pm_473_0_m_MANMUU = 0x386D73EBE6A7B8F4,
+ pm_473_0_f_MANMUU = 0x306E81A939CB3993,
+ pm_474_0_PORIGONz = 0xC08438286952740C,
+ pm_475_0_ERUREIDO = 0x5E5D71F3E0CBE9DC,
+ pm_476_0_DAINOOZU = 0xDC018AA5878C8807,
+ pm_477_0_YONOWAARU = 0x6DE0698BBCB2CA2C,
+ pm_478_0_YUKIMENOKO = 0x7B36F7A58164D977,
+ pm_479_0_ROTOMU = 0x9E8D599701378583,
+ pm_479_1_ROTOMU = 0x6862791F06B78BDE,
+ pm_479_2_ROTOMU = 0xFBBC6B6C015DC941,
+ pm_479_3_ROTOMU = 0xB95C351BE7E9F834,
+ pm_479_4_ROTOMU = 0xD6EA55B5B5D9744F,
+ pm_479_5_ROTOMU = 0xC56571B25632522A,
+ pm_480_0_YUKUSII = 0x97CC9929EDDBD5F8,
+ pm_481_0_EMURITTO = 0x8C9946681252830B,
+ pm_482_0_AGUNOMU = 0xA8EF99AAF7F5F7C5,
+ pm_483_0_DHIARUGA = 0x106E7182195C260F,
+ pm_484_0_PARUKIA = 0xA055D9B805436A0C,
+ pm_485_0_HIIDORAN = 0x206088562697898E,
+ pm_486_0_REZIGIGASU = 0xBFA4299E98FB33D9,
+ pm_487_0_GIRATHINA = 0x23026AD6C36A3435,
+ pm_487_1_GIRATHINA = 0x2E7B41BCE75826F6,
+ pm_488_0_KURESERIA = 0x97E7ED85C87A3DB6,
+ pm_489_0_FIONE = 0x4E0596A7E5646341,
+ pm_490_0_MANAFI = 0x4535E33F5E564902,
+ pm_491_0_DAAKURAI = 0x983A46CEAB2742D7,
+ pm_492_0_SHEIMI = 0x8E7C1BF15AA87E41,
+ pm_492_1_SHEIMI = 0x586CE849A27477A0,
+ pm_493_0_ARUSEUSU = 0xB7ECCDAE6F5707D2,
+ pm_493_1_ARUSEUSU = 0x38B4B39EC0768C67,
+ pm_493_2_ARUSEUSU = 0x7600DD72ED3B4920,
+ pm_493_3_ARUSEUSU = 0xBB368794840D45A5,
+ pm_493_4_ARUSEUSU = 0xFF87AC2753F1C9C6,
+ pm_493_5_ARUSEUSU = 0x4CA11DC3DAF364CB,
+ pm_493_6_ARUSEUSU = 0x0615848DE67F0FB4,
+ pm_493_7_ARUSEUSU = 0x6FEF6D44ECB59C69,
+ pm_493_8_ARUSEUSU = 0x7E7D8A31F8F21EEA,
+ pm_493_9_ARUSEUSU = 0x2F0E2FB68A052C5F,
+ pm_493_10_ARUSEUSU = 0xDC6E25257282CB55,
+ pm_493_11_ARUSEUSU = 0x40D7A8B92AF09D90,
+ pm_493_12_ARUSEUSU = 0x4B8A666460A38C97,
+ pm_493_13_ARUSEUSU = 0x25FABC2DDC931F82,
+ pm_493_14_ARUSEUSU = 0xB312234D6E8F40D9,
+ pm_493_15_ARUSEUSU = 0x7725EA3FCD8EFBE4,
+ pm_493_16_ARUSEUSU = 0x0FE7C88F0C511E3B,
+ pm_493_17_ARUSEUSU = 0x666B55C4B5063836,
+ pm_501_0_MIZYUMARU = 0xAF4985CD1D218AFC,
+ pm_502_0_HUTATIMARU = 0x4A4A7B20881294E4,
+ pm_548_0_TYURINE = 0x84FE2D0C81A88918,
+ pm_627_0_WASIBON = 0xF74BB7703FA523A3,
+ pm_641_0_TORUNEROSU = 0x0EBA8CE66319FEFA,
+ pm_641_1_TORUNEROSU = 0x865F5B29F7D3F6AF,
+ pm_642_0_BORUTOROSU = 0x4C497F2A0096EEFB,
+ pm_642_1_BORUTOROSU = 0x630448CC6C50E58A,
+ pm_645_0_RANDOROSU = 0xC41B98740AB889EB,
+ pm_645_1_RANDOROSU = 0xD1DDBC2BA3D9DE20,
+ pm_700_0_NINFIA = 0xDABA16B3B282D08F,
+ pm_704_0_NUMERA = 0xB006977E13C42A32,
+ pm_712_0_KATIKOORU = 0x4984C3C7710B2AFC,
+ pm_722_0_MOKUROO = 0x9ECC7B26EA9E99A0,
+ pm_723_0_HUKUSUROO = 0x761DBBDEC4BAFC5E,
+ pm_899_0_ODOSISI2 = 0xC445D3C3B5C7F567,
+ unk_73cd7670de50bf92 = 0x73CD7670DE50BF92,
+ pm_900_0_SUTORAIKU2 = 0x50042EF6FFC50F49,
+ pm_900_1_SUTORAIKU2 = 0x302B5F4800F44C2C,
+ pm_903_0_rNYUURA2 = 0xC5EA76327F79BF9B,
+ pm_903_0_rNYUURA2_EVENT = 0xF39C3111234AA504,
+ unk_4504fed3686326ba = 0x4504FED3686326BA,
+ unk_109714ec91fc123d = 0x109714EC91FC123D,
+ pm_905_0_FEATOROSU = 0x92AE783A3DD4F467,
+ pm_905_1_FEATOROSU = 0x26BD2AA2A097117C,
+ pm_904_0_rHARISEN2 = 0x86369F877D6A715A,
+ pm_904_0_rHARISEN2_OYABUN = 0x00177EC637E0F547,
+ pm_902_0_m_rBASURAO2 = 0xA7370AC81DEE9DA3,
+ unk_16b2219f2c34655 = 0x016B2219F2C34655,
+ unk_62f9c9295910928d = 0x62F9C9295910928D,
+ pm_901_0_HIMEGUMA3 = 0x5E18A362DB785C35,
+ unk_1bbfaf0587dd34d2 = 0x1BBFAF0587DD34D2,
+ pm_483_1_DHIARUGA = 0x1F2BC2563CDEBE0A,
+ pm_484_1_PARUKIA = 0x5CB5954C8863A223,
+ pm_058_1_GAADHI = 0x1A09CC57C175EF9B,
+ pm_058_2_GAADHI = 0xE4AC9550E5F1457C,
+ pm_058_3_GAADHI = 0x31B695D92696C535,
+ pm_058_4_GAADHI = 0x5ABD56E662A3AF06,
+ pm_059_1_UINDHI = 0x91202B07BCD8488F,
+ pm_059_2_UINDHI = 0x906E97236B575388,
+ pm_100_1_BIRIRIDAMA = 0xDBE39C496C3FE76F,
+ pm_101_1_MARUMAIN = 0x3A491A32B94D2E10,
+ pm_101_1_MARUMAIN_EVENT = 0x30215DFE4B009037,
+ unk_414e6ea64920553 = 0x0414E6EA64920553,
+ pm_157_1_BAKUHUUN = 0x0A09CFACC06039F6,
+ pm_215_1_NYUURA = 0x2BC88AEF207952D8,
+ pm_211_1_HARIISEN = 0xC198D435BB6CE1B3,
+ pm_503_1_DAIKENKI = 0x5757780F91E52E20,
+ pm_549_1_DOREDHIA = 0xABE2F65B74FBFCF0,
+ unk_da85a46835474ec3 = 0xDA85A46835474EC3,
+ pm_550_2_BASURAO = 0xE84B34AB4E79AA10,
+ pm_570_1_ZOROA = 0xF5C64BF800CA5BC9,
+ pm_571_1_ZOROAAKU = 0xC70206D6B252D40D,
+ pm_571_1_ZOROAAKU_OYABUN = 0x119437A2C563161A,
+ pm_628_1_WHOOGURU = 0xB496C9BC67BD78CE,
Unk_0xAF53D8D0F230E305 = 0xAF53D8D0F230E305,
- Unk_0x6916B336961C2FA0 = 0x6916B336961C2FA0,
+ pm_713_1_KUREBEESU = 0x6916B336961C2FA0,
Unk_0x709A1C8060864479 = 0x709A1C8060864479,
- Unk_0x41ACC4325A7D85DE = 0x41ACC4325A7D85DE,
- Unk_0x119E0E76033FCD57 = 0x119E0E76033FCD57,
- Unk_0x581F53B307DAB7BF = 0x581F53B307DAB7BF,
- Unk_0xB480F619B5F3AE80 = 0xB480F619B5F3AE80,
- Unk_0xC5E1F48622CDF5FB = 0xC5E1F48622CDF5FB,
+ pm_713_2_KUREBEESU_OYABUN = 0x41ACC4325A7D85DE,
+ pm_705_1_NUMEIRU = 0x119E0E76033FCD57,
+ pm_706_1_NUMERUGON = 0x581F53B307DAB7BF,
+ pm_706_1_NUMERUGON_OYABUN = 0xB480F619B5F3AE80,
+ pm_724_1_ZYUNAIPAA = 0xC5E1F48622CDF5FB,
Unk_0x470C3CBEC51541FD = 0x470C3CBEC51541FD,
Unk_0x138F48FE9DB8EDF2 = 0x138F48FE9DB8EDF2,
Unk_0x6BF4C2BBB3238803 = 0x6BF4C2BBB3238803,
- Unk_0x8E3A34C6BD7D3D0D = 0x8E3A34C6BD7D3D0D,
+ pm_493_18_ARUSEUSU = 0x8E3A34C6BD7D3D0D,
};
diff --git a/pkNX.Structures.FlatBuffers/Arceus/Poke/Model Set/PokeResidentType8a.cs b/pkNX.Structures.FlatBuffers/Arceus/Poke/Model Set/PokeResidentType8a.cs
index f9bdc0c8..3dad3ebd 100644
--- a/pkNX.Structures.FlatBuffers/Arceus/Poke/Model Set/PokeResidentType8a.cs
+++ b/pkNX.Structures.FlatBuffers/Arceus/Poke/Model Set/PokeResidentType8a.cs
@@ -6,7 +6,7 @@ namespace pkNX.Structures.FlatBuffers;
public enum PokeResidentType8a : ulong
{
enigma = 0xC75DDBE25402B11C,
- unk_01 = 0xE0F6613235D0AEEE,
- unk_02 = 0xE0F9DF3235D3BADF,
- unk_03 = 0xE0F6623235D0B0A1,
+ residents_188 = 0xE0F6613235D0AEEE,
+ residents_189 = 0xE0F6623235D0B0A1,
+ residents_190 = 0xE0F9DF3235D3BADF,
};
diff --git a/pkNX.Structures.FlatBuffers/Arceus/Poke/PokeAIArchive8a.cs b/pkNX.Structures.FlatBuffers/Arceus/Poke/PokeAIArchive8a.cs
index e677faa8..44a5be9e 100644
--- a/pkNX.Structures.FlatBuffers/Arceus/Poke/PokeAIArchive8a.cs
+++ b/pkNX.Structures.FlatBuffers/Arceus/Poke/PokeAIArchive8a.cs
@@ -51,21 +51,21 @@ public class PokeAI8a
[FlatBufferItem(00)] public int Species { get; set; } // int
[FlatBufferItem(01)] public int Form { get; set; } // int
[FlatBufferItem(02)] public bool IsAlpha { get; set; } // bool
- [FlatBufferItem(03)] public string Behavior1 { get; set; } = string.Empty;
- [FlatBufferItem(04)] public string Behavior2 { get; set; } = string.Empty;
- [FlatBufferItem(05)] public string Behavior3 { get; set; } = string.Empty;
+ [FlatBufferItem(03)][TypeConverter(typeof(AIBehaviourConverter))] public string Behavior1 { get; set; } = string.Empty;
+ [FlatBufferItem(04)][TypeConverter(typeof(AIBehaviourConverter))] public string Behavior2 { get; set; } = string.Empty;
+ [FlatBufferItem(05)][TypeConverter(typeof(AIBehaviourConverter))] public string Behavior3 { get; set; } = string.Empty;
[FlatBufferItem(06)] public bool Field_06 { get; set; } // bool
[FlatBufferItem(07)] public ulong Field_07 { get; set; } // ulong 2458747221614355867
[FlatBufferItem(08)] public bool Field_08 { get; set; } = true; // bool, always true
- [FlatBufferItem(09)] public PokeAI8a_F09 Field_09 { get; set; } = new();
+ [FlatBufferItem(09)] public PokeAI8a_F09 Field_09 { get; set; } = PokeAI8a_F09.DefaultBehaviour_F09;
[FlatBufferItem(10)] public bool Field_10 { get; set; } = true; // bool, always true
- [FlatBufferItem(11)] public PokeAI8a_F09 Field_11 { get; set; } = new();
+ [FlatBufferItem(11)] public PokeAI8a_F09 Field_11 { get; set; } = PokeAI8a_F09.DefaultBehaviour_F11;
[FlatBufferItem(12)] public bool Field_12 { get; set; } = true; // bool, always true except for Darkrai
- [FlatBufferItem(13)] public PokeAI8a_F09 Field_13 { get; set; } = new();
+ [FlatBufferItem(13)] public PokeAI8a_F09 Field_13 { get; set; } = PokeAI8a_F09.DefaultBehaviour02;
[FlatBufferItem(14)] public bool Field_14 { get; set; } = true; // bool, always true
- [FlatBufferItem(15)] public PokeAI8a_F09 Field_15 { get; set; } = new();
+ [FlatBufferItem(15)] public PokeAI8a_F09 Field_15 { get; set; } = PokeAI8a_F09.DefaultBehaviour05;
[FlatBufferItem(16)] public bool Field_16 { get; set; } = true; // bool, always true
- [FlatBufferItem(17)] public PokeAI8a_F09 Field_17 { get; set; } = new();
+ [FlatBufferItem(17)] public PokeAI8a_F09 Field_17 { get; set; } = PokeAI8a_F09.DefaultBehaviour05;
[FlatBufferItem(18)] public PokeAI8a_F18 Field_18 { get; set; } = new(); // only used by Kleavor-1
[FlatBufferItem(19)] public PokeAI8a_F18 Field_19 { get; set; } = new(); // assumed same as above, none use
[FlatBufferItem(20)] public PokeAI8a_F18 Field_20 { get; set; } = new(); // assumed same as above, none use
@@ -104,26 +104,68 @@ public class PokeAI8a_F18
[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))]
public class PokeAI8a_F09
{
- [FlatBufferItem(00)] public PokeAIBehaviour Field_00 { get; set; } = new();
- [FlatBufferItem(01)] public PokeAIBehaviour Field_01 { get; set; } = new();
- [FlatBufferItem(02)] public PokeAIBehaviour Field_02 { get; set; } = new();
- [FlatBufferItem(03)] public PokeAIBehaviour Field_03 { get; set; } = new();
- [FlatBufferItem(04)] public PokeAIBehaviour Field_04 { get; set; } = new PokeAIBehaviour { Hash = 1234775724179408742, Parameters = new string[] { "3", "5", "60", "90", "4", "run", "Normal" } };
- [FlatBufferItem(05)] public PokeAIBehaviour Field_05 { get; set; } = new();
- [FlatBufferItem(06)] public PokeAIBehaviour Field_06 { get; set; } = new();
- [FlatBufferItem(07)] public PokeAIBehaviour Field_07 { get; set; } = new();
- [FlatBufferItem(08)] public PokeAIBehaviour Field_08 { get; set; } = new();
+ public static readonly PokeAI8a_F09 DefaultBehaviour02 = new();
+
+ public static readonly PokeAI8a_F09 DefaultBehaviour_F09 = new()
+ {
+ Field_00 = PokeAIBehaviour.DefaultBehaviour02,
+ Field_01 = PokeAIBehaviour.Behaviour_X_Params,
+ Field_02 = PokeAIBehaviour.DefaultBehaviour02,
+ Field_03 = PokeAIBehaviour.DefaultBehaviour02,
+ Field_04 = PokeAIBehaviour.Behaviour_04_Params,
+ Field_05 = PokeAIBehaviour.DefaultBehaviour02,
+ Field_06 = PokeAIBehaviour.DefaultBehaviour02,
+ Field_07 = PokeAIBehaviour.DefaultBehaviour02,
+ Field_08 = PokeAIBehaviour.Behaviour_X2_Params,
+ };
+
+ public static readonly PokeAI8a_F09 DefaultBehaviour_F11 = new()
+ {
+ Field_00 = PokeAIBehaviour.DefaultBehaviour02_20,
+ Field_01 = PokeAIBehaviour.Behaviour_04_Params,
+ Field_02 = PokeAIBehaviour.DefaultBehaviour02,
+ Field_03 = PokeAIBehaviour.DefaultBehaviour02,
+ Field_04 = PokeAIBehaviour.Behaviour_04_Params,
+ Field_05 = PokeAIBehaviour.DefaultBehaviour02,
+ Field_06 = PokeAIBehaviour.DefaultBehaviour02,
+ Field_07 = PokeAIBehaviour.DefaultBehaviour02,
+ Field_08 = PokeAIBehaviour.DefaultBehaviour02,
+ };
+
+ public static readonly PokeAI8a_F09 DefaultBehaviour05 = new()
+ {
+ Field_00 = PokeAIBehaviour.DefaultBehaviour05,
+ Field_01 = PokeAIBehaviour.DefaultBehaviour05,
+ Field_02 = PokeAIBehaviour.DefaultBehaviour05,
+ Field_03 = PokeAIBehaviour.DefaultBehaviour05,
+ Field_04 = PokeAIBehaviour.Behaviour_04_Params,
+ Field_05 = PokeAIBehaviour.DefaultBehaviour05,
+ Field_06 = PokeAIBehaviour.DefaultBehaviour05,
+ Field_07 = PokeAIBehaviour.DefaultBehaviour05,
+ Field_08 = PokeAIBehaviour.DefaultBehaviour05,
+ };
+
+ [FlatBufferItem(00)] public PokeAIBehaviour Field_00 { get; set; } = PokeAIBehaviour.DefaultBehaviour02;
+ [FlatBufferItem(01)] public PokeAIBehaviour Field_01 { get; set; } = PokeAIBehaviour.DefaultBehaviour02;
+ [FlatBufferItem(02)] public PokeAIBehaviour Field_02 { get; set; } = PokeAIBehaviour.DefaultBehaviour02;
+ [FlatBufferItem(03)] public PokeAIBehaviour Field_03 { get; set; } = PokeAIBehaviour.DefaultBehaviour02;
+ [FlatBufferItem(04)] public PokeAIBehaviour Field_04 { get; set; } = PokeAIBehaviour.Behaviour_04_Params;
+ [FlatBufferItem(05)] public PokeAIBehaviour Field_05 { get; set; } = PokeAIBehaviour.DefaultBehaviour02;
+ [FlatBufferItem(06)] public PokeAIBehaviour Field_06 { get; set; } = PokeAIBehaviour.DefaultBehaviour02;
+ [FlatBufferItem(07)] public PokeAIBehaviour Field_07 { get; set; } = PokeAIBehaviour.DefaultBehaviour02;
+ [FlatBufferItem(08)] public PokeAIBehaviour Field_08 { get; set; } = PokeAIBehaviour.DefaultBehaviour02;
}
[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))]
public class PokeAIBehaviour
{
- // Hash 9252365659083253459 = new string[] { "0.2", "35" };
- // Hash 17205188591700921149 = new string[] { "10", "3", "run", "Normal" };
- // Hash 17205188591700921149 = new string[] { "10", "0.5", "run", "Normal" };
- // Hash 1234775724179408742 = new string[] { "3", "5", "60", "90", "4", "run", "Normal" };
+ public static readonly PokeAIBehaviour DefaultBehaviour02 = new() { BehaviourHash = 9252365659083253459, Parameters = new string[] { "0.2", "35" } };
+ public static readonly PokeAIBehaviour DefaultBehaviour02_20 = new() { BehaviourHash = 9252365659083253459, Parameters = new string[] { "0.2", "20" } };
+ public static readonly PokeAIBehaviour DefaultBehaviour05 = new() { BehaviourHash = 9252365659083253459, Parameters = new string[] { "0.5", "35" } };
+ public static readonly PokeAIBehaviour Behaviour_X_Params = new() { BehaviourHash = 17205188591700921149, Parameters = new string[] { "10", "3", "run", "Normal" } };
+ public static readonly PokeAIBehaviour Behaviour_X2_Params = new() { BehaviourHash = 17205188591700921149, Parameters = new string[] { "10", "0.5", "run", "Normal" } };
+ public static readonly PokeAIBehaviour Behaviour_04_Params = new() { BehaviourHash = 1234775724179408742, Parameters = new string[] { "3", "5", "60", "90", "4", "run", "Normal" } };
- [FlatBufferItem(00)] public ulong Hash { get; set; } = 9252365659083253459;
- [FlatBufferItem(01)] public string[] Parameters { get; set; } = new string[] { "0.2", "35" };
+ [FlatBufferItem(00)] public ulong BehaviourHash { get; set; } = 9252365659083253459;
+ [FlatBufferItem(01)] public string[] Parameters { get; set; } = new string[] { "0.5", "35" };
}
-
diff --git a/pkNX.Structures.FlatBuffers/Arceus/Poke/PokeBattleSpawnArchive8a.cs b/pkNX.Structures.FlatBuffers/Arceus/Poke/PokeBattleSpawnArchive8a.cs
new file mode 100644
index 00000000..430037d6
--- /dev/null
+++ b/pkNX.Structures.FlatBuffers/Arceus/Poke/PokeBattleSpawnArchive8a.cs
@@ -0,0 +1,34 @@
+using System;
+using System.ComponentModel;
+using FlatSharp.Attributes;
+
+// ReSharper disable UnusedAutoPropertyAccessor.Global
+// ReSharper disable ClassNeverInstantiated.Global
+// ReSharper disable MemberCanBePrivate.Global
+// ReSharper disable UnusedType.Global
+// ReSharper disable UnusedMember.Global
+// ReSharper disable AutoPropertyCanBeMadeGetOnly.Global
+
+namespace pkNX.Structures.FlatBuffers;
+
+///
+/// Seems to be a file left over from development. Only has test entries
+///
+[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))]
+public class PokeBattleSpawnArchive8a : IFlatBufferArchive
+{
+ public byte[] Write() => FlatBufferConverter.SerializeFrom(this);
+
+ [FlatBufferItem(00)] public PokeBattleSpawn8a[] Table { get; set; } = Array.Empty();
+}
+
+[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))]
+public class PokeBattleSpawn8a
+{
+ [FlatBufferItem(00)] public string Field_00 { get; set; } = string.Empty;
+ [FlatBufferItem(01)] public string[] Field_01 { get; set; } = Array.Empty();
+ [FlatBufferItem(02)] public string[] Field_02 { get; set; } = Array.Empty();
+ [FlatBufferItem(03)] public float Field_03 { get; set; }
+ [FlatBufferItem(04)] public float Field_04 { get; set; }
+ [FlatBufferItem(05)] public float Field_05 { get; set; }
+}
diff --git a/pkNX.Structures.FlatBuffers/Arceus/Poke/PokeBodyParticleArchive8a.cs b/pkNX.Structures.FlatBuffers/Arceus/Poke/PokeBodyParticleArchive8a.cs
new file mode 100644
index 00000000..2f4566d2
--- /dev/null
+++ b/pkNX.Structures.FlatBuffers/Arceus/Poke/PokeBodyParticleArchive8a.cs
@@ -0,0 +1,43 @@
+using System;
+using System.ComponentModel;
+using FlatSharp.Attributes;
+
+// ReSharper disable UnusedAutoPropertyAccessor.Global
+// ReSharper disable ClassNeverInstantiated.Global
+// ReSharper disable MemberCanBePrivate.Global
+// ReSharper disable UnusedType.Global
+// ReSharper disable UnusedMember.Global
+// ReSharper disable AutoPropertyCanBeMadeGetOnly.Global
+
+namespace pkNX.Structures.FlatBuffers;
+
+///
+/// Seems to be a file left over from development. Only has test entries
+///
+[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))]
+public class PokeBodyParticleArchive8a : IFlatBufferArchive
+{
+ public byte[] Write() => FlatBufferConverter.SerializeFrom(this);
+
+ [FlatBufferItem(00)] public PokeBodyParticle8a[] Table { get; set; } = Array.Empty();
+}
+
+[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))]
+public class PokeBodyParticle8a
+{
+ [FlatBufferItem(00)] public uint Species { get; set; }
+ [FlatBufferItem(01)] public uint Form { get; set; }
+ [FlatBufferItem(02)] public bool Flag_02 { get; set; }
+ [FlatBufferItem(03)] public PokeBodyParticle8a_F03[] Field_03 { get; set; } = Array.Empty();
+}
+
+[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))]
+public class PokeBodyParticle8a_F03
+{
+ [FlatBufferItem(00)] public bool Flag_00 { get; set; }
+ [FlatBufferItem(01)] public bool Flag_01 { get; set; }
+ [FlatBufferItem(02)] public string Field_02 { get; set; } = string.Empty;
+ [FlatBufferItem(03)] public string Field_03 { get; set; } = string.Empty;
+ [FlatBufferItem(04)] public string Field_04 { get; set; } = string.Empty;
+ [FlatBufferItem(05)] public string Field_05 { get; set; } = string.Empty;
+}
diff --git a/pkNX.Structures.FlatBuffers/Arceus/Poke/PokeCaptureCollisionArchive8a.cs b/pkNX.Structures.FlatBuffers/Arceus/Poke/PokeCaptureCollisionArchive8a.cs
new file mode 100644
index 00000000..6f55412a
--- /dev/null
+++ b/pkNX.Structures.FlatBuffers/Arceus/Poke/PokeCaptureCollisionArchive8a.cs
@@ -0,0 +1,44 @@
+using System;
+using System.ComponentModel;
+using FlatSharp.Attributes;
+
+// ReSharper disable UnusedAutoPropertyAccessor.Global
+// ReSharper disable ClassNeverInstantiated.Global
+// ReSharper disable MemberCanBePrivate.Global
+// ReSharper disable UnusedType.Global
+// ReSharper disable UnusedMember.Global
+// ReSharper disable AutoPropertyCanBeMadeGetOnly.Global
+
+namespace pkNX.Structures.FlatBuffers;
+
+///
+/// Seems to be a file left over from development. Only has test entries
+///
+[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))]
+public class PokeCaptureCollisionArchive8a : IFlatBufferArchive
+{
+ public byte[] Write() => FlatBufferConverter.SerializeFrom(this);
+
+ [FlatBufferItem(00)] public PokeCaptureCollision8a[] Table { get; set; } = Array.Empty();
+}
+
+[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))]
+public class PokeCaptureCollision8a
+{
+ [FlatBufferItem(00)] public uint Species { get; set; }
+ [FlatBufferItem(01)] public uint Form { get; set; }
+ [FlatBufferItem(02)] public PokeCaptureCollider[] Colliders { get; set; } = Array.Empty();
+}
+
+[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))]
+public class PokeCaptureCollider
+{
+ [FlatBufferItem(00)] public string SocketName { get; set; } = string.Empty;
+ [FlatBufferItem(01)] public string Shape { get; set; } = string.Empty;
+ [FlatBufferItem(02)] public float[] ShapeParameters { get; set; } = Array.Empty();
+ [FlatBufferItem(03)] public float OffsetX { get; set; }
+ [FlatBufferItem(04)] public float OffsetY { get; set; }
+ [FlatBufferItem(05)] public float OffsetZ { get; set; }
+ [FlatBufferItem(06)] public string Type { get; set; } = string.Empty;
+ [FlatBufferItem(07)] public string Field_07 { get; set; } = string.Empty;
+}
diff --git a/pkNX.Structures.FlatBuffers/Arceus/Poke/PokeDefaultLocatorArchive8a.cs b/pkNX.Structures.FlatBuffers/Arceus/Poke/PokeDefaultLocatorArchive8a.cs
new file mode 100644
index 00000000..f551fff6
--- /dev/null
+++ b/pkNX.Structures.FlatBuffers/Arceus/Poke/PokeDefaultLocatorArchive8a.cs
@@ -0,0 +1,33 @@
+using System;
+using System.ComponentModel;
+using FlatSharp.Attributes;
+
+// ReSharper disable UnusedAutoPropertyAccessor.Global
+// ReSharper disable ClassNeverInstantiated.Global
+// ReSharper disable MemberCanBePrivate.Global
+// ReSharper disable UnusedType.Global
+// ReSharper disable UnusedMember.Global
+// ReSharper disable AutoPropertyCanBeMadeGetOnly.Global
+
+namespace pkNX.Structures.FlatBuffers;
+
+///
+/// Seems to be a file left over from development. Only has test entries
+///
+[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))]
+public class PokeDefaultLocatorArchive8a : IFlatBufferArchive
+{
+ public byte[] Write() => FlatBufferConverter.SerializeFrom(this);
+
+ [FlatBufferItem(00)] public PokeDefaultLocator8a[] Table { get; set; } = Array.Empty();
+}
+
+[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))]
+public class PokeDefaultLocator8a
+{
+ [FlatBufferItem(00)] public string Locator { get; set; } = string.Empty;
+ [FlatBufferItem(01)] public string Socket { get; set; } = string.Empty;
+ [FlatBufferItem(02)] public Vec3f Position { get; set; } = Vec3f.Zero;
+ [FlatBufferItem(03)] public Vec3f Rotation { get; set; } = Vec3f.Zero;
+ [FlatBufferItem(04)] public Vec3f Scale { get; set; } = Vec3f.One;
+}
diff --git a/pkNX.Structures.FlatBuffers/Arceus/Pokedex/PokedexResearchTable.cs b/pkNX.Structures.FlatBuffers/Arceus/Pokedex/PokedexResearchTable.cs
index 8e0525f8..c403214f 100644
--- a/pkNX.Structures.FlatBuffers/Arceus/Pokedex/PokedexResearchTable.cs
+++ b/pkNX.Structures.FlatBuffers/Arceus/Pokedex/PokedexResearchTable.cs
@@ -51,16 +51,16 @@ public class PokedexResearchTask
[FlatBufferItem(03)] public int Move { get; set; }
[FlatBufferItem(04)] public int MoveType { get; set; }
[FlatBufferItem(05)] public int TimeOfDay { get; set; }
- [FlatBufferItem(06)] public ulong Hash_06 { get; set; }
- [FlatBufferItem(07)] public ulong Hash_07 { get; set; }
- [FlatBufferItem(08)] public ulong Hash_08 { get; set; }
- [FlatBufferItem(09)] public int Threshold1 { get; set; }
- [FlatBufferItem(10)] public int Threshold2 { get; set; }
- [FlatBufferItem(11)] public int Threshold3 { get; set; }
- [FlatBufferItem(12)] public int Threshold4 { get; set; }
- [FlatBufferItem(13)] public int Threshold5 { get; set; }
- [FlatBufferItem(14)] public int PointsSingle { get; set; }
- [FlatBufferItem(15)] public int PointsBonus { get; set; }
+ [FlatBufferItem(06)] public ulong Hash_06 { get; set; } = 14695981039346656837;
+ [FlatBufferItem(07)] public ulong Hash_07 { get; set; } = 14695981039346656837;
+ [FlatBufferItem(08)] public ulong Hash_08 { get; set; } = 14695981039346656837;
+ [FlatBufferItem(09)] public int Threshold1 { get; set; } = 1;
+ [FlatBufferItem(10)] public int Threshold2 { get; set; } = 2;
+ [FlatBufferItem(11)] public int Threshold3 { get; set; } = 4;
+ [FlatBufferItem(12)] public int Threshold4 { get; set; } = 6;
+ [FlatBufferItem(13)] public int Threshold5 { get; set; } = 10;
+ [FlatBufferItem(14)] public int PointsSingle { get; set; } = 10;
+ [FlatBufferItem(15)] public int PointsBonus { get; set; } = 0;
[FlatBufferItem(16)] public bool RequiredForCompletion { get; set; } // Unused but referenced by code (bool is set to != 0)
}
@@ -78,4 +78,13 @@ public enum ResearchTaskType
Unknown_8,
Unknown_9,
Unknown_10,
+ Unknown_11,
+ Unknown_12,
+ Unknown_13,
+ Unknown_14,
+ Unknown_15,
+ Unknown_16,
+ Unknown_17,
+ Unknown_18,
+ Unknown_19,
}
diff --git a/pkNX.Structures.FlatBuffers/Arceus/Util/ArchiveContents8a.cs b/pkNX.Structures.FlatBuffers/Arceus/Util/ArchiveContents8a.cs
index 30c11be0..f2f85992 100644
--- a/pkNX.Structures.FlatBuffers/Arceus/Util/ArchiveContents8a.cs
+++ b/pkNX.Structures.FlatBuffers/Arceus/Util/ArchiveContents8a.cs
@@ -1,6 +1,8 @@
using System;
using System.ComponentModel;
+using System.Linq;
using FlatSharp.Attributes;
+using pkNX.Containers;
// ReSharper disable UnusedAutoPropertyAccessor.Global
// ReSharper disable ClassNeverInstantiated.Global
@@ -17,11 +19,31 @@ public class ArchiveContents8a : IFlatBufferArchive
public byte[] Write() => FlatBufferConverter.SerializeFrom(this);
[FlatBufferItem(0)] public ArchiveContent8a[] Table { get; set; } = Array.Empty();
+
+ public ArchiveContent8a AddEntry()
+ {
+ var entry = new ArchiveContent8a { };
+
+ Table = Table.Append(entry);
+ return entry;
+ }
+
+ public ArchiveContent8a AddEntry(string archiveFile, string[] internalArchiveFiles)
+ {
+ var entry = new ArchiveContent8a
+ {
+ ArchivePathHash = FnvHash.HashFnv1a_64(archiveFile),
+ ArchiveContentPathHashes = internalArchiveFiles.Select(p => FnvHash.HashFnv1a_64(p)).ToArray(),
+ };
+
+ Table = Table.Append(entry);
+ return entry;
+ }
}
[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))]
public class ArchiveContent8a
{
- [FlatBufferItem(00)] public ulong Field_00 { get; set; }
- [FlatBufferItem(01)] public ulong[] Field_01 { get; set; } = Array.Empty();
+ [FlatBufferItem(00)] public ulong ArchivePathHash { get; set; } // Eg. `bin/archive/pokemon/pm0025_00_00.gfpak` -> 0x9F0F82B368411FF
+ [FlatBufferItem(01)] public ulong[] ArchiveContentPathHashes { get; set; } = Array.Empty(); // Eg. `bin/pokemon/pm0025/pm0025_00_00/pm0025_00_00.trpokecfg` -> 0x132C0BBD4E633C28
}
diff --git a/pkNX.Structures/Converters/AIBehaviourConverter.cs b/pkNX.Structures/Converters/AIBehaviourConverter.cs
new file mode 100644
index 00000000..9ff0048b
--- /dev/null
+++ b/pkNX.Structures/Converters/AIBehaviourConverter.cs
@@ -0,0 +1,39 @@
+using System;
+using System.Collections.Generic;
+using System.ComponentModel;
+using System.Globalization;
+using System.Linq;
+
+namespace pkNX.Structures;
+
+public class AIBehaviourConverter : TypeConverter
+{
+ public static HashSet BehaviourNames = new();
+
+ public override bool CanConvertFrom(ITypeDescriptorContext context, Type sourceType)
+ {
+ return sourceType == typeof(string);
+ }
+
+ public override object ConvertFrom(ITypeDescriptorContext context, CultureInfo culture, object value)
+ {
+ if (value is string s)
+ {
+ return BehaviourNames.FirstOrDefault(x => x.StartsWith(s));
+ }
+
+ return base.ConvertFrom(context, culture, value);
+ }
+
+ public override object ConvertTo(ITypeDescriptorContext context, CultureInfo culture, object value, Type destinationType)
+ {
+ return base.ConvertTo(context, culture, value, destinationType);
+ }
+
+ public override bool GetStandardValuesSupported(ITypeDescriptorContext context) => true;
+
+ public override StandardValuesCollection GetStandardValues(ITypeDescriptorContext context)
+ {
+ return new StandardValuesCollection(BehaviourNames.ToArray());
+ }
+}
diff --git a/pkNX.WinForms/MainEditor/EditorPLA.cs b/pkNX.WinForms/MainEditor/EditorPLA.cs
index f3346835..2eda1970 100644
--- a/pkNX.WinForms/MainEditor/EditorPLA.cs
+++ b/pkNX.WinForms/MainEditor/EditorPLA.cs
@@ -230,6 +230,13 @@ void Randomize(IEnumerable arr)
}
}
+ [EditorCallable(EditorCategory.Pokemon)]
+ public void EditPokeCaptureCollision()
+ {
+ var names = ROM.GetStrings(TextName.SpeciesNames);
+ PopFlat(GameFile.PokeCaptureCollision, "Pokemon Capture Collision Editor", (z, _) => $"{names[z.Species]}{(z.Form == 0 ? "" : $"-{z.Form}")}");
+ }
+
[EditorCallable(EditorCategory.Pokemon)] public void EditBuddyBattleConfig() => PopFlatConfig(GameFile.BuddyBattleConfig, "Buddy Battle Config Editor");
[EditorCallable(EditorCategory.Pokemon)] public void EditBuddyConfig() => PopFlatConfig(GameFile.BuddyConfig, "Buddy Config Editor");
[EditorCallable(EditorCategory.Pokemon)] public void EditBuddyDirectItemConfig() => PopFlatConfig(GameFile.BuddyDirectItemConfig, "Buddy Direct Item Config Editor");
@@ -551,6 +558,12 @@ public void EditPokemonResourceList()
PopFlat(GameFile.PokemonResourceList, "Pokemon Resource List", (z, _) => $"{names[z.Species]}");
}
+ [EditorCallable(EditorCategory.Graphics)]
+ public void EditPokeBodyParticle()
+ {
+ var names = ROM.GetStrings(TextName.SpeciesNames);
+ PopFlat(GameFile.PokeBodyParticle, "Pokemon Body Particle Editor", (z, _) => $"{names[z.Species]}{(z.Form == 0 ? "" : $"-{z.Form}")}");
+ }
#endregion
#region Items Editors
@@ -665,6 +678,20 @@ public void EditAppConfigList()
PopFlat(GameFile.AppConfigList, "App Config List", (z, _) => z.OriginalPath);
}
+ [EditorCallable(EditorCategory.Misc)]
+ public void EditArchiveContents()
+ {
+ var ArchiveFolder = ROM.GetFilteredFolder(GameFile.ArchiveFolder);
+
+ var paths = ArchiveFolder.GetPaths()
+ .Select(p => Path.GetRelativePath(ROM.PathRomFS, p).Replace('\\', '/'))
+ .ToDictionary(p => FnvHash.HashFnv1a_64(p));
+
+ PopFlat(GameFile.archive_contents, "Archive Contents Editor",
+ (z, _) => paths.GetValueOrDefault(z.ArchivePathHash) ?? z.ArchivePathHash.ToString("X16"),
+ addEntryCallback: x => x.AddEntry());
+ }
+
[EditorCallable(EditorCategory.Misc)]
public void EditPokedexRankTable()
{
@@ -677,6 +704,12 @@ public void EditPokedexFormStorage()
//PopFlat(GameFile.DexFormStorage, "Pokedex Form Storage Editor", z => z.Rank.ToString());
}
+ [EditorCallable(EditorCategory.Misc)]
+ public void EditPokeDefaultLocator()
+ {
+ PopFlat(GameFile.PokeDefaultLocator, "Poke Default Locator Editor", (z, _) => z.Locator);
+ }
+
[EditorCallable(EditorCategory.Misc)] public void EditAppliStaffrollConfig() => PopFlatConfig(GameFile.AppliStaffrollConfig, "Appli Staffroll Config Editor");
[EditorCallable(EditorCategory.Misc)] public void EditCommonGeneralConfig() => PopFlatConfig(GameFile.CommonGeneralConfig, "Common General Config Editor");
[EditorCallable(EditorCategory.Misc)] public void EditDemoConfig() => PopFlatConfig(GameFile.DemoConfig, "Demo Config Editor");