DS-Pokemon-Rom-Editor/DS_Map/Resources/PokeDatabase.cs
Yako d16a707c68
Some general minor polish to Wild Editor, Trainer Editor and Move Editor (#119)
* minor enhancement to dppt wild editor

* extra tool tips for wild editor

* change "No Flag" to "Default Ability"

* add tooltips to ability and gender comboboxes

* tried improving move effect descriptions

* better move effect descriptions

* move level to the left and "fix" tab indexes
2025-09-28 11:58:15 +02:00

1911 lines
82 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

using DSPRE.ROMFiles;
using System.Collections.Generic;
using System.Drawing;
using static DSPRE.RomInfo;
namespace DSPRE.Resources {
public static class PokeDatabase {
public static class Area {
public static string[] PtAreaIconValues = new string[] {
"[00] City",
"[01] City",
"[02] Town 1",
"[03] Town 2",
"[04] Cave",
"[05] Forest",
"[06] Water",
"[07] Field",
"[08] Island",
"[09] Wood"
};
public static Dictionary<byte, string> HGSSAreaIconsDict = new Dictionary<byte, string>() {
[00] = "Not displayed",
[01] = "Wall",
[02] = "Wood",
[03] = "Town",
[04] = "Cave",
[05] = "Forest",
[06] = "Water",
[07] = "Field",
[08] = "Lake",
[09] = "Gray"
};
public static string[] HGSSAreaProperties = new string[] {
"[00] Mystery Zone",
"[01] City/Town",
"[02] Route",
"[03] Cave",
"[04] Interior [Hide Name]",
"[05] Pokémon Center",
"[06] Underground",
"[07] Unknown/Unused",
"[08] Unknown/Unused",
"[09] Unknown/Unused",
"[10] Unknown/Unused",
"[11] Unknown/Unused",
"[12] Unknown/Unused",
"[13] Unknown/Unused",
"[14] Unknown/Unused",
"[15] Unknown/Unused",
"[16] Unknown/Unused",
};
}
public static class ShowName {
public static string[] DPShowNameValues = new string[] {
"[000] Show",
"[001] Show",
"[002] Show",
"[003] Show",
"[004] Don't show"
};
public static string[] PtShowNameValues = new string[] {
"[000] Show",
"[001] Show",
"[002] Show",
"[003] Show",
"[004] Don't show",
"[128] Don't show",
"[129] Show",
"[130] Show",
"[131] Show",
"[132] Don't show",
"[134] Show"
};
}
public static class Weather {
public static Dictionary<int, string> DPWeatherDict = new Dictionary<int, string> {
[00] = "Normal",
[01] = "Normal, somewhat dark",
[02] = "Rain",
[03] = "Heavy rain",
[04] = "Thunderstorm",
[05] = "Snowfall, slow",
[06] = "Diamond dust",
[07] = "Blizzard",
[08] = "Normal [08]",
[09] = "Volcanic ash fall, slow",
[10] = "Sand storm",
[11] = "Hail",
[12] = "Rocks ascending (?)",
[13] = "Normal [13]",
[14] = "Fog",
[15] = "Deep fog",
[16] = "Dark, Flash usable",
[17] = "Lightning, no rain",
[18] = "Normal [18]",
[19] = "Normal [19]",
[20] = "Normal [20]",
[21] = "Diamond dust [21]",
[22] = "Volcanic ash storm",
[23] = "Normal [23]",
[24] = "Thunderstorm [24]",
[25] = "Normal [25]",
[26] = "Diamond dust [26]",
[27] = "Diamond dust [27]",
[28] = "Snowfall, slow [28]",
};
public static Dictionary<int, string> PtWeatherDict = new Dictionary<int, string> {
[00] = "Normal",
[01] = "Normal, somewhat dark",
[02] = "Rain",
[03] = "Heavy rain",
[04] = "Thunderstorm",
[05] = "Snowfall, slow",
[06] = "Diamond dust",
[07] = "Blizzard",
[08] = "Normal [08]",
[09] = "Volcanic ash fall, slow",
[10] = "Sand storm",
[11] = "Hail",
[12] = "Rocks ascending (?)",
[13] = "Normal [13]",
[14] = "Fog",
[15] = "Deep fog",
[16] = "Dark, Flash usable",
[17] = "Lightning, no rain",
[18] = "Light fog",
[19] = "Heavy fog",
[20] = "Normal [20]",
[21] = "Diamond dust [21]",
[22] = "Volcanic ash fall, steady",
[23] = "Eterna forest weather",
[24] = "Player spotlight [24]",
[25] = "Player spotlight [25]",
[26] = "Dark fog",
[27] = "Somewhat green",
[28] = "Somewhat red",
[29] = "Somewhat blue",
[30] = "Dim light",
[31] = "Normal [31]",
[32] = "Rain [32]",
[33] = "Normal [33]",
[34] = "Diamond dust [34]",
[35] = "Diamond dust [35]",
[36] = "Snowfall, slow [36]",
};
public static Dictionary<int, string> HGSSWeatherDict = new Dictionary<int, string> {
[00] = "Normal",
[01] = "Rain",
[02] = "Rain [2]",
[03] = "Rain [3]",
[04] = "Rain [4]",
[05] = "Snow [5]",
[06] = "Snow [6]",
[07] = "Sandstorm (in battle only)",
[08] = "Diamond Dust",
[09] = "Fog",
[10] = "Fog [10]",
[11] = "Darkness",
[12] = "Darkness after flash",
[13] = "Low Light (Battle Arcade)"
};
}
public static class CameraAngles {
public static Dictionary<int, string> DPPtCameraDict = new Dictionary<int, string>() {
[00] = "3D Normal",
[01] = "3D Top Higher",
[02] = "3D Front Low - Wide FOV",
[03] = "3D Front",
[04] = "2D Ortho",
[05] = "3D Normal - Wide FOV",
[06] = "3D Bird View",
[07] = "3D Normal [07]",
[08] = "3D Bird View Far",
[09] = "3D Front - Wide FOV",
[10] = "3D Top - Narrow",
[11] = "3D Normal [11]",
[12] = "3D Top",
[13] = "Front 3D",
[14] = "3D Top - Wide FOV",
[15] = "3D Front Low"
};
public static Dictionary<int, string> HGSSCameraDict = new Dictionary<int, string>() {
[00] = "3D Top View [00]",
[01] = "3D Front High",
[02] = "3D Lower",
[03] = "3D Front",
[04] = "2D Top View",
[05] = "Normal 3D",
[06] = "Normal 3D [06]",
[07] = "High 3D",
[08] = "3D Top View [08]",
[09] = "3D Top View [09]",
[10] = "3D High Wide",
[11] = "3D Front Wide",
[12] = "3D Lower Close",
[13] = "3D Full Front",
[14] = "3D Top View [14]",
[15] = "2D Higher",
[16] = "3D Top View [16]"
};
}
public abstract class MusicDB {
public static Dictionary<ushort, string> DPMusicDict = new Dictionary<ushort, string>() { //Perfectly contained in Platinum's, as it seems (?)
[1000] = "Mystery Zone",
[1001] = "Silence",
[1002] = "Silence (Dungeon)",
[1004] = "Twinleaf Town (Day)",
[1005] = "Sandgem Town (Day)",
[1006] = "Floaroma Town (Day)",
[1007] = "Solaceon Town (Day)",
[1008] = "Route 225 (Day)",
[1009] = "Valor Lakefront (Day)",
[1010] = "Jubilife City (Day)",
[1011] = "Canalave City (Day)",
[1012] = "Oreburgh City (Day)",
[1013] = "Eterna City (Day)",
[1014] = "Hearthome City (Day)",
[1015] = "Pastoria City (Day)",
[1016] = "Veilstone City (Day)",
[1017] = "Sunyshore City (Day)",
[1018] = "Snowpoint City (Day)",
[1019] = "Pokémon League (Day)",
[1020] = "Fight Area (Day)",
[1021] = "Route 201 (Day)",
[1022] = "Route 203 (Day)",
[1023] = "Route 205 (Day)",
[1024] = "Route 206 (Day)",
[1025] = "Route 209 (Day)",
[1026] = "Route 215 (Day)",
[1027] = "Route 216 (Day)",
[1028] = "Route 228 (Day)",
[1029] = "Rowan Opening Theme",
[1030] = "Twinleaf Town (Night)",
[1031] = "Eterna City (Day - Variation)",
[1032] = "Route 205 (Day - Variation)",
[1033] = "Twinleaf Town (Night)",
[1034] = "Sandgem Town (Night)",
[1035] = "Floaroma Town (Night)",
[1036] = "Pastoria City (Night)",
[1037] = "Route 225 (Night)",
[1038] = "Valor Lakefront (Night)",
[1039] = "Jubilife City (Night)",
[1040] = "Canalave City (Night)",
[1041] = "Oreburgh City (Night)",
[1042] = "Eterna City (Night)",
[1043] = "Hearthome CIty (Night)",
[1044] = "Pastoria City (Night)",
[1045] = "Veilstone City (Night)",
[1046] = "Sunyshore City (Night)",
[1047] = "Snowpoint City (Night)",
[1048] = "Pokémon League (Night)",
[1049] = "Fight Area (Night)",
[1050] = "Route 201 (Night)",
[1051] = "Route 203 (Night)",
[1052] = "Route 205 (Night)",
[1053] = "Route 206 (Night)",
[1054] = "Route 209 (Night)",
[1055] = "Route 215 (Night)",
[1056] = "Route 216 (Night)",
[1057] = "Route 228 (Night)",
[1058] = "Eterna City (Night - Variation)",
[1059] = "Route 205 (Night - Variation)",
[1060] = "The Underground",
[1061] = "Captured a Flag!",
[1062] = "Victory Road",
[1063] = "Eterna Forest",
[1064] = "Old Chateau",
[1065] = "Cavern on the Lake",
[1066] = "Amity Square",
[1067] = "Team Galactic HQ",
[1068] = "Galactic Eterna Building",
[1069] = "Great Marsh",
[1070] = "Lake theme (Day)",
[1071] = "Mt. Coronet",
[1072] = "Spear Pillar",
[1073] = "Stark Mountain (in)",
[1074] = "Cave 1",
[1075] = "Cave 2",
[1076] = "Elite 4 - Showdown",
[1077] = "Hall of Fame",
[1078] = "Victory Road [Unused 1]",
[1080] = "Victory Road [Unused 2]",
[1081] = "Pokémon Center (Day)",
[1073] = "Stark Mountain (in) [Unused]",
[1084] = "Hall of Fame [Unused]",
[1085] = "Pokémon Center (Day)",
[1086] = "Pokémon Center (Night)",
[1087] = "Gym theme",
[1088] = "Rowan's Lab",
[1089] = "Poffin House",
[1090] = "Pokémon Mart",
[1091] = "Game Corner",
[1092] = "Battle Tower (inside)",
[1093] = "Jubilife TV",
[1094] = "Team Galactic Lab",
[1096] = "Hall of Origin",
[1097] = "GTS theme"
};
public static Dictionary<ushort, string> PtMusicDict = new Dictionary<ushort, string>() {
[1000] = "Mystery Zone",
[1001] = "Silence",
[1002] = "Silence (Dungeon)",
[1004] = "Twinleaf Town (Day)",
[1005] = "Sandgem Town (Day)",
[1006] = "Floaroma Town (Day)",
[1007] = "Solaceon Town (Day)",
[1008] = "Route 225 (Day)",
[1009] = "Valor Lakefront (Day)",
[1010] = "Jubilife City (Day)",
[1011] = "Canalave City (Day)",
[1012] = "Oreburgh City (Day)",
[1013] = "Eterna City (Day)",
[1014] = "Hearthome City (Day)",
[1015] = "Pastoria City (Day)",
[1016] = "Veilstone City (Day)",
[1017] = "Sunyshore City (Day)",
[1018] = "Snowpoint City (Day)",
[1019] = "Pokémon League (Day)",
[1020] = "Fight Area (Day)",
[1021] = "Route 201 (Day)",
[1022] = "Route 203 (Day)",
[1023] = "Route 205 (Day)",
[1024] = "Route 206 (Day)",
[1025] = "Route 209 (Day)",
[1026] = "Route 215 (Day)",
[1027] = "Route 216 (Day)",
[1028] = "Route 228 (Day)",
[1029] = "Rowan Opening Theme",
[1030] = "Twinleaf Town (Night)",
[1031] = "Eterna City (Day - Variation)",
[1032] = "Route 205 (Day - Variation)",
[1033] = "Twinleaf Town (Night)",
[1034] = "Sandgem Town (Night)",
[1035] = "Floaroma Town (Night)",
[1036] = "Pastoria City (Night)",
[1037] = "Route 225 (Night)",
[1038] = "Valor Lakefront (Night)",
[1039] = "Jubilife City (Night)",
[1040] = "Canalave City (Night)",
[1041] = "Oreburgh City (Night)",
[1042] = "Eterna City (Night)",
[1043] = "Hearthome CIty (Night)",
[1044] = "Pastoria City (Night)",
[1045] = "Veilstone City (Night)",
[1046] = "Sunyshore City (Night)",
[1047] = "Snowpoint City (Night)",
[1048] = "Pokémon League (Night)",
[1049] = "Fight Area (Night)",
[1050] = "Route 201 (Night)",
[1051] = "Route 203 (Night)",
[1052] = "Route 205 (Night)",
[1053] = "Route 206 (Night)",
[1054] = "Route 209 (Night)",
[1055] = "Route 215 (Night)",
[1056] = "Route 216 (Night)",
[1057] = "Route 228 (Night)",
[1058] = "Eterna City (Night - Variation)",
[1059] = "Route 205 (Night - Variation)",
[1060] = "The Underground",
[1061] = "Captured a Flag!",
[1062] = "Victory Road",
[1063] = "Eterna Forest",
[1064] = "Old Chateau",
[1065] = "Cavern on the Lake",
[1066] = "Amity Square",
[1067] = "Team Galactic HQ",
[1068] = "Galactic Eterna Building",
[1069] = "Great Marsh",
[1070] = "Lake theme (Day)",
[1071] = "Mt. Coronet",
[1072] = "Spear Pillar",
[1073] = "Stark Mountain (in)",
[1074] = "Cave 1",
[1075] = "Cave 2",
[1076] = "Elite 4 - Showdown",
[1077] = "Hall of Fame",
[1078] = "Victory Road [Unused 1]",
[1080] = "Victory Road [Unused 2]",
[1081] = "Pokémon Center (Day)",
[1073] = "Stark Mountain (in) [Unused]",
[1084] = "Hall of Fame [Unused]",
[1085] = "Pokémon Center (Day)",
[1086] = "Pokémon Center (Night)",
[1087] = "Gym theme",
[1088] = "Rowan's Lab",
[1089] = "Poffin House",
[1090] = "Pokémon Mart",
[1091] = "Game Corner",
[1092] = "Battle Tower (inside)",
[1093] = "Jubilife TV",
[1094] = "Team Galactic Lab",
[1096] = "Hall of Origin",
[1097] = "GTS theme",
[1190] = "Distortion World",
[1191] = "Battle Arcade",
[1192] = "Battle Hall",
[1193] = "Battle Castle",
[1194] = "Battle Castle [Unused]",
[1195] = "Battle Factory",
[1196] = "Global Terminal",
[1198] = "Lilycove City (Bossa Nova)",
[1212] = "Wi-Fi Plaza",
[1213] = "Wi-Fi Plaza: Parade",
[1218] = "Twinleaf Town (Music Box)",
};
public static Dictionary<ushort, string> HGSSMusicDict = new Dictionary<ushort, string>() {
[1000] = "Mystery Zone",
[1001] = "Silence [Outside]",
[1002] = "Silence [Dungeon]",
[1004] = "Opening Theme",
[1008] = "Title Screen Theme",
[1013] = "Bicycle Theme",
[1018] = "New Bark Town",
[1019] = "Cherrygrove City",
[1020] = "Violet City",
[1021] = "Azalea Town",
[1022] = "Goldenrod City",
[1023] = "Ecruteak City",
[1024] = "Olivine City",
[1025] = "Cianwood City",
[1026] = "Mahogany Town",
[1027] = "Blackthorn City",
[1028] = "Route 29",
[1029] = "Route 30/31",
[1030] = "Route 32",
[1031] = "Route 33",
[1032] = "Route 34",
[1033] = "Route 35/36/37",
[1034] = "Route 40/41",
[1035] = "Route 45/46",
[1036] = "Route 38/39",
[1037] = "Route 42/43/44",
[1038] = "Vermillion City",
[1039] = "Saffron City",
[1040] = "Cerulean City",
[1041] = "Lavender Town",
[1042] = "Celadon City",
[1043] = "Fuchsia City",
[1044] = "Pewter City",
[1045] = "Viridian City",
[1046] = "Pallet Town",
[1047] = "Cinnabar Island",
[1050] = "Route 1",
[1051] = "Route 2/22",
[1052] = "Route 6",
[1053] = "Route 4/5/9/10",
[1054] = "Route 8/10",
[1055] = "Route 7/16",
[1056] = "Route 18/19/20",
[1057] = "Route 3",
[1058] = "Route 20/21",
[1059] = "Route 11",
[1060] = "Route 12/13/14/15",
[1061] = "Route 24/25",
[1062] = "Route 26/27",
[1063] = "Pokémon Center",
[1064] = "Pokémon Mart",
[1065] = "Gym theme",
[1066] = "Prof. Elm Lab",
[1068] = "Kimono Girls Theater",
[1069] = "Game Corner",
[1070] = "Battle Frontier",
[1071] = "Battle Tower",
[1072] = "Sprout Tower",
[1073] = "Ilex Forest",
[1074] = "Ruins of Alph",
[1075] = "National Park",
[1076] = "Burned Tower",
[1077] = "Bell Tower",
[1078] = "Lighthouse",
[1079] = "Team Rocket HQ",
[1080] = "Ice Path",
[1081] = "Dragon's Den",
[1082] = "Diglett's Cave",
[1083] = "Viridian Forest",
[1084] = "Victory Road",
[1085] = "Indigo Plateau",
[1092] = "PokéAthlon Game",
[1096] = "S.S. Aqua",
[1097] = "Mt. Moon Plaza",
[1099] = "Sleeping Radio Music",
[1100] = "Pokemon March Radio",
[1101] = "Unown Radio",
[1102] = "Pokeflute Radio",
[1103] = "Prof. Oak's Theme/Radio",
[1134] = "Pokéathlon Dome (In)",
[1141] = "Pokéathlon Dome (Out)",
[1143] = "Battle Factory",
[1144] = "Battle Hall",
[1145] = "Battle Arcade",
[1146] = "Battle Castle",
[1151] = "Wi-Fi Union Room",
[1153] = "WiFi Plaza Parade",
[1154] = "GTS Terminal",
[1155] = "Spin Trade Theme",
[1157] = "Route 47/48",
[1158] = "Safari Zone Gate",
[1159] = "Pal Park",
[1160] = "Ethan's Theme",
[1161] = "Lyra's Theme",
[1163] = "Kimono Girls Ritual",
[1164] = "Kimono Girls Theme",
[1165] = "Battle! Ho-Oh!",
[1166] = "Battle! Lugia",
[1166] = "Spiky-Eared Pichu",
[1168] = "Sinjoh Ruins",
[1169] = "Route 101 Radio",
[1170] = "Route 201 Radio",
[1171] = "Gym Theme [Radio]",
[1172] = "Azalea Town [Radio]",
[1172] = "Goldenrod City [Radio]",
[1173] = "Battle! Kyogre/Groudon",
[1175] = "PokéWalker Theme",
[1176] = "Battle! Arceus (Event)",
[1216] = "Route 17"
};
}
public static class EventEditor {
public static class Spawnables {
public static string[] orientationsArray = new string[] {
"Front Interaction",
"Activated from the left",
"Activated from the right",
"Activated from behind",
"Activated from any dir",
"Activated from the sides",
"Front/Back Interaction",
};
public static string[] typesArray = new string[] {
"Misc",
"Board (Front Auto-Trigger)",
"Hidden Item",
};
}
public static class Overworlds {
public static string[] movementTypesArray = new string[] {
"[00] None",
"[01] None",
"[02] Looking in all directions",
"[03] Walking around in all directions",
"[04] Walking Up, Down",
"[05] Walking Left, Right",
"[06] Looking Up, Left",
"[07] Looking Up, Right",
"[08] Looking Down, Left",
"[09] Looking Down, Right",
"[10] Looking Up, Down, Left",
"[11] Looking Up, Right, Down",
"[12] Looking Right, Left, Up",
"[13] Looking Right, Left, Down",
"[14] Facing Up",
"[15] Facing Down",
"[16] Facing Left",
"[17] Facing Right",
"[18] Counterclockwise spinning",
"[19] Clockwise spinning",
"[20] Running Up, Down",
"[21] L Run (Up, Right)",
"[22] Patrols, then stops (might crash)",
"[23] Patrols, then stops (might crash)",
"[24] L Run (Up, Right)",
"[25] Patrols, then stops (might crash)",
"[26] Patrols, then stops (might crash)",
"[27] Patrols, then stops",
"[28] L run (Right, Down)",
"[29] L run (Left, Up)",
"[30] Continuous patrolling (might crash)",
"[31] Continuous patrolling (might crash)",
"[32] L Run (Down, Right)",
"[33] L Run (Right, Up)",
"[34] Patrols Area, then stops",
"[35] Patrols Area, then stops",
"[36] L Run (Down, Left)",
"[37] Running Up, Left, Down, Right",
"[38] Running Down, Right, Up, Left",
"[39] Running Left, Down, Right, Up",
"[40] Running Right, Up, Left, Down",
"[41] Running Up, Right, Down, Left",
"[42] Running Down, Left, Up, Right",
"[43] Running Left, Up, Right, Down",
"[44] Running Right, Down, Left, Up",
"[45] Looking Up, Down",
"[46] Looking Right, Left",
"[47] Crashes game (?)",
"[48] Follow Hero",
"[49] Semi-circle spin (Down, Right, Up)",
"[50] Looking down",
"[51] Hidden Under Snow",
"[52] Hidden Under Snow",
"[53] Hidden Underground",
"[54] Hidden Under Grass",
"[55] Follow Hero",
"[56] Disappears",
"[57] Looking Left",
"[58] Looking Right",
"[59] Mimick's Player facing direction",
"[60] Mimick's Player facing direction",
"[61] Mimick's Player facing direction",
"[62] Mimick's Player facing direction",
"[63] Apparently nothing (?)",
"[64] Apparently nothing (?)",
"[65] Apparently nothing (?)",
"[66] Apparently nothing (?)",
"[67] Walking Right, Left",
"[68] Looking Right",
"[69] Apparently nothing (?)",
"[70] Apparently nothing (?)",
"[71] Looking Left"
};
}
}
public static class System {
public static Dictionary<string, GameVersions> versionsDict = new Dictionary<string, GameVersions>() {
["ADAE"] = GameVersions.Diamond,
["ADAS"] = GameVersions.Diamond,
["ADAI"] = GameVersions.Diamond,
["ADAF"] = GameVersions.Diamond,
["ADAD"] = GameVersions.Diamond,
["ADAJ"] = GameVersions.Diamond,
["APAE"] = GameVersions.Pearl,
["APAS"] = GameVersions.Pearl,
["APAI"] = GameVersions.Pearl,
["APAF"] = GameVersions.Pearl,
["APAD"] = GameVersions.Pearl,
["APAJ"] = GameVersions.Pearl,
["CPUE"] = GameVersions.Platinum,
["CPUS"] = GameVersions.Platinum,
["CPUI"] = GameVersions.Platinum,
["CPUF"] = GameVersions.Platinum,
["CPUD"] = GameVersions.Platinum,
["CPUJ"] = GameVersions.Platinum,
["CPUP"] = GameVersions.Platinum,
["IPKE"] = GameVersions.HeartGold,
["IPKS"] = GameVersions.HeartGold,
["IPKI"] = GameVersions.HeartGold,
["IPKF"] = GameVersions.HeartGold,
["IPKD"] = GameVersions.HeartGold,
["IPKJ"] = GameVersions.HeartGold,
["IPGE"] = GameVersions.SoulSilver,
["IPGS"] = GameVersions.SoulSilver,
["IPGI"] = GameVersions.SoulSilver,
["IPGF"] = GameVersions.SoulSilver,
["IPGD"] = GameVersions.SoulSilver,
["IPGJ"] = GameVersions.SoulSilver
};
public static Dictionary<byte, string> MapCollisionPainters = new Dictionary<byte, string>() {
[0x00] = "[00] Walkable",
[0x01] = "[01] Snow",
[0x02] = "[02] Leaves",
[0x04] = "[04] Grass",
[0x06] = "[06] Stairs & Ice",
[0x07] = "[07] Metal",
[0x0A] = "[0A] Cavern floor",
[0x0D] = "[0D] Wood",
[0x80] = "[80] Blocked"
};
public static Dictionary<byte, string> MapCollisionTypePainters = new Dictionary<byte, string>() {
[0x00] = "[00] None",
[0x02] = "[02] Tall Grass (Wild)",
[0x03] = "[03] Very Tall Grass (Wild)",
[0x06] = "[06] Headbutt - No Encounter",
[0x07] = "[07] Headbutt - Common Encounter",
[0x08] = "[08] Cave Floor",
[0x09] = "[09] Headbutt - Rare Encounter",
[0x0A] = "[0A] Headbutt - Special Encounter",
[0x0B] = "[0B] Old Château floor",
[0x0C] = "[0C] Ground Mountain",
[0x10] = "[10] River Water (Wild)",
[0x11] = "[11] Whirlpool (HGSS)",
[0x13] = "[13] Waterfall",
[0x15] = "[15] Sea Water (Wild)",
[0x16] = "[16] Puddle",
[0x17] = "[17] Shallow Walkable water",
[0x1D] = "[1D] Puddle (No Splashing)",
[0x20] = "[20] Ice",
[0x21] = "[21] Sand",
[0x22] = "[22] Cave Underwater",
[0x24] = "[24] Safari Zone Border",
[0x2C] = "[2C] Magma",
[0x2D] = "[2D] Reflection",
[0x30] = "[30] Block Right",
[0x31] = "[31] Block Left",
[0x32] = "[32] Block Up",
[0x33] = "[33] Block Down",
[0x34] = "[34] Block Right & Up",
[0x35] = "[35] Block Left & Up",
[0x36] = "[36] Block Right & Down",
[0x37] = "[37] Block Left & Down",
[0x38] = "[38] Jump Right",
[0x39] = "[39] Jump Left",
[0x3A] = "[3A] Jump Up (Broken in HGSS)",
[0x3B] = "[3B] Jump Down",
[0x3C] = "[3C] Ladder front",
[0x3D] = "[3D] Ladder back",
[0x3E] = "[3E] Ladder down",
[0x3F] = "[3F] Jump Corner DownLeft",
[0x40] = "[40] Slide Right",
[0x41] = "[41] Slide Left",
[0x42] = "[42] Slide Up",
[0x43] = "[43] Slide Down",
[0x49] = "[49] Block Down & Up",
[0x4A] = "[4A] Block Left & Right",
[0x4B] = "[4B] Vert Rock Climb",
[0x4C] = "[4C] Horiz Rock Climb",
[0x4D] = "[4D] Stop Sliding",
[0x5A] = "[5A] Jump Up Two Tiles",
[0x5B] = "[5B] Jump Down Two Tiles",
[0x5C] = "[5C] Jump Left Two Tiles",
[0x5D] = "[5D] Jump Right Two Tiles",
[0x5E] = "[5E] Stairs Warp (Right)",
[0x5F] = "[5F] Stairs Warp (Left)",
[0x62] = "[62] Warp Entrance (Right)",
[0x63] = "[63] Warp Entrance (Left)",
[0x64] = "[64] Warp Entrance (Up)",
[0x65] = "[65] Warp Entrance (Down)",
[0x67] = "[67] Warp Panel",
[0x69] = "[69] Door Warp",
[0x6A] = "[6A] Escalator Warp (Down-Right)",
[0x6B] = "[6B] Escalator Warp (Up-Right)",
[0x6C] = "[6C] Warp Right",
[0x6D] = "[6D] Warp Left",
[0x6E] = "[6E] Warp Up",
[0x6F] = "[6F] Warp Down",
[0x70] = "[70] Bridge Start",
[0x71] = "[71] Bridge Middle",
[0x72] = "[72] Bridge Over Cave",
[0x73] = "[73] Bridge Over Water",
[0x74] = "[74] Bridge Over Sand",
[0x75] = "[75] Bridge Over Snow",
[0x76] = "[76] Vertical bike bridge",
[0x77] = "[77] Vertical bridge (ground enc)",
[0x78] = "[78] Vertical bike bridge over water",
[0x79] = "[79] Vertical bike bridge over sand",
[0x7A] = "[7A] Horizontal bike bridge",
[0x7B] = "[7B] Horizontal bike bridge over ground encounters",
[0x7C] = "[7C] Horizontal bike bridge over water",
[0x7D] = "[7D] Horizontal bike bridge over sand",
[0x80] = "[80] Table",
[0x83] = "[83] Storage PC",
[0x85] = "[85] Open TownMap",
[0x86] = "[86] TV",
[0xA0] = "[A0] Farm Land",
[0xA1] = "[A1] Deep Snow",
[0xA2] = "[A2] Very Deep Snow",
[0xA3] = "[A3] Ultra Deep Snow",
[0xA4] = "[A4] Mud",
[0xA5] = "[A5] Deep Mud",
[0xA6] = "[A6] Mud Grass 1",
[0xA7] = "[A7] Mud Grass 2",
[0xA8] = "[A8] Snow",
[0xA9] = "[A9] Snow with Shadows",
[0xD5] = "[D5] Bridge (Vertical)",
[0xD5] = "[D5] Bridge (Horizontal)",
[0xD7] = "[D7] Bike Jump Left",
[0xD8] = "[D8] Bike Jump Right",
[0xD9] = "[D9] Bike Slope Top",
[0xDA] = "[DA] Bike Slope Bottom",
[0xDB] = "[DB] Bike parking",
[0xE0] = "[E0] Small Bookshelf 1",
[0xE1] = "[E1] Large Bookshelf 1",
[0xE2] = "[E2] Large Bookshelf 2",
[0xE3] = "[E3] Pot",
[0xE4] = "[E4] Trash Can",
[0xE5] = "[E5] Store Shelf 1",
[0xE6] = "[E6] Blueprint",
[0xEA] = "[EA] Small Bookshelf 2",
[0xEB] = "[EB] Store Shelf 2",
[0xEC] = "[EC] Store Shelf 3",
[0xFF] = "[FF] No Attribute"
};
public static Dictionary<ushort, string> pokeNames = new Dictionary<ushort, string>() {
[1] = "Bulbasaur",
[2] = "Ivysaur",
[3] = "Venusaur",
[4] = "Charmander",
[5] = "Charmeleon",
[6] = "Charizard",
[7] = "Squirtle",
[8] = "Wartortle",
[9] = "Blastoise",
[10] = "Caterpie",
[11] = "Metapod",
[12] = "Butterfree",
[13] = "Weedle",
[14] = "Kakuna",
[15] = "Beedrill",
[16] = "Pidgey",
[17] = "Pidgeotto",
[18] = "Pidgeot",
[19] = "Rattata",
[20] = "Raticate",
[21] = "Spearow",
[22] = "Fearow",
[23] = "Ekans",
[24] = "Arbok",
[25] = "Pikachu",
[26] = "Raichu",
[27] = "Sandshrew",
[28] = "Sandslash",
[29] = "Nidoran♀",
[30] = "Nidorina",
[31] = "Nidoqueen",
[32] = "Nidoran♂",
[33] = "Nidorino",
[34] = "Nidoking",
[35] = "Clefairy",
[36] = "Clefable",
[37] = "Vulpix",
[38] = "Ninetales",
[39] = "Jigglypuff",
[40] = "Wigglytuff",
[41] = "Zubat",
[42] = "Golbat",
[43] = "Oddish",
[44] = "Gloom",
[45] = "Vileplume",
[46] = "Paras",
[47] = "Parasect",
[48] = "Venonat",
[49] = "Venomoth",
[50] = "Diglett",
[51] = "Dugtrio",
[52] = "Meowth",
[53] = "Persian",
[54] = "Psyduck",
[55] = "Golduck",
[56] = "Mankey",
[57] = "Primeape",
[58] = "Growlithe",
[59] = "Arcanine",
[60] = "Poliwag",
[61] = "Poliwhirl",
[62] = "Poliwrath",
[63] = "Abra",
[64] = "Kadabra",
[65] = "Alakazam",
[66] = "Machop",
[67] = "Machoke",
[68] = "Machamp",
[69] = "Bellsprout",
[70] = "Weepinbell",
[71] = "Victreebel",
[72] = "Tentacool",
[73] = "Tentacruel",
[74] = "Geodude",
[75] = "Graveler",
[76] = "Golem",
[77] = "Ponyta",
[78] = "Rapidash",
[79] = "Slowpoke",
[80] = "Slowbro",
[81] = "Magnemite",
[82] = "Magneton",
[83] = "Farfetchd",
[84] = "Doduo",
[85] = "Dodrio",
[86] = "Seel",
[87] = "Dewgong",
[88] = "Grimer",
[89] = "Muk",
[90] = "Shellder",
[91] = "Cloyster",
[92] = "Gastly",
[93] = "Haunter",
[94] = "Gengar",
[95] = "Onix",
[96] = "Drowzee",
[97] = "Hypno",
[98] = "Krabby",
[99] = "Kingler",
[100] = "Voltorb",
[101] = "Electrode",
[102] = "Exeggcute",
[103] = "Exeggutor",
[104] = "Cubone",
[105] = "Marowak",
[106] = "Hitmonlee",
[107] = "Hitmonchan",
[108] = "Lickitung",
[109] = "Koffing",
[110] = "Weezing",
[111] = "Rhyhorn",
[112] = "Rhydon",
[113] = "Chansey",
[114] = "Tangela",
[115] = "Kangaskhan",
[116] = "Horsea",
[117] = "Seadra",
[118] = "Goldeen",
[119] = "Seaking",
[120] = "Staryu",
[121] = "Starmie",
[122] = "Mr. Mime",
[123] = "Scyther",
[124] = "Jynx",
[125] = "Electabuzz",
[126] = "Magmar",
[127] = "Pinsir",
[128] = "Tauros",
[129] = "Magikarp",
[130] = "Gyarados",
[131] = "Lapras",
[132] = "Ditto",
[133] = "Eevee",
[134] = "Vaporeon",
[135] = "Jolteon",
[136] = "Flareon",
[137] = "Porygon",
[138] = "Omanyte",
[139] = "Omastar",
[140] = "Kabuto",
[141] = "Kabutops",
[142] = "Aerodactyl",
[143] = "Snorlax",
[144] = "Articuno",
[145] = "Zapdos",
[146] = "Moltres",
[147] = "Dratini",
[148] = "Dragonair",
[149] = "Dragonite",
[150] = "Mewtwo",
[151] = "Mew",
[152] = "Chikorita",
[153] = "Bayleef",
[154] = "Meganium",
[155] = "Cyndaquil",
[156] = "Quilava",
[157] = "Typhlosion",
[158] = "Totodile",
[159] = "Croconaw",
[160] = "Feraligatr",
[161] = "Sentret",
[162] = "Furret",
[163] = "Hoothoot",
[164] = "Noctowl",
[165] = "Ledyba",
[166] = "Ledian",
[167] = "Spinarak",
[168] = "Ariados",
[169] = "Crobat",
[170] = "Chinchou",
[171] = "Lanturn",
[172] = "Pichu",
[173] = "Cleffa",
[174] = "Igglybuff",
[175] = "Togepi",
[176] = "Togetic",
[177] = "Natu",
[178] = "Xatu",
[179] = "Mareep",
[180] = "Flaaffy",
[181] = "Ampharos",
[182] = "Bellossom",
[183] = "Marill",
[184] = "Azumarill",
[185] = "Sudowoodo",
[186] = "Politoed",
[187] = "Hoppip",
[188] = "Skiploom",
[189] = "Jumpluff",
[190] = "Aipom",
[191] = "Sunkern",
[192] = "Sunflora",
[193] = "Yanma",
[194] = "Wooper",
[195] = "Quagsire",
[196] = "Espeon",
[197] = "Umbreon",
[198] = "Murkrow",
[199] = "Slowking",
[200] = "Misdreavus",
[201] = "Unown",
[202] = "Wobbuffet",
[203] = "Girafarig",
[204] = "Pineco",
[205] = "Forretress",
[206] = "Dunsparce",
[207] = "Gligar",
[208] = "Steelix",
[209] = "Snubbull",
[210] = "Granbull",
[211] = "Qwilfish",
[212] = "Scizor",
[213] = "Shuckle",
[214] = "Heracross",
[215] = "Sneasel",
[216] = "Teddiursa",
[217] = "Ursaring",
[218] = "Slugma",
[219] = "Magcargo",
[220] = "Swinub",
[221] = "Piloswine",
[222] = "Corsola",
[223] = "Remoraid",
[224] = "Octillery",
[225] = "Delibird",
[226] = "Mantine",
[227] = "Skarmory",
[228] = "Houndour",
[229] = "Houndoom",
[230] = "Kingdra",
[231] = "Phanpy",
[232] = "Donphan",
[233] = "Porygon2",
[234] = "Stantler",
[235] = "Smeargle",
[236] = "Tyrogue",
[237] = "Hitmontop",
[238] = "Smoochum",
[239] = "Elekid",
[240] = "Magby",
[241] = "Miltank",
[242] = "Blissey",
[243] = "Raikou",
[244] = "Entei",
[245] = "Suicune",
[246] = "Larvitar",
[247] = "Pupitar",
[248] = "Tyranitar",
[249] = "Lugia",
[250] = "Ho-Oh",
[251] = "Celebi",
[252] = "Treecko",
[253] = "Grovyle",
[254] = "Sceptile",
[255] = "Torchic",
[256] = "Combusken",
[257] = "Blaziken",
[258] = "Mudkip",
[259] = "Marshtomp",
[260] = "Swampert",
[261] = "Poochyena",
[262] = "Mightyena",
[263] = "Zigzagoon",
[264] = "Linoone",
[265] = "Wurmple",
[266] = "Silcoon",
[267] = "Beautifly",
[268] = "Cascoon",
[269] = "Dustox",
[270] = "Lotad",
[271] = "Lombre",
[272] = "Ludicolo",
[273] = "Seedot",
[274] = "Nuzleaf",
[275] = "Shiftry",
[276] = "Taillow",
[277] = "Swellow",
[278] = "Wingull",
[279] = "Pelipper",
[280] = "Ralts",
[281] = "Kirlia",
[282] = "Gardevoir",
[283] = "Surskit",
[284] = "Masquerain",
[285] = "Shroomish",
[286] = "Breloom",
[287] = "Slakoth",
[288] = "Vigoroth",
[289] = "Slaking",
[290] = "Nincada",
[291] = "Ninjask",
[292] = "Shedinja",
[293] = "Whismur",
[294] = "Loudred",
[295] = "Exploud",
[296] = "Makuhita",
[297] = "Hariyama",
[298] = "Azurill",
[299] = "Nosepass",
[300] = "Skitty",
[301] = "Delcatty",
[302] = "Sableye",
[303] = "Mawile",
[304] = "Aron",
[305] = "Lairon",
[306] = "Aggron",
[307] = "Meditite",
[308] = "Medicham",
[309] = "Electrike",
[310] = "Manectric",
[311] = "Plusle",
[312] = "Minun",
[313] = "Volbeat",
[314] = "Illumise",
[315] = "Roselia",
[316] = "Gulpin",
[317] = "Swalot",
[318] = "Carvanha",
[319] = "Sharpedo",
[320] = "Wailmer",
[321] = "Wailord",
[322] = "Numel",
[323] = "Camerupt",
[324] = "Torkoal",
[325] = "Spoink",
[326] = "Grumpig",
[327] = "Spinda",
[328] = "Trapinch",
[329] = "Vibrava",
[330] = "Flygon",
[331] = "Cacnea",
[332] = "Cacturne",
[333] = "Swablu",
[334] = "Altaria",
[335] = "Zangoose",
[336] = "Seviper",
[337] = "Lunatone",
[338] = "Solrock",
[339] = "Barboach",
[340] = "Whiscash",
[341] = "Corphish",
[342] = "Crawdaunt",
[343] = "Baltoy",
[344] = "Claydol",
[345] = "Lileep",
[346] = "Cradily",
[347] = "Anorith",
[348] = "Armaldo",
[349] = "Feebas",
[350] = "Milotic",
[351] = "Castform",
[352] = "Kecleon",
[353] = "Shuppet",
[354] = "Banette",
[355] = "Duskull",
[356] = "Dusclops",
[357] = "Tropius",
[358] = "Chimecho",
[359] = "Absol",
[360] = "Wynaut",
[361] = "Snorunt",
[362] = "Glalie",
[363] = "Spheal",
[364] = "Sealeo",
[365] = "Walrein",
[366] = "Clamperl",
[367] = "Huntail",
[368] = "Gorebyss",
[369] = "Relicanth",
[370] = "Luvdisc",
[371] = "Bagon",
[372] = "Shelgon",
[373] = "Salamence",
[374] = "Beldum",
[375] = "Metang",
[376] = "Metagross",
[377] = "Regirock",
[378] = "Regice",
[379] = "Registeel",
[380] = "Latias",
[381] = "Latios",
[382] = "Kyogre",
[383] = "Groudon",
[384] = "Rayquaza",
[385] = "Jirachi",
[386] = "Deoxys",
[387] = "Turtwig",
[388] = "Grotle",
[389] = "Torterra",
[390] = "Chimchar",
[391] = "Monferno",
[392] = "Infernape",
[393] = "Piplup",
[394] = "Prinplup",
[395] = "Empoleon",
[396] = "Starly",
[397] = "Staravia",
[398] = "Staraptor",
[399] = "Bidoof",
[400] = "Bibarel",
[401] = "Kricketot",
[402] = "Kricketune",
[403] = "Shinx",
[404] = "Luxio",
[405] = "Luxray",
[406] = "Budew",
[407] = "Roserade",
[408] = "Cranidos",
[409] = "Rampardos",
[410] = "Shieldon",
[411] = "Bastiodon",
[412] = "Burmy",
[413] = "Wormadam",
[414] = "Mothim",
[415] = "Combee",
[416] = "Vespiquen",
[417] = "Pachirisu",
[418] = "Buizel",
[419] = "Floatzel",
[420] = "Cherubi",
[421] = "Cherrim",
[422] = "Shellos",
[423] = "Gastrodon",
[424] = "Ambipom",
[425] = "Drifloon",
[426] = "Drifblim",
[427] = "Buneary",
[428] = "Lopunny",
[429] = "Mismagius",
[430] = "Honchkrow",
[431] = "Glameow",
[432] = "Purugly",
[433] = "Chingling",
[434] = "Stunky",
[435] = "Skuntank",
[436] = "Bronzor",
[437] = "Bronzong",
[438] = "Bonsly",
[439] = "Mime Jr.",
[440] = "Happiny",
[441] = "Chatot",
[442] = "Spiritomb",
[443] = "Gible",
[444] = "Gabite",
[445] = "Garchomp",
[446] = "Munchlax",
[447] = "Riolu",
[448] = "Lucario",
[449] = "Hippopotas",
[450] = "Hippowdon",
[451] = "Skorupi",
[452] = "Drapion",
[453] = "Croagunk",
[454] = "Toxicroak",
[455] = "Carnivine",
[456] = "Finneon",
[457] = "Lumineon",
[458] = "Mantyke",
[459] = "Snover",
[460] = "Abomasnow",
[461] = "Weavile",
[462] = "Magnezone",
[463] = "Lickilicky",
[464] = "Rhyperior",
[465] = "Tangrowth",
[466] = "Electivire",
[467] = "Magmortar",
[468] = "Togekiss",
[469] = "Yanmega",
[470] = "Leafeon",
[471] = "Glaceon",
[472] = "Gliscor",
[473] = "Mamoswine",
[474] = "Porygon-Z",
[475] = "Gallade",
[476] = "Probopass",
[477] = "Dusknoir",
[478] = "Froslass",
[479] = "Rotom",
[480] = "Uxie",
[481] = "Mesprit",
[482] = "Azelf",
[483] = "Dialga",
[484] = "Palkia",
[485] = "Heatran",
[486] = "Regigigas",
[487] = "Giratina",
[488] = "Cresselia",
[489] = "Phione",
[490] = "Manaphy",
[491] = "Darkrai",
[492] = "Shaymin",
[493] = "Arceus",
[494] = "Egg",
[495] = "Bad Egg",
// empty indices
[496] = "Egg",
[497] = "Egg",
[498] = "Egg",
[499] = "Egg",
[500] = "Egg",
[501] = "Egg",
[502] = "Egg",
[503] = "Egg",
[504] = "Egg",
[505] = "Egg",
[506] = "Egg",
[507] = "Egg",
[508] = "Egg",
[509] = "Egg",
[510] = "Egg",
[511] = "Egg",
[512] = "Egg",
[513] = "Egg",
[514] = "Egg",
[515] = "Egg",
[516] = "Egg",
[517] = "Egg",
[518] = "Egg",
[519] = "Egg",
[520] = "Egg",
[521] = "Egg",
[522] = "Egg",
[523] = "Egg",
[524] = "Egg",
[525] = "Egg",
[526] = "Egg",
[527] = "Egg",
[528] = "Egg",
[529] = "Egg",
[530] = "Egg",
[531] = "Egg",
[532] = "Egg",
[533] = "Egg",
[534] = "Egg",
[535] = "Egg",
[536] = "Egg",
[537] = "Egg",
[538] = "Egg",
[539] = "Egg",
[540] = "Egg",
[541] = "Egg",
[542] = "Egg",
[543] = "Egg",
// Gen V
[544] = "Victini",
[545] = "Snivy",
[546] = "Servine",
[547] = "Serperior",
[548] = "Tepig",
[549] = "Pignite",
[550] = "Emboar",
[551] = "Oshawott",
[552] = "Dewott",
[553] = "Samurott",
[554] = "Patrat",
[555] = "Watchog",
[556] = "Lillipup",
[557] = "Herdier",
[558] = "Stoutland",
[559] = "Purrloin",
[560] = "Liepard",
[561] = "Pansage",
[562] = "Simisage",
[563] = "Pansear",
[564] = "Simisear",
[565] = "Panpour",
[566] = "Simipour",
[567] = "Munna",
[568] = "Musharna",
[569] = "Pidove",
[570] = "Tranquill",
[571] = "Unfezant",
[572] = "Blitzle",
[573] = "Zebstrika",
[574] = "Roggenrola",
[575] = "Boldore",
[576] = "Gigalith",
[577] = "Woobat",
[578] = "Swoobat",
[579] = "Drilbur",
[580] = "Excadrill",
[581] = "Audino",
[582] = "Timburr",
[583] = "Gurdurr",
[584] = "Conkeldurr",
[585] = "Tympole",
[586] = "Palpitoad",
[587] = "Seismitoad",
[588] = "Throh",
[589] = "Sawk",
[590] = "Sewaddle",
[591] = "Swadloon",
[592] = "Leavanny",
[593] = "Venipede",
[594] = "Whirlipede",
[595] = "Scolipede",
[596] = "Cottonee",
[597] = "Whimsicott",
[598] = "Petilil",
[599] = "Lilligant",
[600] = "Basculin",
[601] = "Sandile",
[602] = "Krokorok",
[603] = "Krookodile",
[604] = "Darumaka",
[605] = "Darmanitan",
[606] = "Maractus",
[607] = "Dwebble",
[608] = "Crustle",
[609] = "Scraggy",
[610] = "Scrafty",
[611] = "Sigilyph",
[612] = "Yamask",
[613] = "Cofagrigus",
[614] = "Tirtouga",
[615] = "Carracosta",
[616] = "Archen",
[617] = "Archeops",
[618] = "Trubbish",
[619] = "Garbodor",
[620] = "Zorua",
[621] = "Zoroark",
[622] = "Minccino",
[623] = "Cinccino",
[624] = "Gothita",
[625] = "Gothorita",
[626] = "Gothitelle",
[627] = "Solosis",
[628] = "Duosion",
[629] = "Reuniclus",
[630] = "Ducklett",
[631] = "Swanna",
[632] = "Vanillite",
[633] = "Vanillish",
[634] = "Vanilluxe",
[635] = "Deerling",
[636] = "Sawsbuck",
[637] = "Emolga",
[638] = "Karrablast",
[639] = "Escavalier",
[640] = "Foongus",
[641] = "Amoonguss",
[642] = "Frillish",
[643] = "Jellicent",
[644] = "Alomomola",
[645] = "Joltik",
[646] = "Galvantula",
[647] = "Ferroseed",
[648] = "Ferrothorn",
[649] = "Klink",
[650] = "Klang",
[651] = "Klinklang",
[652] = "Tynamo",
[653] = "Eelektrik",
[654] = "Eelektross",
[655] = "Elgyem",
[656] = "Beheeyem",
[657] = "Litwick",
[658] = "Lampent",
[659] = "Chandelure",
[660] = "Axew",
[661] = "Fraxure",
[662] = "Haxorus",
[663] = "Cubchoo",
[664] = "Beartic",
[665] = "Cryogonal",
[666] = "Shelmet",
[667] = "Accelgor",
[668] = "Stunfisk",
[669] = "Mienfoo",
[670] = "Mienshao",
[671] = "Druddigon",
[672] = "Golett",
[673] = "Golurk",
[674] = "Pawniard",
[675] = "Bisharp",
[676] = "Bouffalant",
[677] = "Rufflet",
[678] = "Braviary",
[679] = "Vullaby",
[680] = "Mandibuzz",
[681] = "Heatmor",
[682] = "Durant",
[683] = "Deino",
[684] = "Zweilous",
[685] = "Hydreigon",
[686] = "Larvesta",
[687] = "Volcarona",
[688] = "Cobalion",
[689] = "Terrakion",
[690] = "Virizion",
[691] = "Tornadus",
[692] = "Thundurus",
[693] = "Reshiram",
[694] = "Zekrom",
[695] = "Landorus",
[696] = "Kyurem",
[697] = "Keldeo",
[698] = "Meloetta",
[699] = "Genesect",
};
public static class MatrixCellColors {
/* Initialize dictionary of colors corresponding to border maps in the matrix editor */
public static Dictionary<List<uint>, (Color back, Color fore)> DPPtmatrixColorsDict = new Dictionary<List<uint>, (Color back, Color fore)> {
[new List<uint> { 173, 176, 177, 179 }] = (Color.ForestGreen, Color.White),
[new List<uint> { 174 }] = (Color.SteelBlue, Color.White),
[new List<uint> { 175 }] = (Color.Sienna, Color.White),
[new List<uint> { 178 }] = (Color.PowderBlue, Color.Black),
[new List<uint> { GameMatrix.EMPTY }] = (Color.Black, Color.White)
};
public static Dictionary<List<uint>, (Color back, Color fore)> HGSSmatrixColorsDict = new Dictionary<List<uint>, (Color back, Color fore)> {
[new List<uint> { 208 }] = (Color.ForestGreen, Color.White),
[new List<uint> { 209 }] = (Color.SteelBlue, Color.White),
[new List<uint> { 210 }] = (Color.Sienna, Color.White),
[new List<uint> { 767 }] = (Color.SteelBlue, Color.White),
[new List<uint> { 821 }] = (Color.SteelBlue, Color.White),
[new List<uint> { 823 }] = (Color.ForestGreen, Color.White),
[new List<uint> { 824 }] = (Color.ForestGreen, Color.White),
[new List<uint> { 825 }] = (Color.SteelBlue, Color.White),
[new List<uint> { GameMatrix.EMPTY }] = (Color.Black, Color.White)
};
public static Dictionary<List<uint>, (Color back, Color fore)> GenericMatrixColorsDict = new Dictionary<List<uint>, (Color back, Color fore)> {
[new List<uint> { 203 }] = (Color.FromArgb(80, 200, 16), Color.White),
[new List<uint> { 204, 209 }] = (Color.SteelBlue, Color.White),
[new List<uint> { 205, 206 }] = (Color.DarkGreen, Color.White),
[new List<uint> { 207, 208 }] = (Color.ForestGreen, Color.White),
[new List<uint> { 210 }] = (Color.Sienna, Color.White),
[new List<uint> { GameMatrix.EMPTY }] = (Color.Black, Color.White)
};
}
public static class AreaPics {
public static Dictionary<int, string> hgssAreaPicDict = new Dictionary<int, string>() {
[0] = "empty",
[1] = "hgsswall",
[2] = "hgsswood",
[3] = "hgsstown",
[4] = "hgsscave",
[5] = "hgssforest",
[6] = "hgsswater",
[7] = "hgssfield",
[8] = "hgsslake",
[9] = "hgssgray"
};
}
public static class WeatherPics {
public static Dictionary<byte[], string> dpWeatherImageDict = new Dictionary<byte[], string>() {
[new byte[] { 0, 8, 13, 18, 19, 20, 23, 25 }] = "dpnormal",
[new byte[] { 1 }] = "dpcloudy",
[new byte[] { 2 }] = "dprain",
[new byte[] { 3 }] = "dpheavyrain",
[new byte[] { 4, 24 }] = "dpthunderstorm",
[new byte[] { 5, 28 }] = "dpsnowslow",
[new byte[] { 6, 21, 26, 27 }] = "dpdiamondsnow",
[new byte[] { 7 }] = "dpblizzard",
[new byte[] { 9 }] = "dpsandfall",
[new byte[] { 10 }] = "dpsandstorm",
[new byte[] { 11 }] = "dphail",
[new byte[] { 12 }] = "dprocksascending",
[new byte[] { 14 }] = "dpfog",
[new byte[] { 15 }] = "dpfog", //deep fog
[new byte[] { 16 }] = "dpdark",
[new byte[] { 17 }] = "dplightning",
[new byte[] { 22 }] = "dplightsandstorm"
};
public static Dictionary<byte[], string> ptWeatherImageDict = new Dictionary<byte[], string>() {
[new byte[] { 0, 8, 13, 20, 31, 33 }] = "ptnormal",
[new byte[] { 1 }] = "ptcloudy",
[new byte[] { 2, 32 }] = "ptrain",
[new byte[] { 3 }] = "ptheavyrain",
[new byte[] { 4 }] = "ptthunderstorm",
[new byte[] { 5, 36 }] = "ptsnowslow",
[new byte[] { 6, 21, 34, 35 }] = "ptdiamondsnow",
[new byte[] { 7 }] = "ptblizzard",
[new byte[] { 9 }] = "ptsandfall",
[new byte[] { 10 }] = "ptsandstorm",
[new byte[] { 11 }] = "pthail",
[new byte[] { 12 }] = "ptrocksascending",
[new byte[] { 14, 15 }] = "ptfog",
[new byte[] { 16 }] = "ptdark",
[new byte[] { 17 }] = "ptlightning",
[new byte[] { 18 }] = "ptlightfog",
[new byte[] { 19 }] = "ptheavyfog",
[new byte[] { 22 }] = "ptlightsandstorm",
[new byte[] { 23 }] = "ptforestweather",
[new byte[] { 24, 25 }] = "ptspotlight",
[new byte[] { 26 }] = "ptdarkfog",
[new byte[] { 27 }] = "ptgreenish",
[new byte[] { 28 }] = "ptredish",
[new byte[] { 29 }] = "ptblueish",
[new byte[] { 30 }] = "ptdim",
};
public static Dictionary<byte[], string> hgssweatherImageDict = new Dictionary<byte[], string>() {
[new byte[] { 0 }] = "hgssnormal",
[new byte[] { 1, 2, 3, 4 }] = "hgssrain",
[new byte[] { 5, 6 }] = "hgsssnow",
[new byte[] { 7 }] = "hgssnormal", //sandstorm in battle only
[new byte[] { 8 }] = "hgssdiamond",
[new byte[] { 9, 10 }] = "hgssfog",
[new byte[] { 11 }] = "hgssdark",
[new byte[] { 12 }] = "hgssdark2",
[new byte[] { 13 }] = "hgssArcade"
};
}
}
public static class MoveData {
public static string[] battleSequenceDescriptions = new string[]
{
/* 000 */ "Hit",
/* 001 */ "Causes Sleep",
/* 002 */ "May Poison (Hit)",
/* 003 */ "Restore own HP by 1/2 damage dealt",
/* 004 */ "May Burn (Hit)",
/* 005 */ "May Freeze (Hit)",
/* 006 */ "May Paralyze (Hit)",
/* 007 */ "Halves target's defense + KOs self",
/* 008 */ "Fails on awake Target; Restore own HP by 1/2 damage dealt",
/* 009 */ "Uses the last move targeted at User by a Pokémon still on field",
/* 010 */ "Raises User's Atk (Status)",
/* 011 */ "Raises User's Def (Status)",
/* 012 */ "Dummy - Raises User's Speed (Status)",
/* 013 */ "Raises User's Sp. Atk (Status)",
/* 014 */ "Dummy - Raises User's Sp. Def (Status)",
/* 015 */ "Dummy - Raises User's Accuracy (Status)",
/* 016 */ "Raises User's Evasion (Status)",
/* 017 */ "Guaranteed hit",
/* 018 */ "Lowers Target's Atk (Status)",
/* 019 */ "Lowers Target's Def (Status)",
/* 020 */ "Lowers Target's Speed (Status)",
/* 021 */ "Dummy - Lowers Target's Sp. Atk (Status)",
/* 022 */ "Dummy - Lowers Target's Sp. Def (Status)",
/* 023 */ "Lowers Target's Accuracy (Status)",
/* 024 */ "Lowers Target's Evasion (Status)",
/* 025 */ "Reset stat changes",
/* 026 */ "Bide effect",
/* 027 */ "Locked into move for 2-3 turns; confuses User after",
/* 028 */ "Force switch",
/* 029 */ "Multi-hit (2-5 times)",
/* 030 */ "Conversion effect",
/* 031 */ "May cause Flinch (Hit)",
/* 032 */ "Restore half of max HP",
/* 033 */ "Badly Poisons",
/* 034 */ "Increase prize money",
/* 035 */ "Sets Light Screen",
/* 036 */ "May Paralyze, Burn, or Freeze (Hit)",
/* 037 */ "Rest effect",
/* 038 */ "OHKO",
/* 039 */ "User charges this turn, attacks next turn with high crit chance",
/* 040 */ "Halve target's HP",
/* 041 */ "Deals 40 damage",
/* 042 */ "Prevents Target from escaping, deals 1/16 Target's max HP damage for 5 turns (Hit)",
/* 043 */ "High crit chance",
/* 044 */ "Hits twice",
/* 045 */ "User loses 1/2 max HP if move misses",
/* 046 */ "Prevents stat reduction",
/* 047 */ "Sharply raises crit chance",
/* 048 */ "1/4 damage recoil",
/* 049 */ "Causes confusion",
/* 050 */ "Sharply raises User's Atk (Status)",
/* 051 */ "Sharply raises User's Def (Status)",
/* 052 */ "Sharply raises User's Speed (Status)",
/* 053 */ "Sharply raises User's Sp. Atk (Status)",
/* 054 */ "Sharply raises User's Sp. Def (Status)",
/* 055 */ "Dummy - Sharply raises User's Accuracy (Status)",
/* 056 */ "Dummy - Sharply raises User's Evasion (Status)",
/* 057 */ "User transforms into Target",
/* 058 */ "Sharply lowers Target's Atk (Status)",
/* 059 */ "Sharply lowers Target's Def (Status)",
/* 060 */ "Sharply lowers Target's Speed (Status)",
/* 061 */ "Dummy - Sharply lowers Target's Sp. Atk (Status)",
/* 062 */ "Sharply lowers Target's Sp. Def (Status)",
/* 063 */ "Dummy - Sharply lowers Target's Accuracy (Status)",
/* 064 */ "Dummy - Sharply lowers Target's Evasion (Status)",
/* 065 */ "Sets Reflect",
/* 066 */ "Causes Poison",
/* 067 */ "Causes Paralysis",
/* 068 */ "Lowers Target's Atk (Hit)",
/* 069 */ "Lowers Target's Def (Hit)",
/* 070 */ "Lowers Target's Speed (Hit)",
/* 071 */ "Lowers Target's Sp. Atk (Hit)",
/* 072 */ "Lowers Target's Sp. Def (Hit)",
/* 073 */ "Lowers Target's Accuracy (Hit)",
/* 074 */ "Dummy - Lowers Target's Evasion (Hit)",
/* 075 */ "User charges this turn, attacks next turn with Flinch chance and high crit chance",
/* 076 */ "May Confuse (Hit)",
/* 077 */ "Multi-hit and may Poison",
/* 078 */ "Priority -1, guaranteed hit",
/* 079 */ "Substitute effect",
/* 080 */ "Requires recharge turn",
/* 081 */ "Raises User's Atk when hit; locked into move until User is KO'd or battle ends",
/* 082 */ "Mimic effect",
/* 083 */ "User uses random move",
/* 084 */ "Causes leech seed",
/* 085 */ "Do nothing",
/* 086 */ "Disables last move used for 4-7 turns",
/* 087 */ "Deals damage equal to User's level",
/* 088 */ "Deals damage equal to User's level x1.5",
/* 089 */ "Deals 2x last amount of damage received",
/* 090 */ "Locks target into last move used for 3-7 turns",
/* 091 */ "Pain Split effect",
/* 092 */ "User must be asleep; May cause Flinch",
/* 093 */ "Conversion2 effect",
/* 094 */ "Next move used by user guaranteed to hit",
/* 095 */ "User permanently replaces move with Target's last used move",
/* 096 */ "Unused 96",
/* 097 */ "Use random known move while asleep",
/* 098 */ "KO from attack causes attacker to be KO'd; active until User's next move",
/* 099 */ "Higher power the less HP user has",
/* 100 */ "Decreases PP of target's last used move by 4",
/* 101 */ "Target will remain with at least 1 HP",
/* 102 */ "Cure party of all status",
/* 103 */ "Priority +1",
/* 104 */ "Hit 3 times",
/* 105 */ "User steals Target's held item",
/* 106 */ "Prevents Target from escaping",
/* 107 */ "Sleeping Target takes 1/4 max HP damage every turn until waking up",
/* 108 */ "Raises Evasion; weak to Stomp/Rollout/Bodyslam",
/* 109 */ "Curse effect",
/* 110 */ "Unused 110",
/* 111 */ "User is protected from attacks this turn if moving first; high likelihood of failure next turn",
/* 112 */ "Sets Spikes; Stacks up to 3",
/* 113 */ "Removes a Ghost-Type Target's Normal and Fighting immunities",
/* 114 */ "All on field are KO'd in 3 turns",
/* 115 */ "Causes Sandstorm",
/* 116 */ "User survives next move with at least 1 HP",
/* 117 */ "Double power each turn, locked into move",
/* 118 */ "Sharply raises Target's Atk and causes Confusion",
/* 119 */ "2x power for every consecutive hit",
/* 120 */ "Causes Infatuation on Target if opposite gender of User",
/* 121 */ "Power based on high Friendship",
/* 122 */ "Randomly heals or damages Target; variable power",
/* 123 */ "Power based on low Friendship",
/* 124 */ "Prevents new status effects for Target for 5 turns",
/* 125 */ "May burn; Thaws User (Hit)",
/* 126 */ "Variable damage; can hit Target using Dig",
/* 127 */ "Pass stat boosts and switch out",
/* 128 */ "If Target switches, hits first with 2x damage",
/* 129 */ "Remove hazards and binding on User's side of field",
/* 130 */ "Deals 20 damage",
/* 131 */ "Unused 131",
/* 132 */ "Restore 1/2 max HP; x1.5 in Sun, x0.5 in other weather",
/* 133 */ "Unused 133",
/* 134 */ "Unused 134",
/* 135 */ "Type and Power determined by user's IVs",
/* 136 */ "Causes Rain",
/* 137 */ "Causes Harsh Sunlight",
/* 138 */ "May raise User's Def (Hit)",
/* 139 */ "May raise User's Atk (Hit)",
/* 140 */ "May raise all of User's stats (Hit)",
/* 141 */ "Unused 141",
/* 142 */ "Raises Atk by 12, loses 1/2 max HP",
/* 143 */ "Copy target stat changes",
/* 144 */ "Deals 2x damage of last move received if it was Special",
/* 145 */ "User raises Def and charges this turn, attacks next turn",
/* 146 */ "Can hit target currently in Fly/Bounce, May cause Flinch (Hit)",
/* 147 */ "2x damage on Target using Move with Move Effect ID #256",
/* 148 */ "Attacks in 2 turns after all moves; ignores type effectiveness",
/* 149 */ "2x Damage on Pokemon using Bounce/Fly",
/* 150 */ "Causes flinch and 2x damage if (a) Target has used Minimize (Hit)",
/* 151 */ "User charges this turn, attacks next turn; instant in Sun",
/* 152 */ "Guaranteed hit in Rain, may Paralyze; can hit invulnerable Fly/Bounce user",
/* 153 */ "Flee from wild Single battle; fails in trainer battles",
/* 154 */ "Hits once with each healthy party member's Atk stat; Typeless",
/* 155 */ "User charges this turn, invulnerable until it attacks next turn",
/* 156 */ "Raises Def and 2x Rollout/ Ice Ball power",
/* 157 */ "Unused 157",
/* 158 */ "Causes Flinch; fails if User was on field last turn",
/* 159 */ "All on field unable to sleep; wakes all sleeping Pokémon",
/* 160 */ "Stockpile +1, raises Def and Sp. Def; Stacks up to 3",
/* 161 */ "Damage determined by Stockpile level",
/* 162 */ "Healing determined by Stockpile level",
/* 163 */ "Unused 163",
/* 164 */ "Causes Hail",
/* 165 */ "Target is unable to use the same attack consecutively",
/* 166 */ "Raises Target's Sp. Atk and causes Confusion",
/* 167 */ "Guaranteed Burn; activates Flash Fire",
/* 168 */ "KOs self and sharply lowers Target's Atk and Sp. Atk",
/* 169 */ "2x power when user has Poison, Paralysis, or Burn",
/* 170 */ "User focuses at start of turn; Fails if User takes damage",
/* 171 */ "2x power if target is Paralyzed; cures target of Paralysis",
/* 172 */ "Redirects all moves to user",
/* 173 */ "Calls attack depending on battle environment",
/* 174 */ "Raises Target Sp. Def and Target's Electric-Type attacks have 2x power next turn",
/* 175 */ "Target can't use status moves for 3-5 turns",
/* 176 */ "Ally's attack deals 1.5x damage this turn",
/* 177 */ "Swaps User's held item with Target's",
/* 178 */ "Copy Target's ability",
/* 179 */ "Restore 1/2 User's max HP to Target at end of next turn",
/* 180 */ "Use random move known by ally",
/* 181 */ "Heal 1/16 max HP per turn; prevents User from escaping",
/* 182 */ "Lowers User's Atk and Def",
/* 183 */ "Reflects status moves back at their user",
/* 184 */ "User replenishes last-used Held-Item",
/* 185 */ "2x power if User has been hit this turn",
/* 186 */ "Removes Light Screen/Reflect from Target's side of the field",
/* 187 */ "Causes sleep next turn",
/* 188 */ "Makes Target unable to use its held item",
/* 189 */ "Set Target's HP equal to User's",
/* 190 */ "Higher power the less damage User has taken",
/* 191 */ "Swaps User's Ability with Target's",
/* 192 */ "Target is prevented from using moves shared with the user",
/* 193 */ "Cures User of Burn, Poison, or Paralysis",
/* 194 */ "PP of attacker's move which causes User KO this turn is reduced to 0",
/* 195 */ "Snatch effect",
/* 196 */ "Increase power with Target's weight",
/* 197 */ "Secondary effect determined by battle environment",
/* 198 */ "1/3 damage recoil",
/* 199 */ "Guaranteed Confusion (Hit)",
/* 200 */ "High crit chance; may Burn (Hit)",
/* 201 */ "Halve Electric-Type move damage",
/* 202 */ "May Badly Poison (Hit)",
/* 203 */ "Changes Move Type to match weather",
/* 204 */ "Harshly Lowers User's Sp. Atk",
/* 205 */ "Lowers Atk and Def",
/* 206 */ "Raises User's Def and Sp. Def",
/* 207 */ "Can hit Target using Move with Move Effect IDs #155, #263 (Hit)",
/* 208 */ "Raises User's Atk and Def",
/* 209 */ "High crit chance, may Poison (Hit)",
/* 210 */ "Halves Fire-Type move damage",
/* 211 */ "Raises User's Sp. Atk and Sp. Def",
/* 212 */ "Raises User's Atk and Speed",
/* 213 */ "Changes User's Type to match Battle Environment",
/* 214 */ "Restores 1/2 max HP and loses Flying-Type",
/* 215 */ "Gravity effect",
/* 216 */ "Dark-Type Target loses Psychic immunity",
/* 217 */ "2x Damage if Target is asleep; Wakes Target",
/* 218 */ "Lowers User's Speed (Hit)",
/* 219 */ "Greater power the slower User is than Target",
/* 220 */ "KOs self and fully heals replacement",
/* 221 */ "2x power when Target is below 1/2 HP",
/* 222 */ "Power and Type determined by User's held berry; berry is consumed",
/* 223 */ "Can only hit Target which has used Protect/Detect this turn",
/* 224 */ "User consumes Target's berry and receives its effect",
/* 225 */ "2x Speed for User's party for 3 turns",
/* 226 */ "Sharply raises random stat",
/* 227 */ "Metal Burst effect",
/* 228 */ "Switches User out after dealing damage (Hit)",
/* 229 */ "Lowers User's Def and Sp. Def (Hit)",
/* 230 */ "2x Power if user moves after target",
/* 231 */ "2x damage if Target has already taken damage this turn",
/* 232 */ "Prevents the use of all items for Target",
/* 233 */ "Power and effect determined by User's held item",
/* 234 */ "Transfers User's status condition to Target",
/* 235 */ "Higher power the less PP the move has",
/* 236 */ "Blocks all sources of healing to the Target",
/* 237 */ "Higher power the more HP Target has",
/* 238 */ "Swaps Atk and Def stats",
/* 239 */ "Suppress Target's ability",
/* 240 */ "User's party immune to crits for 5 turns",
/* 241 */ "Fails if User moves after Target; Steals Target's move and uses it at 1.5x power",
/* 242 */ "User uses the last-used Move",
/* 243 */ "Swap Atk and Sp. Atk changes",
/* 244 */ "Swap Def and Sp. Def changes",
/* 245 */ "Higher power the more stat increases Target has",
/* 246 */ "Fails if User has not used all other known moves at least once",
/* 247 */ "Set ability to Insomnia",
/* 248 */ "Fails if Target selected a status move or has already moved; Moves first",
/* 249 */ "Sets toxic spikes; Stacks up to 2",
/* 250 */ "Swap stat changes",
/* 251 */ "Restore 1/16 max HP every turn",
/* 252 */ "Gives Ground immunity",
/* 253 */ "1/3 damage recoil and Thaws User; May cause Burn to Target (Hit)",
/* 254 */ "1/4 max HP recoil",
/* 255 */ "User charges, becomes invulnerable until attack next turn; vulnerable to Move Effect ID #257",
/* 256 */ "User charges, becomes invulnerable until attack next turn; vulnerable to Move Effect IDs #89, #222",
/* 257 */ "2x damage on targets using move with Move Effect ID #255",
/* 258 */ "Defog effect",
/* 259 */ "Reverses Turn Order for 5 turns; Ignores priority",
/* 260 */ "Always hits in Hail, may cause Freeze",
/* 261 */ "Traps Target; deals 1/16th max HP damage per turn; Can hit Targets using move with Move Effect ID #255",
/* 262 */ "1/3 damage recoil, may cause Paralysis (Hit)",
/* 263 */ "User charges, becomes invulnerable until attack next turn, may cause Paralysis",
/* 264 */ "Unused 264",
/* 265 */ "Harshly lowers Sp. Atk; fails if Target is not opposite gender",
/* 266 */ "Sets stealth rocks",
/* 267 */ "May cause Confusion; chance determined by Chatter sound sample",
/* 268 */ "Type matches held Plate",
/* 269 */ "1/2 damage recoil",
/* 270 */ "KOs self and Full Restores replacement",
/* 271 */ "May harshly lower Target's Sp. Def (Hit)",
/* 272 */ "User charges, becomes invulnerable until attack next turn; ignores Protect/Detect",
/* 273 */ "May cause Flinch and/or Burn; ignores Wonder Guard (Hit)",
/* 274 */ "May cause Flinch and/or Freeze (Hit)",
/* 275 */ "May cause Flinch and/or Paralysis (Hit)",
/* 276 */ "May raise User's Sp. Atk (Hit)",
};
}
public static class PersonalData {
public class PersonalExtraFiles {
public int monId { get; set; }
public string description { get; set; }
public int iconId { get; set; }
public PersonalExtraFiles(int monId, string desc, int iconId) {
this.monId = monId;
this.description = desc;
this.iconId = iconId;
}
}
public static PersonalExtraFiles[] personalExtraFiles = new PersonalExtraFiles[] {
/* Deoxys */
new PersonalExtraFiles(386, "Attack", 496), /* Ideally replace this last number with an alt form icon id? */
new PersonalExtraFiles(386, "Defense", 497),
new PersonalExtraFiles(386, "Speed", 498),
/* Wormadam */
new PersonalExtraFiles(413, "Sandy", 529),
new PersonalExtraFiles(413, "Trash", 530),
/* Giratina */
new PersonalExtraFiles(487, "Origin", 533),
/* Shaymin */
new PersonalExtraFiles(492, "Sky", 534),
/* Rotom */
new PersonalExtraFiles(479, "Heat", 535),
new PersonalExtraFiles(479, "Wash", 536),
new PersonalExtraFiles(479, "Frost", 537),
new PersonalExtraFiles(479, "Fan", 538),
new PersonalExtraFiles(479, "Mow", 539),
};
}
}
}