From 7fb5dc2fdea0ccb58b8b9952baa3efff82c75e54 Mon Sep 17 00:00:00 2001 From: Kurt Date: Sun, 9 Jul 2023 19:59:37 -0700 Subject: [PATCH] Update go pickles, add fr bdsp chatot goof Nintendo + ILCA = no nicknames allowed ;) While we're here, streamline Gen4/5 evo pickles too -- trim out unused bytes, no longer need to scan for array length (perf). Adjust method IDs for gen4 so we can use the same code for gen4 & gen5. --- .../Evolutions/EvolutionSets/EvolutionSet4.cs | 66 ------------------ .../Evolutions/EvolutionSets/EvolutionSet5.cs | 31 ++------ .../Legality/Evolutions/EvolutionTree.cs | 4 +- .../Legality/Verifiers/NicknameVerifier.cs | 8 +++ PKHeX.Core/Resources/byte/evolve/evos_g4.pkl | Bin 22352 -> 3900 bytes PKHeX.Core/Resources/byte/evolve/evos_g5.pkl | Bin 29778 -> 5120 bytes .../legality/wild/encounter_go_home.pkl | Bin 108672 -> 113132 bytes .../legality/wild/encounter_go_lgpe.pkl | Bin 24804 -> 25712 bytes 8 files changed, 16 insertions(+), 93 deletions(-) delete mode 100644 PKHeX.Core/Legality/Evolutions/EvolutionSets/EvolutionSet4.cs diff --git a/PKHeX.Core/Legality/Evolutions/EvolutionSets/EvolutionSet4.cs b/PKHeX.Core/Legality/Evolutions/EvolutionSets/EvolutionSet4.cs deleted file mode 100644 index 898a4389f..000000000 --- a/PKHeX.Core/Legality/Evolutions/EvolutionSets/EvolutionSet4.cs +++ /dev/null @@ -1,66 +0,0 @@ -using System; -using static System.Buffers.Binary.BinaryPrimitives; - -namespace PKHeX.Core; - -/// -/// Generation 4 Evolution Branch Entries -/// -public static class EvolutionSet4 -{ - private static EvolutionMethod GetMethod(ReadOnlySpan data) - { - var method = data[0]; // other byte unnecessary - var arg = ReadUInt16LittleEndian(data[2..]); - var species = ReadUInt16LittleEndian(data[4..]); - - if (method == 0) - throw new ArgumentOutOfRangeException(nameof(method)); - - // To have the same structure as gen 6 - // Gen 4 Method 6 is Gen 6 Method 7, G4 7 = G6 8, and so on - if (method > 6) - method++; - - var lvl = EvolutionSet6.IsMethodWithArg(method) ? 0 : arg; - var type = (EvolutionType)method; - var lvlup = type.IsLevelUpRequired() ? (byte)1 : (byte)0; - return new EvolutionMethod(type, species, Argument: arg, Level: (byte)lvl, LevelUp: lvlup); - } - - private const int bpe = 6; // bytes per evolution entry - private const int entries = 7; // amount of entries per species - private const int size = (entries * bpe) + 2; // bytes per species entry, + 2 alignment bytes - - public static EvolutionMethod[][] GetArray(ReadOnlySpan data) - { - var result = new EvolutionMethod[data.Length / size][]; - for (int i = 0, offset = 0; i < result.Length; i++, offset += size) - result[i] = GetEntry(data.Slice(offset, size)); - return result; - } - - private static EvolutionMethod[] GetEntry(ReadOnlySpan data) - { - int count = ScanCountEvolutions(data); - if (count == 0) - return Array.Empty(); - - var result = new EvolutionMethod[count]; - for (int i = 0, offset = 0; i < result.Length; i++, offset += bpe) - result[i] = GetMethod(data.Slice(offset, bpe)); - return result; - } - - private static int ScanCountEvolutions(ReadOnlySpan data) - { - for (int count = 0; count < entries; count++) - { - var methodOffset = count * bpe; - var method = data[methodOffset]; - if (method == 0) - return count; - } - return entries; - } -} diff --git a/PKHeX.Core/Legality/Evolutions/EvolutionSets/EvolutionSet5.cs b/PKHeX.Core/Legality/Evolutions/EvolutionSets/EvolutionSet5.cs index 6235f32b7..1273e2792 100644 --- a/PKHeX.Core/Legality/Evolutions/EvolutionSets/EvolutionSet5.cs +++ b/PKHeX.Core/Legality/Evolutions/EvolutionSets/EvolutionSet5.cs @@ -13,10 +13,6 @@ private static EvolutionMethod GetMethod(ReadOnlySpan data) var method = data[0]; // other byte unnecessary var arg = ReadUInt16LittleEndian(data[2..]); var species = ReadUInt16LittleEndian(data[4..]); - - if (method == 0) - throw new ArgumentOutOfRangeException(nameof(method)); - var lvl = EvolutionSet6.IsMethodWithArg(method) ? 0 : arg; var type = (EvolutionType)method; var lvlup = type.IsLevelUpRequired() ? (byte)1 : (byte)0; @@ -24,38 +20,23 @@ private static EvolutionMethod GetMethod(ReadOnlySpan data) } private const int bpe = 6; // bytes per evolution entry - private const int entries = 7; // amount of entries per species - private const int size = entries * bpe; // bytes per species entry - public static EvolutionMethod[][] GetArray(ReadOnlySpan data) + public static EvolutionMethod[][] GetArray(BinLinkerAccessor data) { - var result = new EvolutionMethod[data.Length / size][]; - for (int i = 0, offset = 0; i < result.Length; i++, offset += size) - result[i] = GetEntry(data.Slice(offset, size)); + var result = new EvolutionMethod[data.Length][]; + for (int i = 0; i < result.Length; i++) + result[i] = GetEntry(data[i]); return result; } private static EvolutionMethod[] GetEntry(ReadOnlySpan data) { - var count = ScanCountEvolutions(data); - if (count == 0) + if (data.Length == 0) return Array.Empty(); - var result = new EvolutionMethod[count]; + var result = new EvolutionMethod[data.Length / bpe]; for (int i = 0, offset = 0; i < result.Length; i++, offset += bpe) result[i] = GetMethod(data.Slice(offset, bpe)); return result; } - - private static int ScanCountEvolutions(ReadOnlySpan data) - { - for (int count = 0; count < entries; count++) - { - var methodOffset = count * bpe; - var method = data[methodOffset]; - if (method == 0) - return count; - } - return entries; - } } diff --git a/PKHeX.Core/Legality/Evolutions/EvolutionTree.cs b/PKHeX.Core/Legality/Evolutions/EvolutionTree.cs index fbbe0aa20..c51cb6d59 100644 --- a/PKHeX.Core/Legality/Evolutions/EvolutionTree.cs +++ b/PKHeX.Core/Legality/Evolutions/EvolutionTree.cs @@ -14,8 +14,8 @@ public sealed class EvolutionTree : EvolutionNetwork public static readonly EvolutionTree Evolves1 = GetViaSpecies (PersonalTable.Y, EvolutionSet1.GetArray(GetResource("rby"), 151)); public static readonly EvolutionTree Evolves2 = GetViaSpecies (PersonalTable.C, EvolutionSet1.GetArray(GetResource("gsc"), 251)); public static readonly EvolutionTree Evolves3 = GetViaSpecies (PersonalTable.RS, EvolutionSet3.GetArray(GetResource("g3"))); - public static readonly EvolutionTree Evolves4 = GetViaSpecies (PersonalTable.DP, EvolutionSet4.GetArray(GetResource("g4"))); - public static readonly EvolutionTree Evolves5 = GetViaSpecies (PersonalTable.BW, EvolutionSet5.GetArray(GetResource("g5"))); + public static readonly EvolutionTree Evolves4 = GetViaSpecies (PersonalTable.DP, EvolutionSet5.GetArray(GetReader("g4"))); + public static readonly EvolutionTree Evolves5 = GetViaSpecies (PersonalTable.BW, EvolutionSet5.GetArray(GetReader("g5"))); public static readonly EvolutionTree Evolves6 = GetViaSpecies (PersonalTable.AO, EvolutionSet6.GetArray(GetReader("ao"))); public static readonly EvolutionTree Evolves7 = GetViaPersonal(PersonalTable.USUM, EvolutionSet7.GetArray(GetReader("uu"))); public static readonly EvolutionTree Evolves7b = GetViaPersonal(PersonalTable.GG, EvolutionSet7.GetArray(GetReader("gg"))); diff --git a/PKHeX.Core/Legality/Verifiers/NicknameVerifier.cs b/PKHeX.Core/Legality/Verifiers/NicknameVerifier.cs index 9f5d4fe20..2372d3d03 100644 --- a/PKHeX.Core/Legality/Verifiers/NicknameVerifier.cs +++ b/PKHeX.Core/Legality/Verifiers/NicknameVerifier.cs @@ -412,6 +412,14 @@ private static void VerifyTrade8b(LegalityAnalysis data, EncounterTrade8b t) if (lang == 0) // err data.AddLine(GetInvalid(string.Format(LOTLanguage, $"{Japanese}/{German}", $"{(LanguageID)pk.Language}"), CheckIdentifier.Language)); } + + if (t.Species == (int)Species.Chatot && pk.Language == (int)French) + { + // NgWord disallows the French nickname (Pijouk) and resets it back to default (Pijako). + // Let it be anything (Nicknamed or not) and just verify the OT. + VerifyTradeOTOnly(data, t); + return; + } VerifyTrade(data, t, lang); } diff --git a/PKHeX.Core/Resources/byte/evolve/evos_g4.pkl b/PKHeX.Core/Resources/byte/evolve/evos_g4.pkl index 75c68458cab747d9aac9e6f315e313a1deb01883..a5bc3ef0be7b6a7527cd4ed4b2e610ef2c5c37de 100644 GIT binary patch literal 3900 zcmd7Te@xVM9LMq3S1-H};XDtx!`pGdffvJtMoCi((-g}&G%PA}RHo#QqD?0?Yphwa z)M5=678WZiGHR@_tl`Fr${ZFM6($xlYq+ej=8QkA^?JX3-*&sjAN|+H^B&*#=li|y z{rcXqzT|hOXA&SCVg1%19kxd3s5M66zLcAKEI$ofQ7RQ%rBo`j%BfVrs;p{SW7Sfr z&Z?(U18Zc>tj+46QkT_DrCzI#N(0sqmCmqHYmDOZOS!4X^3$*trBX2~waTcp%&MfT zt+iCzWNo3+c54USZ8gyrtBpz>Ru`4J6YAyMXARIHc7~m^&eMy`m3*lb8q3FRDaaym z6>&ShD$em$bFQ&!>3G#~UwuLioExoX+G@4aPU{erdaNT<>W^!X+tM%_VWVt}VKOgE z%R~Kfg}EJHlyk9FO3SQrT9Hr{XQ?`&8qTq5xh>U=Q$5!ktVSv|vsSB}Cf3QdSckYR z^~5#6ZE1*|Vduu_Jl8M&ORf}N50;Mxtq3i$N~ko?DyJ1z6_u)4ja5tQta>UnSdFyB zYNJwz)kV9lBQ#b&w+F3ZDvhvFHkJ^k@bkAkRPv8gnCnrim`bHq8I4uW?N}AuuCl7B zR5MPsT$k#sdMY(ojZ|t*sFkzS&N>r1#JSh%qXX73O>Bf~qt+Nj>VM14<2{z2hOHZr6MuHD>@)x>S7#cHFmI=C%$CDhGX>ScY_0F{Q=8FntN z^W45@xzhMOuzXYsS`iwnh}%*LoA*D;1rH|h<8>j7iK+*esSzaEEdSnIi0HpK7bbx} z2b`0^uMnN2mxs)JS)9F?YR7w3AADwpngKs`;}&Gu98^6B>G}#}+ni%_t{G8RqQK@T zbs+70(mR33kc&LJ#S1Gt&W{g&w*#d0;D&r#0(8P65s zBLe~U1z(Vh@5CxSCKtD<1-PBMQHeWs4&W{-=Ul^*a2EZ#o`t*BAnsK|xR1(nT5s$3 z({voem-;w)ctF<+QA?As!0G2Y|L}(%cL87NabaxL{lDTD>Ou~-QF%TO>-t#?s5dyr zd3+KUI$!Jke0ZGe@_B#jOy}))j(q+*^`1}ib|o70D(uy3@Dn}9MZOw&j3{=Qd(;q` z)H&FzdazFo<9Rg|Eoub&RWDvrLuggg@UrSdo9e}DY6jZX>3EaMYnRVK%rj@0oz#tu z7|_=iz&o5>y!yM;5Duzd95TDr={QW&anxz&{p8B*(fI%7=GrgI1Vuo6 z@V6t`nZnx?M}9vh>%L@6QB#pd<=XPt?A3V{rsyYLwqDd5?1V?GVFQtma{yl!SA@-a>}fpcB;hC2a$g8rbl+@j zReji|&P1K+#SS%$C)8BzR3m6mJ$TCIUABLZnv18^G&HKoc-H17HH5u%0-x(#oA;S7 zP(MGf{Z1xtUv&Ju+FNyB7G6;Uc-4-5T@B&@x9#@RRlz(`J$#d+{^;~?UM$xP0<5M*opVJKdh|_wWDEc`61D$}K A(f|Me literal 22352 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 Hsla~#exb+q diff --git a/PKHeX.Core/Resources/legality/wild/encounter_go_home.pkl b/PKHeX.Core/Resources/legality/wild/encounter_go_home.pkl index 71d10bc0d8983d00eb6cb828a4599737b61e6154..3c3e7d41361823a6da6f8f5c04f870b5faf36572 100644 GIT binary patch delta 17818 zcmb804_uT*{>SHwD7Y?&y15PMJ)++UPqnRtsNDX8Fl1Qk#U_@)Y-*#-reu>?9B5#Drpc`1nGUfs;z!t|?KCs3!RsbqN2XHwUtJWCDm~TAlOF+E|tdylsKqa7d zB4eE(`BKJuLAH~z6QJcX#&RYx#x7^90W>EvR(Azs2a}L@GV+3S7oGu|0s(=2DjEkT zK$Wb7z7vxu?W#f&8^fe@L{5Xih91wju;U5bi8)-nhPs25pgJGifniw7m>V<$`<)ODqD#AngIh93@a2hFt`0O6WoZu`7-i-2~9h`j#`F;T{ zZ9(~mp$XtBM_V9cE3^#qA3+6azl6F#b_HW8zk;y=H#h+@x1k|W4_d$(ko73k4Y~oV zgaE(=GC;?62)qM%Ko_XusH+Nbk1u zXrl(wg1RTr*dD|^i3&hUErbR2Aa*appbdmRg)k@wwZQf?1Oi7udL0A-H6ZvIjK3Q{ zXF=UQ6b9YEwjWvn*`OKtKt(+o1?A78vI8(yQ1Cyf=pbgyA;dk0JfI!88^8-F3mlEe z2U)9(+#8^LmX%W*>7U}&%TK<{v*`d3JKpr18<`j zp!FRH(S}T*5ZI2R63_us--Vzc_&t;XM}hqWdJ4Kh^7}{!StlVhXa|WOV5mS!I|Ta> z<^BY1l;Woaw1c`17!64H7=?iC6ek>PW;%vf;7POH8S>K?7l%yzJ&%r&foD2nt|gi z!XV;1%nsoE2LuEq-=n9!5E|5gb0FuRs0+mY09yh_K0L?9n%7=f}QONrS>5o-h4He%f%FOpa#2#!J+w1bprQ~)aM#EM6w(imdR zpl}SKiwJ|Vu@DGE#33JG@x)3%BVZ1+F^*X6CCE2{SQT(hBvx07AN!?f2sDFUkm5up za1;bzMl2Ilf-aCU2|WPyVBzHu091iy&;eK?u>_C@Vy^&6C=0SCqfQsJIR$lqJWvEm zecHoR6r6@iKpW@;y&yE1SR$wewkx4#Pz#zt@N{SloCTFvp@9^1WCn(3CVB?4Ks{&y zsaInNQi&a$jmFcUp*cvOORQ%um9nmR=vg|Xn~(oN_D>-IIFSMAuR|e_wg}_B7;0St zVKX5JXau3x6UzY&;2g+U3ax>NWylMTg0w6M0$M>E=myRkU{9d_28@5ijTlqV36hti za?k--HdF~xK@n&KYy}E}D$oMX0Q*Yx4ithTAoL~(1+P^mPzLHjE9eCY`DhFr1@=3jF;EA3!NRp@929^` z&i?1ErbkppLsCO(8S^YQY&$au34bDCh>(_2?z21ofZ=bb*MU zqe0LBf{V}rPy`MF+r6j<)Pkd+8#p$gQ=k!?-GK2=ybscX7Ql+pJCFeiKr^u44?_XI zjZp0a5CAwzh`B*0sM>`5Zj8SNjc>;AffK;`5CjG-Ag2u40olL6GjMLfta=#3UXJl^ zC`SR%3l?t0P=NGD&;wBROGpk5`lz-CNC6oj8{~sxP!6g={Vt4uGXg%)4!S`v2;GeefD@#E43G`-K`|%?)u0|U zgC5{~9C<+o$OieK7?gu*P!F1c543}B(EB*XKePsofdbG1tWRL9fDPC|EO3AX-~@@l z1#f%O?Q2nsOl+W0_TABMQ92nf;>Mgt%V zxIraIei>oV3Oc|U0C8w=NM{J+*AD+vOvKrge&hWi@1%(FG*J4| z5m^JJb5}&Fw|k^@pgi6mMkNlIo*3COQ2GvA9FK@@8$e2aI{NfL$?w`rhYvyLf!i_| z9S;xToso9#jBXyN*!Y;nU`=)WqnM3Dr4AVj=Of01IBo??We9t&L-{wf>t&Y|t z*^+53W;Ux87KMMFprN6k_(Sd>Z{xVxG*Xs{heSa`Q6bEa_l_@+P3K>7SO&%?)T(a8 z^1Cj1K}K$xkSYVOPRNvjkrNNdK+D8JtKRK#TDRQJIKJ}IESdV^r9K(hmB|T1!eL<}Lil3WV*ePqeca_zx~O$ItTGv6XMvVlT#IGF zkyF%2ZJd&8F$bJ?OsPC?{HOA9(^e}rPUZK^jpnaTOH|z&j4nwd=ZHoR^pj!^vgm8B})9M)tOB*r{Lb5wgl=xB(49pPzL zKB6iQtcAB-=~j8oN_h5krL~Uf)w1)&R~5>@nX6Pxc}hW8ur5y+V>9`0W<=Xa#dvJG zQF@45XQUf*AtldZmf}Zd*zNrlN!3QQcKdvLB7oA5+BJIlGL0R8FnhAauJtZDO!y61;FuRQUY! zbySfy-bmvk=d9EpV&qV6n-dqIrX@5yTGO(HH_mZQ(IoZw{JRrs_Ry$dpGmW$P^9!N z!q@_SXvsJpF;BPN^9-zTZnjdU9_?}Rwz;u#Deak?tERJ_>ULg-`5-!TDUNTPSJ%g8 zJ+ORlLi#qE+;>LUf<6z41s+Re$mx(+;IY^TeGwv8@`ad)%P){aZzWUHWZit1$`CMX zI_B?DtFi@MAL-YTwmO&=izG0QCGAJ2axPR90EXo+SN5er^db2rfRmhgMT zYSm+NI-ow?)MW`aO+g`;Xda6dzY+eBmLpU) z4z1NJTSNK+pRz12s=pFw%5}q63DQb*aooQCddQP*++^$xZf$Qkc;omH7gWmsc;f>W zbCh_-a+egkWcgCH;^%3dY01tvl%L0^tXM8{)n%8-K;nuV8K_txM}U92qQ@WOJ-M=y zWZK%CgEA0v^TH6NFTVGu(Y!Thf$F-q_2#9z_huSZEc7)(I57_Oi_zgTuM8 ztKX$bni=opM_1crL!GNP%D}2yUP%~OVT|34;-d0OO7s`;F1&TFl6yzqY1O9abdrtl zxJ_-(iEA=s^~Gxz`)8iVcY%g668 zk!F&v^%JEaE7z}+f!6h>WZ=1HU-R=j4SU?m59LSm+Iy8tW!<2x z?8pXH*Pi<_WnJIiCkM`3QJkyqn&wjOJ$t`{Qsjg*#WW{}?j*P^BdwqM_ZUx5=&;jr zw+Z5|2ac4=!kW*ZIYsWUq4?D%ygN*r@|r5$VbS=F@rSgX*KgKg@)Utob1sHO!r<+i z(TBz2*MGnY3)Y7{Y#2h}ngN83#BZcOG3FR z&&myMttUy1Y8Bu6;Acjp)ZWR`2IH&;qi)&MX=Ko?tJd?#G77>n=QJ%l21}pxicGyQ zCNSCJ1}Qa0*#>>?SL0^;pirq$kKL%@ST+CTp=j>joaNA0%U#&&qlbJFGI-c0m|wbQ z;|b#hoAZq&m1jS+LG6eA=IwlFgY4MKvV_1oHkGZ{`_o%iuLpC>;=;^^7~3O-+MaH>Er&L|e;Y7yQ=pd1|vZx8-N} z$K~TJy1~LT=_nr`@VH~^B-x*&t;I5MV5>R}eYsW60PpNaI@HvTt61gFuok<}$VRy0C8y=afp}f%9fI~?{dh%xm}Yc{+OcZY~pTpV654#ba`sGT5vNT zPnOk{Kc4*KBsu!{#8}zxF=iPQ5hRc99^<^jht#ag&?o9Kyb!xEi^pg7Rtsro0=KQ- zepl6`|2VNaYi_yh$Eo8O8_vIeGM=w}!ftdVq8};wo+t8@K^|ix`Q+V~@T5JN$}2j? zMh)WDU2%Nh9<>6T-E(l5+3iT=k9QbrnC}>i>aU3}pL9y~N7XtFVMh0tb7k$qQKr@m zUGZmXe=Tds+iTt*wfZN=sl7$YLUgahZMdIqV|HlgbDsTFy;AeQS$XKwv9dYm)7{G6 z%_FkcUT38VKgK;h&j03(<_n)$uhfZ`(~PGbaPppK&dU0`_bJ14?7wCjZh<_c-!o`8 z9e8PtTcgt(?8}i+{kMcf0UK!0}pRJS|R>QMNYA4YOYU``p(zo0E z%V(wg?oBw58KkxmbKx@k%r_oPi7}Q6GC~ltUF%fNp|rkB#gIcg`$io&6eqjgdT6QI zI69bEFpK`-kM=sApD!0_@7fnu>E{HIIhkzUPhSkyk6Y$N6dFF`T`bGaZp zf;T#qzx`6UUj_X;tc-o3iGJ$vR33BqRVi499@x{gS=O7-ytc0sg*^#gxpqLUf4N1L zD|n?_ZGL{|*}Lx7LxM(}zjnHP-}ASQ?C+x!@61;-$)b5cgEjBQ!rPA2Mf5G`O=}5N zOXoXIt>w|)(!4)6 zzwV9gGP?2)vw7PevgCu)*Qq9wmQ!AM@`z)H`#CFnTaO(M@{5T}C2MOYZ*Nsc2FF`# zWNnYUwNvkh^Q}0Z{`M*vzwhlr8HjnOSQ&$zU<{qdx2VU_coc7^(P=*N_!gPB=D6&& zXicMTzVtn1qebtjsd@0dw`ImnC-imEp zmQbs{WrYv!l6wz?_SSr4+&pXhy}XG;eCMBr1Wl6WbN)IbFQEd@{Vq+Tg{RcOW}T8M z_xet)Rf0_K?D4C?JL!`&6}9fum1_9S*~{BL?Yc1X$Y(C8?Vit+{+(Tul+!blU(q!| z4dm6@K>iRz$}&SgS59EY=NX27HJgv?iRKNTAF$}Fs@vktIh{>b^BDu#_{B%+<|nY5 zbNEYNd>AEF5*R-hYTWUq>V4Z^T*evy-+x)I4|dL%YX2ztvRkdH{rZV(|5`jya`#_1 zjFtlQQ(BC>hA!h3XI4seeR)RO9xwabVHq>~t9K1eEa9`hzJ#ZKU1G#6<*UC|_ZzW2 zo&FL#zESrGo4%Q(26=S^I8AhYMgw$4gWE&0#!P^X|&Y( zUunu!lx(QIkiYd`>GD5TNYclBtcot22f|IHUxk}fhOwrUAaalz9W%j><7g1BR<(9F zXfq>sFl{!DYVI)6Gl*7MbTh_9W8d_)V0y&gb+KwNl?^w2fKVJ-hx5trjNUnfQUhy9 z9YTB5AO@Z}MCTBy@3Vf1ogs8U)}9_pPbrfzZd%9)S;U!8(oa@KY+!ojP%5z+CkFIZ zSS_T#FEQgqm4&hw%eiCtlNQ6Dw8ZFl2o?{t6*ffPrhB5ygSidbgnPg?8=GxY+%TFg z{S%QJMsk*km~isx)4t&kHgPVTYMtaAP+$=;vEXhknfv@!BU20SKSaK@$&Wxu_S$JDKt(Bp3@${712kOKz z2aS=@M;&S!iEanQ4%bXT6HI%Zx(_cczIIS#SYYIS@izxWpOhG+LTi-BPfeiWQGFdZ#-10~Poyzw49s~VGAB~(g|S5wNqREk zqU?_}^T# zK<*@(J5#fy|Las6VbO05hXg6V13soWGKm)Z9TpLOIeMmfL8AV0+SYfaNKd50ed9u} zpkDu);W1tUc#M~NSj!@=pjXAwBz2`N&L-&=wO}&V%E5m7Z@Sw>zaQv?BW6w`c?b~a zrcpyw|1W98bIEj4S^+-1lnzQ$%av3|hSJ{^t5YbNyY8%$z3g)@Epk)HyqIoUHG_7` zokpCSNo}&~wyUX3xj8sr5l?#h(>}8pD|*H(>QxJm*ZKScT=V5vW z-98eZETRcguv3f3sbm=>rYxp$f#qC_&nq`r{Aw{x9;o3*7L)Gh^(Q!EAwlpY(iTvh zcykG6m%q1BOQ=G9i!-#JUuhTsobdgOUEZf zXiIH1V(e1dKY(BS=Uj>x)yp7t^D@dd=4FI1>%(uvfY$nF=>h=F3jD=TL?!WL!zo1o3eW&GWA?a&?z`puh*xsebioqBzCJH|u+D z`_1~AaPDR*Q%jTn`pRt)<*VoswYwP37xv@J1+Aje3$xe$jPws-0<#NOF3BUhcqNz0 z0#2v$GK;avFp9C%6*7D%-dy8+(1p(d5F)W2qu@FK$3=wq9`Mp>Q5mnKH6QC8Q~yN05qBj@q`L>#)ERx1;l zFZSlsC89Q;4*QpJzivq2%XN9BCJx*|DdF16AX64-`*`6Uu&kK1lrk(JL9Dog7O7en zh(mYKm4Ov@uB9}ii;Kj#2XrlD+)1@&99N%Fxcw{%0A+P?4tHA!_77itD^lbDp2;IU!%hJ2yik*);f|e;5@$m za)^#~0gKR$;^TE{5o)Twn`-pWH*_x=Z(a3`5ECZ5>502Z44h|$%%c|9{^}7Mi%4FM zh*yeezA>Y7#DhgNLt5__SKZIZ>E1yT$Ak~Iu$h0zpx!E$8?Mck&__s;Hv9L*th6w#QZJ#x$BiJG*t@N zqo+2-Jxtrw7~sz?^bcYLhE%jvkWIMDm1o_Qxs|F1g_)-f{DGMGO$A+k-giPxwqIeZ zjMK&N`1CpK9%O`UB6S;0|G)ASZBrX+(~)g7JMe=U?IWYWw>*a{vBnMH>NLe}A2@?Z z*`aUV?j8Da+lr8}a2*oIchEfJ@j0=Vlf1|gHC&%ECpdhFG5E6B?R!Cd$l;C3hZn`( zDs0PzRTMn7@4+I_F1=>H3%(LF^NBr}3SrtJC9RyXm;B}Yx0-sCXsaUgO>>htUZup{ zpZXZ7;ZEC0`K7t`uYsGoKlILyW72PZby?T2N@18S@8mm!NUyMQj&+%Q&k0RO}Ns zSJMQm;f89{GPfFDrn}m39RDbGA&;D3UsY3z&1lqI*DYe=E=o!0FNLvpH07w}%VQU- zcF|P-y{C2xdKYQ2LHfOmKEK3syJ)_8%Y`?F{pP`)j^lCc+w*smO>NUB#S6P=o>A_D z0n7aZ<;F;ND&U?9E3o{2@k4)I*IYaUV;^0l{($Pl*2n2;{ORwXu&!O$O^>hRBJm$z zB>q%DyxXu}x9`sviSLAnL&cmLx@VcLTaWMaAY$Qz`s!SZ54uSFpnl^|i+|T(0XSDf zZ(gud>n~H`IJZ7QFRE?H+{w-Kzrf3U=Lve=KNfCZe_8%2RzC@+F84{ATB;k8n|jc< zVT1K#f~6FJBl1tg zkHRvbwIjc<&{j>4?}v-T|Eu44vAdR%lm}osXrir_T-h`TSNG_N_ND=!*Qq{vY(W=^ z4;duST~Z?4&LW?=FKZ#cPHa2(l6+&)#h#}q zr8E?8aEAhqMH_89@R;v&{UIrdc53#AqGM27lzu%M9b?Eb2Jvz5Cj5O0h>yKU{;`O+ ziYZUyFrD}`)yhQ;eBVk zBog=O+i%f6+Trx;@z^Fv5DH7MXx3o7kCq|-kt9yU?57x;{`MSSm*WtuQj+&m)&(!p jx%E({=-yA$ZMubf0={JsarHDyI~kn+6^6*IC&&K+uS9-Q delta 13430 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 DCI00+ diff --git a/PKHeX.Core/Resources/legality/wild/encounter_go_lgpe.pkl b/PKHeX.Core/Resources/legality/wild/encounter_go_lgpe.pkl index d6e57ef97dedbeda3923e8def390ed35994f0e94..f6627b193ba64bea9ae93302318cac5c3aa03f40 100644 GIT binary patch delta 3485 zcmaKuUr5{M8poeR%`g7^B~3KVpBgo`X=dBhrE06w%vxt%>e9@rYt_2Vjj}Ti!Q(ln zlyc~q$<7YQC^GiS=!GkugN#y~NE1dc#&Bbdu$AG(E_P9hJ7jG+ltTx-=!K{3`^)nt zky>)`(dYNP|DJ#E^CtVX;bF!w^M^lOr&S}-yJbXe?Zmd_&r1sFbnR3@GhbyunzpSL>Iv=(B>t&2F!Itm%u}CxgKL+ zqyh8566o>GV4@FJHWEd5;~>zq2VVP$Hh_CCQ35OjEdYZ+223=;3-A!6_d&Ox=-dJP z55kdy*b6Lz2jHV-7zjq6M^r#01P8z-SeR*nC9Mc0NVE~%1lnPQ9BcsX2s{V=c7zOs zJCF)6`vMLFO`R|bEOmh}Jbw}UfMr14SO+3tUYC!;NRaNq_c5H&OElB>5>ZDV@(w1B zBTW4We*_T$OW=bO7#jeuAYWiIN@P2UjR3`v|5u?KM5Im;eF@@2@N^jZ5zK!L-=`6F z5Ih4J+yv$^7zhT(sg(xLLYP1(K>6#i4EW!`!C>%B6xAfc2AbZ2$8W=sb7IA~xXV^? zPf28|lzWN=B-C2`ZOBPtr0hnC;gnXc8A^8|Rrx)sA`;(P0w#StnGvg&o!XWmm$0`V5Fx9ZH;P&( zSXj3Hw9R0T`JUnh3017voMK_e5iu21#oZm>wD94@WEZDu+6EdGQPNmx{v{_RjA#G` z5wj2QQBM2&EG*db?&O86eU67NRJTaGs)txG)+}21)H-8UF_vXT(&7@|)m&6Gz3^1K z=yKE<;rpl~u~j7=IX>ha-rt#FA?BQ7Va>Ug7u;gO70JhJ(bXiX-SrxuhpVF7zv_0F ztjMrk5p!;DZfYVUrrn*q#fsZ$<6(py?HT>WAVQwJ&z^HU?LCiQbr$j=mOKMnKOcHx zGKsC?H_u6x4L}Dn2y5*dyu*`S()#IInY;Dc=|Z)1i2wUsV$wUplW%&jurN|L%fd!o zoQ1*qGz;d22^$}jw;u_QH(YQ(tt3K^GPq1)J?s-!UuOHN>4ti->Fbk~WW}wp=Wd1v zf9rFS=x;n%VmP(hIF!Gx&s-jDtQUbjN7(YoJ#)DbB{S%Ys4&0VCW`?j;mMVSaQj0% zIqKh4{q!ixCGL;$_*Z^TQ7W+al7Us91^T6rMkHS0X7(u1w_Vxu+>Pq(;YvMz&S-ds z{^Nb~e881`UpRG}lB!)=oXm9*iy{X1&li$9ERtc_8GHvKyfl7bNR|hBxd9imUs!{; zN`zKy1miww<1-RNG_LRS{1SBC=m^Nk`(L=rlO3J^mYv|Q zNPeTZ)47`m%DZ}V5lLpYd5SQKXjhL`>@SGmWeP_6bcYDw!8}55yZn&v* zcqDIlx9pDV-M4x6>d~KAnC;n=!m%(5nPc}^NcVQtpb+>)-0~Y>{n&x>-%#PuSLb>e|FAkq!_2Xe#mz^VA)Ts|fdJQ#vu3lTlN}OvTsuh1e{VA`R zI=v{9xEIQ!A~L!n7r68V2)Ax%AU`Hs-_|j)Ioc`J6@?VTxA53#J`M%7SQty#pSI_) z_;hSWPAys~md8igMDyA2rHN7T`S_XqJ8e5VC6*@U3NQSaBNcu94yQHM{O0-mqf^{6 MUp#mWuT6%32Oqntvj6}9 delta 2689 zcmZvcT}+c_6vxk7%UVi7K8h`0r691PwRTt#u_7R{ih#f>AVVOAY-B;lBH5T>qb$ot z40Fyyj2FZ(L!2?pG?Xk}kOenlIztwgn8gd@P??g2EnINn1zGlQpXaShwu@ih^PcBC z=Q-#9e5{9*l{?Dt+wb0_fQHDog~+HSa>o$SD@1ExOiyHwC0Ycl1|m}&Q5~2EFM!KP zGz2EW0`SEX^?_-y0JI52jUWIfw!)W4WJy9iSOBX@G)#lZ2msm?q7Y~^5p94^Q!#lP z(E~7H#uzYJh)O{}SOAtZB0rb{>!3QF=n9|=q5*Ipcr%ISKwB2ZfX#|H&<~8+!>BkL zm4Hnff^$#|uy02 zYD9x>NWl>dPt?Xe))_QUbR!177;j=t>}556CN`S9&+rld82hCe{W5pU)|LPAD3b|e&| zTh>J^B}Mal#PTa<{?@XS6SrE#B*)ecVT^6Pua*7@!iBloc8eAMx)H9 ziPb+A`Eb#BKB+H zoThuK)99aKtMrByT|5{uyp&2~cq*k*H3*B&qiJR7BFX=74H;mvew zSfZu$+ATyy{9#7DDD(Y{Mq%8`=n+Oy<{6_}CGMlbwk%)NfeWedQno4V6ybwe{lZww zx+08G>!{lGMXQIKvz_X1Teg*_vd2Z3$JP-|3t1F)=34ol&8P0ZE9WoO#7MaKy4-5j zb2GO`nnC;a=IHGRAjM2xi7Y5j9>|aLt@^Z>=Q=+G;pu#r7+%g#*9mVef91?!XMsEg zodrUP;N5~DMa0(FYxJrnJYlbX`Lk}1Uenn^jUpw-6QQunaZ$|f-uay-EruNq+4+J) zUaL)qyjI>_;@}0Z?y^LiS#tKN?Y8VL4GVB(_mmcohQi;wWRIV@^8S5A;8$hYbiEbL zH0H9#sfTDJ)Wz?`n0dD7S6OU#M0|Hmc!d{xa@pywVZU3dH0zdE!cg2Uy6G*J8~(6( zhwvCmLgJ)`dikW?%BPX4Q~qbF|6)o*`??$`z`&pCl8qf@ zsyWfo7G2cMS>0yNJlPxd6#vIl%S~OfFn{Mgxk^{Nn$A^e<;AW?qRw008{&8bub&!- J-ZgiR=O3=DOeX*U