PKHeX/PKHeX.Core/Legality/Tables/Tables8.cs
Chris ba43631d40
Update Unreleased Items(SwSh)
https://www.serebii.net/swordshield/items.shtml

only Pixie Plate & Normal Gem are in the Game yet.
2019-11-27 01:08:31 +01:00

487 lines
25 KiB
C#

using System.Collections.Generic;
using System.Linq;
namespace PKHeX.Core
{
public static partial class Legal
{
internal const int MaxSpeciesID_8 = 890; // Eternatus
internal const int MaxMoveID_8 = 796; // Steel Beam (jet fuel)
internal const int MaxItemID_8 = 1278; // Rotom Catalog, or 1578 for all catalog parts?
internal const int MaxAbilityID_8 = 258;
internal const int MaxBallID_8 = 0x1A; // 26 Beast
internal const int MaxGameID_8 = 45;
#region Met Locations
internal static readonly int[] Met_SWSH_0 =
{
002, 004, 006, 008,
012, 014, 016, 018,
020, 022, 024, 028,
030, 032, 034, 036,
040, 044, 046, 048,
052, 054, 056, 058,
060, 064, 066, 068,
070, 072, 076, 078,
080, 084, 086, 088,
090, 092, 094, 096, 098,
102, 104, 106, 108,
110, 112, 114, 116, 118,
120, 122, 124, 126, 128,
130, 132, 134, 136, 138,
140, 142, 144, 146, 148,
150, 152, 154, 156, 158,
160, 162,
};
internal static readonly int[] Met_SWSH_3 =
{
30001, 30003, 30004, 30005, 30006, 30007, 30008, 30009, 30010, 30011, 30012, 30013, 30014, 30015, 30016, 30017, 30018
};
internal static readonly int[] Met_SWSH_4 =
{
40001, 40002, 40003, 40005, 40006, 40007, 40008, 40009, 40010,
40011, 40012, 40013, 40014, 40016, 40017, 40018, 40019, 40020,
40021, 40022, 40024, 40025, 40026, 40027, 40028, 40029, 40030,
40032, 40033, 40034, 40035, 40036, 40037, 40038, 40039, 40040,
40041, 40042, 40043, 40044, 40045, 40047, 40048, 40049, 40050,
40051, 40052, 40053, 40055, 40056, 40057, 40058, 40059, 40060,
40061, 40063, 40064, 40065, 40066, 40067, 40068, 40069, 40070,
40071, 40072, 40074, 40075, 40076, 40077, 40078, 40079, 40080,
40081, 40082, 40083, 40084, 40085, 40086,
};
internal static readonly int[] Met_SWSH_6 = {/* XY */ 60001, 60003, /* ORAS */ 60004, };
#endregion
internal static readonly ushort[] Pouch_Regular_SWSH =
{
045, 046, 047, 048, 049, 050, 051, 052, 053, 076, 077, 079, 080, 081, 082, 083, 084, 085, 107, 108, 109,
116, 117, 118, 119, 213, 214, 215, 217, 218, 219, 220, 221, 222, 223, 224, 228, 229, 230, 231, 232, 233,
234, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 253, 254, 255, 257,
259, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284,
285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305,
306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 325, 326, 537, 538, 539,
540, 541, 542, 543, 544, 545, 546, 547, 564, 565, 566, 567, 568, 569, 570, 639, 640, 644, 645, 646, 647,
648, 649, 650, 846, 849, 879, 880, 881, 882, 883, 884, 904, 905, 906, 907, 908, 909, 910, 911, 912, 913,
914, 915, 916, 917, 918, 919, 920, 1103, 1104, 1109, 1110, 1111, 1112, 1113, 1114, 1115, 1116, 1117, 1118,
1119, 1120, 1121, 1122, 1123, 1124, 1125, 1126, 1127, 1128, 1129, 1231, 1232, 1233, 1234, 1235, 1236, 1237,
1238, 1239, 1240, 1241, 1242, 1243, 1244, 1245, 1246, 1247, 1248, 1249, 1250, 1251, 1252, 1253, 1254,
1279,
1280, 1281, 1282, 1283, 1284, 1285, 1286, 1287, 1288, 1289, 1290, 1291, 1292, 1293, 1294, 1295, 1296, 1297,
1298, 1299, 1300, 1301, 1302, 1303, 1304, 1305, 1306, 1307, 1308, 1309, 1310, 1311, 1312, 1313, 1314, 1315,
1316, 1317, 1318, 1319, 1320, 1321, 1322, 1323, 1324, 1325, 1326, 1327, 1328, 1329, 1330, 1331, 1332, 1333,
1334, 1335, 1336, 1337, 1338, 1339, 1340, 1341, 1342, 1343, 1344, 1345, 1346, 1347, 1348, 1349, 1350, 1351,
1352, 1353, 1354, 1355, 1356, 1357, 1358, 1359, 1360, 1361, 1362, 1363, 1364, 1365, 1366, 1367, 1368, 1369,
1370, 1371, 1372, 1373, 1374, 1375, 1376, 1377, 1378, 1379, 1380, 1381, 1382, 1383, 1384, 1385, 1386, 1387,
1388, 1389, 1390, 1391, 1392, 1393, 1394, 1395, 1396, 1397, 1398, 1399, 1400, 1401, 1402, 1403, 1404, 1405,
1406, 1407, 1408, 1409, 1410, 1411, 1412, 1413, 1414, 1415, 1416, 1417, 1418, 1419, 1420, 1421, 1422, 1423,
1424, 1425, 1426, 1427, 1428, 1429, 1430, 1431, 1432, 1433, 1434, 1435, 1436, 1437, 1438, 1439, 1440, 1441,
1442, 1443, 1444, 1445, 1446, 1447, 1448, 1449, 1450, 1451, 1452, 1453, 1454, 1455, 1456, 1457, 1458, 1459,
1460, 1461, 1462, 1463, 1464, 1465, 1466, 1467, 1468, 1469, 1470, 1471, 1472, 1473, 1474, 1475, 1476, 1477,
1478, 1479, 1480, 1481, 1482, 1483, 1484, 1485, 1486, 1487, 1488, 1489, 1490, 1491, 1492, 1493, 1494, 1495,
1496, 1497, 1498, 1499, 1500, 1501, 1502, 1503, 1504, 1505, 1506, 1507, 1508, 1509, 1510, 1511, 1512, 1513,
1514, 1515, 1516, 1517, 1518, 1519, 1520, 1521, 1522, 1523, 1524, 1525, 1526, 1527, 1528, 1529, 1530, 1531,
1532, 1533, 1534, 1535, 1536, 1537, 1538, 1539, 1540, 1541, 1542, 1543, 1544, 1545, 1546, 1547, 1548, 1549,
1550, 1551, 1552, 1553, 1554, 1555, 1556, 1557, 1558, 1559, 1560, 1561, 1562, 1563, 1564, 1565, 1566, 1567,
1568, 1569, 1570, 1571, 1572, 1573, 1574, 1575, 1576, 1577, 1578,
};
internal static readonly ushort[] Pouch_Ball_SWSH =
{
001, 002, 003, 004, 005, 006, 007, 008, 009, 010, 011, 012, 013, 014, 015, 016,
492, 493, 494, 495, 496, 497, 498, 499, 500,
576,
851,
};
internal static readonly ushort[] Pouch_Battle_SWSH =
{
055, 056, 057, 058, 059, 060, 061, 062, 063,
};
internal static readonly ushort[] Pouch_Items_SWSH = Pouch_Regular_SWSH.Concat(Pouch_Ball_SWSH).Concat(Pouch_Battle_SWSH).ToArray();
internal static readonly ushort[] Pouch_Key_SWSH =
{
078,
628, 629, 631, 632,
703,
943, 944, 945, 946,
1074, 1075, 1076, 1077, 1080, 1081, 1100,
1255, 1266, 1267, 1269, 1270, 1271, 1278,
};
internal static readonly ushort[] TM_SWSH =
{
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,
388, 389, 390, 391, 392, 393, 394, 395, 396, 397,
398, 399, 400, 401, 402, 403, 404, 405, 406, 407,
408, 409, 410, 411, 412, 413, 414, 415, 416, 417,
418, 419, 618, 619, 620, 690, 691, 692, 693, // TM99
1230, // TM00
};
internal static readonly ushort[] TR_SWSH =
{
1130, 1131, 1132, 1133, 1134, 1135, 1136, 1137, 1138, 1139,
1140, 1141, 1142, 1143, 1144, 1145, 1146, 1147, 1148, 1149,
1150, 1151, 1152, 1153, 1154, 1155, 1156, 1157, 1158, 1159,
1160, 1161, 1162, 1163, 1164, 1165, 1166, 1167, 1168, 1169,
1170, 1171, 1172, 1173, 1174, 1175, 1176, 1177, 1178, 1179,
1180, 1181, 1182, 1183, 1184, 1185, 1186, 1187, 1188, 1189,
1190, 1191, 1192, 1193, 1194, 1195, 1196, 1197, 1198, 1199,
1200, 1201, 1202, 1203, 1204, 1205, 1206, 1207, 1208, 1209,
1210, 1211, 1212, 1213, 1214, 1215, 1216, 1217, 1218, 1219,
1220, 1221, 1222, 1223, 1224, 1225, 1226, 1227, 1228, 1229,
};
internal static readonly ushort[] Pouch_TMHM_SWSH = TM_SWSH.Concat(TR_SWSH).ToArray();
internal static readonly ushort[] Pouch_Medicine_SWSH =
{
017, 018, 019, 020, 021, 022, 023, 024, 025, 026,
027, 028, 029, 030, 031, 032, 033, 034, 035, 036,
037, 038, 039, 040, 041, 042, 043, 054,
134,
504, 591,
708, 709,
852, 903,
};
internal static readonly ushort[] Pouch_Berries_SWSH =
{
149, 150, 151, 152, 153, 154, 155, 156, 157, 158,
159, 160, 161, 162, 163, 169, 170, 171, 172, 173,
174, 184, 185, 186, 187, 188, 189, 190, 191, 192,
193, 194, 195, 196, 197, 198, 199, 200, 201, 202,
203, 204, 205, 206, 207, 208, 209, 210, 211, 212,
686, 687, 688,
};
internal static readonly ushort[] Pouch_Ingredients_SWSH =
{
1084, 1085, 1086, 1087, 1088, 1089, 1090, 1091, 1092, 1093,
1094, 1095, 1096, 1097, 1098, 1099, 1256, 1257, 1258, 1259,
1260, 1261, 1262, 1263, 1264,
};
internal static readonly ushort[] Pouch_Treasure_SWSH =
{
086, 087, 088, 089, 090, 091, 092, 094, 106,
571, 580, 581, 582, 583,
795, 796,
1105, 1106, 1107, 1108,
};
internal static readonly ushort[] HeldItems_SWSH = ArrayUtil.ConcatAll(new ushort[1], Pouch_Items_SWSH, Pouch_Berries_SWSH, Pouch_Medicine_SWSH, TR_SWSH, Pouch_Treasure_SWSH);
internal static readonly HashSet<int> WildPokeballs8 = new HashSet<int> {
(int)Ball.Poke,
(int)Ball.Great,
(int)Ball.Ultra,
(int)Ball.Master,
(int)Ball.Net,
(int)Ball.Dive,
(int)Ball.Nest,
(int)Ball.Repeat,
(int)Ball.Timer,
(int)Ball.Luxury,
(int)Ball.Premier,
(int)Ball.Dusk,
(int)Ball.Heal,
(int)Ball.Quick,
// Ball Guy
(int)Ball.Fast,
(int)Ball.Level,
(int)Ball.Lure,
(int)Ball.Heavy,
(int)Ball.Love,
(int)Ball.Friend,
(int)Ball.Moon,
(int)Ball.Dream,
(int)Ball.Beast,
};
internal static readonly HashSet<int> GalarOriginForms = new HashSet<int>
{
(int)Species.Meowth,
(int)Species.Ponyta,
(int)Species.Rapidash,
(int)Species.Farfetchd,
(int)Species.MrMime,
(int)Species.Corsola,
(int)Species.Zigzagoon,
(int)Species.Linoone,
(int)Species.Yamask,
(int)Species.Darumaka,
(int)Species.Darmanitan,
(int)Species.Stunfisk,
};
internal static readonly HashSet<int> GalarVariantFormEvolutions = new HashSet<int>
{
(int)Species.Weezing,
};
internal static readonly IReadOnlyDictionary<int, int> GalarForm0Evolutions = new Dictionary<int, int>
{
{(int)Species.Perrserker, 2},
{(int)Species.Obstagoon, 1},
{(int)Species.MrRime, 1},
{(int)Species.Sirfetchd, 2},
{(int)Species.Runerigus, 1},
{(int)Species.Cursola, 1},
};
internal static readonly HashSet<int> EvolveToGalarForms = new HashSet<int>(GalarVariantFormEvolutions.Concat(GalarOriginForms));
internal static readonly int[] EggLocations8 = {Locations.Daycare5, Locations.LinkTrade6};
internal static readonly HashSet<int> ValidMet_SWSH = new HashSet<int>
{
006, 008,
012, 014, 016, 018,
020, 022, 024, 028,
030, 032, 034, 036,
040, 044, 046, 048,
052, 054, 056, 058,
060, 064, 066, 068,
070, 072, 076, 078,
080, 084, 086, 088,
090, 092, 094, 096, 098,
102, 104, 106, 108,
110, 112, 114, 116, 118,
120, 122, 124, 126, 128,
130, 132, 134, 136, 138,
140, 142, 144, 146, 148,
150, 152, 154, 156, 158,
160, 162,
};
public static readonly int[] TMHM_SWSH =
{
// TM
005, 025, 006, 007, 008, 009, 019, 042, 063, 416,
345, 076, 669, 083, 086, 091, 103, 113, 115, 219,
120, 156, 157, 168, 173, 182, 184, 196, 202, 204,
211, 213, 201, 240, 241, 258, 250, 251, 261, 263,
129, 270, 279, 280, 286, 291, 311, 313, 317, 328,
331, 333, 340, 341, 350, 362, 369, 371, 372, 374,
384, 385, 683, 409, 419, 421, 422, 423, 424, 427,
433, 472, 478, 440, 474, 490, 496, 506, 512, 514,
521, 523, 527, 534, 541, 555, 566, 577, 580, 581,
604, 678, 595, 598, 206, 403, 684, 693, 707, 784,
// TR
014, 034, 053, 056, 057, 058, 059, 067, 085, 087,
089, 094, 097, 116, 118, 126, 127, 133, 141, 161,
164, 179, 188, 191, 200, 473, 203, 214, 224, 226,
227, 231, 242, 247, 248, 253, 257, 269, 271, 276,
285, 299, 304, 315, 322, 330, 334, 337, 339, 347,
348, 349, 360, 370, 390, 394, 396, 398, 399, 402,
404, 405, 406, 408, 411, 412, 413, 414, 417, 428,
430, 437, 438, 441, 442, 444, 446, 447, 482, 484,
486, 492, 500, 502, 503, 526, 528, 529, 535, 542,
583, 599, 605, 663, 667, 675, 676, 706, 710, 776,
};
internal static readonly byte[] MovePP_SWSH =
{
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, 25, 15, 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, 10, 15, 15, 20, 20, 20, 20, 15, 15, 10, 10, 05, 20, 05, 10, 05, 15, 10, 10, 05, 15, 20,
10, 10, 15, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 05, 10, 15, 10, 15, 05, 05, 05, 10, 15, 40, 10, 10, 10, 15, 10, 10, 10, 10, 05, 05, 05,
};
internal static readonly HashSet<int> Ban_NoHidden8 = new HashSet<int>
{
// No wild encounter with Hidden, so can't breed a hidden yet.
(int)Species.Grookey, (int)Species.Thwackey, (int)Species.Rillaboom,
(int)Species.Scorbunny, (int)Species.Raboot, (int)Species.Cinderace,
(int)Species.Sobble, (int)Species.Drizzile, (int)Species.Inteleon,
(int)Species.Hoothoot, (int)Species.Noctowl,
(int)Species.Skwovet, (int)Species.Greedent,
(int)Species.Pidove, (int)Species.Tranquill, (int)Species.Unfezant,
(int)Species.Nickit, (int)Species.Thievul,
(int)Species.Wooloo, (int)Species.Dubwool,
(int)Species.Purrloin, (int)Species.Liepard,
(int)Species.Yamper, (int)Species.Boltund,
(int)Species.Wingull, (int)Species.Pelipper,
(int)Species.Electrike, (int)Species.Manectric,
(int)Species.Delibird,
(int)Species.Golett, (int)Species.Golurk,
(int)Species.Munna, (int)Species.Musharna,
(int)Species.Snover, (int)Species.Abomasnow,
(int)Species.Bronzor, (int)Species.Bronzong,
(int)Species.Drifloon, (int)Species.Drifblim,
(int)Species.Cherubi, (int)Species.Cherrim,
(int)Species.Goldeen, (int)Species.Seaking,
(int)Species.Basculin,
(int)Species.Woobat, (int)Species.Swoobat,
(int)Species.Noibat, (int)Species.Noivern,
(int)Species.Espurr, (int)Species.Meowstic, (int)Species.Meowstic | 1 << 11,
(int)Species.Chinchou, (int)Species.Lanturn,
(int)Species.Croagunk, (int)Species.Toxicroak,
(int)Species.Barboach, (int)Species.Whiscash,
(int)Species.Binacle, (int)Species.Barbaracle,
(int)Species.Sawk, (int)Species.Throh,
(int)Species.Bonsly, (int)Species.Sudowoodo,
(int)Species.Cleffa, (int)Species.Clefairy, (int)Species.Clefable,
(int)Species.Elgyem, (int)Species.Beheeyem,
(int)Species.Cubchoo, (int)Species.Beartic,
(int)Species.Skorupi, (int)Species.Drapion,
(int)Species.Maractus,
(int)Species.Mimikyu,
(int)Species.Bergmite, (int)Species.Avalugg,
// Alolan Forms
(int)Species.Raichu | 1 << 11,
(int)Species.Meowth | 1 << 11, (int)Species.Persian | 1 << 11,
(int)Species.Vulpix | 1 << 11, (int)Species.Ninetales | 1 << 11,
(int)Species.Diglett | 1 << 11, (int)Species.Dugtrio | 1 << 11,
// Non-Galar Forms
(int)Species.Farfetchd,
(int)Species.Ponyta, (int)Species.Rapidash,
(int)Species.Corsola,
(int)Species.Darumaka, (int)Species.Darmanitan,
(int)Species.Stunfisk,
(int)Species.Weezing,
(int)Species.Shellos, (int)Species.Gastrodon, // West
};
#region Unreleased Items
internal static readonly HashSet<int> UnreleasedHeldItems_8 = new HashSet<int>
{
// todo -- someone pls fill this in once the game is thoroughly played
// I just put a few here so that the list isn't empty.
298, // Flame Plate
299, // Splash Plate
300, // Zap Plate
301, // Meadow Plate
302, // Icicle Plate
303, // Fist Plate
304, // Toxic Plate
305, // Earth Plate
306, // Sky Plate
307, // Mind Plate
308, // Insect Plate
309, // Stone Plate
310, // Spooky Plate
311, // Draco Plate
312, // Dread Plate
313, // Iron Plate
548, // Fire Gem
549, // Water Gem
550, // Electric Gem
551, // Grass Gem
552, // Ice Gem
553, // Fighting Gem
554, // Poison Gem
555, // Ground Gem
556, // Flying Gem
557, // Psychic Gem
558, // Bug Gem
559, // Rock Gem
560, // Ghost Gem
561, // Dragon Gem
562, // Dark Gem
563, // Steel Gem
708, // Lumiose Galette
709, // Shalour Sable
715, // Fairy Gem
};
#endregion
internal static readonly bool[] ReleasedHeldItems_8 = Enumerable.Range(0, MaxItemID_8+1).Select(i => HeldItems_SWSH.Contains((ushort)i) && !UnreleasedHeldItems_8.Contains(i)).ToArray();
/// <summary>
/// Moves that aren't kill
/// </summary>
internal static readonly HashSet<int> ValidMoves_SWSH = new HashSet<int>
{
001, 005, 006, 007, 008, 009, 010, 011, 012, 014,
015, 016, 017, 018, 019, 020, 021, 022, 023, 024,
025, 028, 029, 030, 031, 032, 033, 034, 035, 036,
037, 038, 039, 040, 042, 043, 044, 045, 046, 047,
048, 050, 051, 052, 053, 054, 055, 056, 057, 058,
059, 060, 061, 062, 063, 064, 065, 066, 067, 069,
070, 071, 072, 073, 074, 075, 076, 077, 078, 079,
080, 081, 083, 084, 085, 086, 087, 088, 089, 090,
091, 092, 093, 094, 095, 097, 098, 100, 101, 103,
104, 105, 106, 107, 108, 109, 110, 111, 113, 114,
115, 116, 120, 122, 123, 124, 126, 127, 129, 130,
133, 135, 136, 137, 138, 139, 141, 143, 147, 150,
151, 152, 153, 154, 156, 157, 161, 162, 163, 164,
167, 170, 172, 174, 175, 178, 179, 180, 181, 183,
184, 186, 187, 188, 189, 190, 191, 192, 195, 196,
198, 199, 200, 201, 202, 204, 205, 206, 207, 209,
210, 211, 212, 213, 215, 217, 219, 220, 223, 224,
225, 226, 227, 229, 230, 231, 232, 233, 234, 235,
236, 238, 239, 240, 241, 242, 244, 245, 246, 247,
248, 249, 250, 251, 252, 253, 254, 255, 256, 257,
258, 259, 260, 261, 262, 263, 268, 269, 272, 273,
275, 276, 277, 278, 279, 280, 281, 282, 283, 284,
285, 286, 288, 291, 292, 297, 298, 299, 303, 304,
305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
315, 317, 319, 321, 322, 323, 325, 326, 328, 329,
330, 331, 332, 333, 334, 335, 336, 337, 338, 339,
340, 341, 342, 344, 345, 347, 348, 349, 350, 351,
352, 353, 355, 356, 359, 360, 361, 362, 365, 366,
367, 368, 369, 370, 371, 372, 374, 375, 379, 380,
384, 385, 387, 388, 389, 390, 392, 393, 394, 395,
396, 397, 398, 399, 400, 401, 402, 403, 404, 405,
406, 407, 408, 409, 410, 411, 412, 413, 414, 416,
417, 418, 419, 420, 421, 422, 423, 424, 425, 427,
428, 430, 432, 433, 434, 435, 436, 437, 438, 439,
440, 441, 442, 444, 446, 447, 450, 451, 452, 453,
454, 455, 457, 458, 468, 470, 471, 472, 473, 474,
475, 478, 479, 480, 482, 483, 484, 486, 487, 488,
489, 490, 491, 492, 493, 494, 496, 497, 499, 500,
502, 503, 504, 505, 506, 508, 509, 510, 512, 513,
514, 515, 517, 518, 519, 520, 521, 522, 523, 524,
525, 526, 527, 528, 529, 530, 532, 533, 534, 535,
536, 538, 539, 540, 541, 542, 544, 549, 550, 551,
556, 558, 559, 560, 564, 565, 566, 567, 568, 570,
571, 572, 573, 574, 575, 576, 577, 579, 580, 581,
582, 583, 584, 585, 586, 587, 589, 590, 594, 595,
597, 598, 599, 602, 603, 604, 605, 608, 609, 610,
611, 612, 660, 662, 663, 664, 667, 668, 669, 670,
673, 674, 675, 676, 677, 678, 679, 680, 681, 682,
683, 684, 685, 688, 691, 693, 694, 706, 707, 709,
710, 711, 715, 716, 718, 745, 746, 747, 748, 749,
750, 751, 752, 753, 754, 755, 756,
};
internal static readonly int[] TypeTutor8 =
{
520, 519, 518, // Pledge
338, 307, 308, // Elemental Beam
434, // Draco Meteor
796, // Steel Beam
};
}
}