Revise ORAS trainer class blacklisting

This commit is contained in:
sora10pls
2017-12-30 13:01:50 -05:00
parent 2c41b44960
commit 327178a2cd
2 changed files with 11 additions and 10 deletions

View File

@@ -284,12 +284,13 @@ public static partial class Legal
267, // Pokémon Trainer (Zinnia)
272, // Pokémon Trainer (Wally)
};
public static readonly int[] Ignore_AO =
public static readonly int[] TrainerClasses_AO =
{
001, 002, 003, 004, 005, 006, 007, 008, 009, 010, 011, 012, 013, 014, 015, 016, 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, 044, 045, 046, 047, 048, 049, 050, 051, 052, 053, 054, 055, 056, 057, 058, 059, 060, 061, 062, 063, 064, 065, 066, 067, 068, 069, 070, 071, 072, 073, 074,
075, 076, 077, 078, 079, 080, 081, 082, 083, 084, 085, 086, 087, 088, 089, 090, 091, 092, 093, 094, 095, 096, 097, 098, 099, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111,
112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126
127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 163, 164, 165,
166, 167, 168, 169, 170, 171, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204,
205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241,
242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278,
279,
};
public static readonly int[] Z_Moves =
{

View File

@@ -24,7 +24,7 @@ public RSTE(byte[][] trc, byte[][] trd, byte[][] trp)
Array.Resize(ref specieslist, Main.Config.MaxSpeciesID + 1);
MegaDictionary = GiftEditor6.GetMegaDictionary(Main.Config);
rModelRestricted = Main.Config.ORAS ? Legal.Model_AO : Legal.Model_XY;
rXYBlacklist = Legal.Ignore_AO;
rTrainerClasses = Legal.TrainerClasses_AO;
InitializeComponent();
// String Fetching
@@ -531,7 +531,7 @@ private void Setup()
public static int rDMGCount, rSTABCount;
private int[] mEvoTypes;
private static int[] rModelRestricted;
private static int[] rXYBlacklist;
private static int[] rTrainerClasses;
private string[] rImportant;
private readonly List<string> Tags = new List<string>();
private readonly Dictionary<string, int> TagTypes = new Dictionary<string, int>();
@@ -748,10 +748,10 @@ private static void RandomizeTrainerAIClass(trdata6 t, string[] trClass)
while (rIgnoreClass.Contains(rv) || trClass[rv].StartsWith("[~")); // don't allow disallowed classes
t.Class = rv;
if (Main.Config.ORAS && rXYBlacklist.Contains(t.Class)) // Classes 0-126 are leftover from XY and some can crash the game; skip all of them
if (Main.Config.ORAS && t.Class <= 126) // 0 to 126 from XY, re-randomize to something from ORAS
{
for (int i = 127; i <= 279; i++)
t.Class = i;
int fixClass() => (int)(rnd32() % rTrainerClasses.Length);
t.Class = rTrainerClasses[fixClass()];
}
}
}