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)
This commit is contained in:
Jelle
2022-10-18 21:22:38 +02:00
parent 8a75c8a725
commit 9567667ec7
15 changed files with 946 additions and 453 deletions

View File

@@ -179,8 +179,11 @@ public enum GameFile
/// <summary> Symbol Behavior Definition </summary>
SymbolBehave,
ArchiveFolder,
/// <summary> Area Resident Archive </summary>
Resident,
archive_contents,
/// <summary> "PokeEncount" Rate Multipler Archive </summary>
EncounterRateTable,
@@ -196,6 +199,7 @@ public enum GameFile
/// <summary> All pokedex research tasks </summary>
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,
}

View File

@@ -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

View File

@@ -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<string> {
"",
"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<Waza8a> GetMoves()
{
var move = this[GameFile.MoveStats];
((FolderContainer)move).Initialize();
var move = GetFilteredFolder(GameFile.MoveStats);
return new DataCache<Waza8a>(move)
{
Create = FlatBufferConverter.DeserializeFrom<Waza8a>,

View File

@@ -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<PokeModelSetEntry8a>
{
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<PokeModelSetEntry8a>();
}

View File

@@ -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,
};

View File

@@ -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,
};

View File

@@ -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" };
}

View File

@@ -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;
/// <summary>
/// Seems to be a file left over from development. Only has test entries
/// </summary>
[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))]
public class PokeBattleSpawnArchive8a : IFlatBufferArchive<PokeBattleSpawn8a>
{
public byte[] Write() => FlatBufferConverter.SerializeFrom(this);
[FlatBufferItem(00)] public PokeBattleSpawn8a[] Table { get; set; } = Array.Empty<PokeBattleSpawn8a>();
}
[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<string>();
[FlatBufferItem(02)] public string[] Field_02 { get; set; } = Array.Empty<string>();
[FlatBufferItem(03)] public float Field_03 { get; set; }
[FlatBufferItem(04)] public float Field_04 { get; set; }
[FlatBufferItem(05)] public float Field_05 { get; set; }
}

View File

@@ -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;
/// <summary>
/// Seems to be a file left over from development. Only has test entries
/// </summary>
[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))]
public class PokeBodyParticleArchive8a : IFlatBufferArchive<PokeBodyParticle8a>
{
public byte[] Write() => FlatBufferConverter.SerializeFrom(this);
[FlatBufferItem(00)] public PokeBodyParticle8a[] Table { get; set; } = Array.Empty<PokeBodyParticle8a>();
}
[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<PokeBodyParticle8a_F03>();
}
[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;
}

View File

@@ -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;
/// <summary>
/// Seems to be a file left over from development. Only has test entries
/// </summary>
[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))]
public class PokeCaptureCollisionArchive8a : IFlatBufferArchive<PokeCaptureCollision8a>
{
public byte[] Write() => FlatBufferConverter.SerializeFrom(this);
[FlatBufferItem(00)] public PokeCaptureCollision8a[] Table { get; set; } = Array.Empty<PokeCaptureCollision8a>();
}
[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<PokeCaptureCollider>();
}
[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<float>();
[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;
}

View File

@@ -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;
/// <summary>
/// Seems to be a file left over from development. Only has test entries
/// </summary>
[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))]
public class PokeDefaultLocatorArchive8a : IFlatBufferArchive<PokeDefaultLocator8a>
{
public byte[] Write() => FlatBufferConverter.SerializeFrom(this);
[FlatBufferItem(00)] public PokeDefaultLocator8a[] Table { get; set; } = Array.Empty<PokeDefaultLocator8a>();
}
[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;
}

View File

@@ -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,
}

View File

@@ -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<ArchiveContent8a>
public byte[] Write() => FlatBufferConverter.SerializeFrom(this);
[FlatBufferItem(0)] public ArchiveContent8a[] Table { get; set; } = Array.Empty<ArchiveContent8a>();
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<ulong>();
[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<ulong>(); // Eg. `bin/pokemon/pm0025/pm0025_00_00/pm0025_00_00.trpokecfg` -> 0x132C0BBD4E633C28
}

View File

@@ -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<string> 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());
}
}

View File

@@ -230,6 +230,13 @@ void Randomize(IEnumerable<PokeAdd8a> arr)
}
}
[EditorCallable(EditorCategory.Pokemon)]
public void EditPokeCaptureCollision()
{
var names = ROM.GetStrings(TextName.SpeciesNames);
PopFlat<PokeCaptureCollisionArchive8a, PokeCaptureCollision8a>(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<PokeInfoList8a, PokeInfo8a>(GameFile.PokemonResourceList, "Pokemon Resource List", (z, _) => $"{names[z.Species]}");
}
[EditorCallable(EditorCategory.Graphics)]
public void EditPokeBodyParticle()
{
var names = ROM.GetStrings(TextName.SpeciesNames);
PopFlat<PokeBodyParticleArchive8a, PokeBodyParticle8a>(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<AppConfigList8a, AppconfigEntry8a>(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<ArchiveContents8a, ArchiveContent8a>(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<PokedexRankTable, PokedexRankLevel>(GameFile.DexFormStorage, "Pokedex Form Storage Editor", z => z.Rank.ToString());
}
[EditorCallable(EditorCategory.Misc)]
public void EditPokeDefaultLocator()
{
PopFlat<PokeDefaultLocatorArchive8a, PokeDefaultLocator8a>(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");