PKHeX/PKHeX.Core/Legality/Tables7b.cs
Kurt 69a3272036 Remove fossils from key item (count==1) list
Closes #2215
can't depend on 'key item' item flag since the game allows you to get
multiples
2018-12-25 12:31:13 -08:00

369 lines
14 KiB
C#

using System.Collections.Generic;
using System.Linq;
namespace PKHeX.Core
{
public static partial class Legal
{
internal const int MaxSpeciesID_7b = 809; // Melmetal
internal const int MaxMoveID_7b = 742; // Double Iron Bash
internal const int MaxItemID_7b = 1057; // Magmar Candy
internal const int MaxBallID_7b = (int)Ball.Beast;
internal const int MaxGameID_7b = (int)GameVersion.GE;
internal const int MaxAbilityID_7b = MaxAbilityID_7_USUM;
internal static readonly ushort[] HeldItems_GG = new ushort[1];
public const int AwakeningMax = 200;
internal static readonly HashSet<int> WildPokeballs7b = new HashSet<int>
{
(int)Ball.Master, (int)Ball.Ultra, (int)Ball.Great, (int)Ball.Poke, (int)Ball.Premier,
};
#region Met Locations
internal static readonly int[] Met_GG_0 =
{
002, // Invalid
003, 004, 005, 006, 007, 008, 009,
010, 011, 012, 012, 013, 014, 015, 016, 017, 018, 019,
020, 021, 022, 022, 023, 024, 025, 026, 027, 028, 029,
030, 031, 032, 032, 033, 034, 035, 036, 037, 038, 039,
040, 041, 042, 042, 043, 044, 045, 046, 047, 048, 049,
050, 051, 052, 053,
};
internal static readonly int[] Met_GG_3 =
{
30001, 30003, 30004, 30005, 30006, 30007, 30008, 30009, 30010, 30011, 30012, 30013, 30014, 30015, 30016, 30017
};
internal static readonly int[] Met_GG_4 =
{
40001, 40002, 40003, 40004, 40005, 40006, 40007, 40008, 40009,
40010, 40011, 40012, 40013, 40014, 40015, 40016, 40017, 40018, 40019,
40020, 40021, 40022, 40023, 40024, 40025, 40026, 40027, 40028, 40029,
40030, 40031, 40032, 40033, 40034, 40035, 40036, 40037, 40038, 40039,
40040, 40041, 40042, 40043, 40044, 40045, 40046, 40047, 40048, 40049,
40050, 40051, 40052, 40053, 40054, 40055, 40056, 40057, 40058, 40059,
40060, 40061, 40062, 40063, 40064, 40065, 40066, 40067, 40068, 40069,
40070, 40071, 40072, 40073, 40074, 40075, 40076, 40077,
};
internal static readonly int[] Met_GG_6 = {/* XY */ 60001, 60003, /* ORAS */ 60004, };
#endregion
#region Items
internal static readonly ushort[] Pouch_Candy_GG_Regular =
{
050, // Rare Candy
960, 961, 962, 963, 964, 965, // S
966, 967, 968, 969, 970, 971, // L
972, 973, 974, 975, 976, 977, // XL
};
internal static readonly ushort[] Pouch_Candy_GG_Species =
{
978, 979,
980, 981, 982, 983, 984, 985, 986, 987, 988, 989,
990, 991, 992, 993, 994, 995, 996, 997, 998, 999,
1000, 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009,
1010, 1011, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019,
1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028, 1029,
1030, 1031, 1032, 1033, 1034, 1035, 1036, 1037, 1038, 1039,
1040, 1041, 1042, 1043, 1044, 1045, 1046, 1047, 1048, 1049,
1050, 1051, 1052, 1053, 1054, 1055, 1056,
1057,
};
internal static readonly ushort[] Pouch_Candy_GG = Pouch_Candy_GG_Regular.Concat(Pouch_Candy_GG_Species).ToArray();
internal static readonly ushort[] Pouch_Medicine_GG =
{
017, 018, 019, 020, 021, 022, 023, 024, 025, 026, 027, 028, 029, 030, 031, 032, 038, 039, 040, 041, 709, 903,
};
internal static readonly ushort[] Pouch_TM_GG =
{
328, 329, 330, 331, 332, 333, 334, 335, 336, 337,
338, 339, 340, 341, 342, 343, 344, 345, 346, 347,
348, 349, 350, 351, 352, 353, 354, 355, 356, 357,
358, 359, 360, 361, 362, 363, 364, 365, 366, 367,
368, 369, 370, 371, 372, 373, 374, 375, 376, 377,
378, 379, 380, 381, 382, 383, 384, 385, 386, 387,
};
internal static readonly ushort[] Pouch_PowerUp_GG =
{
051, 053, 081, 082, 083, 084, 085,
849,
};
internal static readonly ushort[] Pouch_Catching_GG =
{
001, 002, 003, 004, 012, 164, 166, 168,
861, 862, 863, 864, 865, 866,
};
internal static readonly ushort[] Pouch_Battle_GG =
{
055, 056, 057, 058, 059, 060, 061, 062,
656, 659, 660, 661, 662, 663, 671, 672, 675, 676, 678, 679,
760, 762, 770, 773,
};
internal static readonly ushort[] Pouch_Regular_GG =
{
076, 077, 078, 079, 086, 087, 088, 089,
090, 091, 092, 093, 101, 102, 103, 113, 115,
121, 122, 123, 124, 125, 126, 127, 128,
442,
571,
632, 651,
795, 796,
872, 873, 874, 875, 876, 877, 878, 885, 886, 887, 888, 889, 890, 891, 892, 893, 894, 895, 896, 900, 901, 902,
};
internal static readonly ushort[] Pouch_Regular_GG_Item =
{
076, // Super Repel
077, // Max Repel
078, // Escape Rope
079, // Repel
086, // Tiny Mushroom
087, // Big Mushroom
088, // Pearl
089, // Big Pearl
090, // Stardust
091, // Star Piece
092, // Nugget
093, // Heart Scale
571, // Pretty Wing
795, // Bottle Cap
796, // Gold Bottle Cap
900, // Lure
901, // Super Lure
902, // Max Lure
};
internal static readonly ushort[] Pouch_Regular_GG_Key =
{
113, // Tea
115, // Autograph
121, // Pokémon Box
122, // Medicine Pocket
123, // TM Case
124, // Candy Jar
125, // Power-Up Pocket
126, // Clothing Trunk
127, // Catching Pocket
128, // Battle Pocket
442, // Town Map
632, // Shiny Charm
651, // Poké Flute
872, // Secret Key
873, // S.S. Ticket
874, // Silph Scope
875, // Parcel
876, // Card Key
877, // Gold Teeth
878, // Lift Key
885, // Stretchy Spring
886, // Chalky Stone
887, // Marble
888, // Lone Earring
889, // Beach Glass
890, // Gold Leaf
891, // Silver Leaf
892, // Polished Mud Ball
893, // Tropical Shell
894, // Leaf Letter (P)
895, // Leaf Letter (E)
896, // Small Bouquet
};
#endregion
#region Moves
internal static readonly int[] MovePP_GG =
{
// Absorb: 25 -> 15 (damage buffed from 20->40)
// Mega Drain: 15 -> 10 (damage buffed from 40->75)
00,
35, 25, 10, 15, 20, 20, 15, 15, 15, 35, 30, 05, 10, 20, 30, 35, 35, 20, 15, 20, 20, 25, 20, 30, 05, 10, 15, 15, 15, 25, 20, 05, 35, 15, 20, 20, 10, 15, 30, 35, 20, 20, 30, 25, 40, 20, 15, 20, 20, 20,
30, 25, 15, 30, 25, 05, 15, 10, 05, 20, 20, 20, 05, 35, 20, 20, 20, 20, 20, 15, 15, 10, 10, 20, 25, 10, 35, 30, 15, 10, 40, 10, 15, 30, 15, 20, 10, 15, 10, 05, 10, 10, 25, 10, 20, 40, 30, 30, 20, 20,
15, 10, 40, 15, 10, 30, 10, 20, 10, 40, 40, 20, 30, 30, 20, 30, 10, 10, 20, 05, 10, 30, 20, 20, 20, 05, 15, 15, 20, 10, 15, 35, 20, 15, 10, 10, 30, 15, 40, 20, 10, 10, 05, 10, 30, 10, 15, 20, 15, 40,
20, 10, 05, 15, 10, 10, 10, 15, 30, 30, 10, 10, 20, 10, 01, 01, 10, 25, 10, 05, 15, 25, 15, 10, 15, 30, 05, 40, 15, 10, 25, 10, 30, 10, 20, 10, 10, 10, 10, 10, 20, 05, 40, 05, 05, 15, 05, 10, 05, 10,
10, 10, 10, 20, 20, 40, 15, 10, 20, 20, 25, 05, 15, 10, 05, 20, 15, 20, 25, 20, 05, 30, 05, 10, 20, 40, 05, 20, 40, 20, 15, 35, 10, 05, 05, 05, 15, 05, 20, 05, 05, 15, 20, 10, 05, 05, 15, 10, 15, 15,
10, 10, 10, 20, 10, 10, 10, 10, 15, 15, 15, 10, 20, 20, 10, 20, 20, 20, 20, 20, 10, 10, 10, 20, 20, 05, 15, 10, 10, 15, 10, 20, 05, 05, 10, 10, 20, 05, 10, 20, 10, 20, 20, 20, 05, 05, 15, 20, 10, 15,
20, 15, 10, 10, 15, 10, 05, 05, 10, 15, 10, 05, 20, 25, 05, 40, 15, 05, 40, 15, 20, 20, 05, 15, 20, 20, 15, 15, 05, 10, 30, 20, 30, 15, 05, 40, 15, 05, 20, 05, 15, 25, 25, 15, 20, 15, 20, 15, 20, 10,
20, 20, 05, 05, 10, 05, 40, 10, 10, 05, 10, 10, 15, 10, 20, 15, 30, 10, 20, 05, 10, 10, 15, 10, 10, 05, 15, 05, 10, 10, 30, 20, 20, 10, 10, 05, 05, 10, 05, 20, 10, 20, 10, 15, 10, 20, 20, 20, 15, 15,
10, 15, 15, 15, 10, 10, 10, 20, 10, 30, 05, 10, 15, 10, 10, 05, 20, 30, 10, 30, 15, 15, 15, 15, 30, 10, 20, 15, 10, 10, 20, 15, 05, 05, 15, 15, 05, 10, 05, 20, 05, 15, 20, 05, 20, 20, 20, 20, 10, 20,
10, 15, 20, 15, 10, 10, 05, 10, 05, 05, 10, 05, 05, 10, 05, 05, 05, 15, 10, 10, 10, 10, 10, 10, 15, 20, 15, 10, 15, 10, 15, 10, 20, 10, 10, 10, 20, 20, 20, 20, 20, 15, 15, 15, 15, 15, 15, 20, 15, 10,
15, 15, 15, 15, 10, 10, 10, 10, 10, 15, 15, 15, 15, 05, 05, 15, 05, 10, 10, 10, 20, 20, 20, 10, 10, 30, 15, 15, 10, 15, 25, 10, 15, 10, 10, 10, 20, 10, 10, 10, 10, 10, 15, 15, 05, 05, 10, 10, 10, 05,
05, 10, 05, 05, 15, 10, 05, 05, 05, 10, 10, 10, 10, 20, 25, 10, 20, 30, 25, 20, 20, 15, 20, 15, 20, 20, 10, 10, 10, 10, 10, 20, 10, 30, 15, 10, 10, 10, 20, 20, 05, 05, 05, 20, 10, 10, 20, 15, 20, 20,
10, 20, 30, 10, 10, 40, 40, 30, 20, 40, 20, 20, 10, 10, 10, 10, 05, 10, 10, 05, 05, 01, 01, 01, 01, 01, 01, 01, 01, 01, 01, 01, 01, 01, 01, 01, 01, 01, 01, 01, 01, 01, 01, 01, 01, 01, 01, 01, 01, 01,
01, 01, 01, 01, 01, 01, 01, 01, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 40, 15, 20, 30, 20, 15, 15, 20, 10, 15, 15, 10, 05, 10, 10, 20, 15, 10, 15, 15, 15, 05, 15, 20, 20, 01, 01, 01, 01, 01, 01,
01, 01, 01, 05, 05, 10, 10, 10, 20, 10, 10, 10, 05, 05, 20, 10, 10, 10, 01, 05, 15, 05, 01, 01, 01, 01, 01, 01, 15, 15, 15, 20, 15, 15, 15, 15, 15, 15, 15, 15, 20, 05,
};
internal static readonly int[] TMHM_GG =
{
029, 269, 270, 100, 156, 113, 182, 164, 115, 091,
261, 263, 280, 019, 069, 086, 525, 369, 231, 399,
492, 157, 009, 404, 127, 398, 092, 161, 503, 339,
007, 605, 347, 406, 008, 085, 053, 087, 200, 094,
089, 120, 247, 583, 076, 126, 057, 063, 276, 355,
059, 188, 072, 430, 058, 446, 006, 529, 138, 224,
// rest are same as SM, unused
// No HMs
};
internal static readonly int[] Tutor_StarterPikachu =
{
729, // Zippy Zap
730, // Splishy Splash
731, // Floaty Fall
// 732, // Pika Papow -- Joycon Shake
};
internal static readonly int[] Tutor_StarterEevee =
{
733, // Bouncy Bubble
734, // Buzzy Buzz
735, // Sizzly Slide
736, // Glitzy Glow
737, // Baddy Bad
738, // Sappy Seed
739, // Freezy Frost
740, // Sparkly Swirl
// 741, // Veevee Volley -- Joycon Shake
};
#endregion
internal static readonly HashSet<int> GoTransferSpeciesShinyBan = new HashSet<int>
{
013, // Weedle
014, // Kakuna
015, // Beedrill
016, // Pidgey
017, // Pidgeotto
018, // Pidgeot
019, // Rattata
020, // Raticate
021, // Spearow
022, // Fearow
023, // Ekans
024, // Arbok
032, // Nidoran-M
033, // Nidorino
034, // Nidoking
035, // Clefairy
036, // Clefable
037, // Vulpix
038, // Ninetales
039, // Jigglypuff
040, // Wigglytuff
041, // Zubat
042, // Golbat
043, // Oddish
044, // Gloom
045, // Vileplume
046, // Paras
047, // Parasect
048, // Venonat
049, // Venomoth
050, // Diglett
051, // Dugtrio
052, // Meowth
053, // Persian
054, // Psyduck
055, // Golduck
056, // Mankey
057, // Primeape
060, // Poliwag
061, // Poliwhirl
062, // Poliwrath
063, // Abra
064, // Kadabra
065, // Alakazam
066, // Machop
067, // Machoke
068, // Machamp
069, // Bellsprout
070, // Weepinbell
071, // Victreebel
072, // Tentacool
073, // Tentacruel
079, // Slowpoke
080, // Slowbro
083, // Farfetch'd
084, // Doduo
085, // Dodrio
086, // Seel
087, // Dewgong
095, // Onix
100, // Voltorb
101, // Electrode
102, // Exeggcute
103, // Exeggutor
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
128, // Tauros
131, // Lapras
132, // Ditto
137, // Porygon
143, // Snorlax
150, // Mewtwo
151, // Mew
808, // Meltan
809, // Melmetal
};
internal static readonly HashSet<int> GoTransferSpeciesShinyBanAlola = new HashSet<int>
{
019, // Rattata
020, // Raticate
026, // Raichu
027, // Sandshrew
028, // Sandslash
037, // Vulpix
038, // Ninetales
050, // Diglett
051, // Dugtrio
052, // Meowth
053, // Persian
074, // Geodude
075, // Graveler
076, // Golem
088, // Grimer
089, // Muk
103, // Exeggutor
};
}
}