mirror of
https://github.com/kwsch/PKHeX
synced 2024-11-23 12:33:06 +00:00
Continue work on shadow lock checks
Now gets count=2 tests working yield return new SeedFrame { FrameID = ctr + (l.Seen ? 5 : 7), PID = pid }; used to be ctr + 6, needs to alternate even-odd all 2 lock cases pass, but didn't make lock3's pass. Something else is still amiss :) break out some classes for the solidified lock objects
This commit is contained in:
parent
39f98a4a94
commit
4268239c12
7 changed files with 191 additions and 200 deletions
|
@ -4,14 +4,14 @@
|
|||
{
|
||||
public static readonly TeamLock CMakuhita = new TeamLock {
|
||||
Species = 296, // Makuhita
|
||||
Locks = new NPCLock[] {
|
||||
Locks = new[] {
|
||||
new NPCLock(355, 24, 0, 127), // Duskull (M) (Quirky)
|
||||
new NPCLock(167, 00, 1, 127), // Spinarak (F) (Hardy)
|
||||
}};
|
||||
|
||||
public static readonly TeamLock CGligar = new TeamLock {
|
||||
Species = 207, // Gligar
|
||||
Locks = new NPCLock[] {
|
||||
Locks = 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)
|
||||
|
@ -19,7 +19,7 @@
|
|||
|
||||
public static readonly TeamLock CMurkrow = new TeamLock {
|
||||
Species = 198, // Murkrow
|
||||
Locks = new NPCLock[] {
|
||||
Locks = 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)
|
||||
|
@ -27,14 +27,14 @@
|
|||
|
||||
public static readonly TeamLock CHeracross = new TeamLock {
|
||||
Species = 214, // Heracross
|
||||
Locks = new NPCLock[] {
|
||||
Locks = new[] {
|
||||
new NPCLock(284, 00, 0, 127), // Masquerain (M) (Hardy)
|
||||
new NPCLock(168, 00, 1, 127), // Ariados (F) (Hardy)
|
||||
}};
|
||||
|
||||
public static readonly TeamLock CUrsaring = new TeamLock {
|
||||
Species = 217, // Ursaring
|
||||
Locks = new NPCLock[] {
|
||||
Locks = 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)
|
||||
|
@ -42,7 +42,7 @@
|
|||
|
||||
public static readonly TeamLock XRalts = new TeamLock {
|
||||
Species = 280, // Ralts
|
||||
Locks = new NPCLock[] {
|
||||
Locks = 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)
|
||||
|
@ -50,20 +50,20 @@
|
|||
|
||||
public static readonly TeamLock XPoochyena = new TeamLock {
|
||||
Species = 261, // Poochyena
|
||||
Locks = new NPCLock[] {
|
||||
Locks = new[] {
|
||||
new NPCLock(041, 12, 1, 127), // Zubat (F) (Serious)
|
||||
}};
|
||||
|
||||
public static readonly TeamLock XLedyba = new TeamLock {
|
||||
Species = 165, // Ledyba
|
||||
Locks = new NPCLock[] {
|
||||
Locks = new[] {
|
||||
new NPCLock(276, 00, 1, 127), // Taillow (F) (Hardy)
|
||||
}};
|
||||
|
||||
public static readonly TeamLock XSphealCipherLab = new TeamLock {
|
||||
Species = 363, // Spheal
|
||||
Comment = "Cipher Lab",
|
||||
Locks = new NPCLock[] {
|
||||
Locks = new[] {
|
||||
new NPCLock(116, 24, 0, 063), // Horsea (M) (Quirky)
|
||||
new NPCLock(118, 12, 1, 127), // Goldeen (F) (Serious)
|
||||
}};
|
||||
|
@ -71,7 +71,7 @@
|
|||
public static readonly TeamLock XSphealPhenacCityandPost = new TeamLock {
|
||||
Species = 363, // Spheal
|
||||
Comment = "Phenac City and Post",
|
||||
Locks = new NPCLock[] {
|
||||
Locks = new[] {
|
||||
new NPCLock(116, 24, 0, 063), // Horsea (M) (Quirky)
|
||||
new NPCLock(118, 12, 1, 127), // Goldeen (F) (Serious)
|
||||
new NPCLock(374, 00, 2, 256), // Beldum (-) (Hardy)
|
||||
|
@ -79,7 +79,7 @@
|
|||
|
||||
public static readonly TeamLock XGulpin = new TeamLock {
|
||||
Species = 316, // Gulpin
|
||||
Locks = new NPCLock[] {
|
||||
Locks = new[] {
|
||||
new NPCLock(109, 12, 1, 127), // Koffing (F) (Serious)
|
||||
new NPCLock(088, 06, 0, 127), // Grimer (M) (Docile)
|
||||
}};
|
||||
|
@ -87,7 +87,7 @@
|
|||
public static readonly TeamLock XSeedotCipherLab = new TeamLock {
|
||||
Species = 273, // Seedot
|
||||
Comment = "Cipher Lab",
|
||||
Locks = new NPCLock[] {
|
||||
Locks = 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)
|
||||
|
@ -98,7 +98,7 @@
|
|||
public static readonly TeamLock XSeedotPhenacCity = new TeamLock {
|
||||
Species = 273, // Seedot
|
||||
Comment = "Phenac City",
|
||||
Locks = new NPCLock[] {
|
||||
Locks = 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)
|
||||
|
@ -109,7 +109,7 @@
|
|||
public static readonly TeamLock XSeedotPost = new TeamLock {
|
||||
Species = 273, // Seedot
|
||||
Comment = "Post",
|
||||
Locks = new NPCLock[] {
|
||||
Locks = 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)
|
||||
|
@ -119,14 +119,14 @@
|
|||
|
||||
public static readonly TeamLock XSpinarak = new TeamLock {
|
||||
Species = 167, // Spinarak
|
||||
Locks = new NPCLock[] {
|
||||
Locks = new[] {
|
||||
new NPCLock(220, 12, 1, 127), // Swinub (F) (Serious)
|
||||
new NPCLock(353, 06, 0, 127), // Shuppet (M) (Docile)
|
||||
}};
|
||||
|
||||
public static readonly TeamLock XNumel = new TeamLock {
|
||||
Species = 322, // Numel
|
||||
Locks = new NPCLock[] {
|
||||
Locks = new[] {
|
||||
new NPCLock(280, 06, 0, 127), // Ralts (M) (Docile)
|
||||
new NPCLock(100, 00, 2, 256), // Voltorb (-) (Hardy)
|
||||
new NPCLock(371, 24, 1, 127), // Bagon (F) (Quirky)
|
||||
|
@ -134,14 +134,14 @@
|
|||
|
||||
public static readonly TeamLock XShroomish = new TeamLock {
|
||||
Species = 285, // Shroomish
|
||||
Locks = new NPCLock[] {
|
||||
Locks = new[] {
|
||||
new NPCLock(209, 24, 1, 191), // Snubbull (F) (Quirky)
|
||||
new NPCLock(352, 00, 1, 127), // Kecleon (F) (Hardy)
|
||||
}};
|
||||
|
||||
public static readonly TeamLock XDelcatty = new TeamLock {
|
||||
Species = 301, // Delcatty
|
||||
Locks = new NPCLock[] {
|
||||
Locks = 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)
|
||||
|
@ -149,7 +149,7 @@
|
|||
|
||||
public static readonly TeamLock XVoltorb = new TeamLock {
|
||||
Species = 100, // Voltorb
|
||||
Locks = new NPCLock[] {
|
||||
Locks = 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)
|
||||
|
@ -157,14 +157,14 @@
|
|||
|
||||
public static readonly TeamLock XMakuhita = new TeamLock {
|
||||
Species = 296, // Makuhita
|
||||
Locks = new NPCLock[] {
|
||||
Locks = new[] {
|
||||
new NPCLock(352, 06, 0, 127), // Kecleon (M) (Docile)
|
||||
new NPCLock(283, 18, 1, 127), // Surskit (F) (Bashful)
|
||||
}};
|
||||
|
||||
public static readonly TeamLock XVulpix = new TeamLock {
|
||||
Species = 037, // Vulpix
|
||||
Locks = new NPCLock[] {
|
||||
Locks = 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)
|
||||
|
@ -172,7 +172,7 @@
|
|||
|
||||
public static readonly TeamLock XDuskull = new TeamLock {
|
||||
Species = 355, // Duskull
|
||||
Locks = new NPCLock[] {
|
||||
Locks = 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)
|
||||
|
@ -180,40 +180,40 @@
|
|||
|
||||
public static readonly TeamLock XMawile = new TeamLock {
|
||||
Species = 303, // Mawile
|
||||
Locks = new NPCLock[] {
|
||||
Locks = new[] {
|
||||
new NPCLock(294, 06, 0, 127), // Loudred (M) (Docile)
|
||||
new NPCLock(203, 18, 1, 127), // Girafarig (F) (Bashful)
|
||||
}};
|
||||
|
||||
public static readonly TeamLock XSnorunt = new TeamLock {
|
||||
Species = 361, // Snorunt
|
||||
Locks = new NPCLock[] {
|
||||
Locks = new[] {
|
||||
new NPCLock(336, 06, 1, 127), // Seviper (F) (Docile)
|
||||
}};
|
||||
|
||||
public static readonly TeamLock XPineco = new TeamLock {
|
||||
Species = 204, // Pineco
|
||||
Locks = new NPCLock[] {
|
||||
Locks = new[] {
|
||||
new NPCLock(198, 06, 0, 127), // Murkrow (M) (Docile)
|
||||
}};
|
||||
|
||||
public static readonly TeamLock XNatu = new TeamLock {
|
||||
Species = 177, // Natu
|
||||
Locks = new NPCLock[] {
|
||||
Locks = new[] {
|
||||
new NPCLock(281, 00, 0, 127), // Kirlia (M) (Hardy)
|
||||
new NPCLock(264, 00, 1, 127), // Linoone (F) (Hardy)
|
||||
}};
|
||||
|
||||
public static readonly TeamLock XRoselia = new TeamLock {
|
||||
Species = 315, // Roselia
|
||||
Locks = new NPCLock[] {
|
||||
Locks = new[] {
|
||||
new NPCLock(223, 06, 0, 127), // Remoraid (M) (Docile)
|
||||
new NPCLock(042, 18, 0, 127), // Golbat (M) (Bashful)
|
||||
}};
|
||||
|
||||
public static readonly TeamLock XMeowth = new TeamLock {
|
||||
Species = 052, // Meowth
|
||||
Locks = new NPCLock[] {
|
||||
Locks = 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)
|
||||
|
@ -221,28 +221,28 @@
|
|||
|
||||
public static readonly TeamLock XSwinub = new TeamLock {
|
||||
Species = 220, // Swinub
|
||||
Locks = new NPCLock[] {
|
||||
Locks = new[] {
|
||||
new NPCLock(324, 18, 1, 127), // Torkoal (F) (Bashful)
|
||||
new NPCLock(274, 00, 0, 127), // Nuzleaf (M) (Hardy)
|
||||
}};
|
||||
|
||||
public static readonly TeamLock XSpearow = new TeamLock {
|
||||
Species = 021, // Spearow
|
||||
Locks = new NPCLock[] {
|
||||
Locks = new[] {
|
||||
new NPCLock(279, 18, 0, 127), // Pelipper (M) (Bashful)
|
||||
new NPCLock(309, 06, 1, 127), // Electrike (F) (Docile)
|
||||
}};
|
||||
|
||||
public static readonly TeamLock XGrimer = new TeamLock {
|
||||
Species = 088, // Grimer
|
||||
Locks = new NPCLock[] {
|
||||
Locks = new[] {
|
||||
new NPCLock(358, 12, 0, 127), // Chimecho (M) (Serious)
|
||||
new NPCLock(234, 18, 0, 127), // Stantler (M) (Bashful)
|
||||
}};
|
||||
|
||||
public static readonly TeamLock XSeel = new TeamLock {
|
||||
Species = 086, // Seel
|
||||
Locks = new NPCLock[] {
|
||||
Locks = 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)
|
||||
|
@ -250,14 +250,14 @@
|
|||
|
||||
public static readonly TeamLock XLunatone = new TeamLock {
|
||||
Species = 337, // Lunatone
|
||||
Locks = new NPCLock[] {
|
||||
Locks = new[] {
|
||||
new NPCLock(171, 00, 1, 127), // Lanturn (F) (Hardy)
|
||||
new NPCLock(195, 18, 0, 127), // Quagsire (M) (Bashful)
|
||||
}};
|
||||
|
||||
public static readonly TeamLock XNosepass = new TeamLock {
|
||||
Species = 299, // Nosepass
|
||||
Locks = new NPCLock[] {
|
||||
Locks = 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)
|
||||
|
@ -265,14 +265,14 @@
|
|||
|
||||
public static readonly TeamLock XParas = new TeamLock {
|
||||
Species = 046, // Paras
|
||||
Locks = new NPCLock[] {
|
||||
Locks = new[] {
|
||||
new NPCLock(336, 24, 0, 127), // Seviper (M) (Quirky)
|
||||
new NPCLock(198, 06, 1, 127), // Murkrow (F) (Docile)
|
||||
}};
|
||||
|
||||
public static readonly TeamLock XGrowlithe = new TeamLock {
|
||||
Species = 058, // Growlithe
|
||||
Locks = new NPCLock[] {
|
||||
Locks = new[] {
|
||||
new NPCLock(336, 24, 0, 127), // Seviper (M) (Quirky)
|
||||
new NPCLock(198, 06, 1, 127), // Murkrow (F) (Docile)
|
||||
new NPCLock(046), // Shadow Paras
|
||||
|
@ -281,7 +281,7 @@
|
|||
public static readonly TeamLock XGrowlitheParasSeen = new TeamLock {
|
||||
Species = 058, // Growlithe
|
||||
Comment = "Paras Seen",
|
||||
Locks = new NPCLock[] {
|
||||
Locks = 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)
|
||||
|
@ -289,7 +289,7 @@
|
|||
|
||||
public static readonly TeamLock XPidgeotto = new TeamLock {
|
||||
Species = 017, // Pidgeotto
|
||||
Locks = new NPCLock[] {
|
||||
Locks = new[] {
|
||||
new NPCLock(015), // Shadow Beedrill
|
||||
new NPCLock(162, 12, 0, 127), // Furret (M) (Serious)
|
||||
new NPCLock(176, 18, 0, 031), // Togetic (M) (Bashful)
|
||||
|
@ -298,7 +298,7 @@
|
|||
public static readonly TeamLock XPidgeottoBeedrillSeen = new TeamLock {
|
||||
Species = 017, // Pidgeotto
|
||||
Comment = "Beedrill Seen",
|
||||
Locks = new NPCLock[] {
|
||||
Locks = 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)
|
||||
|
@ -306,7 +306,7 @@
|
|||
|
||||
public static readonly TeamLock XTangela = new TeamLock {
|
||||
Species = 114, // Tangela
|
||||
Locks = new NPCLock[] {
|
||||
Locks = new[] {
|
||||
new NPCLock(038, 12, 0, 191), // Ninetales (M) (Serious)
|
||||
new NPCLock(189, 06, 0, 127), // Jumpluff (M) (Docile)
|
||||
new NPCLock(184, 00, 1, 127), // Azumarill (F) (Hardy)
|
||||
|
@ -314,7 +314,7 @@
|
|||
|
||||
public static readonly TeamLock XButterfree = new TeamLock {
|
||||
Species = 012, // Butterfree
|
||||
Locks = new NPCLock[] {
|
||||
Locks = new[] {
|
||||
new NPCLock(038, 12, 0, 191), // Ninetales (M) (Serious)
|
||||
new NPCLock(189, 06, 0, 127), // Jumpluff (M) (Docile)
|
||||
new NPCLock(184, 00, 1, 127), // Azumarill (F) (Hardy)
|
||||
|
@ -324,7 +324,7 @@
|
|||
public static readonly TeamLock XButterfreeTangelaSeen = new TeamLock {
|
||||
Species = 012, // Butterfree
|
||||
Comment = "Tangela Seen",
|
||||
Locks = new NPCLock[] {
|
||||
Locks = new[] {
|
||||
new NPCLock(038, 12, 0, 191), // Ninetales (M) (Serious)
|
||||
new NPCLock(189, 06, 0, 127), // Jumpluff (M) (Docile)
|
||||
new NPCLock(184, 00, 1, 127), // Azumarill (F) (Hardy)
|
||||
|
@ -333,7 +333,7 @@
|
|||
|
||||
public static readonly TeamLock XMagneton = new TeamLock {
|
||||
Species = 082, // Magneton
|
||||
Locks = new NPCLock[] {
|
||||
Locks = new[] {
|
||||
new NPCLock(292, 18, 2, 256), // Shedinja (-) (Bashful)
|
||||
new NPCLock(202, 00, 0, 127), // Wobbuffet (M) (Hardy)
|
||||
new NPCLock(329, 12, 1, 127), // Vibrava (F) (Serious)
|
||||
|
@ -341,7 +341,7 @@
|
|||
|
||||
public static readonly TeamLock XVenomoth = new TeamLock {
|
||||
Species = 049, // Venomoth
|
||||
Locks = new NPCLock[] {
|
||||
Locks = 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)
|
||||
|
@ -349,7 +349,7 @@
|
|||
|
||||
public static readonly TeamLock XWeepinbell = new TeamLock {
|
||||
Species = 070, // Weepinbell
|
||||
Locks = new NPCLock[] {
|
||||
Locks = 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)
|
||||
|
@ -359,7 +359,7 @@
|
|||
public static readonly TeamLock XWeepinbellVenomothSeen = new TeamLock {
|
||||
Species = 070, // Weepinbell
|
||||
Comment = "Venomoth Seen",
|
||||
Locks = new NPCLock[] {
|
||||
Locks = 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)
|
||||
|
@ -368,7 +368,7 @@
|
|||
|
||||
public static readonly TeamLock XArbok = new TeamLock {
|
||||
Species = 024, // Arbok
|
||||
Locks = new NPCLock[] {
|
||||
Locks = 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)
|
||||
|
@ -377,7 +377,7 @@
|
|||
|
||||
public static readonly TeamLock XPrimeape = new TeamLock {
|
||||
Species = 057, // Primeape
|
||||
Locks = new NPCLock[] {
|
||||
Locks = 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)
|
||||
|
@ -386,7 +386,7 @@
|
|||
|
||||
public static readonly TeamLock XHypno = new TeamLock {
|
||||
Species = 097, // Hypno
|
||||
Locks = new NPCLock[] {
|
||||
Locks = 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)
|
||||
|
@ -397,7 +397,7 @@
|
|||
public static readonly TeamLock XHypnoPrimeapeSeen = new TeamLock {
|
||||
Species = 097, // Hypno
|
||||
Comment = "Primeape Seen",
|
||||
Locks = new NPCLock[] {
|
||||
Locks = 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)
|
||||
|
@ -407,7 +407,7 @@
|
|||
|
||||
public static readonly TeamLock XGolduck = new TeamLock {
|
||||
Species = 055, // Golduck
|
||||
Locks = new NPCLock[] {
|
||||
Locks = 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)
|
||||
|
@ -415,7 +415,7 @@
|
|||
|
||||
public static readonly TeamLock XSableye = new TeamLock {
|
||||
Species = 302, // Sableye
|
||||
Locks = new NPCLock[] {
|
||||
Locks = 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)
|
||||
|
@ -425,7 +425,7 @@
|
|||
public static readonly TeamLock XSableyeGolduckSeen = new TeamLock {
|
||||
Species = 302, // Sableye
|
||||
Comment = "Golduck Seen",
|
||||
Locks = new NPCLock[] {
|
||||
Locks = 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)
|
||||
|
@ -434,13 +434,13 @@
|
|||
|
||||
public static readonly TeamLock XDodrio = new TeamLock {
|
||||
Species = 085, // Dodrio
|
||||
Locks = new NPCLock[] {
|
||||
Locks = new[] {
|
||||
new NPCLock(178, 18, 1, 127), // Xatu (F) (Bashful)
|
||||
}};
|
||||
|
||||
public static readonly TeamLock XRaticate = new TeamLock {
|
||||
Species = 020, // Raticate
|
||||
Locks = new NPCLock[] {
|
||||
Locks = new[] {
|
||||
new NPCLock(178, 18, 1, 127), // Xatu (F) (Bashful)
|
||||
new NPCLock(085), // Shadow Dodrio
|
||||
new NPCLock(340, 18, 0, 127), // Whiscash (M) (Bashful)
|
||||
|
@ -448,7 +448,7 @@
|
|||
public static readonly TeamLock XRaticateDodrioSeen = new TeamLock {
|
||||
Species = 020, // Raticate
|
||||
Comment = "Dodrio Seen",
|
||||
Locks = new NPCLock[] {
|
||||
Locks = 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)
|
||||
|
@ -456,7 +456,7 @@
|
|||
|
||||
public static readonly TeamLock XFarfetchd = new TeamLock {
|
||||
Species = 083, // Farfetch’d
|
||||
Locks = new NPCLock[] {
|
||||
Locks = 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)
|
||||
|
@ -464,7 +464,7 @@
|
|||
|
||||
public static readonly TeamLock XAltaria = new TeamLock {
|
||||
Species = 334, // Altaria
|
||||
Locks = new NPCLock[] {
|
||||
Locks = 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)
|
||||
|
@ -474,7 +474,7 @@
|
|||
public static readonly TeamLock XAltariaFarfetchdSeen = new TeamLock {
|
||||
Species = 334, // Altaria
|
||||
Comment = "Farfetch'd Seen",
|
||||
Locks = new NPCLock[] {
|
||||
Locks = 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)
|
||||
|
@ -483,7 +483,7 @@
|
|||
|
||||
public static readonly TeamLock XKangaskhan = new TeamLock {
|
||||
Species = 115, // Kangaskhan
|
||||
Locks = new NPCLock[] {
|
||||
Locks = new[] {
|
||||
new NPCLock(101, 00, 2, 256), // Electrode (-) (Hardy)
|
||||
new NPCLock(200, 18, 1, 127), // Misdreavus (F) (Bashful)
|
||||
new NPCLock(344, 12, 2, 256), // Claydol (-) (Serious)
|
||||
|
@ -491,7 +491,7 @@
|
|||
|
||||
public static readonly TeamLock XBanette = new TeamLock {
|
||||
Species = 354, // Banette
|
||||
Locks = new NPCLock[] {
|
||||
Locks = new[] {
|
||||
new NPCLock(101, 00, 2, 256), // Electrode (-) (Hardy)
|
||||
new NPCLock(200, 18, 1, 127), // Misdreavus (F) (Bashful)
|
||||
new NPCLock(344, 12, 2, 256), // Claydol (-) (Serious)
|
||||
|
@ -501,7 +501,7 @@
|
|||
public static readonly TeamLock XBanetteKangaskhanSeen = new TeamLock {
|
||||
Species = 354, // Banette
|
||||
Comment = "Kangaskhan Seen",
|
||||
Locks = new NPCLock[] {
|
||||
Locks = new[] {
|
||||
new NPCLock(101, 00, 2, 256), // Electrode (-) (Hardy)
|
||||
new NPCLock(200, 18, 1, 127), // Misdreavus (F) (Bashful)
|
||||
new NPCLock(344, 12, 2, 256), // Claydol (-) (Serious)
|
||||
|
@ -510,7 +510,7 @@
|
|||
|
||||
public static readonly TeamLock XMagmar = new TeamLock {
|
||||
Species = 126, // Magmar
|
||||
Locks = new NPCLock[] {
|
||||
Locks = 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)
|
||||
|
@ -518,7 +518,7 @@
|
|||
|
||||
public static readonly TeamLock XPinsir = new TeamLock {
|
||||
Species = 127, // Pinsir
|
||||
Locks = new NPCLock[] {
|
||||
Locks = 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)
|
||||
|
@ -528,7 +528,7 @@
|
|||
public static readonly TeamLock XPinsirMagmarSeen = new TeamLock {
|
||||
Species = 127, // Pinsir
|
||||
Comment = "Magmar Seen",
|
||||
Locks = new NPCLock[] {
|
||||
Locks = 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)
|
||||
|
@ -537,7 +537,7 @@
|
|||
|
||||
public static readonly TeamLock XRapidash = new TeamLock {
|
||||
Species = 078, // Rapidash
|
||||
Locks = new NPCLock[] {
|
||||
Locks = 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)
|
||||
|
@ -545,7 +545,7 @@
|
|||
|
||||
public static readonly TeamLock XMagcargo = new TeamLock {
|
||||
Species = 219, // Magcargo
|
||||
Locks = new NPCLock[] {
|
||||
Locks = 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)
|
||||
|
@ -555,7 +555,7 @@
|
|||
public static readonly TeamLock XMagcargoRapidashSeen = new TeamLock {
|
||||
Species = 219, // Magcargo
|
||||
Comment = "Rapidash Seen",
|
||||
Locks = new NPCLock[] {
|
||||
Locks = 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)
|
||||
|
@ -564,7 +564,7 @@
|
|||
|
||||
public static readonly TeamLock XHitmonchan = new TeamLock {
|
||||
Species = 107, // Hitmonchan
|
||||
Locks = new NPCLock[] {
|
||||
Locks = 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)
|
||||
|
@ -572,7 +572,7 @@
|
|||
|
||||
public static readonly TeamLock XHitmonlee = new TeamLock {
|
||||
Species = 106, // Hitmonlee
|
||||
Locks = new NPCLock[] {
|
||||
Locks = new[] {
|
||||
new NPCLock(326, 18, 0, 127), // Grumpig (M) (Bashful)
|
||||
new NPCLock(227, 12, 0, 127), // Skarmory (M) (Serious)
|
||||
new NPCLock(375, 06, 2, 256), // Metang (-) (Docile)
|
||||
|
@ -581,14 +581,14 @@
|
|||
|
||||
public static readonly TeamLock XLickitung = new TeamLock {
|
||||
Species = 108, // Lickitung
|
||||
Locks = new NPCLock[] {
|
||||
Locks = new[] {
|
||||
new NPCLock(171, 24, 0, 127), // Lanturn (M) (Quirky)
|
||||
new NPCLock(082, 06, 2, 256), // Magneton (-) (Docile)
|
||||
}};
|
||||
|
||||
public static readonly TeamLock XScyther = new TeamLock {
|
||||
Species = 123, // Scyther
|
||||
Locks = new NPCLock[]
|
||||
Locks = new[]
|
||||
{
|
||||
new NPCLock(234, 06, 1, 127), // Stantler (F) (Docile)
|
||||
new NPCLock(295, 24, 0, 127), // Exploud (M) (Quirky)
|
||||
|
@ -596,7 +596,7 @@
|
|||
|
||||
public static readonly TeamLock XChansey = new TeamLock {
|
||||
Species = 113, // Chansey
|
||||
Locks = new NPCLock[] {
|
||||
Locks = new[] {
|
||||
new NPCLock(234, 06, 1, 127), // Stantler (F) (Docile)
|
||||
new NPCLock(295, 24, 0, 127), // Exploud (M) (Quirky)
|
||||
new NPCLock(123), // Shadow Scyther
|
||||
|
@ -605,7 +605,7 @@
|
|||
public static readonly TeamLock XChanseyScytherSeen = new TeamLock {
|
||||
Species = 113, // Chansey
|
||||
Comment = "Scyther Seen",
|
||||
Locks = new NPCLock[] {
|
||||
Locks = 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)
|
||||
|
@ -613,7 +613,7 @@
|
|||
|
||||
public static readonly TeamLock XSolrock = new TeamLock {
|
||||
Species = 338, // Solrock
|
||||
Locks = new NPCLock[] {
|
||||
Locks = new[] {
|
||||
new NPCLock(375, 24, 2, 256), // Metang (-) (Quirky)
|
||||
new NPCLock(195, 06, 0, 127), // Quagsire (M) (Docile)
|
||||
new NPCLock(212, 00, 1, 127), // Scizor (F) (Hardy)
|
||||
|
@ -621,7 +621,7 @@
|
|||
|
||||
public static readonly TeamLock XStarmie = new TeamLock {
|
||||
Species = 121, // Starmie
|
||||
Locks = new NPCLock[] {
|
||||
Locks = new[] {
|
||||
new NPCLock(375, 24, 2, 256), // Metang (-) (Quirky)
|
||||
new NPCLock(195, 06, 0, 127), // Quagsire (M) (Docile)
|
||||
new NPCLock(212, 00, 1, 127), // Scizor (F) (Hardy)
|
||||
|
@ -632,7 +632,7 @@
|
|||
public static readonly TeamLock XStarmieSolrockSeen = new TeamLock {
|
||||
Species = 121, // Starmie
|
||||
Comment = "Solrock Seen",
|
||||
Locks = new NPCLock[] {
|
||||
Locks = new[] {
|
||||
new NPCLock(375, 24, 2, 256), // Metang (-) (Quirky)
|
||||
new NPCLock(195, 06, 0, 127), // Quagsire (M) (Docile)
|
||||
new NPCLock(212, 00, 1, 127), // Scizor (F) (Hardy)
|
||||
|
@ -642,7 +642,7 @@
|
|||
|
||||
public static readonly TeamLock XElectabuzz = new TeamLock {
|
||||
Species = 125, // Electabuzz
|
||||
Locks = new NPCLock[] {
|
||||
Locks = new[] {
|
||||
new NPCLock(277), // Shadow Swellow
|
||||
new NPCLock(065, 12, 0, 063), // Alakazam (M) (Serious)
|
||||
new NPCLock(230, 18, 1, 127), // Kingdra (F) (Bashful)
|
||||
|
@ -652,7 +652,7 @@
|
|||
public static readonly TeamLock XElectabuzzSwellowSeen = new TeamLock {
|
||||
Species = 125, // Electabuzz
|
||||
Comment = "Swellow Seen",
|
||||
Locks = new NPCLock[] {
|
||||
Locks = new[] {
|
||||
new NPCLock(277, true), // Shadow Swellow (Seen)
|
||||
new NPCLock(065, 12, 0, 063), // Alakazam (M) (Serious)
|
||||
new NPCLock(230, 18, 1, 127), // Kingdra (F) (Bashful)
|
||||
|
@ -661,7 +661,7 @@
|
|||
|
||||
public static readonly TeamLock XSnorlax = new TeamLock {
|
||||
Species = 143, // Snorlax
|
||||
Locks = new NPCLock[] {
|
||||
Locks = new[] {
|
||||
new NPCLock(277), // Shadow Swellow
|
||||
new NPCLock(065, 12, 0, 063), // Alakazam (M) (Serious)
|
||||
new NPCLock(230, 18, 1, 127), // Kingdra (F) (Bashful)
|
||||
|
@ -672,7 +672,7 @@
|
|||
public static readonly TeamLock XSnorlaxSwellowSeen = new TeamLock {
|
||||
Species = 143, // Snorlax
|
||||
Comment = "Swellow Seen",
|
||||
Locks = new NPCLock[] {
|
||||
Locks = new[] {
|
||||
new NPCLock(277, true), // Shadow Swellow (Seen)
|
||||
new NPCLock(065, 12, 0, 063), // Alakazam (M) (Serious)
|
||||
new NPCLock(230, 18, 1, 127), // Kingdra (F) (Bashful)
|
||||
|
@ -683,7 +683,7 @@
|
|||
public static readonly TeamLock XSnorlaxSwellowElectabuzzSeen = new TeamLock {
|
||||
Species = 143, // Snorlax
|
||||
Comment = "Swellow & Electabuzz Seen",
|
||||
Locks = new NPCLock[] {
|
||||
Locks = new[] {
|
||||
new NPCLock(277, true), // Shadow Swellow (Seen)
|
||||
new NPCLock(065, 12, 0, 063), // Alakazam (M) (Serious)
|
||||
new NPCLock(230, 18, 1, 127), // Kingdra (F) (Bashful)
|
||||
|
@ -693,7 +693,7 @@
|
|||
|
||||
public static readonly TeamLock XPoliwrath = new TeamLock {
|
||||
Species = 062, // Poliwrath
|
||||
Locks = new NPCLock[] {
|
||||
Locks = 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)
|
||||
|
@ -702,7 +702,7 @@
|
|||
|
||||
public static readonly TeamLock XMrMime = new TeamLock {
|
||||
Species = 122, // Mr. Mime
|
||||
Locks = new NPCLock[] {
|
||||
Locks = 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)
|
||||
|
@ -713,7 +713,7 @@
|
|||
public static readonly TeamLock XMrMimePoliwrathSeen = new TeamLock {
|
||||
Species = 122, // Mr. Mime
|
||||
Comment = "Poliwrath Seen",
|
||||
Locks = new NPCLock[] {
|
||||
Locks = 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)
|
||||
|
@ -723,7 +723,7 @@
|
|||
|
||||
public static readonly TeamLock XDugtrio = new TeamLock {
|
||||
Species = 051, // Dugtrio
|
||||
Locks = new NPCLock[] {
|
||||
Locks = 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)
|
||||
|
@ -732,20 +732,20 @@
|
|||
|
||||
public static readonly TeamLock XManectric = new TeamLock {
|
||||
Species = 310, // Manectric
|
||||
Locks = new NPCLock[] {
|
||||
Locks = new[] {
|
||||
new NPCLock(291, 06, 1, 127), // Ninjask (F) (Docile)
|
||||
}};
|
||||
|
||||
public static readonly TeamLock XSalamence = new TeamLock {
|
||||
Species = 373, // Salamence
|
||||
Locks = new NPCLock[] {
|
||||
Locks = new[] {
|
||||
new NPCLock(291, 06, 1, 127), // Ninjask (F) (Docile)
|
||||
new NPCLock(310), // Shadow Manectric
|
||||
}};
|
||||
|
||||
public static readonly TeamLock XMarowak = new TeamLock {
|
||||
Species = 105, // Marowak
|
||||
Locks = new NPCLock[] {
|
||||
Locks = new[] {
|
||||
new NPCLock(291, 06, 1, 127), // Ninjask (F) (Docile)
|
||||
new NPCLock(310), // Shadow Manectric
|
||||
new NPCLock(373), // Shadow Salamence
|
||||
|
@ -754,7 +754,7 @@
|
|||
|
||||
public static readonly TeamLock XLapras = new TeamLock {
|
||||
Species = 131, // Lapras
|
||||
Locks = new NPCLock[] {
|
||||
Locks = new[] {
|
||||
new NPCLock(291, 06, 1, 127), // Ninjask (F) (Docile)
|
||||
new NPCLock(310), // Shadow Manectric
|
||||
new NPCLock(373), // Shadow Salamence
|
||||
|
@ -765,7 +765,7 @@
|
|||
public static readonly TeamLock XSalamenceManectricSeen = new TeamLock {
|
||||
Species = 373, // Salamence
|
||||
Comment = "Manectric Seen",
|
||||
Locks = new NPCLock[] {
|
||||
Locks = new[] {
|
||||
new NPCLock(291, 06, 1, 127), // Ninjask (F) (Docile)
|
||||
new NPCLock(310, true), // Shadow Manectric (Seen)
|
||||
}};
|
||||
|
@ -773,7 +773,7 @@
|
|||
public static readonly TeamLock XMarowakManectricSeen = new TeamLock {
|
||||
Species = 105, // Marowak
|
||||
Comment = "Manectric Seen",
|
||||
Locks = new NPCLock[] {
|
||||
Locks = new[] {
|
||||
new NPCLock(291, 06, 1, 127), // Ninjask (F) (Docile)
|
||||
new NPCLock(310, true), // Shadow Manectric (Seen)
|
||||
new NPCLock(373), // Shadow Salamence
|
||||
|
@ -783,7 +783,7 @@
|
|||
public static readonly TeamLock XMarowakManectricSalamenceSeen = new TeamLock {
|
||||
Species = 105, // Marowak
|
||||
Comment = "Manectric & Salamence Seen",
|
||||
Locks = new NPCLock[] {
|
||||
Locks = new[] {
|
||||
new NPCLock(291, 06, 1, 127), // Ninjask (F) (Docile)
|
||||
new NPCLock(310, true), // Shadow Manectric (Seen)
|
||||
new NPCLock(373, true), // Shadow Salamence (Seen)
|
||||
|
@ -793,7 +793,7 @@
|
|||
public static readonly TeamLock XLaprasManectricSeen = new TeamLock {
|
||||
Species = 131, // Lapras
|
||||
Comment = "Manectric Seen",
|
||||
Locks = new NPCLock[] {
|
||||
Locks = new[] {
|
||||
new NPCLock(291, 06, 1, 127), // Ninjask (F) (Docile)
|
||||
new NPCLock(310, true), // Shadow Manectric (Seen)
|
||||
new NPCLock(373), // Shadow Salamence
|
||||
|
@ -804,7 +804,7 @@
|
|||
public static readonly TeamLock XLaprasManectricSalamenceSeen = new TeamLock {
|
||||
Species = 131, // Lapras
|
||||
Comment = "Manectric & Salamence Seen",
|
||||
Locks = new NPCLock[] {
|
||||
Locks = new[] {
|
||||
new NPCLock(291, 06, 1, 127), // Ninjask (F) (Docile)
|
||||
new NPCLock(310, true), // Shadow Manectric (Seen)
|
||||
new NPCLock(373, true), // Shadow Salamence (Seen)
|
||||
|
@ -815,7 +815,7 @@
|
|||
public static readonly TeamLock XLaprasManectricMarowakSeen = new TeamLock {
|
||||
Species = 131, // Lapras
|
||||
Comment = "Manectric & Marowak Seen",
|
||||
Locks = new NPCLock[] {
|
||||
Locks = new[] {
|
||||
new NPCLock(291, 06, 1, 127), // Ninjask (F) (Docile)
|
||||
new NPCLock(310, true), // Shadow Manectric (Seen)
|
||||
new NPCLock(373), // Shadow Salamence
|
||||
|
@ -826,7 +826,7 @@
|
|||
public static readonly TeamLock XLaprasManectricSalamenceMarowakSeen = new TeamLock {
|
||||
Species = 131, // Lapras
|
||||
Comment = "Manectric & Salamence & Marowak Seen",
|
||||
Locks = new NPCLock[] {
|
||||
Locks = new[] {
|
||||
new NPCLock(291, 06, 1, 127), // Ninjask (F) (Docile)
|
||||
new NPCLock(310, true), // Shadow Manectric (Seen)
|
||||
new NPCLock(373, true), // Shadow Salamence (Seen)
|
||||
|
@ -836,20 +836,20 @@
|
|||
|
||||
public static readonly TeamLock XMoltres = new TeamLock {
|
||||
Species = 146, // Moltres
|
||||
Locks = new NPCLock[] {
|
||||
Locks = new[] {
|
||||
new NPCLock(112), // Shadow Rhydon
|
||||
}};
|
||||
|
||||
public static readonly TeamLock XExeggutor = new TeamLock {
|
||||
Species = 103, // Exeggutor
|
||||
Locks = new NPCLock[] {
|
||||
Locks = new[] {
|
||||
new NPCLock(112), // Shadow Rhydon
|
||||
new NPCLock(146), // Shadow Moltres
|
||||
}};
|
||||
|
||||
public static readonly TeamLock XTauros = new TeamLock {
|
||||
Species = 128, // Tauros
|
||||
Locks = new NPCLock[] {
|
||||
Locks = new[] {
|
||||
new NPCLock(112), // Shadow Rhydon
|
||||
new NPCLock(146), // Shadow Moltres
|
||||
new NPCLock(103), // Shadow Exeggutor
|
||||
|
@ -857,7 +857,7 @@
|
|||
|
||||
public static readonly TeamLock XArticuno = new TeamLock {
|
||||
Species = 144, // Articuno
|
||||
Locks = new NPCLock[] {
|
||||
Locks = new[] {
|
||||
new NPCLock(112), // Shadow Rhydon
|
||||
new NPCLock(146), // Shadow Moltres
|
||||
new NPCLock(103), // Shadow Exeggutor
|
||||
|
@ -866,7 +866,7 @@
|
|||
|
||||
public static readonly TeamLock XZapdos = new TeamLock {
|
||||
Species = 145, // Zapdos
|
||||
Locks = new NPCLock[] {
|
||||
Locks = new[] {
|
||||
new NPCLock(112), // Shadow Rhydon
|
||||
new NPCLock(146), // Shadow Moltres
|
||||
new NPCLock(103), // Shadow Exeggutor
|
||||
|
@ -877,7 +877,7 @@
|
|||
public static readonly TeamLock XExeggutorRhydonMoltresSeen = new TeamLock {
|
||||
Species = 103, // Exeggutor
|
||||
Comment = "Rhydon & Moltres Seen",
|
||||
Locks = new NPCLock[] {
|
||||
Locks = new[] {
|
||||
new NPCLock(112, true), // Shadow Rhydon (Seen)
|
||||
new NPCLock(146, true), // Shadow Moltres (Seen)
|
||||
}};
|
||||
|
@ -885,7 +885,7 @@
|
|||
public static readonly TeamLock XTaurosRhydonMoltresSeen = new TeamLock {
|
||||
Species = 128, // Tauros
|
||||
Comment = "Rhydon & Moltres Seen",
|
||||
Locks = new NPCLock[] {
|
||||
Locks = new[] {
|
||||
new NPCLock(112, true), // Shadow Rhydon (Seen)
|
||||
new NPCLock(146, true), // Shadow Moltres (Seen)
|
||||
new NPCLock(103), // Shadow Exeggutor
|
||||
|
@ -894,7 +894,7 @@
|
|||
public static readonly TeamLock XTaurosRhydonMoltresExeggutorSeen = new TeamLock {
|
||||
Species = 128, // Tauros
|
||||
Comment = "Rhydon & Moltres & Exeggutor Seen",
|
||||
Locks = new NPCLock[] {
|
||||
Locks = new[] {
|
||||
new NPCLock(112, true), // Shadow Rhydon (Seen)
|
||||
new NPCLock(146, true), // Shadow Moltres (Seen)
|
||||
new NPCLock(103, true), // Shadow Exeggutor (Seen)
|
||||
|
@ -903,7 +903,7 @@
|
|||
public static readonly TeamLock XArticunoRhydonMoltresSeen = new TeamLock {
|
||||
Species = 144, // Articuno
|
||||
Comment = "Rhydon & Moltres Seen",
|
||||
Locks = new NPCLock[] {
|
||||
Locks = new[] {
|
||||
new NPCLock(112, true), // Shadow Rhydon (Seen)
|
||||
new NPCLock(146, true), // Shadow Moltres (Seen)
|
||||
new NPCLock(103), // Shadow Exeggutor
|
||||
|
@ -913,7 +913,7 @@
|
|||
public static readonly TeamLock XArticunoRhydonMoltresTaurosSeen = new TeamLock {
|
||||
Species = 144, // Articuno
|
||||
Comment = "Rhydon & Moltres & Tauros Seen",
|
||||
Locks = new NPCLock[] {
|
||||
Locks = new[] {
|
||||
new NPCLock(112, true), // Shadow Rhydon (Seen)
|
||||
new NPCLock(146, true), // Shadow Moltres (Seen)
|
||||
new NPCLock(103), // Shadow Exeggutor
|
||||
|
@ -923,7 +923,7 @@
|
|||
public static readonly TeamLock XArticunoRhydonMoltresExeggutorSeen = new TeamLock {
|
||||
Species = 144, // Articuno
|
||||
Comment = "Rhydon & Moltres & Exeggutor Seen",
|
||||
Locks = new NPCLock[] {
|
||||
Locks = new[] {
|
||||
new NPCLock(112, true), // Shadow Rhydon (Seen)
|
||||
new NPCLock(146, true), // Shadow Moltres (Seen)
|
||||
new NPCLock(103, true), // Shadow Exeggutor (Seen)
|
||||
|
@ -933,7 +933,7 @@
|
|||
public static readonly TeamLock XArticunoRhydonMoltresExeggutorTaurosSeen = new TeamLock {
|
||||
Species = 144, // Articuno
|
||||
Comment = "Rhydon & Moltres & Exeggutor & Tauros Seen",
|
||||
Locks = new NPCLock[] {
|
||||
Locks = new[] {
|
||||
new NPCLock(112, true), // Shadow Rhydon (Seen)
|
||||
new NPCLock(146, true), // Shadow Moltres (Seen)
|
||||
new NPCLock(103, true), // Shadow Exeggutor (Seen)
|
||||
|
@ -943,7 +943,7 @@
|
|||
public static readonly TeamLock XZapdosRhydonMoltresSeen = new TeamLock {
|
||||
Species = 145, // Zapdos
|
||||
Comment = "Rhydon & Moltres Seen",
|
||||
Locks = new NPCLock[] {
|
||||
Locks = new[] {
|
||||
new NPCLock(112, true), // Shadow Rhydon (Seen)
|
||||
new NPCLock(146, true), // Shadow Moltres (Seen)
|
||||
new NPCLock(103), // Shadow Exeggutor
|
||||
|
@ -954,7 +954,7 @@
|
|||
public static readonly TeamLock XZapdosRhydonMoltresTaurosSeen = new TeamLock {
|
||||
Species = 145, // Zapdos
|
||||
Comment = "Rhydon & Moltres & Tauros Seen",
|
||||
Locks = new NPCLock[] {
|
||||
Locks = new[] {
|
||||
new NPCLock(112, true), // Shadow Rhydon (Seen)
|
||||
new NPCLock(146, true), // Shadow Moltres (Seen)
|
||||
new NPCLock(103), // Shadow Exeggutor
|
||||
|
@ -965,7 +965,7 @@
|
|||
public static readonly TeamLock XZapdosRhydonMoltresArticunoSeen = new TeamLock {
|
||||
Species = 145, // Zapdos
|
||||
Comment = "Rhydon & Moltres & Articuno Seen",
|
||||
Locks = new NPCLock[] {
|
||||
Locks = new[] {
|
||||
new NPCLock(112, true), // Shadow Rhydon (Seen)
|
||||
new NPCLock(146, true), // Shadow Moltres (Seen)
|
||||
new NPCLock(103), // Shadow Exeggutor
|
||||
|
@ -976,7 +976,7 @@
|
|||
public static readonly TeamLock XZapdosRhydonMoltresExeggutorSeen = new TeamLock {
|
||||
Species = 145, // Zapdos
|
||||
Comment = "Rhydon & Moltres & Exeggutor Seen",
|
||||
Locks = new NPCLock[] {
|
||||
Locks = new[] {
|
||||
new NPCLock(112, true), // Shadow Rhydon (Seen)
|
||||
new NPCLock(146, true), // Shadow Moltres (Seen)
|
||||
new NPCLock(103, true), // Shadow Exeggutor (Seen)
|
||||
|
@ -987,7 +987,7 @@
|
|||
public static readonly TeamLock XZapdosRhydonMoltresTaurosArticunoSeen = new TeamLock {
|
||||
Species = 145, // Zapdos
|
||||
Comment = "Rhydon & Moltres & Tauros & Articuno Seen",
|
||||
Locks = new NPCLock[] {
|
||||
Locks = new[] {
|
||||
new NPCLock(112, true), // Shadow Rhydon (Seen)
|
||||
new NPCLock(146, true), // Shadow Moltres (Seen)
|
||||
new NPCLock(103), // Shadow Exeggutor
|
||||
|
@ -998,7 +998,7 @@
|
|||
public static readonly TeamLock XZapdosRhydonMoltresExeggutorTaurosSeen = new TeamLock {
|
||||
Species = 145, // Zapdos
|
||||
Comment = "Rhydon & Moltres & Exeggutor & Tauros Seen",
|
||||
Locks = new NPCLock[] {
|
||||
Locks = new[] {
|
||||
new NPCLock(112, true), // Shadow Rhydon (Seen)
|
||||
new NPCLock(146, true), // Shadow Moltres (Seen)
|
||||
new NPCLock(103, true), // Shadow Exeggutor (Seen)
|
||||
|
@ -1009,7 +1009,7 @@
|
|||
public static readonly TeamLock XZapdosRhydonMoltresExeggutorArticunoSeen = new TeamLock {
|
||||
Species = 145, // Zapdos
|
||||
Comment = "Rhydon & Moltres & Exeggutor & Articuno Seen",
|
||||
Locks = new NPCLock[] {
|
||||
Locks = new[] {
|
||||
new NPCLock(112, true), // Shadow Rhydon (Seen)
|
||||
new NPCLock(146, true), // Shadow Moltres (Seen)
|
||||
new NPCLock(103, true), // Shadow Exeggutor (Seen)
|
||||
|
@ -1020,7 +1020,7 @@
|
|||
public static readonly TeamLock XZapdosRhydonMoltresExeggutorTaurosArticunoSeen = new TeamLock {
|
||||
Species = 145, // Zapdos
|
||||
Comment = "Rhydon & Moltres & Exeggutor & Tauros & Articuno Seen",
|
||||
Locks = new NPCLock[] {
|
||||
Locks = new[] {
|
||||
new NPCLock(112, true), // Shadow Rhydon (Seen)
|
||||
new NPCLock(146, true), // Shadow Moltres (Seen)
|
||||
new NPCLock(103, true), // Shadow Exeggutor (Seen)
|
||||
|
@ -1030,7 +1030,7 @@
|
|||
|
||||
public static readonly TeamLock XDragonite = new TeamLock {
|
||||
Species = 149, // Dragonite
|
||||
Locks = new NPCLock[] {
|
||||
Locks = 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)
|
||||
|
|
|
@ -20,19 +20,4 @@ namespace PKHeX.Core
|
|||
return result;
|
||||
}
|
||||
}
|
||||
|
||||
public class TeamLock
|
||||
{
|
||||
public int Species;
|
||||
public string Comment;
|
||||
public NPCLock[] Locks;
|
||||
|
||||
internal TeamLock Clone()
|
||||
{
|
||||
var c = new TeamLock { Comment = Comment, Locks = (NPCLock[])Locks.Clone() };
|
||||
for (int i = 0; i < Locks.Length; i++)
|
||||
Locks[i] = Locks[i].Clone();
|
||||
return c;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,15 +0,0 @@
|
|||
namespace PKHeX.Core
|
||||
{
|
||||
/// <summary>
|
||||
/// Encounter lock values restricting certain properties to a fixed value.
|
||||
/// </summary>
|
||||
/// <remarks>Used in Colosseum/XD to ensure that non-shadow <see cref="PKM"/> are of a certain Nature/etc.</remarks>
|
||||
public sealed class EncounterLock
|
||||
{
|
||||
public int Species { get; set; }
|
||||
public int Nature { get; set; } = -1;
|
||||
public int Gender { get; set; } = -1;
|
||||
|
||||
public EncounterLock Clone() => (EncounterLock)MemberwiseClone();
|
||||
}
|
||||
}
|
|
@ -1,50 +1,7 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace PKHeX.Core
|
||||
{
|
||||
/// <summary>
|
||||
/// Locks associated to a given NPC PKM that appears before a <see cref="EncounterStaticShadow"/>.
|
||||
/// </summary>
|
||||
public sealed class NPCLock
|
||||
{
|
||||
public int Species;
|
||||
public uint Nature;
|
||||
public uint Gender;
|
||||
public uint Ratio;
|
||||
public bool Shadow;
|
||||
public bool Seen = false;
|
||||
|
||||
public NPCLock(int s, uint n, uint g, uint r)
|
||||
{
|
||||
Species = s;
|
||||
Nature = n;
|
||||
Gender = g;
|
||||
Ratio = r;
|
||||
}
|
||||
|
||||
public NPCLock(int s, bool seen = false)
|
||||
{
|
||||
Species = s;
|
||||
Nature = 25;
|
||||
Shadow = true;
|
||||
Seen = seen;
|
||||
}
|
||||
|
||||
public bool MatchesLock(uint PID)
|
||||
{
|
||||
if (Shadow)
|
||||
return true;
|
||||
if (Gender != 2 && Gender != ((PID & 0xFF) < Ratio ? 1 : 0))
|
||||
return false;
|
||||
if (Nature != PID % 25)
|
||||
return false;
|
||||
return true;
|
||||
}
|
||||
|
||||
internal NPCLock Clone() => (NPCLock)MemberwiseClone();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Contains various Colosseum/XD 'wait for value' logic related to PKM generation.
|
||||
/// </summary>
|
||||
|
@ -97,7 +54,7 @@ namespace PKHeX.Core
|
|||
|
||||
private static IEnumerable<SeedFrame> FindPossibleLockFrames(FrameCache cache, int ctr, NPCLock l, NPCLock prior)
|
||||
{
|
||||
if (prior == null || prior.Shadow)
|
||||
if (prior?.Shadow != false)
|
||||
return GetSingleLockFrame(cache, ctr, l);
|
||||
|
||||
return GetComplexLockFrame(cache, ctr, l, prior);
|
||||
|
@ -107,7 +64,7 @@ namespace PKHeX.Core
|
|||
{
|
||||
uint pid = cache[ctr + 1] << 16 | cache[ctr];
|
||||
if (l.MatchesLock(pid))
|
||||
yield return new SeedFrame { FrameID = ctr + 6, PID = pid };
|
||||
yield return new SeedFrame { FrameID = ctr + (l.Seen ? 5 : 7), PID = pid };
|
||||
}
|
||||
|
||||
private static IEnumerable<SeedFrame> GetComplexLockFrame(FrameCache cache, int ctr, NPCLock l, NPCLock prior)
|
||||
|
@ -143,8 +100,11 @@ namespace PKHeX.Core
|
|||
|
||||
// verify none are shiny
|
||||
foreach (var pid in PIDs)
|
||||
{
|
||||
if (IsShiny(tid, sid, pid))
|
||||
return true; // todo
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
|
@ -169,7 +129,7 @@ namespace PKHeX.Core
|
|||
var pids = new Stack<uint>();
|
||||
var originSeed = pv.OriginSeed;
|
||||
var cache = new FrameCache(RNG.XDRNG.Reverse(originSeed, 2), RNG.XDRNG.Prev);
|
||||
var result = FindLockSeed(cache, 0, locks, null, pids, XD, out var originFrame);
|
||||
var result = FindLockSeed(cache, 0, locks, null, pids, XD, out var _);
|
||||
if (result)
|
||||
return true;
|
||||
}
|
||||
|
@ -195,7 +155,7 @@ namespace PKHeX.Core
|
|||
var rng = RNG.XDRNG;
|
||||
var SIDf = rng.Reverse(seed, rev);
|
||||
int ctr = 0;
|
||||
uint temp = 0;
|
||||
uint temp;
|
||||
while ((temp = rng.Prev(SIDf)) >> 16 != TID || SIDf >> 16 != SID)
|
||||
{
|
||||
SIDf = temp;
|
||||
|
|
44
PKHeX.Core/Legality/RNG/Locks/NPCLock.cs
Normal file
44
PKHeX.Core/Legality/RNG/Locks/NPCLock.cs
Normal file
|
@ -0,0 +1,44 @@
|
|||
namespace PKHeX.Core
|
||||
{
|
||||
/// <summary>
|
||||
/// Locks associated to a given NPC PKM that appears before a <see cref="EncounterStaticShadow"/>.
|
||||
/// </summary>
|
||||
public sealed class NPCLock
|
||||
{
|
||||
public readonly int Species;
|
||||
public readonly uint Nature;
|
||||
public readonly uint Gender;
|
||||
public readonly uint Ratio;
|
||||
public readonly bool Shadow;
|
||||
public readonly bool Seen;
|
||||
|
||||
public NPCLock(int s, uint n, uint g, uint r)
|
||||
{
|
||||
Species = s;
|
||||
Nature = n;
|
||||
Gender = g;
|
||||
Ratio = r;
|
||||
}
|
||||
|
||||
public NPCLock(int s, bool seen = false)
|
||||
{
|
||||
Species = s;
|
||||
Nature = 25;
|
||||
Shadow = true;
|
||||
Seen = seen;
|
||||
}
|
||||
|
||||
public bool MatchesLock(uint PID)
|
||||
{
|
||||
if (Shadow)
|
||||
return true;
|
||||
if (Gender != 2 && Gender != ((PID & 0xFF) < Ratio ? 1 : 0))
|
||||
return false;
|
||||
if (Nature != PID % 25)
|
||||
return false;
|
||||
return true;
|
||||
}
|
||||
|
||||
internal NPCLock Clone() => (NPCLock)MemberwiseClone();
|
||||
}
|
||||
}
|
17
PKHeX.Core/Legality/RNG/Locks/TeamLock.cs
Normal file
17
PKHeX.Core/Legality/RNG/Locks/TeamLock.cs
Normal file
|
@ -0,0 +1,17 @@
|
|||
namespace PKHeX.Core
|
||||
{
|
||||
public class TeamLock
|
||||
{
|
||||
public int Species;
|
||||
public string Comment;
|
||||
public NPCLock[] Locks;
|
||||
|
||||
internal TeamLock Clone()
|
||||
{
|
||||
var c = new TeamLock { Comment = Comment, Locks = (NPCLock[])Locks.Clone() };
|
||||
for (int i = 0; i < Locks.Length; i++)
|
||||
Locks[i] = Locks[i].Clone();
|
||||
return c;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -31,9 +31,9 @@ namespace PKHeX.Tests.Legality
|
|||
// Linoone (F) (Hardy)
|
||||
Verify(Encounters3Teams.Natu, 0x8E14DAB6, new[] { 29, 24, 30, 16, 3, 18 });
|
||||
|
||||
// Remoraid (M) (Docile)
|
||||
// Golbat (M) (Bashful)
|
||||
VerifySingle(Encounters3Teams.Roselia, 0x30E87CC7, new[] { 22, 11, 8, 26, 4, 29 });
|
||||
// Remoraid (M) (Docile) -- 73DB58CC
|
||||
// Golbat (M) (Bashful) -- F6B04390
|
||||
Verify(Encounters3Teams.Roselia, 0x30E87CC7, new[] { 22, 11, 8, 26, 4, 29 });
|
||||
}
|
||||
|
||||
[TestMethod]
|
||||
|
@ -43,7 +43,7 @@ namespace PKHeX.Tests.Legality
|
|||
// Luvdisc (F) (Docile)
|
||||
// Beautifly (M) (Hardy)
|
||||
// Roselia (M) (Quirky)
|
||||
Verify(Encounters3Teams.Delcatty, 0x9BECA2A6, new[] { 31, 31, 25, 13, 22, 1 });
|
||||
VerifySingle(Encounters3Teams.Delcatty, 0x9BECA2A6, new[] { 31, 31, 25, 13, 22, 1 });
|
||||
|
||||
// Kadabra (M) (Docile)
|
||||
// Sneasel (F) (Hardy)
|
||||
|
|
Loading…
Reference in a new issue