PKHeX/PKHeX.Core/Legality/Encounters/Data/Encounters3Shadow.cs

1085 lines
40 KiB
C#
Raw Normal View History

PKHeX.Core Nullable cleanup (#2401) * Handle some nullable cases Refactor MysteryGift into a second abstract class (backed by a byte array, or fake data) Make some classes have explicit constructors instead of { } initialization * Handle bits more obviously without null * Make SaveFile.BAK explicitly readonly again * merge constructor methods to have readonly fields * Inline some properties * More nullable handling * Rearrange box actions define straightforward classes to not have any null properties * Make extrabyte reference array immutable * Move tooltip creation to designer * Rearrange some logic to reduce nesting * Cache generated fonts * Split mystery gift album purpose * Handle more tooltips * Disallow null setters * Don't capture RNG object, only type enum * Unify learnset objects Now have readonly properties which are never null don't new() empty learnsets (>800 Learnset objects no longer created, total of 2400 objects since we also new() a move & level array) optimize g1/2 reader for early abort case * Access rewrite Initialize blocks in a separate object, and get via that object removes a couple hundred "might be null" warnings since blocks are now readonly getters some block references have been relocated, but interfaces should expose all that's needed put HoF6 controls in a groupbox, and disable * Readonly personal data * IVs non nullable for mystery gift * Explicitly initialize forced encounter moves * Make shadow objects readonly & non-null Put murkrow fix in binary data resource, instead of on startup * Assign dex form fetch on constructor Fixes legality parsing edge cases also handle cxd parse for valid; exit before exception is thrown in FrameGenerator * Remove unnecessary null checks * Keep empty value until init SetPouch sets the value to an actual one during load, but whatever * Readonly team lock data * Readonly locks Put locked encounters at bottom (favor unlocked) * Mail readonly data / offset Rearrange some call flow and pass defaults Add fake classes for SaveDataEditor mocking Always party size, no need to check twice in stat editor use a fake save file as initial data for savedata editor, and for gamedata (wow i found a usage) constrain eventwork editor to struct variable types (uint, int, etc), thus preventing null assignment errors
2019-10-17 01:47:31 +00:00
// ReSharper disable StringLiteralTypo
namespace PKHeX.Core;
/// <summary>
/// Team listings for <see cref="GameVersion.CXD"/> that have a shadow Pokémon afterwards.
/// </summary>
public static class Encounters3Shadow
{
#region Colosseum
2018-10-30 02:43:32 +00:00
public static readonly TeamLock CMakuhita = new(
296, // Makuhita
new[] {
new NPCLock(355, 24, 0, 127), // Duskull (M) (Quirky)
new NPCLock(167, 00, 1, 127), // Spinarak (F) (Hardy)
PKHeX.Core Nullable cleanup (#2401) * Handle some nullable cases Refactor MysteryGift into a second abstract class (backed by a byte array, or fake data) Make some classes have explicit constructors instead of { } initialization * Handle bits more obviously without null * Make SaveFile.BAK explicitly readonly again * merge constructor methods to have readonly fields * Inline some properties * More nullable handling * Rearrange box actions define straightforward classes to not have any null properties * Make extrabyte reference array immutable * Move tooltip creation to designer * Rearrange some logic to reduce nesting * Cache generated fonts * Split mystery gift album purpose * Handle more tooltips * Disallow null setters * Don't capture RNG object, only type enum * Unify learnset objects Now have readonly properties which are never null don't new() empty learnsets (>800 Learnset objects no longer created, total of 2400 objects since we also new() a move & level array) optimize g1/2 reader for early abort case * Access rewrite Initialize blocks in a separate object, and get via that object removes a couple hundred "might be null" warnings since blocks are now readonly getters some block references have been relocated, but interfaces should expose all that's needed put HoF6 controls in a groupbox, and disable * Readonly personal data * IVs non nullable for mystery gift * Explicitly initialize forced encounter moves * Make shadow objects readonly & non-null Put murkrow fix in binary data resource, instead of on startup * Assign dex form fetch on constructor Fixes legality parsing edge cases also handle cxd parse for valid; exit before exception is thrown in FrameGenerator * Remove unnecessary null checks * Keep empty value until init SetPouch sets the value to an actual one during load, but whatever * Readonly team lock data * Readonly locks Put locked encounters at bottom (favor unlocked) * Mail readonly data / offset Rearrange some call flow and pass defaults Add fake classes for SaveDataEditor mocking Always party size, no need to check twice in stat editor use a fake save file as initial data for savedata editor, and for gamedata (wow i found a usage) constrain eventwork editor to struct variable types (uint, int, etc), thus preventing null assignment errors
2019-10-17 01:47:31 +00:00
});
public static readonly TeamLock CGligar = new(
207, // Gligar
new[] {
new NPCLock(216, 12, 0, 127), // Teddiursa (M) (Serious)
new NPCLock(039, 06, 1, 191), // Jigglypuff (F) (Docile)
new NPCLock(285, 18, 0, 127), // Shroomish (M) (Bashful)
PKHeX.Core Nullable cleanup (#2401) * Handle some nullable cases Refactor MysteryGift into a second abstract class (backed by a byte array, or fake data) Make some classes have explicit constructors instead of { } initialization * Handle bits more obviously without null * Make SaveFile.BAK explicitly readonly again * merge constructor methods to have readonly fields * Inline some properties * More nullable handling * Rearrange box actions define straightforward classes to not have any null properties * Make extrabyte reference array immutable * Move tooltip creation to designer * Rearrange some logic to reduce nesting * Cache generated fonts * Split mystery gift album purpose * Handle more tooltips * Disallow null setters * Don't capture RNG object, only type enum * Unify learnset objects Now have readonly properties which are never null don't new() empty learnsets (>800 Learnset objects no longer created, total of 2400 objects since we also new() a move & level array) optimize g1/2 reader for early abort case * Access rewrite Initialize blocks in a separate object, and get via that object removes a couple hundred "might be null" warnings since blocks are now readonly getters some block references have been relocated, but interfaces should expose all that's needed put HoF6 controls in a groupbox, and disable * Readonly personal data * IVs non nullable for mystery gift * Explicitly initialize forced encounter moves * Make shadow objects readonly & non-null Put murkrow fix in binary data resource, instead of on startup * Assign dex form fetch on constructor Fixes legality parsing edge cases also handle cxd parse for valid; exit before exception is thrown in FrameGenerator * Remove unnecessary null checks * Keep empty value until init SetPouch sets the value to an actual one during load, but whatever * Readonly team lock data * Readonly locks Put locked encounters at bottom (favor unlocked) * Mail readonly data / offset Rearrange some call flow and pass defaults Add fake classes for SaveDataEditor mocking Always party size, no need to check twice in stat editor use a fake save file as initial data for savedata editor, and for gamedata (wow i found a usage) constrain eventwork editor to struct variable types (uint, int, etc), thus preventing null assignment errors
2019-10-17 01:47:31 +00:00
});
public static readonly TeamLock CMurkrow = new(
198, // Murkrow
new[] {
new NPCLock(318, 06, 0, 127), // Carvanha (M) (Docile)
new NPCLock(274, 12, 1, 127), // Nuzleaf (F) (Serious)
new NPCLock(228, 18, 0, 127), // Houndour (M) (Bashful)
PKHeX.Core Nullable cleanup (#2401) * Handle some nullable cases Refactor MysteryGift into a second abstract class (backed by a byte array, or fake data) Make some classes have explicit constructors instead of { } initialization * Handle bits more obviously without null * Make SaveFile.BAK explicitly readonly again * merge constructor methods to have readonly fields * Inline some properties * More nullable handling * Rearrange box actions define straightforward classes to not have any null properties * Make extrabyte reference array immutable * Move tooltip creation to designer * Rearrange some logic to reduce nesting * Cache generated fonts * Split mystery gift album purpose * Handle more tooltips * Disallow null setters * Don't capture RNG object, only type enum * Unify learnset objects Now have readonly properties which are never null don't new() empty learnsets (>800 Learnset objects no longer created, total of 2400 objects since we also new() a move & level array) optimize g1/2 reader for early abort case * Access rewrite Initialize blocks in a separate object, and get via that object removes a couple hundred "might be null" warnings since blocks are now readonly getters some block references have been relocated, but interfaces should expose all that's needed put HoF6 controls in a groupbox, and disable * Readonly personal data * IVs non nullable for mystery gift * Explicitly initialize forced encounter moves * Make shadow objects readonly & non-null Put murkrow fix in binary data resource, instead of on startup * Assign dex form fetch on constructor Fixes legality parsing edge cases also handle cxd parse for valid; exit before exception is thrown in FrameGenerator * Remove unnecessary null checks * Keep empty value until init SetPouch sets the value to an actual one during load, but whatever * Readonly team lock data * Readonly locks Put locked encounters at bottom (favor unlocked) * Mail readonly data / offset Rearrange some call flow and pass defaults Add fake classes for SaveDataEditor mocking Always party size, no need to check twice in stat editor use a fake save file as initial data for savedata editor, and for gamedata (wow i found a usage) constrain eventwork editor to struct variable types (uint, int, etc), thus preventing null assignment errors
2019-10-17 01:47:31 +00:00
});
public static readonly TeamLock CHeracross = new(
214, // Heracross
new[] {
new NPCLock(284, 00, 0, 127), // Masquerain (M) (Hardy)
new NPCLock(168, 00, 1, 127), // Ariados (F) (Hardy)
PKHeX.Core Nullable cleanup (#2401) * Handle some nullable cases Refactor MysteryGift into a second abstract class (backed by a byte array, or fake data) Make some classes have explicit constructors instead of { } initialization * Handle bits more obviously without null * Make SaveFile.BAK explicitly readonly again * merge constructor methods to have readonly fields * Inline some properties * More nullable handling * Rearrange box actions define straightforward classes to not have any null properties * Make extrabyte reference array immutable * Move tooltip creation to designer * Rearrange some logic to reduce nesting * Cache generated fonts * Split mystery gift album purpose * Handle more tooltips * Disallow null setters * Don't capture RNG object, only type enum * Unify learnset objects Now have readonly properties which are never null don't new() empty learnsets (>800 Learnset objects no longer created, total of 2400 objects since we also new() a move & level array) optimize g1/2 reader for early abort case * Access rewrite Initialize blocks in a separate object, and get via that object removes a couple hundred "might be null" warnings since blocks are now readonly getters some block references have been relocated, but interfaces should expose all that's needed put HoF6 controls in a groupbox, and disable * Readonly personal data * IVs non nullable for mystery gift * Explicitly initialize forced encounter moves * Make shadow objects readonly & non-null Put murkrow fix in binary data resource, instead of on startup * Assign dex form fetch on constructor Fixes legality parsing edge cases also handle cxd parse for valid; exit before exception is thrown in FrameGenerator * Remove unnecessary null checks * Keep empty value until init SetPouch sets the value to an actual one during load, but whatever * Readonly team lock data * Readonly locks Put locked encounters at bottom (favor unlocked) * Mail readonly data / offset Rearrange some call flow and pass defaults Add fake classes for SaveDataEditor mocking Always party size, no need to check twice in stat editor use a fake save file as initial data for savedata editor, and for gamedata (wow i found a usage) constrain eventwork editor to struct variable types (uint, int, etc), thus preventing null assignment errors
2019-10-17 01:47:31 +00:00
});
public static readonly TeamLock CUrsaring = new(
217, // Ursaring
new[] {
new NPCLock(067, 20, 1, 063), // Machoke (F) (Calm)
new NPCLock(259, 16, 0, 031), // Marshtomp (M) (Mild)
new NPCLock(275, 21, 1, 127), // Shiftry (F) (Gentle)
});
#endregion
2018-10-30 02:43:32 +00:00
#region E-Reader
2018-10-30 02:43:32 +00:00
public static readonly TeamLock ETogepi = new(
175, // Togepi
new[] {
new NPCLock(302, 23, 0, 127), // Sableye (M) (Careful)
new NPCLock(088, 08, 0, 127), // Grimer (M) (Impish)
new NPCLock(316, 24, 0, 127), // Gulpin (M) (Quirky)
new NPCLock(175, 22, 1, 031), // Togepi (F) (Sassy) -- itself!
PKHeX.Core Nullable cleanup (#2401) * Handle some nullable cases Refactor MysteryGift into a second abstract class (backed by a byte array, or fake data) Make some classes have explicit constructors instead of { } initialization * Handle bits more obviously without null * Make SaveFile.BAK explicitly readonly again * merge constructor methods to have readonly fields * Inline some properties * More nullable handling * Rearrange box actions define straightforward classes to not have any null properties * Make extrabyte reference array immutable * Move tooltip creation to designer * Rearrange some logic to reduce nesting * Cache generated fonts * Split mystery gift album purpose * Handle more tooltips * Disallow null setters * Don't capture RNG object, only type enum * Unify learnset objects Now have readonly properties which are never null don't new() empty learnsets (>800 Learnset objects no longer created, total of 2400 objects since we also new() a move & level array) optimize g1/2 reader for early abort case * Access rewrite Initialize blocks in a separate object, and get via that object removes a couple hundred "might be null" warnings since blocks are now readonly getters some block references have been relocated, but interfaces should expose all that's needed put HoF6 controls in a groupbox, and disable * Readonly personal data * IVs non nullable for mystery gift * Explicitly initialize forced encounter moves * Make shadow objects readonly & non-null Put murkrow fix in binary data resource, instead of on startup * Assign dex form fetch on constructor Fixes legality parsing edge cases also handle cxd parse for valid; exit before exception is thrown in FrameGenerator * Remove unnecessary null checks * Keep empty value until init SetPouch sets the value to an actual one during load, but whatever * Readonly team lock data * Readonly locks Put locked encounters at bottom (favor unlocked) * Mail readonly data / offset Rearrange some call flow and pass defaults Add fake classes for SaveDataEditor mocking Always party size, no need to check twice in stat editor use a fake save file as initial data for savedata editor, and for gamedata (wow i found a usage) constrain eventwork editor to struct variable types (uint, int, etc), thus preventing null assignment errors
2019-10-17 01:47:31 +00:00
});
2018-10-30 02:43:32 +00:00
public static readonly TeamLock EMareep = new(
179, // Mareep
new[] {
new NPCLock(300, 04, 1, 191), // Skitty (F) (Naughty)
new NPCLock(211, 10, 1, 127), // Qwilfish (F) (Timid)
new NPCLock(355, 12, 1, 127), // Duskull (F) (Serious)
new NPCLock(179, 16, 1, 127), // Mareep (F) (Mild) -- itself!
PKHeX.Core Nullable cleanup (#2401) * Handle some nullable cases Refactor MysteryGift into a second abstract class (backed by a byte array, or fake data) Make some classes have explicit constructors instead of { } initialization * Handle bits more obviously without null * Make SaveFile.BAK explicitly readonly again * merge constructor methods to have readonly fields * Inline some properties * More nullable handling * Rearrange box actions define straightforward classes to not have any null properties * Make extrabyte reference array immutable * Move tooltip creation to designer * Rearrange some logic to reduce nesting * Cache generated fonts * Split mystery gift album purpose * Handle more tooltips * Disallow null setters * Don't capture RNG object, only type enum * Unify learnset objects Now have readonly properties which are never null don't new() empty learnsets (>800 Learnset objects no longer created, total of 2400 objects since we also new() a move & level array) optimize g1/2 reader for early abort case * Access rewrite Initialize blocks in a separate object, and get via that object removes a couple hundred "might be null" warnings since blocks are now readonly getters some block references have been relocated, but interfaces should expose all that's needed put HoF6 controls in a groupbox, and disable * Readonly personal data * IVs non nullable for mystery gift * Explicitly initialize forced encounter moves * Make shadow objects readonly & non-null Put murkrow fix in binary data resource, instead of on startup * Assign dex form fetch on constructor Fixes legality parsing edge cases also handle cxd parse for valid; exit before exception is thrown in FrameGenerator * Remove unnecessary null checks * Keep empty value until init SetPouch sets the value to an actual one during load, but whatever * Readonly team lock data * Readonly locks Put locked encounters at bottom (favor unlocked) * Mail readonly data / offset Rearrange some call flow and pass defaults Add fake classes for SaveDataEditor mocking Always party size, no need to check twice in stat editor use a fake save file as initial data for savedata editor, and for gamedata (wow i found a usage) constrain eventwork editor to struct variable types (uint, int, etc), thus preventing null assignment errors
2019-10-17 01:47:31 +00:00
});
2018-10-30 02:43:32 +00:00
public static readonly TeamLock EScizor = new(
212, // Scizor
new[] {
new NPCLock(198, 13, 1, 191), // Murkrow (F) (Jolly)
new NPCLock(344, 02, 2, 255), // Claydol (-) (Brave)
new NPCLock(208, 03, 0, 127), // Steelix (M) (Adamant)
new NPCLock(212, 11, 0, 127), // Scizor (M) (Hasty) -- itself!
PKHeX.Core Nullable cleanup (#2401) * Handle some nullable cases Refactor MysteryGift into a second abstract class (backed by a byte array, or fake data) Make some classes have explicit constructors instead of { } initialization * Handle bits more obviously without null * Make SaveFile.BAK explicitly readonly again * merge constructor methods to have readonly fields * Inline some properties * More nullable handling * Rearrange box actions define straightforward classes to not have any null properties * Make extrabyte reference array immutable * Move tooltip creation to designer * Rearrange some logic to reduce nesting * Cache generated fonts * Split mystery gift album purpose * Handle more tooltips * Disallow null setters * Don't capture RNG object, only type enum * Unify learnset objects Now have readonly properties which are never null don't new() empty learnsets (>800 Learnset objects no longer created, total of 2400 objects since we also new() a move & level array) optimize g1/2 reader for early abort case * Access rewrite Initialize blocks in a separate object, and get via that object removes a couple hundred "might be null" warnings since blocks are now readonly getters some block references have been relocated, but interfaces should expose all that's needed put HoF6 controls in a groupbox, and disable * Readonly personal data * IVs non nullable for mystery gift * Explicitly initialize forced encounter moves * Make shadow objects readonly & non-null Put murkrow fix in binary data resource, instead of on startup * Assign dex form fetch on constructor Fixes legality parsing edge cases also handle cxd parse for valid; exit before exception is thrown in FrameGenerator * Remove unnecessary null checks * Keep empty value until init SetPouch sets the value to an actual one during load, but whatever * Readonly team lock data * Readonly locks Put locked encounters at bottom (favor unlocked) * Mail readonly data / offset Rearrange some call flow and pass defaults Add fake classes for SaveDataEditor mocking Always party size, no need to check twice in stat editor use a fake save file as initial data for savedata editor, and for gamedata (wow i found a usage) constrain eventwork editor to struct variable types (uint, int, etc), thus preventing null assignment errors
2019-10-17 01:47:31 +00:00
});
2018-10-30 02:43:32 +00:00
#endregion
#region XD
2018-10-30 02:43:32 +00:00
public static readonly TeamLock XRalts = new(
280, // Ralts
new[] {
new NPCLock(064, 00, 0, 063), // Kadabra (M) (Hardy)
new NPCLock(180, 06, 1, 127), // Flaaffy (F) (Docile)
new NPCLock(288, 18, 0, 127), // Vigoroth (M) (Bashful)
PKHeX.Core Nullable cleanup (#2401) * Handle some nullable cases Refactor MysteryGift into a second abstract class (backed by a byte array, or fake data) Make some classes have explicit constructors instead of { } initialization * Handle bits more obviously without null * Make SaveFile.BAK explicitly readonly again * merge constructor methods to have readonly fields * Inline some properties * More nullable handling * Rearrange box actions define straightforward classes to not have any null properties * Make extrabyte reference array immutable * Move tooltip creation to designer * Rearrange some logic to reduce nesting * Cache generated fonts * Split mystery gift album purpose * Handle more tooltips * Disallow null setters * Don't capture RNG object, only type enum * Unify learnset objects Now have readonly properties which are never null don't new() empty learnsets (>800 Learnset objects no longer created, total of 2400 objects since we also new() a move & level array) optimize g1/2 reader for early abort case * Access rewrite Initialize blocks in a separate object, and get via that object removes a couple hundred "might be null" warnings since blocks are now readonly getters some block references have been relocated, but interfaces should expose all that's needed put HoF6 controls in a groupbox, and disable * Readonly personal data * IVs non nullable for mystery gift * Explicitly initialize forced encounter moves * Make shadow objects readonly & non-null Put murkrow fix in binary data resource, instead of on startup * Assign dex form fetch on constructor Fixes legality parsing edge cases also handle cxd parse for valid; exit before exception is thrown in FrameGenerator * Remove unnecessary null checks * Keep empty value until init SetPouch sets the value to an actual one during load, but whatever * Readonly team lock data * Readonly locks Put locked encounters at bottom (favor unlocked) * Mail readonly data / offset Rearrange some call flow and pass defaults Add fake classes for SaveDataEditor mocking Always party size, no need to check twice in stat editor use a fake save file as initial data for savedata editor, and for gamedata (wow i found a usage) constrain eventwork editor to struct variable types (uint, int, etc), thus preventing null assignment errors
2019-10-17 01:47:31 +00:00
});
public static readonly TeamLock XPoochyena = new(
261, // Poochyena
new[] {
new NPCLock(041, 12, 1, 127), // Zubat (F) (Serious)
});
public static readonly TeamLock XLedyba = new(
165, // Ledyba
new[] {
new NPCLock(276, 00, 1, 127), // Taillow (F) (Hardy)
PKHeX.Core Nullable cleanup (#2401) * Handle some nullable cases Refactor MysteryGift into a second abstract class (backed by a byte array, or fake data) Make some classes have explicit constructors instead of { } initialization * Handle bits more obviously without null * Make SaveFile.BAK explicitly readonly again * merge constructor methods to have readonly fields * Inline some properties * More nullable handling * Rearrange box actions define straightforward classes to not have any null properties * Make extrabyte reference array immutable * Move tooltip creation to designer * Rearrange some logic to reduce nesting * Cache generated fonts * Split mystery gift album purpose * Handle more tooltips * Disallow null setters * Don't capture RNG object, only type enum * Unify learnset objects Now have readonly properties which are never null don't new() empty learnsets (>800 Learnset objects no longer created, total of 2400 objects since we also new() a move & level array) optimize g1/2 reader for early abort case * Access rewrite Initialize blocks in a separate object, and get via that object removes a couple hundred "might be null" warnings since blocks are now readonly getters some block references have been relocated, but interfaces should expose all that's needed put HoF6 controls in a groupbox, and disable * Readonly personal data * IVs non nullable for mystery gift * Explicitly initialize forced encounter moves * Make shadow objects readonly & non-null Put murkrow fix in binary data resource, instead of on startup * Assign dex form fetch on constructor Fixes legality parsing edge cases also handle cxd parse for valid; exit before exception is thrown in FrameGenerator * Remove unnecessary null checks * Keep empty value until init SetPouch sets the value to an actual one during load, but whatever * Readonly team lock data * Readonly locks Put locked encounters at bottom (favor unlocked) * Mail readonly data / offset Rearrange some call flow and pass defaults Add fake classes for SaveDataEditor mocking Always party size, no need to check twice in stat editor use a fake save file as initial data for savedata editor, and for gamedata (wow i found a usage) constrain eventwork editor to struct variable types (uint, int, etc), thus preventing null assignment errors
2019-10-17 01:47:31 +00:00
});
public static readonly TeamLock XSphealCipherLab = new(
363, // Spheal
"Cipher Lab",
new[] {
new NPCLock(116, 24, 0, 063), // Horsea (M) (Quirky)
new NPCLock(118, 12, 1, 127), // Goldeen (F) (Serious)
PKHeX.Core Nullable cleanup (#2401) * Handle some nullable cases Refactor MysteryGift into a second abstract class (backed by a byte array, or fake data) Make some classes have explicit constructors instead of { } initialization * Handle bits more obviously without null * Make SaveFile.BAK explicitly readonly again * merge constructor methods to have readonly fields * Inline some properties * More nullable handling * Rearrange box actions define straightforward classes to not have any null properties * Make extrabyte reference array immutable * Move tooltip creation to designer * Rearrange some logic to reduce nesting * Cache generated fonts * Split mystery gift album purpose * Handle more tooltips * Disallow null setters * Don't capture RNG object, only type enum * Unify learnset objects Now have readonly properties which are never null don't new() empty learnsets (>800 Learnset objects no longer created, total of 2400 objects since we also new() a move & level array) optimize g1/2 reader for early abort case * Access rewrite Initialize blocks in a separate object, and get via that object removes a couple hundred "might be null" warnings since blocks are now readonly getters some block references have been relocated, but interfaces should expose all that's needed put HoF6 controls in a groupbox, and disable * Readonly personal data * IVs non nullable for mystery gift * Explicitly initialize forced encounter moves * Make shadow objects readonly & non-null Put murkrow fix in binary data resource, instead of on startup * Assign dex form fetch on constructor Fixes legality parsing edge cases also handle cxd parse for valid; exit before exception is thrown in FrameGenerator * Remove unnecessary null checks * Keep empty value until init SetPouch sets the value to an actual one during load, but whatever * Readonly team lock data * Readonly locks Put locked encounters at bottom (favor unlocked) * Mail readonly data / offset Rearrange some call flow and pass defaults Add fake classes for SaveDataEditor mocking Always party size, no need to check twice in stat editor use a fake save file as initial data for savedata editor, and for gamedata (wow i found a usage) constrain eventwork editor to struct variable types (uint, int, etc), thus preventing null assignment errors
2019-10-17 01:47:31 +00:00
});
public static readonly TeamLock XSphealPhenacCityandPost = new(
363, // Spheal
"Phenac City and Post",
new[] {
new NPCLock(116, 24, 0, 063), // Horsea (M) (Quirky)
new NPCLock(118, 12, 1, 127), // Goldeen (F) (Serious)
new NPCLock(374, 00, 2, 255), // Beldum (-) (Hardy)
PKHeX.Core Nullable cleanup (#2401) * Handle some nullable cases Refactor MysteryGift into a second abstract class (backed by a byte array, or fake data) Make some classes have explicit constructors instead of { } initialization * Handle bits more obviously without null * Make SaveFile.BAK explicitly readonly again * merge constructor methods to have readonly fields * Inline some properties * More nullable handling * Rearrange box actions define straightforward classes to not have any null properties * Make extrabyte reference array immutable * Move tooltip creation to designer * Rearrange some logic to reduce nesting * Cache generated fonts * Split mystery gift album purpose * Handle more tooltips * Disallow null setters * Don't capture RNG object, only type enum * Unify learnset objects Now have readonly properties which are never null don't new() empty learnsets (>800 Learnset objects no longer created, total of 2400 objects since we also new() a move & level array) optimize g1/2 reader for early abort case * Access rewrite Initialize blocks in a separate object, and get via that object removes a couple hundred "might be null" warnings since blocks are now readonly getters some block references have been relocated, but interfaces should expose all that's needed put HoF6 controls in a groupbox, and disable * Readonly personal data * IVs non nullable for mystery gift * Explicitly initialize forced encounter moves * Make shadow objects readonly & non-null Put murkrow fix in binary data resource, instead of on startup * Assign dex form fetch on constructor Fixes legality parsing edge cases also handle cxd parse for valid; exit before exception is thrown in FrameGenerator * Remove unnecessary null checks * Keep empty value until init SetPouch sets the value to an actual one during load, but whatever * Readonly team lock data * Readonly locks Put locked encounters at bottom (favor unlocked) * Mail readonly data / offset Rearrange some call flow and pass defaults Add fake classes for SaveDataEditor mocking Always party size, no need to check twice in stat editor use a fake save file as initial data for savedata editor, and for gamedata (wow i found a usage) constrain eventwork editor to struct variable types (uint, int, etc), thus preventing null assignment errors
2019-10-17 01:47:31 +00:00
});
public static readonly TeamLock XGulpin = new(
316, // Gulpin
new[] {
new NPCLock(109, 12, 1, 127), // Koffing (F) (Serious)
new NPCLock(088, 06, 0, 127), // Grimer (M) (Docile)
PKHeX.Core Nullable cleanup (#2401) * Handle some nullable cases Refactor MysteryGift into a second abstract class (backed by a byte array, or fake data) Make some classes have explicit constructors instead of { } initialization * Handle bits more obviously without null * Make SaveFile.BAK explicitly readonly again * merge constructor methods to have readonly fields * Inline some properties * More nullable handling * Rearrange box actions define straightforward classes to not have any null properties * Make extrabyte reference array immutable * Move tooltip creation to designer * Rearrange some logic to reduce nesting * Cache generated fonts * Split mystery gift album purpose * Handle more tooltips * Disallow null setters * Don't capture RNG object, only type enum * Unify learnset objects Now have readonly properties which are never null don't new() empty learnsets (>800 Learnset objects no longer created, total of 2400 objects since we also new() a move & level array) optimize g1/2 reader for early abort case * Access rewrite Initialize blocks in a separate object, and get via that object removes a couple hundred "might be null" warnings since blocks are now readonly getters some block references have been relocated, but interfaces should expose all that's needed put HoF6 controls in a groupbox, and disable * Readonly personal data * IVs non nullable for mystery gift * Explicitly initialize forced encounter moves * Make shadow objects readonly & non-null Put murkrow fix in binary data resource, instead of on startup * Assign dex form fetch on constructor Fixes legality parsing edge cases also handle cxd parse for valid; exit before exception is thrown in FrameGenerator * Remove unnecessary null checks * Keep empty value until init SetPouch sets the value to an actual one during load, but whatever * Readonly team lock data * Readonly locks Put locked encounters at bottom (favor unlocked) * Mail readonly data / offset Rearrange some call flow and pass defaults Add fake classes for SaveDataEditor mocking Always party size, no need to check twice in stat editor use a fake save file as initial data for savedata editor, and for gamedata (wow i found a usage) constrain eventwork editor to struct variable types (uint, int, etc), thus preventing null assignment errors
2019-10-17 01:47:31 +00:00
});
public static readonly TeamLock XSeedotCipherLab = new(
273, // Seedot
"Cipher Lab",
new[] {
new NPCLock(043, 06, 0, 127), // Oddish (M) (Docile)
new NPCLock(331, 24, 1, 127), // Cacnea (F) (Quirky)
new NPCLock(285, 18, 1, 127), // Shroomish (F) (Bashful)
new NPCLock(270, 00, 0, 127), // Lotad (M) (Hardy)
new NPCLock(204, 12, 0, 127), // Pineco (M) (Serious)
PKHeX.Core Nullable cleanup (#2401) * Handle some nullable cases Refactor MysteryGift into a second abstract class (backed by a byte array, or fake data) Make some classes have explicit constructors instead of { } initialization * Handle bits more obviously without null * Make SaveFile.BAK explicitly readonly again * merge constructor methods to have readonly fields * Inline some properties * More nullable handling * Rearrange box actions define straightforward classes to not have any null properties * Make extrabyte reference array immutable * Move tooltip creation to designer * Rearrange some logic to reduce nesting * Cache generated fonts * Split mystery gift album purpose * Handle more tooltips * Disallow null setters * Don't capture RNG object, only type enum * Unify learnset objects Now have readonly properties which are never null don't new() empty learnsets (>800 Learnset objects no longer created, total of 2400 objects since we also new() a move & level array) optimize g1/2 reader for early abort case * Access rewrite Initialize blocks in a separate object, and get via that object removes a couple hundred "might be null" warnings since blocks are now readonly getters some block references have been relocated, but interfaces should expose all that's needed put HoF6 controls in a groupbox, and disable * Readonly personal data * IVs non nullable for mystery gift * Explicitly initialize forced encounter moves * Make shadow objects readonly & non-null Put murkrow fix in binary data resource, instead of on startup * Assign dex form fetch on constructor Fixes legality parsing edge cases also handle cxd parse for valid; exit before exception is thrown in FrameGenerator * Remove unnecessary null checks * Keep empty value until init SetPouch sets the value to an actual one during load, but whatever * Readonly team lock data * Readonly locks Put locked encounters at bottom (favor unlocked) * Mail readonly data / offset Rearrange some call flow and pass defaults Add fake classes for SaveDataEditor mocking Always party size, no need to check twice in stat editor use a fake save file as initial data for savedata editor, and for gamedata (wow i found a usage) constrain eventwork editor to struct variable types (uint, int, etc), thus preventing null assignment errors
2019-10-17 01:47:31 +00:00
});
public static readonly TeamLock XSeedotPhenacCity = new(
273, // Seedot
"Phenac City",
new[] {
new NPCLock(043, 06, 0, 127), // Oddish (M) (Docile)
new NPCLock(331, 24, 1, 127), // Cacnea (F) (Quirky)
new NPCLock(285, 00, 1, 127), // Shroomish (F) (Hardy)
new NPCLock(270, 00, 1, 127), // Lotad (F) (Hardy)
new NPCLock(204, 06, 0, 127), // Pineco (M) (Docile)
PKHeX.Core Nullable cleanup (#2401) * Handle some nullable cases Refactor MysteryGift into a second abstract class (backed by a byte array, or fake data) Make some classes have explicit constructors instead of { } initialization * Handle bits more obviously without null * Make SaveFile.BAK explicitly readonly again * merge constructor methods to have readonly fields * Inline some properties * More nullable handling * Rearrange box actions define straightforward classes to not have any null properties * Make extrabyte reference array immutable * Move tooltip creation to designer * Rearrange some logic to reduce nesting * Cache generated fonts * Split mystery gift album purpose * Handle more tooltips * Disallow null setters * Don't capture RNG object, only type enum * Unify learnset objects Now have readonly properties which are never null don't new() empty learnsets (>800 Learnset objects no longer created, total of 2400 objects since we also new() a move & level array) optimize g1/2 reader for early abort case * Access rewrite Initialize blocks in a separate object, and get via that object removes a couple hundred "might be null" warnings since blocks are now readonly getters some block references have been relocated, but interfaces should expose all that's needed put HoF6 controls in a groupbox, and disable * Readonly personal data * IVs non nullable for mystery gift * Explicitly initialize forced encounter moves * Make shadow objects readonly & non-null Put murkrow fix in binary data resource, instead of on startup * Assign dex form fetch on constructor Fixes legality parsing edge cases also handle cxd parse for valid; exit before exception is thrown in FrameGenerator * Remove unnecessary null checks * Keep empty value until init SetPouch sets the value to an actual one during load, but whatever * Readonly team lock data * Readonly locks Put locked encounters at bottom (favor unlocked) * Mail readonly data / offset Rearrange some call flow and pass defaults Add fake classes for SaveDataEditor mocking Always party size, no need to check twice in stat editor use a fake save file as initial data for savedata editor, and for gamedata (wow i found a usage) constrain eventwork editor to struct variable types (uint, int, etc), thus preventing null assignment errors
2019-10-17 01:47:31 +00:00
});
public static readonly TeamLock XSeedotPost = new(
273, // Seedot
"Post",
new[] {
new NPCLock(045, 06, 0, 127), // Vileplume (M) (Docile)
new NPCLock(332, 24, 1, 127), // Cacturne (F) (Quirky)
new NPCLock(286, 00, 1, 127), // Breloom (F) (Hardy)
new NPCLock(271, 00, 0, 127), // Lombre (M) (Hardy)
new NPCLock(205, 12, 0, 127), // Forretress (M) (Serious)
PKHeX.Core Nullable cleanup (#2401) * Handle some nullable cases Refactor MysteryGift into a second abstract class (backed by a byte array, or fake data) Make some classes have explicit constructors instead of { } initialization * Handle bits more obviously without null * Make SaveFile.BAK explicitly readonly again * merge constructor methods to have readonly fields * Inline some properties * More nullable handling * Rearrange box actions define straightforward classes to not have any null properties * Make extrabyte reference array immutable * Move tooltip creation to designer * Rearrange some logic to reduce nesting * Cache generated fonts * Split mystery gift album purpose * Handle more tooltips * Disallow null setters * Don't capture RNG object, only type enum * Unify learnset objects Now have readonly properties which are never null don't new() empty learnsets (>800 Learnset objects no longer created, total of 2400 objects since we also new() a move & level array) optimize g1/2 reader for early abort case * Access rewrite Initialize blocks in a separate object, and get via that object removes a couple hundred "might be null" warnings since blocks are now readonly getters some block references have been relocated, but interfaces should expose all that's needed put HoF6 controls in a groupbox, and disable * Readonly personal data * IVs non nullable for mystery gift * Explicitly initialize forced encounter moves * Make shadow objects readonly & non-null Put murkrow fix in binary data resource, instead of on startup * Assign dex form fetch on constructor Fixes legality parsing edge cases also handle cxd parse for valid; exit before exception is thrown in FrameGenerator * Remove unnecessary null checks * Keep empty value until init SetPouch sets the value to an actual one during load, but whatever * Readonly team lock data * Readonly locks Put locked encounters at bottom (favor unlocked) * Mail readonly data / offset Rearrange some call flow and pass defaults Add fake classes for SaveDataEditor mocking Always party size, no need to check twice in stat editor use a fake save file as initial data for savedata editor, and for gamedata (wow i found a usage) constrain eventwork editor to struct variable types (uint, int, etc), thus preventing null assignment errors
2019-10-17 01:47:31 +00:00
});
public static readonly TeamLock XSpinarak = new(
167, // Spinarak
new[] {
new NPCLock(220, 12, 1, 127), // Swinub (F) (Serious)
new NPCLock(353, 06, 0, 127), // Shuppet (M) (Docile)
PKHeX.Core Nullable cleanup (#2401) * Handle some nullable cases Refactor MysteryGift into a second abstract class (backed by a byte array, or fake data) Make some classes have explicit constructors instead of { } initialization * Handle bits more obviously without null * Make SaveFile.BAK explicitly readonly again * merge constructor methods to have readonly fields * Inline some properties * More nullable handling * Rearrange box actions define straightforward classes to not have any null properties * Make extrabyte reference array immutable * Move tooltip creation to designer * Rearrange some logic to reduce nesting * Cache generated fonts * Split mystery gift album purpose * Handle more tooltips * Disallow null setters * Don't capture RNG object, only type enum * Unify learnset objects Now have readonly properties which are never null don't new() empty learnsets (>800 Learnset objects no longer created, total of 2400 objects since we also new() a move & level array) optimize g1/2 reader for early abort case * Access rewrite Initialize blocks in a separate object, and get via that object removes a couple hundred "might be null" warnings since blocks are now readonly getters some block references have been relocated, but interfaces should expose all that's needed put HoF6 controls in a groupbox, and disable * Readonly personal data * IVs non nullable for mystery gift * Explicitly initialize forced encounter moves * Make shadow objects readonly & non-null Put murkrow fix in binary data resource, instead of on startup * Assign dex form fetch on constructor Fixes legality parsing edge cases also handle cxd parse for valid; exit before exception is thrown in FrameGenerator * Remove unnecessary null checks * Keep empty value until init SetPouch sets the value to an actual one during load, but whatever * Readonly team lock data * Readonly locks Put locked encounters at bottom (favor unlocked) * Mail readonly data / offset Rearrange some call flow and pass defaults Add fake classes for SaveDataEditor mocking Always party size, no need to check twice in stat editor use a fake save file as initial data for savedata editor, and for gamedata (wow i found a usage) constrain eventwork editor to struct variable types (uint, int, etc), thus preventing null assignment errors
2019-10-17 01:47:31 +00:00
});
public static readonly TeamLock XNumel = new(
322, // Numel
new[] {
new NPCLock(280, 06, 0, 127), // Ralts (M) (Docile)
new NPCLock(100, 00, 2, 255), // Voltorb (-) (Hardy)
new NPCLock(371, 24, 1, 127), // Bagon (F) (Quirky)
PKHeX.Core Nullable cleanup (#2401) * Handle some nullable cases Refactor MysteryGift into a second abstract class (backed by a byte array, or fake data) Make some classes have explicit constructors instead of { } initialization * Handle bits more obviously without null * Make SaveFile.BAK explicitly readonly again * merge constructor methods to have readonly fields * Inline some properties * More nullable handling * Rearrange box actions define straightforward classes to not have any null properties * Make extrabyte reference array immutable * Move tooltip creation to designer * Rearrange some logic to reduce nesting * Cache generated fonts * Split mystery gift album purpose * Handle more tooltips * Disallow null setters * Don't capture RNG object, only type enum * Unify learnset objects Now have readonly properties which are never null don't new() empty learnsets (>800 Learnset objects no longer created, total of 2400 objects since we also new() a move & level array) optimize g1/2 reader for early abort case * Access rewrite Initialize blocks in a separate object, and get via that object removes a couple hundred "might be null" warnings since blocks are now readonly getters some block references have been relocated, but interfaces should expose all that's needed put HoF6 controls in a groupbox, and disable * Readonly personal data * IVs non nullable for mystery gift * Explicitly initialize forced encounter moves * Make shadow objects readonly & non-null Put murkrow fix in binary data resource, instead of on startup * Assign dex form fetch on constructor Fixes legality parsing edge cases also handle cxd parse for valid; exit before exception is thrown in FrameGenerator * Remove unnecessary null checks * Keep empty value until init SetPouch sets the value to an actual one during load, but whatever * Readonly team lock data * Readonly locks Put locked encounters at bottom (favor unlocked) * Mail readonly data / offset Rearrange some call flow and pass defaults Add fake classes for SaveDataEditor mocking Always party size, no need to check twice in stat editor use a fake save file as initial data for savedata editor, and for gamedata (wow i found a usage) constrain eventwork editor to struct variable types (uint, int, etc), thus preventing null assignment errors
2019-10-17 01:47:31 +00:00
});
public static readonly TeamLock XShroomish = new(
285, // Shroomish
new[] {
new NPCLock(209, 24, 1, 191), // Snubbull (F) (Quirky)
new NPCLock(352, 00, 1, 127), // Kecleon (F) (Hardy)
PKHeX.Core Nullable cleanup (#2401) * Handle some nullable cases Refactor MysteryGift into a second abstract class (backed by a byte array, or fake data) Make some classes have explicit constructors instead of { } initialization * Handle bits more obviously without null * Make SaveFile.BAK explicitly readonly again * merge constructor methods to have readonly fields * Inline some properties * More nullable handling * Rearrange box actions define straightforward classes to not have any null properties * Make extrabyte reference array immutable * Move tooltip creation to designer * Rearrange some logic to reduce nesting * Cache generated fonts * Split mystery gift album purpose * Handle more tooltips * Disallow null setters * Don't capture RNG object, only type enum * Unify learnset objects Now have readonly properties which are never null don't new() empty learnsets (>800 Learnset objects no longer created, total of 2400 objects since we also new() a move & level array) optimize g1/2 reader for early abort case * Access rewrite Initialize blocks in a separate object, and get via that object removes a couple hundred "might be null" warnings since blocks are now readonly getters some block references have been relocated, but interfaces should expose all that's needed put HoF6 controls in a groupbox, and disable * Readonly personal data * IVs non nullable for mystery gift * Explicitly initialize forced encounter moves * Make shadow objects readonly & non-null Put murkrow fix in binary data resource, instead of on startup * Assign dex form fetch on constructor Fixes legality parsing edge cases also handle cxd parse for valid; exit before exception is thrown in FrameGenerator * Remove unnecessary null checks * Keep empty value until init SetPouch sets the value to an actual one during load, but whatever * Readonly team lock data * Readonly locks Put locked encounters at bottom (favor unlocked) * Mail readonly data / offset Rearrange some call flow and pass defaults Add fake classes for SaveDataEditor mocking Always party size, no need to check twice in stat editor use a fake save file as initial data for savedata editor, and for gamedata (wow i found a usage) constrain eventwork editor to struct variable types (uint, int, etc), thus preventing null assignment errors
2019-10-17 01:47:31 +00:00
});
public static readonly TeamLock XDelcatty = new(
301, // Delcatty
new[] {
new NPCLock(370, 06, 1, 191), // Luvdisc (F) (Docile)
new NPCLock(267, 00, 0, 127), // Beautifly (M) (Hardy)
new NPCLock(315, 24, 0, 127), // Roselia (M) (Quirky)
PKHeX.Core Nullable cleanup (#2401) * Handle some nullable cases Refactor MysteryGift into a second abstract class (backed by a byte array, or fake data) Make some classes have explicit constructors instead of { } initialization * Handle bits more obviously without null * Make SaveFile.BAK explicitly readonly again * merge constructor methods to have readonly fields * Inline some properties * More nullable handling * Rearrange box actions define straightforward classes to not have any null properties * Make extrabyte reference array immutable * Move tooltip creation to designer * Rearrange some logic to reduce nesting * Cache generated fonts * Split mystery gift album purpose * Handle more tooltips * Disallow null setters * Don't capture RNG object, only type enum * Unify learnset objects Now have readonly properties which are never null don't new() empty learnsets (>800 Learnset objects no longer created, total of 2400 objects since we also new() a move & level array) optimize g1/2 reader for early abort case * Access rewrite Initialize blocks in a separate object, and get via that object removes a couple hundred "might be null" warnings since blocks are now readonly getters some block references have been relocated, but interfaces should expose all that's needed put HoF6 controls in a groupbox, and disable * Readonly personal data * IVs non nullable for mystery gift * Explicitly initialize forced encounter moves * Make shadow objects readonly & non-null Put murkrow fix in binary data resource, instead of on startup * Assign dex form fetch on constructor Fixes legality parsing edge cases also handle cxd parse for valid; exit before exception is thrown in FrameGenerator * Remove unnecessary null checks * Keep empty value until init SetPouch sets the value to an actual one during load, but whatever * Readonly team lock data * Readonly locks Put locked encounters at bottom (favor unlocked) * Mail readonly data / offset Rearrange some call flow and pass defaults Add fake classes for SaveDataEditor mocking Always party size, no need to check twice in stat editor use a fake save file as initial data for savedata editor, and for gamedata (wow i found a usage) constrain eventwork editor to struct variable types (uint, int, etc), thus preventing null assignment errors
2019-10-17 01:47:31 +00:00
});
public static readonly TeamLock XVoltorb = new(
100, // Voltorb
new[] {
new NPCLock(271, 00, 0, 127), // Lombre (M) (Hardy)
new NPCLock(271, 18, 0, 127), // Lombre (M) (Bashful)
new NPCLock(271, 12, 1, 127), // Lombre (F) (Serious)
PKHeX.Core Nullable cleanup (#2401) * Handle some nullable cases Refactor MysteryGift into a second abstract class (backed by a byte array, or fake data) Make some classes have explicit constructors instead of { } initialization * Handle bits more obviously without null * Make SaveFile.BAK explicitly readonly again * merge constructor methods to have readonly fields * Inline some properties * More nullable handling * Rearrange box actions define straightforward classes to not have any null properties * Make extrabyte reference array immutable * Move tooltip creation to designer * Rearrange some logic to reduce nesting * Cache generated fonts * Split mystery gift album purpose * Handle more tooltips * Disallow null setters * Don't capture RNG object, only type enum * Unify learnset objects Now have readonly properties which are never null don't new() empty learnsets (>800 Learnset objects no longer created, total of 2400 objects since we also new() a move & level array) optimize g1/2 reader for early abort case * Access rewrite Initialize blocks in a separate object, and get via that object removes a couple hundred "might be null" warnings since blocks are now readonly getters some block references have been relocated, but interfaces should expose all that's needed put HoF6 controls in a groupbox, and disable * Readonly personal data * IVs non nullable for mystery gift * Explicitly initialize forced encounter moves * Make shadow objects readonly & non-null Put murkrow fix in binary data resource, instead of on startup * Assign dex form fetch on constructor Fixes legality parsing edge cases also handle cxd parse for valid; exit before exception is thrown in FrameGenerator * Remove unnecessary null checks * Keep empty value until init SetPouch sets the value to an actual one during load, but whatever * Readonly team lock data * Readonly locks Put locked encounters at bottom (favor unlocked) * Mail readonly data / offset Rearrange some call flow and pass defaults Add fake classes for SaveDataEditor mocking Always party size, no need to check twice in stat editor use a fake save file as initial data for savedata editor, and for gamedata (wow i found a usage) constrain eventwork editor to struct variable types (uint, int, etc), thus preventing null assignment errors
2019-10-17 01:47:31 +00:00
});
public static readonly TeamLock XMakuhita = new(
296, // Makuhita
new[] {
new NPCLock(352, 06, 0, 127), // Kecleon (M) (Docile)
new NPCLock(283, 18, 1, 127), // Surskit (F) (Bashful)
PKHeX.Core Nullable cleanup (#2401) * Handle some nullable cases Refactor MysteryGift into a second abstract class (backed by a byte array, or fake data) Make some classes have explicit constructors instead of { } initialization * Handle bits more obviously without null * Make SaveFile.BAK explicitly readonly again * merge constructor methods to have readonly fields * Inline some properties * More nullable handling * Rearrange box actions define straightforward classes to not have any null properties * Make extrabyte reference array immutable * Move tooltip creation to designer * Rearrange some logic to reduce nesting * Cache generated fonts * Split mystery gift album purpose * Handle more tooltips * Disallow null setters * Don't capture RNG object, only type enum * Unify learnset objects Now have readonly properties which are never null don't new() empty learnsets (>800 Learnset objects no longer created, total of 2400 objects since we also new() a move & level array) optimize g1/2 reader for early abort case * Access rewrite Initialize blocks in a separate object, and get via that object removes a couple hundred "might be null" warnings since blocks are now readonly getters some block references have been relocated, but interfaces should expose all that's needed put HoF6 controls in a groupbox, and disable * Readonly personal data * IVs non nullable for mystery gift * Explicitly initialize forced encounter moves * Make shadow objects readonly & non-null Put murkrow fix in binary data resource, instead of on startup * Assign dex form fetch on constructor Fixes legality parsing edge cases also handle cxd parse for valid; exit before exception is thrown in FrameGenerator * Remove unnecessary null checks * Keep empty value until init SetPouch sets the value to an actual one during load, but whatever * Readonly team lock data * Readonly locks Put locked encounters at bottom (favor unlocked) * Mail readonly data / offset Rearrange some call flow and pass defaults Add fake classes for SaveDataEditor mocking Always party size, no need to check twice in stat editor use a fake save file as initial data for savedata editor, and for gamedata (wow i found a usage) constrain eventwork editor to struct variable types (uint, int, etc), thus preventing null assignment errors
2019-10-17 01:47:31 +00:00
});
public static readonly TeamLock XVulpix = new(
037, // Vulpix
new[] {
new NPCLock(167, 00, 0, 127), // Spinarak (M) (Hardy)
new NPCLock(267, 06, 1, 127), // Beautifly (F) (Docile)
new NPCLock(269, 18, 0, 127), // Dustox (M) (Bashful)
PKHeX.Core Nullable cleanup (#2401) * Handle some nullable cases Refactor MysteryGift into a second abstract class (backed by a byte array, or fake data) Make some classes have explicit constructors instead of { } initialization * Handle bits more obviously without null * Make SaveFile.BAK explicitly readonly again * merge constructor methods to have readonly fields * Inline some properties * More nullable handling * Rearrange box actions define straightforward classes to not have any null properties * Make extrabyte reference array immutable * Move tooltip creation to designer * Rearrange some logic to reduce nesting * Cache generated fonts * Split mystery gift album purpose * Handle more tooltips * Disallow null setters * Don't capture RNG object, only type enum * Unify learnset objects Now have readonly properties which are never null don't new() empty learnsets (>800 Learnset objects no longer created, total of 2400 objects since we also new() a move & level array) optimize g1/2 reader for early abort case * Access rewrite Initialize blocks in a separate object, and get via that object removes a couple hundred "might be null" warnings since blocks are now readonly getters some block references have been relocated, but interfaces should expose all that's needed put HoF6 controls in a groupbox, and disable * Readonly personal data * IVs non nullable for mystery gift * Explicitly initialize forced encounter moves * Make shadow objects readonly & non-null Put murkrow fix in binary data resource, instead of on startup * Assign dex form fetch on constructor Fixes legality parsing edge cases also handle cxd parse for valid; exit before exception is thrown in FrameGenerator * Remove unnecessary null checks * Keep empty value until init SetPouch sets the value to an actual one during load, but whatever * Readonly team lock data * Readonly locks Put locked encounters at bottom (favor unlocked) * Mail readonly data / offset Rearrange some call flow and pass defaults Add fake classes for SaveDataEditor mocking Always party size, no need to check twice in stat editor use a fake save file as initial data for savedata editor, and for gamedata (wow i found a usage) constrain eventwork editor to struct variable types (uint, int, etc), thus preventing null assignment errors
2019-10-17 01:47:31 +00:00
});
public static readonly TeamLock XDuskull = new(
355, // Duskull
new[] {
new NPCLock(215, 12, 0, 127), // Sneasel (M) (Serious)
new NPCLock(193, 18, 1, 127), // Yanma (F) (Bashful)
new NPCLock(200, 24, 0, 127), // Misdreavus (M) (Quirky)
PKHeX.Core Nullable cleanup (#2401) * Handle some nullable cases Refactor MysteryGift into a second abstract class (backed by a byte array, or fake data) Make some classes have explicit constructors instead of { } initialization * Handle bits more obviously without null * Make SaveFile.BAK explicitly readonly again * merge constructor methods to have readonly fields * Inline some properties * More nullable handling * Rearrange box actions define straightforward classes to not have any null properties * Make extrabyte reference array immutable * Move tooltip creation to designer * Rearrange some logic to reduce nesting * Cache generated fonts * Split mystery gift album purpose * Handle more tooltips * Disallow null setters * Don't capture RNG object, only type enum * Unify learnset objects Now have readonly properties which are never null don't new() empty learnsets (>800 Learnset objects no longer created, total of 2400 objects since we also new() a move & level array) optimize g1/2 reader for early abort case * Access rewrite Initialize blocks in a separate object, and get via that object removes a couple hundred "might be null" warnings since blocks are now readonly getters some block references have been relocated, but interfaces should expose all that's needed put HoF6 controls in a groupbox, and disable * Readonly personal data * IVs non nullable for mystery gift * Explicitly initialize forced encounter moves * Make shadow objects readonly & non-null Put murkrow fix in binary data resource, instead of on startup * Assign dex form fetch on constructor Fixes legality parsing edge cases also handle cxd parse for valid; exit before exception is thrown in FrameGenerator * Remove unnecessary null checks * Keep empty value until init SetPouch sets the value to an actual one during load, but whatever * Readonly team lock data * Readonly locks Put locked encounters at bottom (favor unlocked) * Mail readonly data / offset Rearrange some call flow and pass defaults Add fake classes for SaveDataEditor mocking Always party size, no need to check twice in stat editor use a fake save file as initial data for savedata editor, and for gamedata (wow i found a usage) constrain eventwork editor to struct variable types (uint, int, etc), thus preventing null assignment errors
2019-10-17 01:47:31 +00:00
});
public static readonly TeamLock XMawile = new(
303, // Mawile
new[] {
new NPCLock(294, 06, 0, 127), // Loudred (M) (Docile)
new NPCLock(203, 18, 1, 127), // Girafarig (F) (Bashful)
PKHeX.Core Nullable cleanup (#2401) * Handle some nullable cases Refactor MysteryGift into a second abstract class (backed by a byte array, or fake data) Make some classes have explicit constructors instead of { } initialization * Handle bits more obviously without null * Make SaveFile.BAK explicitly readonly again * merge constructor methods to have readonly fields * Inline some properties * More nullable handling * Rearrange box actions define straightforward classes to not have any null properties * Make extrabyte reference array immutable * Move tooltip creation to designer * Rearrange some logic to reduce nesting * Cache generated fonts * Split mystery gift album purpose * Handle more tooltips * Disallow null setters * Don't capture RNG object, only type enum * Unify learnset objects Now have readonly properties which are never null don't new() empty learnsets (>800 Learnset objects no longer created, total of 2400 objects since we also new() a move & level array) optimize g1/2 reader for early abort case * Access rewrite Initialize blocks in a separate object, and get via that object removes a couple hundred "might be null" warnings since blocks are now readonly getters some block references have been relocated, but interfaces should expose all that's needed put HoF6 controls in a groupbox, and disable * Readonly personal data * IVs non nullable for mystery gift * Explicitly initialize forced encounter moves * Make shadow objects readonly & non-null Put murkrow fix in binary data resource, instead of on startup * Assign dex form fetch on constructor Fixes legality parsing edge cases also handle cxd parse for valid; exit before exception is thrown in FrameGenerator * Remove unnecessary null checks * Keep empty value until init SetPouch sets the value to an actual one during load, but whatever * Readonly team lock data * Readonly locks Put locked encounters at bottom (favor unlocked) * Mail readonly data / offset Rearrange some call flow and pass defaults Add fake classes for SaveDataEditor mocking Always party size, no need to check twice in stat editor use a fake save file as initial data for savedata editor, and for gamedata (wow i found a usage) constrain eventwork editor to struct variable types (uint, int, etc), thus preventing null assignment errors
2019-10-17 01:47:31 +00:00
});
public static readonly TeamLock XSnorunt = new(
361, // Snorunt
new[] {
new NPCLock(336, 06, 1, 127), // Seviper (F) (Docile)
PKHeX.Core Nullable cleanup (#2401) * Handle some nullable cases Refactor MysteryGift into a second abstract class (backed by a byte array, or fake data) Make some classes have explicit constructors instead of { } initialization * Handle bits more obviously without null * Make SaveFile.BAK explicitly readonly again * merge constructor methods to have readonly fields * Inline some properties * More nullable handling * Rearrange box actions define straightforward classes to not have any null properties * Make extrabyte reference array immutable * Move tooltip creation to designer * Rearrange some logic to reduce nesting * Cache generated fonts * Split mystery gift album purpose * Handle more tooltips * Disallow null setters * Don't capture RNG object, only type enum * Unify learnset objects Now have readonly properties which are never null don't new() empty learnsets (>800 Learnset objects no longer created, total of 2400 objects since we also new() a move & level array) optimize g1/2 reader for early abort case * Access rewrite Initialize blocks in a separate object, and get via that object removes a couple hundred "might be null" warnings since blocks are now readonly getters some block references have been relocated, but interfaces should expose all that's needed put HoF6 controls in a groupbox, and disable * Readonly personal data * IVs non nullable for mystery gift * Explicitly initialize forced encounter moves * Make shadow objects readonly & non-null Put murkrow fix in binary data resource, instead of on startup * Assign dex form fetch on constructor Fixes legality parsing edge cases also handle cxd parse for valid; exit before exception is thrown in FrameGenerator * Remove unnecessary null checks * Keep empty value until init SetPouch sets the value to an actual one during load, but whatever * Readonly team lock data * Readonly locks Put locked encounters at bottom (favor unlocked) * Mail readonly data / offset Rearrange some call flow and pass defaults Add fake classes for SaveDataEditor mocking Always party size, no need to check twice in stat editor use a fake save file as initial data for savedata editor, and for gamedata (wow i found a usage) constrain eventwork editor to struct variable types (uint, int, etc), thus preventing null assignment errors
2019-10-17 01:47:31 +00:00
});
public static readonly TeamLock XPineco = new(
204, // Pineco
new[] {
new NPCLock(198, 06, 0, 127), // Murkrow (M) (Docile)
PKHeX.Core Nullable cleanup (#2401) * Handle some nullable cases Refactor MysteryGift into a second abstract class (backed by a byte array, or fake data) Make some classes have explicit constructors instead of { } initialization * Handle bits more obviously without null * Make SaveFile.BAK explicitly readonly again * merge constructor methods to have readonly fields * Inline some properties * More nullable handling * Rearrange box actions define straightforward classes to not have any null properties * Make extrabyte reference array immutable * Move tooltip creation to designer * Rearrange some logic to reduce nesting * Cache generated fonts * Split mystery gift album purpose * Handle more tooltips * Disallow null setters * Don't capture RNG object, only type enum * Unify learnset objects Now have readonly properties which are never null don't new() empty learnsets (>800 Learnset objects no longer created, total of 2400 objects since we also new() a move & level array) optimize g1/2 reader for early abort case * Access rewrite Initialize blocks in a separate object, and get via that object removes a couple hundred "might be null" warnings since blocks are now readonly getters some block references have been relocated, but interfaces should expose all that's needed put HoF6 controls in a groupbox, and disable * Readonly personal data * IVs non nullable for mystery gift * Explicitly initialize forced encounter moves * Make shadow objects readonly & non-null Put murkrow fix in binary data resource, instead of on startup * Assign dex form fetch on constructor Fixes legality parsing edge cases also handle cxd parse for valid; exit before exception is thrown in FrameGenerator * Remove unnecessary null checks * Keep empty value until init SetPouch sets the value to an actual one during load, but whatever * Readonly team lock data * Readonly locks Put locked encounters at bottom (favor unlocked) * Mail readonly data / offset Rearrange some call flow and pass defaults Add fake classes for SaveDataEditor mocking Always party size, no need to check twice in stat editor use a fake save file as initial data for savedata editor, and for gamedata (wow i found a usage) constrain eventwork editor to struct variable types (uint, int, etc), thus preventing null assignment errors
2019-10-17 01:47:31 +00:00
});
public static readonly TeamLock XNatu = new(
177, // Natu
new[] {
new NPCLock(281, 00, 0, 127), // Kirlia (M) (Hardy)
new NPCLock(264, 00, 1, 127), // Linoone (F) (Hardy)
PKHeX.Core Nullable cleanup (#2401) * Handle some nullable cases Refactor MysteryGift into a second abstract class (backed by a byte array, or fake data) Make some classes have explicit constructors instead of { } initialization * Handle bits more obviously without null * Make SaveFile.BAK explicitly readonly again * merge constructor methods to have readonly fields * Inline some properties * More nullable handling * Rearrange box actions define straightforward classes to not have any null properties * Make extrabyte reference array immutable * Move tooltip creation to designer * Rearrange some logic to reduce nesting * Cache generated fonts * Split mystery gift album purpose * Handle more tooltips * Disallow null setters * Don't capture RNG object, only type enum * Unify learnset objects Now have readonly properties which are never null don't new() empty learnsets (>800 Learnset objects no longer created, total of 2400 objects since we also new() a move & level array) optimize g1/2 reader for early abort case * Access rewrite Initialize blocks in a separate object, and get via that object removes a couple hundred "might be null" warnings since blocks are now readonly getters some block references have been relocated, but interfaces should expose all that's needed put HoF6 controls in a groupbox, and disable * Readonly personal data * IVs non nullable for mystery gift * Explicitly initialize forced encounter moves * Make shadow objects readonly & non-null Put murkrow fix in binary data resource, instead of on startup * Assign dex form fetch on constructor Fixes legality parsing edge cases also handle cxd parse for valid; exit before exception is thrown in FrameGenerator * Remove unnecessary null checks * Keep empty value until init SetPouch sets the value to an actual one during load, but whatever * Readonly team lock data * Readonly locks Put locked encounters at bottom (favor unlocked) * Mail readonly data / offset Rearrange some call flow and pass defaults Add fake classes for SaveDataEditor mocking Always party size, no need to check twice in stat editor use a fake save file as initial data for savedata editor, and for gamedata (wow i found a usage) constrain eventwork editor to struct variable types (uint, int, etc), thus preventing null assignment errors
2019-10-17 01:47:31 +00:00
});
public static readonly TeamLock XRoselia = new(
315, // Roselia
new[] {
new NPCLock(223, 06, 0, 127), // Remoraid (M) (Docile)
new NPCLock(042, 18, 0, 127), // Golbat (M) (Bashful)
PKHeX.Core Nullable cleanup (#2401) * Handle some nullable cases Refactor MysteryGift into a second abstract class (backed by a byte array, or fake data) Make some classes have explicit constructors instead of { } initialization * Handle bits more obviously without null * Make SaveFile.BAK explicitly readonly again * merge constructor methods to have readonly fields * Inline some properties * More nullable handling * Rearrange box actions define straightforward classes to not have any null properties * Make extrabyte reference array immutable * Move tooltip creation to designer * Rearrange some logic to reduce nesting * Cache generated fonts * Split mystery gift album purpose * Handle more tooltips * Disallow null setters * Don't capture RNG object, only type enum * Unify learnset objects Now have readonly properties which are never null don't new() empty learnsets (>800 Learnset objects no longer created, total of 2400 objects since we also new() a move & level array) optimize g1/2 reader for early abort case * Access rewrite Initialize blocks in a separate object, and get via that object removes a couple hundred "might be null" warnings since blocks are now readonly getters some block references have been relocated, but interfaces should expose all that's needed put HoF6 controls in a groupbox, and disable * Readonly personal data * IVs non nullable for mystery gift * Explicitly initialize forced encounter moves * Make shadow objects readonly & non-null Put murkrow fix in binary data resource, instead of on startup * Assign dex form fetch on constructor Fixes legality parsing edge cases also handle cxd parse for valid; exit before exception is thrown in FrameGenerator * Remove unnecessary null checks * Keep empty value until init SetPouch sets the value to an actual one during load, but whatever * Readonly team lock data * Readonly locks Put locked encounters at bottom (favor unlocked) * Mail readonly data / offset Rearrange some call flow and pass defaults Add fake classes for SaveDataEditor mocking Always party size, no need to check twice in stat editor use a fake save file as initial data for savedata editor, and for gamedata (wow i found a usage) constrain eventwork editor to struct variable types (uint, int, etc), thus preventing null assignment errors
2019-10-17 01:47:31 +00:00
});
public static readonly TeamLock XMeowth = new(
052, // Meowth
new[] {
new NPCLock(064, 06, 0, 063), // Kadabra (M) (Docile)
new NPCLock(215, 00, 1, 127), // Sneasel (F) (Hardy)
new NPCLock(200, 18, 1, 127), // Misdreavus (F) (Bashful)
PKHeX.Core Nullable cleanup (#2401) * Handle some nullable cases Refactor MysteryGift into a second abstract class (backed by a byte array, or fake data) Make some classes have explicit constructors instead of { } initialization * Handle bits more obviously without null * Make SaveFile.BAK explicitly readonly again * merge constructor methods to have readonly fields * Inline some properties * More nullable handling * Rearrange box actions define straightforward classes to not have any null properties * Make extrabyte reference array immutable * Move tooltip creation to designer * Rearrange some logic to reduce nesting * Cache generated fonts * Split mystery gift album purpose * Handle more tooltips * Disallow null setters * Don't capture RNG object, only type enum * Unify learnset objects Now have readonly properties which are never null don't new() empty learnsets (>800 Learnset objects no longer created, total of 2400 objects since we also new() a move & level array) optimize g1/2 reader for early abort case * Access rewrite Initialize blocks in a separate object, and get via that object removes a couple hundred "might be null" warnings since blocks are now readonly getters some block references have been relocated, but interfaces should expose all that's needed put HoF6 controls in a groupbox, and disable * Readonly personal data * IVs non nullable for mystery gift * Explicitly initialize forced encounter moves * Make shadow objects readonly & non-null Put murkrow fix in binary data resource, instead of on startup * Assign dex form fetch on constructor Fixes legality parsing edge cases also handle cxd parse for valid; exit before exception is thrown in FrameGenerator * Remove unnecessary null checks * Keep empty value until init SetPouch sets the value to an actual one during load, but whatever * Readonly team lock data * Readonly locks Put locked encounters at bottom (favor unlocked) * Mail readonly data / offset Rearrange some call flow and pass defaults Add fake classes for SaveDataEditor mocking Always party size, no need to check twice in stat editor use a fake save file as initial data for savedata editor, and for gamedata (wow i found a usage) constrain eventwork editor to struct variable types (uint, int, etc), thus preventing null assignment errors
2019-10-17 01:47:31 +00:00
});
public static readonly TeamLock XSwinub = new(
220, // Swinub
new[] {
new NPCLock(324, 18, 1, 127), // Torkoal (F) (Bashful)
new NPCLock(274, 00, 0, 127), // Nuzleaf (M) (Hardy)
PKHeX.Core Nullable cleanup (#2401) * Handle some nullable cases Refactor MysteryGift into a second abstract class (backed by a byte array, or fake data) Make some classes have explicit constructors instead of { } initialization * Handle bits more obviously without null * Make SaveFile.BAK explicitly readonly again * merge constructor methods to have readonly fields * Inline some properties * More nullable handling * Rearrange box actions define straightforward classes to not have any null properties * Make extrabyte reference array immutable * Move tooltip creation to designer * Rearrange some logic to reduce nesting * Cache generated fonts * Split mystery gift album purpose * Handle more tooltips * Disallow null setters * Don't capture RNG object, only type enum * Unify learnset objects Now have readonly properties which are never null don't new() empty learnsets (>800 Learnset objects no longer created, total of 2400 objects since we also new() a move & level array) optimize g1/2 reader for early abort case * Access rewrite Initialize blocks in a separate object, and get via that object removes a couple hundred "might be null" warnings since blocks are now readonly getters some block references have been relocated, but interfaces should expose all that's needed put HoF6 controls in a groupbox, and disable * Readonly personal data * IVs non nullable for mystery gift * Explicitly initialize forced encounter moves * Make shadow objects readonly & non-null Put murkrow fix in binary data resource, instead of on startup * Assign dex form fetch on constructor Fixes legality parsing edge cases also handle cxd parse for valid; exit before exception is thrown in FrameGenerator * Remove unnecessary null checks * Keep empty value until init SetPouch sets the value to an actual one during load, but whatever * Readonly team lock data * Readonly locks Put locked encounters at bottom (favor unlocked) * Mail readonly data / offset Rearrange some call flow and pass defaults Add fake classes for SaveDataEditor mocking Always party size, no need to check twice in stat editor use a fake save file as initial data for savedata editor, and for gamedata (wow i found a usage) constrain eventwork editor to struct variable types (uint, int, etc), thus preventing null assignment errors
2019-10-17 01:47:31 +00:00
});
public static readonly TeamLock XSpearow = new(
021, // Spearow
new[] {
new NPCLock(279, 18, 0, 127), // Pelipper (M) (Bashful)
new NPCLock(309, 06, 1, 127), // Electrike (F) (Docile)
PKHeX.Core Nullable cleanup (#2401) * Handle some nullable cases Refactor MysteryGift into a second abstract class (backed by a byte array, or fake data) Make some classes have explicit constructors instead of { } initialization * Handle bits more obviously without null * Make SaveFile.BAK explicitly readonly again * merge constructor methods to have readonly fields * Inline some properties * More nullable handling * Rearrange box actions define straightforward classes to not have any null properties * Make extrabyte reference array immutable * Move tooltip creation to designer * Rearrange some logic to reduce nesting * Cache generated fonts * Split mystery gift album purpose * Handle more tooltips * Disallow null setters * Don't capture RNG object, only type enum * Unify learnset objects Now have readonly properties which are never null don't new() empty learnsets (>800 Learnset objects no longer created, total of 2400 objects since we also new() a move & level array) optimize g1/2 reader for early abort case * Access rewrite Initialize blocks in a separate object, and get via that object removes a couple hundred "might be null" warnings since blocks are now readonly getters some block references have been relocated, but interfaces should expose all that's needed put HoF6 controls in a groupbox, and disable * Readonly personal data * IVs non nullable for mystery gift * Explicitly initialize forced encounter moves * Make shadow objects readonly & non-null Put murkrow fix in binary data resource, instead of on startup * Assign dex form fetch on constructor Fixes legality parsing edge cases also handle cxd parse for valid; exit before exception is thrown in FrameGenerator * Remove unnecessary null checks * Keep empty value until init SetPouch sets the value to an actual one during load, but whatever * Readonly team lock data * Readonly locks Put locked encounters at bottom (favor unlocked) * Mail readonly data / offset Rearrange some call flow and pass defaults Add fake classes for SaveDataEditor mocking Always party size, no need to check twice in stat editor use a fake save file as initial data for savedata editor, and for gamedata (wow i found a usage) constrain eventwork editor to struct variable types (uint, int, etc), thus preventing null assignment errors
2019-10-17 01:47:31 +00:00
});
public static readonly TeamLock XGrimer = new(
088, // Grimer
new[] {
new NPCLock(358, 12, 0, 127), // Chimecho (M) (Serious)
new NPCLock(234, 18, 0, 127), // Stantler (M) (Bashful)
PKHeX.Core Nullable cleanup (#2401) * Handle some nullable cases Refactor MysteryGift into a second abstract class (backed by a byte array, or fake data) Make some classes have explicit constructors instead of { } initialization * Handle bits more obviously without null * Make SaveFile.BAK explicitly readonly again * merge constructor methods to have readonly fields * Inline some properties * More nullable handling * Rearrange box actions define straightforward classes to not have any null properties * Make extrabyte reference array immutable * Move tooltip creation to designer * Rearrange some logic to reduce nesting * Cache generated fonts * Split mystery gift album purpose * Handle more tooltips * Disallow null setters * Don't capture RNG object, only type enum * Unify learnset objects Now have readonly properties which are never null don't new() empty learnsets (>800 Learnset objects no longer created, total of 2400 objects since we also new() a move & level array) optimize g1/2 reader for early abort case * Access rewrite Initialize blocks in a separate object, and get via that object removes a couple hundred "might be null" warnings since blocks are now readonly getters some block references have been relocated, but interfaces should expose all that's needed put HoF6 controls in a groupbox, and disable * Readonly personal data * IVs non nullable for mystery gift * Explicitly initialize forced encounter moves * Make shadow objects readonly & non-null Put murkrow fix in binary data resource, instead of on startup * Assign dex form fetch on constructor Fixes legality parsing edge cases also handle cxd parse for valid; exit before exception is thrown in FrameGenerator * Remove unnecessary null checks * Keep empty value until init SetPouch sets the value to an actual one during load, but whatever * Readonly team lock data * Readonly locks Put locked encounters at bottom (favor unlocked) * Mail readonly data / offset Rearrange some call flow and pass defaults Add fake classes for SaveDataEditor mocking Always party size, no need to check twice in stat editor use a fake save file as initial data for savedata editor, and for gamedata (wow i found a usage) constrain eventwork editor to struct variable types (uint, int, etc), thus preventing null assignment errors
2019-10-17 01:47:31 +00:00
});
public static readonly TeamLock XSeel = new(
086, // Seel
new[] {
new NPCLock(163, 06, 0, 127), // Hoothoot (M) (Docile)
new NPCLock(075, 18, 0, 127), // Graveler (M) (Bashful)
new NPCLock(316, 18, 1, 127), // Gulpin (F) (Bashful)
PKHeX.Core Nullable cleanup (#2401) * Handle some nullable cases Refactor MysteryGift into a second abstract class (backed by a byte array, or fake data) Make some classes have explicit constructors instead of { } initialization * Handle bits more obviously without null * Make SaveFile.BAK explicitly readonly again * merge constructor methods to have readonly fields * Inline some properties * More nullable handling * Rearrange box actions define straightforward classes to not have any null properties * Make extrabyte reference array immutable * Move tooltip creation to designer * Rearrange some logic to reduce nesting * Cache generated fonts * Split mystery gift album purpose * Handle more tooltips * Disallow null setters * Don't capture RNG object, only type enum * Unify learnset objects Now have readonly properties which are never null don't new() empty learnsets (>800 Learnset objects no longer created, total of 2400 objects since we also new() a move & level array) optimize g1/2 reader for early abort case * Access rewrite Initialize blocks in a separate object, and get via that object removes a couple hundred "might be null" warnings since blocks are now readonly getters some block references have been relocated, but interfaces should expose all that's needed put HoF6 controls in a groupbox, and disable * Readonly personal data * IVs non nullable for mystery gift * Explicitly initialize forced encounter moves * Make shadow objects readonly & non-null Put murkrow fix in binary data resource, instead of on startup * Assign dex form fetch on constructor Fixes legality parsing edge cases also handle cxd parse for valid; exit before exception is thrown in FrameGenerator * Remove unnecessary null checks * Keep empty value until init SetPouch sets the value to an actual one during load, but whatever * Readonly team lock data * Readonly locks Put locked encounters at bottom (favor unlocked) * Mail readonly data / offset Rearrange some call flow and pass defaults Add fake classes for SaveDataEditor mocking Always party size, no need to check twice in stat editor use a fake save file as initial data for savedata editor, and for gamedata (wow i found a usage) constrain eventwork editor to struct variable types (uint, int, etc), thus preventing null assignment errors
2019-10-17 01:47:31 +00:00
});
public static readonly TeamLock XLunatone = new(
337, // Lunatone
new[] {
new NPCLock(171, 00, 1, 127), // Lanturn (F) (Hardy)
new NPCLock(195, 18, 0, 127), // Quagsire (M) (Bashful)
PKHeX.Core Nullable cleanup (#2401) * Handle some nullable cases Refactor MysteryGift into a second abstract class (backed by a byte array, or fake data) Make some classes have explicit constructors instead of { } initialization * Handle bits more obviously without null * Make SaveFile.BAK explicitly readonly again * merge constructor methods to have readonly fields * Inline some properties * More nullable handling * Rearrange box actions define straightforward classes to not have any null properties * Make extrabyte reference array immutable * Move tooltip creation to designer * Rearrange some logic to reduce nesting * Cache generated fonts * Split mystery gift album purpose * Handle more tooltips * Disallow null setters * Don't capture RNG object, only type enum * Unify learnset objects Now have readonly properties which are never null don't new() empty learnsets (>800 Learnset objects no longer created, total of 2400 objects since we also new() a move & level array) optimize g1/2 reader for early abort case * Access rewrite Initialize blocks in a separate object, and get via that object removes a couple hundred "might be null" warnings since blocks are now readonly getters some block references have been relocated, but interfaces should expose all that's needed put HoF6 controls in a groupbox, and disable * Readonly personal data * IVs non nullable for mystery gift * Explicitly initialize forced encounter moves * Make shadow objects readonly & non-null Put murkrow fix in binary data resource, instead of on startup * Assign dex form fetch on constructor Fixes legality parsing edge cases also handle cxd parse for valid; exit before exception is thrown in FrameGenerator * Remove unnecessary null checks * Keep empty value until init SetPouch sets the value to an actual one during load, but whatever * Readonly team lock data * Readonly locks Put locked encounters at bottom (favor unlocked) * Mail readonly data / offset Rearrange some call flow and pass defaults Add fake classes for SaveDataEditor mocking Always party size, no need to check twice in stat editor use a fake save file as initial data for savedata editor, and for gamedata (wow i found a usage) constrain eventwork editor to struct variable types (uint, int, etc), thus preventing null assignment errors
2019-10-17 01:47:31 +00:00
});
public static readonly TeamLock XNosepass = new(
299, // Nosepass
new[] {
new NPCLock(271, 00, 0, 127), // Lombre (M) (Hardy)
new NPCLock(271, 18, 0, 127), // Lombre (M) (Bashful)
new NPCLock(271, 12, 1, 127), // Lombre (F) (Serious)
PKHeX.Core Nullable cleanup (#2401) * Handle some nullable cases Refactor MysteryGift into a second abstract class (backed by a byte array, or fake data) Make some classes have explicit constructors instead of { } initialization * Handle bits more obviously without null * Make SaveFile.BAK explicitly readonly again * merge constructor methods to have readonly fields * Inline some properties * More nullable handling * Rearrange box actions define straightforward classes to not have any null properties * Make extrabyte reference array immutable * Move tooltip creation to designer * Rearrange some logic to reduce nesting * Cache generated fonts * Split mystery gift album purpose * Handle more tooltips * Disallow null setters * Don't capture RNG object, only type enum * Unify learnset objects Now have readonly properties which are never null don't new() empty learnsets (>800 Learnset objects no longer created, total of 2400 objects since we also new() a move & level array) optimize g1/2 reader for early abort case * Access rewrite Initialize blocks in a separate object, and get via that object removes a couple hundred "might be null" warnings since blocks are now readonly getters some block references have been relocated, but interfaces should expose all that's needed put HoF6 controls in a groupbox, and disable * Readonly personal data * IVs non nullable for mystery gift * Explicitly initialize forced encounter moves * Make shadow objects readonly & non-null Put murkrow fix in binary data resource, instead of on startup * Assign dex form fetch on constructor Fixes legality parsing edge cases also handle cxd parse for valid; exit before exception is thrown in FrameGenerator * Remove unnecessary null checks * Keep empty value until init SetPouch sets the value to an actual one during load, but whatever * Readonly team lock data * Readonly locks Put locked encounters at bottom (favor unlocked) * Mail readonly data / offset Rearrange some call flow and pass defaults Add fake classes for SaveDataEditor mocking Always party size, no need to check twice in stat editor use a fake save file as initial data for savedata editor, and for gamedata (wow i found a usage) constrain eventwork editor to struct variable types (uint, int, etc), thus preventing null assignment errors
2019-10-17 01:47:31 +00:00
});
public static readonly TeamLock XParas = new(
046, // Paras
new[] {
new NPCLock(336, 24, 0, 127), // Seviper (M) (Quirky)
new NPCLock(198, 06, 1, 127), // Murkrow (F) (Docile)
PKHeX.Core Nullable cleanup (#2401) * Handle some nullable cases Refactor MysteryGift into a second abstract class (backed by a byte array, or fake data) Make some classes have explicit constructors instead of { } initialization * Handle bits more obviously without null * Make SaveFile.BAK explicitly readonly again * merge constructor methods to have readonly fields * Inline some properties * More nullable handling * Rearrange box actions define straightforward classes to not have any null properties * Make extrabyte reference array immutable * Move tooltip creation to designer * Rearrange some logic to reduce nesting * Cache generated fonts * Split mystery gift album purpose * Handle more tooltips * Disallow null setters * Don't capture RNG object, only type enum * Unify learnset objects Now have readonly properties which are never null don't new() empty learnsets (>800 Learnset objects no longer created, total of 2400 objects since we also new() a move & level array) optimize g1/2 reader for early abort case * Access rewrite Initialize blocks in a separate object, and get via that object removes a couple hundred "might be null" warnings since blocks are now readonly getters some block references have been relocated, but interfaces should expose all that's needed put HoF6 controls in a groupbox, and disable * Readonly personal data * IVs non nullable for mystery gift * Explicitly initialize forced encounter moves * Make shadow objects readonly & non-null Put murkrow fix in binary data resource, instead of on startup * Assign dex form fetch on constructor Fixes legality parsing edge cases also handle cxd parse for valid; exit before exception is thrown in FrameGenerator * Remove unnecessary null checks * Keep empty value until init SetPouch sets the value to an actual one during load, but whatever * Readonly team lock data * Readonly locks Put locked encounters at bottom (favor unlocked) * Mail readonly data / offset Rearrange some call flow and pass defaults Add fake classes for SaveDataEditor mocking Always party size, no need to check twice in stat editor use a fake save file as initial data for savedata editor, and for gamedata (wow i found a usage) constrain eventwork editor to struct variable types (uint, int, etc), thus preventing null assignment errors
2019-10-17 01:47:31 +00:00
});
public static readonly TeamLock XGrowlithe = new(
058, // Growlithe
new[] {
new NPCLock(336, 24, 0, 127), // Seviper (M) (Quirky)
new NPCLock(198, 06, 1, 127), // Murkrow (F) (Docile)
new NPCLock(046), // Shadow Paras
PKHeX.Core Nullable cleanup (#2401) * Handle some nullable cases Refactor MysteryGift into a second abstract class (backed by a byte array, or fake data) Make some classes have explicit constructors instead of { } initialization * Handle bits more obviously without null * Make SaveFile.BAK explicitly readonly again * merge constructor methods to have readonly fields * Inline some properties * More nullable handling * Rearrange box actions define straightforward classes to not have any null properties * Make extrabyte reference array immutable * Move tooltip creation to designer * Rearrange some logic to reduce nesting * Cache generated fonts * Split mystery gift album purpose * Handle more tooltips * Disallow null setters * Don't capture RNG object, only type enum * Unify learnset objects Now have readonly properties which are never null don't new() empty learnsets (>800 Learnset objects no longer created, total of 2400 objects since we also new() a move & level array) optimize g1/2 reader for early abort case * Access rewrite Initialize blocks in a separate object, and get via that object removes a couple hundred "might be null" warnings since blocks are now readonly getters some block references have been relocated, but interfaces should expose all that's needed put HoF6 controls in a groupbox, and disable * Readonly personal data * IVs non nullable for mystery gift * Explicitly initialize forced encounter moves * Make shadow objects readonly & non-null Put murkrow fix in binary data resource, instead of on startup * Assign dex form fetch on constructor Fixes legality parsing edge cases also handle cxd parse for valid; exit before exception is thrown in FrameGenerator * Remove unnecessary null checks * Keep empty value until init SetPouch sets the value to an actual one during load, but whatever * Readonly team lock data * Readonly locks Put locked encounters at bottom (favor unlocked) * Mail readonly data / offset Rearrange some call flow and pass defaults Add fake classes for SaveDataEditor mocking Always party size, no need to check twice in stat editor use a fake save file as initial data for savedata editor, and for gamedata (wow i found a usage) constrain eventwork editor to struct variable types (uint, int, etc), thus preventing null assignment errors
2019-10-17 01:47:31 +00:00
});
public static readonly TeamLock XGrowlitheParasSeen = new(
058, // Growlithe
"Paras Seen",
new[] {
new NPCLock(336, 24, 0, 127), // Seviper (M) (Quirky)
new NPCLock(198, 06, 1, 127), // Murkrow (F) (Docile)
new NPCLock(046, true), // Shadow Paras (Seen)
PKHeX.Core Nullable cleanup (#2401) * Handle some nullable cases Refactor MysteryGift into a second abstract class (backed by a byte array, or fake data) Make some classes have explicit constructors instead of { } initialization * Handle bits more obviously without null * Make SaveFile.BAK explicitly readonly again * merge constructor methods to have readonly fields * Inline some properties * More nullable handling * Rearrange box actions define straightforward classes to not have any null properties * Make extrabyte reference array immutable * Move tooltip creation to designer * Rearrange some logic to reduce nesting * Cache generated fonts * Split mystery gift album purpose * Handle more tooltips * Disallow null setters * Don't capture RNG object, only type enum * Unify learnset objects Now have readonly properties which are never null don't new() empty learnsets (>800 Learnset objects no longer created, total of 2400 objects since we also new() a move & level array) optimize g1/2 reader for early abort case * Access rewrite Initialize blocks in a separate object, and get via that object removes a couple hundred "might be null" warnings since blocks are now readonly getters some block references have been relocated, but interfaces should expose all that's needed put HoF6 controls in a groupbox, and disable * Readonly personal data * IVs non nullable for mystery gift * Explicitly initialize forced encounter moves * Make shadow objects readonly & non-null Put murkrow fix in binary data resource, instead of on startup * Assign dex form fetch on constructor Fixes legality parsing edge cases also handle cxd parse for valid; exit before exception is thrown in FrameGenerator * Remove unnecessary null checks * Keep empty value until init SetPouch sets the value to an actual one during load, but whatever * Readonly team lock data * Readonly locks Put locked encounters at bottom (favor unlocked) * Mail readonly data / offset Rearrange some call flow and pass defaults Add fake classes for SaveDataEditor mocking Always party size, no need to check twice in stat editor use a fake save file as initial data for savedata editor, and for gamedata (wow i found a usage) constrain eventwork editor to struct variable types (uint, int, etc), thus preventing null assignment errors
2019-10-17 01:47:31 +00:00
});
public static readonly TeamLock XPidgeotto = new(
017, // Pidgeotto
new[] {
new NPCLock(015), // Shadow Beedrill
new NPCLock(162, 12, 0, 127), // Furret (M) (Serious)
new NPCLock(176, 18, 0, 031), // Togetic (M) (Bashful)
PKHeX.Core Nullable cleanup (#2401) * Handle some nullable cases Refactor MysteryGift into a second abstract class (backed by a byte array, or fake data) Make some classes have explicit constructors instead of { } initialization * Handle bits more obviously without null * Make SaveFile.BAK explicitly readonly again * merge constructor methods to have readonly fields * Inline some properties * More nullable handling * Rearrange box actions define straightforward classes to not have any null properties * Make extrabyte reference array immutable * Move tooltip creation to designer * Rearrange some logic to reduce nesting * Cache generated fonts * Split mystery gift album purpose * Handle more tooltips * Disallow null setters * Don't capture RNG object, only type enum * Unify learnset objects Now have readonly properties which are never null don't new() empty learnsets (>800 Learnset objects no longer created, total of 2400 objects since we also new() a move & level array) optimize g1/2 reader for early abort case * Access rewrite Initialize blocks in a separate object, and get via that object removes a couple hundred "might be null" warnings since blocks are now readonly getters some block references have been relocated, but interfaces should expose all that's needed put HoF6 controls in a groupbox, and disable * Readonly personal data * IVs non nullable for mystery gift * Explicitly initialize forced encounter moves * Make shadow objects readonly & non-null Put murkrow fix in binary data resource, instead of on startup * Assign dex form fetch on constructor Fixes legality parsing edge cases also handle cxd parse for valid; exit before exception is thrown in FrameGenerator * Remove unnecessary null checks * Keep empty value until init SetPouch sets the value to an actual one during load, but whatever * Readonly team lock data * Readonly locks Put locked encounters at bottom (favor unlocked) * Mail readonly data / offset Rearrange some call flow and pass defaults Add fake classes for SaveDataEditor mocking Always party size, no need to check twice in stat editor use a fake save file as initial data for savedata editor, and for gamedata (wow i found a usage) constrain eventwork editor to struct variable types (uint, int, etc), thus preventing null assignment errors
2019-10-17 01:47:31 +00:00
});
public static readonly TeamLock XPidgeottoBeedrillSeen = new(
017, // Pidgeotto
"Beedrill Seen",
new[] {
new NPCLock(015, true), // Shadow Beedrill (Seen)
new NPCLock(162, 12, 0, 127), // Furret (M) (Serious)
new NPCLock(176, 18, 0, 031), // Togetic (M) (Bashful)
});
public static readonly TeamLock XTangela = new(
114, // Tangela
new[] {
new NPCLock(038, 12, 1, 191), // Ninetales (F) (Serious)
new NPCLock(189, 06, 0, 127), // Jumpluff (M) (Docile)
new NPCLock(184, 00, 1, 127), // Azumarill (F) (Hardy)
});
public static readonly TeamLock XButterfree = new(
012, // Butterfree
new[] {
new NPCLock(038, 12, 1, 191), // Ninetales (F) (Serious)
new NPCLock(189, 06, 0, 127), // Jumpluff (M) (Docile)
new NPCLock(184, 00, 1, 127), // Azumarill (F) (Hardy)
new NPCLock(114), // Shadow Tangela
});
public static readonly TeamLock XButterfreeTangelaSeen = new(
012, // Butterfree
"Tangela Seen",
new[] {
new NPCLock(038, 12, 1, 191), // Ninetales (F) (Serious)
new NPCLock(189, 06, 0, 127), // Jumpluff (M) (Docile)
new NPCLock(184, 00, 1, 127), // Azumarill (F) (Hardy)
new NPCLock(114, true), // Shadow Tangela (Seen)
});
public static readonly TeamLock XMagneton = new(
082, // Magneton
new[] {
new NPCLock(292, 18, 2, 255), // Shedinja (-) (Bashful)
new NPCLock(202, 00, 0, 127), // Wobbuffet (M) (Hardy)
new NPCLock(329, 12, 1, 127), // Vibrava (F) (Serious)
});
public static readonly TeamLock XVenomoth = new(
049, // Venomoth
new[] {
new NPCLock(055, 18, 1, 127), // Golduck (F) (Bashful)
new NPCLock(237, 24, 0, 000), // Hitmontop (M) (Quirky)
new NPCLock(297, 12, 0, 063), // Hariyama (M) (Serious)
});
public static readonly TeamLock XWeepinbell = new(
070, // Weepinbell
new[] {
new NPCLock(055, 18, 1, 127), // Golduck (F) (Bashful)
new NPCLock(237, 24, 0, 000), // Hitmontop (M) (Quirky)
new NPCLock(297, 12, 0, 063), // Hariyama (M) (Serious)
new NPCLock(049), // Shadow Venomoth
});
public static readonly TeamLock XWeepinbellVenomothSeen = new(
070, // Weepinbell
"Venomoth Seen",
new[] {
new NPCLock(055, 18, 1, 127), // Golduck (F) (Bashful)
new NPCLock(237, 24, 0, 000), // Hitmontop (M) (Quirky)
new NPCLock(297, 12, 0, 063), // Hariyama (M) (Serious)
new NPCLock(049, true), // Shadow Venomoth (Seen)
});
public static readonly TeamLock XArbok = new(
024, // Arbok
new[] {
new NPCLock(367, 06, 0, 127), // Huntail (M) (Docile)
new NPCLock(332, 00, 1, 127), // Cacturne (F) (Hardy)
new NPCLock(110, 12, 1, 127), // Weezing (F) (Serious)
new NPCLock(217, 18, 1, 127), // Ursaring (F) (Bashful)
});
public static readonly TeamLock XPrimeape = new(
057, // Primeape
new[] {
new NPCLock(305, 18, 1, 127), // Lairon (F) (Bashful)
new NPCLock(364, 12, 1, 127), // Sealeo (F) (Serious)
new NPCLock(199, 06, 1, 127), // Slowking (F) (Docile)
new NPCLock(217, 24, 0, 127), // Ursaring (M) (Quirky)
});
public static readonly TeamLock XHypno = new(
097, // Hypno
new[] {
new NPCLock(305, 18, 1, 127), // Lairon (F) (Bashful)
new NPCLock(364, 12, 1, 127), // Sealeo (F) (Serious)
new NPCLock(199, 06, 1, 127), // Slowking (F) (Docile)
new NPCLock(217, 24, 0, 127), // Ursaring (M) (Quirky)
new NPCLock(057), // Shadow Primeape
});
public static readonly TeamLock XHypnoPrimeapeSeen = new(
097, // Hypno
"Primeape Seen",
new[] {
new NPCLock(305, 18, 1, 127), // Lairon (F) (Bashful)
new NPCLock(364, 12, 1, 127), // Sealeo (F) (Serious)
new NPCLock(199, 06, 1, 127), // Slowking (F) (Docile)
new NPCLock(217, 24, 0, 127), // Ursaring (M) (Quirky)
new NPCLock(057, true), // Shadow Primeape (Seen)
});
public static readonly TeamLock XGolduck = new(
055, // Golduck
new[] {
new NPCLock(342, 24, 0, 127), // Crawdaunt (M) (Quirky)
new NPCLock(279, 06, 1, 127), // Pelipper (F) (Docile)
new NPCLock(226, 18, 1, 127), // Mantine (F) (Bashful)
});
public static readonly TeamLock XSableye = new(
302, // Sableye
new[] {
new NPCLock(342, 24, 0, 127), // Crawdaunt (M) (Quirky)
new NPCLock(279, 06, 1, 127), // Pelipper (F) (Docile)
new NPCLock(226, 18, 1, 127), // Mantine (F) (Bashful)
new NPCLock(055), // Shadow Golduck
});
public static readonly TeamLock XSableyeGolduckSeen = new(
302, // Sableye
"Golduck Seen",
new[] {
new NPCLock(342, 24, 0, 127), // Crawdaunt (M) (Quirky)
new NPCLock(279, 06, 1, 127), // Pelipper (F) (Docile)
new NPCLock(226, 18, 1, 127), // Mantine (F) (Bashful)
new NPCLock(055, true), // Shadow Golduck (Seen)
});
public static readonly TeamLock XDodrio = new(
085, // Dodrio
new[] {
new NPCLock(178, 18, 1, 127), // Xatu (F) (Bashful)
});
public static readonly TeamLock XRaticate = new(
020, // Raticate
new[] {
new NPCLock(178, 18, 1, 127), // Xatu (F) (Bashful)
new NPCLock(085), // Shadow Dodrio
new NPCLock(340, 18, 0, 127), // Whiscash (M) (Bashful)
});
public static readonly TeamLock XRaticateDodrioSeen = new(
020, // Raticate
"Dodrio Seen",
new[] {
new NPCLock(178, 18, 1, 127), // Xatu (F) (Bashful)
new NPCLock(085, true), // Shadow Dodrio (Seen)
new NPCLock(340, 18, 0, 127), // Whiscash (M) (Bashful)
});
public static readonly TeamLock XFarfetchd = new(
083, // Farfetchd
new[] {
new NPCLock(282, 12, 0, 127), // Gardevoir (M) (Serious)
new NPCLock(368, 00, 1, 127), // Gorebyss (F) (Hardy)
new NPCLock(315, 24, 0, 127), // Roselia (M) (Quirky)
});
public static readonly TeamLock XAltaria = new(
334, // Altaria
new[] {
new NPCLock(282, 12, 0, 127), // Gardevoir (M) (Serious)
new NPCLock(368, 00, 1, 127), // Gorebyss (F) (Hardy)
new NPCLock(315, 24, 0, 127), // Roselia (M) (Quirky)
new NPCLock(083), // Shadow Farfetchd
});
public static readonly TeamLock XAltariaFarfetchdSeen = new(
334, // Altaria
"Farfetch'd Seen",
new[] {
new NPCLock(282, 12, 0, 127), // Gardevoir (M) (Serious)
new NPCLock(368, 00, 1, 127), // Gorebyss (F) (Hardy)
new NPCLock(315, 24, 0, 127), // Roselia (M) (Quirky)
new NPCLock(083, true), // Shadow Farfetchd (Seen)
});
public static readonly TeamLock XKangaskhan = new(
115, // Kangaskhan
new[] {
new NPCLock(101, 00, 2, 255), // Electrode (-) (Hardy)
new NPCLock(200, 18, 1, 127), // Misdreavus (F) (Bashful)
new NPCLock(344, 12, 2, 255), // Claydol (-) (Serious)
});
public static readonly TeamLock XBanette = new(
354, // Banette
new[] {
new NPCLock(101, 00, 2, 255), // Electrode (-) (Hardy)
new NPCLock(200, 18, 1, 127), // Misdreavus (F) (Bashful)
new NPCLock(344, 12, 2, 255), // Claydol (-) (Serious)
new NPCLock(115), // Shadow Kangaskhan
});
public static readonly TeamLock XBanetteKangaskhanSeen = new(
354, // Banette
"Kangaskhan Seen",
new[] {
new NPCLock(101, 00, 2, 255), // Electrode (-) (Hardy)
new NPCLock(200, 18, 1, 127), // Misdreavus (F) (Bashful)
new NPCLock(344, 12, 2, 255), // Claydol (-) (Serious)
new NPCLock(115, true), // Shadow Kangaskhan (Seen)
});
public static readonly TeamLock XMagmar = new(
126, // Magmar
new[] {
new NPCLock(229, 18, 0, 127), // Houndoom (M) (Bashful)
new NPCLock(038, 18, 0, 191), // Ninetales (M) (Bashful)
new NPCLock(045, 00, 1, 127), // Vileplume (F) (Hardy)
});
public static readonly TeamLock XPinsir = new(
127, // Pinsir
new[] {
new NPCLock(229, 18, 0, 127), // Houndoom (M) (Bashful)
new NPCLock(038, 18, 0, 191), // Ninetales (M) (Bashful)
new NPCLock(045, 00, 1, 127), // Vileplume (F) (Hardy)
new NPCLock(126), // Shadow Magmar
});
public static readonly TeamLock XPinsirMagmarSeen = new(
127, // Pinsir
"Magmar Seen",
new[] {
new NPCLock(229, 18, 0, 127), // Houndoom (M) (Bashful)
new NPCLock(038, 18, 0, 191), // Ninetales (M) (Bashful)
new NPCLock(045, 00, 1, 127), // Vileplume (F) (Hardy)
new NPCLock(126, true), // Shadow Magmar (Seen)
});
public static readonly TeamLock XRapidash = new(
078, // Rapidash
new[] {
new NPCLock(323, 24, 0, 127), // Camerupt (M) (Quirky)
new NPCLock(110, 06, 0, 127), // Weezing (M) (Docile)
new NPCLock(089, 12, 1, 127), // Muk (F) (Serious)
});
public static readonly TeamLock XMagcargo = new(
219, // Magcargo
new[] {
new NPCLock(323, 24, 0, 127), // Camerupt (M) (Quirky)
new NPCLock(110, 06, 0, 127), // Weezing (M) (Docile)
new NPCLock(089, 12, 1, 127), // Muk (F) (Serious)
new NPCLock(078), // Shadow Rapidash
});
public static readonly TeamLock XMagcargoRapidashSeen = new(
219, // Magcargo
"Rapidash Seen",
new[] {
new NPCLock(323, 24, 0, 127), // Camerupt (M) (Quirky)
new NPCLock(110, 06, 0, 127), // Weezing (M) (Docile)
new NPCLock(089, 12, 1, 127), // Muk (F) (Serious)
new NPCLock(078, true), // Shadow Rapidash (Seen)
});
public static readonly TeamLock XHitmonchan = new(
107, // Hitmonchan
new[] {
new NPCLock(308, 24, 0, 127), // Medicham (M) (Quirky)
new NPCLock(076, 06, 1, 127), // Golem (F) (Docile)
new NPCLock(178, 18, 1, 127), // Xatu (F) (Bashful)
});
public static readonly TeamLock XHitmonlee = new(
106, // Hitmonlee
new[] {
new NPCLock(326, 18, 0, 127), // Grumpig (M) (Bashful)
new NPCLock(227, 12, 1, 127), // Skarmory (F) (Serious)
new NPCLock(375, 06, 2, 255), // Metang (-) (Docile)
new NPCLock(297, 24, 1, 063), // Hariyama (F) (Quirky)
});
public static readonly TeamLock XLickitung = new(
108, // Lickitung
new[] {
new NPCLock(171, 24, 0, 127), // Lanturn (M) (Quirky)
new NPCLock(082, 06, 2, 255), // Magneton (-) (Docile)
});
public static readonly TeamLock XScyther = new(
123, // Scyther
new[]
{
new NPCLock(234, 06, 1, 127), // Stantler (F) (Docile)
new NPCLock(295, 24, 0, 127), // Exploud (M) (Quirky)
});
public static readonly TeamLock XChansey = new(
113, // Chansey
new[] {
new NPCLock(234, 06, 1, 127), // Stantler (F) (Docile)
new NPCLock(295, 24, 0, 127), // Exploud (M) (Quirky)
new NPCLock(123), // Shadow Scyther
});
public static readonly TeamLock XChanseyScytherSeen = new(
113, // Chansey
"Scyther Seen",
new[] {
new NPCLock(234, 06, 1, 127), // Stantler (F) (Docile)
new NPCLock(295, 24, 0, 127), // Exploud (M) (Quirky)
new NPCLock(123, true), // Shadow Scyther (Seen)
});
public static readonly TeamLock XSolrock = new(
338, // Solrock
new[] {
new NPCLock(375, 24, 2, 255), // Metang (-) (Quirky)
new NPCLock(195, 06, 0, 127), // Quagsire (M) (Docile)
new NPCLock(212, 00, 1, 127), // Scizor (F) (Hardy)
});
public static readonly TeamLock XStarmie = new(
121, // Starmie
new[] {
new NPCLock(375, 24, 2, 255), // Metang (-) (Quirky)
new NPCLock(195, 06, 0, 127), // Quagsire (M) (Docile)
new NPCLock(212, 00, 1, 127), // Scizor (F) (Hardy)
new NPCLock(338), // Shadow Solrock
new NPCLock(351, 18, 0, 127), // Castform (M) (Bashful)
});
public static readonly TeamLock XStarmieSolrockSeen = new(
121, // Starmie
"Solrock Seen",
new[] {
new NPCLock(375, 24, 2, 255), // Metang (-) (Quirky)
new NPCLock(195, 06, 0, 127), // Quagsire (M) (Docile)
new NPCLock(212, 00, 1, 127), // Scizor (F) (Hardy)
new NPCLock(338, true), // Shadow Solrock (Seen)
new NPCLock(351, 18, 0, 127), // Castform (M) (Bashful)
});
public static readonly TeamLock XElectabuzz = new(
125, // Electabuzz
new[] {
new NPCLock(277), // Shadow Swellow
new NPCLock(065, 24, 0, 063), // Alakazam (M) (Quirky)
new NPCLock(230, 6, 1, 127), // Kingdra (F) (Docile)
new NPCLock(214, 18, 1, 127), // Heracross (F) (Bashful)
});
public static readonly TeamLock XElectabuzzSwellowSeen = new(
125, // Electabuzz
"Swellow Seen",
new[] {
new NPCLock(277, true), // Shadow Swellow (Seen)
new NPCLock(065, 24, 0, 063), // Alakazam (M) (Quirky)
new NPCLock(230, 6, 1, 127), // Kingdra (F) (Docile)
new NPCLock(214, 18, 1, 127), // Heracross (F) (Bashful)
});
public static readonly TeamLock XSnorlax = new(
143, // Snorlax
new[] {
new NPCLock(277), // Shadow Swellow
new NPCLock(065, 24, 0, 063), // Alakazam (M) (Quirky)
new NPCLock(230, 6, 1, 127), // Kingdra (F) (Docile)
new NPCLock(214, 18, 1, 127), // Heracross (F) (Bashful)
new NPCLock(125), // Shadow Electabuzz
});
public static readonly TeamLock XSnorlaxSwellowSeen = new(
143, // Snorlax
"Swellow Seen",
new[] {
new NPCLock(277, true), // Shadow Swellow (Seen)
new NPCLock(065, 24, 0, 063), // Alakazam (M) (Quirky)
new NPCLock(230, 6, 1, 127), // Kingdra (F) (Docile)
new NPCLock(214, 18, 1, 127), // Heracross (F) (Bashful)
new NPCLock(125), // Shadow Electabuzz
});
public static readonly TeamLock XSnorlaxSwellowElectabuzzSeen = new(
143, // Snorlax
"Swellow & Electabuzz Seen",
new[] {
new NPCLock(277, true), // Shadow Swellow (Seen)
new NPCLock(065, 24, 0, 063), // Alakazam (M) (Quirky)
new NPCLock(230, 6, 1, 127), // Kingdra (F) (Docile)
new NPCLock(214, 18, 1, 127), // Heracross (F) (Bashful)
new NPCLock(125, true), // Shadow Electabuzz
});
public static readonly TeamLock XPoliwrath = new(
062, // Poliwrath
new[] {
new NPCLock(199, 18, 0, 127), // Slowking (M) (Bashful)
new NPCLock(217, 18, 0, 127), // Ursaring (M) (Bashful)
new NPCLock(306, 24, 0, 127), // Aggron (M) (Quirky)
new NPCLock(365, 06, 1, 127), // Walrein (F) (Docile)
});
public static readonly TeamLock XMrMime = new(
122, // Mr. Mime
new[] {
new NPCLock(199, 18, 0, 127), // Slowking (M) (Bashful)
new NPCLock(217, 18, 0, 127), // Ursaring (M) (Bashful)
new NPCLock(306, 24, 0, 127), // Aggron (M) (Quirky)
new NPCLock(365, 06, 1, 127), // Walrein (F) (Docile)
new NPCLock(062), // Shadow Poliwrath
});
public static readonly TeamLock XMrMimePoliwrathSeen = new(
122, // Mr. Mime
"Poliwrath Seen",
new[] {
new NPCLock(199, 18, 0, 127), // Slowking (M) (Bashful)
new NPCLock(217, 18, 0, 127), // Ursaring (M) (Bashful)
new NPCLock(306, 24, 0, 127), // Aggron (M) (Quirky)
new NPCLock(365, 06, 1, 127), // Walrein (F) (Docile)
new NPCLock(062, true), // Shadow Poliwrath (Seen)
});
public static readonly TeamLock XDugtrio = new(
051, // Dugtrio
new[] {
new NPCLock(362, 00, 0, 127), // Glalie (M) (Hardy)
new NPCLock(181, 18, 0, 127), // Ampharos (M) (Bashful)
new NPCLock(286, 06, 1, 127), // Breloom (F) (Docile)
new NPCLock(232, 12, 0, 127), // Donphan (M) (Serious)
});
public static readonly TeamLock XManectric = new(
310, // Manectric
new[] {
new NPCLock(291, 06, 1, 127), // Ninjask (F) (Docile)
});
public static readonly TeamLock XSalamence = new(
373, // Salamence
new[] {
new NPCLock(291, 06, 1, 127), // Ninjask (F) (Docile)
new NPCLock(310), // Shadow Manectric
});
public static readonly TeamLock XMarowak = new(
105, // Marowak
new[] {
new NPCLock(291, 06, 1, 127), // Ninjask (F) (Docile)
new NPCLock(310), // Shadow Manectric
new NPCLock(373), // Shadow Salamence
new NPCLock(330, 24, 0, 127), // Flygon (M) (Quirky)
});
public static readonly TeamLock XLapras = new(
131, // Lapras
new[] {
new NPCLock(291, 06, 1, 127), // Ninjask (F) (Docile)
new NPCLock(310), // Shadow Manectric
new NPCLock(373), // Shadow Salamence
new NPCLock(330, 24, 0, 127), // Flygon (M) (Quirky)
new NPCLock(105), // Shadow Marowak
});
public static readonly TeamLock XSalamenceManectricSeen = new(
373, // Salamence
"Manectric Seen",
new[] {
new NPCLock(291, 06, 1, 127), // Ninjask (F) (Docile)
new NPCLock(310, true), // Shadow Manectric (Seen)
});
public static readonly TeamLock XMarowakManectricSeen = new(
105, // Marowak
"Manectric Seen",
new[] {
new NPCLock(291, 06, 1, 127), // Ninjask (F) (Docile)
new NPCLock(310, true), // Shadow Manectric (Seen)
new NPCLock(373), // Shadow Salamence
new NPCLock(330, 24, 0, 127), // Flygon (M) (Quirky)
});
public static readonly TeamLock XMarowakManectricSalamenceSeen = new(
105, // Marowak
"Manectric & Salamence Seen",
new[] {
new NPCLock(291, 06, 1, 127), // Ninjask (F) (Docile)
new NPCLock(310, true), // Shadow Manectric (Seen)
new NPCLock(373, true), // Shadow Salamence (Seen)
new NPCLock(330, 24, 0, 127), // Flygon (M) (Quirky)
});
public static readonly TeamLock XLaprasManectricSeen = new(
131, // Lapras
"Manectric Seen",
new[] {
new NPCLock(291, 06, 1, 127), // Ninjask (F) (Docile)
new NPCLock(310, true), // Shadow Manectric (Seen)
new NPCLock(373), // Shadow Salamence
new NPCLock(330, 24, 0, 127), // Flygon (M) (Quirky)
new NPCLock(105), // Shadow Marowak
});
public static readonly TeamLock XLaprasManectricSalamenceSeen = new(
131, // Lapras
"Manectric & Salamence Seen",
new[] {
new NPCLock(291, 06, 1, 127), // Ninjask (F) (Docile)
new NPCLock(310, true), // Shadow Manectric (Seen)
new NPCLock(373, true), // Shadow Salamence (Seen)
new NPCLock(330, 24, 0, 127), // Flygon (M) (Quirky)
new NPCLock(105), // Shadow Marowak
});
public static readonly TeamLock XLaprasManectricMarowakSeen = new(
131, // Lapras
"Manectric & Marowak Seen",
new[] {
new NPCLock(291, 06, 1, 127), // Ninjask (F) (Docile)
new NPCLock(310, true), // Shadow Manectric (Seen)
new NPCLock(373), // Shadow Salamence
new NPCLock(330, 24, 0, 127), // Flygon (M) (Quirky)
new NPCLock(105, true), // Shadow Marowak (Seen)
});
public static readonly TeamLock XLaprasManectricSalamenceMarowakSeen = new(
131, // Lapras
"Manectric & Salamence & Marowak Seen",
new[] {
new NPCLock(291, 06, 1, 127), // Ninjask (F) (Docile)
new NPCLock(310, true), // Shadow Manectric (Seen)
new NPCLock(373, true), // Shadow Salamence (Seen)
new NPCLock(330, 24, 0, 127), // Flygon (M) (Quirky)
new NPCLock(105, true), // Shadow Marowak (Seen)
});
public static readonly TeamLock XMoltres = new(
146, // Moltres
new[] {
new NPCLock(112), // Shadow Rhydon
});
public static readonly TeamLock XExeggutor = new(
103, // Exeggutor
new[] {
new NPCLock(112), // Shadow Rhydon
new NPCLock(146), // Shadow Moltres
});
public static readonly TeamLock XTauros = new(
128, // Tauros
new[] {
new NPCLock(112), // Shadow Rhydon
new NPCLock(146), // Shadow Moltres
new NPCLock(103), // Shadow Exeggutor
});
public static readonly TeamLock XArticuno = new(
144, // Articuno
new[] {
new NPCLock(112), // Shadow Rhydon
new NPCLock(146), // Shadow Moltres
new NPCLock(103), // Shadow Exeggutor
new NPCLock(128), // Shadow Tauros
});
public static readonly TeamLock XZapdos = new(
145, // Zapdos
new[] {
new NPCLock(112), // Shadow Rhydon
new NPCLock(146), // Shadow Moltres
new NPCLock(103), // Shadow Exeggutor
new NPCLock(128), // Shadow Tauros
new NPCLock(144), // Shadow Articuno
});
public static readonly TeamLock XExeggutorRhydonMoltresSeen = new(
103, // Exeggutor
"Rhydon & Moltres Seen",
new[] {
new NPCLock(112, true), // Shadow Rhydon (Seen)
new NPCLock(146, true), // Shadow Moltres (Seen)
});
public static readonly TeamLock XTaurosRhydonMoltresSeen = new(
128, // Tauros
"Rhydon & Moltres Seen",
new[] {
new NPCLock(112, true), // Shadow Rhydon (Seen)
new NPCLock(146, true), // Shadow Moltres (Seen)
new NPCLock(103), // Shadow Exeggutor
});
public static readonly TeamLock XTaurosRhydonMoltresExeggutorSeen = new(
128, // Tauros
"Rhydon & Moltres & Exeggutor Seen",
new[] {
new NPCLock(112, true), // Shadow Rhydon (Seen)
new NPCLock(146, true), // Shadow Moltres (Seen)
new NPCLock(103, true), // Shadow Exeggutor (Seen)
});
public static readonly TeamLock XArticunoRhydonMoltresSeen = new(
144, // Articuno
"Rhydon & Moltres Seen",
new[] {
new NPCLock(112, true), // Shadow Rhydon (Seen)
new NPCLock(146, true), // Shadow Moltres (Seen)
new NPCLock(103), // Shadow Exeggutor
new NPCLock(128), // Shadow Tauros
});
public static readonly TeamLock XArticunoRhydonMoltresTaurosSeen = new(
144, // Articuno
"Rhydon & Moltres & Tauros Seen",
new[] {
new NPCLock(112, true), // Shadow Rhydon (Seen)
new NPCLock(146, true), // Shadow Moltres (Seen)
new NPCLock(103), // Shadow Exeggutor
new NPCLock(128, true), // Shadow Tauros (Seen)
});
public static readonly TeamLock XArticunoRhydonMoltresExeggutorSeen = new(
144, // Articuno
"Rhydon & Moltres & Exeggutor Seen",
new[] {
new NPCLock(112, true), // Shadow Rhydon (Seen)
new NPCLock(146, true), // Shadow Moltres (Seen)
new NPCLock(103, true), // Shadow Exeggutor (Seen)
new NPCLock(128), // Shadow Tauros
});
public static readonly TeamLock XArticunoRhydonMoltresExeggutorTaurosSeen = new(
144, // Articuno
"Rhydon & Moltres & Exeggutor & Tauros Seen",
new[] {
new NPCLock(112, true), // Shadow Rhydon (Seen)
new NPCLock(146, true), // Shadow Moltres (Seen)
new NPCLock(103, true), // Shadow Exeggutor (Seen)
new NPCLock(128, true), // Shadow Tauros (Seen)
});
public static readonly TeamLock XZapdosRhydonMoltresSeen = new(
145, // Zapdos
"Rhydon & Moltres Seen",
new[] {
new NPCLock(112, true), // Shadow Rhydon (Seen)
new NPCLock(146, true), // Shadow Moltres (Seen)
new NPCLock(103), // Shadow Exeggutor
new NPCLock(128), // Shadow Tauros
new NPCLock(144), // Shadow Articuno
});
public static readonly TeamLock XZapdosRhydonMoltresTaurosSeen = new(
145, // Zapdos
"Rhydon & Moltres & Tauros Seen",
new[] {
new NPCLock(112, true), // Shadow Rhydon (Seen)
new NPCLock(146, true), // Shadow Moltres (Seen)
new NPCLock(103), // Shadow Exeggutor
new NPCLock(128, true), // Shadow Tauros (Seen)
new NPCLock(144), // Shadow Articuno
});
public static readonly TeamLock XZapdosRhydonMoltresArticunoSeen = new(
145, // Zapdos
"Rhydon & Moltres & Articuno Seen",
new[] {
new NPCLock(112, true), // Shadow Rhydon (Seen)
new NPCLock(146, true), // Shadow Moltres (Seen)
new NPCLock(103), // Shadow Exeggutor
new NPCLock(128), // Shadow Tauros
new NPCLock(144, true), // Shadow Articuno (Seen)
});
public static readonly TeamLock XZapdosRhydonMoltresExeggutorSeen = new(
145, // Zapdos
"Rhydon & Moltres & Exeggutor Seen",
new[] {
new NPCLock(112, true), // Shadow Rhydon (Seen)
new NPCLock(146, true), // Shadow Moltres (Seen)
new NPCLock(103, true), // Shadow Exeggutor (Seen)
new NPCLock(128), // Shadow Tauros
new NPCLock(144), // Shadow Articuno
});
public static readonly TeamLock XZapdosRhydonMoltresTaurosArticunoSeen = new(
145, // Zapdos
"Rhydon & Moltres & Tauros & Articuno Seen",
new[] {
new NPCLock(112, true), // Shadow Rhydon (Seen)
new NPCLock(146, true), // Shadow Moltres (Seen)
new NPCLock(103), // Shadow Exeggutor
new NPCLock(128, true), // Shadow Tauros (Seen)
new NPCLock(144, true), // Shadow Articuno (Seen)
});
public static readonly TeamLock XZapdosRhydonMoltresExeggutorTaurosSeen = new(
145, // Zapdos
"Rhydon & Moltres & Exeggutor & Tauros Seen",
new[] {
new NPCLock(112, true), // Shadow Rhydon (Seen)
new NPCLock(146, true), // Shadow Moltres (Seen)
new NPCLock(103, true), // Shadow Exeggutor (Seen)
new NPCLock(128, true), // Shadow Tauros (Seen)
new NPCLock(144), // Shadow Articuno
});
public static readonly TeamLock XZapdosRhydonMoltresExeggutorArticunoSeen = new(
145, // Zapdos
"Rhydon & Moltres & Exeggutor & Articuno Seen",
new[] {
new NPCLock(112, true), // Shadow Rhydon (Seen)
new NPCLock(146, true), // Shadow Moltres (Seen)
new NPCLock(103, true), // Shadow Exeggutor (Seen)
new NPCLock(128), // Shadow Tauros
new NPCLock(144, true), // Shadow Articuno (Seen)
});
public static readonly TeamLock XZapdosRhydonMoltresExeggutorTaurosArticunoSeen = new(
145, // Zapdos
"Rhydon & Moltres & Exeggutor & Tauros & Articuno Seen",
new[] {
new NPCLock(112, true), // Shadow Rhydon (Seen)
new NPCLock(146, true), // Shadow Moltres (Seen)
new NPCLock(103, true), // Shadow Exeggutor (Seen)
new NPCLock(128, true), // Shadow Tauros (Seen)
new NPCLock(144, true), // Shadow Articuno (Seen)
});
public static readonly TeamLock XDragonite = new(
149, // Dragonite
new[] {
new NPCLock(272, 00, 0, 127), // Ludicolo (M) (Hardy)
new NPCLock(272, 18, 0, 127), // Ludicolo (M) (Bashful)
new NPCLock(272, 12, 1, 127), // Ludicolo (F) (Serious)
new NPCLock(272, 12, 1, 127), // Ludicolo (F) (Serious)
new NPCLock(272, 00, 0, 127), // Ludicolo (M) (Hardy)
});
#endregion
}