From 7a4df80f891c0273afe737a62f93eb8ad8a0d69d Mon Sep 17 00:00:00 2001 From: hedara90 <90hedara@gmail.com> Date: Tue, 23 Jul 2024 17:55:07 +0200 Subject: [PATCH 01/38] Added Ogerpon Tera Sprites (#4996) * Added Ogerpon Tera Sprites * Updated references to Ogerpon Tera forms * Fixed back sprite offsets and color indices for Hearthflame Tera * Removed Ogerpon data duplicates --------- Co-authored-by: Hedara Co-authored-by: Eduardo Quezada --- graphics/pokemon/ogerpon/back.png | Bin 487 -> 447 bytes graphics/pokemon/ogerpon/cornerstone/back.png | Bin 582 -> 537 bytes .../pokemon/ogerpon/cornerstone/tera/back.png | Bin 0 -> 871 bytes .../ogerpon/cornerstone/tera/front.png | Bin 0 -> 1102 bytes .../ogerpon/cornerstone/tera/normal.pal | 19 +++++++++ .../ogerpon/cornerstone/tera/shiny.pal | 19 +++++++++ graphics/pokemon/ogerpon/hearthflame/back.png | Bin 577 -> 533 bytes .../pokemon/ogerpon/hearthflame/tera/back.png | Bin 0 -> 949 bytes .../ogerpon/hearthflame/tera/front.png | Bin 0 -> 1101 bytes .../ogerpon/hearthflame/tera/normal.pal | 18 +++++++++ .../ogerpon/hearthflame/tera/shiny.pal | 18 +++++++++ graphics/pokemon/ogerpon/tera/back.png | Bin 0 -> 910 bytes graphics/pokemon/ogerpon/tera/front.png | Bin 0 -> 1124 bytes graphics/pokemon/ogerpon/tera/normal.pal | 19 +++++++++ graphics/pokemon/ogerpon/tera/shiny.pal | 19 +++++++++ graphics/pokemon/ogerpon/wellspring/back.png | Bin 514 -> 472 bytes .../pokemon/ogerpon/wellspring/tera/back.png | Bin 0 -> 818 bytes .../pokemon/ogerpon/wellspring/tera/front.png | Bin 0 -> 978 bytes .../ogerpon/wellspring/tera/normal.pal | 19 +++++++++ .../pokemon/ogerpon/wellspring/tera/shiny.pal | 19 +++++++++ src/data/graphics/pokemon.h | 38 +++++++++--------- .../pokemon/species_info/gen_9_families.h | 32 +++++++-------- 22 files changed, 185 insertions(+), 35 deletions(-) create mode 100644 graphics/pokemon/ogerpon/cornerstone/tera/back.png create mode 100644 graphics/pokemon/ogerpon/cornerstone/tera/front.png create mode 100644 graphics/pokemon/ogerpon/cornerstone/tera/normal.pal create mode 100644 graphics/pokemon/ogerpon/cornerstone/tera/shiny.pal create mode 100644 graphics/pokemon/ogerpon/hearthflame/tera/back.png create mode 100644 graphics/pokemon/ogerpon/hearthflame/tera/front.png create mode 100644 graphics/pokemon/ogerpon/hearthflame/tera/normal.pal create mode 100644 graphics/pokemon/ogerpon/hearthflame/tera/shiny.pal create mode 100644 graphics/pokemon/ogerpon/tera/back.png create mode 100644 graphics/pokemon/ogerpon/tera/front.png create mode 100644 graphics/pokemon/ogerpon/tera/normal.pal create mode 100644 graphics/pokemon/ogerpon/tera/shiny.pal create mode 100644 graphics/pokemon/ogerpon/wellspring/tera/back.png create mode 100644 graphics/pokemon/ogerpon/wellspring/tera/front.png create mode 100644 graphics/pokemon/ogerpon/wellspring/tera/normal.pal create mode 100644 graphics/pokemon/ogerpon/wellspring/tera/shiny.pal diff --git a/graphics/pokemon/ogerpon/back.png b/graphics/pokemon/ogerpon/back.png index 8ec6f0fc0d52d9dc1baf887aaccff6841e747824..29ad3c09b2a71b8de6ead2d1704eb7070f7fd17c 100644 GIT binary patch delta 339 zcmV-Z0j&P#1HS{1Bnkm@Qb$4nuFf3kks&*gcO8E&W}cPka)f;y?2j!5klFz%S=6d}Adnuo?=cwwn*k{DuGm8sD6P}1 z2M9gI9OD`^fc!G3qOd6d_tf`@nLp3c;7>b{rc^WVM}*;gRs`@Iz+q2dfhDyS_>lhT l+aQ8$D0vE(Abk)DegGXy8#f2^;?4j7002ovPDHLkV1gM#ln?*_ delta 380 zcmdnb{G54$%0xp8Ne2FsAiv=MsNmY#J$Q8Bx_($UC<7$g3^LW%lqigz^i7_S`o!N^>5KzTjm5rGeS z{TdaICNtEF{-3#@&rP9YtGx8Fwt-=YHl-So*Ffj0?MtG+A`Z8z%*&IL& S0+)g(gD6i|KbLh*2~7YX45feo diff --git a/graphics/pokemon/ogerpon/cornerstone/back.png b/graphics/pokemon/ogerpon/cornerstone/back.png index 1f37c9c1dffb226e45511a55f5e3b71c2a39eac9..39170fd75708450553cd94e1283402a02bb6d3c7 100644 GIT binary patch delta 456 zcmV;(0XP1}1epYoBnkm@Qb$4nuFf3kks&*O0h&ofK~z|U?Ul>6!XOMq!88pz@c%#e zo)Cg9LLb*D8Mx5p-aQGl4Pn--S+i!%n)Sb8)Gz#sNi}06Yu=14}~P zGAKeh0R$|l8wR4lnIIhk7Fi%S1Pj?UT|i<64%a3@aUmf$h(Krt=4&x1!VncA{zfG@clIvzp6owopD8=*L&9175COdGxm#BiO(k>HEp2%HxV&+EL;Aa8;3!q3;h z(BbzH>@W-kUH&8RqXoV%=<}Z*d@K2XH5BytW{fz}BSGO$1c=Eu`F4t1-iBf;oY0XV zRzcat$}hQ8g3l4ZIn91c@A+a$r-J%~=n0%Z5THlj$8W(QUj+IevV9D#f#fhibUu;a zO|8J_^7!ipD4S$+Y$KEax)p0j!8JfC@0Y&7`1iXtFMV-59v~dR%h=0000Qbf)U3ecy40}k+rt0< zcc!-sgmA?j+iv`1p|f@DYHP-=mrb&+tf)S^Lj6xu7r)5qPgN@w-FIp-G03qsHmWYl zlN4Dvg@H-z3NQ1;Bb^GeOk$o2<}AiH^LI5IspqkYoz2oZv*nHg(?ZD^>yIvAa1Q9` z(QoSRbr8^LWjm0iJt3PZN;_ko(gAjHmIV{0G!_Yju3&hdQ``4=cboG9`!$~(dMuaR z^J9{bxyUnopkT>O(B2Qr+gQMEb0{;`uFwkZ*sQd{$ic- z+u|zQq{9pce|prJUS(SR`R#g1h5SipH}*|nei5d_%Q~GQ*U&!x7SrSX_is(G`VcJi zo%75DIfrZULIL&;Q;Zp-B3?`v=g!o&k^a`EqT4o$|EItdZm0QQ`u~0DkurTX|El~w qO^F>flI-YL6oPfpUXO@geCyJ%-W~` diff --git a/graphics/pokemon/ogerpon/cornerstone/tera/back.png b/graphics/pokemon/ogerpon/cornerstone/tera/back.png new file mode 100644 index 0000000000000000000000000000000000000000..63c105ba0d94c7e912dcfcea5dfd34707b78a4ed GIT binary patch literal 871 zcmV-t1DO1YP)Px#Fi=cXMc_8(4iOC-9UCevDK0QAN=!*wU}rsXHH%|80G6>@t1gw7lmOKD=$!!l z+CTgK`W<(mu>b%9U6_619B>T>QM&=a#SO9c;tP8xy2gO|RNCbrEr=O&g(bG1+g<_5z zF}(xEe-pw;eKvveYepbVlu@5~Auw`TT*N2=U_<`sBLN}=P=Y=$6F7gfpbLTf&On%l z^m7v@*hGhMF<=QiV4*jG{Ar0n=V?@e0j@j`csv~MuEUfHAn*;AOpiu(fw&?AEedWS z@TcNrQowY4@kc5lmb6h{eGy>_n#X!c#HwJ`X$sJ7c)Mp(9g0eI1uZG)?zyV-IuKPZ znp4%SHZop>Smh(7(M5^CF*I%s1=$1WlwgPqY8>a_*!LmP%?u_<^t7Dl2;Dg|@}sx!`5dLdH`n z3E&$vq@EETNV7;@v4m2{ZGy3uA_iXszU11gtQ8QN3CL#0=F@iW6*CW$3X93EfL#Y&U=MgI|c_nyxP?SQ7 zINUJ2PuIzB320cl;*B6pzX(X8cwF10?|nQ8cp!N8AP=$&mVRy_9>WKMU?^KE-el#v z);EIfj=vKC?|mqr-VfI*0)Bq*PXvlDb&P>`K9mo5VF&`kj~#b{&v>q7B_IL&d5-fh z35WtpK*!pk{)52VhWv^rgT)XR541@=;hkW<8=MuAOK%C^-tZR&?$Y%fmArs=wXgpW xGJ{UUK59L8++Ww980<=i@>a=k`2+OM{s5LyD`d`N^0)v1002ovPDHLkV1nnFgOvaP literal 0 HcmV?d00001 diff --git a/graphics/pokemon/ogerpon/cornerstone/tera/front.png b/graphics/pokemon/ogerpon/cornerstone/tera/front.png new file mode 100644 index 0000000000000000000000000000000000000000..7b93d3210a94150a521134f33ce5787d16ffe3ba GIT binary patch literal 1102 zcmV-U1hM;xP)Px#Fi=cXMc_8(4iOC-9UCevDK0QAN=!*wU}rsXHH%|80G6>@t1gw7lmOKD#Kyz@ z+CTgK`iu*^fB*mk%t=H+R9J=GmSLB(Dhz}T4RKv+{r~^=W`=<1dOh{)%h^4()OpAx z0iC9Qf0Xjz){C3VwyA!n*KONY`K$NYuL!#0UIJ2@CK10>>bJ5fXEA>Rz|94Kq?$xk zMKUJW!VrAc=Wh+HeygOo6M&p`Ed>#*oVX<@L)|2kfN+xovQ`V5a_)|R6!=OGz%WBe zG>f(*D8VA`PR^Nb4zN;P3UYIZfAMMjP_Q&IBh1bXAZfD9^_}5CtZV&+m4sNY3C*h$ zisjM=%diaqkKcp1uz^@Nwt^NL07wk8i_UN%n?WwJso{0qtm)~X1zsoC9zG25VRw@(;j& z)y+yKKsV;}OEtP)a0-}E53eo^Rs zNp2E0QyMG5{uePx-G9fFO@74Qx~6&~AB{AX)=vk_neAl&QUcK!?K`W;Z4 zm%+RCI77xI-9pKjp;oSp>Me9zGv5^w902f>p4&+m>--CXz zkHcZe0kZ%EeLJCue|SD*>40dY@F0guCVKF(ELrO5hm%vXcNfC-&194hNswVjhbO;x z;qbGeU~^E8=BRolqgfzt+zc7vW3@%&NUn1132piobexd;Zt^b6@j!4@d;3$2~X zyK5QGqtrGSYG>n_RwuF(MEhe&B7|XmhJ!kJt4Tir>nZ5gFs~i39|&>+WCGHT5IhAO zkkR7@{Sm! z9Mr9e#{A#clz68x1hIRd9sxAK{mYiXZ$|E-h@ALd?}dOuq5%RST~F63-2za$Qua0o zmZ6h+)vsQ%2Eu8C-fmR;P~(dLJBR}WrT$xhao-G&a|!(e!f`M3?^iE}7vmxcPvjsd zlfW!!q`)p;ZtoDT$oc0dGVn}JgiJ37#FMaHeLv<2`X+ll2F$uChP^Y8B* zfY|}_vk+d{2{Uq7Vfgy23ce%^gaZ%fVFXD0Pm?g5$7PuI(xV*D^+(qE^gNCK0B<)q U8^Z*d-T(jq07*qoM6N<$f(vo?*Z=?k literal 0 HcmV?d00001 diff --git a/graphics/pokemon/ogerpon/cornerstone/tera/normal.pal b/graphics/pokemon/ogerpon/cornerstone/tera/normal.pal new file mode 100644 index 000000000000..eb034d36e9fd --- /dev/null +++ b/graphics/pokemon/ogerpon/cornerstone/tera/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +224 54 230 +14 17 13 +27 29 27 +42 44 41 +46 48 45 +74 76 73 +90 96 103 +61 113 53 +139 99 57 +0 150 177 +90 171 46 +149 151 148 +0 212 248 +196 198 195 +253 218 63 +251 253 250 diff --git a/graphics/pokemon/ogerpon/cornerstone/tera/shiny.pal b/graphics/pokemon/ogerpon/cornerstone/tera/shiny.pal new file mode 100644 index 000000000000..eb034d36e9fd --- /dev/null +++ b/graphics/pokemon/ogerpon/cornerstone/tera/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +224 54 230 +14 17 13 +27 29 27 +42 44 41 +46 48 45 +74 76 73 +90 96 103 +61 113 53 +139 99 57 +0 150 177 +90 171 46 +149 151 148 +0 212 248 +196 198 195 +253 218 63 +251 253 250 diff --git a/graphics/pokemon/ogerpon/hearthflame/back.png b/graphics/pokemon/ogerpon/hearthflame/back.png index d092ec3297cf948773a4e23c83b1faf2d2ab2764..19d665687009e848070a988e824eec533b2c746c 100644 GIT binary patch delta 449 zcmV;y0Y3i01eFAkBnkm@Qb$4nuFf3kks&^R0h38YK~z|U?Ul=p!ypVrDq6$l}a@J|KFAYTRR9_WS�Cw{24X&;3W!*HL%;@&4&zgaAUJ=2 zzat<^Apv-mY>tZG6ksWmJT?=dxvm9(%Q;5pTy{|uB4E*1*H;3-GpM+J#whdP7>TsE ziy<1G4VM6BU_5Czd>$h~!7Fb8#87ZMngQ><;EivBX!v7(C20JhgCk#Oz!R7gE_T!@a~jNgraF~Rq)W8p6Z`kpxzbot{HmvdYVg)eUI30xBx z-wvXDg}wm0{OW0Lz=khB=1W06#@0Vh_<_J7w{tuQhI|po9(`4=2H*HN4B#p+g7pDn z7eM;!1#l=^Hvbc_2_UbGaH7a90PpdAf${J6-k=@0I;GtsXxEcBl>StJet;Y-uLRse rz>$v@QddWV2o}ShcjX~y7s9|lf%z}cS77zP00000NkvXXu0mjfx-!cf delta 495 zcmVF1DMKjEZn7Ls7|8J`Y;3wGbqMKTqkPPSaN*MR^dF!pW{jdAR7LdUkMsN z=-|lL8Sq3aKL~Kbe{UoFhF=7(JXX5(KEL!(k5Vo~M{vgP#+cxH*Rk*y0)5Y%3cCDp zipx2!hQb#&_XMs9jBf`~zCvGsU4Hd6H(T49%JhtC;UL*klQ&P1Vg?EWRJco zSA%bS90qWe7s2`fu?rym^#VAQEt~%d*aVPQMmSOA7J&EoWxl}p?{{y|4qTnm?h&-> z$s0<4DnLI#j#mP1A>hbI3#qH4K?I9o&%5#vv(MsL0K*8i>_#z!yEO$=_&0000E lWmrjOO-%qQ00008000000002eQPx#El^BUMcz5(5D*Yo4-YIWDVY}+OH52aa5n8bFO6b5TdOhAni%Mv0szzb|Jp|V z{r#2+=db_(12#!SK~z|U?UqT7<1h?G^QF*%S&;94+~%awa#i=DcO@W*O_NWYG`wEF z<9GbuL4PIMD1{ak>NX-I8D&S%57T>S`G3U}Dy1+sKIjKm4HB{2ps>875a2?yFLXl? zL8S(YNjV7eF5j5pF4$juoQ7%24^F5qm|T8J5E)FY@AO*TfT_Z~P$g!MM#QWl7JK=~!cM@9m!~7!B4FQvzUx(5E{9u-HOB(%}NG z01Eq}-rgGmVMrr^JAhrFUszJ~1dv1q$!0Z!;50HD04u=4z~D;>kJ+DSc7X4IHJCzN zdIpB<+yM7z0#TD%L5&baX%p^SQ>~cG;Kd`rn|oN3J(JCF0qC-#VLD#`TxAkwBXCP) z&wKf`0Ef7mc8OM1Z#JusqQ^;j3 zB=ud;QZGBqc`AX*ZBSnkLnBnr!yspg=R6U;RPtcY)t{*qZBH|{1r8Duobah~re4$@ z)OJGAIBB8bK?# zvwx==umLJTb9!CZSPiQQBviB^gq0G*Kh z9-?g!oC(n9dIY@ULT6_Y15W^8A4Bpp(HNc{AB(I Xt^!Z&Mr5<=00000NkvXXu0mjf*M6qx literal 0 HcmV?d00001 diff --git a/graphics/pokemon/ogerpon/hearthflame/tera/front.png b/graphics/pokemon/ogerpon/hearthflame/tera/front.png new file mode 100644 index 0000000000000000000000000000000000000000..8a9e9b6a0a8aef9aa2c24418598a6101b7bd27a0 GIT binary patch literal 1101 zcmV-T1hV^yP)Px#El^BUMcz5(5D*Yo4-YIWDVY}+OH52aa5n8bFO6b5TdOhAni%Mv0szzb|Jp|V z{r#2+=db_(1I|fAK~z|U-InW?qaYB3<V|AN|`~|=^^JSeg^!Q%NcLFvlhvE#t z1^E;Qv7h_8PMCP*uxqyOK(BZNk604H#Of zGvAAbQf^{!0JxC?pj&PPMI>u*Ij|uB5#BtgWF{?1nLGftylLq+R1bm!mLE>k!X{JseFZAFxOSs_X#lOaR`f z_aNwG07HFh3X4<~h%!gj%8$4aP&^3Q4X_XI*f}LkmJuQpidQYBCz${`c<9v{buI|8 zWlrEsUBCHttfhO17ggsm$pB0DAwqgRB|gL)TWO<43#rC zHN-gErR%NjQG~QRx)+i1Z5nxMP#I@qD@^P5ux*KYN-N*&ugi1PG7qz&=n25o$4pr) zuFl>1H@&;j4N$+~1g`V+djvSOE4+v?1H2$RpwR;v}KMUEku+^~<@G zjSwvZD5r#imVL_dT#bMTTAvJ$vDNHXj7pch+RsLt@e4 zTWocttr0@#Zk!0A5g@^UQhbK_C`2{_5A|>ZXjci4A$5qj2dxo!rrK^7ed`UZ*b!?9 zJ}@h3k3;Xh1nAoSS%@{GgZnaHjOfj1xm;zG3@ zr(d3S(S*_T2!JEpfL?yc74!Y+F$)CB{cN!r0j=TqDF5|24}{nbH=p5HSQ8Bjjz zNpMx}V;o%iO*#Srarp5=DUY)Ky7QSKKUVUXaQ0}dc;J#DOOFBTYfbAq1JY9qUhC_% zHoywN`pkqRAV6;_O!@T@08ujsng=lFp#_$KE-`Z+r(rs=n2zWAGwbf@dK!NKe!oTU TG~k*f00000NkvXXu0mjfIyvj1 literal 0 HcmV?d00001 diff --git a/graphics/pokemon/ogerpon/hearthflame/tera/normal.pal b/graphics/pokemon/ogerpon/hearthflame/tera/normal.pal new file mode 100644 index 000000000000..fbb3c82e191a --- /dev/null +++ b/graphics/pokemon/ogerpon/hearthflame/tera/normal.pal @@ -0,0 +1,18 @@ +JASC-PAL +0100 +15 +222 57 229 +16 16 16 +87 15 15 +44 43 41 +153 23 23 +75 76 76 +64 112 54 +237 59 47 +141 98 59 +91 171 49 +209 154 24 +232 157 2 +0 211 249 +255 218 70 +253 253 253 diff --git a/graphics/pokemon/ogerpon/hearthflame/tera/shiny.pal b/graphics/pokemon/ogerpon/hearthflame/tera/shiny.pal new file mode 100644 index 000000000000..fbb3c82e191a --- /dev/null +++ b/graphics/pokemon/ogerpon/hearthflame/tera/shiny.pal @@ -0,0 +1,18 @@ +JASC-PAL +0100 +15 +222 57 229 +16 16 16 +87 15 15 +44 43 41 +153 23 23 +75 76 76 +64 112 54 +237 59 47 +141 98 59 +91 171 49 +209 154 24 +232 157 2 +0 211 249 +255 218 70 +253 253 253 diff --git a/graphics/pokemon/ogerpon/tera/back.png b/graphics/pokemon/ogerpon/tera/back.png new file mode 100644 index 0000000000000000000000000000000000000000..47e211e5568aa1f11de79db92f7688ccedc50255 GIT binary patch literal 910 zcmV;919AL`P)Px#Fi=cXMcz5(5D*Y7D=AA%Ob=>9KyWsVVmk?>oMERMTdOftwq@v@0^6Kkm)Lm! z+D85T{mY@H2><{C3`s;mR9J=WmfLQmFc3s3yDb?aHkZ!;nm*eGAe+K-6)$ zZ(-a1j=$r7A4KuyLn*&cl?F!t{yCuX`+lCVPXH`HKPlxmfJ&$ez-H%93E-ca;qylX zhy_*&#Q~O=^LSjGQ!oIvxDCOGi?g*Sf_ff=GElHUobB0x5@-Pw2Xw+W>&N}qfeJRh zF(4)A1dc`}6`I}w?-07ADI|@(7!)-CN8iEub{D}pgaEmq4(LI2yw@9{2m~s2h+5+x z9-{yy!1qw}syngbdQJnXH-e~(UNnc6iD-b9sUc-ZY!+9*s05C~y61o}j~+2o8-@Y& z(p8%Ccq@fdhI;zYv`R3q1iAprz7O@P*D$P&4J{rUeSDktJrX9z0L4b8JJERg{G*g= z>WJi`6n7)~>O;z{d$HKy$*CeKpvzOnG{8~RKNx@s05pCw`*Kd?4Uuv}9S1x^eG?48 zh=TPXZ=yfXz1)w387as0CqUCZV(CL1vBgPp9668mdG_6@G}Jhad0(+st4Gz3R#J7r;p;MnhB-n{^VoMeiFh zfD<^Tyai1n*Z_QN%{JC~84Wl+d ziXe=jMbH1K3I6fouiMMFfd1GAf=&|h7=+g^27)PhuGVer`X|_vfhz#Ll!5Af=btN2 zfca1Xd_Y%6$p0f?5=i952Gv+ml}>s0bgHu2awX? zMq1j4;)|dpfx6iP&DpVbq0ZC+;85*&1-J?~AI&mE$qekRmG&NR=YSC~K-y4R8-UqQ zLj>G^G{a+v%MNTv#aABz-9c#yHs^gL{NzJj2$HGPO6t47m}>V+-Vp3X>?NhPbLV^@ kXQ5xwW10HFrT3luAM0j6B%Z2gO#lD@07*qoM6N<$f_!$G1poj5 literal 0 HcmV?d00001 diff --git a/graphics/pokemon/ogerpon/tera/front.png b/graphics/pokemon/ogerpon/tera/front.png new file mode 100644 index 0000000000000000000000000000000000000000..7131db78d5fb10ee41672d1faec7d3284f5234f8 GIT binary patch literal 1124 zcmV-q1e^PbP)Px#Fi=cXMcz5(5D*Y7D=AA%Ob=>9KyWsVVmk?>oMERMTdOftwq@v@0^6Kkm)Lm! z+D85T{mY@H2><{C;z>k7R9J=WmThz5FbsqvAt#uL$N&G|-mWC)g-{Cj?Pe~tKs(vT ztCeh+rvKN!aV;O-_S1cfeg?39Cb-P-)08j%`wO5Q32GqN!|;E#ikDw~Slcbwq>I72 zJs#j%t!9tk3$gBmSl9uf*NQ*nL4v)l!y5CZbqEPqlmJy-5&$djeAv{@0j>`K4J>?5 z0QBzxt$Xb{3=q)z4yf+{m;%NXwGRMNaDasVodau)1fzEVqJjk&Ko@ISfx7;Xq@4-Y zE`WyNuRdF_&Ots| z=(yRPE5kF7aOsFKNa;79cjA)+azGae}NXmT!s| zp2sZ#T%GnAAkGz^XW8^1a4Mvtx zeg(+WyN|DOsNin^r4}va2+(gG)KY6nKmnk9XF+cul*|xs`R7*vAiNa-0000~1lR+RBnkm@Qb$4nuFf3kks&^R0ai&wK~z|U?Uc)o!ypVrljbHEA@%=1 zcWlffP!jT3%m%Nh>T`54kZBq=ve@YysN%OS)jB|vmGGx zR2MlOg9eaK#@bMr6o7lCV}bJDZ*A~9NK0B3sw-olDs-fBp{`Zb6k h8)}}yB}flK!9PH!A@`7TYWV;F002ovPDHLkV1g%gvMT@p delta 432 zcmcb?+{7|LWul>VJ%d0=kYDhBG;mgN(-Z~<#&Ay;$B>BDw^MGfYf<2FExqH#dGgQy z=kul&39=paE}Hj3c=F4rn<53X+^NfAE`Ngh_9!Ylb7WgU5_&wx#M|X{Y2mh&JAGUo9(-}2Bt@|aF z+IY$8Y+1vF;MgY>JW>vJlG)CQK@9I^_OYI--@osSn&!4*%Q3aGY_@Th0n@ z?YhdPx#Fi=cXMc_8(4iOD1EGZU2fJ#hB6JE7FaW#u$IRJv?TB|N9*87XZ)y&@h`~CX; z+CS)>0272Yw*UYFut`KgR9J=WmD_T|APhvkNb$r4rvLx9m4vvM;5vDa9y+z-J**@U z+xCrbeB&F}@z8jA^MO1{q*3sQDaLmh@^Q*!QD2oOWxNR>dRman{VAun08|C45ybfP z4xoSUqSMpI`Z;b1H~L$`t^R`G9UJpyi}wGiDlVbZ!bGQXangt;WZ4)K!oEEN&QbJ* zFtV%@0jnHf)vHz9&W8|O8ch@f`}#u; zJ0Per>1fe;VLP zD}W-nRY2B&5v$Y}>0^85*14Z={;D_p|;3w>;7~#nc5RGMpGkpP6g4R^+7YC#Z zL$k3LzK@dJC8ciNKn0XH&4P>pAo@8g8z~B)dL9ip!Cz5!3pz;3l#(iV3e+s00gqM` zL&Qe#)oT&@g8uOm@Kb780MQ7kY^LG!$-rQ$0uqC~bJ7f%c>JG%8NjLT-vW^Ba|h@z z4G_zqE-57FfxZWH0+m*Z$h#o=0npdF1~fwQ8ms}pItLvMwy0lRD0(NfrGVdGTms~l ztoNREVH*Ihr?BrkRyho##r5#nPA7oq_XDqhNuPjzHP{d(H*n;<=OrMH`gp!s2o4Av z_M97_pQm~XU5)8xk{MlVh$#afQhtBAd{z$taj@rr(#tjyngUoXJ`nUbguDmI0&S{Y wNnQy4A&xzSeCS#q$W_>FhAl{7yEa_o4}%**UwLYNs{jB107*qoM6N<$g3MrTPx#Fi=cXMc_8(4iOD1EGZU2fJ#hB6JE7FaW#u$IRJv?TB|N9*87XZ)y&@h`~CX; z+CS)>0272Yw*UYGP)S5VR9J=WmD_f!FbqTywyA^6|Nrh8jeLWov}w;{m9-Klcs8Sp z$+G;#U;O7t>Al~dwjIaIo%Z`T7)i@(0Q5)E*X+}_4hV?)t1Z(}3INBw3G7mAOQy*P zBI?rgfa@I~9SuMYb#)oE*sFX6fEqTn-k$H-63781Py>9Gfu%`62>Wirj89v^J#Jr0 z3U>g?k%k7!Oz4YX=IxqFz9(Rd*+_eh2Ex6~LlM^H20)wI0I312y(CM%C8RX%di4axH0P~O433FJM0caL*FC(H^oo&M6`WQF#G81V_jw1H0foz2@He{uq?8k05IVtm3XTsB8X=m*RS@z ziWQHtj|%wsA>iZJ0J*Hb9UE0Y2W*dR-L@I Date: Tue, 23 Jul 2024 17:53:19 -0400 Subject: [PATCH 02/38] Fix WSL1 install instructions --- INSTALL.md | 20 ++++++++------------ 1 file changed, 8 insertions(+), 12 deletions(-) diff --git a/INSTALL.md b/INSTALL.md index 30b5d0f25a54..7ffcdee07b85 100644 --- a/INSTALL.md +++ b/INSTALL.md @@ -33,27 +33,23 @@ WSL1 is the preferred terminal to build **pokeemerald**. The following instructi - Otherwise, **open WSL** and go to [Choosing where to store pokeemerald (WSL1)](#Choosing-where-to-store-pokeemerald-WSL1). ### Installing WSL1 -1. Open [Windows Powershell **as Administrator**](https://i.imgur.com/QKmVbP9.png), and run the following command (Right Click or Shift+Insert is paste in the Powershell). +1. Open [Windows Powershell **as Administrator**](https://i.imgur.com/QKmVbP9.png), and run the following commands (Right Click or Shift+Insert is paste in the Powershell). ```powershell - dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart + wsl --install -d Ubuntu --enable-wsl1 ``` 2. Once the process finishes, restart your machine. -3. The next step is to choose and install a Linux distribution from the Microsoft Store. The following instructions will assume Ubuntu as the Linux distribution of choice. -
- Note for advanced users... - - > You can pick a preferred Linux distribution, but setup instructions may differ. Debian should work with the given instructions, but has not been tested. -
+3. Open Windows Powershell **as Administrator** again (after restarting), and run the following command to configure Ubuntu to use WSL1. -4. Open the [Microsoft Store Linux Selection](https://aka.ms/wslstore), click Ubuntu, then click Get, which will install the Ubuntu distribution. + ```powershell + wsl --set-version Ubuntu 1 + ```
- Notes... + Note... - > Note 1: If a dialog pops up asking for you to sign into a Microsoft Account, then just close the dialog. - > Note 2: If the link does not work, then open the Microsoft Store manually, and search for the Ubuntu app (choose the one with no version number). + > WSL may open automatically after restarting, but you can ignore it for now.
### Setting up WSL1 From 7b2914c0464f6cc1d6aaac529425c9259389a8c9 Mon Sep 17 00:00:00 2001 From: PhallenTree <168426989+PhallenTree@users.noreply.github.com> Date: Wed, 24 Jul 2024 18:36:55 +0100 Subject: [PATCH 03/38] Fix Mold Breaker-like abilities, AI Move Accuracy function, Fury Cutter with Parental Bond (#5030) * Fix GetBattlerAbility not checking correct battler's action * Fix Fury Cutter counter being incorrectly incremented on 2nd hit of Parental Bond + test * Fix AI_SetMoveAccuracy only using attacker's ability * Review --- src/battle_ai_main.c | 2 +- src/battle_script_commands.c | 2 +- src/battle_util.c | 2 +- test/battle/move_effect/fury_cutter.c | 24 ++++++++++++++++++++++++ 4 files changed, 27 insertions(+), 3 deletions(-) diff --git a/src/battle_ai_main.c b/src/battle_ai_main.c index 789237264e83..7c445cd7fb7e 100644 --- a/src/battle_ai_main.c +++ b/src/battle_ai_main.c @@ -402,7 +402,7 @@ static u32 Ai_SetMoveAccuracy(struct AiLogicData *aiData, u32 battlerAtk, u32 ba { u32 accuracy; u32 abilityAtk = aiData->abilities[battlerAtk]; - u32 abilityDef = aiData->abilities[battlerAtk]; + u32 abilityDef = aiData->abilities[battlerDef]; if (abilityAtk == ABILITY_NO_GUARD || abilityDef == ABILITY_NO_GUARD || gMovesInfo[move].accuracy == 0) // Moves with accuracy 0 or no guard ability always hit. accuracy = 100; else diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c index 22497262d88f..c79891e05b00 100644 --- a/src/battle_script_commands.c +++ b/src/battle_script_commands.c @@ -13407,7 +13407,7 @@ static void Cmd_handlefurycutter(void) max = 5; if (gDisableStructs[gBattlerAttacker].furyCutterCounter < max - && gSpecialStatuses[gBattlerAttacker].parentalBondState != PARENTAL_BOND_1ST_HIT) // Don't increment counter on first hit + && gSpecialStatuses[gBattlerAttacker].parentalBondState != PARENTAL_BOND_2ND_HIT) // Don't increment counter on second hit gDisableStructs[gBattlerAttacker].furyCutterCounter++; gBattlescriptCurrInstr = cmd->nextInstr; diff --git a/src/battle_util.c b/src/battle_util.c index 8cabba6e0222..9ea7a453cb3f 100644 --- a/src/battle_util.c +++ b/src/battle_util.c @@ -6242,7 +6242,7 @@ u32 GetBattlerAbility(u32 battler) && gAbilitiesInfo[gBattleMons[battler].ability].breakable && noAbilityShield && gBattlerByTurnOrder[gCurrentTurnActionNumber] == gBattlerAttacker - && gActionsByTurnOrder[gBattlerByTurnOrder[gBattlerAttacker]] == B_ACTION_USE_MOVE + && gActionsByTurnOrder[gCurrentTurnActionNumber] == B_ACTION_USE_MOVE && gCurrentTurnActionNumber < gBattlersCount) return ABILITY_NONE; diff --git a/test/battle/move_effect/fury_cutter.c b/test/battle/move_effect/fury_cutter.c index cf3871964e5b..b193882d3702 100644 --- a/test/battle/move_effect/fury_cutter.c +++ b/test/battle/move_effect/fury_cutter.c @@ -36,3 +36,27 @@ SINGLE_BATTLE_TEST("Fury Cutter power doubles with each use, up to 160 power") EXPECT_EQ(damage[maxTurns - 2], damage[maxTurns - 1]); } } + +SINGLE_BATTLE_TEST("Fury Cutter counter is the same for both hits of Parental Bond") +{ + s16 damage[4]; + + GIVEN { + PLAYER(SPECIES_WOBBUFFET) { Ability(ABILITY_PARENTAL_BOND); } + OPPONENT(SPECIES_REGIROCK); + } WHEN { + TURN { MOVE(player, MOVE_FURY_CUTTER); } + TURN { MOVE(player, MOVE_FURY_CUTTER); } + } SCENE { + ANIMATION(ANIM_TYPE_MOVE, MOVE_FURY_CUTTER, player); + HP_BAR(opponent, captureDamage: &damage[0]); + HP_BAR(opponent, captureDamage: &damage[1]); + ANIMATION(ANIM_TYPE_MOVE, MOVE_FURY_CUTTER, player); + HP_BAR(opponent, captureDamage: &damage[2]); + HP_BAR(opponent, captureDamage: &damage[3]); + } THEN { + EXPECT_MUL_EQ(damage[0], B_PARENTAL_BOND_DMG >= GEN_7 ? UQ_4_12(0.25) : UQ_4_12(0.5), damage[1]); + EXPECT_MUL_EQ(damage[2], B_PARENTAL_BOND_DMG >= GEN_7 ? UQ_4_12(0.25) : UQ_4_12(0.5), damage[3]); + EXPECT_NE(damage[0], damage[2]); + } +} From 298ee34097673ed396eba5a84dc750e676651f35 Mon Sep 17 00:00:00 2001 From: sneed <56992013+Sneed69@users.noreply.github.com> Date: Wed, 24 Jul 2024 21:37:46 +0300 Subject: [PATCH 04/38] fix givemon not giving Cherish Ball (#5022) --- src/script_pokemon_util.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/script_pokemon_util.c b/src/script_pokemon_util.c index 86eed1914372..991618173306 100644 --- a/src/script_pokemon_util.c +++ b/src/script_pokemon_util.c @@ -368,7 +368,7 @@ u32 ScriptGiveMonParameterized(u16 species, u8 level, u16 item, u8 ball, u8 natu SetMonData(&mon, MON_DATA_ABILITY_NUM, &abilityNum); // ball - if (ball >= POKEBALL_COUNT) + if (ball > LAST_BALL) ball = ITEM_POKE_BALL; SetMonData(&mon, MON_DATA_POKEBALL, &ball); From 7f6ddcf9d9f09842ea1446eb28902f30a2af7f93 Mon Sep 17 00:00:00 2001 From: kittenchilly Date: Wed, 24 Jul 2024 15:53:37 -0500 Subject: [PATCH 05/38] Update all level up learnsets to Indigo Disk (#5023) * Update all movesets to Indigo Disk * Also update past gens for gen 9 mons * Update gen_1.h --- src/data/pokemon/level_up_learnsets/gen_1.h | 48 +- src/data/pokemon/level_up_learnsets/gen_2.h | 48 +- src/data/pokemon/level_up_learnsets/gen_3.h | 48 +- src/data/pokemon/level_up_learnsets/gen_4.h | 46 +- src/data/pokemon/level_up_learnsets/gen_5.h | 46 +- src/data/pokemon/level_up_learnsets/gen_6.h | 48 +- src/data/pokemon/level_up_learnsets/gen_7.h | 46 +- src/data/pokemon/level_up_learnsets/gen_8.h | 50 +- src/data/pokemon/level_up_learnsets/gen_9.h | 1815 +++++++++---------- 9 files changed, 1178 insertions(+), 1017 deletions(-) diff --git a/src/data/pokemon/level_up_learnsets/gen_1.h b/src/data/pokemon/level_up_learnsets/gen_1.h index 240a4b06956f..e7b9d23238f4 100644 --- a/src/data/pokemon/level_up_learnsets/gen_1.h +++ b/src/data/pokemon/level_up_learnsets/gen_1.h @@ -5048,7 +5048,7 @@ static const struct LevelUpMove sSwampertLevelUpLearnset[] = { LEVEL_UP_MOVE(46, MOVE_PROTECT), LEVEL_UP_MOVE(52, MOVE_EARTHQUAKE), LEVEL_UP_MOVE(61, MOVE_ENDEAVOR), - LEVEL_UP_END + LEVEL_UP_END }; #endif //P_FAMILY_MUDKIP @@ -17587,6 +17587,8 @@ static const struct LevelUpMove sFloragatoLevelUpLearnset[] = { static const struct LevelUpMove sMeowscaradaLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_FLOWER_TRICK), + LEVEL_UP_MOVE( 1, MOVE_DOUBLE_TEAM), + LEVEL_UP_MOVE( 1, MOVE_TRICK), LEVEL_UP_MOVE( 1, MOVE_LEAFAGE), LEVEL_UP_MOVE( 1, MOVE_SCRATCH), LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), @@ -17645,6 +17647,8 @@ static const struct LevelUpMove sCrocalorLevelUpLearnset[] = { static const struct LevelUpMove sSkeledirgeLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_TORCH_SONG), + LEVEL_UP_MOVE( 1, MOVE_SING), + LEVEL_UP_MOVE( 1, MOVE_YAWN), LEVEL_UP_MOVE( 1, MOVE_EMBER), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_LEER), @@ -17704,6 +17708,7 @@ static const struct LevelUpMove sQuaxwellLevelUpLearnset[] = { static const struct LevelUpMove sQuaquavalLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_AQUA_STEP), + LEVEL_UP_MOVE( 1, MOVE_COUNTER), LEVEL_UP_MOVE( 1, MOVE_POUND), LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), @@ -18188,6 +18193,10 @@ static const struct LevelUpMove sArmarougeLevelUpLearnset[] = { static const struct LevelUpMove sCeruledgeLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_SHADOW_CLAW), + LEVEL_UP_MOVE( 1, MOVE_NIGHT_SLASH), + LEVEL_UP_MOVE( 1, MOVE_SHADOW_SNEAK), + LEVEL_UP_MOVE( 1, MOVE_QUICK_GUARD), + LEVEL_UP_MOVE( 1, MOVE_SOLAR_BLADE), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 1, MOVE_EMBER), LEVEL_UP_MOVE( 1, MOVE_ASTONISH), @@ -18524,6 +18533,8 @@ static const struct LevelUpMove sRellorLevelUpLearnset[] = { static const struct LevelUpMove sRabscaLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_REVIVAL_BLESSING), + LEVEL_UP_MOVE( 1, MOVE_SAFEGUARD), + LEVEL_UP_MOVE( 1, MOVE_PSYCH_UP), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_DEFENSE_CURL), LEVEL_UP_MOVE( 1, MOVE_CONFUSION), @@ -19050,6 +19061,7 @@ static const struct LevelUpMove sGreatTuskLevelUpLearnset[] = { #if P_FAMILY_SCREAM_TAIL static const struct LevelUpMove sScreamTailLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SUNNY_DAY), LEVEL_UP_MOVE( 1, MOVE_POUND), LEVEL_UP_MOVE( 1, MOVE_SING), LEVEL_UP_MOVE( 1, MOVE_DISABLE), @@ -19072,6 +19084,7 @@ static const struct LevelUpMove sScreamTailLevelUpLearnset[] = { #if P_FAMILY_BRUTE_BONNET static const struct LevelUpMove sBruteBonnetLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SUNNY_DAY), LEVEL_UP_MOVE( 1, MOVE_ABSORB), LEVEL_UP_MOVE( 1, MOVE_GROWTH), LEVEL_UP_MOVE( 1, MOVE_ASTONISH), @@ -19093,6 +19106,7 @@ static const struct LevelUpMove sBruteBonnetLevelUpLearnset[] = { #if P_FAMILY_FLUTTER_MANE static const struct LevelUpMove sFlutterManeLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SUNNY_DAY), LEVEL_UP_MOVE( 1, MOVE_CONFUSE_RAY), LEVEL_UP_MOVE( 1, MOVE_SPITE), LEVEL_UP_MOVE( 1, MOVE_ASTONISH), @@ -19115,6 +19129,7 @@ static const struct LevelUpMove sFlutterManeLevelUpLearnset[] = { #if P_FAMILY_SLITHER_WING static const struct LevelUpMove sSlitherWingLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SUNNY_DAY), LEVEL_UP_MOVE( 1, MOVE_GUST), LEVEL_UP_MOVE( 1, MOVE_EMBER), LEVEL_UP_MOVE( 1, MOVE_BUG_BITE), @@ -19138,6 +19153,7 @@ static const struct LevelUpMove sSlitherWingLevelUpLearnset[] = { #if P_FAMILY_SANDY_SHOCKS static const struct LevelUpMove sSandyShocksLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SUNNY_DAY), LEVEL_UP_MOVE( 1, MOVE_THUNDER_WAVE), LEVEL_UP_MOVE( 1, MOVE_ELECTRIC_TERRAIN), LEVEL_UP_MOVE( 1, MOVE_SUPERSONIC), @@ -19183,6 +19199,7 @@ static const struct LevelUpMove sIronTreadsLevelUpLearnset[] = { #if P_FAMILY_IRON_BUNDLE static const struct LevelUpMove sIronBundleLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_ELECTRIC_TERRAIN), LEVEL_UP_MOVE( 1, MOVE_PRESENT), LEVEL_UP_MOVE( 7, MOVE_POWDER_SNOW), LEVEL_UP_MOVE(14, MOVE_WHIRLPOOL), @@ -19203,6 +19220,7 @@ static const struct LevelUpMove sIronBundleLevelUpLearnset[] = { #if P_FAMILY_IRON_HANDS static const struct LevelUpMove sIronHandsLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_ELECTRIC_TERRAIN), LEVEL_UP_MOVE( 1, MOVE_SAND_ATTACK), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_FOCUS_ENERGY), @@ -19249,6 +19267,7 @@ static const struct LevelUpMove sIronJugulisLevelUpLearnset[] = { #if P_FAMILY_IRON_MOTH static const struct LevelUpMove sIronMothLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_ELECTRIC_TERRAIN), LEVEL_UP_MOVE( 1, MOVE_GUST), LEVEL_UP_MOVE( 1, MOVE_WHIRLWIND), LEVEL_UP_MOVE( 1, MOVE_EMBER), @@ -19272,11 +19291,12 @@ static const struct LevelUpMove sIronMothLevelUpLearnset[] = { #if P_FAMILY_IRON_THORNS static const struct LevelUpMove sIronThornsLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_ELECTRIC_TERRAIN), LEVEL_UP_MOVE( 1, MOVE_ROCK_THROW), LEVEL_UP_MOVE( 1, MOVE_FIRE_FANG), LEVEL_UP_MOVE( 1, MOVE_ICE_FANG), - LEVEL_UP_MOVE( 1, MOVE_THUNDER_FANG), LEVEL_UP_MOVE( 1, MOVE_IRON_DEFENSE), + LEVEL_UP_MOVE( 1, MOVE_THUNDER_FANG), LEVEL_UP_MOVE( 7, MOVE_SCREECH), LEVEL_UP_MOVE(21, MOVE_ROCK_TOMB), LEVEL_UP_MOVE(28, MOVE_BITE), @@ -19473,6 +19493,10 @@ static const struct LevelUpMove sChiYuLevelUpLearnset[] = { #if P_FAMILY_ROARING_MOON static const struct LevelUpMove sRoaringMoonLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SUNNY_DAY), + LEVEL_UP_MOVE( 1, MOVE_JAW_LOCK), + LEVEL_UP_MOVE( 1, MOVE_BREAKING_SWIPE), + LEVEL_UP_MOVE( 1, MOVE_SCALE_SHOT), LEVEL_UP_MOVE( 1, MOVE_DRAGON_BREATH), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 1, MOVE_BITE), @@ -19496,6 +19520,7 @@ static const struct LevelUpMove sRoaringMoonLevelUpLearnset[] = { #if P_FAMILY_IRON_VALIANT static const struct LevelUpMove sIronValiantLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_ELECTRIC_TERRAIN), LEVEL_UP_MOVE( 1, MOVE_DISABLE), LEVEL_UP_MOVE( 1, MOVE_DOUBLE_TEAM), LEVEL_UP_MOVE( 1, MOVE_SHADOW_SNEAK), @@ -19511,8 +19536,8 @@ static const struct LevelUpMove sIronValiantLevelUpLearnset[] = { LEVEL_UP_MOVE(63, MOVE_CLOSE_COMBAT), LEVEL_UP_MOVE(70, MOVE_KNOCK_OFF), LEVEL_UP_MOVE(77, MOVE_DESTINY_BOND), - LEVEL_UP_MOVE(84, MOVE_QUICK_GUARD), LEVEL_UP_MOVE(84, MOVE_WIDE_GUARD), + LEVEL_UP_MOVE(84, MOVE_QUICK_GUARD), LEVEL_UP_MOVE(91, MOVE_SPIRIT_BREAK), LEVEL_UP_END }; @@ -19564,6 +19589,8 @@ static const struct LevelUpMove sMiraidonLevelUpLearnset[] = { #if P_FAMILY_WALKING_WAKE static const struct LevelUpMove sWalkingWakeLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SUNNY_DAY), + LEVEL_UP_MOVE( 1, MOVE_HONE_CLAWS), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 1, MOVE_ROAR), LEVEL_UP_MOVE( 1, MOVE_TWISTER), @@ -19585,6 +19612,8 @@ static const struct LevelUpMove sWalkingWakeLevelUpLearnset[] = { #if P_FAMILY_IRON_LEAVES static const struct LevelUpMove sIronLeavesLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_QUASH), + LEVEL_UP_MOVE( 1, MOVE_ELECTRIC_TERRAIN), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 1, MOVE_QUICK_ATTACK), LEVEL_UP_MOVE( 1, MOVE_HELPING_HAND), @@ -19692,8 +19721,8 @@ static const struct LevelUpMove sFezandipitiLevelUpLearnset[] = { LEVEL_UP_MOVE(32, MOVE_CROSS_POISON), LEVEL_UP_MOVE(40, MOVE_TAIL_SLAP), LEVEL_UP_MOVE(48, MOVE_BEAT_UP), - LEVEL_UP_MOVE(56, MOVE_FLATTER), LEVEL_UP_MOVE(56, MOVE_SWAGGER), + LEVEL_UP_MOVE(56, MOVE_FLATTER), LEVEL_UP_MOVE(64, MOVE_ROOST), LEVEL_UP_MOVE(72, MOVE_MOONBLAST), LEVEL_UP_END @@ -19702,6 +19731,10 @@ static const struct LevelUpMove sFezandipitiLevelUpLearnset[] = { #if P_FAMILY_OGERPON static const struct LevelUpMove sOgerponLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_DOUBLE_KICK), + LEVEL_UP_MOVE( 1, MOVE_COUNTER), + LEVEL_UP_MOVE( 1, MOVE_RETALIATE), + LEVEL_UP_MOVE( 1, MOVE_HORN_LEECH), LEVEL_UP_MOVE( 1, MOVE_VINE_WHIP), LEVEL_UP_MOVE( 1, MOVE_LEECH_SEED), LEVEL_UP_MOVE( 1, MOVE_QUICK_ATTACK), @@ -19723,6 +19756,9 @@ static const struct LevelUpMove sOgerponLevelUpLearnset[] = { #if P_FAMILY_GOUGING_FIRE static const struct LevelUpMove sGougingFireLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_DOUBLE_KICK), + LEVEL_UP_MOVE( 1, MOVE_ANCIENT_POWER), + LEVEL_UP_MOVE( 1, MOVE_NOBLE_ROAR), LEVEL_UP_MOVE( 1, MOVE_STOMP), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 1, MOVE_INCINERATE), @@ -19746,6 +19782,7 @@ static const struct LevelUpMove sGougingFireLevelUpLearnset[] = { #if P_FAMILY_RAGING_BOLT static const struct LevelUpMove sRagingBoltLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_ANCIENT_POWER), LEVEL_UP_MOVE( 1, MOVE_TWISTER), LEVEL_UP_MOVE( 1, MOVE_SUNNY_DAY), LEVEL_UP_MOVE( 1, MOVE_SHOCK_WAVE), @@ -19833,6 +19870,9 @@ static const struct LevelUpMove sTerapagosLevelUpLearnset[] = { #if P_FAMILY_PECHARUNT static const struct LevelUpMove sPecharuntLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_DEFENSE_CURL), + LEVEL_UP_MOVE( 1, MOVE_ROLLOUT), + LEVEL_UP_MOVE( 1, MOVE_MEAN_LOOK), LEVEL_UP_MOVE( 1, MOVE_SMOG), LEVEL_UP_MOVE( 1, MOVE_POISON_GAS), LEVEL_UP_MOVE( 1, MOVE_MEMENTO), diff --git a/src/data/pokemon/level_up_learnsets/gen_2.h b/src/data/pokemon/level_up_learnsets/gen_2.h index 0995a4c1504a..991cf5daf8aa 100644 --- a/src/data/pokemon/level_up_learnsets/gen_2.h +++ b/src/data/pokemon/level_up_learnsets/gen_2.h @@ -5292,7 +5292,7 @@ static const struct LevelUpMove sSwampertLevelUpLearnset[] = { LEVEL_UP_MOVE(46, MOVE_PROTECT), LEVEL_UP_MOVE(52, MOVE_EARTHQUAKE), LEVEL_UP_MOVE(61, MOVE_ENDEAVOR), - LEVEL_UP_END + LEVEL_UP_END }; #endif //P_FAMILY_MUDKIP @@ -17831,6 +17831,8 @@ static const struct LevelUpMove sFloragatoLevelUpLearnset[] = { static const struct LevelUpMove sMeowscaradaLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_FLOWER_TRICK), + LEVEL_UP_MOVE( 1, MOVE_DOUBLE_TEAM), + LEVEL_UP_MOVE( 1, MOVE_TRICK), LEVEL_UP_MOVE( 1, MOVE_LEAFAGE), LEVEL_UP_MOVE( 1, MOVE_SCRATCH), LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), @@ -17889,6 +17891,8 @@ static const struct LevelUpMove sCrocalorLevelUpLearnset[] = { static const struct LevelUpMove sSkeledirgeLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_TORCH_SONG), + LEVEL_UP_MOVE( 1, MOVE_SING), + LEVEL_UP_MOVE( 1, MOVE_YAWN), LEVEL_UP_MOVE( 1, MOVE_EMBER), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_LEER), @@ -17948,6 +17952,7 @@ static const struct LevelUpMove sQuaxwellLevelUpLearnset[] = { static const struct LevelUpMove sQuaquavalLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_AQUA_STEP), + LEVEL_UP_MOVE( 1, MOVE_COUNTER), LEVEL_UP_MOVE( 1, MOVE_POUND), LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), @@ -18432,6 +18437,10 @@ static const struct LevelUpMove sArmarougeLevelUpLearnset[] = { static const struct LevelUpMove sCeruledgeLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_SHADOW_CLAW), + LEVEL_UP_MOVE( 1, MOVE_NIGHT_SLASH), + LEVEL_UP_MOVE( 1, MOVE_SHADOW_SNEAK), + LEVEL_UP_MOVE( 1, MOVE_QUICK_GUARD), + LEVEL_UP_MOVE( 1, MOVE_SOLAR_BLADE), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 1, MOVE_EMBER), LEVEL_UP_MOVE( 1, MOVE_ASTONISH), @@ -18768,6 +18777,8 @@ static const struct LevelUpMove sRellorLevelUpLearnset[] = { static const struct LevelUpMove sRabscaLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_REVIVAL_BLESSING), + LEVEL_UP_MOVE( 1, MOVE_SAFEGUARD), + LEVEL_UP_MOVE( 1, MOVE_PSYCH_UP), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_DEFENSE_CURL), LEVEL_UP_MOVE( 1, MOVE_CONFUSION), @@ -19294,6 +19305,7 @@ static const struct LevelUpMove sGreatTuskLevelUpLearnset[] = { #if P_FAMILY_SCREAM_TAIL static const struct LevelUpMove sScreamTailLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SUNNY_DAY), LEVEL_UP_MOVE( 1, MOVE_POUND), LEVEL_UP_MOVE( 1, MOVE_SING), LEVEL_UP_MOVE( 1, MOVE_DISABLE), @@ -19316,6 +19328,7 @@ static const struct LevelUpMove sScreamTailLevelUpLearnset[] = { #if P_FAMILY_BRUTE_BONNET static const struct LevelUpMove sBruteBonnetLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SUNNY_DAY), LEVEL_UP_MOVE( 1, MOVE_ABSORB), LEVEL_UP_MOVE( 1, MOVE_GROWTH), LEVEL_UP_MOVE( 1, MOVE_ASTONISH), @@ -19337,6 +19350,7 @@ static const struct LevelUpMove sBruteBonnetLevelUpLearnset[] = { #if P_FAMILY_FLUTTER_MANE static const struct LevelUpMove sFlutterManeLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SUNNY_DAY), LEVEL_UP_MOVE( 1, MOVE_CONFUSE_RAY), LEVEL_UP_MOVE( 1, MOVE_SPITE), LEVEL_UP_MOVE( 1, MOVE_ASTONISH), @@ -19359,6 +19373,7 @@ static const struct LevelUpMove sFlutterManeLevelUpLearnset[] = { #if P_FAMILY_SLITHER_WING static const struct LevelUpMove sSlitherWingLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SUNNY_DAY), LEVEL_UP_MOVE( 1, MOVE_GUST), LEVEL_UP_MOVE( 1, MOVE_EMBER), LEVEL_UP_MOVE( 1, MOVE_BUG_BITE), @@ -19382,6 +19397,7 @@ static const struct LevelUpMove sSlitherWingLevelUpLearnset[] = { #if P_FAMILY_SANDY_SHOCKS static const struct LevelUpMove sSandyShocksLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SUNNY_DAY), LEVEL_UP_MOVE( 1, MOVE_THUNDER_WAVE), LEVEL_UP_MOVE( 1, MOVE_ELECTRIC_TERRAIN), LEVEL_UP_MOVE( 1, MOVE_SUPERSONIC), @@ -19427,6 +19443,7 @@ static const struct LevelUpMove sIronTreadsLevelUpLearnset[] = { #if P_FAMILY_IRON_BUNDLE static const struct LevelUpMove sIronBundleLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_ELECTRIC_TERRAIN), LEVEL_UP_MOVE( 1, MOVE_PRESENT), LEVEL_UP_MOVE( 7, MOVE_POWDER_SNOW), LEVEL_UP_MOVE(14, MOVE_WHIRLPOOL), @@ -19447,6 +19464,7 @@ static const struct LevelUpMove sIronBundleLevelUpLearnset[] = { #if P_FAMILY_IRON_HANDS static const struct LevelUpMove sIronHandsLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_ELECTRIC_TERRAIN), LEVEL_UP_MOVE( 1, MOVE_SAND_ATTACK), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_FOCUS_ENERGY), @@ -19493,6 +19511,7 @@ static const struct LevelUpMove sIronJugulisLevelUpLearnset[] = { #if P_FAMILY_IRON_MOTH static const struct LevelUpMove sIronMothLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_ELECTRIC_TERRAIN), LEVEL_UP_MOVE( 1, MOVE_GUST), LEVEL_UP_MOVE( 1, MOVE_WHIRLWIND), LEVEL_UP_MOVE( 1, MOVE_EMBER), @@ -19516,11 +19535,12 @@ static const struct LevelUpMove sIronMothLevelUpLearnset[] = { #if P_FAMILY_IRON_THORNS static const struct LevelUpMove sIronThornsLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_ELECTRIC_TERRAIN), LEVEL_UP_MOVE( 1, MOVE_ROCK_THROW), LEVEL_UP_MOVE( 1, MOVE_FIRE_FANG), LEVEL_UP_MOVE( 1, MOVE_ICE_FANG), - LEVEL_UP_MOVE( 1, MOVE_THUNDER_FANG), LEVEL_UP_MOVE( 1, MOVE_IRON_DEFENSE), + LEVEL_UP_MOVE( 1, MOVE_THUNDER_FANG), LEVEL_UP_MOVE( 7, MOVE_SCREECH), LEVEL_UP_MOVE(21, MOVE_ROCK_TOMB), LEVEL_UP_MOVE(28, MOVE_BITE), @@ -19717,6 +19737,10 @@ static const struct LevelUpMove sChiYuLevelUpLearnset[] = { #if P_FAMILY_ROARING_MOON static const struct LevelUpMove sRoaringMoonLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SUNNY_DAY), + LEVEL_UP_MOVE( 1, MOVE_JAW_LOCK), + LEVEL_UP_MOVE( 1, MOVE_BREAKING_SWIPE), + LEVEL_UP_MOVE( 1, MOVE_SCALE_SHOT), LEVEL_UP_MOVE( 1, MOVE_DRAGON_BREATH), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 1, MOVE_BITE), @@ -19740,6 +19764,7 @@ static const struct LevelUpMove sRoaringMoonLevelUpLearnset[] = { #if P_FAMILY_IRON_VALIANT static const struct LevelUpMove sIronValiantLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_ELECTRIC_TERRAIN), LEVEL_UP_MOVE( 1, MOVE_DISABLE), LEVEL_UP_MOVE( 1, MOVE_DOUBLE_TEAM), LEVEL_UP_MOVE( 1, MOVE_SHADOW_SNEAK), @@ -19755,8 +19780,8 @@ static const struct LevelUpMove sIronValiantLevelUpLearnset[] = { LEVEL_UP_MOVE(63, MOVE_CLOSE_COMBAT), LEVEL_UP_MOVE(70, MOVE_KNOCK_OFF), LEVEL_UP_MOVE(77, MOVE_DESTINY_BOND), - LEVEL_UP_MOVE(84, MOVE_QUICK_GUARD), LEVEL_UP_MOVE(84, MOVE_WIDE_GUARD), + LEVEL_UP_MOVE(84, MOVE_QUICK_GUARD), LEVEL_UP_MOVE(91, MOVE_SPIRIT_BREAK), LEVEL_UP_END }; @@ -19808,6 +19833,8 @@ static const struct LevelUpMove sMiraidonLevelUpLearnset[] = { #if P_FAMILY_WALKING_WAKE static const struct LevelUpMove sWalkingWakeLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SUNNY_DAY), + LEVEL_UP_MOVE( 1, MOVE_HONE_CLAWS), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 1, MOVE_ROAR), LEVEL_UP_MOVE( 1, MOVE_TWISTER), @@ -19829,6 +19856,8 @@ static const struct LevelUpMove sWalkingWakeLevelUpLearnset[] = { #if P_FAMILY_IRON_LEAVES static const struct LevelUpMove sIronLeavesLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_QUASH), + LEVEL_UP_MOVE( 1, MOVE_ELECTRIC_TERRAIN), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 1, MOVE_QUICK_ATTACK), LEVEL_UP_MOVE( 1, MOVE_HELPING_HAND), @@ -19936,8 +19965,8 @@ static const struct LevelUpMove sFezandipitiLevelUpLearnset[] = { LEVEL_UP_MOVE(32, MOVE_CROSS_POISON), LEVEL_UP_MOVE(40, MOVE_TAIL_SLAP), LEVEL_UP_MOVE(48, MOVE_BEAT_UP), - LEVEL_UP_MOVE(56, MOVE_FLATTER), LEVEL_UP_MOVE(56, MOVE_SWAGGER), + LEVEL_UP_MOVE(56, MOVE_FLATTER), LEVEL_UP_MOVE(64, MOVE_ROOST), LEVEL_UP_MOVE(72, MOVE_MOONBLAST), LEVEL_UP_END @@ -19946,6 +19975,10 @@ static const struct LevelUpMove sFezandipitiLevelUpLearnset[] = { #if P_FAMILY_OGERPON static const struct LevelUpMove sOgerponLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_DOUBLE_KICK), + LEVEL_UP_MOVE( 1, MOVE_COUNTER), + LEVEL_UP_MOVE( 1, MOVE_RETALIATE), + LEVEL_UP_MOVE( 1, MOVE_HORN_LEECH), LEVEL_UP_MOVE( 1, MOVE_VINE_WHIP), LEVEL_UP_MOVE( 1, MOVE_LEECH_SEED), LEVEL_UP_MOVE( 1, MOVE_QUICK_ATTACK), @@ -19967,6 +20000,9 @@ static const struct LevelUpMove sOgerponLevelUpLearnset[] = { #if P_FAMILY_GOUGING_FIRE static const struct LevelUpMove sGougingFireLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_DOUBLE_KICK), + LEVEL_UP_MOVE( 1, MOVE_ANCIENT_POWER), + LEVEL_UP_MOVE( 1, MOVE_NOBLE_ROAR), LEVEL_UP_MOVE( 1, MOVE_STOMP), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 1, MOVE_INCINERATE), @@ -19990,6 +20026,7 @@ static const struct LevelUpMove sGougingFireLevelUpLearnset[] = { #if P_FAMILY_RAGING_BOLT static const struct LevelUpMove sRagingBoltLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_ANCIENT_POWER), LEVEL_UP_MOVE( 1, MOVE_TWISTER), LEVEL_UP_MOVE( 1, MOVE_SUNNY_DAY), LEVEL_UP_MOVE( 1, MOVE_SHOCK_WAVE), @@ -20077,6 +20114,9 @@ static const struct LevelUpMove sTerapagosLevelUpLearnset[] = { #if P_FAMILY_PECHARUNT static const struct LevelUpMove sPecharuntLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_DEFENSE_CURL), + LEVEL_UP_MOVE( 1, MOVE_ROLLOUT), + LEVEL_UP_MOVE( 1, MOVE_MEAN_LOOK), LEVEL_UP_MOVE( 1, MOVE_SMOG), LEVEL_UP_MOVE( 1, MOVE_POISON_GAS), LEVEL_UP_MOVE( 1, MOVE_MEMENTO), diff --git a/src/data/pokemon/level_up_learnsets/gen_3.h b/src/data/pokemon/level_up_learnsets/gen_3.h index 999c4c29d241..35af1dfbe674 100644 --- a/src/data/pokemon/level_up_learnsets/gen_3.h +++ b/src/data/pokemon/level_up_learnsets/gen_3.h @@ -5518,7 +5518,7 @@ static const struct LevelUpMove sSwampertLevelUpLearnset[] = { LEVEL_UP_MOVE(46, MOVE_PROTECT), LEVEL_UP_MOVE(52, MOVE_EARTHQUAKE), LEVEL_UP_MOVE(61, MOVE_ENDEAVOR), - LEVEL_UP_END + LEVEL_UP_END }; #endif //P_FAMILY_MUDKIP @@ -18057,6 +18057,8 @@ static const struct LevelUpMove sFloragatoLevelUpLearnset[] = { static const struct LevelUpMove sMeowscaradaLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_FLOWER_TRICK), + LEVEL_UP_MOVE( 1, MOVE_DOUBLE_TEAM), + LEVEL_UP_MOVE( 1, MOVE_TRICK), LEVEL_UP_MOVE( 1, MOVE_LEAFAGE), LEVEL_UP_MOVE( 1, MOVE_SCRATCH), LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), @@ -18115,6 +18117,8 @@ static const struct LevelUpMove sCrocalorLevelUpLearnset[] = { static const struct LevelUpMove sSkeledirgeLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_TORCH_SONG), + LEVEL_UP_MOVE( 1, MOVE_SING), + LEVEL_UP_MOVE( 1, MOVE_YAWN), LEVEL_UP_MOVE( 1, MOVE_EMBER), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_LEER), @@ -18174,6 +18178,7 @@ static const struct LevelUpMove sQuaxwellLevelUpLearnset[] = { static const struct LevelUpMove sQuaquavalLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_AQUA_STEP), + LEVEL_UP_MOVE( 1, MOVE_COUNTER), LEVEL_UP_MOVE( 1, MOVE_POUND), LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), @@ -18658,6 +18663,10 @@ static const struct LevelUpMove sArmarougeLevelUpLearnset[] = { static const struct LevelUpMove sCeruledgeLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_SHADOW_CLAW), + LEVEL_UP_MOVE( 1, MOVE_NIGHT_SLASH), + LEVEL_UP_MOVE( 1, MOVE_SHADOW_SNEAK), + LEVEL_UP_MOVE( 1, MOVE_QUICK_GUARD), + LEVEL_UP_MOVE( 1, MOVE_SOLAR_BLADE), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 1, MOVE_EMBER), LEVEL_UP_MOVE( 1, MOVE_ASTONISH), @@ -18994,6 +19003,8 @@ static const struct LevelUpMove sRellorLevelUpLearnset[] = { static const struct LevelUpMove sRabscaLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_REVIVAL_BLESSING), + LEVEL_UP_MOVE( 1, MOVE_SAFEGUARD), + LEVEL_UP_MOVE( 1, MOVE_PSYCH_UP), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_DEFENSE_CURL), LEVEL_UP_MOVE( 1, MOVE_CONFUSION), @@ -19520,6 +19531,7 @@ static const struct LevelUpMove sGreatTuskLevelUpLearnset[] = { #if P_FAMILY_SCREAM_TAIL static const struct LevelUpMove sScreamTailLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SUNNY_DAY), LEVEL_UP_MOVE( 1, MOVE_POUND), LEVEL_UP_MOVE( 1, MOVE_SING), LEVEL_UP_MOVE( 1, MOVE_DISABLE), @@ -19542,6 +19554,7 @@ static const struct LevelUpMove sScreamTailLevelUpLearnset[] = { #if P_FAMILY_BRUTE_BONNET static const struct LevelUpMove sBruteBonnetLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SUNNY_DAY), LEVEL_UP_MOVE( 1, MOVE_ABSORB), LEVEL_UP_MOVE( 1, MOVE_GROWTH), LEVEL_UP_MOVE( 1, MOVE_ASTONISH), @@ -19563,6 +19576,7 @@ static const struct LevelUpMove sBruteBonnetLevelUpLearnset[] = { #if P_FAMILY_FLUTTER_MANE static const struct LevelUpMove sFlutterManeLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SUNNY_DAY), LEVEL_UP_MOVE( 1, MOVE_CONFUSE_RAY), LEVEL_UP_MOVE( 1, MOVE_SPITE), LEVEL_UP_MOVE( 1, MOVE_ASTONISH), @@ -19585,6 +19599,7 @@ static const struct LevelUpMove sFlutterManeLevelUpLearnset[] = { #if P_FAMILY_SLITHER_WING static const struct LevelUpMove sSlitherWingLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SUNNY_DAY), LEVEL_UP_MOVE( 1, MOVE_GUST), LEVEL_UP_MOVE( 1, MOVE_EMBER), LEVEL_UP_MOVE( 1, MOVE_BUG_BITE), @@ -19608,6 +19623,7 @@ static const struct LevelUpMove sSlitherWingLevelUpLearnset[] = { #if P_FAMILY_SANDY_SHOCKS static const struct LevelUpMove sSandyShocksLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SUNNY_DAY), LEVEL_UP_MOVE( 1, MOVE_THUNDER_WAVE), LEVEL_UP_MOVE( 1, MOVE_ELECTRIC_TERRAIN), LEVEL_UP_MOVE( 1, MOVE_SUPERSONIC), @@ -19653,6 +19669,7 @@ static const struct LevelUpMove sIronTreadsLevelUpLearnset[] = { #if P_FAMILY_IRON_BUNDLE static const struct LevelUpMove sIronBundleLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_ELECTRIC_TERRAIN), LEVEL_UP_MOVE( 1, MOVE_PRESENT), LEVEL_UP_MOVE( 7, MOVE_POWDER_SNOW), LEVEL_UP_MOVE(14, MOVE_WHIRLPOOL), @@ -19673,6 +19690,7 @@ static const struct LevelUpMove sIronBundleLevelUpLearnset[] = { #if P_FAMILY_IRON_HANDS static const struct LevelUpMove sIronHandsLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_ELECTRIC_TERRAIN), LEVEL_UP_MOVE( 1, MOVE_SAND_ATTACK), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_FOCUS_ENERGY), @@ -19719,6 +19737,7 @@ static const struct LevelUpMove sIronJugulisLevelUpLearnset[] = { #if P_FAMILY_IRON_MOTH static const struct LevelUpMove sIronMothLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_ELECTRIC_TERRAIN), LEVEL_UP_MOVE( 1, MOVE_GUST), LEVEL_UP_MOVE( 1, MOVE_WHIRLWIND), LEVEL_UP_MOVE( 1, MOVE_EMBER), @@ -19742,11 +19761,12 @@ static const struct LevelUpMove sIronMothLevelUpLearnset[] = { #if P_FAMILY_IRON_THORNS static const struct LevelUpMove sIronThornsLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_ELECTRIC_TERRAIN), LEVEL_UP_MOVE( 1, MOVE_ROCK_THROW), LEVEL_UP_MOVE( 1, MOVE_FIRE_FANG), LEVEL_UP_MOVE( 1, MOVE_ICE_FANG), - LEVEL_UP_MOVE( 1, MOVE_THUNDER_FANG), LEVEL_UP_MOVE( 1, MOVE_IRON_DEFENSE), + LEVEL_UP_MOVE( 1, MOVE_THUNDER_FANG), LEVEL_UP_MOVE( 7, MOVE_SCREECH), LEVEL_UP_MOVE(21, MOVE_ROCK_TOMB), LEVEL_UP_MOVE(28, MOVE_BITE), @@ -19943,6 +19963,10 @@ static const struct LevelUpMove sChiYuLevelUpLearnset[] = { #if P_FAMILY_ROARING_MOON static const struct LevelUpMove sRoaringMoonLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SUNNY_DAY), + LEVEL_UP_MOVE( 1, MOVE_JAW_LOCK), + LEVEL_UP_MOVE( 1, MOVE_BREAKING_SWIPE), + LEVEL_UP_MOVE( 1, MOVE_SCALE_SHOT), LEVEL_UP_MOVE( 1, MOVE_DRAGON_BREATH), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 1, MOVE_BITE), @@ -19966,6 +19990,7 @@ static const struct LevelUpMove sRoaringMoonLevelUpLearnset[] = { #if P_FAMILY_IRON_VALIANT static const struct LevelUpMove sIronValiantLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_ELECTRIC_TERRAIN), LEVEL_UP_MOVE( 1, MOVE_DISABLE), LEVEL_UP_MOVE( 1, MOVE_DOUBLE_TEAM), LEVEL_UP_MOVE( 1, MOVE_SHADOW_SNEAK), @@ -19981,8 +20006,8 @@ static const struct LevelUpMove sIronValiantLevelUpLearnset[] = { LEVEL_UP_MOVE(63, MOVE_CLOSE_COMBAT), LEVEL_UP_MOVE(70, MOVE_KNOCK_OFF), LEVEL_UP_MOVE(77, MOVE_DESTINY_BOND), - LEVEL_UP_MOVE(84, MOVE_QUICK_GUARD), LEVEL_UP_MOVE(84, MOVE_WIDE_GUARD), + LEVEL_UP_MOVE(84, MOVE_QUICK_GUARD), LEVEL_UP_MOVE(91, MOVE_SPIRIT_BREAK), LEVEL_UP_END }; @@ -20034,6 +20059,8 @@ static const struct LevelUpMove sMiraidonLevelUpLearnset[] = { #if P_FAMILY_WALKING_WAKE static const struct LevelUpMove sWalkingWakeLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SUNNY_DAY), + LEVEL_UP_MOVE( 1, MOVE_HONE_CLAWS), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 1, MOVE_ROAR), LEVEL_UP_MOVE( 1, MOVE_TWISTER), @@ -20055,6 +20082,8 @@ static const struct LevelUpMove sWalkingWakeLevelUpLearnset[] = { #if P_FAMILY_IRON_LEAVES static const struct LevelUpMove sIronLeavesLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_QUASH), + LEVEL_UP_MOVE( 1, MOVE_ELECTRIC_TERRAIN), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 1, MOVE_QUICK_ATTACK), LEVEL_UP_MOVE( 1, MOVE_HELPING_HAND), @@ -20162,8 +20191,8 @@ static const struct LevelUpMove sFezandipitiLevelUpLearnset[] = { LEVEL_UP_MOVE(32, MOVE_CROSS_POISON), LEVEL_UP_MOVE(40, MOVE_TAIL_SLAP), LEVEL_UP_MOVE(48, MOVE_BEAT_UP), - LEVEL_UP_MOVE(56, MOVE_FLATTER), LEVEL_UP_MOVE(56, MOVE_SWAGGER), + LEVEL_UP_MOVE(56, MOVE_FLATTER), LEVEL_UP_MOVE(64, MOVE_ROOST), LEVEL_UP_MOVE(72, MOVE_MOONBLAST), LEVEL_UP_END @@ -20172,6 +20201,10 @@ static const struct LevelUpMove sFezandipitiLevelUpLearnset[] = { #if P_FAMILY_OGERPON static const struct LevelUpMove sOgerponLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_DOUBLE_KICK), + LEVEL_UP_MOVE( 1, MOVE_COUNTER), + LEVEL_UP_MOVE( 1, MOVE_RETALIATE), + LEVEL_UP_MOVE( 1, MOVE_HORN_LEECH), LEVEL_UP_MOVE( 1, MOVE_VINE_WHIP), LEVEL_UP_MOVE( 1, MOVE_LEECH_SEED), LEVEL_UP_MOVE( 1, MOVE_QUICK_ATTACK), @@ -20193,6 +20226,9 @@ static const struct LevelUpMove sOgerponLevelUpLearnset[] = { #if P_FAMILY_GOUGING_FIRE static const struct LevelUpMove sGougingFireLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_DOUBLE_KICK), + LEVEL_UP_MOVE( 1, MOVE_ANCIENT_POWER), + LEVEL_UP_MOVE( 1, MOVE_NOBLE_ROAR), LEVEL_UP_MOVE( 1, MOVE_STOMP), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 1, MOVE_INCINERATE), @@ -20216,6 +20252,7 @@ static const struct LevelUpMove sGougingFireLevelUpLearnset[] = { #if P_FAMILY_RAGING_BOLT static const struct LevelUpMove sRagingBoltLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_ANCIENT_POWER), LEVEL_UP_MOVE( 1, MOVE_TWISTER), LEVEL_UP_MOVE( 1, MOVE_SUNNY_DAY), LEVEL_UP_MOVE( 1, MOVE_SHOCK_WAVE), @@ -20303,6 +20340,9 @@ static const struct LevelUpMove sTerapagosLevelUpLearnset[] = { #if P_FAMILY_PECHARUNT static const struct LevelUpMove sPecharuntLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_DEFENSE_CURL), + LEVEL_UP_MOVE( 1, MOVE_ROLLOUT), + LEVEL_UP_MOVE( 1, MOVE_MEAN_LOOK), LEVEL_UP_MOVE( 1, MOVE_SMOG), LEVEL_UP_MOVE( 1, MOVE_POISON_GAS), LEVEL_UP_MOVE( 1, MOVE_MEMENTO), diff --git a/src/data/pokemon/level_up_learnsets/gen_4.h b/src/data/pokemon/level_up_learnsets/gen_4.h index 169281c56f15..f620abc3df48 100644 --- a/src/data/pokemon/level_up_learnsets/gen_4.h +++ b/src/data/pokemon/level_up_learnsets/gen_4.h @@ -19331,6 +19331,8 @@ static const struct LevelUpMove sFloragatoLevelUpLearnset[] = { static const struct LevelUpMove sMeowscaradaLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_FLOWER_TRICK), + LEVEL_UP_MOVE( 1, MOVE_DOUBLE_TEAM), + LEVEL_UP_MOVE( 1, MOVE_TRICK), LEVEL_UP_MOVE( 1, MOVE_LEAFAGE), LEVEL_UP_MOVE( 1, MOVE_SCRATCH), LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), @@ -19389,6 +19391,8 @@ static const struct LevelUpMove sCrocalorLevelUpLearnset[] = { static const struct LevelUpMove sSkeledirgeLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_TORCH_SONG), + LEVEL_UP_MOVE( 1, MOVE_SING), + LEVEL_UP_MOVE( 1, MOVE_YAWN), LEVEL_UP_MOVE( 1, MOVE_EMBER), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_LEER), @@ -19448,6 +19452,7 @@ static const struct LevelUpMove sQuaxwellLevelUpLearnset[] = { static const struct LevelUpMove sQuaquavalLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_AQUA_STEP), + LEVEL_UP_MOVE( 1, MOVE_COUNTER), LEVEL_UP_MOVE( 1, MOVE_POUND), LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), @@ -19932,6 +19937,10 @@ static const struct LevelUpMove sArmarougeLevelUpLearnset[] = { static const struct LevelUpMove sCeruledgeLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_SHADOW_CLAW), + LEVEL_UP_MOVE( 1, MOVE_NIGHT_SLASH), + LEVEL_UP_MOVE( 1, MOVE_SHADOW_SNEAK), + LEVEL_UP_MOVE( 1, MOVE_QUICK_GUARD), + LEVEL_UP_MOVE( 1, MOVE_SOLAR_BLADE), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 1, MOVE_EMBER), LEVEL_UP_MOVE( 1, MOVE_ASTONISH), @@ -20268,6 +20277,8 @@ static const struct LevelUpMove sRellorLevelUpLearnset[] = { static const struct LevelUpMove sRabscaLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_REVIVAL_BLESSING), + LEVEL_UP_MOVE( 1, MOVE_SAFEGUARD), + LEVEL_UP_MOVE( 1, MOVE_PSYCH_UP), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_DEFENSE_CURL), LEVEL_UP_MOVE( 1, MOVE_CONFUSION), @@ -20794,6 +20805,7 @@ static const struct LevelUpMove sGreatTuskLevelUpLearnset[] = { #if P_FAMILY_SCREAM_TAIL static const struct LevelUpMove sScreamTailLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SUNNY_DAY), LEVEL_UP_MOVE( 1, MOVE_POUND), LEVEL_UP_MOVE( 1, MOVE_SING), LEVEL_UP_MOVE( 1, MOVE_DISABLE), @@ -20816,6 +20828,7 @@ static const struct LevelUpMove sScreamTailLevelUpLearnset[] = { #if P_FAMILY_BRUTE_BONNET static const struct LevelUpMove sBruteBonnetLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SUNNY_DAY), LEVEL_UP_MOVE( 1, MOVE_ABSORB), LEVEL_UP_MOVE( 1, MOVE_GROWTH), LEVEL_UP_MOVE( 1, MOVE_ASTONISH), @@ -20837,6 +20850,7 @@ static const struct LevelUpMove sBruteBonnetLevelUpLearnset[] = { #if P_FAMILY_FLUTTER_MANE static const struct LevelUpMove sFlutterManeLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SUNNY_DAY), LEVEL_UP_MOVE( 1, MOVE_CONFUSE_RAY), LEVEL_UP_MOVE( 1, MOVE_SPITE), LEVEL_UP_MOVE( 1, MOVE_ASTONISH), @@ -20859,6 +20873,7 @@ static const struct LevelUpMove sFlutterManeLevelUpLearnset[] = { #if P_FAMILY_SLITHER_WING static const struct LevelUpMove sSlitherWingLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SUNNY_DAY), LEVEL_UP_MOVE( 1, MOVE_GUST), LEVEL_UP_MOVE( 1, MOVE_EMBER), LEVEL_UP_MOVE( 1, MOVE_BUG_BITE), @@ -20882,6 +20897,7 @@ static const struct LevelUpMove sSlitherWingLevelUpLearnset[] = { #if P_FAMILY_SANDY_SHOCKS static const struct LevelUpMove sSandyShocksLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SUNNY_DAY), LEVEL_UP_MOVE( 1, MOVE_THUNDER_WAVE), LEVEL_UP_MOVE( 1, MOVE_ELECTRIC_TERRAIN), LEVEL_UP_MOVE( 1, MOVE_SUPERSONIC), @@ -20927,6 +20943,7 @@ static const struct LevelUpMove sIronTreadsLevelUpLearnset[] = { #if P_FAMILY_IRON_BUNDLE static const struct LevelUpMove sIronBundleLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_ELECTRIC_TERRAIN), LEVEL_UP_MOVE( 1, MOVE_PRESENT), LEVEL_UP_MOVE( 7, MOVE_POWDER_SNOW), LEVEL_UP_MOVE(14, MOVE_WHIRLPOOL), @@ -20947,6 +20964,7 @@ static const struct LevelUpMove sIronBundleLevelUpLearnset[] = { #if P_FAMILY_IRON_HANDS static const struct LevelUpMove sIronHandsLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_ELECTRIC_TERRAIN), LEVEL_UP_MOVE( 1, MOVE_SAND_ATTACK), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_FOCUS_ENERGY), @@ -20993,6 +21011,7 @@ static const struct LevelUpMove sIronJugulisLevelUpLearnset[] = { #if P_FAMILY_IRON_MOTH static const struct LevelUpMove sIronMothLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_ELECTRIC_TERRAIN), LEVEL_UP_MOVE( 1, MOVE_GUST), LEVEL_UP_MOVE( 1, MOVE_WHIRLWIND), LEVEL_UP_MOVE( 1, MOVE_EMBER), @@ -21016,11 +21035,12 @@ static const struct LevelUpMove sIronMothLevelUpLearnset[] = { #if P_FAMILY_IRON_THORNS static const struct LevelUpMove sIronThornsLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_ELECTRIC_TERRAIN), LEVEL_UP_MOVE( 1, MOVE_ROCK_THROW), LEVEL_UP_MOVE( 1, MOVE_FIRE_FANG), LEVEL_UP_MOVE( 1, MOVE_ICE_FANG), - LEVEL_UP_MOVE( 1, MOVE_THUNDER_FANG), LEVEL_UP_MOVE( 1, MOVE_IRON_DEFENSE), + LEVEL_UP_MOVE( 1, MOVE_THUNDER_FANG), LEVEL_UP_MOVE( 7, MOVE_SCREECH), LEVEL_UP_MOVE(21, MOVE_ROCK_TOMB), LEVEL_UP_MOVE(28, MOVE_BITE), @@ -21217,6 +21237,10 @@ static const struct LevelUpMove sChiYuLevelUpLearnset[] = { #if P_FAMILY_ROARING_MOON static const struct LevelUpMove sRoaringMoonLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SUNNY_DAY), + LEVEL_UP_MOVE( 1, MOVE_JAW_LOCK), + LEVEL_UP_MOVE( 1, MOVE_BREAKING_SWIPE), + LEVEL_UP_MOVE( 1, MOVE_SCALE_SHOT), LEVEL_UP_MOVE( 1, MOVE_DRAGON_BREATH), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 1, MOVE_BITE), @@ -21240,6 +21264,7 @@ static const struct LevelUpMove sRoaringMoonLevelUpLearnset[] = { #if P_FAMILY_IRON_VALIANT static const struct LevelUpMove sIronValiantLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_ELECTRIC_TERRAIN), LEVEL_UP_MOVE( 1, MOVE_DISABLE), LEVEL_UP_MOVE( 1, MOVE_DOUBLE_TEAM), LEVEL_UP_MOVE( 1, MOVE_SHADOW_SNEAK), @@ -21255,8 +21280,8 @@ static const struct LevelUpMove sIronValiantLevelUpLearnset[] = { LEVEL_UP_MOVE(63, MOVE_CLOSE_COMBAT), LEVEL_UP_MOVE(70, MOVE_KNOCK_OFF), LEVEL_UP_MOVE(77, MOVE_DESTINY_BOND), - LEVEL_UP_MOVE(84, MOVE_QUICK_GUARD), LEVEL_UP_MOVE(84, MOVE_WIDE_GUARD), + LEVEL_UP_MOVE(84, MOVE_QUICK_GUARD), LEVEL_UP_MOVE(91, MOVE_SPIRIT_BREAK), LEVEL_UP_END }; @@ -21308,6 +21333,8 @@ static const struct LevelUpMove sMiraidonLevelUpLearnset[] = { #if P_FAMILY_WALKING_WAKE static const struct LevelUpMove sWalkingWakeLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SUNNY_DAY), + LEVEL_UP_MOVE( 1, MOVE_HONE_CLAWS), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 1, MOVE_ROAR), LEVEL_UP_MOVE( 1, MOVE_TWISTER), @@ -21329,6 +21356,8 @@ static const struct LevelUpMove sWalkingWakeLevelUpLearnset[] = { #if P_FAMILY_IRON_LEAVES static const struct LevelUpMove sIronLeavesLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_QUASH), + LEVEL_UP_MOVE( 1, MOVE_ELECTRIC_TERRAIN), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 1, MOVE_QUICK_ATTACK), LEVEL_UP_MOVE( 1, MOVE_HELPING_HAND), @@ -21436,8 +21465,8 @@ static const struct LevelUpMove sFezandipitiLevelUpLearnset[] = { LEVEL_UP_MOVE(32, MOVE_CROSS_POISON), LEVEL_UP_MOVE(40, MOVE_TAIL_SLAP), LEVEL_UP_MOVE(48, MOVE_BEAT_UP), - LEVEL_UP_MOVE(56, MOVE_FLATTER), LEVEL_UP_MOVE(56, MOVE_SWAGGER), + LEVEL_UP_MOVE(56, MOVE_FLATTER), LEVEL_UP_MOVE(64, MOVE_ROOST), LEVEL_UP_MOVE(72, MOVE_MOONBLAST), LEVEL_UP_END @@ -21446,6 +21475,10 @@ static const struct LevelUpMove sFezandipitiLevelUpLearnset[] = { #if P_FAMILY_OGERPON static const struct LevelUpMove sOgerponLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_DOUBLE_KICK), + LEVEL_UP_MOVE( 1, MOVE_COUNTER), + LEVEL_UP_MOVE( 1, MOVE_RETALIATE), + LEVEL_UP_MOVE( 1, MOVE_HORN_LEECH), LEVEL_UP_MOVE( 1, MOVE_VINE_WHIP), LEVEL_UP_MOVE( 1, MOVE_LEECH_SEED), LEVEL_UP_MOVE( 1, MOVE_QUICK_ATTACK), @@ -21467,6 +21500,9 @@ static const struct LevelUpMove sOgerponLevelUpLearnset[] = { #if P_FAMILY_GOUGING_FIRE static const struct LevelUpMove sGougingFireLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_DOUBLE_KICK), + LEVEL_UP_MOVE( 1, MOVE_ANCIENT_POWER), + LEVEL_UP_MOVE( 1, MOVE_NOBLE_ROAR), LEVEL_UP_MOVE( 1, MOVE_STOMP), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 1, MOVE_INCINERATE), @@ -21490,6 +21526,7 @@ static const struct LevelUpMove sGougingFireLevelUpLearnset[] = { #if P_FAMILY_RAGING_BOLT static const struct LevelUpMove sRagingBoltLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_ANCIENT_POWER), LEVEL_UP_MOVE( 1, MOVE_TWISTER), LEVEL_UP_MOVE( 1, MOVE_SUNNY_DAY), LEVEL_UP_MOVE( 1, MOVE_SHOCK_WAVE), @@ -21577,6 +21614,9 @@ static const struct LevelUpMove sTerapagosLevelUpLearnset[] = { #if P_FAMILY_PECHARUNT static const struct LevelUpMove sPecharuntLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_DEFENSE_CURL), + LEVEL_UP_MOVE( 1, MOVE_ROLLOUT), + LEVEL_UP_MOVE( 1, MOVE_MEAN_LOOK), LEVEL_UP_MOVE( 1, MOVE_SMOG), LEVEL_UP_MOVE( 1, MOVE_POISON_GAS), LEVEL_UP_MOVE( 1, MOVE_MEMENTO), diff --git a/src/data/pokemon/level_up_learnsets/gen_5.h b/src/data/pokemon/level_up_learnsets/gen_5.h index af612cf583ed..b02bbdf4304a 100644 --- a/src/data/pokemon/level_up_learnsets/gen_5.h +++ b/src/data/pokemon/level_up_learnsets/gen_5.h @@ -19854,6 +19854,8 @@ static const struct LevelUpMove sFloragatoLevelUpLearnset[] = { static const struct LevelUpMove sMeowscaradaLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_FLOWER_TRICK), + LEVEL_UP_MOVE( 1, MOVE_DOUBLE_TEAM), + LEVEL_UP_MOVE( 1, MOVE_TRICK), LEVEL_UP_MOVE( 1, MOVE_LEAFAGE), LEVEL_UP_MOVE( 1, MOVE_SCRATCH), LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), @@ -19912,6 +19914,8 @@ static const struct LevelUpMove sCrocalorLevelUpLearnset[] = { static const struct LevelUpMove sSkeledirgeLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_TORCH_SONG), + LEVEL_UP_MOVE( 1, MOVE_SING), + LEVEL_UP_MOVE( 1, MOVE_YAWN), LEVEL_UP_MOVE( 1, MOVE_EMBER), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_LEER), @@ -19971,6 +19975,7 @@ static const struct LevelUpMove sQuaxwellLevelUpLearnset[] = { static const struct LevelUpMove sQuaquavalLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_AQUA_STEP), + LEVEL_UP_MOVE( 1, MOVE_COUNTER), LEVEL_UP_MOVE( 1, MOVE_POUND), LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), @@ -20455,6 +20460,10 @@ static const struct LevelUpMove sArmarougeLevelUpLearnset[] = { static const struct LevelUpMove sCeruledgeLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_SHADOW_CLAW), + LEVEL_UP_MOVE( 1, MOVE_NIGHT_SLASH), + LEVEL_UP_MOVE( 1, MOVE_SHADOW_SNEAK), + LEVEL_UP_MOVE( 1, MOVE_QUICK_GUARD), + LEVEL_UP_MOVE( 1, MOVE_SOLAR_BLADE), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 1, MOVE_EMBER), LEVEL_UP_MOVE( 1, MOVE_ASTONISH), @@ -20791,6 +20800,8 @@ static const struct LevelUpMove sRellorLevelUpLearnset[] = { static const struct LevelUpMove sRabscaLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_REVIVAL_BLESSING), + LEVEL_UP_MOVE( 1, MOVE_SAFEGUARD), + LEVEL_UP_MOVE( 1, MOVE_PSYCH_UP), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_DEFENSE_CURL), LEVEL_UP_MOVE( 1, MOVE_CONFUSION), @@ -21317,6 +21328,7 @@ static const struct LevelUpMove sGreatTuskLevelUpLearnset[] = { #if P_FAMILY_SCREAM_TAIL static const struct LevelUpMove sScreamTailLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SUNNY_DAY), LEVEL_UP_MOVE( 1, MOVE_POUND), LEVEL_UP_MOVE( 1, MOVE_SING), LEVEL_UP_MOVE( 1, MOVE_DISABLE), @@ -21339,6 +21351,7 @@ static const struct LevelUpMove sScreamTailLevelUpLearnset[] = { #if P_FAMILY_BRUTE_BONNET static const struct LevelUpMove sBruteBonnetLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SUNNY_DAY), LEVEL_UP_MOVE( 1, MOVE_ABSORB), LEVEL_UP_MOVE( 1, MOVE_GROWTH), LEVEL_UP_MOVE( 1, MOVE_ASTONISH), @@ -21360,6 +21373,7 @@ static const struct LevelUpMove sBruteBonnetLevelUpLearnset[] = { #if P_FAMILY_FLUTTER_MANE static const struct LevelUpMove sFlutterManeLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SUNNY_DAY), LEVEL_UP_MOVE( 1, MOVE_CONFUSE_RAY), LEVEL_UP_MOVE( 1, MOVE_SPITE), LEVEL_UP_MOVE( 1, MOVE_ASTONISH), @@ -21382,6 +21396,7 @@ static const struct LevelUpMove sFlutterManeLevelUpLearnset[] = { #if P_FAMILY_SLITHER_WING static const struct LevelUpMove sSlitherWingLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SUNNY_DAY), LEVEL_UP_MOVE( 1, MOVE_GUST), LEVEL_UP_MOVE( 1, MOVE_EMBER), LEVEL_UP_MOVE( 1, MOVE_BUG_BITE), @@ -21405,6 +21420,7 @@ static const struct LevelUpMove sSlitherWingLevelUpLearnset[] = { #if P_FAMILY_SANDY_SHOCKS static const struct LevelUpMove sSandyShocksLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SUNNY_DAY), LEVEL_UP_MOVE( 1, MOVE_THUNDER_WAVE), LEVEL_UP_MOVE( 1, MOVE_ELECTRIC_TERRAIN), LEVEL_UP_MOVE( 1, MOVE_SUPERSONIC), @@ -21450,6 +21466,7 @@ static const struct LevelUpMove sIronTreadsLevelUpLearnset[] = { #if P_FAMILY_IRON_BUNDLE static const struct LevelUpMove sIronBundleLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_ELECTRIC_TERRAIN), LEVEL_UP_MOVE( 1, MOVE_PRESENT), LEVEL_UP_MOVE( 7, MOVE_POWDER_SNOW), LEVEL_UP_MOVE(14, MOVE_WHIRLPOOL), @@ -21470,6 +21487,7 @@ static const struct LevelUpMove sIronBundleLevelUpLearnset[] = { #if P_FAMILY_IRON_HANDS static const struct LevelUpMove sIronHandsLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_ELECTRIC_TERRAIN), LEVEL_UP_MOVE( 1, MOVE_SAND_ATTACK), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_FOCUS_ENERGY), @@ -21516,6 +21534,7 @@ static const struct LevelUpMove sIronJugulisLevelUpLearnset[] = { #if P_FAMILY_IRON_MOTH static const struct LevelUpMove sIronMothLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_ELECTRIC_TERRAIN), LEVEL_UP_MOVE( 1, MOVE_GUST), LEVEL_UP_MOVE( 1, MOVE_WHIRLWIND), LEVEL_UP_MOVE( 1, MOVE_EMBER), @@ -21539,11 +21558,12 @@ static const struct LevelUpMove sIronMothLevelUpLearnset[] = { #if P_FAMILY_IRON_THORNS static const struct LevelUpMove sIronThornsLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_ELECTRIC_TERRAIN), LEVEL_UP_MOVE( 1, MOVE_ROCK_THROW), LEVEL_UP_MOVE( 1, MOVE_FIRE_FANG), LEVEL_UP_MOVE( 1, MOVE_ICE_FANG), - LEVEL_UP_MOVE( 1, MOVE_THUNDER_FANG), LEVEL_UP_MOVE( 1, MOVE_IRON_DEFENSE), + LEVEL_UP_MOVE( 1, MOVE_THUNDER_FANG), LEVEL_UP_MOVE( 7, MOVE_SCREECH), LEVEL_UP_MOVE(21, MOVE_ROCK_TOMB), LEVEL_UP_MOVE(28, MOVE_BITE), @@ -21740,6 +21760,10 @@ static const struct LevelUpMove sChiYuLevelUpLearnset[] = { #if P_FAMILY_ROARING_MOON static const struct LevelUpMove sRoaringMoonLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SUNNY_DAY), + LEVEL_UP_MOVE( 1, MOVE_JAW_LOCK), + LEVEL_UP_MOVE( 1, MOVE_BREAKING_SWIPE), + LEVEL_UP_MOVE( 1, MOVE_SCALE_SHOT), LEVEL_UP_MOVE( 1, MOVE_DRAGON_BREATH), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 1, MOVE_BITE), @@ -21763,6 +21787,7 @@ static const struct LevelUpMove sRoaringMoonLevelUpLearnset[] = { #if P_FAMILY_IRON_VALIANT static const struct LevelUpMove sIronValiantLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_ELECTRIC_TERRAIN), LEVEL_UP_MOVE( 1, MOVE_DISABLE), LEVEL_UP_MOVE( 1, MOVE_DOUBLE_TEAM), LEVEL_UP_MOVE( 1, MOVE_SHADOW_SNEAK), @@ -21778,8 +21803,8 @@ static const struct LevelUpMove sIronValiantLevelUpLearnset[] = { LEVEL_UP_MOVE(63, MOVE_CLOSE_COMBAT), LEVEL_UP_MOVE(70, MOVE_KNOCK_OFF), LEVEL_UP_MOVE(77, MOVE_DESTINY_BOND), - LEVEL_UP_MOVE(84, MOVE_QUICK_GUARD), LEVEL_UP_MOVE(84, MOVE_WIDE_GUARD), + LEVEL_UP_MOVE(84, MOVE_QUICK_GUARD), LEVEL_UP_MOVE(91, MOVE_SPIRIT_BREAK), LEVEL_UP_END }; @@ -21831,6 +21856,8 @@ static const struct LevelUpMove sMiraidonLevelUpLearnset[] = { #if P_FAMILY_WALKING_WAKE static const struct LevelUpMove sWalkingWakeLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SUNNY_DAY), + LEVEL_UP_MOVE( 1, MOVE_HONE_CLAWS), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 1, MOVE_ROAR), LEVEL_UP_MOVE( 1, MOVE_TWISTER), @@ -21852,6 +21879,8 @@ static const struct LevelUpMove sWalkingWakeLevelUpLearnset[] = { #if P_FAMILY_IRON_LEAVES static const struct LevelUpMove sIronLeavesLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_QUASH), + LEVEL_UP_MOVE( 1, MOVE_ELECTRIC_TERRAIN), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 1, MOVE_QUICK_ATTACK), LEVEL_UP_MOVE( 1, MOVE_HELPING_HAND), @@ -21959,8 +21988,8 @@ static const struct LevelUpMove sFezandipitiLevelUpLearnset[] = { LEVEL_UP_MOVE(32, MOVE_CROSS_POISON), LEVEL_UP_MOVE(40, MOVE_TAIL_SLAP), LEVEL_UP_MOVE(48, MOVE_BEAT_UP), - LEVEL_UP_MOVE(56, MOVE_FLATTER), LEVEL_UP_MOVE(56, MOVE_SWAGGER), + LEVEL_UP_MOVE(56, MOVE_FLATTER), LEVEL_UP_MOVE(64, MOVE_ROOST), LEVEL_UP_MOVE(72, MOVE_MOONBLAST), LEVEL_UP_END @@ -21969,6 +21998,10 @@ static const struct LevelUpMove sFezandipitiLevelUpLearnset[] = { #if P_FAMILY_OGERPON static const struct LevelUpMove sOgerponLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_DOUBLE_KICK), + LEVEL_UP_MOVE( 1, MOVE_COUNTER), + LEVEL_UP_MOVE( 1, MOVE_RETALIATE), + LEVEL_UP_MOVE( 1, MOVE_HORN_LEECH), LEVEL_UP_MOVE( 1, MOVE_VINE_WHIP), LEVEL_UP_MOVE( 1, MOVE_LEECH_SEED), LEVEL_UP_MOVE( 1, MOVE_QUICK_ATTACK), @@ -21990,6 +22023,9 @@ static const struct LevelUpMove sOgerponLevelUpLearnset[] = { #if P_FAMILY_GOUGING_FIRE static const struct LevelUpMove sGougingFireLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_DOUBLE_KICK), + LEVEL_UP_MOVE( 1, MOVE_ANCIENT_POWER), + LEVEL_UP_MOVE( 1, MOVE_NOBLE_ROAR), LEVEL_UP_MOVE( 1, MOVE_STOMP), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 1, MOVE_INCINERATE), @@ -22013,6 +22049,7 @@ static const struct LevelUpMove sGougingFireLevelUpLearnset[] = { #if P_FAMILY_RAGING_BOLT static const struct LevelUpMove sRagingBoltLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_ANCIENT_POWER), LEVEL_UP_MOVE( 1, MOVE_TWISTER), LEVEL_UP_MOVE( 1, MOVE_SUNNY_DAY), LEVEL_UP_MOVE( 1, MOVE_SHOCK_WAVE), @@ -22100,6 +22137,9 @@ static const struct LevelUpMove sTerapagosLevelUpLearnset[] = { #if P_FAMILY_PECHARUNT static const struct LevelUpMove sPecharuntLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_DEFENSE_CURL), + LEVEL_UP_MOVE( 1, MOVE_ROLLOUT), + LEVEL_UP_MOVE( 1, MOVE_MEAN_LOOK), LEVEL_UP_MOVE( 1, MOVE_SMOG), LEVEL_UP_MOVE( 1, MOVE_POISON_GAS), LEVEL_UP_MOVE( 1, MOVE_MEMENTO), diff --git a/src/data/pokemon/level_up_learnsets/gen_6.h b/src/data/pokemon/level_up_learnsets/gen_6.h index 59b05f96055c..3286c5ce4ee3 100644 --- a/src/data/pokemon/level_up_learnsets/gen_6.h +++ b/src/data/pokemon/level_up_learnsets/gen_6.h @@ -1787,7 +1787,7 @@ static const struct LevelUpMove sTentacruelLevelUpLearnset[] = { LEVEL_UP_MOVE(44, MOVE_HEX), LEVEL_UP_MOVE(48, MOVE_SLUDGE_WAVE), LEVEL_UP_MOVE(52, MOVE_HYDRO_PUMP), - LEVEL_UP_MOVE(56, MOVE_WRING_OUT), + LEVEL_UP_MOVE(56, MOVE_WRING_OUT), LEVEL_UP_END }; #endif //P_FAMILY_TENTACOOL @@ -20504,6 +20504,8 @@ static const struct LevelUpMove sFloragatoLevelUpLearnset[] = { static const struct LevelUpMove sMeowscaradaLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_FLOWER_TRICK), + LEVEL_UP_MOVE( 1, MOVE_DOUBLE_TEAM), + LEVEL_UP_MOVE( 1, MOVE_TRICK), LEVEL_UP_MOVE( 1, MOVE_LEAFAGE), LEVEL_UP_MOVE( 1, MOVE_SCRATCH), LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), @@ -20562,6 +20564,8 @@ static const struct LevelUpMove sCrocalorLevelUpLearnset[] = { static const struct LevelUpMove sSkeledirgeLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_TORCH_SONG), + LEVEL_UP_MOVE( 1, MOVE_SING), + LEVEL_UP_MOVE( 1, MOVE_YAWN), LEVEL_UP_MOVE( 1, MOVE_EMBER), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_LEER), @@ -20621,6 +20625,7 @@ static const struct LevelUpMove sQuaxwellLevelUpLearnset[] = { static const struct LevelUpMove sQuaquavalLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_AQUA_STEP), + LEVEL_UP_MOVE( 1, MOVE_COUNTER), LEVEL_UP_MOVE( 1, MOVE_POUND), LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), @@ -21105,6 +21110,10 @@ static const struct LevelUpMove sArmarougeLevelUpLearnset[] = { static const struct LevelUpMove sCeruledgeLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_SHADOW_CLAW), + LEVEL_UP_MOVE( 1, MOVE_NIGHT_SLASH), + LEVEL_UP_MOVE( 1, MOVE_SHADOW_SNEAK), + LEVEL_UP_MOVE( 1, MOVE_QUICK_GUARD), + LEVEL_UP_MOVE( 1, MOVE_SOLAR_BLADE), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 1, MOVE_EMBER), LEVEL_UP_MOVE( 1, MOVE_ASTONISH), @@ -21441,6 +21450,8 @@ static const struct LevelUpMove sRellorLevelUpLearnset[] = { static const struct LevelUpMove sRabscaLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_REVIVAL_BLESSING), + LEVEL_UP_MOVE( 1, MOVE_SAFEGUARD), + LEVEL_UP_MOVE( 1, MOVE_PSYCH_UP), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_DEFENSE_CURL), LEVEL_UP_MOVE( 1, MOVE_CONFUSION), @@ -21967,6 +21978,7 @@ static const struct LevelUpMove sGreatTuskLevelUpLearnset[] = { #if P_FAMILY_SCREAM_TAIL static const struct LevelUpMove sScreamTailLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SUNNY_DAY), LEVEL_UP_MOVE( 1, MOVE_POUND), LEVEL_UP_MOVE( 1, MOVE_SING), LEVEL_UP_MOVE( 1, MOVE_DISABLE), @@ -21989,6 +22001,7 @@ static const struct LevelUpMove sScreamTailLevelUpLearnset[] = { #if P_FAMILY_BRUTE_BONNET static const struct LevelUpMove sBruteBonnetLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SUNNY_DAY), LEVEL_UP_MOVE( 1, MOVE_ABSORB), LEVEL_UP_MOVE( 1, MOVE_GROWTH), LEVEL_UP_MOVE( 1, MOVE_ASTONISH), @@ -22010,6 +22023,7 @@ static const struct LevelUpMove sBruteBonnetLevelUpLearnset[] = { #if P_FAMILY_FLUTTER_MANE static const struct LevelUpMove sFlutterManeLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SUNNY_DAY), LEVEL_UP_MOVE( 1, MOVE_CONFUSE_RAY), LEVEL_UP_MOVE( 1, MOVE_SPITE), LEVEL_UP_MOVE( 1, MOVE_ASTONISH), @@ -22032,6 +22046,7 @@ static const struct LevelUpMove sFlutterManeLevelUpLearnset[] = { #if P_FAMILY_SLITHER_WING static const struct LevelUpMove sSlitherWingLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SUNNY_DAY), LEVEL_UP_MOVE( 1, MOVE_GUST), LEVEL_UP_MOVE( 1, MOVE_EMBER), LEVEL_UP_MOVE( 1, MOVE_BUG_BITE), @@ -22055,6 +22070,7 @@ static const struct LevelUpMove sSlitherWingLevelUpLearnset[] = { #if P_FAMILY_SANDY_SHOCKS static const struct LevelUpMove sSandyShocksLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SUNNY_DAY), LEVEL_UP_MOVE( 1, MOVE_THUNDER_WAVE), LEVEL_UP_MOVE( 1, MOVE_ELECTRIC_TERRAIN), LEVEL_UP_MOVE( 1, MOVE_SUPERSONIC), @@ -22100,6 +22116,7 @@ static const struct LevelUpMove sIronTreadsLevelUpLearnset[] = { #if P_FAMILY_IRON_BUNDLE static const struct LevelUpMove sIronBundleLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_ELECTRIC_TERRAIN), LEVEL_UP_MOVE( 1, MOVE_PRESENT), LEVEL_UP_MOVE( 7, MOVE_POWDER_SNOW), LEVEL_UP_MOVE(14, MOVE_WHIRLPOOL), @@ -22120,6 +22137,7 @@ static const struct LevelUpMove sIronBundleLevelUpLearnset[] = { #if P_FAMILY_IRON_HANDS static const struct LevelUpMove sIronHandsLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_ELECTRIC_TERRAIN), LEVEL_UP_MOVE( 1, MOVE_SAND_ATTACK), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_FOCUS_ENERGY), @@ -22166,6 +22184,7 @@ static const struct LevelUpMove sIronJugulisLevelUpLearnset[] = { #if P_FAMILY_IRON_MOTH static const struct LevelUpMove sIronMothLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_ELECTRIC_TERRAIN), LEVEL_UP_MOVE( 1, MOVE_GUST), LEVEL_UP_MOVE( 1, MOVE_WHIRLWIND), LEVEL_UP_MOVE( 1, MOVE_EMBER), @@ -22189,11 +22208,12 @@ static const struct LevelUpMove sIronMothLevelUpLearnset[] = { #if P_FAMILY_IRON_THORNS static const struct LevelUpMove sIronThornsLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_ELECTRIC_TERRAIN), LEVEL_UP_MOVE( 1, MOVE_ROCK_THROW), LEVEL_UP_MOVE( 1, MOVE_FIRE_FANG), LEVEL_UP_MOVE( 1, MOVE_ICE_FANG), - LEVEL_UP_MOVE( 1, MOVE_THUNDER_FANG), LEVEL_UP_MOVE( 1, MOVE_IRON_DEFENSE), + LEVEL_UP_MOVE( 1, MOVE_THUNDER_FANG), LEVEL_UP_MOVE( 7, MOVE_SCREECH), LEVEL_UP_MOVE(21, MOVE_ROCK_TOMB), LEVEL_UP_MOVE(28, MOVE_BITE), @@ -22390,6 +22410,10 @@ static const struct LevelUpMove sChiYuLevelUpLearnset[] = { #if P_FAMILY_ROARING_MOON static const struct LevelUpMove sRoaringMoonLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SUNNY_DAY), + LEVEL_UP_MOVE( 1, MOVE_JAW_LOCK), + LEVEL_UP_MOVE( 1, MOVE_BREAKING_SWIPE), + LEVEL_UP_MOVE( 1, MOVE_SCALE_SHOT), LEVEL_UP_MOVE( 1, MOVE_DRAGON_BREATH), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 1, MOVE_BITE), @@ -22413,6 +22437,7 @@ static const struct LevelUpMove sRoaringMoonLevelUpLearnset[] = { #if P_FAMILY_IRON_VALIANT static const struct LevelUpMove sIronValiantLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_ELECTRIC_TERRAIN), LEVEL_UP_MOVE( 1, MOVE_DISABLE), LEVEL_UP_MOVE( 1, MOVE_DOUBLE_TEAM), LEVEL_UP_MOVE( 1, MOVE_SHADOW_SNEAK), @@ -22428,8 +22453,8 @@ static const struct LevelUpMove sIronValiantLevelUpLearnset[] = { LEVEL_UP_MOVE(63, MOVE_CLOSE_COMBAT), LEVEL_UP_MOVE(70, MOVE_KNOCK_OFF), LEVEL_UP_MOVE(77, MOVE_DESTINY_BOND), - LEVEL_UP_MOVE(84, MOVE_QUICK_GUARD), LEVEL_UP_MOVE(84, MOVE_WIDE_GUARD), + LEVEL_UP_MOVE(84, MOVE_QUICK_GUARD), LEVEL_UP_MOVE(91, MOVE_SPIRIT_BREAK), LEVEL_UP_END }; @@ -22481,6 +22506,8 @@ static const struct LevelUpMove sMiraidonLevelUpLearnset[] = { #if P_FAMILY_WALKING_WAKE static const struct LevelUpMove sWalkingWakeLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SUNNY_DAY), + LEVEL_UP_MOVE( 1, MOVE_HONE_CLAWS), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 1, MOVE_ROAR), LEVEL_UP_MOVE( 1, MOVE_TWISTER), @@ -22502,6 +22529,8 @@ static const struct LevelUpMove sWalkingWakeLevelUpLearnset[] = { #if P_FAMILY_IRON_LEAVES static const struct LevelUpMove sIronLeavesLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_QUASH), + LEVEL_UP_MOVE( 1, MOVE_ELECTRIC_TERRAIN), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 1, MOVE_QUICK_ATTACK), LEVEL_UP_MOVE( 1, MOVE_HELPING_HAND), @@ -22609,8 +22638,8 @@ static const struct LevelUpMove sFezandipitiLevelUpLearnset[] = { LEVEL_UP_MOVE(32, MOVE_CROSS_POISON), LEVEL_UP_MOVE(40, MOVE_TAIL_SLAP), LEVEL_UP_MOVE(48, MOVE_BEAT_UP), - LEVEL_UP_MOVE(56, MOVE_FLATTER), LEVEL_UP_MOVE(56, MOVE_SWAGGER), + LEVEL_UP_MOVE(56, MOVE_FLATTER), LEVEL_UP_MOVE(64, MOVE_ROOST), LEVEL_UP_MOVE(72, MOVE_MOONBLAST), LEVEL_UP_END @@ -22619,6 +22648,10 @@ static const struct LevelUpMove sFezandipitiLevelUpLearnset[] = { #if P_FAMILY_OGERPON static const struct LevelUpMove sOgerponLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_DOUBLE_KICK), + LEVEL_UP_MOVE( 1, MOVE_COUNTER), + LEVEL_UP_MOVE( 1, MOVE_RETALIATE), + LEVEL_UP_MOVE( 1, MOVE_HORN_LEECH), LEVEL_UP_MOVE( 1, MOVE_VINE_WHIP), LEVEL_UP_MOVE( 1, MOVE_LEECH_SEED), LEVEL_UP_MOVE( 1, MOVE_QUICK_ATTACK), @@ -22640,6 +22673,9 @@ static const struct LevelUpMove sOgerponLevelUpLearnset[] = { #if P_FAMILY_GOUGING_FIRE static const struct LevelUpMove sGougingFireLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_DOUBLE_KICK), + LEVEL_UP_MOVE( 1, MOVE_ANCIENT_POWER), + LEVEL_UP_MOVE( 1, MOVE_NOBLE_ROAR), LEVEL_UP_MOVE( 1, MOVE_STOMP), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 1, MOVE_INCINERATE), @@ -22663,6 +22699,7 @@ static const struct LevelUpMove sGougingFireLevelUpLearnset[] = { #if P_FAMILY_RAGING_BOLT static const struct LevelUpMove sRagingBoltLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_ANCIENT_POWER), LEVEL_UP_MOVE( 1, MOVE_TWISTER), LEVEL_UP_MOVE( 1, MOVE_SUNNY_DAY), LEVEL_UP_MOVE( 1, MOVE_SHOCK_WAVE), @@ -22750,6 +22787,9 @@ static const struct LevelUpMove sTerapagosLevelUpLearnset[] = { #if P_FAMILY_PECHARUNT static const struct LevelUpMove sPecharuntLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_DEFENSE_CURL), + LEVEL_UP_MOVE( 1, MOVE_ROLLOUT), + LEVEL_UP_MOVE( 1, MOVE_MEAN_LOOK), LEVEL_UP_MOVE( 1, MOVE_SMOG), LEVEL_UP_MOVE( 1, MOVE_POISON_GAS), LEVEL_UP_MOVE( 1, MOVE_MEMENTO), diff --git a/src/data/pokemon/level_up_learnsets/gen_7.h b/src/data/pokemon/level_up_learnsets/gen_7.h index dd561a27fafd..1b95b442e0f2 100644 --- a/src/data/pokemon/level_up_learnsets/gen_7.h +++ b/src/data/pokemon/level_up_learnsets/gen_7.h @@ -20867,6 +20867,8 @@ static const struct LevelUpMove sFloragatoLevelUpLearnset[] = { static const struct LevelUpMove sMeowscaradaLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_FLOWER_TRICK), + LEVEL_UP_MOVE( 1, MOVE_DOUBLE_TEAM), + LEVEL_UP_MOVE( 1, MOVE_TRICK), LEVEL_UP_MOVE( 1, MOVE_LEAFAGE), LEVEL_UP_MOVE( 1, MOVE_SCRATCH), LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), @@ -20925,6 +20927,8 @@ static const struct LevelUpMove sCrocalorLevelUpLearnset[] = { static const struct LevelUpMove sSkeledirgeLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_TORCH_SONG), + LEVEL_UP_MOVE( 1, MOVE_SING), + LEVEL_UP_MOVE( 1, MOVE_YAWN), LEVEL_UP_MOVE( 1, MOVE_EMBER), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_LEER), @@ -20984,6 +20988,7 @@ static const struct LevelUpMove sQuaxwellLevelUpLearnset[] = { static const struct LevelUpMove sQuaquavalLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_AQUA_STEP), + LEVEL_UP_MOVE( 1, MOVE_COUNTER), LEVEL_UP_MOVE( 1, MOVE_POUND), LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), @@ -21468,6 +21473,10 @@ static const struct LevelUpMove sArmarougeLevelUpLearnset[] = { static const struct LevelUpMove sCeruledgeLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_SHADOW_CLAW), + LEVEL_UP_MOVE( 1, MOVE_NIGHT_SLASH), + LEVEL_UP_MOVE( 1, MOVE_SHADOW_SNEAK), + LEVEL_UP_MOVE( 1, MOVE_QUICK_GUARD), + LEVEL_UP_MOVE( 1, MOVE_SOLAR_BLADE), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 1, MOVE_EMBER), LEVEL_UP_MOVE( 1, MOVE_ASTONISH), @@ -21804,6 +21813,8 @@ static const struct LevelUpMove sRellorLevelUpLearnset[] = { static const struct LevelUpMove sRabscaLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_REVIVAL_BLESSING), + LEVEL_UP_MOVE( 1, MOVE_SAFEGUARD), + LEVEL_UP_MOVE( 1, MOVE_PSYCH_UP), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_DEFENSE_CURL), LEVEL_UP_MOVE( 1, MOVE_CONFUSION), @@ -22330,6 +22341,7 @@ static const struct LevelUpMove sGreatTuskLevelUpLearnset[] = { #if P_FAMILY_SCREAM_TAIL static const struct LevelUpMove sScreamTailLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SUNNY_DAY), LEVEL_UP_MOVE( 1, MOVE_POUND), LEVEL_UP_MOVE( 1, MOVE_SING), LEVEL_UP_MOVE( 1, MOVE_DISABLE), @@ -22352,6 +22364,7 @@ static const struct LevelUpMove sScreamTailLevelUpLearnset[] = { #if P_FAMILY_BRUTE_BONNET static const struct LevelUpMove sBruteBonnetLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SUNNY_DAY), LEVEL_UP_MOVE( 1, MOVE_ABSORB), LEVEL_UP_MOVE( 1, MOVE_GROWTH), LEVEL_UP_MOVE( 1, MOVE_ASTONISH), @@ -22373,6 +22386,7 @@ static const struct LevelUpMove sBruteBonnetLevelUpLearnset[] = { #if P_FAMILY_FLUTTER_MANE static const struct LevelUpMove sFlutterManeLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SUNNY_DAY), LEVEL_UP_MOVE( 1, MOVE_CONFUSE_RAY), LEVEL_UP_MOVE( 1, MOVE_SPITE), LEVEL_UP_MOVE( 1, MOVE_ASTONISH), @@ -22395,6 +22409,7 @@ static const struct LevelUpMove sFlutterManeLevelUpLearnset[] = { #if P_FAMILY_SLITHER_WING static const struct LevelUpMove sSlitherWingLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SUNNY_DAY), LEVEL_UP_MOVE( 1, MOVE_GUST), LEVEL_UP_MOVE( 1, MOVE_EMBER), LEVEL_UP_MOVE( 1, MOVE_BUG_BITE), @@ -22418,6 +22433,7 @@ static const struct LevelUpMove sSlitherWingLevelUpLearnset[] = { #if P_FAMILY_SANDY_SHOCKS static const struct LevelUpMove sSandyShocksLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SUNNY_DAY), LEVEL_UP_MOVE( 1, MOVE_THUNDER_WAVE), LEVEL_UP_MOVE( 1, MOVE_ELECTRIC_TERRAIN), LEVEL_UP_MOVE( 1, MOVE_SUPERSONIC), @@ -22463,6 +22479,7 @@ static const struct LevelUpMove sIronTreadsLevelUpLearnset[] = { #if P_FAMILY_IRON_BUNDLE static const struct LevelUpMove sIronBundleLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_ELECTRIC_TERRAIN), LEVEL_UP_MOVE( 1, MOVE_PRESENT), LEVEL_UP_MOVE( 7, MOVE_POWDER_SNOW), LEVEL_UP_MOVE(14, MOVE_WHIRLPOOL), @@ -22483,6 +22500,7 @@ static const struct LevelUpMove sIronBundleLevelUpLearnset[] = { #if P_FAMILY_IRON_HANDS static const struct LevelUpMove sIronHandsLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_ELECTRIC_TERRAIN), LEVEL_UP_MOVE( 1, MOVE_SAND_ATTACK), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_FOCUS_ENERGY), @@ -22529,6 +22547,7 @@ static const struct LevelUpMove sIronJugulisLevelUpLearnset[] = { #if P_FAMILY_IRON_MOTH static const struct LevelUpMove sIronMothLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_ELECTRIC_TERRAIN), LEVEL_UP_MOVE( 1, MOVE_GUST), LEVEL_UP_MOVE( 1, MOVE_WHIRLWIND), LEVEL_UP_MOVE( 1, MOVE_EMBER), @@ -22552,11 +22571,12 @@ static const struct LevelUpMove sIronMothLevelUpLearnset[] = { #if P_FAMILY_IRON_THORNS static const struct LevelUpMove sIronThornsLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_ELECTRIC_TERRAIN), LEVEL_UP_MOVE( 1, MOVE_ROCK_THROW), LEVEL_UP_MOVE( 1, MOVE_FIRE_FANG), LEVEL_UP_MOVE( 1, MOVE_ICE_FANG), - LEVEL_UP_MOVE( 1, MOVE_THUNDER_FANG), LEVEL_UP_MOVE( 1, MOVE_IRON_DEFENSE), + LEVEL_UP_MOVE( 1, MOVE_THUNDER_FANG), LEVEL_UP_MOVE( 7, MOVE_SCREECH), LEVEL_UP_MOVE(21, MOVE_ROCK_TOMB), LEVEL_UP_MOVE(28, MOVE_BITE), @@ -22753,6 +22773,10 @@ static const struct LevelUpMove sChiYuLevelUpLearnset[] = { #if P_FAMILY_ROARING_MOON static const struct LevelUpMove sRoaringMoonLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SUNNY_DAY), + LEVEL_UP_MOVE( 1, MOVE_JAW_LOCK), + LEVEL_UP_MOVE( 1, MOVE_BREAKING_SWIPE), + LEVEL_UP_MOVE( 1, MOVE_SCALE_SHOT), LEVEL_UP_MOVE( 1, MOVE_DRAGON_BREATH), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 1, MOVE_BITE), @@ -22776,6 +22800,7 @@ static const struct LevelUpMove sRoaringMoonLevelUpLearnset[] = { #if P_FAMILY_IRON_VALIANT static const struct LevelUpMove sIronValiantLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_ELECTRIC_TERRAIN), LEVEL_UP_MOVE( 1, MOVE_DISABLE), LEVEL_UP_MOVE( 1, MOVE_DOUBLE_TEAM), LEVEL_UP_MOVE( 1, MOVE_SHADOW_SNEAK), @@ -22791,8 +22816,8 @@ static const struct LevelUpMove sIronValiantLevelUpLearnset[] = { LEVEL_UP_MOVE(63, MOVE_CLOSE_COMBAT), LEVEL_UP_MOVE(70, MOVE_KNOCK_OFF), LEVEL_UP_MOVE(77, MOVE_DESTINY_BOND), - LEVEL_UP_MOVE(84, MOVE_QUICK_GUARD), LEVEL_UP_MOVE(84, MOVE_WIDE_GUARD), + LEVEL_UP_MOVE(84, MOVE_QUICK_GUARD), LEVEL_UP_MOVE(91, MOVE_SPIRIT_BREAK), LEVEL_UP_END }; @@ -22844,6 +22869,8 @@ static const struct LevelUpMove sMiraidonLevelUpLearnset[] = { #if P_FAMILY_WALKING_WAKE static const struct LevelUpMove sWalkingWakeLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SUNNY_DAY), + LEVEL_UP_MOVE( 1, MOVE_HONE_CLAWS), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 1, MOVE_ROAR), LEVEL_UP_MOVE( 1, MOVE_TWISTER), @@ -22865,6 +22892,8 @@ static const struct LevelUpMove sWalkingWakeLevelUpLearnset[] = { #if P_FAMILY_IRON_LEAVES static const struct LevelUpMove sIronLeavesLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_QUASH), + LEVEL_UP_MOVE( 1, MOVE_ELECTRIC_TERRAIN), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 1, MOVE_QUICK_ATTACK), LEVEL_UP_MOVE( 1, MOVE_HELPING_HAND), @@ -22972,8 +23001,8 @@ static const struct LevelUpMove sFezandipitiLevelUpLearnset[] = { LEVEL_UP_MOVE(32, MOVE_CROSS_POISON), LEVEL_UP_MOVE(40, MOVE_TAIL_SLAP), LEVEL_UP_MOVE(48, MOVE_BEAT_UP), - LEVEL_UP_MOVE(56, MOVE_FLATTER), LEVEL_UP_MOVE(56, MOVE_SWAGGER), + LEVEL_UP_MOVE(56, MOVE_FLATTER), LEVEL_UP_MOVE(64, MOVE_ROOST), LEVEL_UP_MOVE(72, MOVE_MOONBLAST), LEVEL_UP_END @@ -22982,6 +23011,10 @@ static const struct LevelUpMove sFezandipitiLevelUpLearnset[] = { #if P_FAMILY_OGERPON static const struct LevelUpMove sOgerponLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_DOUBLE_KICK), + LEVEL_UP_MOVE( 1, MOVE_COUNTER), + LEVEL_UP_MOVE( 1, MOVE_RETALIATE), + LEVEL_UP_MOVE( 1, MOVE_HORN_LEECH), LEVEL_UP_MOVE( 1, MOVE_VINE_WHIP), LEVEL_UP_MOVE( 1, MOVE_LEECH_SEED), LEVEL_UP_MOVE( 1, MOVE_QUICK_ATTACK), @@ -23003,6 +23036,9 @@ static const struct LevelUpMove sOgerponLevelUpLearnset[] = { #if P_FAMILY_GOUGING_FIRE static const struct LevelUpMove sGougingFireLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_DOUBLE_KICK), + LEVEL_UP_MOVE( 1, MOVE_ANCIENT_POWER), + LEVEL_UP_MOVE( 1, MOVE_NOBLE_ROAR), LEVEL_UP_MOVE( 1, MOVE_STOMP), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 1, MOVE_INCINERATE), @@ -23026,6 +23062,7 @@ static const struct LevelUpMove sGougingFireLevelUpLearnset[] = { #if P_FAMILY_RAGING_BOLT static const struct LevelUpMove sRagingBoltLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_ANCIENT_POWER), LEVEL_UP_MOVE( 1, MOVE_TWISTER), LEVEL_UP_MOVE( 1, MOVE_SUNNY_DAY), LEVEL_UP_MOVE( 1, MOVE_SHOCK_WAVE), @@ -23113,6 +23150,9 @@ static const struct LevelUpMove sTerapagosLevelUpLearnset[] = { #if P_FAMILY_PECHARUNT static const struct LevelUpMove sPecharuntLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_DEFENSE_CURL), + LEVEL_UP_MOVE( 1, MOVE_ROLLOUT), + LEVEL_UP_MOVE( 1, MOVE_MEAN_LOOK), LEVEL_UP_MOVE( 1, MOVE_SMOG), LEVEL_UP_MOVE( 1, MOVE_POISON_GAS), LEVEL_UP_MOVE( 1, MOVE_MEMENTO), diff --git a/src/data/pokemon/level_up_learnsets/gen_8.h b/src/data/pokemon/level_up_learnsets/gen_8.h index e774dd088a83..4357fdf64357 100644 --- a/src/data/pokemon/level_up_learnsets/gen_8.h +++ b/src/data/pokemon/level_up_learnsets/gen_8.h @@ -9937,7 +9937,7 @@ static const struct LevelUpMove sRegiceLevelUpLearnset[] = { LEVEL_UP_MOVE(66, MOVE_ZAP_CANNON), LEVEL_UP_MOVE(72, MOVE_HYPER_BEAM), LEVEL_UP_MOVE(78, MOVE_EXPLOSION), - LEVEL_UP_END + LEVEL_UP_END }; #endif //P_FAMILY_REGICE @@ -9960,7 +9960,7 @@ static const struct LevelUpMove sRegisteelLevelUpLearnset[] = { LEVEL_UP_MOVE(66, MOVE_ZAP_CANNON), LEVEL_UP_MOVE(72, MOVE_HYPER_BEAM), LEVEL_UP_MOVE(78, MOVE_EXPLOSION), - LEVEL_UP_END + LEVEL_UP_END }; #endif //P_FAMILY_REGISTEEL @@ -20438,6 +20438,8 @@ static const struct LevelUpMove sFloragatoLevelUpLearnset[] = { static const struct LevelUpMove sMeowscaradaLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_FLOWER_TRICK), + LEVEL_UP_MOVE( 1, MOVE_DOUBLE_TEAM), + LEVEL_UP_MOVE( 1, MOVE_TRICK), LEVEL_UP_MOVE( 1, MOVE_LEAFAGE), LEVEL_UP_MOVE( 1, MOVE_SCRATCH), LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), @@ -20496,6 +20498,8 @@ static const struct LevelUpMove sCrocalorLevelUpLearnset[] = { static const struct LevelUpMove sSkeledirgeLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_TORCH_SONG), + LEVEL_UP_MOVE( 1, MOVE_SING), + LEVEL_UP_MOVE( 1, MOVE_YAWN), LEVEL_UP_MOVE( 1, MOVE_EMBER), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_LEER), @@ -20555,6 +20559,7 @@ static const struct LevelUpMove sQuaxwellLevelUpLearnset[] = { static const struct LevelUpMove sQuaquavalLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_AQUA_STEP), + LEVEL_UP_MOVE( 1, MOVE_COUNTER), LEVEL_UP_MOVE( 1, MOVE_POUND), LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), @@ -21039,6 +21044,10 @@ static const struct LevelUpMove sArmarougeLevelUpLearnset[] = { static const struct LevelUpMove sCeruledgeLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_SHADOW_CLAW), + LEVEL_UP_MOVE( 1, MOVE_NIGHT_SLASH), + LEVEL_UP_MOVE( 1, MOVE_SHADOW_SNEAK), + LEVEL_UP_MOVE( 1, MOVE_QUICK_GUARD), + LEVEL_UP_MOVE( 1, MOVE_SOLAR_BLADE), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 1, MOVE_EMBER), LEVEL_UP_MOVE( 1, MOVE_ASTONISH), @@ -21375,6 +21384,8 @@ static const struct LevelUpMove sRellorLevelUpLearnset[] = { static const struct LevelUpMove sRabscaLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_REVIVAL_BLESSING), + LEVEL_UP_MOVE( 1, MOVE_SAFEGUARD), + LEVEL_UP_MOVE( 1, MOVE_PSYCH_UP), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_DEFENSE_CURL), LEVEL_UP_MOVE( 1, MOVE_CONFUSION), @@ -21901,6 +21912,7 @@ static const struct LevelUpMove sGreatTuskLevelUpLearnset[] = { #if P_FAMILY_SCREAM_TAIL static const struct LevelUpMove sScreamTailLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SUNNY_DAY), LEVEL_UP_MOVE( 1, MOVE_POUND), LEVEL_UP_MOVE( 1, MOVE_SING), LEVEL_UP_MOVE( 1, MOVE_DISABLE), @@ -21923,6 +21935,7 @@ static const struct LevelUpMove sScreamTailLevelUpLearnset[] = { #if P_FAMILY_BRUTE_BONNET static const struct LevelUpMove sBruteBonnetLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SUNNY_DAY), LEVEL_UP_MOVE( 1, MOVE_ABSORB), LEVEL_UP_MOVE( 1, MOVE_GROWTH), LEVEL_UP_MOVE( 1, MOVE_ASTONISH), @@ -21944,6 +21957,7 @@ static const struct LevelUpMove sBruteBonnetLevelUpLearnset[] = { #if P_FAMILY_FLUTTER_MANE static const struct LevelUpMove sFlutterManeLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SUNNY_DAY), LEVEL_UP_MOVE( 1, MOVE_CONFUSE_RAY), LEVEL_UP_MOVE( 1, MOVE_SPITE), LEVEL_UP_MOVE( 1, MOVE_ASTONISH), @@ -21966,6 +21980,7 @@ static const struct LevelUpMove sFlutterManeLevelUpLearnset[] = { #if P_FAMILY_SLITHER_WING static const struct LevelUpMove sSlitherWingLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SUNNY_DAY), LEVEL_UP_MOVE( 1, MOVE_GUST), LEVEL_UP_MOVE( 1, MOVE_EMBER), LEVEL_UP_MOVE( 1, MOVE_BUG_BITE), @@ -21989,6 +22004,7 @@ static const struct LevelUpMove sSlitherWingLevelUpLearnset[] = { #if P_FAMILY_SANDY_SHOCKS static const struct LevelUpMove sSandyShocksLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SUNNY_DAY), LEVEL_UP_MOVE( 1, MOVE_THUNDER_WAVE), LEVEL_UP_MOVE( 1, MOVE_ELECTRIC_TERRAIN), LEVEL_UP_MOVE( 1, MOVE_SUPERSONIC), @@ -22034,6 +22050,7 @@ static const struct LevelUpMove sIronTreadsLevelUpLearnset[] = { #if P_FAMILY_IRON_BUNDLE static const struct LevelUpMove sIronBundleLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_ELECTRIC_TERRAIN), LEVEL_UP_MOVE( 1, MOVE_PRESENT), LEVEL_UP_MOVE( 7, MOVE_POWDER_SNOW), LEVEL_UP_MOVE(14, MOVE_WHIRLPOOL), @@ -22054,6 +22071,7 @@ static const struct LevelUpMove sIronBundleLevelUpLearnset[] = { #if P_FAMILY_IRON_HANDS static const struct LevelUpMove sIronHandsLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_ELECTRIC_TERRAIN), LEVEL_UP_MOVE( 1, MOVE_SAND_ATTACK), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_FOCUS_ENERGY), @@ -22100,6 +22118,7 @@ static const struct LevelUpMove sIronJugulisLevelUpLearnset[] = { #if P_FAMILY_IRON_MOTH static const struct LevelUpMove sIronMothLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_ELECTRIC_TERRAIN), LEVEL_UP_MOVE( 1, MOVE_GUST), LEVEL_UP_MOVE( 1, MOVE_WHIRLWIND), LEVEL_UP_MOVE( 1, MOVE_EMBER), @@ -22123,11 +22142,12 @@ static const struct LevelUpMove sIronMothLevelUpLearnset[] = { #if P_FAMILY_IRON_THORNS static const struct LevelUpMove sIronThornsLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_ELECTRIC_TERRAIN), LEVEL_UP_MOVE( 1, MOVE_ROCK_THROW), LEVEL_UP_MOVE( 1, MOVE_FIRE_FANG), LEVEL_UP_MOVE( 1, MOVE_ICE_FANG), - LEVEL_UP_MOVE( 1, MOVE_THUNDER_FANG), LEVEL_UP_MOVE( 1, MOVE_IRON_DEFENSE), + LEVEL_UP_MOVE( 1, MOVE_THUNDER_FANG), LEVEL_UP_MOVE( 7, MOVE_SCREECH), LEVEL_UP_MOVE(21, MOVE_ROCK_TOMB), LEVEL_UP_MOVE(28, MOVE_BITE), @@ -22324,6 +22344,10 @@ static const struct LevelUpMove sChiYuLevelUpLearnset[] = { #if P_FAMILY_ROARING_MOON static const struct LevelUpMove sRoaringMoonLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SUNNY_DAY), + LEVEL_UP_MOVE( 1, MOVE_JAW_LOCK), + LEVEL_UP_MOVE( 1, MOVE_BREAKING_SWIPE), + LEVEL_UP_MOVE( 1, MOVE_SCALE_SHOT), LEVEL_UP_MOVE( 1, MOVE_DRAGON_BREATH), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 1, MOVE_BITE), @@ -22347,6 +22371,7 @@ static const struct LevelUpMove sRoaringMoonLevelUpLearnset[] = { #if P_FAMILY_IRON_VALIANT static const struct LevelUpMove sIronValiantLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_ELECTRIC_TERRAIN), LEVEL_UP_MOVE( 1, MOVE_DISABLE), LEVEL_UP_MOVE( 1, MOVE_DOUBLE_TEAM), LEVEL_UP_MOVE( 1, MOVE_SHADOW_SNEAK), @@ -22362,8 +22387,8 @@ static const struct LevelUpMove sIronValiantLevelUpLearnset[] = { LEVEL_UP_MOVE(63, MOVE_CLOSE_COMBAT), LEVEL_UP_MOVE(70, MOVE_KNOCK_OFF), LEVEL_UP_MOVE(77, MOVE_DESTINY_BOND), - LEVEL_UP_MOVE(84, MOVE_QUICK_GUARD), LEVEL_UP_MOVE(84, MOVE_WIDE_GUARD), + LEVEL_UP_MOVE(84, MOVE_QUICK_GUARD), LEVEL_UP_MOVE(91, MOVE_SPIRIT_BREAK), LEVEL_UP_END }; @@ -22415,6 +22440,8 @@ static const struct LevelUpMove sMiraidonLevelUpLearnset[] = { #if P_FAMILY_WALKING_WAKE static const struct LevelUpMove sWalkingWakeLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SUNNY_DAY), + LEVEL_UP_MOVE( 1, MOVE_HONE_CLAWS), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 1, MOVE_ROAR), LEVEL_UP_MOVE( 1, MOVE_TWISTER), @@ -22436,6 +22463,8 @@ static const struct LevelUpMove sWalkingWakeLevelUpLearnset[] = { #if P_FAMILY_IRON_LEAVES static const struct LevelUpMove sIronLeavesLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_QUASH), + LEVEL_UP_MOVE( 1, MOVE_ELECTRIC_TERRAIN), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 1, MOVE_QUICK_ATTACK), LEVEL_UP_MOVE( 1, MOVE_HELPING_HAND), @@ -22543,8 +22572,8 @@ static const struct LevelUpMove sFezandipitiLevelUpLearnset[] = { LEVEL_UP_MOVE(32, MOVE_CROSS_POISON), LEVEL_UP_MOVE(40, MOVE_TAIL_SLAP), LEVEL_UP_MOVE(48, MOVE_BEAT_UP), - LEVEL_UP_MOVE(56, MOVE_FLATTER), LEVEL_UP_MOVE(56, MOVE_SWAGGER), + LEVEL_UP_MOVE(56, MOVE_FLATTER), LEVEL_UP_MOVE(64, MOVE_ROOST), LEVEL_UP_MOVE(72, MOVE_MOONBLAST), LEVEL_UP_END @@ -22553,6 +22582,10 @@ static const struct LevelUpMove sFezandipitiLevelUpLearnset[] = { #if P_FAMILY_OGERPON static const struct LevelUpMove sOgerponLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_DOUBLE_KICK), + LEVEL_UP_MOVE( 1, MOVE_COUNTER), + LEVEL_UP_MOVE( 1, MOVE_RETALIATE), + LEVEL_UP_MOVE( 1, MOVE_HORN_LEECH), LEVEL_UP_MOVE( 1, MOVE_VINE_WHIP), LEVEL_UP_MOVE( 1, MOVE_LEECH_SEED), LEVEL_UP_MOVE( 1, MOVE_QUICK_ATTACK), @@ -22574,6 +22607,9 @@ static const struct LevelUpMove sOgerponLevelUpLearnset[] = { #if P_FAMILY_GOUGING_FIRE static const struct LevelUpMove sGougingFireLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_DOUBLE_KICK), + LEVEL_UP_MOVE( 1, MOVE_ANCIENT_POWER), + LEVEL_UP_MOVE( 1, MOVE_NOBLE_ROAR), LEVEL_UP_MOVE( 1, MOVE_STOMP), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 1, MOVE_INCINERATE), @@ -22597,6 +22633,7 @@ static const struct LevelUpMove sGougingFireLevelUpLearnset[] = { #if P_FAMILY_RAGING_BOLT static const struct LevelUpMove sRagingBoltLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_ANCIENT_POWER), LEVEL_UP_MOVE( 1, MOVE_TWISTER), LEVEL_UP_MOVE( 1, MOVE_SUNNY_DAY), LEVEL_UP_MOVE( 1, MOVE_SHOCK_WAVE), @@ -22684,6 +22721,9 @@ static const struct LevelUpMove sTerapagosLevelUpLearnset[] = { #if P_FAMILY_PECHARUNT static const struct LevelUpMove sPecharuntLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_DEFENSE_CURL), + LEVEL_UP_MOVE( 1, MOVE_ROLLOUT), + LEVEL_UP_MOVE( 1, MOVE_MEAN_LOOK), LEVEL_UP_MOVE( 1, MOVE_SMOG), LEVEL_UP_MOVE( 1, MOVE_POISON_GAS), LEVEL_UP_MOVE( 1, MOVE_MEMENTO), diff --git a/src/data/pokemon/level_up_learnsets/gen_9.h b/src/data/pokemon/level_up_learnsets/gen_9.h index 0db97107a22a..de35a1d36de0 100644 --- a/src/data/pokemon/level_up_learnsets/gen_9.h +++ b/src/data/pokemon/level_up_learnsets/gen_9.h @@ -21,15 +21,15 @@ static const struct LevelUpMove sBulbasaurLevelUpLearnset[] = { LEVEL_UP_MOVE(24, MOVE_SWEET_SCENT), LEVEL_UP_MOVE(27, MOVE_SYNTHESIS), LEVEL_UP_MOVE(30, MOVE_WORRY_SEED), - LEVEL_UP_MOVE(33, MOVE_DOUBLE_EDGE), + LEVEL_UP_MOVE(33, MOVE_POWER_WHIP), LEVEL_UP_MOVE(36, MOVE_SOLAR_BEAM), LEVEL_UP_END }; static const struct LevelUpMove sIvysaurLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_VINE_WHIP), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_GROWL), - LEVEL_UP_MOVE( 1, MOVE_VINE_WHIP), LEVEL_UP_MOVE( 1, MOVE_GROWTH), LEVEL_UP_MOVE( 9, MOVE_LEECH_SEED), LEVEL_UP_MOVE(12, MOVE_RAZOR_LEAF), @@ -40,29 +40,28 @@ static const struct LevelUpMove sIvysaurLevelUpLearnset[] = { LEVEL_UP_MOVE(30, MOVE_SWEET_SCENT), LEVEL_UP_MOVE(35, MOVE_SYNTHESIS), LEVEL_UP_MOVE(40, MOVE_WORRY_SEED), - LEVEL_UP_MOVE(45, MOVE_DOUBLE_EDGE), + LEVEL_UP_MOVE(45, MOVE_POWER_WHIP), LEVEL_UP_MOVE(50, MOVE_SOLAR_BEAM), LEVEL_UP_END }; static const struct LevelUpMove sVenusaurLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_PETAL_BLIZZARD), - LEVEL_UP_MOVE( 1, MOVE_PETAL_BLIZZARD), + LEVEL_UP_MOVE( 1, MOVE_GROWTH), LEVEL_UP_MOVE( 1, MOVE_PETAL_DANCE), + LEVEL_UP_MOVE( 1, MOVE_VINE_WHIP), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_GROWL), - LEVEL_UP_MOVE( 1, MOVE_VINE_WHIP), - LEVEL_UP_MOVE( 1, MOVE_GROWTH), LEVEL_UP_MOVE( 9, MOVE_LEECH_SEED), LEVEL_UP_MOVE(12, MOVE_RAZOR_LEAF), - LEVEL_UP_MOVE(15, MOVE_POISON_POWDER), LEVEL_UP_MOVE(15, MOVE_SLEEP_POWDER), + LEVEL_UP_MOVE(15, MOVE_POISON_POWDER), LEVEL_UP_MOVE(20, MOVE_SEED_BOMB), LEVEL_UP_MOVE(25, MOVE_TAKE_DOWN), LEVEL_UP_MOVE(30, MOVE_SWEET_SCENT), LEVEL_UP_MOVE(37, MOVE_SYNTHESIS), LEVEL_UP_MOVE(44, MOVE_WORRY_SEED), - LEVEL_UP_MOVE(51, MOVE_DOUBLE_EDGE), + LEVEL_UP_MOVE(51, MOVE_POWER_WHIP), LEVEL_UP_MOVE(58, MOVE_SOLAR_BEAM), LEVEL_UP_END }; @@ -135,7 +134,7 @@ static const struct LevelUpMove sSquirtleLevelUpLearnset[] = { LEVEL_UP_MOVE(27, MOVE_SHELL_SMASH), LEVEL_UP_MOVE(30, MOVE_IRON_DEFENSE), LEVEL_UP_MOVE(33, MOVE_HYDRO_PUMP), - LEVEL_UP_MOVE(36, MOVE_SKULL_BASH), + LEVEL_UP_MOVE(36, MOVE_WAVE_CRASH), LEVEL_UP_END }; @@ -153,13 +152,12 @@ static const struct LevelUpMove sWartortleLevelUpLearnset[] = { LEVEL_UP_MOVE(35, MOVE_SHELL_SMASH), LEVEL_UP_MOVE(40, MOVE_IRON_DEFENSE), LEVEL_UP_MOVE(45, MOVE_HYDRO_PUMP), - LEVEL_UP_MOVE(50, MOVE_SKULL_BASH), + LEVEL_UP_MOVE(50, MOVE_WAVE_CRASH), LEVEL_UP_END }; static const struct LevelUpMove sBlastoiseLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_FLASH_CANNON), - LEVEL_UP_MOVE( 1, MOVE_FLASH_CANNON), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), @@ -173,7 +171,7 @@ static const struct LevelUpMove sBlastoiseLevelUpLearnset[] = { LEVEL_UP_MOVE(35, MOVE_SHELL_SMASH), LEVEL_UP_MOVE(42, MOVE_IRON_DEFENSE), LEVEL_UP_MOVE(49, MOVE_HYDRO_PUMP), - LEVEL_UP_MOVE(56, MOVE_SKULL_BASH), + LEVEL_UP_MOVE(56, MOVE_WAVE_CRASH), LEVEL_UP_END }; #endif //P_FAMILY_SQUIRTLE @@ -444,8 +442,8 @@ static const struct LevelUpMove sEkansLevelUpLearnset[] = { LEVEL_UP_MOVE(12, MOVE_GLARE), LEVEL_UP_MOVE(17, MOVE_SCREECH), LEVEL_UP_MOVE(20, MOVE_ACID), - LEVEL_UP_MOVE(25, MOVE_STOCKPILE), LEVEL_UP_MOVE(25, MOVE_SWALLOW), + LEVEL_UP_MOVE(25, MOVE_STOCKPILE), LEVEL_UP_MOVE(25, MOVE_SPIT_UP), LEVEL_UP_MOVE(28, MOVE_ACID_SPRAY), LEVEL_UP_MOVE(33, MOVE_SLUDGE_BOMB), @@ -459,21 +457,18 @@ static const struct LevelUpMove sEkansLevelUpLearnset[] = { static const struct LevelUpMove sArbokLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_CRUNCH), - LEVEL_UP_MOVE( 1, MOVE_CRUNCH), - LEVEL_UP_MOVE( 1, MOVE_ICE_FANG), - LEVEL_UP_MOVE( 1, MOVE_THUNDER_FANG), - LEVEL_UP_MOVE( 1, MOVE_FIRE_FANG), LEVEL_UP_MOVE( 1, MOVE_WRAP), - LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 1, MOVE_POISON_STING), + LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 1, MOVE_BITE), - LEVEL_UP_MOVE( 4, MOVE_POISON_STING), - LEVEL_UP_MOVE( 9, MOVE_BITE), + LEVEL_UP_MOVE( 1, MOVE_FIRE_FANG), + LEVEL_UP_MOVE( 1, MOVE_ICE_FANG), + LEVEL_UP_MOVE( 1, MOVE_THUNDER_FANG), LEVEL_UP_MOVE(12, MOVE_GLARE), LEVEL_UP_MOVE(17, MOVE_SCREECH), LEVEL_UP_MOVE(20, MOVE_ACID), - LEVEL_UP_MOVE(27, MOVE_STOCKPILE), LEVEL_UP_MOVE(27, MOVE_SWALLOW), + LEVEL_UP_MOVE(27, MOVE_STOCKPILE), LEVEL_UP_MOVE(27, MOVE_SPIT_UP), LEVEL_UP_MOVE(32, MOVE_ACID_SPRAY), LEVEL_UP_MOVE(39, MOVE_SLUDGE_BOMB), @@ -600,11 +595,11 @@ static const struct LevelUpMove sSandshrewLevelUpLearnset[] = { }; static const struct LevelUpMove sSandslashLevelUpLearnset[] = { - LEVEL_UP_MOVE( 1, MOVE_CRUSH_CLAW), LEVEL_UP_MOVE( 1, MOVE_SCRATCH), - LEVEL_UP_MOVE( 1, MOVE_DEFENSE_CURL), - LEVEL_UP_MOVE( 1, MOVE_POISON_STING), + LEVEL_UP_MOVE( 1, MOVE_CRUSH_CLAW), LEVEL_UP_MOVE( 1, MOVE_SAND_ATTACK), + LEVEL_UP_MOVE( 1, MOVE_POISON_STING), + LEVEL_UP_MOVE( 1, MOVE_DEFENSE_CURL), LEVEL_UP_MOVE( 9, MOVE_ROLLOUT), LEVEL_UP_MOVE(12, MOVE_FURY_CUTTER), LEVEL_UP_MOVE(15, MOVE_RAPID_SPIN), @@ -623,8 +618,8 @@ static const struct LevelUpMove sSandslashLevelUpLearnset[] = { #if P_ALOLAN_FORMS static const struct LevelUpMove sSandshrewAlolanLevelUpLearnset[] = { - LEVEL_UP_MOVE( 1, MOVE_SCRATCH), LEVEL_UP_MOVE( 1, MOVE_DEFENSE_CURL), + LEVEL_UP_MOVE( 1, MOVE_SCRATCH), LEVEL_UP_MOVE( 3, MOVE_MIST), LEVEL_UP_MOVE( 6, MOVE_POWDER_SNOW), LEVEL_UP_MOVE( 9, MOVE_ROLLOUT), @@ -638,33 +633,32 @@ static const struct LevelUpMove sSandshrewAlolanLevelUpLearnset[] = { LEVEL_UP_MOVE(33, MOVE_IRON_HEAD), LEVEL_UP_MOVE(36, MOVE_GYRO_BALL), LEVEL_UP_MOVE(39, MOVE_SWORDS_DANCE), - LEVEL_UP_MOVE(42, MOVE_HAIL), + LEVEL_UP_MOVE(42, MOVE_SNOWSCAPE), LEVEL_UP_MOVE(45, MOVE_BLIZZARD), LEVEL_UP_END }; static const struct LevelUpMove sSandslashAlolanLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_ICICLE_SPEAR), - LEVEL_UP_MOVE( 1, MOVE_ICICLE_SPEAR), - LEVEL_UP_MOVE( 1, MOVE_ICICLE_CRASH), - LEVEL_UP_MOVE( 1, MOVE_METAL_BURST), + LEVEL_UP_MOVE( 1, MOVE_SCRATCH), + LEVEL_UP_MOVE( 1, MOVE_MIST), + LEVEL_UP_MOVE( 1, MOVE_BLIZZARD), + LEVEL_UP_MOVE( 1, MOVE_DEFENSE_CURL), + LEVEL_UP_MOVE( 1, MOVE_SWIFT), + LEVEL_UP_MOVE( 1, MOVE_FURY_SWIPES), + LEVEL_UP_MOVE( 1, MOVE_POWDER_SNOW), LEVEL_UP_MOVE( 1, MOVE_ROLLOUT), LEVEL_UP_MOVE( 1, MOVE_FURY_CUTTER), LEVEL_UP_MOVE( 1, MOVE_RAPID_SPIN), - LEVEL_UP_MOVE( 1, MOVE_METAL_CLAW), - LEVEL_UP_MOVE( 1, MOVE_SWIFT), - LEVEL_UP_MOVE( 1, MOVE_FURY_SWIPES), LEVEL_UP_MOVE( 1, MOVE_IRON_DEFENSE), - LEVEL_UP_MOVE( 1, MOVE_SLASH), - LEVEL_UP_MOVE( 1, MOVE_IRON_HEAD), LEVEL_UP_MOVE( 1, MOVE_GYRO_BALL), + LEVEL_UP_MOVE( 1, MOVE_METAL_BURST), + LEVEL_UP_MOVE( 1, MOVE_IRON_HEAD), + LEVEL_UP_MOVE( 1, MOVE_SNOWSCAPE), LEVEL_UP_MOVE( 1, MOVE_SWORDS_DANCE), - LEVEL_UP_MOVE( 1, MOVE_HAIL), - LEVEL_UP_MOVE( 1, MOVE_BLIZZARD), - LEVEL_UP_MOVE( 1, MOVE_SCRATCH), - LEVEL_UP_MOVE( 1, MOVE_DEFENSE_CURL), - LEVEL_UP_MOVE( 1, MOVE_MIST), - LEVEL_UP_MOVE( 1, MOVE_POWDER_SNOW), + LEVEL_UP_MOVE( 1, MOVE_SLASH), + LEVEL_UP_MOVE( 1, MOVE_METAL_CLAW), + LEVEL_UP_MOVE( 1, MOVE_ICICLE_CRASH), LEVEL_UP_END }; #endif //P_ALOLAN_FORMS @@ -707,6 +701,7 @@ static const struct LevelUpMove sNidorinaLevelUpLearnset[] = { static const struct LevelUpMove sNidoqueenLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_SUPERPOWER), + LEVEL_UP_MOVE( 1, MOVE_SLUDGE_WAVE), LEVEL_UP_MOVE( 1, MOVE_SUPERPOWER), LEVEL_UP_MOVE( 1, MOVE_FURY_SWIPES), LEVEL_UP_MOVE( 1, MOVE_TOXIC_SPIKES), @@ -760,6 +755,7 @@ static const struct LevelUpMove sNidorinoLevelUpLearnset[] = { static const struct LevelUpMove sNidokingLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_MEGAHORN), + LEVEL_UP_MOVE( 1, MOVE_SLUDGE_WAVE), LEVEL_UP_MOVE( 1, MOVE_MEGAHORN), LEVEL_UP_MOVE( 1, MOVE_FURY_ATTACK), LEVEL_UP_MOVE( 1, MOVE_TOXIC_SPIKES), @@ -781,8 +777,8 @@ static const struct LevelUpMove sNidokingLevelUpLearnset[] = { #if P_FAMILY_CLEFAIRY #if P_GEN_2_CROSS_EVOS static const struct LevelUpMove sCleffaLevelUpLearnset[] = { - LEVEL_UP_MOVE( 1, MOVE_SPLASH), LEVEL_UP_MOVE( 1, MOVE_POUND), + LEVEL_UP_MOVE( 1, MOVE_SPLASH), LEVEL_UP_MOVE( 1, MOVE_COPYCAT), LEVEL_UP_MOVE( 4, MOVE_SING), LEVEL_UP_MOVE( 8, MOVE_SWEET_KISS), @@ -794,18 +790,17 @@ static const struct LevelUpMove sCleffaLevelUpLearnset[] = { #endif //P_GEN_2_CROSS_EVOS static const struct LevelUpMove sClefairyLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_POUND), + LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 1, MOVE_SING), - LEVEL_UP_MOVE( 1, MOVE_SWEET_KISS), + LEVEL_UP_MOVE( 1, MOVE_DEFENSE_CURL), LEVEL_UP_MOVE( 1, MOVE_DISARMING_VOICE), - LEVEL_UP_MOVE( 1, MOVE_ENCORE), - LEVEL_UP_MOVE( 1, MOVE_CHARM), LEVEL_UP_MOVE( 1, MOVE_SPLASH), - LEVEL_UP_MOVE( 1, MOVE_POUND), + LEVEL_UP_MOVE( 1, MOVE_SWEET_KISS), + LEVEL_UP_MOVE( 1, MOVE_CHARM), LEVEL_UP_MOVE( 1, MOVE_COPYCAT), - LEVEL_UP_MOVE( 1, MOVE_GROWL), - LEVEL_UP_MOVE( 1, MOVE_DEFENSE_CURL), LEVEL_UP_MOVE( 4, MOVE_STORED_POWER), - LEVEL_UP_MOVE( 8, MOVE_MINIMIZE), + LEVEL_UP_MOVE( 8, MOVE_ENCORE), LEVEL_UP_MOVE(12, MOVE_AFTER_YOU), LEVEL_UP_MOVE(16, MOVE_LIFE_DEW), LEVEL_UP_MOVE(20, MOVE_METRONOME), @@ -820,36 +815,35 @@ static const struct LevelUpMove sClefairyLevelUpLearnset[] = { }; static const struct LevelUpMove sClefableLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_POUND), + LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 1, MOVE_SING), + LEVEL_UP_MOVE( 1, MOVE_DEFENSE_CURL), + LEVEL_UP_MOVE( 1, MOVE_SPLASH), LEVEL_UP_MOVE( 1, MOVE_SWEET_KISS), - LEVEL_UP_MOVE( 1, MOVE_DISARMING_VOICE), - LEVEL_UP_MOVE( 1, MOVE_ENCORE), LEVEL_UP_MOVE( 1, MOVE_CHARM), - LEVEL_UP_MOVE( 1, MOVE_STORED_POWER), - LEVEL_UP_MOVE( 1, MOVE_MINIMIZE), - LEVEL_UP_MOVE( 1, MOVE_AFTER_YOU), - LEVEL_UP_MOVE( 1, MOVE_LIFE_DEW), - LEVEL_UP_MOVE( 1, MOVE_METRONOME), + LEVEL_UP_MOVE( 1, MOVE_ENCORE), LEVEL_UP_MOVE( 1, MOVE_MOONLIGHT), - LEVEL_UP_MOVE( 1, MOVE_GRAVITY), - LEVEL_UP_MOVE( 1, MOVE_METEOR_MASH), LEVEL_UP_MOVE( 1, MOVE_FOLLOW_ME), LEVEL_UP_MOVE( 1, MOVE_COSMIC_POWER), - LEVEL_UP_MOVE( 1, MOVE_MOONBLAST), + LEVEL_UP_MOVE( 1, MOVE_GRAVITY), LEVEL_UP_MOVE( 1, MOVE_HEALING_WISH), - LEVEL_UP_MOVE( 1, MOVE_SPLASH), - LEVEL_UP_MOVE( 1, MOVE_POUND), LEVEL_UP_MOVE( 1, MOVE_COPYCAT), - LEVEL_UP_MOVE( 1, MOVE_GROWL), - LEVEL_UP_MOVE( 1, MOVE_DEFENSE_CURL), + LEVEL_UP_MOVE( 1, MOVE_AFTER_YOU), + LEVEL_UP_MOVE( 1, MOVE_STORED_POWER), + LEVEL_UP_MOVE( 1, MOVE_DISARMING_VOICE), + LEVEL_UP_MOVE( 1, MOVE_METRONOME), + LEVEL_UP_MOVE( 1, MOVE_METEOR_MASH), + LEVEL_UP_MOVE( 1, MOVE_MOONBLAST), + LEVEL_UP_MOVE( 1, MOVE_LIFE_DEW), LEVEL_UP_END }; #endif //P_FAMILY_CLEFAIRY #if P_FAMILY_VULPIX static const struct LevelUpMove sVulpixLevelUpLearnset[] = { - LEVEL_UP_MOVE( 1, MOVE_EMBER), LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), + LEVEL_UP_MOVE( 1, MOVE_EMBER), LEVEL_UP_MOVE( 4, MOVE_DISABLE), LEVEL_UP_MOVE( 8, MOVE_QUICK_ATTACK), LEVEL_UP_MOVE(12, MOVE_SPITE), @@ -862,36 +856,34 @@ static const struct LevelUpMove sVulpixLevelUpLearnset[] = { LEVEL_UP_MOVE(40, MOVE_FIRE_SPIN), LEVEL_UP_MOVE(44, MOVE_SAFEGUARD), LEVEL_UP_MOVE(48, MOVE_INFERNO), - LEVEL_UP_MOVE(52, MOVE_GRUDGE), - LEVEL_UP_MOVE(56, MOVE_FIRE_BLAST), + LEVEL_UP_MOVE(52, MOVE_FIRE_BLAST), LEVEL_UP_END }; static const struct LevelUpMove sNinetalesLevelUpLearnset[] = { - LEVEL_UP_MOVE( 1, MOVE_NASTY_PLOT), - LEVEL_UP_MOVE( 1, MOVE_INCINERATE), - LEVEL_UP_MOVE( 1, MOVE_SPITE), + LEVEL_UP_MOVE( 1, MOVE_DISABLE), + LEVEL_UP_MOVE( 1, MOVE_EMBER), + LEVEL_UP_MOVE( 1, MOVE_FIRE_SPIN), LEVEL_UP_MOVE( 1, MOVE_CONFUSE_RAY), + LEVEL_UP_MOVE( 1, MOVE_FIRE_BLAST), + LEVEL_UP_MOVE( 1, MOVE_SPITE), + LEVEL_UP_MOVE( 1, MOVE_SAFEGUARD), LEVEL_UP_MOVE( 1, MOVE_WILL_O_WISP), - LEVEL_UP_MOVE( 1, MOVE_EXTRASENSORY), - LEVEL_UP_MOVE( 1, MOVE_FLAMETHROWER), LEVEL_UP_MOVE( 1, MOVE_IMPRISON), - LEVEL_UP_MOVE( 1, MOVE_FIRE_SPIN), - LEVEL_UP_MOVE( 1, MOVE_SAFEGUARD), + LEVEL_UP_MOVE( 1, MOVE_EXTRASENSORY), + LEVEL_UP_MOVE( 1, MOVE_NASTY_PLOT), + LEVEL_UP_MOVE( 1, MOVE_INCINERATE), LEVEL_UP_MOVE( 1, MOVE_INFERNO), - LEVEL_UP_MOVE( 1, MOVE_GRUDGE), - LEVEL_UP_MOVE( 1, MOVE_FIRE_BLAST), - LEVEL_UP_MOVE( 1, MOVE_EMBER), - LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), - LEVEL_UP_MOVE( 1, MOVE_DISABLE), LEVEL_UP_MOVE( 1, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE( 1, MOVE_FLAMETHROWER), + LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), LEVEL_UP_END }; #if P_ALOLAN_FORMS static const struct LevelUpMove sVulpixAlolanLevelUpLearnset[] = { - LEVEL_UP_MOVE( 1, MOVE_POWDER_SNOW), LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), + LEVEL_UP_MOVE( 1, MOVE_POWDER_SNOW), LEVEL_UP_MOVE( 4, MOVE_DISABLE), LEVEL_UP_MOVE( 8, MOVE_ICE_SHARD), LEVEL_UP_MOVE(12, MOVE_SPITE), @@ -903,32 +895,29 @@ static const struct LevelUpMove sVulpixAlolanLevelUpLearnset[] = { LEVEL_UP_MOVE(36, MOVE_IMPRISON), LEVEL_UP_MOVE(40, MOVE_MIST), LEVEL_UP_MOVE(44, MOVE_AURORA_VEIL), - LEVEL_UP_MOVE(48, MOVE_SHEER_COLD), - LEVEL_UP_MOVE(52, MOVE_GRUDGE), - LEVEL_UP_MOVE(56, MOVE_BLIZZARD), + LEVEL_UP_MOVE(48, MOVE_FREEZE_DRY), + LEVEL_UP_MOVE(52, MOVE_BLIZZARD), LEVEL_UP_END }; static const struct LevelUpMove sNinetalesAlolanLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_DAZZLING_GLEAM), - LEVEL_UP_MOVE( 1, MOVE_DAZZLING_GLEAM), - LEVEL_UP_MOVE( 1, MOVE_NASTY_PLOT), - LEVEL_UP_MOVE( 1, MOVE_SPITE), - LEVEL_UP_MOVE( 1, MOVE_ICY_WIND), - LEVEL_UP_MOVE( 1, MOVE_CONFUSE_RAY), + LEVEL_UP_MOVE( 1, MOVE_DISABLE), + LEVEL_UP_MOVE( 1, MOVE_MIST), + LEVEL_UP_MOVE( 1, MOVE_ICE_BEAM), LEVEL_UP_MOVE( 1, MOVE_AURORA_BEAM), + LEVEL_UP_MOVE( 1, MOVE_CONFUSE_RAY), + LEVEL_UP_MOVE( 1, MOVE_SPITE), + LEVEL_UP_MOVE( 1, MOVE_POWDER_SNOW), LEVEL_UP_MOVE( 1, MOVE_EXTRASENSORY), - LEVEL_UP_MOVE( 1, MOVE_ICE_BEAM), - LEVEL_UP_MOVE( 1, MOVE_IMPRISON), - LEVEL_UP_MOVE( 1, MOVE_MIST), + LEVEL_UP_MOVE( 1, MOVE_NASTY_PLOT), + LEVEL_UP_MOVE( 1, MOVE_ICE_SHARD), + LEVEL_UP_MOVE( 1, MOVE_FREEZE_DRY), LEVEL_UP_MOVE( 1, MOVE_AURORA_VEIL), - LEVEL_UP_MOVE( 1, MOVE_SHEER_COLD), - LEVEL_UP_MOVE( 1, MOVE_GRUDGE), - LEVEL_UP_MOVE( 1, MOVE_BLIZZARD), - LEVEL_UP_MOVE( 1, MOVE_POWDER_SNOW), LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), - LEVEL_UP_MOVE( 1, MOVE_DISABLE), - LEVEL_UP_MOVE( 1, MOVE_ICE_SHARD), + LEVEL_UP_MOVE( 1, MOVE_BLIZZARD), + LEVEL_UP_MOVE( 1, MOVE_ICY_WIND), + LEVEL_UP_MOVE( 1, MOVE_IMPRISON), LEVEL_UP_END }; #endif //P_ALOLAN_FORMS @@ -1080,9 +1069,9 @@ static const struct LevelUpMove sOddishLevelUpLearnset[] = { }; static const struct LevelUpMove sGloomLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_ACID), LEVEL_UP_MOVE( 1, MOVE_ABSORB), LEVEL_UP_MOVE( 1, MOVE_GROWTH), - LEVEL_UP_MOVE( 1, MOVE_ACID), LEVEL_UP_MOVE( 1, MOVE_SWEET_SCENT), LEVEL_UP_MOVE(12, MOVE_MEGA_DRAIN), LEVEL_UP_MOVE(14, MOVE_POISON_POWDER), @@ -1099,44 +1088,41 @@ static const struct LevelUpMove sGloomLevelUpLearnset[] = { static const struct LevelUpMove sVileplumeLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_PETAL_BLIZZARD), - LEVEL_UP_MOVE( 1, MOVE_PETAL_BLIZZARD), - LEVEL_UP_MOVE( 1, MOVE_AROMATHERAPY), + LEVEL_UP_MOVE( 1, MOVE_ACID), + LEVEL_UP_MOVE( 1, MOVE_ABSORB), LEVEL_UP_MOVE( 1, MOVE_MEGA_DRAIN), + LEVEL_UP_MOVE( 1, MOVE_GROWTH), LEVEL_UP_MOVE( 1, MOVE_POISON_POWDER), LEVEL_UP_MOVE( 1, MOVE_STUN_SPORE), LEVEL_UP_MOVE( 1, MOVE_SLEEP_POWDER), - LEVEL_UP_MOVE( 1, MOVE_GIGA_DRAIN), - LEVEL_UP_MOVE( 1, MOVE_TOXIC), - LEVEL_UP_MOVE( 1, MOVE_MOONBLAST), - LEVEL_UP_MOVE( 1, MOVE_GRASSY_TERRAIN), - LEVEL_UP_MOVE( 1, MOVE_MOONLIGHT), LEVEL_UP_MOVE( 1, MOVE_PETAL_DANCE), - LEVEL_UP_MOVE( 1, MOVE_ABSORB), - LEVEL_UP_MOVE( 1, MOVE_GROWTH), - LEVEL_UP_MOVE( 1, MOVE_ACID), + LEVEL_UP_MOVE( 1, MOVE_TOXIC), + LEVEL_UP_MOVE( 1, MOVE_GIGA_DRAIN), LEVEL_UP_MOVE( 1, MOVE_SWEET_SCENT), + LEVEL_UP_MOVE( 1, MOVE_MOONLIGHT), + LEVEL_UP_MOVE( 1, MOVE_GRASSY_TERRAIN), + LEVEL_UP_MOVE( 1, MOVE_MOONBLAST), LEVEL_UP_END }; #if P_GEN_2_CROSS_EVOS static const struct LevelUpMove sBellossomLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_PETAL_BLIZZARD), - LEVEL_UP_MOVE( 1, MOVE_PETAL_BLIZZARD), - LEVEL_UP_MOVE( 1, MOVE_QUIVER_DANCE), + LEVEL_UP_MOVE( 1, MOVE_ACID), + LEVEL_UP_MOVE( 1, MOVE_ABSORB), LEVEL_UP_MOVE( 1, MOVE_MEGA_DRAIN), + LEVEL_UP_MOVE( 1, MOVE_GROWTH), LEVEL_UP_MOVE( 1, MOVE_POISON_POWDER), LEVEL_UP_MOVE( 1, MOVE_STUN_SPORE), LEVEL_UP_MOVE( 1, MOVE_SLEEP_POWDER), - LEVEL_UP_MOVE( 1, MOVE_GIGA_DRAIN), - LEVEL_UP_MOVE( 1, MOVE_TOXIC), - LEVEL_UP_MOVE( 1, MOVE_MOONBLAST), - LEVEL_UP_MOVE( 1, MOVE_GRASSY_TERRAIN), - LEVEL_UP_MOVE( 1, MOVE_MOONLIGHT), LEVEL_UP_MOVE( 1, MOVE_PETAL_DANCE), - LEVEL_UP_MOVE( 1, MOVE_ABSORB), - LEVEL_UP_MOVE( 1, MOVE_GROWTH), - LEVEL_UP_MOVE( 1, MOVE_ACID), + LEVEL_UP_MOVE( 1, MOVE_TOXIC), + LEVEL_UP_MOVE( 1, MOVE_GIGA_DRAIN), LEVEL_UP_MOVE( 1, MOVE_SWEET_SCENT), + LEVEL_UP_MOVE( 1, MOVE_MOONLIGHT), + LEVEL_UP_MOVE( 1, MOVE_QUIVER_DANCE), + LEVEL_UP_MOVE( 1, MOVE_GRASSY_TERRAIN), + LEVEL_UP_MOVE( 1, MOVE_MOONBLAST), LEVEL_UP_END }; #endif //P_GEN_2_CROSS_EVOS @@ -1624,9 +1610,9 @@ static const struct LevelUpMove sPoliwagLevelUpLearnset[] = { }; static const struct LevelUpMove sPoliwhirlLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_POUND), LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), LEVEL_UP_MOVE( 1, MOVE_HYPNOSIS), - LEVEL_UP_MOVE( 1, MOVE_POUND), LEVEL_UP_MOVE( 1, MOVE_MUD_SHOT), LEVEL_UP_MOVE(18, MOVE_BUBBLE_BEAM), LEVEL_UP_MOVE(24, MOVE_RAIN_DANCE), @@ -1639,43 +1625,39 @@ static const struct LevelUpMove sPoliwhirlLevelUpLearnset[] = { }; static const struct LevelUpMove sPoliwrathLevelUpLearnset[] = { - LEVEL_UP_MOVE( 0, MOVE_SUBMISSION), - LEVEL_UP_MOVE( 1, MOVE_SUBMISSION), - LEVEL_UP_MOVE( 1, MOVE_CIRCLE_THROW), - LEVEL_UP_MOVE( 1, MOVE_MIND_READER), - LEVEL_UP_MOVE( 1, MOVE_DYNAMIC_PUNCH), - LEVEL_UP_MOVE( 1, MOVE_BUBBLE_BEAM), - LEVEL_UP_MOVE( 1, MOVE_RAIN_DANCE), - LEVEL_UP_MOVE( 1, MOVE_BODY_SLAM), - LEVEL_UP_MOVE( 1, MOVE_EARTH_POWER), - LEVEL_UP_MOVE( 1, MOVE_HYDRO_PUMP), - LEVEL_UP_MOVE( 1, MOVE_BELLY_DRUM), + LEVEL_UP_MOVE( 0, MOVE_DYNAMIC_PUNCH), + LEVEL_UP_MOVE( 1, MOVE_POUND), LEVEL_UP_MOVE( 1, MOVE_DOUBLE_EDGE), LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), - LEVEL_UP_MOVE( 1, MOVE_HYPNOSIS), - LEVEL_UP_MOVE( 1, MOVE_POUND), + LEVEL_UP_MOVE( 1, MOVE_HYDRO_PUMP), + LEVEL_UP_MOVE( 1, MOVE_BELLY_DRUM), + LEVEL_UP_MOVE( 1, MOVE_RAIN_DANCE), LEVEL_UP_MOVE( 1, MOVE_MUD_SHOT), + LEVEL_UP_MOVE( 1, MOVE_EARTH_POWER), + LEVEL_UP_MOVE( 1, MOVE_CIRCLE_THROW), + LEVEL_UP_MOVE( 1, MOVE_BODY_SLAM), + LEVEL_UP_MOVE( 1, MOVE_BUBBLE_BEAM), + LEVEL_UP_MOVE( 1, MOVE_HYPNOSIS), LEVEL_UP_END }; #if P_GEN_2_CROSS_EVOS static const struct LevelUpMove sPolitoedLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_BOUNCE), - LEVEL_UP_MOVE( 1, MOVE_BOUNCE), - LEVEL_UP_MOVE( 1, MOVE_SWAGGER), - LEVEL_UP_MOVE( 1, MOVE_HYPER_VOICE), - LEVEL_UP_MOVE( 1, MOVE_PERISH_SONG), - LEVEL_UP_MOVE( 1, MOVE_BUBBLE_BEAM), - LEVEL_UP_MOVE( 1, MOVE_RAIN_DANCE), LEVEL_UP_MOVE( 1, MOVE_BODY_SLAM), - LEVEL_UP_MOVE( 1, MOVE_EARTH_POWER), - LEVEL_UP_MOVE( 1, MOVE_HYDRO_PUMP), - LEVEL_UP_MOVE( 1, MOVE_BELLY_DRUM), LEVEL_UP_MOVE( 1, MOVE_DOUBLE_EDGE), LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), + LEVEL_UP_MOVE( 1, MOVE_BUBBLE_BEAM), LEVEL_UP_MOVE( 1, MOVE_HYPNOSIS), - LEVEL_UP_MOVE( 1, MOVE_POUND), + LEVEL_UP_MOVE( 1, MOVE_PERISH_SONG), + LEVEL_UP_MOVE( 1, MOVE_SWAGGER), + LEVEL_UP_MOVE( 1, MOVE_HYPER_VOICE), LEVEL_UP_MOVE( 1, MOVE_MUD_SHOT), + LEVEL_UP_MOVE( 1, MOVE_EARTH_POWER), + LEVEL_UP_MOVE( 1, MOVE_POUND), + LEVEL_UP_MOVE( 1, MOVE_HYDRO_PUMP), + LEVEL_UP_MOVE( 1, MOVE_BELLY_DRUM), + LEVEL_UP_MOVE( 1, MOVE_RAIN_DANCE), LEVEL_UP_END }; #endif //P_GEN_2_CROSS_EVOS @@ -1800,15 +1782,15 @@ static const struct LevelUpMove sBellsproutLevelUpLearnset[] = { LEVEL_UP_MOVE(39, MOVE_RAZOR_LEAF), LEVEL_UP_MOVE(41, MOVE_POISON_JAB), LEVEL_UP_MOVE(47, MOVE_SLAM), + LEVEL_UP_MOVE(52, MOVE_POWER_WHIP), LEVEL_UP_END }; + static const struct LevelUpMove sWeepinbellLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_VINE_WHIP), - LEVEL_UP_MOVE( 1, MOVE_GROWTH), LEVEL_UP_MOVE( 1, MOVE_WRAP), - LEVEL_UP_MOVE( 7, MOVE_GROWTH), - LEVEL_UP_MOVE(11, MOVE_WRAP), + LEVEL_UP_MOVE( 1, MOVE_GROWTH), LEVEL_UP_MOVE(13, MOVE_SLEEP_POWDER), LEVEL_UP_MOVE(15, MOVE_POISON_POWDER), LEVEL_UP_MOVE(17, MOVE_STUN_SPORE), @@ -1819,29 +1801,21 @@ static const struct LevelUpMove sWeepinbellLevelUpLearnset[] = { LEVEL_UP_MOVE(44, MOVE_RAZOR_LEAF), LEVEL_UP_MOVE(47, MOVE_POISON_JAB), LEVEL_UP_MOVE(54, MOVE_SLAM), + LEVEL_UP_MOVE(58, MOVE_POWER_WHIP), LEVEL_UP_END }; static const struct LevelUpMove sVictreebelLevelUpLearnset[] = { - LEVEL_UP_MOVE( 0, MOVE_LEAF_TORNADO), - LEVEL_UP_MOVE( 1, MOVE_LEAF_TORNADO), + LEVEL_UP_MOVE( 0, MOVE_LEAF_STORM), LEVEL_UP_MOVE( 1, MOVE_STOCKPILE), - LEVEL_UP_MOVE( 1, MOVE_SWALLOW), LEVEL_UP_MOVE( 1, MOVE_SPIT_UP), + LEVEL_UP_MOVE( 1, MOVE_SWALLOW), + LEVEL_UP_MOVE( 1, MOVE_GASTRO_ACID), + LEVEL_UP_MOVE( 1, MOVE_POWER_WHIP), LEVEL_UP_MOVE( 1, MOVE_VINE_WHIP), + LEVEL_UP_MOVE( 1, MOVE_RAZOR_LEAF), LEVEL_UP_MOVE( 1, MOVE_SLEEP_POWDER), LEVEL_UP_MOVE( 1, MOVE_SWEET_SCENT), - LEVEL_UP_MOVE( 1, MOVE_RAZOR_LEAF), - LEVEL_UP_MOVE( 1, MOVE_GROWTH), - LEVEL_UP_MOVE( 1, MOVE_WRAP), - LEVEL_UP_MOVE( 1, MOVE_POISON_POWDER), - LEVEL_UP_MOVE( 1, MOVE_STUN_SPORE), - LEVEL_UP_MOVE( 1, MOVE_ACID), - LEVEL_UP_MOVE( 1, MOVE_KNOCK_OFF), - LEVEL_UP_MOVE( 1, MOVE_GASTRO_ACID), - LEVEL_UP_MOVE( 1, MOVE_POISON_JAB), - LEVEL_UP_MOVE( 1, MOVE_SLAM), - LEVEL_UP_MOVE(32, MOVE_LEAF_STORM), LEVEL_UP_MOVE(44, MOVE_LEAF_BLADE), LEVEL_UP_END }; @@ -1867,11 +1841,11 @@ static const struct LevelUpMove sTentacoolLevelUpLearnset[] = { }; static const struct LevelUpMove sTentacruelLevelUpLearnset[] = { - LEVEL_UP_MOVE( 1, MOVE_REFLECT_TYPE), + LEVEL_UP_MOVE( 1, MOVE_WRAP), LEVEL_UP_MOVE( 1, MOVE_POISON_STING), - LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), LEVEL_UP_MOVE( 1, MOVE_ACID), - LEVEL_UP_MOVE( 1, MOVE_WRAP), + LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), + LEVEL_UP_MOVE( 1, MOVE_REFLECT_TYPE), LEVEL_UP_MOVE(12, MOVE_SUPERSONIC), LEVEL_UP_MOVE(16, MOVE_WATER_PULSE), LEVEL_UP_MOVE(20, MOVE_SCREECH), @@ -1890,13 +1864,11 @@ static const struct LevelUpMove sTentacruelLevelUpLearnset[] = { static const struct LevelUpMove sGeodudeLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_DEFENSE_CURL), - LEVEL_UP_MOVE( 4, MOVE_SANDSTORM), LEVEL_UP_MOVE( 6, MOVE_ROCK_POLISH), LEVEL_UP_MOVE(10, MOVE_ROLLOUT), - LEVEL_UP_MOVE(12, MOVE_HARDEN), + LEVEL_UP_MOVE(12, MOVE_BULLDOZE), LEVEL_UP_MOVE(16, MOVE_ROCK_THROW), LEVEL_UP_MOVE(18, MOVE_SMACK_DOWN), - LEVEL_UP_MOVE(22, MOVE_BULLDOZE), LEVEL_UP_MOVE(24, MOVE_SELF_DESTRUCT), LEVEL_UP_MOVE(28, MOVE_STEALTH_ROCK), LEVEL_UP_MOVE(30, MOVE_ROCK_BLAST), @@ -1911,13 +1883,10 @@ static const struct LevelUpMove sGravelerLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_DEFENSE_CURL), LEVEL_UP_MOVE( 1, MOVE_ROCK_POLISH), - LEVEL_UP_MOVE( 4, MOVE_SANDSTORM), - LEVEL_UP_MOVE( 6, MOVE_ROCK_POLISH), LEVEL_UP_MOVE(10, MOVE_ROLLOUT), - LEVEL_UP_MOVE(12, MOVE_HARDEN), + LEVEL_UP_MOVE(12, MOVE_BULLDOZE), LEVEL_UP_MOVE(16, MOVE_ROCK_THROW), LEVEL_UP_MOVE(18, MOVE_SMACK_DOWN), - LEVEL_UP_MOVE(22, MOVE_BULLDOZE), LEVEL_UP_MOVE(24, MOVE_SELF_DESTRUCT), LEVEL_UP_MOVE(30, MOVE_STEALTH_ROCK), LEVEL_UP_MOVE(34, MOVE_ROCK_BLAST), @@ -1929,14 +1898,10 @@ static const struct LevelUpMove sGravelerLevelUpLearnset[] = { }; static const struct LevelUpMove sGolemLevelUpLearnset[] = { - LEVEL_UP_MOVE( 1, MOVE_HEAVY_SLAM), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_DEFENSE_CURL), LEVEL_UP_MOVE( 1, MOVE_ROCK_POLISH), - LEVEL_UP_MOVE( 4, MOVE_SANDSTORM), - LEVEL_UP_MOVE( 6, MOVE_ROCK_POLISH), - LEVEL_UP_MOVE(10, MOVE_ROLLOUT), - LEVEL_UP_MOVE(12, MOVE_HARDEN), + LEVEL_UP_MOVE( 1, MOVE_HEAVY_SLAM), LEVEL_UP_MOVE(16, MOVE_ROCK_THROW), LEVEL_UP_MOVE(18, MOVE_SMACK_DOWN), LEVEL_UP_MOVE(22, MOVE_BULLDOZE), @@ -1947,7 +1912,6 @@ static const struct LevelUpMove sGolemLevelUpLearnset[] = { LEVEL_UP_MOVE(44, MOVE_EXPLOSION), LEVEL_UP_MOVE(50, MOVE_DOUBLE_EDGE), LEVEL_UP_MOVE(54, MOVE_STONE_EDGE), - LEVEL_UP_MOVE(60, MOVE_HEAVY_SLAM), LEVEL_UP_END }; @@ -1977,8 +1941,6 @@ static const struct LevelUpMove sGravelerAlolanLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_DEFENSE_CURL), LEVEL_UP_MOVE( 1, MOVE_CHARGE), LEVEL_UP_MOVE( 1, MOVE_ROCK_POLISH), - LEVEL_UP_MOVE( 4, MOVE_CHARGE), - LEVEL_UP_MOVE( 6, MOVE_ROCK_POLISH), LEVEL_UP_MOVE(10, MOVE_ROLLOUT), LEVEL_UP_MOVE(12, MOVE_SPARK), LEVEL_UP_MOVE(16, MOVE_ROCK_THROW), @@ -1995,14 +1957,11 @@ static const struct LevelUpMove sGravelerAlolanLevelUpLearnset[] = { }; static const struct LevelUpMove sGolemAlolanLevelUpLearnset[] = { - LEVEL_UP_MOVE( 1, MOVE_HEAVY_SLAM), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_DEFENSE_CURL), LEVEL_UP_MOVE( 1, MOVE_CHARGE), LEVEL_UP_MOVE( 1, MOVE_ROCK_POLISH), - LEVEL_UP_MOVE( 4, MOVE_CHARGE), - LEVEL_UP_MOVE( 6, MOVE_ROCK_POLISH), - LEVEL_UP_MOVE(10, MOVE_STEAMROLLER), + LEVEL_UP_MOVE( 1, MOVE_HEAVY_SLAM), LEVEL_UP_MOVE(12, MOVE_SPARK), LEVEL_UP_MOVE(16, MOVE_ROCK_THROW), LEVEL_UP_MOVE(18, MOVE_SMACK_DOWN), @@ -2014,7 +1973,6 @@ static const struct LevelUpMove sGolemAlolanLevelUpLearnset[] = { LEVEL_UP_MOVE(44, MOVE_EXPLOSION), LEVEL_UP_MOVE(50, MOVE_DOUBLE_EDGE), LEVEL_UP_MOVE(54, MOVE_STONE_EDGE), - LEVEL_UP_MOVE(60, MOVE_HEAVY_SLAM), LEVEL_UP_END }; #endif //P_ALOLAN_FORMS @@ -2124,6 +2082,7 @@ static const struct LevelUpMove sSlowpokeLevelUpLearnset[] = { }; static const struct LevelUpMove sSlowbroLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_FUTURE_SIGHT), LEVEL_UP_MOVE( 1, MOVE_WITHDRAW), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_GROWL), @@ -2147,6 +2106,8 @@ static const struct LevelUpMove sSlowbroLevelUpLearnset[] = { #if P_GEN_2_CROSS_EVOS static const struct LevelUpMove sSlowkingLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_FUTURE_SIGHT), + LEVEL_UP_MOVE( 1, MOVE_CHILLY_RECEPTION), LEVEL_UP_MOVE( 1, MOVE_CURSE), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_GROWL), @@ -2218,6 +2179,9 @@ static const struct LevelUpMove sSlowbroGalarianLevelUpLearnset[] = { #if P_GEN_2_CROSS_EVOS static const struct LevelUpMove sSlowkingGalarianLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_EERIE_SPELL), + LEVEL_UP_MOVE( 1, MOVE_TOXIC), + LEVEL_UP_MOVE( 1, MOVE_FUTURE_SIGHT), + LEVEL_UP_MOVE( 1, MOVE_CHILLY_RECEPTION), LEVEL_UP_MOVE( 1, MOVE_NASTY_PLOT), LEVEL_UP_MOVE( 1, MOVE_POWER_GEM), LEVEL_UP_MOVE( 1, MOVE_CURSE), @@ -2378,45 +2342,37 @@ static const struct LevelUpMove sSirfetchdLevelUpLearnset[] = { #if P_FAMILY_DODUO static const struct LevelUpMove sDoduoLevelUpLearnset[] = { - LEVEL_UP_MOVE( 1, MOVE_PECK), LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 1, MOVE_PECK), LEVEL_UP_MOVE( 5, MOVE_QUICK_ATTACK), - LEVEL_UP_MOVE( 8, MOVE_LEER), - LEVEL_UP_MOVE(12, MOVE_FURY_ATTACK), - LEVEL_UP_MOVE(15, MOVE_WING_ATTACK), - LEVEL_UP_MOVE(19, MOVE_PLUCK), - LEVEL_UP_MOVE(22, MOVE_DOUBLE_HIT), - LEVEL_UP_MOVE(26, MOVE_AGILITY), - LEVEL_UP_MOVE(29, MOVE_UPROAR), - LEVEL_UP_MOVE(33, MOVE_ACUPRESSURE), - LEVEL_UP_MOVE(36, MOVE_SWORDS_DANCE), - LEVEL_UP_MOVE(40, MOVE_LUNGE), - LEVEL_UP_MOVE(43, MOVE_DRILL_PECK), - LEVEL_UP_MOVE(47, MOVE_ENDEAVOR), - LEVEL_UP_MOVE(50, MOVE_THRASH), + LEVEL_UP_MOVE( 9, MOVE_FURY_ATTACK), + LEVEL_UP_MOVE(14, MOVE_PLUCK), + LEVEL_UP_MOVE(19, MOVE_DOUBLE_HIT), + LEVEL_UP_MOVE(23, MOVE_AGILITY), + LEVEL_UP_MOVE(27, MOVE_UPROAR), + LEVEL_UP_MOVE(30, MOVE_ACUPRESSURE), + LEVEL_UP_MOVE(33, MOVE_SWORDS_DANCE), + LEVEL_UP_MOVE(36, MOVE_DRILL_PECK), + LEVEL_UP_MOVE(39, MOVE_ENDEAVOR), + LEVEL_UP_MOVE(43, MOVE_THRASH), LEVEL_UP_END }; static const struct LevelUpMove sDodrioLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_TRI_ATTACK), - LEVEL_UP_MOVE( 1, MOVE_TRI_ATTACK), - LEVEL_UP_MOVE( 1, MOVE_PECK), LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 1, MOVE_PECK), LEVEL_UP_MOVE( 1, MOVE_QUICK_ATTACK), - LEVEL_UP_MOVE( 5, MOVE_QUICK_ATTACK), - LEVEL_UP_MOVE( 8, MOVE_LEER), LEVEL_UP_MOVE(12, MOVE_FURY_ATTACK), - LEVEL_UP_MOVE(15, MOVE_WING_ATTACK), - LEVEL_UP_MOVE(19, MOVE_PLUCK), - LEVEL_UP_MOVE(22, MOVE_DOUBLE_HIT), - LEVEL_UP_MOVE(26, MOVE_AGILITY), - LEVEL_UP_MOVE(29, MOVE_UPROAR), - LEVEL_UP_MOVE(34, MOVE_ACUPRESSURE), - LEVEL_UP_MOVE(38, MOVE_SWORDS_DANCE), - LEVEL_UP_MOVE(43, MOVE_LUNGE), - LEVEL_UP_MOVE(47, MOVE_DRILL_PECK), - LEVEL_UP_MOVE(52, MOVE_ENDEAVOR), - LEVEL_UP_MOVE(56, MOVE_THRASH), + LEVEL_UP_MOVE(15, MOVE_PLUCK), + LEVEL_UP_MOVE(19, MOVE_DOUBLE_HIT), + LEVEL_UP_MOVE(23, MOVE_AGILITY), + LEVEL_UP_MOVE(26, MOVE_UPROAR), + LEVEL_UP_MOVE(30, MOVE_ACUPRESSURE), + LEVEL_UP_MOVE(34, MOVE_SWORDS_DANCE), + LEVEL_UP_MOVE(38, MOVE_DRILL_PECK), + LEVEL_UP_MOVE(43, MOVE_ENDEAVOR), + LEVEL_UP_MOVE(50, MOVE_THRASH), LEVEL_UP_END }; #endif //P_FAMILY_DODUO @@ -2425,7 +2381,7 @@ static const struct LevelUpMove sDodrioLevelUpLearnset[] = { static const struct LevelUpMove sSeelLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_HEADBUTT), LEVEL_UP_MOVE( 3, MOVE_GROWL), - LEVEL_UP_MOVE( 7, MOVE_WATER_GUN), + LEVEL_UP_MOVE( 7, MOVE_CHARM), LEVEL_UP_MOVE(11, MOVE_ICY_WIND), LEVEL_UP_MOVE(13, MOVE_ENCORE), LEVEL_UP_MOVE(17, MOVE_ICE_SHARD), @@ -2439,21 +2395,15 @@ static const struct LevelUpMove sSeelLevelUpLearnset[] = { LEVEL_UP_MOVE(43, MOVE_AQUA_TAIL), LEVEL_UP_MOVE(47, MOVE_ICE_BEAM), LEVEL_UP_MOVE(51, MOVE_SAFEGUARD), - LEVEL_UP_MOVE(53, MOVE_HAIL), + LEVEL_UP_MOVE(53, MOVE_SNOWSCAPE), LEVEL_UP_END }; static const struct LevelUpMove sDewgongLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_SHEER_COLD), - LEVEL_UP_MOVE( 1, MOVE_SHEER_COLD), LEVEL_UP_MOVE( 1, MOVE_HEADBUTT), LEVEL_UP_MOVE( 1, MOVE_GROWL), - LEVEL_UP_MOVE( 1, MOVE_BUBBLE_BEAM), LEVEL_UP_MOVE( 1, MOVE_ICY_WIND), - LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), - LEVEL_UP_MOVE( 3, MOVE_GROWL), - LEVEL_UP_MOVE( 7, MOVE_BUBBLE_BEAM), - LEVEL_UP_MOVE(11, MOVE_ICY_WIND), LEVEL_UP_MOVE(13, MOVE_ENCORE), LEVEL_UP_MOVE(17, MOVE_ICE_SHARD), LEVEL_UP_MOVE(21, MOVE_REST), @@ -2466,7 +2416,7 @@ static const struct LevelUpMove sDewgongLevelUpLearnset[] = { LEVEL_UP_MOVE(49, MOVE_AQUA_TAIL), LEVEL_UP_MOVE(55, MOVE_ICE_BEAM), LEVEL_UP_MOVE(61, MOVE_SAFEGUARD), - LEVEL_UP_MOVE(65, MOVE_HAIL), + LEVEL_UP_MOVE(65, MOVE_SNOWSCAPE), LEVEL_UP_END }; #endif //P_FAMILY_SEEL @@ -2900,48 +2850,48 @@ static const struct LevelUpMove sExeggcuteLevelUpLearnset[] = { static const struct LevelUpMove sExeggutorLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_STOMP), - LEVEL_UP_MOVE( 1, MOVE_STOMP), - LEVEL_UP_MOVE( 1, MOVE_SEED_BOMB), - LEVEL_UP_MOVE( 1, MOVE_PSYSHOCK), - LEVEL_UP_MOVE( 1, MOVE_WOOD_HAMMER), + LEVEL_UP_MOVE( 1, MOVE_GROWTH), LEVEL_UP_MOVE( 1, MOVE_LEAF_STORM), - LEVEL_UP_MOVE( 1, MOVE_MEGA_DRAIN), - LEVEL_UP_MOVE( 1, MOVE_CONFUSION), - LEVEL_UP_MOVE( 1, MOVE_SYNTHESIS), + LEVEL_UP_MOVE( 1, MOVE_SEED_BOMB), + LEVEL_UP_MOVE( 1, MOVE_WORRY_SEED), LEVEL_UP_MOVE( 1, MOVE_BULLET_SEED), - LEVEL_UP_MOVE( 1, MOVE_GIGA_DRAIN), LEVEL_UP_MOVE( 1, MOVE_EXTRASENSORY), LEVEL_UP_MOVE( 1, MOVE_UPROAR), - LEVEL_UP_MOVE( 1, MOVE_WORRY_SEED), - LEVEL_UP_MOVE( 1, MOVE_SOLAR_BEAM), - LEVEL_UP_MOVE( 1, MOVE_ABSORB), - LEVEL_UP_MOVE( 1, MOVE_HYPNOSIS), + LEVEL_UP_MOVE( 1, MOVE_SYNTHESIS), + LEVEL_UP_MOVE( 1, MOVE_PSYSHOCK), LEVEL_UP_MOVE( 1, MOVE_REFLECT), + LEVEL_UP_MOVE( 1, MOVE_HYPNOSIS), + LEVEL_UP_MOVE( 1, MOVE_CONFUSION), + LEVEL_UP_MOVE( 1, MOVE_SOLAR_BEAM), LEVEL_UP_MOVE( 1, MOVE_LEECH_SEED), + LEVEL_UP_MOVE( 1, MOVE_MEGA_DRAIN), + LEVEL_UP_MOVE( 1, MOVE_ABSORB), + LEVEL_UP_MOVE( 1, MOVE_WOOD_HAMMER), + LEVEL_UP_MOVE( 1, MOVE_GIGA_DRAIN), LEVEL_UP_END }; #if P_ALOLAN_FORMS static const struct LevelUpMove sExeggutorAlolanLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_DRAGON_HAMMER), - LEVEL_UP_MOVE( 1, MOVE_DRAGON_HAMMER), - LEVEL_UP_MOVE( 1, MOVE_SEED_BOMB), - LEVEL_UP_MOVE( 1, MOVE_PSYSHOCK), + LEVEL_UP_MOVE( 1, MOVE_GROWTH), LEVEL_UP_MOVE( 1, MOVE_WOOD_HAMMER), LEVEL_UP_MOVE( 1, MOVE_LEAF_STORM), - LEVEL_UP_MOVE( 1, MOVE_MEGA_DRAIN), - LEVEL_UP_MOVE( 1, MOVE_CONFUSION), - LEVEL_UP_MOVE( 1, MOVE_SYNTHESIS), + LEVEL_UP_MOVE( 1, MOVE_SEED_BOMB), + LEVEL_UP_MOVE( 1, MOVE_WORRY_SEED), LEVEL_UP_MOVE( 1, MOVE_BULLET_SEED), - LEVEL_UP_MOVE( 1, MOVE_GIGA_DRAIN), LEVEL_UP_MOVE( 1, MOVE_EXTRASENSORY), LEVEL_UP_MOVE( 1, MOVE_UPROAR), - LEVEL_UP_MOVE( 1, MOVE_WORRY_SEED), - LEVEL_UP_MOVE( 1, MOVE_SOLAR_BEAM), - LEVEL_UP_MOVE( 1, MOVE_ABSORB), - LEVEL_UP_MOVE( 1, MOVE_HYPNOSIS), + LEVEL_UP_MOVE( 1, MOVE_SYNTHESIS), + LEVEL_UP_MOVE( 1, MOVE_GIGA_DRAIN), LEVEL_UP_MOVE( 1, MOVE_REFLECT), + LEVEL_UP_MOVE( 1, MOVE_HYPNOSIS), + LEVEL_UP_MOVE( 1, MOVE_CONFUSION), + LEVEL_UP_MOVE( 1, MOVE_SOLAR_BEAM), LEVEL_UP_MOVE( 1, MOVE_LEECH_SEED), + LEVEL_UP_MOVE( 1, MOVE_MEGA_DRAIN), + LEVEL_UP_MOVE( 1, MOVE_PSYSHOCK), + LEVEL_UP_MOVE( 1, MOVE_ABSORB), LEVEL_UP_END }; #endif //P_ALOLAN_FORMS @@ -3015,50 +2965,46 @@ static const struct LevelUpMove sMarowakAlolanLevelUpLearnset[] = { #if P_GEN_2_CROSS_EVOS static const struct LevelUpMove sTyrogueLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), - LEVEL_UP_MOVE( 1, MOVE_HELPING_HAND), - LEVEL_UP_MOVE( 1, MOVE_FAKE_OUT), LEVEL_UP_MOVE( 1, MOVE_FOCUS_ENERGY), + LEVEL_UP_MOVE( 1, MOVE_FAKE_OUT), + LEVEL_UP_MOVE( 1, MOVE_HELPING_HAND), LEVEL_UP_END }; #endif //P_GEN_2_CROSS_EVOS static const struct LevelUpMove sHitmonleeLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_BRICK_BREAK), - LEVEL_UP_MOVE( 1, MOVE_BRICK_BREAK), - LEVEL_UP_MOVE( 1, MOVE_FEINT), - LEVEL_UP_MOVE( 1, MOVE_LOW_SWEEP), + LEVEL_UP_MOVE( 1, MOVE_FAKE_OUT), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_HELPING_HAND), - LEVEL_UP_MOVE( 1, MOVE_FAKE_OUT), LEVEL_UP_MOVE( 1, MOVE_FOCUS_ENERGY), + LEVEL_UP_MOVE( 1, MOVE_LOW_SWEEP), LEVEL_UP_MOVE( 4, MOVE_DOUBLE_KICK), LEVEL_UP_MOVE( 8, MOVE_LOW_KICK), LEVEL_UP_MOVE(12, MOVE_ENDURE), - LEVEL_UP_MOVE(16, MOVE_REVENGE), + LEVEL_UP_MOVE(16, MOVE_SUCKER_PUNCH), LEVEL_UP_MOVE(21, MOVE_WIDE_GUARD), LEVEL_UP_MOVE(24, MOVE_BLAZE_KICK), - LEVEL_UP_MOVE(28, MOVE_MIND_READER), + LEVEL_UP_MOVE(28, MOVE_FEINT), LEVEL_UP_MOVE(32, MOVE_MEGA_KICK), LEVEL_UP_MOVE(36, MOVE_CLOSE_COMBAT), LEVEL_UP_MOVE(40, MOVE_REVERSAL), LEVEL_UP_MOVE(44, MOVE_HIGH_JUMP_KICK), + LEVEL_UP_MOVE(50, MOVE_AXE_KICK), LEVEL_UP_END }; static const struct LevelUpMove sHitmonchanLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_DRAIN_PUNCH), - LEVEL_UP_MOVE( 1, MOVE_DRAIN_PUNCH), LEVEL_UP_MOVE( 1, MOVE_FEINT), - LEVEL_UP_MOVE( 1, MOVE_VACUUM_WAVE), - LEVEL_UP_MOVE( 1, MOVE_BULLET_PUNCH), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_HELPING_HAND), LEVEL_UP_MOVE( 1, MOVE_FAKE_OUT), LEVEL_UP_MOVE( 1, MOVE_FOCUS_ENERGY), LEVEL_UP_MOVE( 4, MOVE_MACH_PUNCH), - LEVEL_UP_MOVE( 8, MOVE_POWER_UP_PUNCH), + LEVEL_UP_MOVE( 8, MOVE_VACUUM_WAVE), LEVEL_UP_MOVE(12, MOVE_DETECT), - LEVEL_UP_MOVE(16, MOVE_REVENGE), + LEVEL_UP_MOVE(16, MOVE_BULLET_PUNCH), LEVEL_UP_MOVE(21, MOVE_QUICK_GUARD), LEVEL_UP_MOVE(24, MOVE_THUNDER_PUNCH), LEVEL_UP_MOVE(24, MOVE_ICE_PUNCH), @@ -3074,17 +3020,15 @@ static const struct LevelUpMove sHitmonchanLevelUpLearnset[] = { #if P_GEN_2_CROSS_EVOS static const struct LevelUpMove sHitmontopLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_TRIPLE_KICK), - LEVEL_UP_MOVE( 1, MOVE_TRIPLE_KICK), - LEVEL_UP_MOVE( 1, MOVE_FEINT), - LEVEL_UP_MOVE( 1, MOVE_RAPID_SPIN), LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_FEINT), LEVEL_UP_MOVE( 1, MOVE_HELPING_HAND), - LEVEL_UP_MOVE( 1, MOVE_FAKE_OUT), LEVEL_UP_MOVE( 1, MOVE_FOCUS_ENERGY), + LEVEL_UP_MOVE( 1, MOVE_FAKE_OUT), LEVEL_UP_MOVE( 4, MOVE_QUICK_ATTACK), LEVEL_UP_MOVE( 8, MOVE_GYRO_BALL), LEVEL_UP_MOVE(12, MOVE_DETECT), - LEVEL_UP_MOVE(16, MOVE_REVENGE), + LEVEL_UP_MOVE(16, MOVE_RAPID_SPIN), LEVEL_UP_MOVE(21, MOVE_WIDE_GUARD), LEVEL_UP_MOVE(21, MOVE_QUICK_GUARD), LEVEL_UP_MOVE(24, MOVE_SUCKER_PUNCH), @@ -3136,8 +3080,8 @@ static const struct LevelUpMove sLickilickyLevelUpLearnset[] = { #if P_FAMILY_KOFFING static const struct LevelUpMove sKoffingLevelUpLearnset[] = { - LEVEL_UP_MOVE( 1, MOVE_POISON_GAS), LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_POISON_GAS), LEVEL_UP_MOVE( 4, MOVE_SMOG), LEVEL_UP_MOVE( 8, MOVE_SMOKESCREEN), LEVEL_UP_MOVE(12, MOVE_CLEAR_SMOG), @@ -3156,12 +3100,11 @@ static const struct LevelUpMove sKoffingLevelUpLearnset[] = { static const struct LevelUpMove sWeezingLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_DOUBLE_HIT), - LEVEL_UP_MOVE( 1, MOVE_DOUBLE_HIT), - LEVEL_UP_MOVE( 1, MOVE_HEAT_WAVE), - LEVEL_UP_MOVE( 1, MOVE_POISON_GAS), LEVEL_UP_MOVE( 1, MOVE_TACKLE), - LEVEL_UP_MOVE( 1, MOVE_SMOG), LEVEL_UP_MOVE( 1, MOVE_SMOKESCREEN), + LEVEL_UP_MOVE( 1, MOVE_SMOG), + LEVEL_UP_MOVE( 1, MOVE_POISON_GAS), + LEVEL_UP_MOVE( 1, MOVE_HEAT_WAVE), LEVEL_UP_MOVE(12, MOVE_CLEAR_SMOG), LEVEL_UP_MOVE(16, MOVE_ASSURANCE), LEVEL_UP_MOVE(20, MOVE_SLUDGE), @@ -3179,21 +3122,19 @@ static const struct LevelUpMove sWeezingLevelUpLearnset[] = { #if P_GALARIAN_FORMS static const struct LevelUpMove sWeezingGalarianLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_DOUBLE_HIT), - LEVEL_UP_MOVE( 1, MOVE_DOUBLE_HIT), LEVEL_UP_MOVE( 1, MOVE_STRANGE_STEAM), LEVEL_UP_MOVE( 1, MOVE_DEFOG), LEVEL_UP_MOVE( 1, MOVE_HEAT_WAVE), - LEVEL_UP_MOVE( 1, MOVE_SMOG), - LEVEL_UP_MOVE( 1, MOVE_SMOKESCREEN), - LEVEL_UP_MOVE( 1, MOVE_HAZE), + LEVEL_UP_MOVE( 1, MOVE_AROMATIC_MIST), LEVEL_UP_MOVE( 1, MOVE_POISON_GAS), LEVEL_UP_MOVE( 1, MOVE_TACKLE), - LEVEL_UP_MOVE( 1, MOVE_FAIRY_WIND), - LEVEL_UP_MOVE( 1, MOVE_AROMATIC_MIST), + LEVEL_UP_MOVE( 1, MOVE_SMOG), + LEVEL_UP_MOVE( 1, MOVE_HAZE), + LEVEL_UP_MOVE( 1, MOVE_SMOKESCREEN), LEVEL_UP_MOVE(12, MOVE_CLEAR_SMOG), LEVEL_UP_MOVE(16, MOVE_ASSURANCE), LEVEL_UP_MOVE(20, MOVE_SLUDGE), - LEVEL_UP_MOVE(24, MOVE_AROMATHERAPY), + LEVEL_UP_MOVE(24, MOVE_FAIRY_WIND), LEVEL_UP_MOVE(28, MOVE_SELF_DESTRUCT), LEVEL_UP_MOVE(32, MOVE_SLUDGE_BOMB), LEVEL_UP_MOVE(38, MOVE_TOXIC), @@ -3228,7 +3169,6 @@ static const struct LevelUpMove sRhyhornLevelUpLearnset[] = { static const struct LevelUpMove sRhydonLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_HAMMER_ARM), - LEVEL_UP_MOVE( 1, MOVE_HAMMER_ARM), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), LEVEL_UP_MOVE( 1, MOVE_SMACK_DOWN), @@ -3248,9 +3188,9 @@ static const struct LevelUpMove sRhydonLevelUpLearnset[] = { #if P_GEN_4_CROSS_EVOS static const struct LevelUpMove sRhyperiorLevelUpLearnset[] = { - LEVEL_UP_MOVE( 1, MOVE_HAMMER_ARM), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), + LEVEL_UP_MOVE( 1, MOVE_HAMMER_ARM), LEVEL_UP_MOVE( 1, MOVE_SMACK_DOWN), LEVEL_UP_MOVE( 1, MOVE_BULLDOZE), LEVEL_UP_MOVE(15, MOVE_HORN_ATTACK), @@ -3402,15 +3342,15 @@ static const struct LevelUpMove sKangaskhanLevelUpLearnset[] = { #if P_FAMILY_HORSEA static const struct LevelUpMove sHorseaLevelUpLearnset[] = { - LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), LEVEL_UP_MOVE( 5, MOVE_SMOKESCREEN), LEVEL_UP_MOVE(10, MOVE_TWISTER), LEVEL_UP_MOVE(15, MOVE_FOCUS_ENERGY), LEVEL_UP_MOVE(20, MOVE_DRAGON_BREATH), LEVEL_UP_MOVE(25, MOVE_BUBBLE_BEAM), LEVEL_UP_MOVE(30, MOVE_AGILITY), - LEVEL_UP_MOVE(35, MOVE_LASER_FOCUS), + LEVEL_UP_MOVE(35, MOVE_WATER_PULSE), LEVEL_UP_MOVE(40, MOVE_DRAGON_PULSE), LEVEL_UP_MOVE(45, MOVE_HYDRO_PUMP), LEVEL_UP_MOVE(50, MOVE_DRAGON_DANCE), @@ -3419,15 +3359,15 @@ static const struct LevelUpMove sHorseaLevelUpLearnset[] = { }; static const struct LevelUpMove sSeadraLevelUpLearnset[] = { - LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), LEVEL_UP_MOVE( 1, MOVE_SMOKESCREEN), LEVEL_UP_MOVE( 1, MOVE_TWISTER), LEVEL_UP_MOVE(15, MOVE_FOCUS_ENERGY), LEVEL_UP_MOVE(20, MOVE_DRAGON_BREATH), LEVEL_UP_MOVE(25, MOVE_BUBBLE_BEAM), LEVEL_UP_MOVE(30, MOVE_AGILITY), - LEVEL_UP_MOVE(37, MOVE_LASER_FOCUS), + LEVEL_UP_MOVE(37, MOVE_WATER_PULSE), LEVEL_UP_MOVE(44, MOVE_DRAGON_PULSE), LEVEL_UP_MOVE(51, MOVE_HYDRO_PUMP), LEVEL_UP_MOVE(58, MOVE_DRAGON_DANCE), @@ -3437,21 +3377,22 @@ static const struct LevelUpMove sSeadraLevelUpLearnset[] = { #if P_GEN_2_CROSS_EVOS static const struct LevelUpMove sKingdraLevelUpLearnset[] = { - LEVEL_UP_MOVE( 1, MOVE_WHIRLPOOL), - LEVEL_UP_MOVE( 1, MOVE_YAWN), - LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), LEVEL_UP_MOVE( 1, MOVE_SMOKESCREEN), LEVEL_UP_MOVE( 1, MOVE_TWISTER), + LEVEL_UP_MOVE( 1, MOVE_WHIRLPOOL), + LEVEL_UP_MOVE( 1, MOVE_YAWN), LEVEL_UP_MOVE(15, MOVE_FOCUS_ENERGY), LEVEL_UP_MOVE(20, MOVE_DRAGON_BREATH), LEVEL_UP_MOVE(25, MOVE_BUBBLE_BEAM), LEVEL_UP_MOVE(30, MOVE_AGILITY), - LEVEL_UP_MOVE(37, MOVE_LASER_FOCUS), + LEVEL_UP_MOVE(37, MOVE_WATER_PULSE), LEVEL_UP_MOVE(44, MOVE_DRAGON_PULSE), LEVEL_UP_MOVE(51, MOVE_HYDRO_PUMP), LEVEL_UP_MOVE(58, MOVE_DRAGON_DANCE), LEVEL_UP_MOVE(65, MOVE_RAIN_DANCE), + LEVEL_UP_MOVE(72, MOVE_WAVE_CRASH), LEVEL_UP_END }; #endif //P_GEN_2_CROSS_EVOS @@ -3755,8 +3696,8 @@ static const struct LevelUpMove sJynxLevelUpLearnset[] = { #if P_FAMILY_ELECTABUZZ #if P_GEN_2_CROSS_EVOS static const struct LevelUpMove sElekidLevelUpLearnset[] = { - LEVEL_UP_MOVE( 1, MOVE_QUICK_ATTACK), LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 1, MOVE_QUICK_ATTACK), LEVEL_UP_MOVE( 4, MOVE_THUNDER_SHOCK), LEVEL_UP_MOVE( 8, MOVE_CHARGE), LEVEL_UP_MOVE(12, MOVE_SWIFT), @@ -3774,9 +3715,9 @@ static const struct LevelUpMove sElekidLevelUpLearnset[] = { #endif //P_GEN_2_CROSS_EVOS static const struct LevelUpMove sElectabuzzLevelUpLearnset[] = { - LEVEL_UP_MOVE( 1, MOVE_QUICK_ATTACK), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 1, MOVE_THUNDER_SHOCK), + LEVEL_UP_MOVE( 1, MOVE_QUICK_ATTACK), LEVEL_UP_MOVE( 1, MOVE_CHARGE), LEVEL_UP_MOVE(12, MOVE_SWIFT), LEVEL_UP_MOVE(16, MOVE_SHOCK_WAVE), @@ -3794,10 +3735,9 @@ static const struct LevelUpMove sElectabuzzLevelUpLearnset[] = { #if P_GEN_4_CROSS_EVOS static const struct LevelUpMove sElectivireLevelUpLearnset[] = { - LEVEL_UP_MOVE( 1, MOVE_WILD_CHARGE), - LEVEL_UP_MOVE( 1, MOVE_QUICK_ATTACK), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 1, MOVE_THUNDER_SHOCK), + LEVEL_UP_MOVE( 1, MOVE_QUICK_ATTACK), LEVEL_UP_MOVE( 1, MOVE_CHARGE), LEVEL_UP_MOVE(12, MOVE_SWIFT), LEVEL_UP_MOVE(16, MOVE_SHOCK_WAVE), @@ -3818,8 +3758,8 @@ static const struct LevelUpMove sElectivireLevelUpLearnset[] = { #if P_FAMILY_MAGMAR #if P_GEN_2_CROSS_EVOS static const struct LevelUpMove sMagbyLevelUpLearnset[] = { - LEVEL_UP_MOVE( 1, MOVE_SMOG), LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 1, MOVE_SMOG), LEVEL_UP_MOVE( 4, MOVE_EMBER), LEVEL_UP_MOVE( 8, MOVE_SMOKESCREEN), LEVEL_UP_MOVE(12, MOVE_CLEAR_SMOG), @@ -3837,10 +3777,10 @@ static const struct LevelUpMove sMagbyLevelUpLearnset[] = { #endif //P_GEN_2_CROSS_EVOS static const struct LevelUpMove sMagmarLevelUpLearnset[] = { - LEVEL_UP_MOVE( 1, MOVE_SMOG), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 1, MOVE_EMBER), LEVEL_UP_MOVE( 1, MOVE_SMOKESCREEN), + LEVEL_UP_MOVE( 1, MOVE_SMOG), LEVEL_UP_MOVE(12, MOVE_CLEAR_SMOG), LEVEL_UP_MOVE(16, MOVE_FLAME_WHEEL), LEVEL_UP_MOVE(20, MOVE_CONFUSE_RAY), @@ -3857,10 +3797,10 @@ static const struct LevelUpMove sMagmarLevelUpLearnset[] = { #if P_GEN_4_CROSS_EVOS static const struct LevelUpMove sMagmortarLevelUpLearnset[] = { - LEVEL_UP_MOVE( 1, MOVE_SMOG), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 1, MOVE_EMBER), LEVEL_UP_MOVE( 1, MOVE_SMOKESCREEN), + LEVEL_UP_MOVE( 1, MOVE_SMOG), LEVEL_UP_MOVE(12, MOVE_CLEAR_SMOG), LEVEL_UP_MOVE(16, MOVE_FLAME_WHEEL), LEVEL_UP_MOVE(20, MOVE_CONFUSE_RAY), @@ -4295,7 +4235,7 @@ static const struct LevelUpMove sPorygonLevelUpLearnset[] = { LEVEL_UP_MOVE(35, MOVE_RECOVER), LEVEL_UP_MOVE(40, MOVE_DISCHARGE), LEVEL_UP_MOVE(45, MOVE_TRI_ATTACK), - LEVEL_UP_MOVE(50, MOVE_MAGIC_COAT), + LEVEL_UP_MOVE(50, MOVE_DOUBLE_EDGE), LEVEL_UP_MOVE(55, MOVE_LOCK_ON), LEVEL_UP_MOVE(60, MOVE_ZAP_CANNON), LEVEL_UP_END @@ -4303,8 +4243,8 @@ static const struct LevelUpMove sPorygonLevelUpLearnset[] = { #if P_GEN_2_CROSS_EVOS static const struct LevelUpMove sPorygon2LevelUpLearnset[] = { - LEVEL_UP_MOVE( 1, MOVE_DEFENSE_CURL), LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_DEFENSE_CURL), LEVEL_UP_MOVE( 1, MOVE_CONVERSION), LEVEL_UP_MOVE( 1, MOVE_RECYCLE), LEVEL_UP_MOVE( 1, MOVE_MAGNET_RISE), @@ -4315,22 +4255,21 @@ static const struct LevelUpMove sPorygon2LevelUpLearnset[] = { LEVEL_UP_MOVE(35, MOVE_RECOVER), LEVEL_UP_MOVE(40, MOVE_DISCHARGE), LEVEL_UP_MOVE(45, MOVE_TRI_ATTACK), - LEVEL_UP_MOVE(50, MOVE_MAGIC_COAT), - LEVEL_UP_MOVE(55, MOVE_LOCK_ON), - LEVEL_UP_MOVE(60, MOVE_ZAP_CANNON), - LEVEL_UP_MOVE(65, MOVE_HYPER_BEAM), + LEVEL_UP_MOVE(50, MOVE_LOCK_ON), + LEVEL_UP_MOVE(55, MOVE_ZAP_CANNON), + LEVEL_UP_MOVE(60, MOVE_HYPER_BEAM), LEVEL_UP_END }; #if P_GEN_4_CROSS_EVOS static const struct LevelUpMove sPorygonZLevelUpLearnset[] = { - LEVEL_UP_MOVE( 1, MOVE_TRICK_ROOM), + LEVEL_UP_MOVE( 1, MOVE_CONVERSION), LEVEL_UP_MOVE( 1, MOVE_NASTY_PLOT), + LEVEL_UP_MOVE( 1, MOVE_MAGNET_RISE), + LEVEL_UP_MOVE( 1, MOVE_RECYCLE), + LEVEL_UP_MOVE( 1, MOVE_TRICK_ROOM), LEVEL_UP_MOVE( 1, MOVE_DEFENSE_CURL), LEVEL_UP_MOVE( 1, MOVE_TACKLE), - LEVEL_UP_MOVE( 1, MOVE_CONVERSION), - LEVEL_UP_MOVE( 1, MOVE_RECYCLE), - LEVEL_UP_MOVE( 1, MOVE_MAGNET_RISE), LEVEL_UP_MOVE(15, MOVE_THUNDER_SHOCK), LEVEL_UP_MOVE(20, MOVE_PSYBEAM), LEVEL_UP_MOVE(25, MOVE_CONVERSION_2), @@ -4338,7 +4277,7 @@ static const struct LevelUpMove sPorygonZLevelUpLearnset[] = { LEVEL_UP_MOVE(35, MOVE_RECOVER), LEVEL_UP_MOVE(40, MOVE_DISCHARGE), LEVEL_UP_MOVE(45, MOVE_TRI_ATTACK), - LEVEL_UP_MOVE(50, MOVE_MAGIC_COAT), + LEVEL_UP_MOVE(50, MOVE_DOUBLE_EDGE), LEVEL_UP_MOVE(55, MOVE_LOCK_ON), LEVEL_UP_MOVE(60, MOVE_ZAP_CANNON), LEVEL_UP_MOVE(65, MOVE_HYPER_BEAM), @@ -4453,8 +4392,8 @@ static const struct LevelUpMove sAerodactylLevelUpLearnset[] = { #if P_FAMILY_SNORLAX #if P_GEN_4_CROSS_EVOS static const struct LevelUpMove sMunchlaxLevelUpLearnset[] = { - LEVEL_UP_MOVE( 1, MOVE_LICK), LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_LICK), LEVEL_UP_MOVE( 4, MOVE_DEFENSE_CURL), LEVEL_UP_MOVE( 8, MOVE_RECYCLE), LEVEL_UP_MOVE(12, MOVE_COVET), @@ -4474,24 +4413,24 @@ static const struct LevelUpMove sMunchlaxLevelUpLearnset[] = { #endif //P_GEN_4_CROSS_EVOS static const struct LevelUpMove sSnorlaxLevelUpLearnset[] = { - LEVEL_UP_MOVE( 1, MOVE_RECYCLE), - LEVEL_UP_MOVE( 1, MOVE_COVET), - LEVEL_UP_MOVE( 1, MOVE_STOCKPILE), + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_LAST_RESORT), LEVEL_UP_MOVE( 1, MOVE_SWALLOW), LEVEL_UP_MOVE( 1, MOVE_SCREECH), - LEVEL_UP_MOVE( 1, MOVE_FLING), - LEVEL_UP_MOVE( 1, MOVE_METRONOME), - LEVEL_UP_MOVE( 1, MOVE_FLAIL), - LEVEL_UP_MOVE( 1, MOVE_LAST_RESORT), - LEVEL_UP_MOVE( 1, MOVE_LICK), - LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_DEFENSE_CURL), + LEVEL_UP_MOVE( 1, MOVE_METRONOME), + LEVEL_UP_MOVE( 1, MOVE_LICK), + LEVEL_UP_MOVE( 1, MOVE_FLING), + LEVEL_UP_MOVE( 1, MOVE_RECYCLE), + LEVEL_UP_MOVE( 1, MOVE_STOCKPILE), + LEVEL_UP_MOVE( 1, MOVE_FLAIL), + LEVEL_UP_MOVE( 1, MOVE_COVET), LEVEL_UP_MOVE( 1, MOVE_BLOCK), LEVEL_UP_MOVE(12, MOVE_YAWN), LEVEL_UP_MOVE(16, MOVE_BITE), - LEVEL_UP_MOVE(20, MOVE_REST), LEVEL_UP_MOVE(20, MOVE_SNORE), LEVEL_UP_MOVE(20, MOVE_SLEEP_TALK), + LEVEL_UP_MOVE(20, MOVE_REST), LEVEL_UP_MOVE(24, MOVE_CRUNCH), LEVEL_UP_MOVE(28, MOVE_BODY_SLAM), LEVEL_UP_MOVE(32, MOVE_HEAVY_SLAM), @@ -4747,12 +4686,12 @@ static const struct LevelUpMove sChikoritaLevelUpLearnset[] = { LEVEL_UP_MOVE(12, MOVE_SYNTHESIS), LEVEL_UP_MOVE(17, MOVE_REFLECT), LEVEL_UP_MOVE(20, MOVE_MAGICAL_LEAF), - LEVEL_UP_MOVE(23, MOVE_NATURE_POWER), + LEVEL_UP_MOVE(23, MOVE_LEECH_SEED), LEVEL_UP_MOVE(28, MOVE_SWEET_SCENT), LEVEL_UP_MOVE(31, MOVE_LIGHT_SCREEN), LEVEL_UP_MOVE(34, MOVE_BODY_SLAM), LEVEL_UP_MOVE(39, MOVE_SAFEGUARD), - LEVEL_UP_MOVE(42, MOVE_AROMATHERAPY), + LEVEL_UP_MOVE(42, MOVE_GIGA_DRAIN), LEVEL_UP_MOVE(45, MOVE_SOLAR_BEAM), LEVEL_UP_END }; @@ -4762,42 +4701,36 @@ static const struct LevelUpMove sBayleefLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 1, MOVE_RAZOR_LEAF), LEVEL_UP_MOVE( 1, MOVE_POISON_POWDER), - LEVEL_UP_MOVE( 6, MOVE_RAZOR_LEAF), - LEVEL_UP_MOVE( 9, MOVE_POISON_POWDER), LEVEL_UP_MOVE(12, MOVE_SYNTHESIS), LEVEL_UP_MOVE(18, MOVE_REFLECT), LEVEL_UP_MOVE(22, MOVE_MAGICAL_LEAF), - LEVEL_UP_MOVE(26, MOVE_NATURE_POWER), + LEVEL_UP_MOVE(26, MOVE_LEECH_SEED), LEVEL_UP_MOVE(32, MOVE_SWEET_SCENT), LEVEL_UP_MOVE(36, MOVE_LIGHT_SCREEN), LEVEL_UP_MOVE(40, MOVE_BODY_SLAM), LEVEL_UP_MOVE(46, MOVE_SAFEGUARD), - LEVEL_UP_MOVE(50, MOVE_AROMATHERAPY), + LEVEL_UP_MOVE(50, MOVE_GIGA_DRAIN), LEVEL_UP_MOVE(54, MOVE_SOLAR_BEAM), LEVEL_UP_END }; static const struct LevelUpMove sMeganiumLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_PETAL_DANCE), - LEVEL_UP_MOVE( 1, MOVE_PETAL_DANCE), - LEVEL_UP_MOVE( 1, MOVE_PETAL_BLIZZARD), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 1, MOVE_RAZOR_LEAF), LEVEL_UP_MOVE( 1, MOVE_POISON_POWDER), - LEVEL_UP_MOVE( 6, MOVE_RAZOR_LEAF), - LEVEL_UP_MOVE( 9, MOVE_POISON_POWDER), + LEVEL_UP_MOVE( 1, MOVE_PETAL_BLIZZARD), LEVEL_UP_MOVE(12, MOVE_SYNTHESIS), LEVEL_UP_MOVE(18, MOVE_REFLECT), LEVEL_UP_MOVE(22, MOVE_MAGICAL_LEAF), - LEVEL_UP_MOVE(26, MOVE_NATURE_POWER), + LEVEL_UP_MOVE(26, MOVE_LEECH_SEED), LEVEL_UP_MOVE(34, MOVE_SWEET_SCENT), LEVEL_UP_MOVE(40, MOVE_LIGHT_SCREEN), LEVEL_UP_MOVE(46, MOVE_BODY_SLAM), LEVEL_UP_MOVE(54, MOVE_SAFEGUARD), - LEVEL_UP_MOVE(60, MOVE_AROMATHERAPY), - LEVEL_UP_MOVE(66, MOVE_SOLAR_BEAM), - LEVEL_UP_MOVE(70, MOVE_PETAL_BLIZZARD), + LEVEL_UP_MOVE(60, MOVE_GIGA_DRAIN), + LEVEL_UP_MOVE(65, MOVE_SOLAR_BEAM), LEVEL_UP_END }; #endif //P_FAMILY_CHIKORITA @@ -4894,18 +4827,16 @@ static const struct LevelUpMove sTotodileLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_SCRATCH), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 6, MOVE_WATER_GUN), - LEVEL_UP_MOVE( 8, MOVE_MUD_SLAP), - LEVEL_UP_MOVE(13, MOVE_BITE), - LEVEL_UP_MOVE(15, MOVE_SCARY_FACE), - LEVEL_UP_MOVE(20, MOVE_ICE_FANG), + LEVEL_UP_MOVE( 9, MOVE_BITE), + LEVEL_UP_MOVE(13, MOVE_SCARY_FACE), + LEVEL_UP_MOVE(19, MOVE_ICE_FANG), LEVEL_UP_MOVE(22, MOVE_FLAIL), LEVEL_UP_MOVE(27, MOVE_CRUNCH), - LEVEL_UP_MOVE(29, MOVE_LOW_KICK), - LEVEL_UP_MOVE(34, MOVE_SLASH), - LEVEL_UP_MOVE(36, MOVE_SCREECH), - LEVEL_UP_MOVE(41, MOVE_THRASH), - LEVEL_UP_MOVE(43, MOVE_AQUA_TAIL), - LEVEL_UP_MOVE(48, MOVE_SUPERPOWER), + LEVEL_UP_MOVE(30, MOVE_SLASH), + LEVEL_UP_MOVE(33, MOVE_SCREECH), + LEVEL_UP_MOVE(37, MOVE_THRASH), + LEVEL_UP_MOVE(41, MOVE_AQUA_TAIL), + LEVEL_UP_MOVE(45, MOVE_SUPERPOWER), LEVEL_UP_MOVE(50, MOVE_HYDRO_PUMP), LEVEL_UP_END }; @@ -4914,43 +4845,36 @@ static const struct LevelUpMove sCroconawLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_SCRATCH), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), - LEVEL_UP_MOVE( 6, MOVE_WATER_GUN), - LEVEL_UP_MOVE( 8, MOVE_MUD_SLAP), LEVEL_UP_MOVE(13, MOVE_BITE), LEVEL_UP_MOVE(15, MOVE_SCARY_FACE), LEVEL_UP_MOVE(21, MOVE_ICE_FANG), LEVEL_UP_MOVE(24, MOVE_FLAIL), LEVEL_UP_MOVE(30, MOVE_CRUNCH), - LEVEL_UP_MOVE(33, MOVE_LOW_KICK), - LEVEL_UP_MOVE(39, MOVE_SLASH), - LEVEL_UP_MOVE(42, MOVE_SCREECH), - LEVEL_UP_MOVE(48, MOVE_THRASH), - LEVEL_UP_MOVE(51, MOVE_AQUA_TAIL), - LEVEL_UP_MOVE(57, MOVE_SUPERPOWER), - LEVEL_UP_MOVE(60, MOVE_HYDRO_PUMP), + LEVEL_UP_MOVE(34, MOVE_SLASH), + LEVEL_UP_MOVE(37, MOVE_SCREECH), + LEVEL_UP_MOVE(42, MOVE_THRASH), + LEVEL_UP_MOVE(47, MOVE_AQUA_TAIL), + LEVEL_UP_MOVE(50, MOVE_SUPERPOWER), + LEVEL_UP_MOVE(55, MOVE_HYDRO_PUMP), LEVEL_UP_END }; static const struct LevelUpMove sFeraligatrLevelUpLearnset[] = { - LEVEL_UP_MOVE( 1, MOVE_AGILITY), LEVEL_UP_MOVE( 1, MOVE_SCRATCH), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), - LEVEL_UP_MOVE( 1, MOVE_MUD_SLAP), - LEVEL_UP_MOVE( 6, MOVE_WATER_GUN), - LEVEL_UP_MOVE( 8, MOVE_MUD_SLAP), + LEVEL_UP_MOVE( 1, MOVE_AGILITY), LEVEL_UP_MOVE(13, MOVE_BITE), LEVEL_UP_MOVE(15, MOVE_SCARY_FACE), LEVEL_UP_MOVE(21, MOVE_ICE_FANG), LEVEL_UP_MOVE(24, MOVE_FLAIL), LEVEL_UP_MOVE(32, MOVE_CRUNCH), - LEVEL_UP_MOVE(37, MOVE_LOW_KICK), - LEVEL_UP_MOVE(45, MOVE_SLASH), - LEVEL_UP_MOVE(50, MOVE_SCREECH), - LEVEL_UP_MOVE(58, MOVE_THRASH), - LEVEL_UP_MOVE(63, MOVE_AQUA_TAIL), - LEVEL_UP_MOVE(71, MOVE_SUPERPOWER), - LEVEL_UP_MOVE(76, MOVE_HYDRO_PUMP), + LEVEL_UP_MOVE(37, MOVE_SLASH), + LEVEL_UP_MOVE(44, MOVE_SCREECH), + LEVEL_UP_MOVE(51, MOVE_THRASH), + LEVEL_UP_MOVE(59, MOVE_AQUA_TAIL), + LEVEL_UP_MOVE(65, MOVE_SUPERPOWER), + LEVEL_UP_MOVE(70, MOVE_HYDRO_PUMP), LEVEL_UP_END }; #endif //P_FAMILY_TOTODILE @@ -4958,7 +4882,6 @@ static const struct LevelUpMove sFeraligatrLevelUpLearnset[] = { #if P_FAMILY_SENTRET static const struct LevelUpMove sSentretLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_SCRATCH), - LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 4, MOVE_DEFENSE_CURL), LEVEL_UP_MOVE( 7, MOVE_QUICK_ATTACK), LEVEL_UP_MOVE(13, MOVE_FURY_SWIPES), @@ -4969,21 +4892,17 @@ static const struct LevelUpMove sSentretLevelUpLearnset[] = { LEVEL_UP_MOVE(31, MOVE_SUCKER_PUNCH), LEVEL_UP_MOVE(36, MOVE_AMNESIA), LEVEL_UP_MOVE(39, MOVE_BATON_PASS), - LEVEL_UP_MOVE(42, MOVE_REVERSAL), + LEVEL_UP_MOVE(42, MOVE_DOUBLE_EDGE), LEVEL_UP_MOVE(47, MOVE_HYPER_VOICE), LEVEL_UP_END }; static const struct LevelUpMove sFurretLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_AGILITY), - LEVEL_UP_MOVE( 1, MOVE_AGILITY), - LEVEL_UP_MOVE( 1, MOVE_COIL), LEVEL_UP_MOVE( 1, MOVE_SCRATCH), - LEVEL_UP_MOVE( 1, MOVE_DEFENSE_CURL), LEVEL_UP_MOVE( 1, MOVE_QUICK_ATTACK), - LEVEL_UP_MOVE( 1, MOVE_GROWL), - LEVEL_UP_MOVE( 4, MOVE_DEFENSE_CURL), - LEVEL_UP_MOVE( 7, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE( 1, MOVE_DEFENSE_CURL), + LEVEL_UP_MOVE( 1, MOVE_COIL), LEVEL_UP_MOVE(13, MOVE_FURY_SWIPES), LEVEL_UP_MOVE(17, MOVE_HELPING_HAND), LEVEL_UP_MOVE(21, MOVE_FOLLOW_ME), @@ -4992,7 +4911,7 @@ static const struct LevelUpMove sFurretLevelUpLearnset[] = { LEVEL_UP_MOVE(36, MOVE_SUCKER_PUNCH), LEVEL_UP_MOVE(42, MOVE_AMNESIA), LEVEL_UP_MOVE(46, MOVE_BATON_PASS), - LEVEL_UP_MOVE(50, MOVE_REVERSAL), + LEVEL_UP_MOVE(50, MOVE_DOUBLE_EDGE), LEVEL_UP_MOVE(56, MOVE_HYPER_VOICE), LEVEL_UP_END }; @@ -5000,13 +4919,13 @@ static const struct LevelUpMove sFurretLevelUpLearnset[] = { #if P_FAMILY_HOOTHOOT static const struct LevelUpMove sHoothootLevelUpLearnset[] = { - LEVEL_UP_MOVE( 1, MOVE_PECK), LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 1, MOVE_PECK), LEVEL_UP_MOVE( 3, MOVE_TACKLE), LEVEL_UP_MOVE( 6, MOVE_ECHOED_VOICE), LEVEL_UP_MOVE( 9, MOVE_CONFUSION), LEVEL_UP_MOVE(12, MOVE_REFLECT), - LEVEL_UP_MOVE(15, MOVE_PSYCHO_SHIFT), + LEVEL_UP_MOVE(15, MOVE_DEFOG), LEVEL_UP_MOVE(18, MOVE_AIR_SLASH), LEVEL_UP_MOVE(21, MOVE_EXTRASENSORY), LEVEL_UP_MOVE(24, MOVE_TAKE_DOWN), @@ -5019,14 +4938,14 @@ static const struct LevelUpMove sHoothootLevelUpLearnset[] = { }; static const struct LevelUpMove sNoctowlLevelUpLearnset[] = { - LEVEL_UP_MOVE( 1, MOVE_SKY_ATTACK), - LEVEL_UP_MOVE( 1, MOVE_PECK), - LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 1, MOVE_PECK), + LEVEL_UP_MOVE( 1, MOVE_SKY_ATTACK), LEVEL_UP_MOVE( 1, MOVE_ECHOED_VOICE), LEVEL_UP_MOVE( 9, MOVE_CONFUSION), LEVEL_UP_MOVE(12, MOVE_REFLECT), - LEVEL_UP_MOVE(15, MOVE_PSYCHO_SHIFT), + LEVEL_UP_MOVE(15, MOVE_DEFOG), LEVEL_UP_MOVE(18, MOVE_AIR_SLASH), LEVEL_UP_MOVE(23, MOVE_EXTRASENSORY), LEVEL_UP_MOVE(28, MOVE_TAKE_DOWN), @@ -5090,50 +5009,45 @@ static const struct LevelUpMove sSpinarakLevelUpLearnset[] = { LEVEL_UP_MOVE(19, MOVE_SHADOW_SNEAK), LEVEL_UP_MOVE(22, MOVE_FURY_SWIPES), LEVEL_UP_MOVE(26, MOVE_SUCKER_PUNCH), - LEVEL_UP_MOVE(29, MOVE_LEECH_LIFE), - LEVEL_UP_MOVE(33, MOVE_AGILITY), - LEVEL_UP_MOVE(36, MOVE_PIN_MISSILE), - LEVEL_UP_MOVE(40, MOVE_PSYCHIC), - LEVEL_UP_MOVE(43, MOVE_POISON_JAB), - LEVEL_UP_MOVE(47, MOVE_CROSS_POISON), - LEVEL_UP_MOVE(50, MOVE_STICKY_WEB), - LEVEL_UP_MOVE(54, MOVE_TOXIC_THREAD), + LEVEL_UP_MOVE(29, MOVE_AGILITY), + LEVEL_UP_MOVE(33, MOVE_PIN_MISSILE), + LEVEL_UP_MOVE(36, MOVE_PSYCHIC), + LEVEL_UP_MOVE(40, MOVE_POISON_JAB), + LEVEL_UP_MOVE(44, MOVE_CROSS_POISON), + LEVEL_UP_MOVE(47, MOVE_STICKY_WEB), + LEVEL_UP_MOVE(51, MOVE_TOXIC_THREAD), LEVEL_UP_END }; static const struct LevelUpMove sAriadosLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_SWORDS_DANCE), - LEVEL_UP_MOVE( 1, MOVE_SWORDS_DANCE), - LEVEL_UP_MOVE( 1, MOVE_FOCUS_ENERGY), - LEVEL_UP_MOVE( 1, MOVE_VENOM_DRENCH), - LEVEL_UP_MOVE( 1, MOVE_FELL_STINGER), - LEVEL_UP_MOVE( 1, MOVE_BUG_BITE), LEVEL_UP_MOVE( 1, MOVE_POISON_STING), - LEVEL_UP_MOVE( 1, MOVE_STRING_SHOT), + LEVEL_UP_MOVE( 1, MOVE_FELL_STINGER), LEVEL_UP_MOVE( 1, MOVE_ABSORB), - LEVEL_UP_MOVE( 5, MOVE_ABSORB), + LEVEL_UP_MOVE( 1, MOVE_STRING_SHOT), + LEVEL_UP_MOVE( 1, MOVE_BUG_BITE), + LEVEL_UP_MOVE( 1, MOVE_FOCUS_ENERGY), LEVEL_UP_MOVE( 8, MOVE_INFESTATION), LEVEL_UP_MOVE(12, MOVE_SCARY_FACE), LEVEL_UP_MOVE(15, MOVE_NIGHT_SHADE), LEVEL_UP_MOVE(19, MOVE_SHADOW_SNEAK), LEVEL_UP_MOVE(23, MOVE_FURY_SWIPES), LEVEL_UP_MOVE(28, MOVE_SUCKER_PUNCH), - LEVEL_UP_MOVE(32, MOVE_LEECH_LIFE), - LEVEL_UP_MOVE(37, MOVE_AGILITY), - LEVEL_UP_MOVE(41, MOVE_PIN_MISSILE), - LEVEL_UP_MOVE(46, MOVE_PSYCHIC), - LEVEL_UP_MOVE(50, MOVE_POISON_JAB), - LEVEL_UP_MOVE(55, MOVE_CROSS_POISON), - LEVEL_UP_MOVE(58, MOVE_STICKY_WEB), - LEVEL_UP_MOVE(63, MOVE_TOXIC_THREAD), + LEVEL_UP_MOVE(31, MOVE_AGILITY), + LEVEL_UP_MOVE(35, MOVE_PIN_MISSILE), + LEVEL_UP_MOVE(41, MOVE_PSYCHIC), + LEVEL_UP_MOVE(46, MOVE_POISON_JAB), + LEVEL_UP_MOVE(50, MOVE_CROSS_POISON), + LEVEL_UP_MOVE(54, MOVE_STICKY_WEB), + LEVEL_UP_MOVE(59, MOVE_TOXIC_THREAD), LEVEL_UP_END }; #endif //P_FAMILY_SPINARAK #if P_FAMILY_CHINCHOU static const struct LevelUpMove sChinchouLevelUpLearnset[] = { - LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), LEVEL_UP_MOVE( 1, MOVE_SUPERSONIC), + LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), LEVEL_UP_MOVE( 4, MOVE_ELECTRO_BALL), LEVEL_UP_MOVE( 8, MOVE_THUNDER_WAVE), LEVEL_UP_MOVE(12, MOVE_BUBBLE_BEAM), @@ -5150,16 +5064,13 @@ static const struct LevelUpMove sChinchouLevelUpLearnset[] = { static const struct LevelUpMove sLanturnLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_SWALLOW), - LEVEL_UP_MOVE( 0, MOVE_STOCKPILE), LEVEL_UP_MOVE( 0, MOVE_SPIT_UP), - LEVEL_UP_MOVE( 1, MOVE_STOCKPILE), - LEVEL_UP_MOVE( 1, MOVE_SWALLOW), - LEVEL_UP_MOVE( 1, MOVE_SPIT_UP), + LEVEL_UP_MOVE( 0, MOVE_STOCKPILE), LEVEL_UP_MOVE( 1, MOVE_EERIE_IMPULSE), - LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), LEVEL_UP_MOVE( 1, MOVE_SUPERSONIC), - LEVEL_UP_MOVE( 1, MOVE_ELECTRO_BALL), + LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), LEVEL_UP_MOVE( 1, MOVE_THUNDER_WAVE), + LEVEL_UP_MOVE( 1, MOVE_ELECTRO_BALL), LEVEL_UP_MOVE(12, MOVE_BUBBLE_BEAM), LEVEL_UP_MOVE(16, MOVE_CONFUSE_RAY), LEVEL_UP_MOVE(20, MOVE_SPARK), @@ -5534,13 +5445,10 @@ static const struct LevelUpMove sAipomLevelUpLearnset[] = { #if P_GEN_4_CROSS_EVOS static const struct LevelUpMove sAmbipomLevelUpLearnset[] = { - LEVEL_UP_MOVE( 1, MOVE_DUAL_CHOP), LEVEL_UP_MOVE( 1, MOVE_SCRATCH), - LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), LEVEL_UP_MOVE( 1, MOVE_SAND_ATTACK), + LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), LEVEL_UP_MOVE( 1, MOVE_ASTONISH), - LEVEL_UP_MOVE( 4, MOVE_SAND_ATTACK), - LEVEL_UP_MOVE( 8, MOVE_ASTONISH), LEVEL_UP_MOVE(11, MOVE_BATON_PASS), LEVEL_UP_MOVE(15, MOVE_TICKLE), LEVEL_UP_MOVE(18, MOVE_FURY_SWIPES), @@ -5599,14 +5507,13 @@ static const struct LevelUpMove sSunfloraLevelUpLearnset[] = { #if P_FAMILY_YANMA static const struct LevelUpMove sYanmaLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), - LEVEL_UP_MOVE( 1, MOVE_GUST), LEVEL_UP_MOVE( 6, MOVE_QUICK_ATTACK), LEVEL_UP_MOVE(11, MOVE_DOUBLE_TEAM), - LEVEL_UP_MOVE(14, MOVE_AERIAL_ACE), + LEVEL_UP_MOVE(14, MOVE_AIR_CUTTER), LEVEL_UP_MOVE(17, MOVE_DETECT), LEVEL_UP_MOVE(22, MOVE_SUPERSONIC), LEVEL_UP_MOVE(27, MOVE_UPROAR), - LEVEL_UP_MOVE(30, MOVE_STRING_SHOT), + LEVEL_UP_MOVE(30, MOVE_BUG_BITE), LEVEL_UP_MOVE(33, MOVE_ANCIENT_POWER), LEVEL_UP_MOVE(38, MOVE_HYPNOSIS), LEVEL_UP_MOVE(43, MOVE_WING_ATTACK), @@ -5619,30 +5526,22 @@ static const struct LevelUpMove sYanmaLevelUpLearnset[] = { #if P_GEN_4_CROSS_EVOS static const struct LevelUpMove sYanmegaLevelUpLearnset[] = { - LEVEL_UP_MOVE( 1, MOVE_BUG_BUZZ), - LEVEL_UP_MOVE( 1, MOVE_AIR_SLASH), - LEVEL_UP_MOVE( 1, MOVE_NIGHT_SLASH), - LEVEL_UP_MOVE( 1, MOVE_BUG_BITE), + LEVEL_UP_MOVE( 1, MOVE_HYPNOSIS), LEVEL_UP_MOVE( 1, MOVE_TACKLE), - LEVEL_UP_MOVE( 1, MOVE_GUST), - LEVEL_UP_MOVE( 1, MOVE_QUICK_ATTACK), LEVEL_UP_MOVE( 1, MOVE_DOUBLE_TEAM), - LEVEL_UP_MOVE( 1, MOVE_HYPNOSIS), - LEVEL_UP_MOVE( 1, MOVE_WING_ATTACK), - LEVEL_UP_MOVE( 6, MOVE_QUICK_ATTACK), - LEVEL_UP_MOVE(11, MOVE_DOUBLE_TEAM), - LEVEL_UP_MOVE(14, MOVE_AERIAL_ACE), + LEVEL_UP_MOVE( 1, MOVE_NIGHT_SLASH), + LEVEL_UP_MOVE( 1, MOVE_AIR_SLASH), + LEVEL_UP_MOVE( 1, MOVE_BUG_BUZZ), + LEVEL_UP_MOVE(14, MOVE_QUICK_ATTACK), LEVEL_UP_MOVE(17, MOVE_DETECT), LEVEL_UP_MOVE(22, MOVE_SUPERSONIC), LEVEL_UP_MOVE(27, MOVE_UPROAR), - LEVEL_UP_MOVE(30, MOVE_STRING_SHOT), + LEVEL_UP_MOVE(30, MOVE_BUG_BITE), LEVEL_UP_MOVE(33, MOVE_ANCIENT_POWER), LEVEL_UP_MOVE(38, MOVE_FEINT), LEVEL_UP_MOVE(43, MOVE_SLASH), LEVEL_UP_MOVE(46, MOVE_SCREECH), LEVEL_UP_MOVE(49, MOVE_U_TURN), - LEVEL_UP_MOVE(54, MOVE_AIR_SLASH), - LEVEL_UP_MOVE(57, MOVE_BUG_BUZZ), LEVEL_UP_END }; #endif //P_GEN_4_CROSS_EVOS @@ -5963,45 +5862,35 @@ static const struct LevelUpMove sGligarLevelUpLearnset[] = { LEVEL_UP_MOVE(10, MOVE_KNOCK_OFF), LEVEL_UP_MOVE(13, MOVE_QUICK_ATTACK), LEVEL_UP_MOVE(16, MOVE_FURY_CUTTER), - LEVEL_UP_MOVE(19, MOVE_MUD_SLAP), + LEVEL_UP_MOVE(19, MOVE_POISON_TAIL), LEVEL_UP_MOVE(22, MOVE_ACROBATICS), LEVEL_UP_MOVE(27, MOVE_SLASH), LEVEL_UP_MOVE(30, MOVE_U_TURN), LEVEL_UP_MOVE(35, MOVE_SCREECH), LEVEL_UP_MOVE(40, MOVE_X_SCISSOR), - LEVEL_UP_MOVE(45, MOVE_EARTHQUAKE), + LEVEL_UP_MOVE(45, MOVE_CRABHAMMER), LEVEL_UP_MOVE(50, MOVE_SWORDS_DANCE), - LEVEL_UP_MOVE(55, MOVE_GUILLOTINE), LEVEL_UP_END }; #if P_GEN_4_CROSS_EVOS static const struct LevelUpMove sGliscorLevelUpLearnset[] = { - LEVEL_UP_MOVE( 1, MOVE_GUILLOTINE), + LEVEL_UP_MOVE( 1, MOVE_SAND_ATTACK), + LEVEL_UP_MOVE( 1, MOVE_HARDEN), + LEVEL_UP_MOVE( 1, MOVE_POISON_JAB), LEVEL_UP_MOVE( 1, MOVE_THUNDER_FANG), LEVEL_UP_MOVE( 1, MOVE_ICE_FANG), LEVEL_UP_MOVE( 1, MOVE_FIRE_FANG), - LEVEL_UP_MOVE( 1, MOVE_POISON_JAB), - LEVEL_UP_MOVE( 1, MOVE_SAND_ATTACK), - LEVEL_UP_MOVE( 1, MOVE_HARDEN), - LEVEL_UP_MOVE( 1, MOVE_KNOCK_OFF), - LEVEL_UP_MOVE( 1, MOVE_POISON_STING), - LEVEL_UP_MOVE( 1, MOVE_NIGHT_SLASH), - LEVEL_UP_MOVE( 1, MOVE_SLASH), - LEVEL_UP_MOVE( 4, MOVE_SAND_ATTACK), - LEVEL_UP_MOVE( 7, MOVE_HARDEN), - LEVEL_UP_MOVE(10, MOVE_KNOCK_OFF), LEVEL_UP_MOVE(13, MOVE_QUICK_ATTACK), LEVEL_UP_MOVE(16, MOVE_FURY_CUTTER), - LEVEL_UP_MOVE(19, MOVE_MUD_SLAP), + LEVEL_UP_MOVE(19, MOVE_KNOCK_OFF), LEVEL_UP_MOVE(22, MOVE_ACROBATICS), LEVEL_UP_MOVE(27, MOVE_NIGHT_SLASH), LEVEL_UP_MOVE(30, MOVE_U_TURN), LEVEL_UP_MOVE(35, MOVE_SCREECH), LEVEL_UP_MOVE(40, MOVE_X_SCISSOR), - LEVEL_UP_MOVE(45, MOVE_EARTHQUAKE), + LEVEL_UP_MOVE(45, MOVE_CRABHAMMER), LEVEL_UP_MOVE(50, MOVE_SWORDS_DANCE), - LEVEL_UP_MOVE(55, MOVE_GUILLOTINE), LEVEL_UP_END }; #endif //P_GEN_4_CROSS_EVOS @@ -6009,18 +5898,19 @@ static const struct LevelUpMove sGliscorLevelUpLearnset[] = { #if P_FAMILY_SNUBBULL static const struct LevelUpMove sSnubbullLevelUpLearnset[] = { - LEVEL_UP_MOVE( 1, MOVE_ICE_FANG), - LEVEL_UP_MOVE( 1, MOVE_FIRE_FANG), - LEVEL_UP_MOVE( 1, MOVE_THUNDER_FANG), LEVEL_UP_MOVE( 1, MOVE_TACKLE), - LEVEL_UP_MOVE( 1, MOVE_SCARY_FACE), LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 1, MOVE_SCARY_FACE), LEVEL_UP_MOVE( 1, MOVE_CHARM), + LEVEL_UP_MOVE( 1, MOVE_THUNDER_FANG), + LEVEL_UP_MOVE( 1, MOVE_ICE_FANG), + LEVEL_UP_MOVE( 1, MOVE_FIRE_FANG), LEVEL_UP_MOVE( 7, MOVE_BITE), LEVEL_UP_MOVE(13, MOVE_LICK), LEVEL_UP_MOVE(19, MOVE_HEADBUTT), LEVEL_UP_MOVE(25, MOVE_ROAR), - LEVEL_UP_MOVE(31, MOVE_TAUNT), + LEVEL_UP_MOVE(31, MOVE_LAST_RESORT), LEVEL_UP_MOVE(37, MOVE_PLAY_ROUGH), LEVEL_UP_MOVE(43, MOVE_PAYBACK), LEVEL_UP_MOVE(49, MOVE_CRUNCH), @@ -6029,22 +5919,22 @@ static const struct LevelUpMove sSnubbullLevelUpLearnset[] = { static const struct LevelUpMove sGranbullLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_OUTRAGE), - LEVEL_UP_MOVE( 1, MOVE_ICE_FANG), - LEVEL_UP_MOVE( 1, MOVE_FIRE_FANG), - LEVEL_UP_MOVE( 1, MOVE_THUNDER_FANG), LEVEL_UP_MOVE( 1, MOVE_TACKLE), - LEVEL_UP_MOVE( 1, MOVE_SCARY_FACE), LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 1, MOVE_ICE_FANG), + LEVEL_UP_MOVE( 1, MOVE_SCARY_FACE), + LEVEL_UP_MOVE( 1, MOVE_FIRE_FANG), LEVEL_UP_MOVE( 1, MOVE_CHARM), + LEVEL_UP_MOVE( 1, MOVE_THUNDER_FANG), LEVEL_UP_MOVE( 7, MOVE_BITE), LEVEL_UP_MOVE(13, MOVE_LICK), LEVEL_UP_MOVE(19, MOVE_HEADBUTT), LEVEL_UP_MOVE(27, MOVE_ROAR), - LEVEL_UP_MOVE(35, MOVE_TAUNT), + LEVEL_UP_MOVE(35, MOVE_LAST_RESORT), LEVEL_UP_MOVE(43, MOVE_PLAY_ROUGH), LEVEL_UP_MOVE(51, MOVE_PAYBACK), LEVEL_UP_MOVE(59, MOVE_CRUNCH), - LEVEL_UP_MOVE(67, MOVE_OUTRAGE), LEVEL_UP_END }; #endif //P_FAMILY_SNUBBULL @@ -6220,10 +6110,10 @@ static const struct LevelUpMove sSneaselHisuianLevelUpLearnset[] = { static const struct LevelUpMove sSneaslerLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_DIRE_CLAW), - LEVEL_UP_MOVE( 1, MOVE_FLING), + LEVEL_UP_MOVE( 1, MOVE_SCRATCH), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 1, MOVE_ROCK_SMASH), - LEVEL_UP_MOVE( 1, MOVE_SCRATCH), + LEVEL_UP_MOVE( 1, MOVE_FLING), LEVEL_UP_MOVE( 6, MOVE_TAUNT), LEVEL_UP_MOVE(12, MOVE_QUICK_ATTACK), LEVEL_UP_MOVE(18, MOVE_METAL_CLAW), @@ -6304,6 +6194,7 @@ static const struct LevelUpMove sUrsalunaLevelUpLearnset[] = { }; static const struct LevelUpMove sUrsalunaBloodmoonLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_MOONLIGHT), LEVEL_UP_MOVE( 1, MOVE_SCRATCH), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 1, MOVE_LICK), @@ -6327,14 +6218,14 @@ static const struct LevelUpMove sUrsalunaBloodmoonLevelUpLearnset[] = { #if P_FAMILY_SLUGMA static const struct LevelUpMove sSlugmaLevelUpLearnset[] = { - LEVEL_UP_MOVE( 1, MOVE_YAWN), LEVEL_UP_MOVE( 1, MOVE_SMOG), + LEVEL_UP_MOVE( 1, MOVE_YAWN), LEVEL_UP_MOVE( 6, MOVE_EMBER), LEVEL_UP_MOVE( 8, MOVE_ROCK_THROW), LEVEL_UP_MOVE(13, MOVE_HARDEN), - LEVEL_UP_MOVE(15, MOVE_INCINERATE), LEVEL_UP_MOVE(20, MOVE_CLEAR_SMOG), LEVEL_UP_MOVE(22, MOVE_ANCIENT_POWER), + LEVEL_UP_MOVE(27, MOVE_INCINERATE), LEVEL_UP_MOVE(29, MOVE_ROCK_SLIDE), LEVEL_UP_MOVE(34, MOVE_LAVA_PLUME), LEVEL_UP_MOVE(36, MOVE_AMNESIA), @@ -6347,25 +6238,21 @@ static const struct LevelUpMove sSlugmaLevelUpLearnset[] = { static const struct LevelUpMove sMagcargoLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_SHELL_SMASH), - LEVEL_UP_MOVE( 1, MOVE_SHELL_SMASH), - LEVEL_UP_MOVE( 1, MOVE_EARTH_POWER), - LEVEL_UP_MOVE( 1, MOVE_YAWN), - LEVEL_UP_MOVE( 1, MOVE_SMOG), LEVEL_UP_MOVE( 1, MOVE_EMBER), LEVEL_UP_MOVE( 1, MOVE_ROCK_THROW), - LEVEL_UP_MOVE( 6, MOVE_EMBER), - LEVEL_UP_MOVE( 8, MOVE_ROCK_THROW), + LEVEL_UP_MOVE( 1, MOVE_SMOG), + LEVEL_UP_MOVE( 1, MOVE_YAWN), + LEVEL_UP_MOVE( 1, MOVE_EARTH_POWER), LEVEL_UP_MOVE(13, MOVE_HARDEN), - LEVEL_UP_MOVE(15, MOVE_INCINERATE), LEVEL_UP_MOVE(20, MOVE_CLEAR_SMOG), LEVEL_UP_MOVE(22, MOVE_ANCIENT_POWER), + LEVEL_UP_MOVE(27, MOVE_INCINERATE), LEVEL_UP_MOVE(29, MOVE_ROCK_SLIDE), LEVEL_UP_MOVE(34, MOVE_LAVA_PLUME), LEVEL_UP_MOVE(36, MOVE_AMNESIA), LEVEL_UP_MOVE(43, MOVE_BODY_SLAM), LEVEL_UP_MOVE(47, MOVE_RECOVER), LEVEL_UP_MOVE(54, MOVE_FLAMETHROWER), - LEVEL_UP_MOVE(58, MOVE_EARTH_POWER), LEVEL_UP_END }; #endif //P_FAMILY_SLUGMA @@ -6389,12 +6276,11 @@ static const struct LevelUpMove sSwinubLevelUpLearnset[] = { static const struct LevelUpMove sPiloswineLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_ICE_FANG), - LEVEL_UP_MOVE( 1, MOVE_ICE_FANG), - LEVEL_UP_MOVE( 1, MOVE_ANCIENT_POWER), LEVEL_UP_MOVE( 1, MOVE_TACKLE), - LEVEL_UP_MOVE( 1, MOVE_MUD_SLAP), - LEVEL_UP_MOVE( 1, MOVE_POWDER_SNOW), LEVEL_UP_MOVE( 1, MOVE_FLAIL), + LEVEL_UP_MOVE( 1, MOVE_POWDER_SNOW), + LEVEL_UP_MOVE( 1, MOVE_MUD_SLAP), + LEVEL_UP_MOVE( 1, MOVE_ANCIENT_POWER), LEVEL_UP_MOVE(15, MOVE_ICE_SHARD), LEVEL_UP_MOVE(20, MOVE_MIST), LEVEL_UP_MOVE(25, MOVE_ENDURE), @@ -6410,13 +6296,12 @@ static const struct LevelUpMove sPiloswineLevelUpLearnset[] = { #if P_GEN_4_CROSS_EVOS static const struct LevelUpMove sMamoswineLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_DOUBLE_HIT), - LEVEL_UP_MOVE( 1, MOVE_DOUBLE_HIT), - LEVEL_UP_MOVE( 1, MOVE_ICE_FANG), - LEVEL_UP_MOVE( 1, MOVE_ANCIENT_POWER), LEVEL_UP_MOVE( 1, MOVE_TACKLE), - LEVEL_UP_MOVE( 1, MOVE_MUD_SLAP), - LEVEL_UP_MOVE( 1, MOVE_POWDER_SNOW), LEVEL_UP_MOVE( 1, MOVE_FLAIL), + LEVEL_UP_MOVE( 1, MOVE_POWDER_SNOW), + LEVEL_UP_MOVE( 1, MOVE_MUD_SLAP), + LEVEL_UP_MOVE( 1, MOVE_ANCIENT_POWER), + LEVEL_UP_MOVE( 1, MOVE_ICE_FANG), LEVEL_UP_MOVE(15, MOVE_ICE_SHARD), LEVEL_UP_MOVE(20, MOVE_MIST), LEVEL_UP_MOVE(25, MOVE_ENDURE), @@ -6581,8 +6466,8 @@ static const struct LevelUpMove sMantineLevelUpLearnset[] = { #if P_FAMILY_SKARMORY static const struct LevelUpMove sSkarmoryLevelUpLearnset[] = { - LEVEL_UP_MOVE( 1, MOVE_PECK), LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 1, MOVE_PECK), LEVEL_UP_MOVE( 4, MOVE_SAND_ATTACK), LEVEL_UP_MOVE( 8, MOVE_FURY_ATTACK), LEVEL_UP_MOVE(12, MOVE_METAL_CLAW), @@ -6590,7 +6475,7 @@ static const struct LevelUpMove sSkarmoryLevelUpLearnset[] = { LEVEL_UP_MOVE(20, MOVE_WING_ATTACK), LEVEL_UP_MOVE(24, MOVE_SLASH), LEVEL_UP_MOVE(28, MOVE_STEEL_WING), - LEVEL_UP_MOVE(32, MOVE_AUTOTOMIZE), + LEVEL_UP_MOVE(32, MOVE_PAYBACK), LEVEL_UP_MOVE(36, MOVE_DRILL_PECK), LEVEL_UP_MOVE(40, MOVE_METAL_SOUND), LEVEL_UP_MOVE(44, MOVE_SPIKES), @@ -6723,6 +6608,7 @@ static const struct LevelUpMove sWyrdeerLevelUpLearnset[] = { #if P_FAMILY_SMEARGLE static const struct LevelUpMove sSmeargleLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SKETCH), LEVEL_UP_MOVE(11, MOVE_SKETCH), LEVEL_UP_MOVE(21, MOVE_SKETCH), LEVEL_UP_MOVE(31, MOVE_SKETCH), @@ -6757,10 +6643,10 @@ static const struct LevelUpMove sMiltankLevelUpLearnset[] = { #if P_FAMILY_RAIKOU static const struct LevelUpMove sRaikouLevelUpLearnset[] = { - LEVEL_UP_MOVE( 1, MOVE_EXTREME_SPEED), - LEVEL_UP_MOVE( 1, MOVE_THUNDER_SHOCK), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 1, MOVE_CHARGE), + LEVEL_UP_MOVE( 1, MOVE_EXTREME_SPEED), + LEVEL_UP_MOVE( 1, MOVE_THUNDER_SHOCK), LEVEL_UP_MOVE( 1, MOVE_QUICK_ATTACK), LEVEL_UP_MOVE( 6, MOVE_SPARK), LEVEL_UP_MOVE(12, MOVE_BITE), @@ -6783,9 +6669,9 @@ static const struct LevelUpMove sRaikouLevelUpLearnset[] = { static const struct LevelUpMove sEnteiLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_SACRED_FIRE), LEVEL_UP_MOVE( 1, MOVE_EXTREME_SPEED), - LEVEL_UP_MOVE( 1, MOVE_EMBER), - LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 1, MOVE_STOMP), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 1, MOVE_EMBER), LEVEL_UP_MOVE( 1, MOVE_SMOKESCREEN), LEVEL_UP_MOVE( 6, MOVE_FLAME_WHEEL), LEVEL_UP_MOVE(12, MOVE_BITE), @@ -6806,12 +6692,12 @@ static const struct LevelUpMove sEnteiLevelUpLearnset[] = { #if P_FAMILY_SUICUNE static const struct LevelUpMove sSuicuneLevelUpLearnset[] = { - LEVEL_UP_MOVE( 1, MOVE_SHEER_COLD), LEVEL_UP_MOVE( 1, MOVE_EXTREME_SPEED), - LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), - LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 1, MOVE_SHEER_COLD), LEVEL_UP_MOVE( 1, MOVE_GUST), + LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 1, MOVE_MIST), + LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), LEVEL_UP_MOVE( 6, MOVE_WATER_PULSE), LEVEL_UP_MOVE(12, MOVE_BITE), LEVEL_UP_MOVE(18, MOVE_CALM_MIND), @@ -6903,8 +6789,8 @@ static const struct LevelUpMove sLugiaLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_DRAGON_RUSH), LEVEL_UP_MOVE( 1, MOVE_GUST), LEVEL_UP_MOVE( 1, MOVE_WHIRLWIND), - LEVEL_UP_MOVE( 1, MOVE_WEATHER_BALL), LEVEL_UP_MOVE( 1, MOVE_ANCIENT_POWER), + LEVEL_UP_MOVE( 1, MOVE_WEATHER_BALL), LEVEL_UP_MOVE( 9, MOVE_MIST), LEVEL_UP_MOVE(18, MOVE_SAFEGUARD), LEVEL_UP_MOVE(27, MOVE_CALM_MIND), @@ -6923,8 +6809,8 @@ static const struct LevelUpMove sLugiaLevelUpLearnset[] = { static const struct LevelUpMove sHoOhLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_GUST), LEVEL_UP_MOVE( 1, MOVE_WHIRLWIND), - LEVEL_UP_MOVE( 1, MOVE_WEATHER_BALL), LEVEL_UP_MOVE( 1, MOVE_ANCIENT_POWER), + LEVEL_UP_MOVE( 1, MOVE_WEATHER_BALL), LEVEL_UP_MOVE( 9, MOVE_LIFE_DEW), LEVEL_UP_MOVE(18, MOVE_SAFEGUARD), LEVEL_UP_MOVE(27, MOVE_CALM_MIND), @@ -6935,7 +6821,7 @@ static const struct LevelUpMove sHoOhLevelUpLearnset[] = { LEVEL_UP_MOVE(72, MOVE_FIRE_BLAST), LEVEL_UP_MOVE(81, MOVE_FUTURE_SIGHT), LEVEL_UP_MOVE(90, MOVE_SKY_ATTACK), - LEVEL_UP_MOVE(99, MOVE_BURN_UP), + LEVEL_UP_MOVE(99, MOVE_OVERHEAT), LEVEL_UP_END }; #endif //P_FAMILY_HO_OH @@ -6979,14 +6865,14 @@ static const struct LevelUpMove sTreeckoLevelUpLearnset[] = { }; static const struct LevelUpMove sGrovyleLevelUpLearnset[] = { - LEVEL_UP_MOVE( 1, MOVE_FURY_CUTTER), LEVEL_UP_MOVE( 1, MOVE_FALSE_SWIPE), + LEVEL_UP_MOVE( 1, MOVE_FURY_CUTTER), LEVEL_UP_MOVE( 1, MOVE_X_SCISSOR), LEVEL_UP_MOVE( 1, MOVE_ENERGY_BALL), LEVEL_UP_MOVE( 1, MOVE_POUND), LEVEL_UP_MOVE( 1, MOVE_LEER), - LEVEL_UP_MOVE( 1, MOVE_LEAFAGE), LEVEL_UP_MOVE( 1, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE( 1, MOVE_LEAFAGE), LEVEL_UP_MOVE( 9, MOVE_MEGA_DRAIN), LEVEL_UP_MOVE(12, MOVE_DETECT), LEVEL_UP_MOVE(15, MOVE_QUICK_GUARD), @@ -7002,16 +6888,16 @@ static const struct LevelUpMove sGrovyleLevelUpLearnset[] = { }; static const struct LevelUpMove sSceptileLevelUpLearnset[] = { - LEVEL_UP_MOVE( 0, MOVE_DUAL_CHOP), - LEVEL_UP_MOVE( 1, MOVE_DUAL_CHOP), - LEVEL_UP_MOVE( 1, MOVE_FURY_CUTTER), + LEVEL_UP_MOVE( 0, MOVE_LEAF_BLADE), LEVEL_UP_MOVE( 1, MOVE_FALSE_SWIPE), + LEVEL_UP_MOVE( 1, MOVE_FURY_CUTTER), LEVEL_UP_MOVE( 1, MOVE_X_SCISSOR), LEVEL_UP_MOVE( 1, MOVE_ENERGY_BALL), + LEVEL_UP_MOVE( 1, MOVE_SHED_TAIL), LEVEL_UP_MOVE( 1, MOVE_POUND), LEVEL_UP_MOVE( 1, MOVE_LEER), - LEVEL_UP_MOVE( 1, MOVE_LEAFAGE), LEVEL_UP_MOVE( 1, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE( 1, MOVE_LEAFAGE), LEVEL_UP_MOVE( 5, MOVE_MEGA_DRAIN), LEVEL_UP_MOVE(12, MOVE_DETECT), LEVEL_UP_MOVE(15, MOVE_QUICK_GUARD), @@ -7019,10 +6905,9 @@ static const struct LevelUpMove sSceptileLevelUpLearnset[] = { LEVEL_UP_MOVE(25, MOVE_GIGA_DRAIN), LEVEL_UP_MOVE(30, MOVE_SLAM), LEVEL_UP_MOVE(35, MOVE_DOUBLE_TEAM), - LEVEL_UP_MOVE(42, MOVE_LEAF_BLADE), - LEVEL_UP_MOVE(49, MOVE_SCREECH), - LEVEL_UP_MOVE(56, MOVE_ENDEAVOR), - LEVEL_UP_MOVE(63, MOVE_LEAF_STORM), + LEVEL_UP_MOVE(42, MOVE_SCREECH), + LEVEL_UP_MOVE(49, MOVE_ENDEAVOR), + LEVEL_UP_MOVE(56, MOVE_LEAF_STORM), LEVEL_UP_END }; #endif //P_FAMILY_TREECKO @@ -7049,7 +6934,6 @@ static const struct LevelUpMove sTorchicLevelUpLearnset[] = { static const struct LevelUpMove sCombuskenLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_DOUBLE_KICK), - LEVEL_UP_MOVE( 1, MOVE_DOUBLE_KICK), LEVEL_UP_MOVE( 1, MOVE_FLAMETHROWER), LEVEL_UP_MOVE( 1, MOVE_FEATHER_DANCE), LEVEL_UP_MOVE( 1, MOVE_SCRATCH), @@ -7071,15 +6955,14 @@ static const struct LevelUpMove sCombuskenLevelUpLearnset[] = { }; static const struct LevelUpMove sBlazikenLevelUpLearnset[] = { - LEVEL_UP_MOVE( 1, MOVE_CLOSE_COMBAT), - LEVEL_UP_MOVE( 1, MOVE_DOUBLE_KICK), + LEVEL_UP_MOVE( 0, MOVE_BLAZE_KICK), LEVEL_UP_MOVE( 1, MOVE_FIRE_PUNCH), - LEVEL_UP_MOVE( 1, MOVE_BRAVE_BIRD), + LEVEL_UP_MOVE( 1, MOVE_EMBER), LEVEL_UP_MOVE( 1, MOVE_FLAMETHROWER), LEVEL_UP_MOVE( 1, MOVE_FEATHER_DANCE), LEVEL_UP_MOVE( 1, MOVE_SCRATCH), + LEVEL_UP_MOVE( 1, MOVE_DOUBLE_KICK), LEVEL_UP_MOVE( 1, MOVE_GROWL), - LEVEL_UP_MOVE( 1, MOVE_EMBER), LEVEL_UP_MOVE( 1, MOVE_QUICK_ATTACK), LEVEL_UP_MOVE( 9, MOVE_FLAME_CHARGE), LEVEL_UP_MOVE(12, MOVE_DETECT), @@ -7088,10 +6971,10 @@ static const struct LevelUpMove sBlazikenLevelUpLearnset[] = { LEVEL_UP_MOVE(25, MOVE_SLASH), LEVEL_UP_MOVE(30, MOVE_BOUNCE), LEVEL_UP_MOVE(35, MOVE_FOCUS_ENERGY), - LEVEL_UP_MOVE(42, MOVE_BLAZE_KICK), - LEVEL_UP_MOVE(49, MOVE_BULK_UP), - LEVEL_UP_MOVE(56, MOVE_REVERSAL), - LEVEL_UP_MOVE(63, MOVE_FLARE_BLITZ), + LEVEL_UP_MOVE(42, MOVE_BULK_UP), + LEVEL_UP_MOVE(49, MOVE_REVERSAL), + LEVEL_UP_MOVE(56, MOVE_FLARE_BLITZ), + LEVEL_UP_MOVE(63, MOVE_BRAVE_BIRD), LEVEL_UP_END }; #endif //P_FAMILY_TORCHIC @@ -7118,13 +7001,10 @@ static const struct LevelUpMove sMudkipLevelUpLearnset[] = { static const struct LevelUpMove sMarshtompLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_MUD_SHOT), - LEVEL_UP_MOVE( 1, MOVE_MUD_SHOT), - LEVEL_UP_MOVE( 1, MOVE_EARTHQUAKE), - LEVEL_UP_MOVE( 1, MOVE_SURF), + LEVEL_UP_MOVE( 1, MOVE_ROCK_SMASH), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), - LEVEL_UP_MOVE( 1, MOVE_ROCK_SMASH), LEVEL_UP_MOVE( 9, MOVE_ROCK_THROW), LEVEL_UP_MOVE(12, MOVE_PROTECT), LEVEL_UP_MOVE(15, MOVE_SUPERSONIC), @@ -7140,14 +7020,14 @@ static const struct LevelUpMove sMarshtompLevelUpLearnset[] = { }; static const struct LevelUpMove sSwampertLevelUpLearnset[] = { - LEVEL_UP_MOVE( 1, MOVE_MUD_SHOT), - LEVEL_UP_MOVE( 1, MOVE_HAMMER_ARM), - LEVEL_UP_MOVE( 1, MOVE_EARTHQUAKE), LEVEL_UP_MOVE( 1, MOVE_SURF), + LEVEL_UP_MOVE( 1, MOVE_EARTHQUAKE), + LEVEL_UP_MOVE( 1, MOVE_ROCK_SMASH), + LEVEL_UP_MOVE( 1, MOVE_HAMMER_ARM), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), - LEVEL_UP_MOVE( 1, MOVE_ROCK_SMASH), + LEVEL_UP_MOVE( 1, MOVE_MUD_SHOT), LEVEL_UP_MOVE( 9, MOVE_ROCK_THROW), LEVEL_UP_MOVE(12, MOVE_PROTECT), LEVEL_UP_MOVE(15, MOVE_SUPERSONIC), @@ -7169,44 +7049,37 @@ static const struct LevelUpMove sPoochyenaLevelUpLearnset[] = { LEVEL_UP_MOVE( 4, MOVE_HOWL), LEVEL_UP_MOVE( 7, MOVE_SAND_ATTACK), LEVEL_UP_MOVE(10, MOVE_BITE), - LEVEL_UP_MOVE(13, MOVE_MUD_SLAP), + LEVEL_UP_MOVE(13, MOVE_LEER), LEVEL_UP_MOVE(16, MOVE_ROAR), LEVEL_UP_MOVE(19, MOVE_SWAGGER), LEVEL_UP_MOVE(22, MOVE_ASSURANCE), LEVEL_UP_MOVE(25, MOVE_SCARY_FACE), - LEVEL_UP_MOVE(28, MOVE_HEADBUTT), - LEVEL_UP_MOVE(31, MOVE_TAUNT), - LEVEL_UP_MOVE(34, MOVE_CRUNCH), - LEVEL_UP_MOVE(37, MOVE_YAWN), - LEVEL_UP_MOVE(40, MOVE_TAKE_DOWN), - LEVEL_UP_MOVE(43, MOVE_SUCKER_PUNCH), - LEVEL_UP_MOVE(46, MOVE_PLAY_ROUGH), + LEVEL_UP_MOVE(28, MOVE_TAUNT), + LEVEL_UP_MOVE(31, MOVE_CRUNCH), + LEVEL_UP_MOVE(34, MOVE_YAWN), + LEVEL_UP_MOVE(36, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE(40, MOVE_SUCKER_PUNCH), + LEVEL_UP_MOVE(44, MOVE_PLAY_ROUGH), LEVEL_UP_END }; static const struct LevelUpMove sMightyenaLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_SNARL), - LEVEL_UP_MOVE( 1, MOVE_SNARL), + LEVEL_UP_MOVE( 1, MOVE_CRUNCH), LEVEL_UP_MOVE( 1, MOVE_FIRE_FANG), - LEVEL_UP_MOVE( 1, MOVE_THUNDER_FANG), LEVEL_UP_MOVE( 1, MOVE_ICE_FANG), - LEVEL_UP_MOVE( 1, MOVE_CRUNCH), + LEVEL_UP_MOVE( 1, MOVE_THUNDER_FANG), LEVEL_UP_MOVE( 1, MOVE_THIEF), - LEVEL_UP_MOVE( 1, MOVE_TACKLE), - LEVEL_UP_MOVE( 1, MOVE_HOWL), LEVEL_UP_MOVE( 1, MOVE_SAND_ATTACK), LEVEL_UP_MOVE( 1, MOVE_BITE), - LEVEL_UP_MOVE( 4, MOVE_HOWL), - LEVEL_UP_MOVE( 7, MOVE_SAND_ATTACK), - LEVEL_UP_MOVE(10, MOVE_BITE), - LEVEL_UP_MOVE(13, MOVE_MUD_SLAP), + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE(13, MOVE_HOWL), + LEVEL_UP_MOVE(13, MOVE_LEER), LEVEL_UP_MOVE(16, MOVE_ROAR), LEVEL_UP_MOVE(20, MOVE_SWAGGER), LEVEL_UP_MOVE(24, MOVE_ASSURANCE), LEVEL_UP_MOVE(28, MOVE_SCARY_FACE), - LEVEL_UP_MOVE(32, MOVE_HEADBUTT), LEVEL_UP_MOVE(36, MOVE_TAUNT), - LEVEL_UP_MOVE(40, MOVE_CRUNCH), LEVEL_UP_MOVE(44, MOVE_YAWN), LEVEL_UP_MOVE(48, MOVE_TAKE_DOWN), LEVEL_UP_MOVE(52, MOVE_SUCKER_PUNCH), @@ -7397,15 +7270,15 @@ static const struct LevelUpMove sDustoxLevelUpLearnset[] = { #if P_FAMILY_LOTAD static const struct LevelUpMove sLotadLevelUpLearnset[] = { - LEVEL_UP_MOVE( 1, MOVE_ASTONISH), LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 1, MOVE_ASTONISH), LEVEL_UP_MOVE( 3, MOVE_ABSORB), LEVEL_UP_MOVE( 6, MOVE_WATER_GUN), LEVEL_UP_MOVE( 9, MOVE_MIST), LEVEL_UP_MOVE(12, MOVE_MEGA_DRAIN), LEVEL_UP_MOVE(16, MOVE_FLAIL), LEVEL_UP_MOVE(20, MOVE_BUBBLE_BEAM), - LEVEL_UP_MOVE(24, MOVE_NATURE_POWER), + LEVEL_UP_MOVE(24, MOVE_LEECH_SEED), LEVEL_UP_MOVE(28, MOVE_GIGA_DRAIN), LEVEL_UP_MOVE(33, MOVE_RAIN_DANCE), LEVEL_UP_MOVE(38, MOVE_ZEN_HEADBUTT), @@ -7414,21 +7287,20 @@ static const struct LevelUpMove sLotadLevelUpLearnset[] = { }; static const struct LevelUpMove sLombreLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), + LEVEL_UP_MOVE( 1, MOVE_ASTONISH), LEVEL_UP_MOVE( 1, MOVE_TEETER_DANCE), - LEVEL_UP_MOVE( 1, MOVE_FAKE_OUT), + LEVEL_UP_MOVE( 1, MOVE_ABSORB), LEVEL_UP_MOVE( 1, MOVE_KNOCK_OFF), + LEVEL_UP_MOVE( 1, MOVE_FAKE_OUT), LEVEL_UP_MOVE( 1, MOVE_FLAIL), - LEVEL_UP_MOVE( 1, MOVE_ASTONISH), - LEVEL_UP_MOVE( 1, MOVE_GROWL), - LEVEL_UP_MOVE( 1, MOVE_ABSORB), - LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), LEVEL_UP_MOVE( 9, MOVE_MIST), LEVEL_UP_MOVE(12, MOVE_MEGA_DRAIN), LEVEL_UP_MOVE(18, MOVE_FURY_SWIPES), LEVEL_UP_MOVE(24, MOVE_BUBBLE_BEAM), - LEVEL_UP_MOVE(30, MOVE_NATURE_POWER), + LEVEL_UP_MOVE(30, MOVE_LEECH_SEED), LEVEL_UP_MOVE(36, MOVE_GIGA_DRAIN), - LEVEL_UP_MOVE(43, MOVE_RAIN_DANCE), LEVEL_UP_MOVE(50, MOVE_ZEN_HEADBUTT), LEVEL_UP_MOVE(57, MOVE_ENERGY_BALL), LEVEL_UP_MOVE(64, MOVE_HYDRO_PUMP), @@ -7436,24 +7308,22 @@ static const struct LevelUpMove sLombreLevelUpLearnset[] = { }; static const struct LevelUpMove sLudicoloLevelUpLearnset[] = { - LEVEL_UP_MOVE( 1, MOVE_TEETER_DANCE), - LEVEL_UP_MOVE( 1, MOVE_FAKE_OUT), - LEVEL_UP_MOVE( 1, MOVE_KNOCK_OFF), - LEVEL_UP_MOVE( 1, MOVE_FLAIL), + LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 1, MOVE_MIST), + LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), + LEVEL_UP_MOVE( 1, MOVE_HYDRO_PUMP), + LEVEL_UP_MOVE( 1, MOVE_ABSORB), LEVEL_UP_MOVE( 1, MOVE_MEGA_DRAIN), LEVEL_UP_MOVE( 1, MOVE_FURY_SWIPES), - LEVEL_UP_MOVE( 1, MOVE_BUBBLE_BEAM), - LEVEL_UP_MOVE( 1, MOVE_NATURE_POWER), - LEVEL_UP_MOVE( 1, MOVE_GIGA_DRAIN), - LEVEL_UP_MOVE( 1, MOVE_RAIN_DANCE), - LEVEL_UP_MOVE( 1, MOVE_ZEN_HEADBUTT), - LEVEL_UP_MOVE( 1, MOVE_ENERGY_BALL), - LEVEL_UP_MOVE( 1, MOVE_HYDRO_PUMP), + LEVEL_UP_MOVE( 1, MOVE_FLAIL), + LEVEL_UP_MOVE( 1, MOVE_KNOCK_OFF), + LEVEL_UP_MOVE( 1, MOVE_TEETER_DANCE), LEVEL_UP_MOVE( 1, MOVE_ASTONISH), - LEVEL_UP_MOVE( 1, MOVE_GROWL), - LEVEL_UP_MOVE( 1, MOVE_ABSORB), - LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), + LEVEL_UP_MOVE( 1, MOVE_ENERGY_BALL), + LEVEL_UP_MOVE( 1, MOVE_ZEN_HEADBUTT), + LEVEL_UP_MOVE( 1, MOVE_FAKE_OUT), + LEVEL_UP_MOVE( 1, MOVE_RAIN_DANCE), + LEVEL_UP_MOVE( 1, MOVE_BUBBLE_BEAM), LEVEL_UP_END }; #endif //P_FAMILY_LOTAD @@ -7468,7 +7338,7 @@ static const struct LevelUpMove sSeedotLevelUpLearnset[] = { LEVEL_UP_MOVE(12, MOVE_ROLLOUT), LEVEL_UP_MOVE(15, MOVE_MEGA_DRAIN), LEVEL_UP_MOVE(18, MOVE_PAYBACK), - LEVEL_UP_MOVE(21, MOVE_NATURE_POWER), + LEVEL_UP_MOVE(21, MOVE_HEADBUTT), LEVEL_UP_MOVE(24, MOVE_SUNNY_DAY), LEVEL_UP_MOVE(27, MOVE_SYNTHESIS), LEVEL_UP_MOVE(30, MOVE_SUCKER_PUNCH), @@ -7478,22 +7348,20 @@ static const struct LevelUpMove sSeedotLevelUpLearnset[] = { static const struct LevelUpMove sNuzleafLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_RAZOR_LEAF), - LEVEL_UP_MOVE( 1, MOVE_RAZOR_LEAF), - LEVEL_UP_MOVE( 1, MOVE_AIR_CUTTER), - LEVEL_UP_MOVE( 1, MOVE_TORMENT), - LEVEL_UP_MOVE( 1, MOVE_FAKE_OUT), - LEVEL_UP_MOVE( 1, MOVE_SWAGGER), - LEVEL_UP_MOVE( 1, MOVE_SYNTHESIS), - LEVEL_UP_MOVE( 1, MOVE_EXPLOSION), LEVEL_UP_MOVE( 1, MOVE_TACKLE), - LEVEL_UP_MOVE( 1, MOVE_HARDEN), LEVEL_UP_MOVE( 1, MOVE_ABSORB), + LEVEL_UP_MOVE( 1, MOVE_HARDEN), + LEVEL_UP_MOVE( 1, MOVE_EXPLOSION), + LEVEL_UP_MOVE( 1, MOVE_SWAGGER), + LEVEL_UP_MOVE( 1, MOVE_AIR_CUTTER), + LEVEL_UP_MOVE( 1, MOVE_FAKE_OUT), + LEVEL_UP_MOVE( 1, MOVE_TORMENT), LEVEL_UP_MOVE( 1, MOVE_ASTONISH), LEVEL_UP_MOVE( 9, MOVE_GROWTH), LEVEL_UP_MOVE(12, MOVE_ROLLOUT), LEVEL_UP_MOVE(18, MOVE_MEGA_DRAIN), LEVEL_UP_MOVE(24, MOVE_PAYBACK), - LEVEL_UP_MOVE(30, MOVE_NATURE_POWER), + LEVEL_UP_MOVE(30, MOVE_SYNTHESIS), LEVEL_UP_MOVE(36, MOVE_SUNNY_DAY), LEVEL_UP_MOVE(43, MOVE_EXTRASENSORY), LEVEL_UP_MOVE(50, MOVE_SUCKER_PUNCH), @@ -7502,30 +7370,28 @@ static const struct LevelUpMove sNuzleafLevelUpLearnset[] = { }; static const struct LevelUpMove sShiftryLevelUpLearnset[] = { - LEVEL_UP_MOVE( 0, MOVE_LEAF_TORNADO), - LEVEL_UP_MOVE( 1, MOVE_LEAF_TORNADO), - LEVEL_UP_MOVE( 1, MOVE_RAZOR_LEAF), - LEVEL_UP_MOVE( 1, MOVE_AIR_CUTTER), - LEVEL_UP_MOVE( 1, MOVE_TORMENT), - LEVEL_UP_MOVE( 1, MOVE_FAKE_OUT), - LEVEL_UP_MOVE( 1, MOVE_SWAGGER), + LEVEL_UP_MOVE( 0, MOVE_LEAF_BLADE), LEVEL_UP_MOVE( 1, MOVE_WHIRLWIND), - LEVEL_UP_MOVE( 1, MOVE_HURRICANE), - LEVEL_UP_MOVE( 1, MOVE_SYNTHESIS), - LEVEL_UP_MOVE( 1, MOVE_EXPLOSION), + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_ABSORB), + LEVEL_UP_MOVE( 1, MOVE_MEGA_DRAIN), LEVEL_UP_MOVE( 1, MOVE_GROWTH), + LEVEL_UP_MOVE( 1, MOVE_RAZOR_LEAF), + LEVEL_UP_MOVE( 1, MOVE_HARDEN), + LEVEL_UP_MOVE( 1, MOVE_EXPLOSION), LEVEL_UP_MOVE( 1, MOVE_ROLLOUT), - LEVEL_UP_MOVE( 1, MOVE_MEGA_DRAIN), - LEVEL_UP_MOVE( 1, MOVE_PAYBACK), - LEVEL_UP_MOVE( 1, MOVE_NATURE_POWER), - LEVEL_UP_MOVE( 1, MOVE_SUNNY_DAY), + LEVEL_UP_MOVE( 1, MOVE_SWAGGER), + LEVEL_UP_MOVE( 1, MOVE_SYNTHESIS), + LEVEL_UP_MOVE( 1, MOVE_BEAT_UP), + LEVEL_UP_MOVE( 1, MOVE_FAKE_OUT), + LEVEL_UP_MOVE( 1, MOVE_TORMENT), + LEVEL_UP_MOVE( 1, MOVE_ASTONISH), LEVEL_UP_MOVE( 1, MOVE_EXTRASENSORY), LEVEL_UP_MOVE( 1, MOVE_SUCKER_PUNCH), - LEVEL_UP_MOVE( 1, MOVE_LEAF_BLADE), - LEVEL_UP_MOVE( 1, MOVE_TACKLE), - LEVEL_UP_MOVE( 1, MOVE_HARDEN), - LEVEL_UP_MOVE( 1, MOVE_ABSORB), - LEVEL_UP_MOVE( 1, MOVE_ASTONISH), + LEVEL_UP_MOVE( 1, MOVE_SUNNY_DAY), + LEVEL_UP_MOVE( 1, MOVE_AIR_CUTTER), + LEVEL_UP_MOVE( 1, MOVE_PAYBACK), + LEVEL_UP_MOVE( 1, MOVE_HURRICANE), LEVEL_UP_END }; #endif //P_FAMILY_SEEDOT @@ -7767,6 +7633,7 @@ static const struct LevelUpMove sShroomishLevelUpLearnset[] = { static const struct LevelUpMove sBreloomLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_MACH_PUNCH), + LEVEL_UP_MOVE( 1, MOVE_SPORE), LEVEL_UP_MOVE( 1, MOVE_STUN_SPORE), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_ABSORB), @@ -8024,27 +7891,21 @@ static const struct LevelUpMove sNosepassLevelUpLearnset[] = { LEVEL_UP_MOVE(34, MOVE_SANDSTORM), LEVEL_UP_MOVE(37, MOVE_EARTH_POWER), LEVEL_UP_MOVE(40, MOVE_STONE_EDGE), - LEVEL_UP_MOVE(43, MOVE_LOCK_ON), LEVEL_UP_MOVE(43, MOVE_ZAP_CANNON), + LEVEL_UP_MOVE(43, MOVE_LOCK_ON), LEVEL_UP_END }; #if P_GEN_4_CROSS_EVOS static const struct LevelUpMove sProbopassLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_TRI_ATTACK), - LEVEL_UP_MOVE( 1, MOVE_TRI_ATTACK), LEVEL_UP_MOVE( 1, MOVE_MAGNETIC_FLUX), LEVEL_UP_MOVE( 1, MOVE_MAGNET_RISE), LEVEL_UP_MOVE( 1, MOVE_GRAVITY), + LEVEL_UP_MOVE( 1, MOVE_BLOCK), LEVEL_UP_MOVE( 1, MOVE_WIDE_GUARD), - LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_IRON_DEFENSE), - LEVEL_UP_MOVE( 1, MOVE_BLOCK), - LEVEL_UP_MOVE( 1, MOVE_HARDEN), - LEVEL_UP_MOVE( 1, MOVE_ROCK_THROW), - LEVEL_UP_MOVE( 4, MOVE_IRON_DEFENSE), - LEVEL_UP_MOVE( 7, MOVE_BLOCK), - LEVEL_UP_MOVE(10, MOVE_SMACK_DOWN), + LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE(13, MOVE_THUNDER_WAVE), LEVEL_UP_MOVE(16, MOVE_REST), LEVEL_UP_MOVE(19, MOVE_SPARK), @@ -8055,9 +7916,8 @@ static const struct LevelUpMove sProbopassLevelUpLearnset[] = { LEVEL_UP_MOVE(34, MOVE_SANDSTORM), LEVEL_UP_MOVE(37, MOVE_EARTH_POWER), LEVEL_UP_MOVE(40, MOVE_STONE_EDGE), - LEVEL_UP_MOVE(43, MOVE_LOCK_ON), LEVEL_UP_MOVE(43, MOVE_ZAP_CANNON), - LEVEL_UP_MOVE(50, MOVE_BODY_PRESS), + LEVEL_UP_MOVE(43, MOVE_LOCK_ON), LEVEL_UP_END }; #endif //P_GEN_4_CROSS_EVOS @@ -8303,19 +8163,18 @@ static const struct LevelUpMove sManectricLevelUpLearnset[] = { #if P_FAMILY_PLUSLE static const struct LevelUpMove sPlusleLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_NUZZLE), + LEVEL_UP_MOVE( 1, MOVE_QUICK_ATTACK), LEVEL_UP_MOVE( 1, MOVE_PLAY_NICE), LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 1, MOVE_THUNDER_WAVE), - LEVEL_UP_MOVE( 1, MOVE_QUICK_ATTACK), LEVEL_UP_MOVE( 4, MOVE_HELPING_HAND), LEVEL_UP_MOVE( 7, MOVE_SPARK), LEVEL_UP_MOVE(10, MOVE_ENCORE), - LEVEL_UP_MOVE(13, MOVE_SKILL_SWAP), + LEVEL_UP_MOVE(13, MOVE_SWITCHEROO), LEVEL_UP_MOVE(16, MOVE_SWIFT), LEVEL_UP_MOVE(19, MOVE_ELECTRO_BALL), LEVEL_UP_MOVE(22, MOVE_COPYCAT), - LEVEL_UP_MOVE(25, MOVE_CHARM), - LEVEL_UP_MOVE(28, MOVE_CHARGE), + LEVEL_UP_MOVE(26, MOVE_CHARGE), LEVEL_UP_MOVE(31, MOVE_DISCHARGE), LEVEL_UP_MOVE(34, MOVE_BATON_PASS), LEVEL_UP_MOVE(37, MOVE_AGILITY), @@ -8330,10 +8189,10 @@ static const struct LevelUpMove sPlusleLevelUpLearnset[] = { #if P_FAMILY_MINUN static const struct LevelUpMove sMinunLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_NUZZLE), + LEVEL_UP_MOVE( 1, MOVE_QUICK_ATTACK), LEVEL_UP_MOVE( 1, MOVE_PLAY_NICE), LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 1, MOVE_THUNDER_WAVE), - LEVEL_UP_MOVE( 1, MOVE_QUICK_ATTACK), LEVEL_UP_MOVE( 4, MOVE_HELPING_HAND), LEVEL_UP_MOVE( 7, MOVE_SPARK), LEVEL_UP_MOVE(10, MOVE_ENCORE), @@ -8341,8 +8200,7 @@ static const struct LevelUpMove sMinunLevelUpLearnset[] = { LEVEL_UP_MOVE(16, MOVE_SWIFT), LEVEL_UP_MOVE(19, MOVE_ELECTRO_BALL), LEVEL_UP_MOVE(22, MOVE_COPYCAT), - LEVEL_UP_MOVE(25, MOVE_FAKE_TEARS), - LEVEL_UP_MOVE(28, MOVE_CHARGE), + LEVEL_UP_MOVE(26, MOVE_CHARGE), LEVEL_UP_MOVE(31, MOVE_DISCHARGE), LEVEL_UP_MOVE(34, MOVE_BATON_PASS), LEVEL_UP_MOVE(37, MOVE_AGILITY), @@ -8356,7 +8214,6 @@ static const struct LevelUpMove sMinunLevelUpLearnset[] = { #if P_FAMILY_VOLBEAT_ILLUMISE static const struct LevelUpMove sVolbeatLevelUpLearnset[] = { - LEVEL_UP_MOVE( 1, MOVE_PLAY_NICE), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 5, MOVE_DOUBLE_TEAM), LEVEL_UP_MOVE( 8, MOVE_CONFUSE_RAY), @@ -8364,20 +8221,19 @@ static const struct LevelUpMove sVolbeatLevelUpLearnset[] = { LEVEL_UP_MOVE(15, MOVE_STRUGGLE_BUG), LEVEL_UP_MOVE(19, MOVE_MOONLIGHT), LEVEL_UP_MOVE(22, MOVE_TAIL_GLOW), - LEVEL_UP_MOVE(26, MOVE_ENCORE), - LEVEL_UP_MOVE(29, MOVE_PROTECT), - LEVEL_UP_MOVE(33, MOVE_ZEN_HEADBUTT), - LEVEL_UP_MOVE(36, MOVE_HELPING_HAND), - LEVEL_UP_MOVE(40, MOVE_BUG_BUZZ), - LEVEL_UP_MOVE(43, MOVE_PLAY_ROUGH), - LEVEL_UP_MOVE(47, MOVE_DOUBLE_EDGE), - LEVEL_UP_MOVE(50, MOVE_INFESTATION), + LEVEL_UP_MOVE(26, MOVE_PROTECT), + LEVEL_UP_MOVE(29, MOVE_ZEN_HEADBUTT), + LEVEL_UP_MOVE(33, MOVE_HELPING_HAND), + LEVEL_UP_MOVE(36, MOVE_BUG_BUZZ), + LEVEL_UP_MOVE(40, MOVE_PLAY_ROUGH), + LEVEL_UP_MOVE(43, MOVE_DOUBLE_EDGE), + LEVEL_UP_MOVE(47, MOVE_INFESTATION), LEVEL_UP_END }; static const struct LevelUpMove sIllumiseLevelUpLearnset[] = { - LEVEL_UP_MOVE( 1, MOVE_PLAY_NICE), LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_PLAY_NICE), LEVEL_UP_MOVE( 5, MOVE_SWEET_SCENT), LEVEL_UP_MOVE( 9, MOVE_CHARM), LEVEL_UP_MOVE(12, MOVE_QUICK_ATTACK), @@ -8390,8 +8246,7 @@ static const struct LevelUpMove sIllumiseLevelUpLearnset[] = { LEVEL_UP_MOVE(36, MOVE_HELPING_HAND), LEVEL_UP_MOVE(40, MOVE_BUG_BUZZ), LEVEL_UP_MOVE(43, MOVE_PLAY_ROUGH), - LEVEL_UP_MOVE(47, MOVE_COVET), - LEVEL_UP_MOVE(50, MOVE_INFESTATION), + LEVEL_UP_MOVE(47, MOVE_INFESTATION), LEVEL_UP_END }; #endif //P_FAMILY_VOLBEAT_ILLUMISE @@ -8704,7 +8559,6 @@ static const struct LevelUpMove sSpindaLevelUpLearnset[] = { static const struct LevelUpMove sTrapinchLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_SAND_ATTACK), LEVEL_UP_MOVE( 1, MOVE_ASTONISH), - LEVEL_UP_MOVE( 4, MOVE_LASER_FOCUS), LEVEL_UP_MOVE( 8, MOVE_BITE), LEVEL_UP_MOVE(12, MOVE_MUD_SLAP), LEVEL_UP_MOVE(16, MOVE_SAND_TOMB), @@ -8721,17 +8575,15 @@ static const struct LevelUpMove sTrapinchLevelUpLearnset[] = { static const struct LevelUpMove sVibravaLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_DRAGON_BREATH), - LEVEL_UP_MOVE( 1, MOVE_DRAGON_BREATH), - LEVEL_UP_MOVE( 1, MOVE_LASER_FOCUS), - LEVEL_UP_MOVE( 1, MOVE_BULLDOZE), - LEVEL_UP_MOVE( 1, MOVE_DIG), + LEVEL_UP_MOVE( 1, MOVE_SUPERSONIC), + LEVEL_UP_MOVE( 1, MOVE_FISSURE), LEVEL_UP_MOVE( 1, MOVE_CRUNCH), LEVEL_UP_MOVE( 1, MOVE_SUPERPOWER), - LEVEL_UP_MOVE( 1, MOVE_FISSURE), - LEVEL_UP_MOVE( 1, MOVE_SAND_ATTACK), LEVEL_UP_MOVE( 1, MOVE_ASTONISH), - LEVEL_UP_MOVE( 1, MOVE_SUPERSONIC), + LEVEL_UP_MOVE( 1, MOVE_BULLDOZE), + LEVEL_UP_MOVE( 1, MOVE_SAND_ATTACK), LEVEL_UP_MOVE( 1, MOVE_BITE), + LEVEL_UP_MOVE( 1, MOVE_DIG), LEVEL_UP_MOVE(12, MOVE_MUD_SLAP), LEVEL_UP_MOVE(16, MOVE_SAND_TOMB), LEVEL_UP_MOVE(20, MOVE_DRAGON_TAIL), @@ -8748,21 +8600,18 @@ static const struct LevelUpMove sVibravaLevelUpLearnset[] = { static const struct LevelUpMove sFlygonLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_DRAGON_CLAW), - LEVEL_UP_MOVE( 1, MOVE_OUTRAGE), - LEVEL_UP_MOVE( 1, MOVE_DRAGON_CLAW), - LEVEL_UP_MOVE( 1, MOVE_DRAGON_BREATH), - LEVEL_UP_MOVE( 1, MOVE_DRAGON_DANCE), - LEVEL_UP_MOVE( 1, MOVE_FEINT), - LEVEL_UP_MOVE( 1, MOVE_LASER_FOCUS), - LEVEL_UP_MOVE( 1, MOVE_BULLDOZE), + LEVEL_UP_MOVE( 1, MOVE_BITE), + LEVEL_UP_MOVE( 1, MOVE_FISSURE), LEVEL_UP_MOVE( 1, MOVE_DIG), LEVEL_UP_MOVE( 1, MOVE_CRUNCH), LEVEL_UP_MOVE( 1, MOVE_SUPERPOWER), - LEVEL_UP_MOVE( 1, MOVE_FISSURE), - LEVEL_UP_MOVE( 1, MOVE_SAND_ATTACK), LEVEL_UP_MOVE( 1, MOVE_ASTONISH), + LEVEL_UP_MOVE( 1, MOVE_DRAGON_DANCE), + LEVEL_UP_MOVE( 1, MOVE_FEINT), + LEVEL_UP_MOVE( 1, MOVE_SAND_ATTACK), LEVEL_UP_MOVE( 1, MOVE_SUPERSONIC), - LEVEL_UP_MOVE( 1, MOVE_BITE), + LEVEL_UP_MOVE( 1, MOVE_DRAGON_BREATH), + LEVEL_UP_MOVE( 1, MOVE_BULLDOZE), LEVEL_UP_MOVE(12, MOVE_MUD_SLAP), LEVEL_UP_MOVE(16, MOVE_SAND_TOMB), LEVEL_UP_MOVE(20, MOVE_DRAGON_TAIL), @@ -8864,6 +8713,18 @@ static const struct LevelUpMove sAltariaLevelUpLearnset[] = { #if P_FAMILY_ZANGOOSE static const struct LevelUpMove sZangooseLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_DOUBLE_KICK), + LEVEL_UP_MOVE( 1, MOVE_DISABLE), + LEVEL_UP_MOVE( 1, MOVE_COUNTER), + LEVEL_UP_MOVE( 1, MOVE_FURY_SWIPES), + LEVEL_UP_MOVE( 1, MOVE_CURSE), + LEVEL_UP_MOVE( 1, MOVE_FLAIL), + LEVEL_UP_MOVE( 1, MOVE_BELLY_DRUM), + LEVEL_UP_MOVE( 1, MOVE_FEINT), + LEVEL_UP_MOVE( 1, MOVE_NIGHT_SLASH), + LEVEL_UP_MOVE( 1, MOVE_DOUBLE_HIT), + LEVEL_UP_MOVE( 1, MOVE_QUICK_GUARD), + LEVEL_UP_MOVE( 1, MOVE_FINAL_GAMBIT), LEVEL_UP_MOVE( 1, MOVE_SCRATCH), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 5, MOVE_QUICK_ATTACK), @@ -9009,10 +8870,9 @@ static const struct LevelUpMove sCorphishLevelUpLearnset[] = { static const struct LevelUpMove sCrawdauntLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_SWIFT), - LEVEL_UP_MOVE( 1, MOVE_SWIFT), + LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), LEVEL_UP_MOVE( 1, MOVE_HARDEN), - LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 1, MOVE_TAUNT), LEVEL_UP_MOVE(12, MOVE_BUBBLE_BEAM), LEVEL_UP_MOVE(16, MOVE_KNOCK_OFF), @@ -9163,12 +9023,11 @@ static const struct LevelUpMove sFeebasLevelUpLearnset[] = { static const struct LevelUpMove sMiloticLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_WATER_PULSE), - LEVEL_UP_MOVE( 1, MOVE_WATER_PULSE), - LEVEL_UP_MOVE( 1, MOVE_FLAIL), - LEVEL_UP_MOVE( 1, MOVE_SPLASH), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_WRAP), LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), + LEVEL_UP_MOVE( 1, MOVE_SPLASH), + LEVEL_UP_MOVE( 1, MOVE_FLAIL), LEVEL_UP_MOVE( 4, MOVE_DISARMING_VOICE), LEVEL_UP_MOVE( 8, MOVE_TWISTER), LEVEL_UP_MOVE(12, MOVE_AQUA_RING), @@ -9268,8 +9127,8 @@ static const struct LevelUpMove sBanetteLevelUpLearnset[] = { #if P_FAMILY_DUSKULL static const struct LevelUpMove sDuskullLevelUpLearnset[] = { - LEVEL_UP_MOVE( 1, MOVE_ASTONISH), LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 1, MOVE_ASTONISH), LEVEL_UP_MOVE( 4, MOVE_DISABLE), LEVEL_UP_MOVE( 8, MOVE_SHADOW_SNEAK), LEVEL_UP_MOVE(12, MOVE_CONFUSE_RAY), @@ -9286,16 +9145,15 @@ static const struct LevelUpMove sDuskullLevelUpLearnset[] = { static const struct LevelUpMove sDusclopsLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_SHADOW_PUNCH), - LEVEL_UP_MOVE( 1, MOVE_SHADOW_PUNCH), LEVEL_UP_MOVE( 1, MOVE_FIRE_PUNCH), LEVEL_UP_MOVE( 1, MOVE_ICE_PUNCH), LEVEL_UP_MOVE( 1, MOVE_THUNDER_PUNCH), - LEVEL_UP_MOVE( 1, MOVE_GRAVITY), LEVEL_UP_MOVE( 1, MOVE_BIND), - LEVEL_UP_MOVE( 1, MOVE_ASTONISH), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 1, MOVE_DISABLE), LEVEL_UP_MOVE( 1, MOVE_SHADOW_SNEAK), + LEVEL_UP_MOVE( 1, MOVE_GRAVITY), + LEVEL_UP_MOVE( 1, MOVE_ASTONISH), LEVEL_UP_MOVE(12, MOVE_CONFUSE_RAY), LEVEL_UP_MOVE(16, MOVE_NIGHT_SHADE), LEVEL_UP_MOVE(20, MOVE_PAYBACK), @@ -9310,16 +9168,16 @@ static const struct LevelUpMove sDusclopsLevelUpLearnset[] = { #if P_GEN_4_CROSS_EVOS static const struct LevelUpMove sDusknoirLevelUpLearnset[] = { - LEVEL_UP_MOVE( 1, MOVE_SHADOW_PUNCH), LEVEL_UP_MOVE( 1, MOVE_FIRE_PUNCH), LEVEL_UP_MOVE( 1, MOVE_ICE_PUNCH), LEVEL_UP_MOVE( 1, MOVE_THUNDER_PUNCH), - LEVEL_UP_MOVE( 1, MOVE_GRAVITY), LEVEL_UP_MOVE( 1, MOVE_BIND), - LEVEL_UP_MOVE( 1, MOVE_ASTONISH), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 1, MOVE_DISABLE), LEVEL_UP_MOVE( 1, MOVE_SHADOW_SNEAK), + LEVEL_UP_MOVE( 1, MOVE_GRAVITY), + LEVEL_UP_MOVE( 1, MOVE_SHADOW_PUNCH), + LEVEL_UP_MOVE( 1, MOVE_ASTONISH), LEVEL_UP_MOVE(12, MOVE_CONFUSE_RAY), LEVEL_UP_MOVE(16, MOVE_NIGHT_SHADE), LEVEL_UP_MOVE(20, MOVE_PAYBACK), @@ -9372,18 +9230,13 @@ static const struct LevelUpMove sChinglingLevelUpLearnset[] = { #endif //P_GEN_4_CROSS_EVOS static const struct LevelUpMove sChimechoLevelUpLearnset[] = { - LEVEL_UP_MOVE( 1, MOVE_HEALING_WISH), LEVEL_UP_MOVE( 1, MOVE_WRAP), LEVEL_UP_MOVE( 1, MOVE_GROWL), - LEVEL_UP_MOVE( 1, MOVE_ASTONISH), LEVEL_UP_MOVE( 1, MOVE_CONFUSION), - LEVEL_UP_MOVE( 1, MOVE_LAST_RESORT), - LEVEL_UP_MOVE( 1, MOVE_ENTRAINMENT), - LEVEL_UP_MOVE( 4, MOVE_GROWL), - LEVEL_UP_MOVE( 7, MOVE_ASTONISH), - LEVEL_UP_MOVE(10, MOVE_CONFUSION), + LEVEL_UP_MOVE( 1, MOVE_ASTONISH), + LEVEL_UP_MOVE( 1, MOVE_HEALING_WISH), LEVEL_UP_MOVE(13, MOVE_YAWN), - LEVEL_UP_MOVE(16, MOVE_LIGHT_SCREEN), + LEVEL_UP_MOVE(16, MOVE_STORED_POWER), LEVEL_UP_MOVE(19, MOVE_TAKE_DOWN), LEVEL_UP_MOVE(22, MOVE_EXTRASENSORY), LEVEL_UP_MOVE(27, MOVE_HEAL_BELL), @@ -9391,8 +9244,6 @@ static const struct LevelUpMove sChimechoLevelUpLearnset[] = { LEVEL_UP_MOVE(37, MOVE_SAFEGUARD), LEVEL_UP_MOVE(42, MOVE_DOUBLE_EDGE), LEVEL_UP_MOVE(47, MOVE_HEAL_PULSE), - LEVEL_UP_MOVE(52, MOVE_PSYCHIC), - LEVEL_UP_MOVE(57, MOVE_HEALING_WISH), LEVEL_UP_END }; #endif //P_FAMILY_CHIMECHO @@ -9709,12 +9560,11 @@ static const struct LevelUpMove sBeldumLevelUpLearnset[] = { }; static const struct LevelUpMove sMetangLevelUpLearnset[] = { - LEVEL_UP_MOVE( 0, MOVE_METAL_CLAW), LEVEL_UP_MOVE( 0, MOVE_CONFUSION), - LEVEL_UP_MOVE( 1, MOVE_CONFUSION), - LEVEL_UP_MOVE( 1, MOVE_METAL_CLAW), - LEVEL_UP_MOVE( 1, MOVE_BULLET_PUNCH), + LEVEL_UP_MOVE( 0, MOVE_METAL_CLAW), LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_BULLET_PUNCH), + LEVEL_UP_MOVE( 1, MOVE_HONE_CLAWS), LEVEL_UP_MOVE( 6, MOVE_ZEN_HEADBUTT), LEVEL_UP_MOVE(12, MOVE_MAGNET_RISE), LEVEL_UP_MOVE(18, MOVE_FLASH_CANNON), @@ -9730,11 +9580,12 @@ static const struct LevelUpMove sMetangLevelUpLearnset[] = { static const struct LevelUpMove sMetagrossLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_HAMMER_ARM), - LEVEL_UP_MOVE( 1, MOVE_HAMMER_ARM), + LEVEL_UP_MOVE( 1, MOVE_EXPLOSION), + LEVEL_UP_MOVE( 1, MOVE_HONE_CLAWS), + LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_CONFUSION), LEVEL_UP_MOVE( 1, MOVE_METAL_CLAW), LEVEL_UP_MOVE( 1, MOVE_BULLET_PUNCH), - LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 6, MOVE_ZEN_HEADBUTT), LEVEL_UP_MOVE(12, MOVE_MAGNET_RISE), LEVEL_UP_MOVE(16, MOVE_FLASH_CANNON), @@ -9751,8 +9602,8 @@ static const struct LevelUpMove sMetagrossLevelUpLearnset[] = { #if P_FAMILY_REGIROCK static const struct LevelUpMove sRegirockLevelUpLearnset[] = { - LEVEL_UP_MOVE( 1, MOVE_CHARGE_BEAM), LEVEL_UP_MOVE( 1, MOVE_ROCK_THROW), + LEVEL_UP_MOVE( 1, MOVE_CHARGE_BEAM), LEVEL_UP_MOVE( 6, MOVE_BULLDOZE), LEVEL_UP_MOVE(12, MOVE_ANCIENT_POWER), LEVEL_UP_MOVE(18, MOVE_STOMP), @@ -9772,8 +9623,8 @@ static const struct LevelUpMove sRegirockLevelUpLearnset[] = { #if P_FAMILY_REGICE static const struct LevelUpMove sRegiceLevelUpLearnset[] = { - LEVEL_UP_MOVE( 1, MOVE_CHARGE_BEAM), LEVEL_UP_MOVE( 1, MOVE_ICY_WIND), + LEVEL_UP_MOVE( 1, MOVE_CHARGE_BEAM), LEVEL_UP_MOVE( 6, MOVE_BULLDOZE), LEVEL_UP_MOVE(12, MOVE_ANCIENT_POWER), LEVEL_UP_MOVE(18, MOVE_STOMP), @@ -9793,16 +9644,16 @@ static const struct LevelUpMove sRegiceLevelUpLearnset[] = { #if P_FAMILY_REGISTEEL static const struct LevelUpMove sRegisteelLevelUpLearnset[] = { - LEVEL_UP_MOVE( 1, MOVE_CHARGE_BEAM), LEVEL_UP_MOVE( 1, MOVE_METAL_CLAW), + LEVEL_UP_MOVE( 1, MOVE_CHARGE_BEAM), LEVEL_UP_MOVE( 6, MOVE_BULLDOZE), LEVEL_UP_MOVE(12, MOVE_ANCIENT_POWER), LEVEL_UP_MOVE(18, MOVE_STOMP), - LEVEL_UP_MOVE(24, MOVE_IRON_HEAD), LEVEL_UP_MOVE(24, MOVE_FLASH_CANNON), + LEVEL_UP_MOVE(24, MOVE_IRON_HEAD), LEVEL_UP_MOVE(30, MOVE_CURSE), - LEVEL_UP_MOVE(36, MOVE_IRON_DEFENSE), LEVEL_UP_MOVE(36, MOVE_AMNESIA), + LEVEL_UP_MOVE(36, MOVE_IRON_DEFENSE), LEVEL_UP_MOVE(42, MOVE_HAMMER_ARM), LEVEL_UP_MOVE(48, MOVE_HEAVY_SLAM), LEVEL_UP_MOVE(54, MOVE_SUPERPOWER), @@ -9816,8 +9667,8 @@ static const struct LevelUpMove sRegisteelLevelUpLearnset[] = { #if P_FAMILY_LATIAS static const struct LevelUpMove sLatiasLevelUpLearnset[] = { - LEVEL_UP_MOVE( 1, MOVE_STORED_POWER), LEVEL_UP_MOVE( 1, MOVE_CHARM), + LEVEL_UP_MOVE( 1, MOVE_STORED_POWER), LEVEL_UP_MOVE( 5, MOVE_HELPING_HAND), LEVEL_UP_MOVE(10, MOVE_RECOVER), LEVEL_UP_MOVE(15, MOVE_CONFUSION), @@ -9832,15 +9683,14 @@ static const struct LevelUpMove sLatiasLevelUpLearnset[] = { LEVEL_UP_MOVE(60, MOVE_PSYCHIC), LEVEL_UP_MOVE(65, MOVE_GUARD_SPLIT), LEVEL_UP_MOVE(70, MOVE_HEALING_WISH), - LEVEL_UP_MOVE(75, MOVE_PSYCHO_SHIFT), LEVEL_UP_END }; #endif //P_FAMILY_LATIAS #if P_FAMILY_LATIOS static const struct LevelUpMove sLatiosLevelUpLearnset[] = { - LEVEL_UP_MOVE( 1, MOVE_STORED_POWER), LEVEL_UP_MOVE( 1, MOVE_DRAGON_DANCE), + LEVEL_UP_MOVE( 1, MOVE_STORED_POWER), LEVEL_UP_MOVE( 5, MOVE_HELPING_HAND), LEVEL_UP_MOVE(10, MOVE_RECOVER), LEVEL_UP_MOVE(15, MOVE_CONFUSION), @@ -9855,7 +9705,6 @@ static const struct LevelUpMove sLatiosLevelUpLearnset[] = { LEVEL_UP_MOVE(60, MOVE_PSYCHIC), LEVEL_UP_MOVE(65, MOVE_POWER_SPLIT), LEVEL_UP_MOVE(70, MOVE_MEMENTO), - LEVEL_UP_MOVE(75, MOVE_PSYCHO_SHIFT), LEVEL_UP_END }; #endif //P_FAMILY_LATIOS @@ -9926,7 +9775,6 @@ static const struct LevelUpMove sJirachiLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_CONFUSION), LEVEL_UP_MOVE( 1, MOVE_WISH), LEVEL_UP_MOVE( 7, MOVE_SWIFT), - LEVEL_UP_MOVE(14, MOVE_HELPING_HAND), LEVEL_UP_MOVE(21, MOVE_LIFE_DEW), LEVEL_UP_MOVE(28, MOVE_ZEN_HEADBUTT), LEVEL_UP_MOVE(35, MOVE_GRAVITY), @@ -9945,15 +9793,15 @@ static const struct LevelUpMove sJirachiLevelUpLearnset[] = { #if P_FAMILY_DEOXYS static const struct LevelUpMove sDeoxysNormalLevelUpLearnset[] = { - LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 1, MOVE_WRAP), + LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 7, MOVE_NIGHT_SHADE), LEVEL_UP_MOVE(13, MOVE_TELEPORT), LEVEL_UP_MOVE(19, MOVE_KNOCK_OFF), - LEVEL_UP_MOVE(25, MOVE_TOXIC_SPIKES), + LEVEL_UP_MOVE(25, MOVE_PSYSHOCK), LEVEL_UP_MOVE(31, MOVE_PSYCHIC), - LEVEL_UP_MOVE(37, MOVE_SWITCHEROO), - LEVEL_UP_MOVE(43, MOVE_PSYCHO_SHIFT), + LEVEL_UP_MOVE(37, MOVE_GRAVITY), + LEVEL_UP_MOVE(43, MOVE_SKILL_SWAP), LEVEL_UP_MOVE(49, MOVE_ZEN_HEADBUTT), LEVEL_UP_MOVE(55, MOVE_COSMIC_POWER), LEVEL_UP_MOVE(61, MOVE_RECOVER), @@ -9963,15 +9811,15 @@ static const struct LevelUpMove sDeoxysNormalLevelUpLearnset[] = { }; static const struct LevelUpMove sDeoxysAttackLevelUpLearnset[] = { - LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 1, MOVE_WRAP), + LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 7, MOVE_NIGHT_SHADE), LEVEL_UP_MOVE(13, MOVE_TELEPORT), LEVEL_UP_MOVE(19, MOVE_TAUNT), - LEVEL_UP_MOVE(25, MOVE_TOXIC_SPIKES), + LEVEL_UP_MOVE(25, MOVE_PSYSHOCK), LEVEL_UP_MOVE(31, MOVE_PSYCHIC), LEVEL_UP_MOVE(37, MOVE_SUPERPOWER), - LEVEL_UP_MOVE(43, MOVE_PSYCHO_SHIFT), + LEVEL_UP_MOVE(43, MOVE_SKILL_SWAP), LEVEL_UP_MOVE(49, MOVE_ZEN_HEADBUTT), LEVEL_UP_MOVE(55, MOVE_COSMIC_POWER), LEVEL_UP_MOVE(61, MOVE_ZAP_CANNON), @@ -9981,18 +9829,18 @@ static const struct LevelUpMove sDeoxysAttackLevelUpLearnset[] = { }; static const struct LevelUpMove sDeoxysDefenseLevelUpLearnset[] = { - LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 1, MOVE_WRAP), + LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 7, MOVE_NIGHT_SHADE), LEVEL_UP_MOVE(13, MOVE_TELEPORT), LEVEL_UP_MOVE(19, MOVE_KNOCK_OFF), LEVEL_UP_MOVE(25, MOVE_SPIKES), LEVEL_UP_MOVE(31, MOVE_PSYCHIC), - LEVEL_UP_MOVE(37, MOVE_SWITCHEROO), - LEVEL_UP_MOVE(43, MOVE_PSYCHO_SHIFT), + LEVEL_UP_MOVE(37, MOVE_PROTECT), + LEVEL_UP_MOVE(43, MOVE_SKILL_SWAP), LEVEL_UP_MOVE(49, MOVE_ZEN_HEADBUTT), - LEVEL_UP_MOVE(55, MOVE_IRON_DEFENSE), LEVEL_UP_MOVE(55, MOVE_AMNESIA), + LEVEL_UP_MOVE(55, MOVE_IRON_DEFENSE), LEVEL_UP_MOVE(61, MOVE_RECOVER), LEVEL_UP_MOVE(67, MOVE_PSYCHO_BOOST), LEVEL_UP_MOVE(73, MOVE_COUNTER), @@ -10001,15 +9849,15 @@ static const struct LevelUpMove sDeoxysDefenseLevelUpLearnset[] = { }; static const struct LevelUpMove sDeoxysSpeedLevelUpLearnset[] = { - LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 1, MOVE_WRAP), + LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 7, MOVE_NIGHT_SHADE), LEVEL_UP_MOVE(13, MOVE_DOUBLE_TEAM), LEVEL_UP_MOVE(19, MOVE_KNOCK_OFF), - LEVEL_UP_MOVE(25, MOVE_TOXIC_SPIKES), + LEVEL_UP_MOVE(25, MOVE_PSYSHOCK), LEVEL_UP_MOVE(31, MOVE_PSYCHIC), LEVEL_UP_MOVE(37, MOVE_SWIFT), - LEVEL_UP_MOVE(43, MOVE_PSYCHO_SHIFT), + LEVEL_UP_MOVE(43, MOVE_SKILL_SWAP), LEVEL_UP_MOVE(49, MOVE_ZEN_HEADBUTT), LEVEL_UP_MOVE(55, MOVE_AGILITY), LEVEL_UP_MOVE(61, MOVE_RECOVER), @@ -10023,8 +9871,7 @@ static const struct LevelUpMove sDeoxysSpeedLevelUpLearnset[] = { static const struct LevelUpMove sTurtwigLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 5, MOVE_WITHDRAW), - LEVEL_UP_MOVE( 6, MOVE_LEAFAGE), - LEVEL_UP_MOVE(10, MOVE_GROWTH), + LEVEL_UP_MOVE( 9, MOVE_ABSORB), LEVEL_UP_MOVE(13, MOVE_RAZOR_LEAF), LEVEL_UP_MOVE(17, MOVE_CURSE), LEVEL_UP_MOVE(21, MOVE_BITE), @@ -10039,11 +9886,8 @@ static const struct LevelUpMove sTurtwigLevelUpLearnset[] = { static const struct LevelUpMove sGrotleLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), - LEVEL_UP_MOVE( 1, MOVE_WITHDRAW), LEVEL_UP_MOVE( 1, MOVE_ABSORB), - LEVEL_UP_MOVE( 5, MOVE_WITHDRAW), - LEVEL_UP_MOVE( 6, MOVE_LEAFAGE), - LEVEL_UP_MOVE(10, MOVE_GROWTH), + LEVEL_UP_MOVE( 1, MOVE_WITHDRAW), LEVEL_UP_MOVE(13, MOVE_RAZOR_LEAF), LEVEL_UP_MOVE(17, MOVE_CURSE), LEVEL_UP_MOVE(22, MOVE_BITE), @@ -10058,16 +9902,11 @@ static const struct LevelUpMove sGrotleLevelUpLearnset[] = { static const struct LevelUpMove sTorterraLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_EARTHQUAKE), - LEVEL_UP_MOVE( 1, MOVE_EARTHQUAKE), - LEVEL_UP_MOVE( 1, MOVE_WOOD_HAMMER), LEVEL_UP_MOVE( 1, MOVE_TACKLE), - LEVEL_UP_MOVE( 1, MOVE_WITHDRAW), LEVEL_UP_MOVE( 1, MOVE_ABSORB), LEVEL_UP_MOVE( 1, MOVE_RAZOR_LEAF), - LEVEL_UP_MOVE( 5, MOVE_WITHDRAW), - LEVEL_UP_MOVE( 6, MOVE_LEAFAGE), - LEVEL_UP_MOVE(10, MOVE_GROWTH), - LEVEL_UP_MOVE(13, MOVE_RAZOR_LEAF), + LEVEL_UP_MOVE( 1, MOVE_WITHDRAW), + LEVEL_UP_MOVE( 1, MOVE_WOOD_HAMMER), LEVEL_UP_MOVE(17, MOVE_CURSE), LEVEL_UP_MOVE(22, MOVE_BITE), LEVEL_UP_MOVE(27, MOVE_MEGA_DRAIN), @@ -10076,6 +9915,7 @@ static const struct LevelUpMove sTorterraLevelUpLearnset[] = { LEVEL_UP_MOVE(45, MOVE_CRUNCH), LEVEL_UP_MOVE(51, MOVE_GIGA_DRAIN), LEVEL_UP_MOVE(57, MOVE_LEAF_STORM), + LEVEL_UP_MOVE(63, MOVE_HEADLONG_RUSH), LEVEL_UP_END }; #endif //P_FAMILY_TURTWIG @@ -10084,9 +9924,8 @@ static const struct LevelUpMove sTorterraLevelUpLearnset[] = { static const struct LevelUpMove sChimcharLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_SCRATCH), LEVEL_UP_MOVE( 1, MOVE_LEER), - LEVEL_UP_MOVE( 6, MOVE_EMBER), + LEVEL_UP_MOVE( 7, MOVE_EMBER), LEVEL_UP_MOVE( 9, MOVE_TAUNT), - LEVEL_UP_MOVE(12, MOVE_POWER_UP_PUNCH), LEVEL_UP_MOVE(15, MOVE_FURY_SWIPES), LEVEL_UP_MOVE(17, MOVE_FLAME_WHEEL), LEVEL_UP_MOVE(23, MOVE_NASTY_PLOT), @@ -10101,16 +9940,10 @@ static const struct LevelUpMove sChimcharLevelUpLearnset[] = { static const struct LevelUpMove sMonfernoLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_MACH_PUNCH), - LEVEL_UP_MOVE( 1, MOVE_MACH_PUNCH), LEVEL_UP_MOVE( 1, MOVE_SCRATCH), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 1, MOVE_EMBER), - LEVEL_UP_MOVE( 1, MOVE_NASTY_PLOT), - LEVEL_UP_MOVE( 1, MOVE_FACADE), - LEVEL_UP_MOVE( 1, MOVE_FLAMETHROWER), - LEVEL_UP_MOVE( 7, MOVE_EMBER), LEVEL_UP_MOVE( 9, MOVE_TAUNT), - LEVEL_UP_MOVE(12, MOVE_POWER_UP_PUNCH), LEVEL_UP_MOVE(16, MOVE_FURY_SWIPES), LEVEL_UP_MOVE(19, MOVE_FLAME_WHEEL), LEVEL_UP_MOVE(26, MOVE_FEINT), @@ -10125,29 +9958,21 @@ static const struct LevelUpMove sMonfernoLevelUpLearnset[] = { static const struct LevelUpMove sInfernapeLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_CLOSE_COMBAT), - LEVEL_UP_MOVE( 1, MOVE_CLOSE_COMBAT), - LEVEL_UP_MOVE( 1, MOVE_MACH_PUNCH), - LEVEL_UP_MOVE( 1, MOVE_FLARE_BLITZ), + LEVEL_UP_MOVE( 1, MOVE_TAUNT), + LEVEL_UP_MOVE( 1, MOVE_SLACK_OFF), LEVEL_UP_MOVE( 1, MOVE_SCRATCH), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 1, MOVE_EMBER), - LEVEL_UP_MOVE( 1, MOVE_TAUNT), - LEVEL_UP_MOVE( 1, MOVE_NASTY_PLOT), - LEVEL_UP_MOVE( 1, MOVE_FACADE), - LEVEL_UP_MOVE( 1, MOVE_FLAMETHROWER), - LEVEL_UP_MOVE( 1, MOVE_TORMENT), - LEVEL_UP_MOVE( 1, MOVE_SLACK_OFF), - LEVEL_UP_MOVE( 7, MOVE_EMBER), - LEVEL_UP_MOVE( 9, MOVE_TAUNT), - LEVEL_UP_MOVE(12, MOVE_POWER_UP_PUNCH), + LEVEL_UP_MOVE( 1, MOVE_MACH_PUNCH), LEVEL_UP_MOVE(16, MOVE_FURY_SWIPES), LEVEL_UP_MOVE(19, MOVE_FLAME_WHEEL), LEVEL_UP_MOVE(26, MOVE_FEINT), - LEVEL_UP_MOVE(29, MOVE_U_TURN), + LEVEL_UP_MOVE(29, MOVE_TORMENT), LEVEL_UP_MOVE(42, MOVE_FIRE_SPIN), + LEVEL_UP_MOVE(47, MOVE_FLARE_BLITZ), LEVEL_UP_MOVE(52, MOVE_ACROBATICS), LEVEL_UP_MOVE(58, MOVE_CALM_MIND), - LEVEL_UP_MOVE(68, MOVE_FLARE_BLITZ), + LEVEL_UP_MOVE(65, MOVE_RAGING_FURY), LEVEL_UP_END }; #endif //P_FAMILY_CHIMCHAR @@ -10156,7 +9981,7 @@ static const struct LevelUpMove sInfernapeLevelUpLearnset[] = { static const struct LevelUpMove sPiplupLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_POUND), LEVEL_UP_MOVE( 4, MOVE_GROWL), - LEVEL_UP_MOVE( 6, MOVE_WATER_GUN), + LEVEL_UP_MOVE( 8, MOVE_WATER_GUN), LEVEL_UP_MOVE(11, MOVE_CHARM), LEVEL_UP_MOVE(15, MOVE_PECK), LEVEL_UP_MOVE(18, MOVE_BUBBLE_BEAM), @@ -10172,13 +9997,9 @@ static const struct LevelUpMove sPiplupLevelUpLearnset[] = { static const struct LevelUpMove sPrinplupLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_METAL_CLAW), - LEVEL_UP_MOVE( 1, MOVE_METAL_CLAW), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_GROWL), - LEVEL_UP_MOVE( 1, MOVE_POUND), - LEVEL_UP_MOVE( 4, MOVE_GROWL), - LEVEL_UP_MOVE( 8, MOVE_WATER_GUN), - LEVEL_UP_MOVE(11, MOVE_CHARM), + LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), LEVEL_UP_MOVE(15, MOVE_PECK), LEVEL_UP_MOVE(19, MOVE_BUBBLE_BEAM), LEVEL_UP_MOVE(24, MOVE_SWAGGER), @@ -10193,14 +10014,10 @@ static const struct LevelUpMove sPrinplupLevelUpLearnset[] = { static const struct LevelUpMove sEmpoleonLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_AQUA_JET), - LEVEL_UP_MOVE( 1, MOVE_AQUA_JET), - LEVEL_UP_MOVE( 1, MOVE_METAL_CLAW), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_GROWL), - LEVEL_UP_MOVE( 1, MOVE_POUND), - LEVEL_UP_MOVE( 1, MOVE_CHARM), - LEVEL_UP_MOVE( 4, MOVE_GROWL), - LEVEL_UP_MOVE( 8, MOVE_WATER_GUN), + LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), + LEVEL_UP_MOVE( 1, MOVE_METAL_CLAW), LEVEL_UP_MOVE(11, MOVE_SWORDS_DANCE), LEVEL_UP_MOVE(15, MOVE_PECK), LEVEL_UP_MOVE(19, MOVE_BUBBLE_BEAM), @@ -10211,6 +10028,7 @@ static const struct LevelUpMove sEmpoleonLevelUpLearnset[] = { LEVEL_UP_MOVE(46, MOVE_MIST), LEVEL_UP_MOVE(52, MOVE_DRILL_PECK), LEVEL_UP_MOVE(59, MOVE_HYDRO_PUMP), + LEVEL_UP_MOVE(66, MOVE_WAVE_CRASH), LEVEL_UP_END }; #endif //P_FAMILY_PIPLUP @@ -10398,11 +10216,11 @@ static const struct LevelUpMove sCranidosLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_HEADBUTT), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 6, MOVE_FOCUS_ENERGY), - LEVEL_UP_MOVE(10, MOVE_ROCK_POLISH), + LEVEL_UP_MOVE(10, MOVE_ROCK_SMASH), LEVEL_UP_MOVE(15, MOVE_TAKE_DOWN), LEVEL_UP_MOVE(19, MOVE_SCARY_FACE), LEVEL_UP_MOVE(24, MOVE_ASSURANCE), - LEVEL_UP_MOVE(28, MOVE_SWORDS_DANCE), + LEVEL_UP_MOVE(28, MOVE_SLAM), LEVEL_UP_MOVE(33, MOVE_ANCIENT_POWER), LEVEL_UP_MOVE(37, MOVE_ZEN_HEADBUTT), LEVEL_UP_MOVE(42, MOVE_SCREECH), @@ -10411,16 +10229,15 @@ static const struct LevelUpMove sCranidosLevelUpLearnset[] = { }; static const struct LevelUpMove sRampardosLevelUpLearnset[] = { - LEVEL_UP_MOVE( 1, MOVE_ENDEAVOR), + LEVEL_UP_MOVE( 0, MOVE_ENDEAVOR), LEVEL_UP_MOVE( 1, MOVE_HEADBUTT), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 1, MOVE_FOCUS_ENERGY), - LEVEL_UP_MOVE( 6, MOVE_FOCUS_ENERGY), - LEVEL_UP_MOVE(10, MOVE_ROCK_POLISH), + LEVEL_UP_MOVE(10, MOVE_ROCK_SMASH), LEVEL_UP_MOVE(15, MOVE_TAKE_DOWN), LEVEL_UP_MOVE(19, MOVE_SCARY_FACE), LEVEL_UP_MOVE(24, MOVE_ASSURANCE), - LEVEL_UP_MOVE(28, MOVE_SWORDS_DANCE), + LEVEL_UP_MOVE(28, MOVE_SLAM), LEVEL_UP_MOVE(36, MOVE_ANCIENT_POWER), LEVEL_UP_MOVE(43, MOVE_ZEN_HEADBUTT), LEVEL_UP_MOVE(51, MOVE_SCREECH), @@ -10448,13 +10265,11 @@ static const struct LevelUpMove sShieldonLevelUpLearnset[] = { static const struct LevelUpMove sBastiodonLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_BLOCK), - LEVEL_UP_MOVE( 1, MOVE_BLOCK), + LEVEL_UP_MOVE( 1, MOVE_WIDE_GUARD), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_PROTECT), LEVEL_UP_MOVE( 1, MOVE_TAUNT), LEVEL_UP_MOVE( 1, MOVE_METAL_SOUND), - LEVEL_UP_MOVE( 6, MOVE_TAUNT), - LEVEL_UP_MOVE(10, MOVE_METAL_SOUND), LEVEL_UP_MOVE(15, MOVE_TAKE_DOWN), LEVEL_UP_MOVE(19, MOVE_IRON_DEFENSE), LEVEL_UP_MOVE(24, MOVE_SWAGGER), @@ -11332,6 +11147,16 @@ static const struct LevelUpMove sRotomLevelUpLearnset[] = { #if P_FAMILY_UXIE static const struct LevelUpMove sUxieLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TRI_ATTACK), + LEVEL_UP_MOVE( 1, MOVE_SNORE), + LEVEL_UP_MOVE( 1, MOVE_SAFEGUARD), + LEVEL_UP_MOVE( 1, MOVE_IRON_TAIL), + LEVEL_UP_MOVE( 1, MOVE_PSYCHO_CUT), + LEVEL_UP_MOVE( 1, MOVE_WONDER_ROOM), + LEVEL_UP_MOVE( 1, MOVE_MAGIC_ROOM), + LEVEL_UP_MOVE( 1, MOVE_ROUND), + LEVEL_UP_MOVE( 1, MOVE_ALLY_SWITCH), + LEVEL_UP_MOVE( 1, MOVE_EXPANDING_FORCE), LEVEL_UP_MOVE( 1, MOVE_CONFUSION), LEVEL_UP_MOVE( 1, MOVE_REST), LEVEL_UP_MOVE( 7, MOVE_SWIFT), @@ -11352,6 +11177,16 @@ static const struct LevelUpMove sUxieLevelUpLearnset[] = { #if P_FAMILY_MESPRIT static const struct LevelUpMove sMespritLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TRI_ATTACK), + LEVEL_UP_MOVE( 1, MOVE_SNORE), + LEVEL_UP_MOVE( 1, MOVE_SAFEGUARD), + LEVEL_UP_MOVE( 1, MOVE_IRON_TAIL), + LEVEL_UP_MOVE( 1, MOVE_PSYCHO_CUT), + LEVEL_UP_MOVE( 1, MOVE_WONDER_ROOM), + LEVEL_UP_MOVE( 1, MOVE_MAGIC_ROOM), + LEVEL_UP_MOVE( 1, MOVE_ROUND), + LEVEL_UP_MOVE( 1, MOVE_ALLY_SWITCH), + LEVEL_UP_MOVE( 1, MOVE_EXPANDING_FORCE), LEVEL_UP_MOVE( 1, MOVE_CONFUSION), LEVEL_UP_MOVE( 1, MOVE_REST), LEVEL_UP_MOVE( 7, MOVE_SWIFT), @@ -11372,6 +11207,19 @@ static const struct LevelUpMove sMespritLevelUpLearnset[] = { #if P_FAMILY_AZELF static const struct LevelUpMove sAzelfLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SELF_DESTRUCT), + LEVEL_UP_MOVE( 1, MOVE_TRI_ATTACK), + LEVEL_UP_MOVE( 1, MOVE_SNORE), + LEVEL_UP_MOVE( 1, MOVE_SAFEGUARD), + LEVEL_UP_MOVE( 1, MOVE_IRON_TAIL), + LEVEL_UP_MOVE( 1, MOVE_PAYBACK), + LEVEL_UP_MOVE( 1, MOVE_ASSURANCE), + LEVEL_UP_MOVE( 1, MOVE_PSYCHO_CUT), + LEVEL_UP_MOVE( 1, MOVE_WONDER_ROOM), + LEVEL_UP_MOVE( 1, MOVE_MAGIC_ROOM), + LEVEL_UP_MOVE( 1, MOVE_ROUND), + LEVEL_UP_MOVE( 1, MOVE_ALLY_SWITCH), + LEVEL_UP_MOVE( 1, MOVE_EXPANDING_FORCE), LEVEL_UP_MOVE( 1, MOVE_CONFUSION), LEVEL_UP_MOVE( 1, MOVE_REST), LEVEL_UP_MOVE( 7, MOVE_SWIFT), @@ -11452,7 +11300,7 @@ static const struct LevelUpMove sRegigigasLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_POUND), LEVEL_UP_MOVE( 1, MOVE_CONFUSE_RAY), LEVEL_UP_MOVE( 6, MOVE_PAYBACK), - LEVEL_UP_MOVE(12, MOVE_REVENGE), + LEVEL_UP_MOVE(12, MOVE_FACADE), LEVEL_UP_MOVE(18, MOVE_STOMP), LEVEL_UP_MOVE(24, MOVE_PROTECT), LEVEL_UP_MOVE(30, MOVE_KNOCK_OFF), @@ -11521,12 +11369,14 @@ static const struct LevelUpMove sPhioneLevelUpLearnset[] = { LEVEL_UP_MOVE(54, MOVE_AQUA_RING), LEVEL_UP_MOVE(61, MOVE_DIVE), LEVEL_UP_MOVE(69, MOVE_RAIN_DANCE), + LEVEL_UP_MOVE(75, MOVE_TAKE_HEART), LEVEL_UP_END }; static const struct LevelUpMove sManaphyLevelUpLearnset[] = { - LEVEL_UP_MOVE( 1, MOVE_TAIL_GLOW), LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), + LEVEL_UP_MOVE( 1, MOVE_TAIL_GLOW), + LEVEL_UP_MOVE( 1, MOVE_HEART_SWAP), LEVEL_UP_MOVE( 9, MOVE_CHARM), LEVEL_UP_MOVE(16, MOVE_SUPERSONIC), LEVEL_UP_MOVE(24, MOVE_BUBBLE_BEAM), @@ -11536,19 +11386,18 @@ static const struct LevelUpMove sManaphyLevelUpLearnset[] = { LEVEL_UP_MOVE(54, MOVE_AQUA_RING), LEVEL_UP_MOVE(61, MOVE_DIVE), LEVEL_UP_MOVE(69, MOVE_RAIN_DANCE), - LEVEL_UP_MOVE(76, MOVE_HEART_SWAP), + LEVEL_UP_MOVE(76, MOVE_TAKE_HEART), LEVEL_UP_END }; #endif //P_FAMILY_MANAPHY #if P_FAMILY_DARKRAI static const struct LevelUpMove sDarkraiLevelUpLearnset[] = { - LEVEL_UP_MOVE( 1, MOVE_CONFUSE_RAY), LEVEL_UP_MOVE( 1, MOVE_DISABLE), LEVEL_UP_MOVE(11, MOVE_QUICK_ATTACK), LEVEL_UP_MOVE(20, MOVE_HYPNOSIS), LEVEL_UP_MOVE(29, MOVE_SUCKER_PUNCH), - LEVEL_UP_MOVE(38, MOVE_FOUL_PLAY), + LEVEL_UP_MOVE(38, MOVE_NIGHT_SHADE), LEVEL_UP_MOVE(47, MOVE_DOUBLE_TEAM), LEVEL_UP_MOVE(57, MOVE_HAZE), LEVEL_UP_MOVE(66, MOVE_DARK_VOID), @@ -11566,11 +11415,12 @@ static const struct LevelUpMove sShayminLandLevelUpLearnset[] = { LEVEL_UP_MOVE(19, MOVE_LEECH_SEED), LEVEL_UP_MOVE(28, MOVE_SYNTHESIS), LEVEL_UP_MOVE(37, MOVE_SWEET_SCENT), + LEVEL_UP_MOVE(46, MOVE_PLAY_ROUGH), LEVEL_UP_MOVE(55, MOVE_WORRY_SEED), - LEVEL_UP_MOVE(64, MOVE_AROMATHERAPY), - LEVEL_UP_MOVE(68, MOVE_HEALING_WISH), + LEVEL_UP_MOVE(64, MOVE_GRASSY_TERRAIN), LEVEL_UP_MOVE(73, MOVE_ENERGY_BALL), LEVEL_UP_MOVE(82, MOVE_SWEET_KISS), + LEVEL_UP_MOVE(91, MOVE_HEALING_WISH), LEVEL_UP_MOVE(100, MOVE_SEED_FLARE), LEVEL_UP_END }; @@ -11581,7 +11431,7 @@ static const struct LevelUpMove sShayminSkyLevelUpLearnset[] = { LEVEL_UP_MOVE(19, MOVE_LEECH_SEED), LEVEL_UP_MOVE(28, MOVE_QUICK_ATTACK), LEVEL_UP_MOVE(37, MOVE_SWEET_SCENT), - LEVEL_UP_MOVE(46, MOVE_HEALING_WISH), + LEVEL_UP_MOVE(46, MOVE_PLAY_ROUGH), LEVEL_UP_MOVE(55, MOVE_WORRY_SEED), LEVEL_UP_MOVE(64, MOVE_AIR_SLASH), LEVEL_UP_MOVE(73, MOVE_ENERGY_BALL), @@ -11641,60 +11491,51 @@ static const struct LevelUpMove sSnivyLevelUpLearnset[] = { LEVEL_UP_MOVE( 7, MOVE_VINE_WHIP), LEVEL_UP_MOVE(10, MOVE_WRAP), LEVEL_UP_MOVE(13, MOVE_GROWTH), - LEVEL_UP_MOVE(16, MOVE_LEAF_TORNADO), + LEVEL_UP_MOVE(16, MOVE_MAGICAL_LEAF), LEVEL_UP_MOVE(19, MOVE_LEECH_SEED), LEVEL_UP_MOVE(22, MOVE_MEGA_DRAIN), LEVEL_UP_MOVE(25, MOVE_SLAM), LEVEL_UP_MOVE(28, MOVE_LEAF_BLADE), LEVEL_UP_MOVE(31, MOVE_COIL), LEVEL_UP_MOVE(34, MOVE_GIGA_DRAIN), - LEVEL_UP_MOVE(37, MOVE_WRING_OUT), - LEVEL_UP_MOVE(40, MOVE_GASTRO_ACID), - LEVEL_UP_MOVE(43, MOVE_LEAF_STORM), + LEVEL_UP_MOVE(37, MOVE_GASTRO_ACID), + LEVEL_UP_MOVE(40, MOVE_LEAF_STORM), LEVEL_UP_END }; static const struct LevelUpMove sServineLevelUpLearnset[] = { - LEVEL_UP_MOVE( 1, MOVE_TACKLE), - LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 1, MOVE_VINE_WHIP), + LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_WRAP), - LEVEL_UP_MOVE( 4, MOVE_LEER), - LEVEL_UP_MOVE( 7, MOVE_VINE_WHIP), - LEVEL_UP_MOVE(10, MOVE_WRAP), + LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE(13, MOVE_GROWTH), - LEVEL_UP_MOVE(16, MOVE_LEAF_TORNADO), + LEVEL_UP_MOVE(16, MOVE_MAGICAL_LEAF), LEVEL_UP_MOVE(20, MOVE_LEECH_SEED), LEVEL_UP_MOVE(24, MOVE_MEGA_DRAIN), LEVEL_UP_MOVE(28, MOVE_SLAM), LEVEL_UP_MOVE(32, MOVE_LEAF_BLADE), LEVEL_UP_MOVE(36, MOVE_COIL), LEVEL_UP_MOVE(40, MOVE_GIGA_DRAIN), - LEVEL_UP_MOVE(44, MOVE_WRING_OUT), - LEVEL_UP_MOVE(48, MOVE_GASTRO_ACID), - LEVEL_UP_MOVE(52, MOVE_LEAF_STORM), + LEVEL_UP_MOVE(44, MOVE_GASTRO_ACID), + LEVEL_UP_MOVE(48, MOVE_LEAF_STORM), LEVEL_UP_END }; static const struct LevelUpMove sSerperiorLevelUpLearnset[] = { - LEVEL_UP_MOVE( 1, MOVE_TACKLE), - LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 1, MOVE_VINE_WHIP), + LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_WRAP), - LEVEL_UP_MOVE( 4, MOVE_LEER), - LEVEL_UP_MOVE( 7, MOVE_VINE_WHIP), - LEVEL_UP_MOVE(10, MOVE_WRAP), + LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE(13, MOVE_GROWTH), - LEVEL_UP_MOVE(16, MOVE_LEAF_TORNADO), + LEVEL_UP_MOVE(16, MOVE_MAGICAL_LEAF), LEVEL_UP_MOVE(20, MOVE_LEECH_SEED), LEVEL_UP_MOVE(24, MOVE_MEGA_DRAIN), LEVEL_UP_MOVE(28, MOVE_SLAM), LEVEL_UP_MOVE(32, MOVE_LEAF_BLADE), LEVEL_UP_MOVE(38, MOVE_COIL), LEVEL_UP_MOVE(44, MOVE_GIGA_DRAIN), - LEVEL_UP_MOVE(50, MOVE_WRING_OUT), - LEVEL_UP_MOVE(56, MOVE_GASTRO_ACID), - LEVEL_UP_MOVE(62, MOVE_LEAF_STORM), + LEVEL_UP_MOVE(50, MOVE_GASTRO_ACID), + LEVEL_UP_MOVE(56, MOVE_LEAF_STORM), LEVEL_UP_END }; #endif //P_FAMILY_SNIVY @@ -11704,7 +11545,7 @@ static const struct LevelUpMove sTepigLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 3, MOVE_TAIL_WHIP), LEVEL_UP_MOVE( 7, MOVE_EMBER), - LEVEL_UP_MOVE( 9, MOVE_ODOR_SLEUTH), + LEVEL_UP_MOVE( 9, MOVE_ENDURE), LEVEL_UP_MOVE(13, MOVE_DEFENSE_CURL), LEVEL_UP_MOVE(15, MOVE_FLAME_CHARGE), LEVEL_UP_MOVE(19, MOVE_SMOG), @@ -11721,14 +11562,10 @@ static const struct LevelUpMove sTepigLevelUpLearnset[] = { static const struct LevelUpMove sPigniteLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_ARM_THRUST), - LEVEL_UP_MOVE( 1, MOVE_ARM_THRUST), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), LEVEL_UP_MOVE( 1, MOVE_EMBER), - LEVEL_UP_MOVE( 1, MOVE_ODOR_SLEUTH), - LEVEL_UP_MOVE( 3, MOVE_TAIL_WHIP), - LEVEL_UP_MOVE( 7, MOVE_EMBER), - LEVEL_UP_MOVE( 9, MOVE_ODOR_SLEUTH), + LEVEL_UP_MOVE( 1, MOVE_ENDURE), LEVEL_UP_MOVE(13, MOVE_DEFENSE_CURL), LEVEL_UP_MOVE(15, MOVE_FLAME_CHARGE), LEVEL_UP_MOVE(20, MOVE_SMOG), @@ -11744,15 +11581,12 @@ static const struct LevelUpMove sPigniteLevelUpLearnset[] = { }; static const struct LevelUpMove sEmboarLevelUpLearnset[] = { - LEVEL_UP_MOVE( 1, MOVE_ARM_THRUST), + LEVEL_UP_MOVE( 1, MOVE_ENDURE), LEVEL_UP_MOVE( 1, MOVE_HAMMER_ARM), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), LEVEL_UP_MOVE( 1, MOVE_EMBER), - LEVEL_UP_MOVE( 1, MOVE_ODOR_SLEUTH), - LEVEL_UP_MOVE( 3, MOVE_TAIL_WHIP), - LEVEL_UP_MOVE( 7, MOVE_EMBER), - LEVEL_UP_MOVE( 9, MOVE_ODOR_SLEUTH), + LEVEL_UP_MOVE( 1, MOVE_ARM_THRUST), LEVEL_UP_MOVE(13, MOVE_DEFENSE_CURL), LEVEL_UP_MOVE(15, MOVE_FLAME_CHARGE), LEVEL_UP_MOVE(20, MOVE_SMOG), @@ -12188,35 +12022,28 @@ static const struct LevelUpMove sBlitzleLevelUpLearnset[] = { LEVEL_UP_MOVE(11, MOVE_SHOCK_WAVE), LEVEL_UP_MOVE(15, MOVE_THUNDER_WAVE), LEVEL_UP_MOVE(18, MOVE_FLAME_CHARGE), - LEVEL_UP_MOVE(22, MOVE_PURSUIT), - LEVEL_UP_MOVE(25, MOVE_SPARK), - LEVEL_UP_MOVE(29, MOVE_STOMP), - LEVEL_UP_MOVE(32, MOVE_DISCHARGE), - LEVEL_UP_MOVE(36, MOVE_AGILITY), - LEVEL_UP_MOVE(39, MOVE_WILD_CHARGE), - LEVEL_UP_MOVE(43, MOVE_THRASH), + LEVEL_UP_MOVE(22, MOVE_SPARK), + LEVEL_UP_MOVE(25, MOVE_STOMP), + LEVEL_UP_MOVE(29, MOVE_DISCHARGE), + LEVEL_UP_MOVE(33, MOVE_AGILITY), + LEVEL_UP_MOVE(35, MOVE_WILD_CHARGE), + LEVEL_UP_MOVE(40, MOVE_THRASH), LEVEL_UP_END }; static const struct LevelUpMove sZebstrikaLevelUpLearnset[] = { - LEVEL_UP_MOVE( 1, MOVE_ION_DELUGE), - LEVEL_UP_MOVE( 1, MOVE_QUICK_ATTACK), LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), - LEVEL_UP_MOVE( 1, MOVE_CHARGE), LEVEL_UP_MOVE( 1, MOVE_THUNDER_WAVE), - LEVEL_UP_MOVE( 4, MOVE_TAIL_WHIP), - LEVEL_UP_MOVE( 8, MOVE_CHARGE), + LEVEL_UP_MOVE( 1, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE( 1, MOVE_CHARGE), LEVEL_UP_MOVE(11, MOVE_SHOCK_WAVE), - LEVEL_UP_MOVE(15, MOVE_THUNDER_WAVE), LEVEL_UP_MOVE(18, MOVE_FLAME_CHARGE), - LEVEL_UP_MOVE(22, MOVE_PURSUIT), LEVEL_UP_MOVE(25, MOVE_SPARK), LEVEL_UP_MOVE(31, MOVE_STOMP), LEVEL_UP_MOVE(36, MOVE_DISCHARGE), LEVEL_UP_MOVE(42, MOVE_AGILITY), LEVEL_UP_MOVE(47, MOVE_WILD_CHARGE), LEVEL_UP_MOVE(53, MOVE_THRASH), - LEVEL_UP_MOVE(58, MOVE_ION_DELUGE), LEVEL_UP_END }; #endif //P_FAMILY_BLITZLE @@ -12334,10 +12161,9 @@ static const struct LevelUpMove sDrilburLevelUpLearnset[] = { static const struct LevelUpMove sExcadrillLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_HORN_DRILL), - LEVEL_UP_MOVE( 1, MOVE_HORN_DRILL), + LEVEL_UP_MOVE( 1, MOVE_SCRATCH), LEVEL_UP_MOVE( 1, MOVE_MUD_SLAP), LEVEL_UP_MOVE( 1, MOVE_RAPID_SPIN), - LEVEL_UP_MOVE( 1, MOVE_SCRATCH), LEVEL_UP_MOVE( 1, MOVE_HONE_CLAWS), LEVEL_UP_MOVE(12, MOVE_FURY_SWIPES), LEVEL_UP_MOVE(16, MOVE_METAL_CLAW), @@ -12545,25 +12371,25 @@ static const struct LevelUpMove sSewaddleLevelUpLearnset[] = { static const struct LevelUpMove sSwadloonLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_PROTECT), - LEVEL_UP_MOVE( 1, MOVE_PROTECT), - LEVEL_UP_MOVE( 1, MOVE_GRASS_WHISTLE), LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_RAZOR_LEAF), LEVEL_UP_MOVE( 1, MOVE_STRING_SHOT), LEVEL_UP_MOVE( 1, MOVE_BUG_BITE), - LEVEL_UP_MOVE( 1, MOVE_RAZOR_LEAF), + LEVEL_UP_MOVE(22, MOVE_STRUGGLE_BUG), + LEVEL_UP_MOVE(29, MOVE_ENDURE), + LEVEL_UP_MOVE(31, MOVE_STICKY_WEB), + LEVEL_UP_MOVE(36, MOVE_BUG_BUZZ), + LEVEL_UP_MOVE(43, MOVE_FLAIL), LEVEL_UP_END }; static const struct LevelUpMove sLeavannyLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_SLASH), - LEVEL_UP_MOVE( 1, MOVE_SLASH), - LEVEL_UP_MOVE( 1, MOVE_FALSE_SWIPE), - LEVEL_UP_MOVE( 1, MOVE_TACKLE), - LEVEL_UP_MOVE( 1, MOVE_STRING_SHOT), LEVEL_UP_MOVE( 1, MOVE_BUG_BITE), + LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_RAZOR_LEAF), - LEVEL_UP_MOVE( 8, MOVE_BUG_BITE), - LEVEL_UP_MOVE(15, MOVE_RAZOR_LEAF), + LEVEL_UP_MOVE( 1, MOVE_STRING_SHOT), + LEVEL_UP_MOVE( 1, MOVE_FALSE_SWIPE), LEVEL_UP_MOVE(22, MOVE_STRUGGLE_BUG), LEVEL_UP_MOVE(29, MOVE_FELL_STINGER), LEVEL_UP_MOVE(32, MOVE_HELPING_HAND), @@ -12636,8 +12462,8 @@ static const struct LevelUpMove sScolipedeLevelUpLearnset[] = { #if P_FAMILY_COTTONEE static const struct LevelUpMove sCottoneeLevelUpLearnset[] = { - LEVEL_UP_MOVE( 1, MOVE_ABSORB), LEVEL_UP_MOVE( 1, MOVE_HELPING_HAND), + LEVEL_UP_MOVE( 1, MOVE_ABSORB), LEVEL_UP_MOVE( 3, MOVE_FAIRY_WIND), LEVEL_UP_MOVE( 6, MOVE_STUN_SPORE), LEVEL_UP_MOVE(12, MOVE_MEGA_DRAIN), @@ -12657,28 +12483,28 @@ static const struct LevelUpMove sCottoneeLevelUpLearnset[] = { }; static const struct LevelUpMove sWhimsicottLevelUpLearnset[] = { - LEVEL_UP_MOVE( 1, MOVE_GUST), - LEVEL_UP_MOVE( 1, MOVE_TAILWIND), LEVEL_UP_MOVE( 1, MOVE_MOONBLAST), - LEVEL_UP_MOVE( 1, MOVE_MEMENTO), LEVEL_UP_MOVE( 1, MOVE_HURRICANE), - LEVEL_UP_MOVE( 1, MOVE_MEGA_DRAIN), - LEVEL_UP_MOVE( 1, MOVE_RAZOR_LEAF), - LEVEL_UP_MOVE( 1, MOVE_GROWTH), - LEVEL_UP_MOVE( 1, MOVE_POISON_POWDER), - LEVEL_UP_MOVE( 1, MOVE_GIGA_DRAIN), - LEVEL_UP_MOVE( 1, MOVE_CHARM), - LEVEL_UP_MOVE( 1, MOVE_LEECH_SEED), - LEVEL_UP_MOVE( 1, MOVE_COTTON_SPORE), + LEVEL_UP_MOVE( 1, MOVE_COTTON_GUARD), LEVEL_UP_MOVE( 1, MOVE_ENERGY_BALL), - LEVEL_UP_MOVE( 1, MOVE_SUNNY_DAY), + LEVEL_UP_MOVE( 1, MOVE_TAILWIND), LEVEL_UP_MOVE( 1, MOVE_ENDEAVOR), - LEVEL_UP_MOVE( 1, MOVE_COTTON_GUARD), + LEVEL_UP_MOVE( 1, MOVE_HELPING_HAND), + LEVEL_UP_MOVE( 1, MOVE_MEMENTO), + LEVEL_UP_MOVE( 1, MOVE_SUNNY_DAY), + LEVEL_UP_MOVE( 1, MOVE_CHARM), + LEVEL_UP_MOVE( 1, MOVE_GIGA_DRAIN), + LEVEL_UP_MOVE( 1, MOVE_COTTON_SPORE), + LEVEL_UP_MOVE( 1, MOVE_STUN_SPORE), + LEVEL_UP_MOVE( 1, MOVE_POISON_POWDER), LEVEL_UP_MOVE( 1, MOVE_SOLAR_BEAM), + LEVEL_UP_MOVE( 1, MOVE_RAZOR_LEAF), + LEVEL_UP_MOVE( 1, MOVE_GROWTH), + LEVEL_UP_MOVE( 1, MOVE_LEECH_SEED), + LEVEL_UP_MOVE( 1, MOVE_MEGA_DRAIN), LEVEL_UP_MOVE( 1, MOVE_ABSORB), - LEVEL_UP_MOVE( 1, MOVE_HELPING_HAND), LEVEL_UP_MOVE( 1, MOVE_FAIRY_WIND), - LEVEL_UP_MOVE( 1, MOVE_STUN_SPORE), + LEVEL_UP_MOVE( 1, MOVE_GUST), LEVEL_UP_END }; #endif //P_FAMILY_COTTONEE @@ -13030,13 +12856,13 @@ static const struct LevelUpMove sCrustleLevelUpLearnset[] = { #if P_FAMILY_SCRAGGY static const struct LevelUpMove sScraggyLevelUpLearnset[] = { - LEVEL_UP_MOVE( 1, MOVE_LOW_KICK), LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 1, MOVE_LOW_KICK), LEVEL_UP_MOVE( 4, MOVE_PAYBACK), LEVEL_UP_MOVE( 8, MOVE_HEADBUTT), LEVEL_UP_MOVE(12, MOVE_SAND_ATTACK), LEVEL_UP_MOVE(16, MOVE_FACADE), - LEVEL_UP_MOVE(20, MOVE_PROTECT), + LEVEL_UP_MOVE(20, MOVE_TORMENT), LEVEL_UP_MOVE(24, MOVE_BEAT_UP), LEVEL_UP_MOVE(28, MOVE_SCARY_FACE), LEVEL_UP_MOVE(32, MOVE_BRICK_BREAK), @@ -13049,13 +12875,13 @@ static const struct LevelUpMove sScraggyLevelUpLearnset[] = { }; static const struct LevelUpMove sScraftyLevelUpLearnset[] = { - LEVEL_UP_MOVE( 1, MOVE_LOW_KICK), + LEVEL_UP_MOVE( 1, MOVE_HEADBUTT), LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 1, MOVE_LOW_KICK), LEVEL_UP_MOVE( 1, MOVE_PAYBACK), - LEVEL_UP_MOVE( 1, MOVE_HEADBUTT), LEVEL_UP_MOVE(12, MOVE_SAND_ATTACK), LEVEL_UP_MOVE(16, MOVE_FACADE), - LEVEL_UP_MOVE(20, MOVE_PROTECT), + LEVEL_UP_MOVE(20, MOVE_TORMENT), LEVEL_UP_MOVE(24, MOVE_BEAT_UP), LEVEL_UP_MOVE(28, MOVE_SCARY_FACE), LEVEL_UP_MOVE(32, MOVE_BRICK_BREAK), @@ -13361,7 +13187,6 @@ static const struct LevelUpMove sZoruaHisuianLevelUpLearnset[] = { LEVEL_UP_MOVE(16, MOVE_CURSE), LEVEL_UP_MOVE(20, MOVE_TAUNT), LEVEL_UP_MOVE(24, MOVE_KNOCK_OFF), - LEVEL_UP_MOVE(28, MOVE_SPITE), LEVEL_UP_MOVE(32, MOVE_AGILITY), LEVEL_UP_MOVE(36, MOVE_SHADOW_BALL), LEVEL_UP_MOVE(40, MOVE_BITTER_MALICE), @@ -13412,22 +13237,22 @@ static const struct LevelUpMove sMinccinoLevelUpLearnset[] = { }; static const struct LevelUpMove sCinccinoLevelUpLearnset[] = { - LEVEL_UP_MOVE( 1, MOVE_BULLET_SEED), - LEVEL_UP_MOVE( 1, MOVE_ROCK_BLAST), - LEVEL_UP_MOVE( 1, MOVE_SING), - LEVEL_UP_MOVE( 1, MOVE_CHARM), + LEVEL_UP_MOVE( 0, MOVE_TAIL_SLAP), + LEVEL_UP_MOVE( 1, MOVE_SLAM), LEVEL_UP_MOVE( 1, MOVE_SWIFT), LEVEL_UP_MOVE( 1, MOVE_ENCORE), - LEVEL_UP_MOVE( 1, MOVE_AFTER_YOU), - LEVEL_UP_MOVE( 1, MOVE_TAIL_SLAP), - LEVEL_UP_MOVE( 1, MOVE_TICKLE), - LEVEL_UP_MOVE( 1, MOVE_SLAM), + LEVEL_UP_MOVE( 1, MOVE_HELPING_HAND), LEVEL_UP_MOVE( 1, MOVE_HYPER_VOICE), + LEVEL_UP_MOVE( 1, MOVE_TICKLE), + LEVEL_UP_MOVE( 1, MOVE_ROCK_BLAST), LEVEL_UP_MOVE( 1, MOVE_LAST_RESORT), - LEVEL_UP_MOVE( 1, MOVE_POUND), - LEVEL_UP_MOVE( 1, MOVE_BABY_DOLL_EYES), - LEVEL_UP_MOVE( 1, MOVE_HELPING_HAND), + LEVEL_UP_MOVE( 1, MOVE_AFTER_YOU), LEVEL_UP_MOVE( 1, MOVE_ECHOED_VOICE), + LEVEL_UP_MOVE( 1, MOVE_BABY_DOLL_EYES), + LEVEL_UP_MOVE( 1, MOVE_POUND), + LEVEL_UP_MOVE( 1, MOVE_SING), + LEVEL_UP_MOVE( 1, MOVE_CHARM), + LEVEL_UP_MOVE( 1, MOVE_BULLET_SEED), LEVEL_UP_END }; #endif //P_FAMILY_MINCCINO @@ -13489,8 +13314,8 @@ static const struct LevelUpMove sGothitelleLevelUpLearnset[] = { #if P_FAMILY_SOLOSIS static const struct LevelUpMove sSolosisLevelUpLearnset[] = { - LEVEL_UP_MOVE( 1, MOVE_PROTECT), LEVEL_UP_MOVE( 1, MOVE_CONFUSION), + LEVEL_UP_MOVE( 1, MOVE_PROTECT), LEVEL_UP_MOVE( 4, MOVE_RECOVER), LEVEL_UP_MOVE( 8, MOVE_ENDEAVOR), LEVEL_UP_MOVE(12, MOVE_PSYBEAM), @@ -13508,9 +13333,9 @@ static const struct LevelUpMove sSolosisLevelUpLearnset[] = { }; static const struct LevelUpMove sDuosionLevelUpLearnset[] = { - LEVEL_UP_MOVE( 1, MOVE_PROTECT), LEVEL_UP_MOVE( 1, MOVE_CONFUSION), LEVEL_UP_MOVE( 1, MOVE_RECOVER), + LEVEL_UP_MOVE( 1, MOVE_PROTECT), LEVEL_UP_MOVE( 1, MOVE_ENDEAVOR), LEVEL_UP_MOVE(12, MOVE_PSYBEAM), LEVEL_UP_MOVE(16, MOVE_CHARM), @@ -13528,10 +13353,9 @@ static const struct LevelUpMove sDuosionLevelUpLearnset[] = { static const struct LevelUpMove sReuniclusLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_HAMMER_ARM), - LEVEL_UP_MOVE( 1, MOVE_HAMMER_ARM), - LEVEL_UP_MOVE( 1, MOVE_PROTECT), LEVEL_UP_MOVE( 1, MOVE_CONFUSION), LEVEL_UP_MOVE( 1, MOVE_RECOVER), + LEVEL_UP_MOVE( 1, MOVE_PROTECT), LEVEL_UP_MOVE( 1, MOVE_ENDEAVOR), LEVEL_UP_MOVE(12, MOVE_PSYBEAM), LEVEL_UP_MOVE(16, MOVE_CHARM), @@ -13551,7 +13375,6 @@ static const struct LevelUpMove sReuniclusLevelUpLearnset[] = { #if P_FAMILY_DUCKLETT static const struct LevelUpMove sDucklettLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), - LEVEL_UP_MOVE( 3, MOVE_WATER_SPORT), LEVEL_UP_MOVE( 6, MOVE_DEFOG), LEVEL_UP_MOVE( 9, MOVE_WING_ATTACK), LEVEL_UP_MOVE(13, MOVE_WATER_PULSE), @@ -13569,13 +13392,9 @@ static const struct LevelUpMove sDucklettLevelUpLearnset[] = { }; static const struct LevelUpMove sSwannaLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_WING_ATTACK), LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), - LEVEL_UP_MOVE( 1, MOVE_WATER_SPORT), LEVEL_UP_MOVE( 1, MOVE_DEFOG), - LEVEL_UP_MOVE( 1, MOVE_WING_ATTACK), - LEVEL_UP_MOVE( 3, MOVE_WATER_SPORT), - LEVEL_UP_MOVE( 6, MOVE_DEFOG), - LEVEL_UP_MOVE( 9, MOVE_WING_ATTACK), LEVEL_UP_MOVE(13, MOVE_WATER_PULSE), LEVEL_UP_MOVE(15, MOVE_AERIAL_ACE), LEVEL_UP_MOVE(19, MOVE_BUBBLE_BEAM), @@ -13869,11 +13688,10 @@ static const struct LevelUpMove sJoltikLevelUpLearnset[] = { static const struct LevelUpMove sGalvantulaLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_STICKY_WEB), - LEVEL_UP_MOVE( 1, MOVE_STICKY_WEB), LEVEL_UP_MOVE( 1, MOVE_ABSORB), LEVEL_UP_MOVE( 1, MOVE_FURY_CUTTER), - LEVEL_UP_MOVE( 1, MOVE_ELECTROWEB), LEVEL_UP_MOVE( 1, MOVE_BUG_BITE), + LEVEL_UP_MOVE( 1, MOVE_ELECTROWEB), LEVEL_UP_MOVE(12, MOVE_STRING_SHOT), LEVEL_UP_MOVE(16, MOVE_THUNDER_WAVE), LEVEL_UP_MOVE(20, MOVE_ELECTRO_BALL), @@ -14065,8 +13883,8 @@ static const struct LevelUpMove sBeheeyemLevelUpLearnset[] = { #if P_FAMILY_LITWICK static const struct LevelUpMove sLitwickLevelUpLearnset[] = { - LEVEL_UP_MOVE( 1, MOVE_ASTONISH), LEVEL_UP_MOVE( 1, MOVE_SMOG), + LEVEL_UP_MOVE( 1, MOVE_ASTONISH), LEVEL_UP_MOVE( 4, MOVE_EMBER), LEVEL_UP_MOVE( 8, MOVE_MINIMIZE), LEVEL_UP_MOVE(12, MOVE_CONFUSE_RAY), @@ -14085,10 +13903,10 @@ static const struct LevelUpMove sLitwickLevelUpLearnset[] = { }; static const struct LevelUpMove sLampentLevelUpLearnset[] = { - LEVEL_UP_MOVE( 1, MOVE_ASTONISH), - LEVEL_UP_MOVE( 1, MOVE_SMOG), LEVEL_UP_MOVE( 1, MOVE_EMBER), LEVEL_UP_MOVE( 1, MOVE_MINIMIZE), + LEVEL_UP_MOVE( 1, MOVE_SMOG), + LEVEL_UP_MOVE( 1, MOVE_ASTONISH), LEVEL_UP_MOVE(12, MOVE_CONFUSE_RAY), LEVEL_UP_MOVE(16, MOVE_HEX), LEVEL_UP_MOVE(20, MOVE_WILL_O_WISP), @@ -14105,22 +13923,22 @@ static const struct LevelUpMove sLampentLevelUpLearnset[] = { }; static const struct LevelUpMove sChandelureLevelUpLearnset[] = { - LEVEL_UP_MOVE( 1, MOVE_CONFUSE_RAY), - LEVEL_UP_MOVE( 1, MOVE_HEX), - LEVEL_UP_MOVE( 1, MOVE_WILL_O_WISP), + LEVEL_UP_MOVE( 1, MOVE_EMBER), LEVEL_UP_MOVE( 1, MOVE_FIRE_SPIN), LEVEL_UP_MOVE( 1, MOVE_NIGHT_SHADE), + LEVEL_UP_MOVE( 1, MOVE_MINIMIZE), + LEVEL_UP_MOVE( 1, MOVE_CONFUSE_RAY), + LEVEL_UP_MOVE( 1, MOVE_SMOG), LEVEL_UP_MOVE( 1, MOVE_CURSE), - LEVEL_UP_MOVE( 1, MOVE_SHADOW_BALL), - LEVEL_UP_MOVE( 1, MOVE_INFERNO), - LEVEL_UP_MOVE( 1, MOVE_IMPRISON), LEVEL_UP_MOVE( 1, MOVE_PAIN_SPLIT), - LEVEL_UP_MOVE( 1, MOVE_OVERHEAT), + LEVEL_UP_MOVE( 1, MOVE_SHADOW_BALL), + LEVEL_UP_MOVE( 1, MOVE_WILL_O_WISP), LEVEL_UP_MOVE( 1, MOVE_MEMENTO), + LEVEL_UP_MOVE( 1, MOVE_IMPRISON), LEVEL_UP_MOVE( 1, MOVE_ASTONISH), - LEVEL_UP_MOVE( 1, MOVE_SMOG), - LEVEL_UP_MOVE( 1, MOVE_EMBER), - LEVEL_UP_MOVE( 1, MOVE_MINIMIZE), + LEVEL_UP_MOVE( 1, MOVE_OVERHEAT), + LEVEL_UP_MOVE( 1, MOVE_HEX), + LEVEL_UP_MOVE( 1, MOVE_INFERNO), LEVEL_UP_END }; #endif //P_FAMILY_LITWICK @@ -14372,11 +14190,11 @@ static const struct LevelUpMove sMienfooLevelUpLearnset[] = { }; static const struct LevelUpMove sMienshaoLevelUpLearnset[] = { - LEVEL_UP_MOVE( 1, MOVE_QUICK_GUARD), LEVEL_UP_MOVE( 1, MOVE_POUND), + LEVEL_UP_MOVE( 1, MOVE_REVERSAL), LEVEL_UP_MOVE( 1, MOVE_DETECT), LEVEL_UP_MOVE( 1, MOVE_FAKE_OUT), - LEVEL_UP_MOVE( 1, MOVE_REVERSAL), + LEVEL_UP_MOVE( 1, MOVE_QUICK_GUARD), LEVEL_UP_MOVE(15, MOVE_FURY_SWIPES), LEVEL_UP_MOVE(20, MOVE_WIDE_GUARD), LEVEL_UP_MOVE(25, MOVE_FORCE_PALM), @@ -14432,12 +14250,12 @@ static const struct LevelUpMove sGolettLevelUpLearnset[] = { }; static const struct LevelUpMove sGolurkLevelUpLearnset[] = { - LEVEL_UP_MOVE( 1, MOVE_HIGH_HORSEPOWER), - LEVEL_UP_MOVE( 1, MOVE_FOCUS_PUNCH), LEVEL_UP_MOVE( 1, MOVE_MUD_SLAP), - LEVEL_UP_MOVE( 1, MOVE_ASTONISH), - LEVEL_UP_MOVE( 1, MOVE_DEFENSE_CURL), + LEVEL_UP_MOVE( 1, MOVE_FOCUS_PUNCH), LEVEL_UP_MOVE( 1, MOVE_POUND), + LEVEL_UP_MOVE( 1, MOVE_DEFENSE_CURL), + LEVEL_UP_MOVE( 1, MOVE_ASTONISH), + LEVEL_UP_MOVE( 1, MOVE_HIGH_HORSEPOWER), LEVEL_UP_MOVE(12, MOVE_SHADOW_PUNCH), LEVEL_UP_MOVE(16, MOVE_CURSE), LEVEL_UP_MOVE(20, MOVE_NIGHT_SHADE), @@ -14620,13 +14438,12 @@ static const struct LevelUpMove sVullabyLevelUpLearnset[] = { static const struct LevelUpMove sMandibuzzLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_BONE_RUSH), - LEVEL_UP_MOVE( 1, MOVE_BONE_RUSH), - LEVEL_UP_MOVE( 1, MOVE_SKY_ATTACK), - LEVEL_UP_MOVE( 1, MOVE_TOXIC), LEVEL_UP_MOVE( 1, MOVE_GUST), LEVEL_UP_MOVE( 1, MOVE_LEER), - LEVEL_UP_MOVE( 1, MOVE_FLATTER), + LEVEL_UP_MOVE( 1, MOVE_TOXIC), + LEVEL_UP_MOVE( 1, MOVE_SKY_ATTACK), LEVEL_UP_MOVE( 1, MOVE_PLUCK), + LEVEL_UP_MOVE( 1, MOVE_FLATTER), LEVEL_UP_MOVE(18, MOVE_TAILWIND), LEVEL_UP_MOVE(24, MOVE_KNOCK_OFF), LEVEL_UP_MOVE(30, MOVE_IRON_DEFENSE), @@ -14761,7 +14578,6 @@ static const struct LevelUpMove sLarvestaLevelUpLearnset[] = { LEVEL_UP_MOVE( 6, MOVE_FLAME_CHARGE), LEVEL_UP_MOVE(12, MOVE_STRUGGLE_BUG), LEVEL_UP_MOVE(18, MOVE_FLAME_WHEEL), - LEVEL_UP_MOVE(24, MOVE_BUG_BITE), LEVEL_UP_MOVE(30, MOVE_SCREECH), LEVEL_UP_MOVE(36, MOVE_LEECH_LIFE), LEVEL_UP_MOVE(42, MOVE_BUG_BUZZ), @@ -14801,8 +14617,8 @@ static const struct LevelUpMove sVolcaronaLevelUpLearnset[] = { #if P_FAMILY_COBALION static const struct LevelUpMove sCobalionLevelUpLearnset[] = { - LEVEL_UP_MOVE( 1, MOVE_QUICK_ATTACK), LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 1, MOVE_QUICK_ATTACK), LEVEL_UP_MOVE( 1, MOVE_HELPING_HAND), LEVEL_UP_MOVE( 1, MOVE_WORK_UP), LEVEL_UP_MOVE( 7, MOVE_METAL_CLAW), @@ -14821,8 +14637,8 @@ static const struct LevelUpMove sCobalionLevelUpLearnset[] = { #if P_FAMILY_TERRAKION static const struct LevelUpMove sTerrakionLevelUpLearnset[] = { - LEVEL_UP_MOVE( 1, MOVE_QUICK_ATTACK), LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 1, MOVE_QUICK_ATTACK), LEVEL_UP_MOVE( 1, MOVE_HELPING_HAND), LEVEL_UP_MOVE( 1, MOVE_WORK_UP), LEVEL_UP_MOVE( 7, MOVE_SMACK_DOWN), @@ -14841,8 +14657,9 @@ static const struct LevelUpMove sTerrakionLevelUpLearnset[] = { #if P_FAMILY_VIRIZION static const struct LevelUpMove sVirizionLevelUpLearnset[] = { - LEVEL_UP_MOVE( 1, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE( 1, MOVE_TAKE_DOWN), LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 1, MOVE_QUICK_ATTACK), LEVEL_UP_MOVE( 1, MOVE_HELPING_HAND), LEVEL_UP_MOVE( 1, MOVE_WORK_UP), LEVEL_UP_MOVE( 7, MOVE_MAGICAL_LEAF), @@ -14850,7 +14667,7 @@ static const struct LevelUpMove sVirizionLevelUpLearnset[] = { LEVEL_UP_MOVE(21, MOVE_DOUBLE_KICK), LEVEL_UP_MOVE(28, MOVE_RETALIATE), LEVEL_UP_MOVE(35, MOVE_GIGA_DRAIN), - LEVEL_UP_MOVE(42, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE(42, MOVE_SYNTHESIS), LEVEL_UP_MOVE(49, MOVE_SACRED_SWORD), LEVEL_UP_MOVE(56, MOVE_SWORDS_DANCE), LEVEL_UP_MOVE(63, MOVE_LEAF_BLADE), @@ -14908,9 +14725,9 @@ static const struct LevelUpMove sThundurusLevelUpLearnset[] = { #if P_FAMILY_RESHIRAM static const struct LevelUpMove sReshiramLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_DRAGON_BREATH), - LEVEL_UP_MOVE( 1, MOVE_NOBLE_ROAR), LEVEL_UP_MOVE( 1, MOVE_ANCIENT_POWER), LEVEL_UP_MOVE( 1, MOVE_FIRE_FANG), + LEVEL_UP_MOVE( 1, MOVE_NOBLE_ROAR), LEVEL_UP_MOVE( 8, MOVE_SLASH), LEVEL_UP_MOVE(16, MOVE_CRUNCH), LEVEL_UP_MOVE(24, MOVE_EXTRASENSORY), @@ -14929,9 +14746,9 @@ static const struct LevelUpMove sReshiramLevelUpLearnset[] = { #if P_FAMILY_ZEKROM static const struct LevelUpMove sZekromLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_DRAGON_BREATH), - LEVEL_UP_MOVE( 1, MOVE_NOBLE_ROAR), LEVEL_UP_MOVE( 1, MOVE_ANCIENT_POWER), LEVEL_UP_MOVE( 1, MOVE_THUNDER_FANG), + LEVEL_UP_MOVE( 1, MOVE_NOBLE_ROAR), LEVEL_UP_MOVE( 8, MOVE_SLASH), LEVEL_UP_MOVE(16, MOVE_CRUNCH), LEVEL_UP_MOVE(24, MOVE_ZEN_HEADBUTT), @@ -14973,8 +14790,8 @@ static const struct LevelUpMove sLandorusLevelUpLearnset[] = { #if P_FAMILY_KYUREM static const struct LevelUpMove sKyuremLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_DRAGON_BREATH), - LEVEL_UP_MOVE( 1, MOVE_NOBLE_ROAR), LEVEL_UP_MOVE( 1, MOVE_ANCIENT_POWER), + LEVEL_UP_MOVE( 1, MOVE_NOBLE_ROAR), LEVEL_UP_MOVE( 1, MOVE_FREEZE_DRY), LEVEL_UP_MOVE( 8, MOVE_SLASH), LEVEL_UP_MOVE(16, MOVE_ENDEAVOR), @@ -14993,8 +14810,8 @@ static const struct LevelUpMove sKyuremLevelUpLearnset[] = { #if P_FUSION_FORMS static const struct LevelUpMove sKyuremWhiteLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_DRAGON_BREATH), - LEVEL_UP_MOVE( 1, MOVE_NOBLE_ROAR), LEVEL_UP_MOVE( 1, MOVE_ANCIENT_POWER), + LEVEL_UP_MOVE( 1, MOVE_NOBLE_ROAR), LEVEL_UP_MOVE( 1, MOVE_FREEZE_DRY), LEVEL_UP_MOVE( 8, MOVE_SLASH), LEVEL_UP_MOVE(16, MOVE_ENDEAVOR), @@ -15014,8 +14831,8 @@ static const struct LevelUpMove sKyuremWhiteLevelUpLearnset[] = { #if P_FUSION_FORMS static const struct LevelUpMove sKyuremBlackLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_DRAGON_BREATH), - LEVEL_UP_MOVE( 1, MOVE_NOBLE_ROAR), LEVEL_UP_MOVE( 1, MOVE_ANCIENT_POWER), + LEVEL_UP_MOVE( 1, MOVE_NOBLE_ROAR), LEVEL_UP_MOVE( 1, MOVE_FREEZE_DRY), LEVEL_UP_MOVE( 8, MOVE_SLASH), LEVEL_UP_MOVE(16, MOVE_ENDEAVOR), @@ -15035,11 +14852,11 @@ static const struct LevelUpMove sKyuremBlackLevelUpLearnset[] = { #if P_FAMILY_KELDEO static const struct LevelUpMove sKeldeoLevelUpLearnset[] = { - LEVEL_UP_MOVE( 1, MOVE_SECRET_SWORD), - LEVEL_UP_MOVE( 1, MOVE_AQUA_JET), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 1, MOVE_HELPING_HAND), + LEVEL_UP_MOVE( 1, MOVE_AQUA_JET), LEVEL_UP_MOVE( 1, MOVE_WORK_UP), + LEVEL_UP_MOVE( 1, MOVE_SECRET_SWORD), LEVEL_UP_MOVE( 7, MOVE_BUBBLE_BEAM), LEVEL_UP_MOVE(14, MOVE_QUICK_GUARD), LEVEL_UP_MOVE(21, MOVE_DOUBLE_KICK), @@ -15497,6 +15314,7 @@ static const struct LevelUpMove sFloetteEternalFlowerLevelUpLearnset[] = { LEVEL_UP_MOVE(38, MOVE_SYNTHESIS), LEVEL_UP_MOVE(43, MOVE_MISTY_TERRAIN), LEVEL_UP_MOVE(46, MOVE_MOONBLAST), + LEVEL_UP_MOVE(50, MOVE_LIGHT_OF_RUIN), LEVEL_UP_MOVE(51, MOVE_PETAL_DANCE), LEVEL_UP_MOVE(58, MOVE_SOLAR_BEAM), LEVEL_UP_END @@ -15638,10 +15456,10 @@ static const struct LevelUpMove sEspurrLevelUpLearnset[] = { static const struct LevelUpMove sMeowsticMaleLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_MEAN_LOOK), + LEVEL_UP_MOVE( 1, MOVE_DISARMING_VOICE), + LEVEL_UP_MOVE( 1, MOVE_FAKE_OUT), LEVEL_UP_MOVE( 1, MOVE_SCRATCH), LEVEL_UP_MOVE( 1, MOVE_LEER), - LEVEL_UP_MOVE( 1, MOVE_FAKE_OUT), - LEVEL_UP_MOVE( 1, MOVE_DISARMING_VOICE), LEVEL_UP_MOVE( 9, MOVE_CONFUSION), LEVEL_UP_MOVE(12, MOVE_HELPING_HAND), LEVEL_UP_MOVE(15, MOVE_CHARM), @@ -15661,10 +15479,10 @@ static const struct LevelUpMove sMeowsticMaleLevelUpLearnset[] = { static const struct LevelUpMove sMeowsticFemaleLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_MAGICAL_LEAF), - LEVEL_UP_MOVE( 1, MOVE_SCRATCH), - LEVEL_UP_MOVE( 1, MOVE_LEER), - LEVEL_UP_MOVE( 1, MOVE_FAKE_OUT), LEVEL_UP_MOVE( 1, MOVE_DISARMING_VOICE), + LEVEL_UP_MOVE( 1, MOVE_FAKE_OUT), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 1, MOVE_SCRATCH), LEVEL_UP_MOVE( 9, MOVE_CONFUSION), LEVEL_UP_MOVE(12, MOVE_STORED_POWER), LEVEL_UP_MOVE(15, MOVE_CHARGE_BEAM), @@ -15827,8 +15645,8 @@ static const struct LevelUpMove sSlurpuffLevelUpLearnset[] = { #if P_FAMILY_INKAY static const struct LevelUpMove sInkayLevelUpLearnset[] = { - LEVEL_UP_MOVE( 1, MOVE_PECK), LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_PECK), LEVEL_UP_MOVE( 3, MOVE_HYPNOSIS), LEVEL_UP_MOVE( 6, MOVE_WRAP), LEVEL_UP_MOVE( 9, MOVE_PAYBACK), @@ -15846,11 +15664,11 @@ static const struct LevelUpMove sInkayLevelUpLearnset[] = { }; static const struct LevelUpMove sMalamarLevelUpLearnset[] = { - LEVEL_UP_MOVE( 1, MOVE_REVERSAL), - LEVEL_UP_MOVE( 1, MOVE_PECK), LEVEL_UP_MOVE( 1, MOVE_TACKLE), - LEVEL_UP_MOVE( 1, MOVE_HYPNOSIS), LEVEL_UP_MOVE( 1, MOVE_WRAP), + LEVEL_UP_MOVE( 1, MOVE_PECK), + LEVEL_UP_MOVE( 1, MOVE_HYPNOSIS), + LEVEL_UP_MOVE( 1, MOVE_REVERSAL), LEVEL_UP_MOVE( 9, MOVE_PAYBACK), LEVEL_UP_MOVE(12, MOVE_PLUCK), LEVEL_UP_MOVE(15, MOVE_PSYBEAM), @@ -16285,8 +16103,8 @@ static const struct LevelUpMove sKlefkiLevelUpLearnset[] = { #if P_FAMILY_PHANTUMP static const struct LevelUpMove sPhantumpLevelUpLearnset[] = { - LEVEL_UP_MOVE( 1, MOVE_ASTONISH), LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_ASTONISH), LEVEL_UP_MOVE( 4, MOVE_BRANCH_POKE), LEVEL_UP_MOVE( 8, MOVE_LEECH_SEED), LEVEL_UP_MOVE(12, MOVE_CONFUSE_RAY), @@ -16305,11 +16123,10 @@ static const struct LevelUpMove sPhantumpLevelUpLearnset[] = { static const struct LevelUpMove sTrevenantLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_SHADOW_CLAW), - LEVEL_UP_MOVE( 1, MOVE_SHADOW_CLAW), - LEVEL_UP_MOVE( 1, MOVE_ASTONISH), LEVEL_UP_MOVE( 1, MOVE_TACKLE), - LEVEL_UP_MOVE( 1, MOVE_BRANCH_POKE), LEVEL_UP_MOVE( 1, MOVE_LEECH_SEED), + LEVEL_UP_MOVE( 1, MOVE_ASTONISH), + LEVEL_UP_MOVE( 1, MOVE_BRANCH_POKE), LEVEL_UP_MOVE(12, MOVE_CONFUSE_RAY), LEVEL_UP_MOVE(16, MOVE_WILL_O_WISP), LEVEL_UP_MOVE(20, MOVE_HEX), @@ -16765,14 +16582,13 @@ static const struct LevelUpMove sTorracatLevelUpLearnset[] = { static const struct LevelUpMove sIncineroarLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_DARKEST_LARIAT), - LEVEL_UP_MOVE( 1, MOVE_DARKEST_LARIAT), - LEVEL_UP_MOVE( 1, MOVE_CROSS_CHOP), - LEVEL_UP_MOVE( 1, MOVE_THROAT_CHOP), - LEVEL_UP_MOVE( 1, MOVE_BULK_UP), LEVEL_UP_MOVE( 1, MOVE_SCRATCH), LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 1, MOVE_THROAT_CHOP), LEVEL_UP_MOVE( 1, MOVE_EMBER), LEVEL_UP_MOVE( 1, MOVE_LICK), + LEVEL_UP_MOVE( 1, MOVE_CROSS_CHOP), + LEVEL_UP_MOVE( 1, MOVE_BULK_UP), LEVEL_UP_MOVE( 9, MOVE_ROAR), LEVEL_UP_MOVE(12, MOVE_FURY_SWIPES), LEVEL_UP_MOVE(15, MOVE_BITE), @@ -16826,7 +16642,6 @@ static const struct LevelUpMove sBrionneLevelUpLearnset[] = { static const struct LevelUpMove sPrimarinaLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_SPARKLING_ARIA), - LEVEL_UP_MOVE( 1, MOVE_SPARKLING_ARIA), LEVEL_UP_MOVE( 1, MOVE_POUND), LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), @@ -16864,14 +16679,11 @@ static const struct LevelUpMove sPikipekLevelUpLearnset[] = { }; static const struct LevelUpMove sTrumbeakLevelUpLearnset[] = { - LEVEL_UP_MOVE( 1, MOVE_ROCK_BLAST), - LEVEL_UP_MOVE( 1, MOVE_PECK), - LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 1, MOVE_ECHOED_VOICE), + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 1, MOVE_PECK), LEVEL_UP_MOVE( 1, MOVE_ROCK_SMASH), - LEVEL_UP_MOVE( 3, MOVE_GROWL), - LEVEL_UP_MOVE( 7, MOVE_ECHOED_VOICE), - LEVEL_UP_MOVE( 9, MOVE_ROCK_SMASH), + LEVEL_UP_MOVE( 1, MOVE_ROCK_BLAST), LEVEL_UP_MOVE(13, MOVE_SUPERSONIC), LEVEL_UP_MOVE(16, MOVE_PLUCK), LEVEL_UP_MOVE(21, MOVE_ROOST), @@ -16886,15 +16698,11 @@ static const struct LevelUpMove sTrumbeakLevelUpLearnset[] = { static const struct LevelUpMove sToucannonLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_BEAK_BLAST), - LEVEL_UP_MOVE( 1, MOVE_BEAK_BLAST), - LEVEL_UP_MOVE( 1, MOVE_ROCK_BLAST), - LEVEL_UP_MOVE( 1, MOVE_PECK), LEVEL_UP_MOVE( 1, MOVE_GROWL), - LEVEL_UP_MOVE( 1, MOVE_ECHOED_VOICE), + LEVEL_UP_MOVE( 1, MOVE_PECK), LEVEL_UP_MOVE( 1, MOVE_ROCK_SMASH), - LEVEL_UP_MOVE( 3, MOVE_GROWL), - LEVEL_UP_MOVE( 7, MOVE_ECHOED_VOICE), - LEVEL_UP_MOVE( 9, MOVE_ROCK_SMASH), + LEVEL_UP_MOVE( 1, MOVE_ROCK_BLAST), + LEVEL_UP_MOVE( 1, MOVE_ECHOED_VOICE), LEVEL_UP_MOVE(13, MOVE_SUPERSONIC), LEVEL_UP_MOVE(16, MOVE_PLUCK), LEVEL_UP_MOVE(21, MOVE_ROOST), @@ -16963,10 +16771,9 @@ static const struct LevelUpMove sGrubbinLevelUpLearnset[] = { static const struct LevelUpMove sCharjabugLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_CHARGE), - LEVEL_UP_MOVE( 1, MOVE_CHARGE), LEVEL_UP_MOVE( 1, MOVE_VISE_GRIP), - LEVEL_UP_MOVE( 1, MOVE_MUD_SLAP), LEVEL_UP_MOVE( 1, MOVE_STRING_SHOT), + LEVEL_UP_MOVE( 1, MOVE_MUD_SLAP), LEVEL_UP_MOVE( 1, MOVE_BUG_BITE), LEVEL_UP_MOVE(15, MOVE_BITE), LEVEL_UP_MOVE(23, MOVE_SPARK), @@ -16981,17 +16788,16 @@ static const struct LevelUpMove sCharjabugLevelUpLearnset[] = { static const struct LevelUpMove sVikavoltLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_THUNDERBOLT), - LEVEL_UP_MOVE( 1, MOVE_THUNDERBOLT), - LEVEL_UP_MOVE( 1, MOVE_CHARGE), - LEVEL_UP_MOVE( 1, MOVE_X_SCISSOR), - LEVEL_UP_MOVE( 1, MOVE_CRUNCH), - LEVEL_UP_MOVE( 1, MOVE_DIG), - LEVEL_UP_MOVE( 1, MOVE_IRON_DEFENSE), - LEVEL_UP_MOVE( 1, MOVE_DISCHARGE), LEVEL_UP_MOVE( 1, MOVE_VISE_GRIP), + LEVEL_UP_MOVE( 1, MOVE_DIG), LEVEL_UP_MOVE( 1, MOVE_MUD_SLAP), - LEVEL_UP_MOVE( 1, MOVE_STRING_SHOT), + LEVEL_UP_MOVE( 1, MOVE_IRON_DEFENSE), + LEVEL_UP_MOVE( 1, MOVE_X_SCISSOR), LEVEL_UP_MOVE( 1, MOVE_BUG_BITE), + LEVEL_UP_MOVE( 1, MOVE_STRING_SHOT), + LEVEL_UP_MOVE( 1, MOVE_CRUNCH), + LEVEL_UP_MOVE( 1, MOVE_CHARGE), + LEVEL_UP_MOVE( 1, MOVE_DISCHARGE), LEVEL_UP_MOVE(15, MOVE_BITE), LEVEL_UP_MOVE(23, MOVE_SPARK), LEVEL_UP_MOVE(29, MOVE_STICKY_WEB), @@ -17069,7 +16875,7 @@ static const struct LevelUpMove sCutieflyLevelUpLearnset[] = { LEVEL_UP_MOVE(12, MOVE_SWEET_SCENT), LEVEL_UP_MOVE(18, MOVE_DRAINING_KISS), LEVEL_UP_MOVE(24, MOVE_STRUGGLE_BUG), - LEVEL_UP_MOVE(30, MOVE_AROMATHERAPY), + LEVEL_UP_MOVE(30, MOVE_COVET), LEVEL_UP_MOVE(36, MOVE_SWITCHEROO), LEVEL_UP_MOVE(42, MOVE_DAZZLING_GLEAM), LEVEL_UP_MOVE(48, MOVE_BUG_BUZZ), @@ -17079,15 +16885,13 @@ static const struct LevelUpMove sCutieflyLevelUpLearnset[] = { static const struct LevelUpMove sRibombeeLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_POLLEN_PUFF), - LEVEL_UP_MOVE( 1, MOVE_POLLEN_PUFF), - LEVEL_UP_MOVE( 1, MOVE_COVET), LEVEL_UP_MOVE( 1, MOVE_ABSORB), - LEVEL_UP_MOVE( 1, MOVE_FAIRY_WIND), LEVEL_UP_MOVE( 1, MOVE_STUN_SPORE), LEVEL_UP_MOVE( 1, MOVE_SWEET_SCENT), + LEVEL_UP_MOVE( 1, MOVE_FAIRY_WIND), LEVEL_UP_MOVE(18, MOVE_DRAINING_KISS), LEVEL_UP_MOVE(24, MOVE_STRUGGLE_BUG), - LEVEL_UP_MOVE(32, MOVE_AROMATHERAPY), + LEVEL_UP_MOVE(32, MOVE_COVET), LEVEL_UP_MOVE(40, MOVE_SWITCHEROO), LEVEL_UP_MOVE(48, MOVE_DAZZLING_GLEAM), LEVEL_UP_MOVE(56, MOVE_BUG_BUZZ), @@ -17298,11 +17102,11 @@ static const struct LevelUpMove sDewpiderLevelUpLearnset[] = { }; static const struct LevelUpMove sAraquanidLevelUpLearnset[] = { - LEVEL_UP_MOVE( 1, MOVE_WIDE_GUARD), + LEVEL_UP_MOVE( 1, MOVE_BITE), LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), - LEVEL_UP_MOVE( 1, MOVE_INFESTATION), LEVEL_UP_MOVE( 1, MOVE_BUG_BITE), - LEVEL_UP_MOVE( 1, MOVE_BITE), + LEVEL_UP_MOVE( 1, MOVE_WIDE_GUARD), + LEVEL_UP_MOVE( 1, MOVE_INFESTATION), LEVEL_UP_MOVE(12, MOVE_BUBBLE_BEAM), LEVEL_UP_MOVE(16, MOVE_AQUA_RING), LEVEL_UP_MOVE(20, MOVE_HEADBUTT), @@ -17529,7 +17333,7 @@ static const struct LevelUpMove sComfeyLevelUpLearnset[] = { LEVEL_UP_MOVE( 3, MOVE_VINE_WHIP), LEVEL_UP_MOVE( 6, MOVE_HELPING_HAND), LEVEL_UP_MOVE( 9, MOVE_DRAINING_KISS), - LEVEL_UP_MOVE(12, MOVE_FLOWER_SHIELD), + LEVEL_UP_MOVE(12, MOVE_CHARM), LEVEL_UP_MOVE(15, MOVE_MAGICAL_LEAF), LEVEL_UP_MOVE(18, MOVE_SYNTHESIS), LEVEL_UP_MOVE(21, MOVE_LEECH_SEED), @@ -17537,7 +17341,7 @@ static const struct LevelUpMove sComfeyLevelUpLearnset[] = { LEVEL_UP_MOVE(27, MOVE_SWEET_KISS), LEVEL_UP_MOVE(30, MOVE_FLORAL_HEALING), LEVEL_UP_MOVE(33, MOVE_PETAL_BLIZZARD), - LEVEL_UP_MOVE(36, MOVE_AROMATHERAPY), + LEVEL_UP_MOVE(36, MOVE_BIND), LEVEL_UP_MOVE(39, MOVE_PLAY_ROUGH), LEVEL_UP_MOVE(42, MOVE_SWEET_SCENT), LEVEL_UP_MOVE(45, MOVE_PETAL_DANCE), @@ -17731,7 +17535,7 @@ static const struct LevelUpMove sMiniorLevelUpLearnset[] = { LEVEL_UP_MOVE(22, MOVE_SELF_DESTRUCT), LEVEL_UP_MOVE(24, MOVE_STEALTH_ROCK), LEVEL_UP_MOVE(29, MOVE_TAKE_DOWN), - LEVEL_UP_MOVE(31, MOVE_AUTOTOMIZE), + LEVEL_UP_MOVE(31, MOVE_ROCK_POLISH), LEVEL_UP_MOVE(36, MOVE_COSMIC_POWER), LEVEL_UP_MOVE(38, MOVE_POWER_GEM), LEVEL_UP_MOVE(43, MOVE_DOUBLE_EDGE), @@ -17902,7 +17706,6 @@ static const struct LevelUpMove sJangmoOLevelUpLearnset[] = { }; static const struct LevelUpMove sHakamoOLevelUpLearnset[] = { - LEVEL_UP_MOVE( 1, MOVE_AUTOTOMIZE), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 1, MOVE_PROTECT), @@ -17922,9 +17725,7 @@ static const struct LevelUpMove sHakamoOLevelUpLearnset[] = { static const struct LevelUpMove sKommoOLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_CLANGING_SCALES), - LEVEL_UP_MOVE( 1, MOVE_CLANGING_SCALES), LEVEL_UP_MOVE( 1, MOVE_BELLY_DRUM), - LEVEL_UP_MOVE( 1, MOVE_AUTOTOMIZE), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 1, MOVE_PROTECT), @@ -18047,17 +17848,15 @@ static const struct LevelUpMove sCosmogLevelUpLearnset[] = { static const struct LevelUpMove sCosmoemLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_COSMIC_POWER), - LEVEL_UP_MOVE( 1, MOVE_COSMIC_POWER), LEVEL_UP_MOVE( 1, MOVE_TELEPORT), LEVEL_UP_END }; static const struct LevelUpMove sSolgaleoLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_SUNSTEEL_STRIKE), - LEVEL_UP_MOVE( 1, MOVE_SUNSTEEL_STRIKE), - LEVEL_UP_MOVE( 1, MOVE_COSMIC_POWER), LEVEL_UP_MOVE( 1, MOVE_TELEPORT), LEVEL_UP_MOVE( 1, MOVE_METAL_CLAW), + LEVEL_UP_MOVE( 1, MOVE_COSMIC_POWER), LEVEL_UP_MOVE( 1, MOVE_NOBLE_ROAR), LEVEL_UP_MOVE( 7, MOVE_IRON_HEAD), LEVEL_UP_MOVE(14, MOVE_METAL_SOUND), @@ -18076,23 +17875,21 @@ static const struct LevelUpMove sSolgaleoLevelUpLearnset[] = { static const struct LevelUpMove sLunalaLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_MOONGEIST_BEAM), - LEVEL_UP_MOVE( 1, MOVE_MOONGEIST_BEAM), - LEVEL_UP_MOVE( 1, MOVE_COSMIC_POWER), - LEVEL_UP_MOVE( 1, MOVE_TELEPORT), LEVEL_UP_MOVE( 1, MOVE_CONFUSION), LEVEL_UP_MOVE( 1, MOVE_HYPNOSIS), + LEVEL_UP_MOVE( 1, MOVE_TELEPORT), + LEVEL_UP_MOVE( 1, MOVE_COSMIC_POWER), LEVEL_UP_MOVE( 7, MOVE_NIGHT_SHADE), LEVEL_UP_MOVE(14, MOVE_CONFUSE_RAY), LEVEL_UP_MOVE(21, MOVE_AIR_SLASH), LEVEL_UP_MOVE(28, MOVE_SHADOW_BALL), LEVEL_UP_MOVE(35, MOVE_MOONLIGHT), LEVEL_UP_MOVE(42, MOVE_NIGHT_DAZE), - LEVEL_UP_MOVE(49, MOVE_MAGIC_COAT), + LEVEL_UP_MOVE(49, MOVE_PSYCHIC), LEVEL_UP_MOVE(56, MOVE_MOONBLAST), LEVEL_UP_MOVE(63, MOVE_PHANTOM_FORCE), LEVEL_UP_MOVE(70, MOVE_DREAM_EATER), LEVEL_UP_MOVE(77, MOVE_WIDE_GUARD), - LEVEL_UP_MOVE(84, MOVE_HYPER_BEAM), LEVEL_UP_END }; #endif //P_FAMILY_COSMOG @@ -18255,12 +18052,11 @@ static const struct LevelUpMove sGuzzlordLevelUpLearnset[] = { #if P_FAMILY_NECROZMA static const struct LevelUpMove sNecrozmaLevelUpLearnset[] = { - LEVEL_UP_MOVE( 1, MOVE_MOONLIGHT), + LEVEL_UP_MOVE( 1, MOVE_CONFUSION), + LEVEL_UP_MOVE( 1, MOVE_METAL_CLAW), LEVEL_UP_MOVE( 1, MOVE_MORNING_SUN), + LEVEL_UP_MOVE( 1, MOVE_MOONLIGHT), LEVEL_UP_MOVE( 1, MOVE_CHARGE_BEAM), - LEVEL_UP_MOVE( 1, MOVE_GRAVITY), - LEVEL_UP_MOVE( 1, MOVE_METAL_CLAW), - LEVEL_UP_MOVE( 1, MOVE_CONFUSION), LEVEL_UP_MOVE( 8, MOVE_STEALTH_ROCK), LEVEL_UP_MOVE(16, MOVE_SLASH), LEVEL_UP_MOVE(24, MOVE_NIGHT_SLASH), @@ -18270,7 +18066,7 @@ static const struct LevelUpMove sNecrozmaLevelUpLearnset[] = { LEVEL_UP_MOVE(56, MOVE_IRON_DEFENSE), LEVEL_UP_MOVE(64, MOVE_POWER_GEM), LEVEL_UP_MOVE(72, MOVE_PHOTON_GEYSER), - LEVEL_UP_MOVE(80, MOVE_AUTOTOMIZE), + LEVEL_UP_MOVE(80, MOVE_GRAVITY), LEVEL_UP_MOVE(88, MOVE_PRISMATIC_LASER), LEVEL_UP_END }; @@ -19018,6 +18814,7 @@ static const struct LevelUpMove sAppletunLevelUpLearnset[] = { #if P_GEN_9_CROSS_EVOS static const struct LevelUpMove sDipplinLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_DOUBLE_HIT), + LEVEL_UP_MOVE( 1, MOVE_INFESTATION), LEVEL_UP_MOVE( 1, MOVE_WITHDRAW), LEVEL_UP_MOVE( 1, MOVE_SWEET_SCENT), LEVEL_UP_MOVE( 1, MOVE_RECYCLE), @@ -19037,6 +18834,9 @@ static const struct LevelUpMove sDipplinLevelUpLearnset[] = { static const struct LevelUpMove sHydrappleLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_FICKLE_BEAM), + LEVEL_UP_MOVE( 1, MOVE_YAWN), + LEVEL_UP_MOVE( 1, MOVE_DOUBLE_HIT), + LEVEL_UP_MOVE( 1, MOVE_INFESTATION), LEVEL_UP_MOVE( 1, MOVE_WITHDRAW), LEVEL_UP_MOVE( 1, MOVE_SWEET_SCENT), LEVEL_UP_MOVE( 1, MOVE_RECYCLE), @@ -19096,8 +18896,8 @@ static const struct LevelUpMove sCramorantLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_BELCH), LEVEL_UP_MOVE( 1, MOVE_PECK), LEVEL_UP_MOVE( 1, MOVE_STOCKPILE), - LEVEL_UP_MOVE( 1, MOVE_SWALLOW), LEVEL_UP_MOVE( 1, MOVE_SPIT_UP), + LEVEL_UP_MOVE( 1, MOVE_SWALLOW), LEVEL_UP_MOVE( 7, MOVE_WATER_GUN), LEVEL_UP_MOVE(14, MOVE_FURY_ATTACK), LEVEL_UP_MOVE(21, MOVE_PLUCK), @@ -19432,7 +19232,7 @@ static const struct LevelUpMove sMilceryLevelUpLearnset[] = { LEVEL_UP_MOVE( 5, MOVE_SWEET_KISS), LEVEL_UP_MOVE(10, MOVE_SWEET_SCENT), LEVEL_UP_MOVE(15, MOVE_DRAINING_KISS), - LEVEL_UP_MOVE(20, MOVE_AROMATHERAPY), + LEVEL_UP_MOVE(20, MOVE_CHARM), LEVEL_UP_MOVE(25, MOVE_ATTRACT), LEVEL_UP_MOVE(30, MOVE_ACID_ARMOR), LEVEL_UP_MOVE(35, MOVE_DAZZLING_GLEAM), @@ -19444,13 +19244,12 @@ static const struct LevelUpMove sMilceryLevelUpLearnset[] = { static const struct LevelUpMove sAlcremieLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_DECORATE), - LEVEL_UP_MOVE( 1, MOVE_DECORATE), LEVEL_UP_MOVE( 1, MOVE_TACKLE), - LEVEL_UP_MOVE( 1, MOVE_AROMATIC_MIST), LEVEL_UP_MOVE( 1, MOVE_SWEET_KISS), LEVEL_UP_MOVE( 1, MOVE_SWEET_SCENT), + LEVEL_UP_MOVE( 1, MOVE_AROMATIC_MIST), LEVEL_UP_MOVE(15, MOVE_DRAINING_KISS), - LEVEL_UP_MOVE(20, MOVE_AROMATHERAPY), + LEVEL_UP_MOVE(20, MOVE_CHARM), LEVEL_UP_MOVE(25, MOVE_ATTRACT), LEVEL_UP_MOVE(30, MOVE_ACID_ARMOR), LEVEL_UP_MOVE(35, MOVE_DAZZLING_GLEAM), @@ -19605,8 +19404,8 @@ static const struct LevelUpMove sIndeedeeFemaleLevelUpLearnset[] = { #if P_FAMILY_MORPEKO static const struct LevelUpMove sMorpekoLevelUpLearnset[] = { - LEVEL_UP_MOVE( 1, MOVE_THUNDER_SHOCK), LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), + LEVEL_UP_MOVE( 1, MOVE_THUNDER_SHOCK), LEVEL_UP_MOVE( 5, MOVE_LEER), LEVEL_UP_MOVE(10, MOVE_POWER_TRIP), LEVEL_UP_MOVE(15, MOVE_QUICK_ATTACK), @@ -20079,29 +19878,30 @@ static const struct LevelUpMove sCalyrexLevelUpLearnset[] = { #if P_FUSION_FORMS static const struct LevelUpMove sCalyrexIceRiderLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_GLACIAL_LANCE), - LEVEL_UP_MOVE( 1, MOVE_TACKLE), - LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), - LEVEL_UP_MOVE( 1, MOVE_DOUBLE_KICK), - LEVEL_UP_MOVE( 1, MOVE_AVALANCHE), - LEVEL_UP_MOVE( 1, MOVE_STOMP), - LEVEL_UP_MOVE( 1, MOVE_TORMENT), - LEVEL_UP_MOVE( 1, MOVE_MIST), LEVEL_UP_MOVE( 1, MOVE_ICICLE_CRASH), - LEVEL_UP_MOVE( 1, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE( 1, MOVE_AVALANCHE), LEVEL_UP_MOVE( 1, MOVE_IRON_DEFENSE), - LEVEL_UP_MOVE( 1, MOVE_THRASH), LEVEL_UP_MOVE( 1, MOVE_TAUNT), - LEVEL_UP_MOVE( 1, MOVE_DOUBLE_EDGE), - LEVEL_UP_MOVE( 1, MOVE_SWORDS_DANCE), - LEVEL_UP_MOVE( 1, MOVE_POUND), - LEVEL_UP_MOVE( 1, MOVE_MEGA_DRAIN), + LEVEL_UP_MOVE( 1, MOVE_TORMENT), LEVEL_UP_MOVE( 1, MOVE_CONFUSION), LEVEL_UP_MOVE( 1, MOVE_GROWTH), + LEVEL_UP_MOVE( 1, MOVE_MEGA_DRAIN), + LEVEL_UP_MOVE( 1, MOVE_POUND), + LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), + LEVEL_UP_MOVE( 1, MOVE_SWORDS_DANCE), + LEVEL_UP_MOVE( 1, MOVE_DOUBLE_EDGE), + LEVEL_UP_MOVE( 1, MOVE_THRASH), + LEVEL_UP_MOVE( 1, MOVE_STOMP), + LEVEL_UP_MOVE( 1, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_MIST), + LEVEL_UP_MOVE( 1, MOVE_DOUBLE_KICK), LEVEL_UP_MOVE( 8, MOVE_LIFE_DEW), LEVEL_UP_MOVE(16, MOVE_GIGA_DRAIN), LEVEL_UP_MOVE(24, MOVE_PSYSHOCK), LEVEL_UP_MOVE(32, MOVE_HELPING_HAND), - LEVEL_UP_MOVE(40, MOVE_AROMATHERAPY), + LEVEL_UP_MOVE(40, MOVE_GRASSY_TERRAIN), + LEVEL_UP_MOVE(40, MOVE_PSYCHIC_TERRAIN), LEVEL_UP_MOVE(48, MOVE_ENERGY_BALL), LEVEL_UP_MOVE(56, MOVE_PSYCHIC), LEVEL_UP_MOVE(64, MOVE_LEECH_SEED), @@ -20115,29 +19915,30 @@ static const struct LevelUpMove sCalyrexIceRiderLevelUpLearnset[] = { #if P_FUSION_FORMS static const struct LevelUpMove sCalyrexShadowRiderLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_ASTRAL_BARRAGE), - LEVEL_UP_MOVE( 1, MOVE_TACKLE), - LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), - LEVEL_UP_MOVE( 1, MOVE_DOUBLE_KICK), LEVEL_UP_MOVE( 1, MOVE_HEX), - LEVEL_UP_MOVE( 1, MOVE_STOMP), - LEVEL_UP_MOVE( 1, MOVE_CONFUSE_RAY), - LEVEL_UP_MOVE( 1, MOVE_HAZE), + LEVEL_UP_MOVE( 1, MOVE_NASTY_PLOT), LEVEL_UP_MOVE( 1, MOVE_SHADOW_BALL), - LEVEL_UP_MOVE( 1, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE( 1, MOVE_HAZE), + LEVEL_UP_MOVE( 1, MOVE_CONFUSE_RAY), + LEVEL_UP_MOVE( 1, MOVE_CONFUSION), + LEVEL_UP_MOVE( 1, MOVE_GROWTH), + LEVEL_UP_MOVE( 1, MOVE_MEGA_DRAIN), LEVEL_UP_MOVE( 1, MOVE_AGILITY), - LEVEL_UP_MOVE( 1, MOVE_THRASH), + LEVEL_UP_MOVE( 1, MOVE_STOMP), + LEVEL_UP_MOVE( 1, MOVE_DOUBLE_KICK), LEVEL_UP_MOVE( 1, MOVE_DISABLE), - LEVEL_UP_MOVE( 1, MOVE_DOUBLE_EDGE), - LEVEL_UP_MOVE( 1, MOVE_NASTY_PLOT), + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE( 1, MOVE_THRASH), LEVEL_UP_MOVE( 1, MOVE_POUND), - LEVEL_UP_MOVE( 1, MOVE_MEGA_DRAIN), - LEVEL_UP_MOVE( 1, MOVE_CONFUSION), - LEVEL_UP_MOVE( 1, MOVE_GROWTH), + LEVEL_UP_MOVE( 1, MOVE_DOUBLE_EDGE), + LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), LEVEL_UP_MOVE( 8, MOVE_LIFE_DEW), LEVEL_UP_MOVE(16, MOVE_GIGA_DRAIN), LEVEL_UP_MOVE(24, MOVE_PSYSHOCK), LEVEL_UP_MOVE(32, MOVE_HELPING_HAND), - LEVEL_UP_MOVE(40, MOVE_AROMATHERAPY), + LEVEL_UP_MOVE(40, MOVE_GRASSY_TERRAIN), + LEVEL_UP_MOVE(40, MOVE_PSYCHIC_TERRAIN), LEVEL_UP_MOVE(48, MOVE_ENERGY_BALL), LEVEL_UP_MOVE(56, MOVE_PSYCHIC), LEVEL_UP_MOVE(64, MOVE_LEECH_SEED), @@ -20210,6 +20011,8 @@ static const struct LevelUpMove sFloragatoLevelUpLearnset[] = { static const struct LevelUpMove sMeowscaradaLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_FLOWER_TRICK), + LEVEL_UP_MOVE( 1, MOVE_DOUBLE_TEAM), + LEVEL_UP_MOVE( 1, MOVE_TRICK), LEVEL_UP_MOVE( 1, MOVE_LEAFAGE), LEVEL_UP_MOVE( 1, MOVE_SCRATCH), LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), @@ -20268,6 +20071,8 @@ static const struct LevelUpMove sCrocalorLevelUpLearnset[] = { static const struct LevelUpMove sSkeledirgeLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_TORCH_SONG), + LEVEL_UP_MOVE( 1, MOVE_SING), + LEVEL_UP_MOVE( 1, MOVE_YAWN), LEVEL_UP_MOVE( 1, MOVE_EMBER), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_LEER), @@ -20327,6 +20132,7 @@ static const struct LevelUpMove sQuaxwellLevelUpLearnset[] = { static const struct LevelUpMove sQuaquavalLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_AQUA_STEP), + LEVEL_UP_MOVE( 1, MOVE_COUNTER), LEVEL_UP_MOVE( 1, MOVE_POUND), LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), @@ -20811,6 +20617,10 @@ static const struct LevelUpMove sArmarougeLevelUpLearnset[] = { static const struct LevelUpMove sCeruledgeLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_SHADOW_CLAW), + LEVEL_UP_MOVE( 1, MOVE_NIGHT_SLASH), + LEVEL_UP_MOVE( 1, MOVE_SHADOW_SNEAK), + LEVEL_UP_MOVE( 1, MOVE_QUICK_GUARD), + LEVEL_UP_MOVE( 1, MOVE_SOLAR_BLADE), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 1, MOVE_EMBER), LEVEL_UP_MOVE( 1, MOVE_ASTONISH), @@ -21147,6 +20957,8 @@ static const struct LevelUpMove sRellorLevelUpLearnset[] = { static const struct LevelUpMove sRabscaLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_REVIVAL_BLESSING), + LEVEL_UP_MOVE( 1, MOVE_SAFEGUARD), + LEVEL_UP_MOVE( 1, MOVE_PSYCH_UP), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_DEFENSE_CURL), LEVEL_UP_MOVE( 1, MOVE_CONFUSION), @@ -21673,6 +21485,7 @@ static const struct LevelUpMove sGreatTuskLevelUpLearnset[] = { #if P_FAMILY_SCREAM_TAIL static const struct LevelUpMove sScreamTailLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SUNNY_DAY), LEVEL_UP_MOVE( 1, MOVE_POUND), LEVEL_UP_MOVE( 1, MOVE_SING), LEVEL_UP_MOVE( 1, MOVE_DISABLE), @@ -21695,6 +21508,7 @@ static const struct LevelUpMove sScreamTailLevelUpLearnset[] = { #if P_FAMILY_BRUTE_BONNET static const struct LevelUpMove sBruteBonnetLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SUNNY_DAY), LEVEL_UP_MOVE( 1, MOVE_ABSORB), LEVEL_UP_MOVE( 1, MOVE_GROWTH), LEVEL_UP_MOVE( 1, MOVE_ASTONISH), @@ -21716,6 +21530,7 @@ static const struct LevelUpMove sBruteBonnetLevelUpLearnset[] = { #if P_FAMILY_FLUTTER_MANE static const struct LevelUpMove sFlutterManeLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SUNNY_DAY), LEVEL_UP_MOVE( 1, MOVE_CONFUSE_RAY), LEVEL_UP_MOVE( 1, MOVE_SPITE), LEVEL_UP_MOVE( 1, MOVE_ASTONISH), @@ -21738,6 +21553,7 @@ static const struct LevelUpMove sFlutterManeLevelUpLearnset[] = { #if P_FAMILY_SLITHER_WING static const struct LevelUpMove sSlitherWingLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SUNNY_DAY), LEVEL_UP_MOVE( 1, MOVE_GUST), LEVEL_UP_MOVE( 1, MOVE_EMBER), LEVEL_UP_MOVE( 1, MOVE_BUG_BITE), @@ -21761,6 +21577,7 @@ static const struct LevelUpMove sSlitherWingLevelUpLearnset[] = { #if P_FAMILY_SANDY_SHOCKS static const struct LevelUpMove sSandyShocksLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SUNNY_DAY), LEVEL_UP_MOVE( 1, MOVE_THUNDER_WAVE), LEVEL_UP_MOVE( 1, MOVE_ELECTRIC_TERRAIN), LEVEL_UP_MOVE( 1, MOVE_SUPERSONIC), @@ -21806,6 +21623,7 @@ static const struct LevelUpMove sIronTreadsLevelUpLearnset[] = { #if P_FAMILY_IRON_BUNDLE static const struct LevelUpMove sIronBundleLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_ELECTRIC_TERRAIN), LEVEL_UP_MOVE( 1, MOVE_PRESENT), LEVEL_UP_MOVE( 7, MOVE_POWDER_SNOW), LEVEL_UP_MOVE(14, MOVE_WHIRLPOOL), @@ -21826,6 +21644,7 @@ static const struct LevelUpMove sIronBundleLevelUpLearnset[] = { #if P_FAMILY_IRON_HANDS static const struct LevelUpMove sIronHandsLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_ELECTRIC_TERRAIN), LEVEL_UP_MOVE( 1, MOVE_SAND_ATTACK), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_FOCUS_ENERGY), @@ -21872,6 +21691,7 @@ static const struct LevelUpMove sIronJugulisLevelUpLearnset[] = { #if P_FAMILY_IRON_MOTH static const struct LevelUpMove sIronMothLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_ELECTRIC_TERRAIN), LEVEL_UP_MOVE( 1, MOVE_GUST), LEVEL_UP_MOVE( 1, MOVE_WHIRLWIND), LEVEL_UP_MOVE( 1, MOVE_EMBER), @@ -21895,11 +21715,12 @@ static const struct LevelUpMove sIronMothLevelUpLearnset[] = { #if P_FAMILY_IRON_THORNS static const struct LevelUpMove sIronThornsLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_ELECTRIC_TERRAIN), LEVEL_UP_MOVE( 1, MOVE_ROCK_THROW), LEVEL_UP_MOVE( 1, MOVE_FIRE_FANG), LEVEL_UP_MOVE( 1, MOVE_ICE_FANG), - LEVEL_UP_MOVE( 1, MOVE_THUNDER_FANG), LEVEL_UP_MOVE( 1, MOVE_IRON_DEFENSE), + LEVEL_UP_MOVE( 1, MOVE_THUNDER_FANG), LEVEL_UP_MOVE( 7, MOVE_SCREECH), LEVEL_UP_MOVE(21, MOVE_ROCK_TOMB), LEVEL_UP_MOVE(28, MOVE_BITE), @@ -22096,6 +21917,10 @@ static const struct LevelUpMove sChiYuLevelUpLearnset[] = { #if P_FAMILY_ROARING_MOON static const struct LevelUpMove sRoaringMoonLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SUNNY_DAY), + LEVEL_UP_MOVE( 1, MOVE_JAW_LOCK), + LEVEL_UP_MOVE( 1, MOVE_BREAKING_SWIPE), + LEVEL_UP_MOVE( 1, MOVE_SCALE_SHOT), LEVEL_UP_MOVE( 1, MOVE_DRAGON_BREATH), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 1, MOVE_BITE), @@ -22119,6 +21944,7 @@ static const struct LevelUpMove sRoaringMoonLevelUpLearnset[] = { #if P_FAMILY_IRON_VALIANT static const struct LevelUpMove sIronValiantLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_ELECTRIC_TERRAIN), LEVEL_UP_MOVE( 1, MOVE_DISABLE), LEVEL_UP_MOVE( 1, MOVE_DOUBLE_TEAM), LEVEL_UP_MOVE( 1, MOVE_SHADOW_SNEAK), @@ -22134,8 +21960,8 @@ static const struct LevelUpMove sIronValiantLevelUpLearnset[] = { LEVEL_UP_MOVE(63, MOVE_CLOSE_COMBAT), LEVEL_UP_MOVE(70, MOVE_KNOCK_OFF), LEVEL_UP_MOVE(77, MOVE_DESTINY_BOND), - LEVEL_UP_MOVE(84, MOVE_QUICK_GUARD), LEVEL_UP_MOVE(84, MOVE_WIDE_GUARD), + LEVEL_UP_MOVE(84, MOVE_QUICK_GUARD), LEVEL_UP_MOVE(91, MOVE_SPIRIT_BREAK), LEVEL_UP_END }; @@ -22187,6 +22013,8 @@ static const struct LevelUpMove sMiraidonLevelUpLearnset[] = { #if P_FAMILY_WALKING_WAKE static const struct LevelUpMove sWalkingWakeLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SUNNY_DAY), + LEVEL_UP_MOVE( 1, MOVE_HONE_CLAWS), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 1, MOVE_ROAR), LEVEL_UP_MOVE( 1, MOVE_TWISTER), @@ -22208,6 +22036,8 @@ static const struct LevelUpMove sWalkingWakeLevelUpLearnset[] = { #if P_FAMILY_IRON_LEAVES static const struct LevelUpMove sIronLeavesLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_QUASH), + LEVEL_UP_MOVE( 1, MOVE_ELECTRIC_TERRAIN), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 1, MOVE_QUICK_ATTACK), LEVEL_UP_MOVE( 1, MOVE_HELPING_HAND), @@ -22315,8 +22145,8 @@ static const struct LevelUpMove sFezandipitiLevelUpLearnset[] = { LEVEL_UP_MOVE(32, MOVE_CROSS_POISON), LEVEL_UP_MOVE(40, MOVE_TAIL_SLAP), LEVEL_UP_MOVE(48, MOVE_BEAT_UP), - LEVEL_UP_MOVE(56, MOVE_FLATTER), LEVEL_UP_MOVE(56, MOVE_SWAGGER), + LEVEL_UP_MOVE(56, MOVE_FLATTER), LEVEL_UP_MOVE(64, MOVE_ROOST), LEVEL_UP_MOVE(72, MOVE_MOONBLAST), LEVEL_UP_END @@ -22325,6 +22155,10 @@ static const struct LevelUpMove sFezandipitiLevelUpLearnset[] = { #if P_FAMILY_OGERPON static const struct LevelUpMove sOgerponLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_DOUBLE_KICK), + LEVEL_UP_MOVE( 1, MOVE_COUNTER), + LEVEL_UP_MOVE( 1, MOVE_RETALIATE), + LEVEL_UP_MOVE( 1, MOVE_HORN_LEECH), LEVEL_UP_MOVE( 1, MOVE_VINE_WHIP), LEVEL_UP_MOVE( 1, MOVE_LEECH_SEED), LEVEL_UP_MOVE( 1, MOVE_QUICK_ATTACK), @@ -22346,6 +22180,9 @@ static const struct LevelUpMove sOgerponLevelUpLearnset[] = { #if P_FAMILY_GOUGING_FIRE static const struct LevelUpMove sGougingFireLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_DOUBLE_KICK), + LEVEL_UP_MOVE( 1, MOVE_ANCIENT_POWER), + LEVEL_UP_MOVE( 1, MOVE_NOBLE_ROAR), LEVEL_UP_MOVE( 1, MOVE_STOMP), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 1, MOVE_INCINERATE), @@ -22369,6 +22206,7 @@ static const struct LevelUpMove sGougingFireLevelUpLearnset[] = { #if P_FAMILY_RAGING_BOLT static const struct LevelUpMove sRagingBoltLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_ANCIENT_POWER), LEVEL_UP_MOVE( 1, MOVE_TWISTER), LEVEL_UP_MOVE( 1, MOVE_SUNNY_DAY), LEVEL_UP_MOVE( 1, MOVE_SHOCK_WAVE), @@ -22456,6 +22294,9 @@ static const struct LevelUpMove sTerapagosLevelUpLearnset[] = { #if P_FAMILY_PECHARUNT static const struct LevelUpMove sPecharuntLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_DEFENSE_CURL), + LEVEL_UP_MOVE( 1, MOVE_ROLLOUT), + LEVEL_UP_MOVE( 1, MOVE_MEAN_LOOK), LEVEL_UP_MOVE( 1, MOVE_SMOG), LEVEL_UP_MOVE( 1, MOVE_POISON_GAS), LEVEL_UP_MOVE( 1, MOVE_MEMENTO), From 7ae6b1d22acc2165e52d02efdb6c98385d76800d Mon Sep 17 00:00:00 2001 From: cawtds <38510667+cawtds@users.noreply.github.com> Date: Thu, 25 Jul 2024 00:58:21 +0200 Subject: [PATCH 06/38] fix fishing minigame --- src/field_player_avatar.c | 162 +++++++++++++++++++------------------- 1 file changed, 81 insertions(+), 81 deletions(-) diff --git a/src/field_player_avatar.c b/src/field_player_avatar.c index b10ca6c599eb..0b30a1d7bb47 100644 --- a/src/field_player_avatar.c +++ b/src/field_player_avatar.c @@ -122,24 +122,24 @@ static void Task_StopSurfingInit(u8); static void Task_WaitStopSurfing(u8); static void Task_Fishing(u8); -static u8 Fishing_Init(struct Task *); -static u8 Fishing_GetRodOut(struct Task *); -static u8 Fishing_WaitBeforeDots(struct Task *); -static u8 Fishing_InitDots(struct Task *); -static u8 Fishing_ShowDots(struct Task *); -static u8 Fishing_CheckForBite(struct Task *); -static u8 Fishing_GotBite(struct Task *); -static u8 Fishing_ChangeMinigame(struct Task *); -static u8 Fishing_WaitForA(struct Task *); -static u8 Fishing_APressNoMinigame(struct Task *); -static u8 Fishing_CheckMoreDots(struct Task *); -static u8 Fishing_MonOnHook(struct Task *); -static u8 Fishing_StartEncounter(struct Task *); -static u8 Fishing_NotEvenNibble(struct Task *); -static u8 Fishing_GotAway(struct Task *); -static u8 Fishing_NoMon(struct Task *); -static u8 Fishing_PutRodAway(struct Task *); -static u8 Fishing_EndNoMon(struct Task *); +static bool32 Fishing_Init(struct Task *); +static bool32 Fishing_GetRodOut(struct Task *); +static bool32 Fishing_WaitBeforeDots(struct Task *); +static bool32 Fishing_InitDots(struct Task *); +static bool32 Fishing_ShowDots(struct Task *); +static bool32 Fishing_CheckForBite(struct Task *); +static bool32 Fishing_GotBite(struct Task *); +static bool32 Fishing_ChangeMinigame(struct Task *); +static bool32 Fishing_WaitForA(struct Task *); +static bool32 Fishing_APressNoMinigame(struct Task *); +static bool32 Fishing_CheckMoreDots(struct Task *); +static bool32 Fishing_MonOnHook(struct Task *); +static bool32 Fishing_StartEncounter(struct Task *); +static bool32 Fishing_NotEvenNibble(struct Task *); +static bool32 Fishing_GotAway(struct Task *); +static bool32 Fishing_NoMon(struct Task *); +static bool32 Fishing_PutRodAway(struct Task *); +static bool32 Fishing_EndNoMon(struct Task *); static void AlignFishingAnimationFrames(void); static bool32 DoesFishingMinigameAllowCancel(void); static bool32 Fishing_DoesFirstMonInPartyHaveSuctionCupsOrStickyHold(void); @@ -1687,7 +1687,7 @@ enum FISHING_INIT, FISHING_GET_ROD_OUT, FISHING_WAIT_BEFORE_DOTS, - FISHING_START_ROUND, + FISHING_INIT_DOTS, FISHING_SHOW_DOTS, FISHING_CHECK_FOR_BITE, FISHING_GOT_BITE, @@ -1695,35 +1695,35 @@ enum FISHING_WAIT_FOR_A, FISHING_A_PRESS_NO_MINIGAME, FISHING_CHECK_MORE_DOTS, - FISHING_ON_HOOK, + FISHING_MON_ON_HOOK, FISHING_START_ENCOUNTER, - FISHING_NO_BITE, + FISHING_NOT_EVEN_NIBBLE, FISHING_GOT_AWAY, - FISHING_SHOW_RESULT, + FISHING_NO_MON, FISHING_PUT_ROD_AWAY, FISHING_END_NO_MON, }; -static bool8 (*const sFishingStateFuncs[])(struct Task *) = -{ - Fishing_Init, // FISHING_INIT, - Fishing_GetRodOut, // FISHING_GET_ROD_OUT, - Fishing_WaitBeforeDots, // FISHING_WAIT_BEFORE_DOTS, - Fishing_InitDots, // FISHING_START_ROUND, - Fishing_ShowDots, // FISHING_SHOW_DOTS, - Fishing_CheckForBite, // FISHING_CHECK_FOR_BITE, - Fishing_GotBite, // FISHING_GOT_BITE, - Fishing_ChangeMinigame, // FISHING_CHANGE_MINIGAME, - Fishing_WaitForA, // FISHING_WAIT_FOR_A, - Fishing_APressNoMinigame, // FISHING_A_PRESS_NO_MINIGAME, - Fishing_CheckMoreDots, // FISHING_CHECK_MORE_DOTS, - Fishing_MonOnHook, // FISHING_ON_HOOK, - Fishing_StartEncounter, // FISHING_START_ENCOUNTER, - Fishing_NotEvenNibble, // FISHING_NO_BITE, - Fishing_GotAway, // FISHING_GOT_AWAY, - Fishing_NoMon, // FISHING_SHOW_RESULT, - Fishing_PutRodAway, // FISHING_PUT_ROD_AWAY, - Fishing_EndNoMon, // FISHING_END_NO_MON, +static bool32 (*const sFishingStateFuncs[])(struct Task *) = +{ + [FISHING_INIT] = Fishing_Init, + [FISHING_GET_ROD_OUT] = Fishing_GetRodOut, + [FISHING_WAIT_BEFORE_DOTS] = Fishing_WaitBeforeDots, + [FISHING_INIT_DOTS] = Fishing_InitDots, + [FISHING_SHOW_DOTS] = Fishing_ShowDots, + [FISHING_CHECK_FOR_BITE] = Fishing_CheckForBite, + [FISHING_GOT_BITE] = Fishing_GotBite, + [FISHING_CHANGE_MINIGAME] = Fishing_ChangeMinigame, + [FISHING_WAIT_FOR_A] = Fishing_WaitForA, + [FISHING_A_PRESS_NO_MINIGAME] = Fishing_APressNoMinigame, + [FISHING_CHECK_MORE_DOTS] = Fishing_CheckMoreDots, + [FISHING_MON_ON_HOOK] = Fishing_MonOnHook, + [FISHING_START_ENCOUNTER] = Fishing_StartEncounter, + [FISHING_NOT_EVEN_NIBBLE] = Fishing_NotEvenNibble, + [FISHING_GOT_AWAY] = Fishing_GotAway, + [FISHING_NO_MON] = Fishing_NoMon, + [FISHING_PUT_ROD_AWAY] = Fishing_PutRodAway, + [FISHING_END_NO_MON] = Fishing_EndNoMon, }; void StartFishing(u8 rod) @@ -1740,15 +1740,15 @@ static void Task_Fishing(u8 taskId) ; } -static bool8 Fishing_Init(struct Task *task) +static bool32 Fishing_Init(struct Task *task) { LockPlayerFieldControls(); gPlayerAvatar.preventStep = TRUE; - task->tStep++; + task->tStep = FISHING_GET_ROD_OUT; return FALSE; } -static bool8 Fishing_GetRodOut(struct Task *task) +static bool32 Fishing_GetRodOut(struct Task *task) { struct ObjectEvent *playerObjEvent; const s16 minRounds1[] = { @@ -1769,27 +1769,27 @@ static bool8 Fishing_GetRodOut(struct Task *task) ObjectEventClearHeldMovementIfActive(playerObjEvent); playerObjEvent->enableAnim = TRUE; SetPlayerAvatarFishing(playerObjEvent->facingDirection); - task->tStep++; + task->tStep = FISHING_WAIT_BEFORE_DOTS; return FALSE; } -static bool8 Fishing_WaitBeforeDots(struct Task *task) +static bool32 Fishing_WaitBeforeDots(struct Task *task) { AlignFishingAnimationFrames(); // Wait one second task->tFrameCounter++; if (task->tFrameCounter >= 60) - task->tStep++; + task->tStep = FISHING_INIT_DOTS; return FALSE; } -static bool8 Fishing_InitDots(struct Task *task) +static bool32 Fishing_InitDots(struct Task *task) { u32 randVal; LoadMessageBoxAndFrameGfx(0, TRUE); - task->tStep++; + task->tStep = FISHING_SHOW_DOTS; task->tFrameCounter = 0; task->tNumDots = 0; randVal = Random(); @@ -1802,7 +1802,7 @@ static bool8 Fishing_InitDots(struct Task *task) return TRUE; } -static bool8 Fishing_ShowDots(struct Task *task) +static bool32 Fishing_ShowDots(struct Task *task) { const u8 dot[] = _("·"); @@ -1813,7 +1813,7 @@ static bool8 Fishing_ShowDots(struct Task *task) if (!DoesFishingMinigameAllowCancel()) return FALSE; - task->tStep = FISHING_NO_BITE; + task->tStep = FISHING_NOT_EVEN_NIBBLE; if (task->tRoundsPlayed != 0) task->tStep = FISHING_GOT_AWAY; return TRUE; @@ -1825,9 +1825,9 @@ static bool8 Fishing_ShowDots(struct Task *task) task->tFrameCounter = 0; if (task->tNumDots >= task->tDotsRequired) { - task->tStep++; + task->tStep = FISHING_CHECK_FOR_BITE; if (task->tRoundsPlayed != 0) - task->tStep++; + task->tStep = FISHING_GOT_BITE; task->tRoundsPlayed++; } else @@ -1840,17 +1840,17 @@ static bool8 Fishing_ShowDots(struct Task *task) } } -static bool8 Fishing_CheckForBite(struct Task *task) +static bool32 Fishing_CheckForBite(struct Task *task) { bool32 bite, firstMonHasSuctionOrSticky; AlignFishingAnimationFrames(); - task->tStep++; + task->tStep = FISHING_GOT_BITE; bite = FALSE; if (!DoesCurrentMapHaveFishingMons()) { - task->tStep = FISHING_NO_BITE; + task->tStep = FISHING_NOT_EVEN_NIBBLE; return TRUE; } @@ -1863,7 +1863,7 @@ static bool8 Fishing_CheckForBite(struct Task *task) bite = Fishing_RollForBite(FALSE); if (!bite) - task->tStep = FISHING_NO_BITE; + task->tStep = FISHING_NOT_EVEN_NIBBLE; if (bite) StartSpriteAnim(&gSprites[gPlayerAvatar.spriteId], GetFishingBiteDirectionAnimNum(GetPlayerFacingDirection())); @@ -1871,16 +1871,16 @@ static bool8 Fishing_CheckForBite(struct Task *task) return TRUE; } -static bool8 Fishing_GotBite(struct Task *task) +static bool32 Fishing_GotBite(struct Task *task) { AlignFishingAnimationFrames(); AddTextPrinterParameterized(0, FONT_NORMAL, gText_OhABite, 0, 17, 0, NULL); - task->tStep++; + task->tStep = FISHING_CHANGE_MINIGAME; task->tFrameCounter = 0; return FALSE; } -static u8 Fishing_ChangeMinigame(struct Task *task) +static bool32 Fishing_ChangeMinigame(struct Task *task) { switch (I_FISHING_MINIGAME) { @@ -1897,7 +1897,7 @@ static u8 Fishing_ChangeMinigame(struct Task *task) } // We have a bite. Now, wait for the player to press A, or the timer to expire. -static bool8 Fishing_WaitForA(struct Task *task) +static bool32 Fishing_WaitForA(struct Task *task) { const s16 reelTimeouts[3] = { [OLD_ROD] = 36, @@ -1910,20 +1910,20 @@ static bool8 Fishing_WaitForA(struct Task *task) if (task->tFrameCounter >= reelTimeouts[task->tFishingRod]) task->tStep = FISHING_GOT_AWAY; else if (JOY_NEW(A_BUTTON)) - task->tStep++; + task->tStep = FISHING_CHECK_MORE_DOTS; return FALSE; } -static bool8 Fishing_APressNoMinigame(struct Task *task) +static bool32 Fishing_APressNoMinigame(struct Task *task) { AlignFishingAnimationFrames(); if (JOY_NEW(A_BUTTON)) - task->tStep = FISHING_ON_HOOK; + task->tStep = FISHING_MON_ON_HOOK; return FALSE; } // Determine if we're going to play the dot game again -static bool8 Fishing_CheckMoreDots(struct Task *task) +static bool32 Fishing_CheckMoreDots(struct Task *task) { const s16 moreDotsChance[][2] = { @@ -1933,10 +1933,10 @@ static bool8 Fishing_CheckMoreDots(struct Task *task) }; AlignFishingAnimationFrames(); - task->tStep++; + task->tStep = FISHING_MON_ON_HOOK; if (task->tRoundsPlayed < task->tMinRoundsRequired) { - task->tStep = FISHING_START_ROUND; + task->tStep = FISHING_INIT_DOTS; } else if (task->tRoundsPlayed < 2) { @@ -1944,22 +1944,22 @@ static bool8 Fishing_CheckMoreDots(struct Task *task) s16 probability = Random() % 100; if (moreDotsChance[task->tFishingRod][task->tRoundsPlayed] > probability) - task->tStep = FISHING_START_ROUND; + task->tStep = FISHING_INIT_DOTS; } return FALSE; } -static bool8 Fishing_MonOnHook(struct Task *task) +static bool32 Fishing_MonOnHook(struct Task *task) { AlignFishingAnimationFrames(); FillWindowPixelBuffer(0, PIXEL_FILL(1)); AddTextPrinterParameterized2(0, FONT_NORMAL, gText_PokemonOnHook, 1, 0, TEXT_COLOR_DARK_GRAY, TEXT_COLOR_WHITE, TEXT_COLOR_LIGHT_GRAY); - task->tStep++; + task->tStep = FISHING_START_ENCOUNTER; task->tFrameCounter = 0; return FALSE; } -static bool8 Fishing_StartEncounter(struct Task *task) +static bool32 Fishing_StartEncounter(struct Task *task) { if (task->tFrameCounter == 0) AlignFishingAnimationFrames(); @@ -1995,36 +1995,36 @@ static bool8 Fishing_StartEncounter(struct Task *task) return FALSE; } -static bool8 Fishing_NotEvenNibble(struct Task *task) +static bool32 Fishing_NotEvenNibble(struct Task *task) { gChainFishingDexNavStreak = 0; AlignFishingAnimationFrames(); StartSpriteAnim(&gSprites[gPlayerAvatar.spriteId], GetFishingNoCatchDirectionAnimNum(GetPlayerFacingDirection())); FillWindowPixelBuffer(0, PIXEL_FILL(1)); AddTextPrinterParameterized2(0, FONT_NORMAL, gText_NotEvenANibble, 1, 0, TEXT_COLOR_DARK_GRAY, TEXT_COLOR_WHITE, TEXT_COLOR_LIGHT_GRAY); - task->tStep = FISHING_SHOW_RESULT; + task->tStep = FISHING_NO_MON; return TRUE; } -static bool8 Fishing_GotAway(struct Task *task) +static bool32 Fishing_GotAway(struct Task *task) { gChainFishingDexNavStreak = 0; AlignFishingAnimationFrames(); StartSpriteAnim(&gSprites[gPlayerAvatar.spriteId], GetFishingNoCatchDirectionAnimNum(GetPlayerFacingDirection())); FillWindowPixelBuffer(0, PIXEL_FILL(1)); AddTextPrinterParameterized2(0, FONT_NORMAL, gText_ItGotAway, 1, 0, TEXT_COLOR_DARK_GRAY, TEXT_COLOR_WHITE, TEXT_COLOR_LIGHT_GRAY); - task->tStep++; + task->tStep = FISHING_NO_MON; return TRUE; } -static bool8 Fishing_NoMon(struct Task *task) +static bool32 Fishing_NoMon(struct Task *task) { AlignFishingAnimationFrames(); - task->tStep++; + task->tStep = FISHING_PUT_ROD_AWAY; return FALSE; } -static bool8 Fishing_PutRodAway(struct Task *task) +static bool32 Fishing_PutRodAway(struct Task *task) { AlignFishingAnimationFrames(); if (gSprites[gPlayerAvatar.spriteId].animEnded) @@ -2037,12 +2037,12 @@ static bool8 Fishing_PutRodAway(struct Task *task) SetSurfBlob_PlayerOffset(gObjectEvents[gPlayerAvatar.objectEventId].fieldEffectSpriteId, FALSE, 0); gSprites[gPlayerAvatar.spriteId].x2 = 0; gSprites[gPlayerAvatar.spriteId].y2 = 0; - task->tStep++; + task->tStep = FISHING_END_NO_MON; } return FALSE; } -static bool8 Fishing_EndNoMon(struct Task *task) +static bool32 Fishing_EndNoMon(struct Task *task) { RunTextPrinters(); if (!IsTextPrinterActive(0)) From 062856cc6c0a9c951a13cbd8493c427975a309e7 Mon Sep 17 00:00:00 2001 From: Pawkkie <61265402+Pawkkie@users.noreply.github.com> Date: Thu, 25 Jul 2024 07:57:42 -0400 Subject: [PATCH 07/38] Add Memento to Risky AI flag (#5032) --- src/battle_ai_main.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/battle_ai_main.c b/src/battle_ai_main.c index b80a7e6c8416..8267722e6c57 100644 --- a/src/battle_ai_main.c +++ b/src/battle_ai_main.c @@ -4911,6 +4911,8 @@ static s32 AI_SetupFirstTurn(u32 battlerAtk, u32 battlerDef, u32 move, s32 score static s32 AI_Risky(u32 battlerAtk, u32 battlerDef, u32 move, s32 score) { u8 i; + struct AiLogicData *aiData = AI_DATA; + if (IS_TARGETING_PARTNER(battlerAtk, battlerDef)) return score; @@ -4933,12 +4935,16 @@ static s32 AI_Risky(u32 battlerAtk, u32 battlerDef, u32 move, s32 score) break; // +2 Score + case EFFECT_MEMENTO: + if (aiData->hpPercents[battlerAtk] < 50 && AI_RandLessThan(128)) + ADJUST_SCORE(AVERAGE_RISKY_EFFECT); + break; case EFFECT_REVENGE: if (gSpeciesInfo[gBattleMons[battlerDef].species].baseSpeed >= gSpeciesInfo[gBattleMons[battlerAtk].species].baseSpeed + 10) ADJUST_SCORE(AVERAGE_RISKY_EFFECT); break; case EFFECT_BELLY_DRUM: - if (gBattleMons[battlerAtk].hp >= gBattleMons[battlerAtk].maxHP * 90 / 100) + if (aiData->hpPercents[battlerAtk] >= 90) ADJUST_SCORE(AVERAGE_RISKY_EFFECT); break; case EFFECT_MAX_HP_50_RECOIL: From 5b251b614cca11d0cda71799039b40aab168e8e8 Mon Sep 17 00:00:00 2001 From: Martin Griffin Date: Thu, 25 Jul 2024 14:50:32 +0100 Subject: [PATCH 08/38] trainerproc: Support Ogerpon --- include/constants/species.h | 4 ++++ tools/trainerproc/main.c | 3 +++ 2 files changed, 7 insertions(+) diff --git a/include/constants/species.h b/include/constants/species.h index bdf3bdce1f8b..685ebae474dd 100644 --- a/include/constants/species.h +++ b/include/constants/species.h @@ -1704,6 +1704,10 @@ #define SPECIES_MR_MIME_GALAR SPECIES_MR_MIME_GALARIAN #define SPECIES_MUK_ALOLA SPECIES_MUK_ALOLAN #define SPECIES_NINETALES_ALOLA SPECIES_NINETALES_ALOLAN +#define SPECIES_OGERPON_TEAL SPECIES_OGERPON_TEAL_MASK +#define SPECIES_OGERPON_WELLSPRING SPECIES_OGERPON_WELLSPRING_MASK +#define SPECIES_OGERPON_HEARTHFLAME SPECIES_OGERPON_HEARTHFLAME_MASK +#define SPECIES_OGERPON_CORNERSTONE SPECIES_OGERPON_CORNERSTONE_MASK #define SPECIES_ORBEETLE_GMAX SPECIES_ORBEETLE_GIGANTAMAX #define SPECIES_PERSIAN_ALOLA SPECIES_PERSIAN_ALOLAN #define SPECIES_PIKACHU_ALOLA SPECIES_PIKACHU_ALOLA_CAP diff --git a/tools/trainerproc/main.c b/tools/trainerproc/main.c index c6eb99cb9516..bd18995a2e12 100644 --- a/tools/trainerproc/main.c +++ b/tools/trainerproc/main.c @@ -1057,6 +1057,9 @@ static const struct { { "Genesect-Chill", "Genesect", "Chill Drive" }, { "Genesect-Douse", "Genesect", "Douse Drive" }, { "Genesect-Shock", "Genesect", "Shock Drive" }, + { "Ogerpon-Cornerstone", "Ogerpon", "Cornerstone Mask" }, + { "Ogerpon-Hearthflame", "Ogerpon", "Hearthflame Mask" }, + { "Ogerpon-Wellspring", "Ogerpon", "Wellspring Mask" }, { "Silvally-Bug", "Silvally", "Bug Memory" }, { "Silvally-Dark", "Silvally", "Dark Memory" }, { "Silvally-Dragon", "Silvally", "Dragon Memory" }, From b4792d3f7e3149d2d30e6560db590aa844cea366 Mon Sep 17 00:00:00 2001 From: kittenchilly Date: Thu, 25 Jul 2024 14:06:02 -0500 Subject: [PATCH 09/38] Add Axe Kick animation --- data/battle_anim_scripts.s | 22 ++++++++++++++++++---- src/battle_anim_new.c | 11 +++++++++++ 2 files changed, 29 insertions(+), 4 deletions(-) diff --git a/data/battle_anim_scripts.s b/data/battle_anim_scripts.s index aa62732c7d05..6bcf1271ec4a 100644 --- a/data/battle_anim_scripts.s +++ b/data/battle_anim_scripts.s @@ -17423,7 +17423,7 @@ Move_LAST_RESPECTS:: restorebg waitbgfadein end - + Move_TIDY_UP:: loadspritegfx ANIM_TAG_PINK_CLOUD monbg ANIM_ATTACKER @@ -17444,7 +17444,7 @@ Move_TIDY_UP:: clearmonbg ANIM_ATTACKER blendoff end - + Move_KOWTOW_CLEAVE:: loadspritegfx ANIM_TAG_SLASH loadspritegfx ANIM_TAG_CROSS_IMPACT @@ -17738,7 +17738,7 @@ Move_HYDRO_STEAM:: createvisualtask AnimTask_BlendBattleAnimPal, 10, F_PAL_TARGET, 3, 9, 0, RGB_RED waitforvisualfinish end - + Move_POUNCE:: loadspritegfx ANIM_TAG_IMPACT monbg ANIM_TARGET @@ -17844,8 +17844,22 @@ ElectroShotUnleash: blendoff end -Move_TERA_BLAST:: Move_AXE_KICK:: + loadspritegfx ANIM_TAG_HANDS_AND_FEET + loadspritegfx ANIM_TAG_IMPACT + playsewithpan SE_M_JUMP_KICK, SOUND_PAN_ATTACKER + createsprite gSlideMonToOffsetSpriteTemplate, ANIM_ATTACKER, 2, 0, 20, 0, 0, 4 + delay 0x7 + createsprite gAxeKickSpriteTemplate, ANIM_TARGET, 3 + delay 0x2 + playsewithpan SE_M_COMET_PUNCH, SOUND_PAN_TARGET + createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 1, 0, 0, ANIM_TARGET, 1 + createvisualtask AnimTask_SquishTarget, 0x2 + waitforvisualfinish + createsprite gSlideMonToOriginalPosSpriteTemplate, ANIM_ATTACKER, 2, 0, 1, 4 + end + +Move_TERA_BLAST:: Move_ORDER_UP:: Move_SPICY_EXTRACT:: Move_SPIN_OUT:: diff --git a/src/battle_anim_new.c b/src/battle_anim_new.c index fed928e747af..24ccaa2983e5 100644 --- a/src/battle_anim_new.c +++ b/src/battle_anim_new.c @@ -4771,6 +4771,17 @@ const struct SpriteTemplate gUltraBurstSymbolSpriteTemplate = .callback = AnimSpriteOnMonPos }; +const struct SpriteTemplate gAxeKickSpriteTemplate = +{ + .tileTag = ANIM_TAG_HANDS_AND_FEET, + .paletteTag = ANIM_TAG_HANDS_AND_FEET, + .oam = &gOamData_AffineOff_ObjNormal_32x32, + .anims = &gAnims_HandsAndFeet[2], + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = AnimBounceBallLand, +}; + // Z MOVES //activate const struct SpriteTemplate gZMoveSymbolSpriteTemplate = From a16448c081995257cd09a6a1193ef529a7d5f8cd Mon Sep 17 00:00:00 2001 From: kittenchilly Date: Thu, 25 Jul 2024 17:07:11 -0500 Subject: [PATCH 10/38] Update and clean up Battle Debug (#4643) * Update battle debug with new stuff * Fix status not showing up * Update hold effects as well * Update battle_debug.c * Update battle_debug.c --- src/battle_debug.c | 665 +++++++++++++++++++++++++++++++-------------- 1 file changed, 456 insertions(+), 209 deletions(-) diff --git a/src/battle_debug.c b/src/battle_debug.c index 4e9d5ecf297a..671a9057ef3f 100644 --- a/src/battle_debug.c +++ b/src/battle_debug.c @@ -118,42 +118,125 @@ enum enum { - ACTIVE_WIN_MAIN, - ACTIVE_WIN_SECONDARY, - ACTIVE_WIN_MODIFY + LIST_STAT_HP_CURRENT, + LIST_STAT_HP_MAX, + LIST_STAT_ATTACK, + LIST_STAT_DEFENSE, + LIST_STAT_SPEED, + LIST_STAT_SP_ATK, + LIST_STAT_SP_DEF, }; enum { - VAL_U8, - VAL_U16, - VAL_U32, - VAL_BITFIELD_8, - VAL_BITFIELD_16, - VAL_BITFIELD_32, - VAR_SIDE_STATUS, - VAR_SHOW_HP, - VAR_SUBSTITUTE, - VAR_IN_LOVE, - VAR_U16_4_ENTRIES, - VAL_S8, - VAL_ALL_STAT_STAGES, + LIST_STATUS1_SLEEP, + LIST_STATUS1_POISON, + LIST_STATUS1_BURN, + LIST_STATUS1_FREEZE, + LIST_STATUS1_PARALYSIS, + LIST_STATUS1_TOXIC_POISON, + LIST_STATUS1_TOXIC_COUNTER, + LIST_STATUS1_FROSTBITE, +}; + +enum +{ + LIST_STATUS2_CONFUSION, + LIST_STATUS2_FLINCHED, + LIST_STATUS2_TORMENT, + LIST_STATUS2_POWDER, + LIST_STATUS2_DEFENSE_CURL, + LIST_STATUS2_RECHARGE, + LIST_STATUS2_RAGE, + LIST_STATUS2_DESTINY_BOND, + LIST_STATUS2_ESCAPE_PREVENTION, + LIST_STATUS2_CURSED, + LIST_STATUS2_FORESIGHT, + LIST_STATUS2_DRAGON_CHEER, + LIST_STATUS2_FOCUS_ENERGY +}; + +enum +{ + LIST_STATUS3_LEECH_SEED_HEALER, + LIST_STATUS3_LEECH_SEEDED, + LIST_STATUS3_ALWAYS_HITS, + LIST_STATUS3_PERISH_SONG, + LIST_STATUS3_ON_AIR, + LIST_STATUS3_UNDERGROUND, + LIST_STATUS3_MINIMIZED, + LIST_STATUS3_CHARGED_UP, + LIST_STATUS3_ROOTED, + LIST_STATUS3_YAWN, + LIST_STATUS3_IMPRISONED_OTHERS, + LIST_STATUS3_GRUDGE, + LIST_STATUS3_GASTRO_ACID, + LIST_STATUS3_EMBARGO, + LIST_STATUS3_UNDERWATER, + LIST_STATUS3_SMACKED_DOWN, + LIST_STATUS3_TELEKINESIS, + LIST_STATUS3_MIRACLE_EYED, + LIST_STATUS3_MAGNET_RISE, + LIST_STATUS3_HEAL_BLOCK, + LIST_STATUS3_AQUA_RING, + LIST_STATUS3_LASER_FOCUS, + LIST_STATUS3_POWER_TRICK, +}; + +enum +{ + LIST_STATUS4_ELECTRIFIED, + LIST_STATUS4_MUD_SPORT, + LIST_STATUS4_WATER_SPORT, + LIST_STATUS4_SALT_CURE, + LIST_STATUS4_SYRUP_BOMB, + LIST_STATUS4_GLAIVE_RUSH, }; enum { LIST_SIDE_REFLECT, LIST_SIDE_LIGHTSCREEN, + LIST_SIDE_STICKY_WEB, LIST_SIDE_SPIKES, LIST_SIDE_SAFEGUARD, LIST_SIDE_MIST, + LIST_SIDE_TAILWIND, LIST_SIDE_AURORA_VEIL, LIST_SIDE_LUCKY_CHANT, - LIST_SIDE_TAILWIND, - LIST_SIDE_STEALTH_ROCK, LIST_SIDE_TOXIC_SPIKES, - LIST_SIDE_STICKY_WEB, + LIST_SIDE_STEALTH_ROCK, LIST_SIDE_STEELSURGE, + LIST_SIDE_DAMAGE_NON_TYPES, + LIST_SIDE_RAINBOW, + LIST_SIDE_SEA_OF_FIRE, + LIST_SIDE_SWAMP, +}; + +enum +{ + LIST_AI_CHECK_BAD_MOVE, + LIST_AI_TRY_TO_FAINT, + LIST_AI_CHECK_VIABILITY, + LIST_AI_SETUP_FIRST_TURN, + LIST_AI_RISKY, + LIST_AI_PREFER_STRONGEST_MOVE, + LIST_AI_PREFER_BATON_PASS, + LIST_AI_DOUBLE_BATTLE, + LIST_AI_HP_AWARE, + LIST_AI_POWERFUL_STATUS, + LIST_AI_NEGATE_UNAWARE, + LIST_AI_WILL_SUICIDE, + LIST_AI_HELP_PARTNER, + LIST_AI_PREFER_STATUS_MOVES, + LIST_AI_STALL, + LIST_AI_SMART_SWITCHING, + LIST_AI_ACE_POKEMON, + LIST_AI_OMNISCIENT, + LIST_AI_SMART_MON_CHOICES, + LIST_AI_ROAMING, + LIST_AI_SAFARI, + LIST_AI_FIRST_BATTLE, }; enum @@ -163,91 +246,166 @@ enum VARIOUS_IN_LOVE, }; +enum +{ + ACTIVE_WIN_MAIN, + ACTIVE_WIN_SECONDARY, + ACTIVE_WIN_MODIFY +}; + +enum +{ + VAL_U8, + VAL_U16, + VAL_U32, + VAL_BITFIELD_8, + VAL_BITFIELD_16, + VAL_BITFIELD_32, + VAR_SIDE_STATUS, + VAR_SHOW_HP, + VAR_SUBSTITUTE, + VAR_IN_LOVE, + VAR_U16_4_ENTRIES, + VAL_S8, + VAL_ALL_STAT_STAGES, +}; + // Static Declarations static const u8 *GetHoldEffectName(u16 holdEffect); // const rom data -static const u8 sText_HoldEffect[] = _("Hold Effect"); -static const u8 sText_Ability[] = _("Ability"); static const u8 sText_Moves[] = _("Moves"); +static const u8 sText_Ability[] = _("Ability"); +static const u8 sText_HeldItem[] = _("Held Item"); +static const u8 sText_HoldEffect[] = _("Hold Effect"); +static const u8 sText_PP[] = _("PP"); +static const u8 sText_Types[] = _("Types"); static const u8 sText_Stats[] = _("Stats"); static const u8 sText_StatStages[] = _("Stat Stages"); static const u8 sText_Status1[] = _("Status1"); static const u8 sText_Status2[] = _("Status2"); static const u8 sText_Status3[] = _("Status3"); static const u8 sText_Status4[] = _("Status4"); -static const u8 sText_HeldItem[] = _("Held Item"); static const u8 sText_SideStatus[] = _("Side Status"); -static const u8 sText_MaxHp[] = _("HP Max"); +static const u8 sText_AI[] = _("AI"); +static const u8 sText_AIMovePts[] = _("AI Pts/Dmg"); +static const u8 sText_AiKnowledge[] = _("AI Info"); +static const u8 sText_AiParty[] = _("AI Party"); +static const u8 sText_Various[] = _("Various"); static const u8 sText_CurrHp[] = _("HP Current"); +static const u8 sText_MaxHp[] = _("HP Max"); +static const u8 sText_Attack[] = _("Attack"); +static const u8 sText_Defense[] = _("Defense"); +static const u8 sText_Speed[] = _("Speed"); +static const u8 sText_SpAtk[] = _("Sp. Atk"); +static const u8 sText_SpDef[] = _("Sp. Def"); +static const u8 sText_Sleep[] = _("Sleep"); +static const u8 sText_Poison[] = _("Poison"); +static const u8 sText_Burn[] = _("Burn"); static const u8 sText_Freeze[] = _("Freeze"); -static const u8 sText_Frostbite[] = _("Frostbite"); +static const u8 sText_Paralysis[] = _("Paralysis"); static const u8 sText_ToxicPoison[] = _("Toxic Poison"); static const u8 sText_ToxicCounter[] = _("Toxic Counter"); -static const u8 sText_Flinch[] = _("Flinch"); +static const u8 sText_Frostbite[] = _("Frostbite"); +static const u8 sText_Confusion[] = _("Confusion"); +static const u8 sText_Flinched[] = _("Flinched"); static const u8 sText_Uproar[] = _("Uproar"); +static const u8 sText_Torment[] = _("Torment"); static const u8 sText_Bide[] = _("Bide"); static const u8 sText_LockConfuse[] = _("Lock Confuse"); -static const u8 sText_MultipleTurns[] = _("MultipleTurns"); -static const u8 sText_FocusEnergy[] = _("Focus Energy"); +static const u8 sText_MultipleTurns[] = _("Multiple Turns"); +static const u8 sText_Wrapped[] = _("Wrapped"); +static const u8 sText_Powder[] = _("Powder"); +static const u8 sText_Infatuation[] = _("Infatuation"); +static const u8 sText_DefenseCurl[] = _("Defense Curl"); static const u8 sText_Transformed[] = _("Transformed"); static const u8 sText_Recharge[] = _("Recharge"); static const u8 sText_Rage[] = _("Rage"); static const u8 sText_Substitute[] = _("Substitute"); -static const u8 sText_SubstituteHp[] = _("Substitute HP"); static const u8 sText_DestinyBond[] = _("Destiny Bond"); -static const u8 sText_CantEscape[] = _("Cant Escape"); +static const u8 sText_EscapePrevention[] = _("Escape Prevention"); static const u8 sText_Nightmare[] = _("Nightmare"); static const u8 sText_Cursed[] = _("Cursed"); -static const u8 sText_Foresight[] = _("Foresighted"); -static const u8 sText_DefenseCurl[] = _("Def Curled"); -static const u8 sText_Tormented[] = _("Tormented"); -static const u8 sText_AlwaysHits[] = _("Sure Hit"); +static const u8 sText_Foresight[] = _("Foresight"); +static const u8 sText_DragonCheer[] = _("Dragon Cheer"); +static const u8 sText_FocusEnergy[] = _("Focus Energy"); +static const u8 sText_LeechSeedHealer[] = _("Leech Seed Healer"); +static const u8 sText_LeechSeeded[] = _("Leech Seeded"); +static const u8 sText_AlwaysHits[] = _("Always Hits"); +static const u8 sText_PerishSong[] = _("Perish Song"); +static const u8 sText_OnAir[] = _("On Air"); +static const u8 sText_Underground[] = _("Underground"); +static const u8 sText_Minimized[] = _("Minimized"); static const u8 sText_ChargedUp[] = _("Charged Up"); static const u8 sText_Rooted[] = _("Rooted"); -static const u8 sText_Yawned[] = _("Yawned"); -static const u8 sText_Minimized[] = _("Minimized"); -static const u8 sText_NoCrit[] = _("No Crit"); -static const u8 sText_Imprisoned[] = _("Imprison"); +static const u8 sText_Yawn[] = _("Yawn"); +static const u8 sText_ImprisonedOthers[] = _("Imprisoned Others"); +static const u8 sText_Grudge[] = _("Grudge"); +static const u8 sText_GastroAcid[] = _("Gastro Acid"); +static const u8 sText_Embargo[] = _("Embargo"); +static const u8 sText_Underwater[] = _("Underwater"); +static const u8 sText_Trace[] = _("Trace"); +static const u8 sText_SmackedDown[] = _("Smacked Down"); +static const u8 sText_MeFirst[] = _("Me First"); +static const u8 sText_Telekinesis[] = _("Telekinesis"); +static const u8 sText_PhantomForce[] = _("Phantom Force"); +static const u8 sText_MiracleEyed[] = _("Miracle Eyed"); +static const u8 sText_MagnetRise[] = _("Magnet Rise"); +static const u8 sText_HealBlock[] = _("Heal Block"); +static const u8 sText_AquaRing[] = _("Aqua Ring"); +static const u8 sText_LaserFocus[] = _("Laser Focus"); +static const u8 sText_PowerTrick[] = _("Power Trick"); +static const u8 sText_SkyDropped[] = _("Sky Dropped"); +static const u8 sText_Electrified[] = _("Electrified"); +static const u8 sText_MudSport[] = _("Mud Sport"); +static const u8 sText_WaterSport[] = _("Water Sport"); +static const u8 sText_InfiniteConfusion[] = _("Infinite Confusion"); +static const u8 sText_SaltCure[] = _("Salt Cure"); +static const u8 sText_SyrupBomb[] = _("Syrup Bomb"); +static const u8 sText_GlaiveRush[] = _("Glaive Rush"); static const u8 sText_Reflect[] = _("Reflect"); static const u8 sText_LightScreen[] = _("Light Screen"); +static const u8 sText_StickyWeb[] = _("Sticky Web"); static const u8 sText_Spikes[] = _("Spikes"); static const u8 sText_Safeguard[] = _("Safeguard"); +static const u8 sText_FutureAttack[] = _("Future Attack"); static const u8 sText_Mist[] = _("Mist"); -static const u8 sText_ShowOpponentHP[] = _("Opponent Hp"); -static const u8 sText_Types[] = _("Types"); -static const u8 sText_GastroAcid[] = _("Gastro Acid"); -static const u8 sText_SmackDown[] = _("Smacked Down"); -static const u8 sText_MiracleEye[] = _("Miracle Eye"); -static const u8 sText_AquaRing[] = _("Aqua Ring"); -static const u8 sText_LaserFocus[] = _("Laser Focused"); -static const u8 sText_Electrified[] = _("Electrified"); +static const u8 sText_Tailwind[] = _("Tailwind"); static const u8 sText_AuroraVeil[] = _("Aurora Veil"); static const u8 sText_LuckyChant[] = _("Lucky Chant"); -static const u8 sText_Tailwind[] = _("Tailwind"); -static const u8 sText_PP[] = _("PP"); -static const u8 sText_StealthRock[] = _("Stealth Rock"); static const u8 sText_ToxicSpikes[] = _("Toxic Spikes"); -static const u8 sText_StickyWeb[] = _("Sticky Web"); +static const u8 sText_StealthRock[] = _("Stealth Rock"); static const u8 sText_Steelsurge[] = _("Steelsurge"); -static const u8 sText_AI[] = _("AI"); -static const u8 sText_NoBadMoves[] = _("No Bad Moves"); -static const u8 sText_Viability[] = _("Viability"); -static const u8 sText_TryFaint[] = _("Try Faint"); -static const u8 sText_SetUpFirstTurn[] = _("Setup 1 turn"); +static const u8 sText_DamageNonTypes[] = _("Damage Non-Types"); +static const u8 sText_Rainbow[] = _("Rainbow"); +static const u8 sText_SeaOfFire[] = _("Sea of Fire"); +static const u8 sText_Swamp[] = _("Swamp"); +static const u8 sText_CheckBadMove[] = _("Check Bad Move"); +static const u8 sText_TryToFaint[] = _("Try to Faint"); +static const u8 sText_CheckViability[] = _("Check Viability"); +static const u8 sText_SetUpFirstTurn[] = _("Setup First Turn"); static const u8 sText_Risky[] = _("Risky"); -static const u8 sText_StrongestMove[] = _("Most dmg move"); -static const u8 sText_Various[] = _("Various"); +static const u8 sText_PreferStrongestMove[] = _("Prefer Strongest Move"); +static const u8 sText_PreferBatonPass[] = _("Prefer Baton Pass"); +static const u8 sText_DoubleBattle[] = _("Double Battle"); +static const u8 sText_HpAware[] = _("HP Aware"); +static const u8 sText_PowerfulStatus[] = _("Powerful Status"); +static const u8 sText_NegateUnaware[] = _("Negate Unaware"); +static const u8 sText_WillSuicide[] = _("Will Suicide"); +static const u8 sText_HelpPartner[] = _("Help Partner"); +static const u8 sText_PreferStatusMoves[] = _("Prefer Status Moves"); +static const u8 sText_Stall[] = _("Stall"); +static const u8 sText_SmartSwitching[] = _("Smart Switching"); +static const u8 sText_AcePokemon[] = _("Ace Pokemon"); +static const u8 sText_Omniscient[] = _("Omniscient"); +static const u8 sText_SmartMonChoices[] = _("Smart Mon Choices"); +static const u8 sText_Roaming[] = _("Roaming"); +static const u8 sText_Safari[] = _("Safari"); +static const u8 sText_FirstBattle[] = _("First Battle"); static const u8 sText_ShowHP[] = _("Show HP"); -static const u8 sText_PreferBatonPass[] = _("Baton Pass"); -static const u8 sText_InDoubles[] = _("In Doubles"); -static const u8 sText_HpAware[] = _("HP aware"); -static const u8 sText_Unknown[] = _("Unknown"); +static const u8 sText_SubstituteHp[] = _("Substitute HP"); static const u8 sText_InLove[] = _("In Love"); -static const u8 sText_AIMovePts[] = _("AI Pts/Dmg"); -static const u8 sText_AiKnowledge[] = _("AI Info"); -static const u8 sText_AiParty[] = _("AI Party"); - +static const u8 sText_Unknown[] = _("Unknown"); static const u8 sText_EmptyString[] = _(""); static const struct BitfieldInfo sStatus1Bitfield[] = @@ -265,78 +423,86 @@ static const struct BitfieldInfo sStatus1Bitfield[] = static const struct BitfieldInfo sStatus2Bitfield[] = { {/*Confusion*/ 3, 0}, - {/*Flinch*/ 1, 3}, - {/*Uproar*/ 3, 4}, - // Bit 7 is unused. - {/*Bide*/ 2, 8}, - {/*Lock Confuse*/ 2, 10}, - {/*Multiple Turns*/ 1, 12}, - // Wrap bits are omitted. Done in various. - // In Love bits are omitted. Done in various. - {/*(Focus Energy*/ 1, 20}, - {/*Transformed*/ 1, 21}, + {/*Flinched*/ 1, 3}, + {/*Torment*/ 1, 7}, + {/*Powder*/ 1, 14}, + {/*Defense Curl*/ 1, 20}, {/*Recharge*/ 1, 22}, {/*Rage*/ 1, 23}, - {/*Substitute*/ 1, 24}, - {/*Destiny bond*/ 1, 25}, - {/*Can't escape*/ 1, 26}, - {/*Nightmares*/ 1, 27}, + {/*Destiny Bond*/ 1, 25}, + {/*Escape Prevention*/ 1, 26}, {/*Cursed*/ 1, 28}, - {/*Foresighted*/ 1, 29}, - {/*Defense Curled*/ 1, 30}, - {/*Tormented*/ 1, 31}, + {/*Foresight*/ 1, 29}, + {/*Dragon Cheer*/ 1, 30}, + {/*Focus Energy*/ 1, 31}, }; static const struct BitfieldInfo sStatus3Bitfield[] = { - {/*Always hits*/ 2, 4}, - //*Perish Song*/ 1, 5}, - // On Air 1, 6, - // Underground 1, 7, + {/*Leech Seed Battler*/ 2, 0}, + {/*Leech Seed*/ 1, 2}, + {/*Always Hits*/ 2, 3}, + {/*Perish Song*/ 1, 5}, + {/*On Air*/ 1, 6}, + {/*Underground*/ 1, 7}, {/*Minimized*/ 1, 8}, {/*Charged Up*/ 1, 9}, {/*Rooted*/ 1, 10}, {/*Yawn*/ 2, 11}, - {/*Imprison*/ 1, 13}, - // Grudge 1, 14, - {/*No Crit*/ 1, 15}, + {/*Imprisoned Others*/ 1, 13}, + {/*Grudge*/ 1, 14}, {/*Gastro Acid*/ 1, 16}, - // Embargo 1, 17, - // Underwater 1, 18, - // Intimidated Mons 1, 19, - // Traced 1, 20, + {/*Embargo*/ 1, 17}, + {/*Underwater*/ 1, 18}, {/*Smacked Down*/ 1, 21}, - // Me First 1, 22, - // Telekinesis 1, 23, - // Phantom Force 1, 24}, + {/*Telekinesis*/ 1, 23}, {/*Miracle Eyed*/ 1, 25}, - // Magnet Rise 1, 26, - // Heal Block 1, 27, + {/*Magnet Rise*/ 1, 26}, + {/*Heal Blocked*/ 1, 27}, {/*Aqua Ring*/ 1, 28}, {/*Laser Focus*/ 1, 29}, - // Power Trick 1, 30, + {/*Power Trick*/ 1, 30}, }; static const struct BitfieldInfo sStatus4Bitfield[] = { - {/*Electrified*/ 1, 0,} + {/*Electrified*/ 1, 0}, + {/*Mud Sport*/ 1, 1}, + {/*Water Sport*/ 1, 2}, + {/*Salt Cure*/ 1, 4}, + {/*Syrup Bomb*/ 1, 5}, + {/*Glaive Rush*/ 1, 6}, }; static const struct BitfieldInfo sAIBitfield[] = { - {/*Check bad move*/ 1, 0}, - {/*Try To Faint*/ 1, 1}, - {/*Viability*/ 1, 2}, - {/*Set up first turn*/ 1, 3}, + {/*Check Bad Move*/ 1, 0}, + {/*Try to Faint*/ 1, 1}, + {/*Check Viability*/ 1, 2}, + {/*Setup First Turn*/ 1, 3}, {/*Risky*/ 1, 4}, {/*Prefer Strongest Move*/ 1, 5}, {/*Prefer Baton Pass*/ 1, 6}, - {/*In Doubles*/ 1, 7}, - {/*Hp aware*/ 1, 8}, - {/*Unknown*/ 1, 9}, + {/*Double Battle*/ 1, 7}, + {/*HP Aware*/ 1, 8}, + {/*Powerful Status*/ 1, 9}, + {/*Negate Unaware*/ 1, 10}, + {/*Will Suicide*/ 1, 11}, + {/*Help Partner*/ 1, 12}, + {/*Prefer Status Moves*/ 1, 13}, + {/*Stall*/ 1, 14}, + {/*Smart Switching*/ 1, 15}, + {/*Ace Pokemon*/ 1, 16}, + {/*Omniscient*/ 1, 17}, + {/*Smart Mon Choices*/ 1, 18}, + {/*Ace Pokemon*/ 1, 16}, + {/*Omniscient*/ 1, 17}, + {/*Smart Mon Choices*/ 1, 18}, + {/*Roaming*/ 1, 29}, + {/*Safari*/ 1, 30}, + {/*First Battle*/ 1, 31}, }; - static const struct ListMenuItem sMainListItems[] = { {sText_Moves, LIST_ITEM_MOVES}, @@ -358,106 +524,134 @@ static const struct ListMenuItem sMainListItems[] = {sText_Various, LIST_ITEM_VARIOUS}, }; -static const struct ListMenuItem sVariousListItems[] = -{ - {sText_ShowHP, VARIOUS_SHOW_HP}, - {sText_SubstituteHp, VARIOUS_SUBSTITUTE_HP}, - {sText_InLove, VARIOUS_IN_LOVE}, -}; - -static const struct ListMenuItem sAIListItems[] = -{ - {sText_NoBadMoves, 0}, - {sText_TryFaint, 1}, - {sText_Viability, 2}, - {sText_SetUpFirstTurn, 3}, - {sText_Risky, 4}, - {sText_StrongestMove, 5}, - {sText_PreferBatonPass, 6}, - {sText_InDoubles, 7}, - {sText_HpAware, 8}, - // {sText_Unknown, 9}, -}; - static const struct ListMenuItem sStatsListItems[] = { - {sText_CurrHp, 0}, - {sText_MaxHp, 1}, - {gText_Attack, 2}, - {gText_Defense, 3}, - {gText_Speed, 4}, - {gText_SpAtk, 5}, - {gText_SpDef, 6}, + {sText_CurrHp, LIST_STAT_HP_CURRENT}, + {sText_MaxHp, LIST_STAT_HP_MAX}, + {sText_Attack, LIST_STAT_ATTACK}, + {sText_Defense, LIST_STAT_DEFENSE}, + {sText_Speed, LIST_STAT_SPEED}, + {sText_SpAtk, LIST_STAT_SP_ATK}, + {sText_SpDef, LIST_STAT_SP_DEF}, }; static const struct ListMenuItem sStatus1ListItems[] = { - {gText_Sleep, 0}, - {gText_Poison, 1}, - {gText_Burn, 2}, - {sText_Freeze, 3}, - {gText_Paralysis, 4}, - {sText_ToxicPoison, 5}, - {sText_ToxicCounter, 6}, - {sText_Frostbite, 7}, + {sText_Sleep, LIST_STATUS1_SLEEP}, + {sText_Poison, LIST_STATUS1_POISON}, + {sText_Burn, LIST_STATUS1_BURN}, + {sText_Freeze, LIST_STATUS1_FREEZE}, + {sText_Paralysis, LIST_STATUS1_PARALYSIS}, + {sText_ToxicPoison, LIST_STATUS1_TOXIC_POISON}, + {sText_ToxicCounter, LIST_STATUS1_TOXIC_COUNTER}, + {sText_Frostbite, LIST_STATUS1_FROSTBITE}, }; static const struct ListMenuItem sStatus2ListItems[] = { - {gText_Confusion, 0}, - {sText_Flinch, 1}, - {sText_Uproar, 2}, - {sText_Bide, 3}, - {sText_LockConfuse, 4}, - {sText_MultipleTurns, 5}, - {sText_FocusEnergy, 6}, - {sText_Recharge, 7}, - {sText_Rage, 8}, - {sText_Substitute, 9}, - {sText_DestinyBond, 10}, - {sText_CantEscape, 11}, - {sText_Nightmare, 12}, - {sText_Cursed, 13}, - {sText_Foresight, 14}, - {sText_DefenseCurl, 15}, - {sText_Tormented, 16}, + {sText_Confusion, LIST_STATUS2_CONFUSION}, + {sText_Flinched, LIST_STATUS2_FLINCHED}, + {sText_Torment, LIST_STATUS2_TORMENT}, + {sText_Powder, LIST_STATUS2_POWDER}, + {sText_DefenseCurl, LIST_STATUS2_DEFENSE_CURL}, + {sText_Recharge, LIST_STATUS2_RECHARGE}, + {sText_Rage, LIST_STATUS2_RAGE}, + {sText_DestinyBond, LIST_STATUS2_DESTINY_BOND}, + {sText_EscapePrevention, LIST_STATUS2_ESCAPE_PREVENTION}, + {sText_Cursed, LIST_STATUS2_CURSED}, + {sText_Foresight, LIST_STATUS2_FORESIGHT}, + {sText_DragonCheer, LIST_STATUS2_DRAGON_CHEER}, + {sText_FocusEnergy, LIST_STATUS2_FOCUS_ENERGY}, }; static const struct ListMenuItem sStatus3ListItems[] = { - {sText_AlwaysHits, 0}, - {sText_Minimized, 1}, - {sText_ChargedUp, 2}, - {sText_Rooted, 3}, - {sText_Yawned, 4}, - {sText_Imprisoned, 5}, - {sText_NoCrit, 6}, - {sText_GastroAcid, 7}, - {sText_SmackDown, 8}, - {sText_MiracleEye, 9}, - {sText_AquaRing, 10}, - {sText_LaserFocus, 11}, + {sText_LeechSeedHealer, LIST_STATUS3_LEECH_SEED_HEALER}, + {sText_LeechSeeded, LIST_STATUS3_LEECH_SEEDED}, + {sText_AlwaysHits, LIST_STATUS3_ALWAYS_HITS}, + {sText_PerishSong, LIST_STATUS3_PERISH_SONG}, + {sText_OnAir, LIST_STATUS3_ON_AIR}, + {sText_Underground, LIST_STATUS3_UNDERGROUND}, + {sText_Minimized, LIST_STATUS3_MINIMIZED}, + {sText_ChargedUp, LIST_STATUS3_CHARGED_UP}, + {sText_Rooted, LIST_STATUS3_ROOTED}, + {sText_Yawn, LIST_STATUS3_YAWN}, + {sText_ImprisonedOthers, LIST_STATUS3_IMPRISONED_OTHERS}, + {sText_Grudge, LIST_STATUS3_GRUDGE}, + {sText_GastroAcid, LIST_STATUS3_GASTRO_ACID}, + {sText_Embargo, LIST_STATUS3_EMBARGO}, + {sText_Underwater, LIST_STATUS3_UNDERWATER}, + {sText_SmackedDown, LIST_STATUS3_SMACKED_DOWN}, + {sText_Telekinesis, LIST_STATUS3_TELEKINESIS}, + {sText_MiracleEyed, LIST_STATUS3_MIRACLE_EYED}, + {sText_MagnetRise, LIST_STATUS3_MAGNET_RISE}, + {sText_HealBlock, LIST_STATUS3_HEAL_BLOCK}, + {sText_AquaRing, LIST_STATUS3_AQUA_RING}, + {sText_LaserFocus, LIST_STATUS3_LASER_FOCUS}, + {sText_PowerTrick, LIST_STATUS3_POWER_TRICK}, }; static const struct ListMenuItem sStatus4ListItems[] = { - {sText_Electrified, 0}, + {sText_Electrified, LIST_STATUS4_ELECTRIFIED}, + {sText_MudSport, LIST_STATUS4_MUD_SPORT}, + {sText_WaterSport, LIST_STATUS4_WATER_SPORT}, + {sText_SaltCure, LIST_STATUS4_SALT_CURE}, + {sText_SyrupBomb, LIST_STATUS4_SYRUP_BOMB}, + {sText_GlaiveRush, LIST_STATUS4_GLAIVE_RUSH}, }; static const struct ListMenuItem sSideStatusListItems[] = { {sText_Reflect, LIST_SIDE_REFLECT}, {sText_LightScreen, LIST_SIDE_LIGHTSCREEN}, + {sText_StickyWeb, LIST_SIDE_STICKY_WEB}, {sText_Spikes, LIST_SIDE_SPIKES}, {sText_Safeguard, LIST_SIDE_SAFEGUARD}, {sText_Mist, LIST_SIDE_MIST}, + {sText_Tailwind, LIST_SIDE_TAILWIND}, {sText_AuroraVeil, LIST_SIDE_AURORA_VEIL}, {sText_LuckyChant, LIST_SIDE_LUCKY_CHANT}, - {sText_Tailwind, LIST_SIDE_TAILWIND}, - {sText_StealthRock, LIST_SIDE_STEALTH_ROCK}, {sText_ToxicSpikes, LIST_SIDE_TOXIC_SPIKES}, - {sText_StickyWeb, LIST_SIDE_STICKY_WEB}, + {sText_StealthRock, LIST_SIDE_STEALTH_ROCK}, {sText_Steelsurge, LIST_SIDE_STEELSURGE}, + {sText_DamageNonTypes, LIST_SIDE_DAMAGE_NON_TYPES}, + {sText_Rainbow, LIST_SIDE_RAINBOW}, + {sText_SeaOfFire, LIST_SIDE_SEA_OF_FIRE}, + {sText_Swamp, LIST_SIDE_SWAMP}, +}; + +static const struct ListMenuItem sAIListItems[] = +{ + {sText_CheckBadMove, LIST_AI_CHECK_BAD_MOVE}, + {sText_TryToFaint, LIST_AI_TRY_TO_FAINT}, + {sText_CheckViability, LIST_AI_CHECK_VIABILITY}, + {sText_SetUpFirstTurn, LIST_AI_SETUP_FIRST_TURN}, + {sText_Risky, LIST_AI_RISKY}, + {sText_PreferStrongestMove, LIST_AI_PREFER_STRONGEST_MOVE}, + {sText_PreferBatonPass, LIST_AI_PREFER_BATON_PASS}, + {sText_DoubleBattle, LIST_AI_DOUBLE_BATTLE}, + {sText_HpAware, LIST_AI_HP_AWARE}, + {sText_PowerfulStatus, LIST_AI_POWERFUL_STATUS}, + {sText_NegateUnaware, LIST_AI_NEGATE_UNAWARE}, + {sText_WillSuicide, LIST_AI_WILL_SUICIDE}, + {sText_HelpPartner, LIST_AI_HELP_PARTNER}, + {sText_PreferStatusMoves, LIST_AI_PREFER_STATUS_MOVES}, + {sText_Stall, LIST_AI_STALL}, + {sText_SmartSwitching, LIST_AI_SMART_SWITCHING}, + {sText_AcePokemon, LIST_AI_ACE_POKEMON}, + {sText_Omniscient, LIST_AI_OMNISCIENT}, + {sText_SmartMonChoices, LIST_AI_SMART_MON_CHOICES}, + {sText_Roaming, LIST_AI_ROAMING}, + {sText_Safari, LIST_AI_SAFARI}, + {sText_FirstBattle, LIST_AI_FIRST_BATTLE}, +}; + +static const struct ListMenuItem sVariousListItems[] = +{ + {sText_ShowHP, VARIOUS_SHOW_HP}, + {sText_SubstituteHp, VARIOUS_SUBSTITUTE_HP}, + {sText_InLove, VARIOUS_IN_LOVE}, }; static const struct ListMenuItem sSecondaryListItems[] = @@ -527,7 +721,7 @@ static const struct WindowTemplate sMainListWindowTemplate = .width = 9, .height = 12, .paletteNum = 0xF, - .baseBlock = 0x2 + .baseBlock = 0x1 }; static const struct WindowTemplate sSecondaryListWindowTemplate = @@ -535,10 +729,10 @@ static const struct WindowTemplate sSecondaryListWindowTemplate = .bg = 0, .tilemapLeft = 12, .tilemapTop = 3, - .width = 10, - .height = 2, + .width = 20, + .height = 16, .paletteNum = 0xF, - .baseBlock = 0xA0 + .baseBlock = 0x6D }; static const struct WindowTemplate sModifyWindowTemplate = @@ -549,7 +743,7 @@ static const struct WindowTemplate sModifyWindowTemplate = .width = 4, .height = 2, .paletteNum = 0xF, - .baseBlock = 0x200 + .baseBlock = 0x1AD }; static const struct WindowTemplate sBattlerWindowTemplate = @@ -560,7 +754,7 @@ static const struct WindowTemplate sBattlerWindowTemplate = .width = 14, .height = 2, .paletteNum = 0xF, - .baseBlock = 0x300 + .baseBlock = 0x1B5 }; static const struct BgTemplate sBgTemplates[] = @@ -1363,7 +1557,6 @@ static void CreateSecondaryListMenu(struct BattleDebugMenu *data) listTemplate.items = sStatus2ListItems; itemsCount = ARRAY_COUNT(sStatus2ListItems); data->bitfield = sStatus2Bitfield; - winTemplate.height = 1; break; case LIST_ITEM_STATUS3: listTemplate.items = sStatus3ListItems; @@ -1394,7 +1587,6 @@ static void CreateSecondaryListMenu(struct BattleDebugMenu *data) } data->secondaryListItemCount = itemsCount; - winTemplate.height *= itemsCount; data->secondaryListWindowId = AddWindow(&winTemplate); listTemplate.totalItems = itemsCount; @@ -1411,10 +1603,10 @@ static void PadString(const u8 *src, u8 *dst) { u32 i; - for (i = 0; i < 17 && src[i] != EOS; i++) + for (i = 0; i < 19 && src[i] != EOS; i++) dst[i] = src[i]; - for (; i < 17; i++) + for (; i < 19; i++) dst[i] = CHAR_SPACE; dst[i] = EOS; @@ -1516,11 +1708,10 @@ static void PrintSecondaryEntries(struct BattleDebugMenu *data) static void DestroyModifyArrows(struct BattleDebugMenu *data) { - FreeSpritePaletteByTag(gSpritePalette_Arrow.tag); if (data->modifyArrows.arrowSpriteId[0] != 0xFF) - DestroySprite(&gSprites[data->modifyArrows.arrowSpriteId[0]]); + DestroySpriteAndFreeResources(&gSprites[data->modifyArrows.arrowSpriteId[0]]); if (data->modifyArrows.arrowSpriteId[1] != 0xFF) - DestroySprite(&gSprites[data->modifyArrows.arrowSpriteId[1]]); + DestroySpriteAndFreeResources(&gSprites[data->modifyArrows.arrowSpriteId[1]]); } static void PrintDigitChars(struct BattleDebugMenu *data) @@ -1533,6 +1724,7 @@ static void PrintDigitChars(struct BattleDebugMenu *data) text[i] = EOS; + FillWindowPixelBuffer(data->modifyWindowId, 0x11); AddTextPrinterParameterized(data->modifyWindowId, FONT_NORMAL, text, 3, 0, 0, NULL); } @@ -1686,6 +1878,17 @@ static u8 *GetSideStatusValue(struct BattleDebugMenu *data, bool32 changeStatus, sideTimer->lightscreenBattlerId = data->battlerId; } return &sideTimer->lightscreenTimer; + case LIST_SIDE_STICKY_WEB: + if (changeStatus) + { + if (statusTrue) + *(u32 *)(data->modifyArrows.modifiedValPtr) |= SIDE_STATUS_STICKY_WEB; + else + *(u32 *)(data->modifyArrows.modifiedValPtr) &= ~SIDE_STATUS_STICKY_WEB; + sideTimer->stickyWebBattlerId = data->battlerId; + sideTimer->stickyWebBattlerSide = GetBattlerSide(data->battlerId); + } + return &sideTimer->stickyWebAmount; case LIST_SIDE_SPIKES: if (changeStatus) { @@ -1715,6 +1918,16 @@ static u8 *GetSideStatusValue(struct BattleDebugMenu *data, bool32 changeStatus, sideTimer->mistBattlerId = data->battlerId; } return &sideTimer->mistTimer; + case LIST_SIDE_TAILWIND: + if (changeStatus) + { + if (statusTrue) + *(u32 *)(data->modifyArrows.modifiedValPtr) |= SIDE_STATUS_TAILWIND; + else + *(u32 *)(data->modifyArrows.modifiedValPtr) &= ~SIDE_STATUS_TAILWIND; + sideTimer->tailwindBattlerId = data->battlerId; + } + return &sideTimer->tailwindTimer; case LIST_SIDE_AURORA_VEIL: if (changeStatus) { @@ -1735,16 +1948,15 @@ static u8 *GetSideStatusValue(struct BattleDebugMenu *data, bool32 changeStatus, sideTimer->luckyChantBattlerId = data->battlerId; } return &sideTimer->luckyChantTimer; - case LIST_SIDE_TAILWIND: + case LIST_SIDE_TOXIC_SPIKES: if (changeStatus) { if (statusTrue) - *(u32 *)(data->modifyArrows.modifiedValPtr) |= SIDE_STATUS_TAILWIND; + *(u32 *)(data->modifyArrows.modifiedValPtr) |= SIDE_STATUS_TOXIC_SPIKES; else - *(u32 *)(data->modifyArrows.modifiedValPtr) &= ~SIDE_STATUS_TAILWIND; - sideTimer->tailwindBattlerId = data->battlerId; + *(u32 *)(data->modifyArrows.modifiedValPtr) &= ~SIDE_STATUS_TOXIC_SPIKES; } - return &sideTimer->tailwindTimer; + return &sideTimer->toxicSpikesAmount; case LIST_SIDE_STEALTH_ROCK: if (changeStatus) { @@ -1754,33 +1966,52 @@ static u8 *GetSideStatusValue(struct BattleDebugMenu *data, bool32 changeStatus, *(u32 *)(data->modifyArrows.modifiedValPtr) &= ~SIDE_STATUS_STEALTH_ROCK; } return &sideTimer->stealthRockAmount; - case LIST_SIDE_TOXIC_SPIKES: + case LIST_SIDE_STEELSURGE: if (changeStatus) { if (statusTrue) - *(u32 *)(data->modifyArrows.modifiedValPtr) |= SIDE_STATUS_TOXIC_SPIKES; + *(u32 *)(data->modifyArrows.modifiedValPtr) |= SIDE_STATUS_STEELSURGE; else - *(u32 *)(data->modifyArrows.modifiedValPtr) &= ~SIDE_STATUS_TOXIC_SPIKES; + *(u32 *)(data->modifyArrows.modifiedValPtr) &= ~SIDE_STATUS_STEELSURGE; } - return &sideTimer->toxicSpikesAmount; - case LIST_SIDE_STICKY_WEB: + return &sideTimer->steelsurgeAmount; + case LIST_SIDE_DAMAGE_NON_TYPES: if (changeStatus) { if (statusTrue) - *(u32 *)(data->modifyArrows.modifiedValPtr) |= SIDE_STATUS_STICKY_WEB; + *(u32 *)(data->modifyArrows.modifiedValPtr) |= SIDE_STATUS_DAMAGE_NON_TYPES; else - *(u32 *)(data->modifyArrows.modifiedValPtr) &= ~SIDE_STATUS_STICKY_WEB; + *(u32 *)(data->modifyArrows.modifiedValPtr) &= ~SIDE_STATUS_DAMAGE_NON_TYPES; + sideTimer->damageNonTypesType = gMovesInfo[gCurrentMove].type; } - return &sideTimer->stickyWebAmount; - case LIST_SIDE_STEELSURGE: + return &sideTimer->damageNonTypesTimer; + case LIST_SIDE_RAINBOW: if (changeStatus) { if (statusTrue) - *(u32 *)(data->modifyArrows.modifiedValPtr) |= SIDE_STATUS_STEELSURGE; + *(u32 *)(data->modifyArrows.modifiedValPtr) |= SIDE_STATUS_RAINBOW; else - *(u32 *)(data->modifyArrows.modifiedValPtr) &= ~SIDE_STATUS_STEELSURGE; + *(u32 *)(data->modifyArrows.modifiedValPtr) &= ~SIDE_STATUS_RAINBOW; } - return &sideTimer->steelsurgeAmount; + return &sideTimer->rainbowTimer; + case LIST_SIDE_SEA_OF_FIRE: + if (changeStatus) + { + if (statusTrue) + *(u32 *)(data->modifyArrows.modifiedValPtr) |= SIDE_STATUS_SEA_OF_FIRE; + else + *(u32 *)(data->modifyArrows.modifiedValPtr) &= ~SIDE_STATUS_SEA_OF_FIRE; + } + return &sideTimer->seaOfFireTimer; + case LIST_SIDE_SWAMP: + if (changeStatus) + { + if (statusTrue) + *(u32 *)(data->modifyArrows.modifiedValPtr) |= SIDE_STATUS_SWAMP; + else + *(u32 *)(data->modifyArrows.modifiedValPtr) &= ~SIDE_STATUS_SWAMP; + } + return &sideTimer->swampTimer; default: return NULL; } @@ -1847,14 +2078,15 @@ static void SetUpModifyArrows(struct BattleDebugMenu *data) data->modifyArrows.minValue = 0; data->modifyArrows.maxValue = 9999; data->modifyArrows.maxDigits = 4; - if (data->currentSecondaryListItemId == 0) + data->modifyArrows.typeOfVal = VAL_U16; + if (data->currentSecondaryListItemId == LIST_STAT_HP_CURRENT) { data->modifyArrows.modifiedValPtr = &gBattleMons[data->battlerId].hp; data->modifyArrows.currValue = gBattleMons[data->battlerId].hp; data->modifyArrows.minValue = 1; data->modifyArrows.maxValue = gBattleMons[data->battlerId].maxHP; } - else if (data->currentSecondaryListItemId == 1) + else if (data->currentSecondaryListItemId == LIST_STAT_HP_MAX) { data->modifyArrows.modifiedValPtr = &gBattleMons[data->battlerId].maxHP; data->modifyArrows.minValue = gBattleMons[data->battlerId].hp; @@ -1865,7 +2097,6 @@ static void SetUpModifyArrows(struct BattleDebugMenu *data) data->modifyArrows.modifiedValPtr = (u16 *)((&gBattleMons[data->battlerId].attack) + (data->currentSecondaryListItemId - 2)); data->modifyArrows.currValue = *(u16 *)((&gBattleMons[data->battlerId].attack) + (data->currentSecondaryListItemId - 2)); } - data->modifyArrows.typeOfVal = VAL_U16; break; case LIST_ITEM_STAT_STAGES: data->modifyArrows.minValue = 0; @@ -2196,6 +2427,14 @@ static const u8 sText_HoldEffectRoomService[] = _("Room Service"); static const u8 sText_HoldEffectBlunderPolicy[] = _("Blunder Policy"); static const u8 sText_HoldEffectHeavyDutyBoots[] = _("Heavy Duty Boots"); static const u8 sText_HoldEffectThroatSpray[] = _("Throat Spray"); +static const u8 sText_HoldEffectAbilityShield[] = _("Ability Shield"); +static const u8 sText_HoldEffectClearAmulet[] = _("Clear Amulet"); +static const u8 sText_HoldEffectMirrorHerb[] = _("Mirror Herb"); +static const u8 sText_HoldEffectPunchingGlove[] = _("Punching Glove"); +static const u8 sText_HoldEffectCovertCloak[] = _("Covert Cloak"); +static const u8 sText_HoldEffectLoadedDice[] = _("Loaded Dice"); +static const u8 sText_HoldEffectBoosterEnergy[] = _("Booster Energy"); +static const u8 sText_HoldEffectBerserkGene[] = _("Berserk Gene"); static const u8 *const sHoldEffectNames[] = { [HOLD_EFFECT_NONE] = sText_HoldEffectNone, @@ -2338,6 +2577,14 @@ static const u8 *const sHoldEffectNames[] = [HOLD_EFFECT_BLUNDER_POLICY] = sText_HoldEffectBlunderPolicy, [HOLD_EFFECT_HEAVY_DUTY_BOOTS] = sText_HoldEffectHeavyDutyBoots, [HOLD_EFFECT_THROAT_SPRAY] = sText_HoldEffectThroatSpray, + [HOLD_EFFECT_ABILITY_SHIELD] = sText_HoldEffectAbilityShield, + [HOLD_EFFECT_CLEAR_AMULET] = sText_HoldEffectClearAmulet, + [HOLD_EFFECT_MIRROR_HERB] = sText_HoldEffectMirrorHerb, + [HOLD_EFFECT_PUNCHING_GLOVE] = sText_HoldEffectPunchingGlove, + [HOLD_EFFECT_COVERT_CLOAK] = sText_HoldEffectCovertCloak, + [HOLD_EFFECT_LOADED_DICE] = sText_HoldEffectLoadedDice, + [HOLD_EFFECT_BOOSTER_ENERGY] = sText_HoldEffectBoosterEnergy, + [HOLD_EFFECT_BERSERK_GENE] = sText_HoldEffectBerserkGene, }; static const u8 *GetHoldEffectName(u16 holdEffect) { From 3d65141db892930a456168e043592248557774d1 Mon Sep 17 00:00:00 2001 From: hedara90 <90hedara@gmail.com> Date: Fri, 26 Jul 2024 00:07:43 +0200 Subject: [PATCH 11/38] Fixed Sandile sprite (#5038) Co-authored-by: Hedara --- graphics/pokemon/sandile/anim_front.png | Bin 694 -> 693 bytes graphics/pokemon/sandile/back.png | Bin 429 -> 371 bytes graphics/pokemon/sandile/normal.pal | 9 +++------ graphics/pokemon/sandile/shiny.pal | 9 +++------ 4 files changed, 6 insertions(+), 12 deletions(-) diff --git a/graphics/pokemon/sandile/anim_front.png b/graphics/pokemon/sandile/anim_front.png index 24d3545a42c07e309540a92ca8febb7058ab867e..ccf8146b3be070da16c44c72dcfe2b11f79e8886 100644 GIT binary patch delta 647 zcmV;20(kwl1+@i`7#auz0001tU!Pb20004VQb$4nuFf3k0000dktHR6&2xLHTw^Os z05|{u0z64XK~!jg?U-#>!ypWW8%RK_|Nr-z7ZAEl(oX%Nxt`gr>%Anv**QGh77B$z zp4<;!jcwp=tzF z@&aDc5Z6MS29=0pR`|VtAMiQ_a4iHyY&^0=ao9Qliu3^ddeNXFMXRr0*8wQa^GKZV zIs&Ey0C=#thXA&4(bPJCf<1vR$@5Es4#}NJ1jz)Te%2B=U|$8uYN=m`-`9M z2~Uk13WY+UP$(3C3jIa>AVUGf1AtID9OcMRz>cBwQG*-`a>G#cEZ+b`^REN$7|MhX zjDk26<({ET2?|jh2y)L*4gf-qo=XJrkfF=~!eJO+Fq8oxo@FQoAcSBn5yti#>$v#9PCCqjR6fM^x+Xt6%tQ3s%$ z!z1T6--Hky(AdCdZW65un90=JfCGH#01g>|ZVG_F0>Yes;6FI8^#OL~vH%ZwvEx4t zpaEtYm~R8Mf}Hbtc#q5XI$~>U#HQ4$&bfaKE3I%w^zjn#)>LEfT5h15p_|{A>#vu> z>!?;HoraWirV@T9^no@d5rb#udq@<27AoDa;1%XFULsl5_y>uaxP~*`@nE0+bG)?y^kBkN?=>DO09Qnerwa=1Lp| zqsL$#Fl_K57(M<#aX_4o_(K-^aWLi&8P?M=e?aef i#XOR9`e9FbHGcv9tGxgAuxRlB0000oq7#auz0001;w}I>c0004VQb$4nuFf3k0000dkwPVZ&2xLHTw|yP z3~~Sf0QyNpK~z|U?UmaO!ypVp8!1lz|BuIIA)%rj3~4Wmr9QNh4-OdhI6|RN=s(2F zTXqtW4FpRSYnVlp`U?S&{A2)#tP>i5$oU2HetO%x0P}+7)n4biyU)iYU>^ z5JP$={py#TrI V4ELeS_z3_2002ovPDHLkV1k7$j)njL delta 381 zcmey&w3c~-gcb`k0|P^Zd(K-R#aJBV?!>U}oXkrghb7(7*O7r?V?XzwL{=c*V4{&~ zJ&;BQ&)McB0{NT;9+AZi419+{nDKc2iWHz(Y@RNTAs)xyPCVFmSb@hSa%D|}>ZE^u z6FttY6?q}4`L$O6>G$l}TNd(q`mf%bvP7f3vf{&nvbVp&cV6C>UwB7_ufyU}eyN{7 z!@QD+xylD5KFx`8sy}^zH}#wrgJVN6?*>Gm;ZVgZvXmINq@oF^HRrzJ}l8>p4DjdXX(eKb1&)7*rOcrg2T+Cn19xr5TQ-) zYvS6ItAxJ2EMMw>elq7gz4pEO@5-M}eauqOR#~s6yEVPZXou$3?CbKLE7?y-=e7&< RtjPccoTsaw%Q~loCIFKBmrVcw diff --git a/graphics/pokemon/sandile/normal.pal b/graphics/pokemon/sandile/normal.pal index b079c8061ae0..f428787e3c1e 100644 --- a/graphics/pokemon/sandile/normal.pal +++ b/graphics/pokemon/sandile/normal.pal @@ -1,6 +1,6 @@ JASC-PAL 0100 -16 +13 152 208 160 139 115 49 32 32 32 @@ -12,8 +12,5 @@ JASC-PAL 180 180 189 82 82 98 205 115 123 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 +205 115 123 +169 92 99 diff --git a/graphics/pokemon/sandile/shiny.pal b/graphics/pokemon/sandile/shiny.pal index f92d5f6bd033..b1a758254bbf 100644 --- a/graphics/pokemon/sandile/shiny.pal +++ b/graphics/pokemon/sandile/shiny.pal @@ -1,6 +1,6 @@ JASC-PAL 0100 -16 +13 152 208 160 120 136 56 32 32 32 @@ -12,8 +12,5 @@ JASC-PAL 176 168 168 80 80 96 64 144 160 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 +205 115 123 +169 92 99 From b0b63f66b91afb4a03aa909dc23d2cd8df377599 Mon Sep 17 00:00:00 2001 From: hedara90 <90hedara@gmail.com> Date: Fri, 26 Jul 2024 18:06:44 +0200 Subject: [PATCH 12/38] Added Ivy Cudgel Animation (#5034) * Added Ivy Cudgel Anim, changed Ogerpon palettes, added jumpifmovetypeequals command * Make the 20 year old compiler not complain * Maybe better cudgel * Moved animation --------- Co-authored-by: Hedara --- asm/macros/battle_anim_script.inc | 6 ++ data/battle_anim_scripts.s | 53 +++++++++++++++++- graphics/battle_anims/sprites/cudgel.png | Bin 0 -> 319 bytes graphics/pokemon/ogerpon/back.png | Bin 447 -> 447 bytes graphics/pokemon/ogerpon/cornerstone/back.png | Bin 537 -> 537 bytes .../pokemon/ogerpon/cornerstone/front.png | Bin 1002 -> 962 bytes .../pokemon/ogerpon/cornerstone/normal.pal | 4 +- .../pokemon/ogerpon/cornerstone/shiny.pal | 4 +- graphics/pokemon/ogerpon/front.png | Bin 1083 -> 1043 bytes graphics/pokemon/ogerpon/hearthflame/back.png | Bin 533 -> 533 bytes .../pokemon/ogerpon/hearthflame/front.png | Bin 999 -> 958 bytes .../pokemon/ogerpon/hearthflame/normal.pal | 14 ++--- .../pokemon/ogerpon/hearthflame/shiny.pal | 14 ++--- graphics/pokemon/ogerpon/normal.pal | 10 ++-- graphics/pokemon/ogerpon/shiny.pal | 10 ++-- graphics/pokemon/ogerpon/wellspring/back.png | Bin 472 -> 472 bytes graphics/pokemon/ogerpon/wellspring/front.png | Bin 1001 -> 960 bytes .../pokemon/ogerpon/wellspring/normal.pal | 6 +- graphics/pokemon/ogerpon/wellspring/shiny.pal | 6 +- include/constants/battle_anim.h | 4 ++ include/graphics.h | 5 ++ src/battle_anim.c | 15 +++++ src/battle_anim_effects_1.c | 44 +++++++++++++++ src/data/battle_anim.h | 5 ++ src/graphics.c | 6 ++ 25 files changed, 171 insertions(+), 35 deletions(-) create mode 100644 graphics/battle_anims/sprites/cudgel.png diff --git a/asm/macros/battle_anim_script.inc b/asm/macros/battle_anim_script.inc index 742cdb2f26d4..367428eb5039 100644 --- a/asm/macros/battle_anim_script.inc +++ b/asm/macros/battle_anim_script.inc @@ -315,6 +315,12 @@ .Lsprite_\@_2: .endm + .macro jumpifmovetypeequal type:req, jumpInstr:req + .byte 0x33 + .byte \type + .4byte \jumpInstr + .endm + @ useful macros .macro jumpreteq value:req, ptr:req jumpargeq ARG_RET_ID, \value, \ptr diff --git a/data/battle_anim_scripts.s b/data/battle_anim_scripts.s index aa62732c7d05..cd656c2be95e 100644 --- a/data/battle_anim_scripts.s +++ b/data/battle_anim_scripts.s @@ -17844,6 +17844,58 @@ ElectroShotUnleash: blendoff end +Move_IVY_CUDGEL:: + loadspritegfx ANIM_TAG_IVY_CUDGEL_GRASS + loadspritegfx ANIM_TAG_WOOD_HAMMER + loadspritegfx ANIM_TAG_WOOD_HAMMER_HAMMER + loadspritegfx ANIM_TAG_IMPACT + playsewithpan SE_M_SWAGGER, SOUND_PAN_ATTACKER + createvisualtask AnimTask_TranslateMonEllipticalRespectSide, 2, ANIM_ATTACKER, 12, 4, 2, 4 + jumpifmovetypeequal TYPE_FIRE, IvyCudgelFire + jumpifmovetypeequal TYPE_ROCK, IvyCudgelRock + jumpifmovetypeequal TYPE_WATER, IvyCudgelWater + createsprite gIvyCudgelSpriteTemplate, ANIM_TARGET, 2 + delay 60 + createvisualtask AnimTask_ShakeMonInPlace, 2, ANIM_ATTACKER, 3, 0, 12, 4 + delay 18 + createvisualtask AnimTask_SquishTarget, 0x2 + delay 6 + call WoodHammerImpact + waitforvisualfinish + end +IvyCudgelFire: + loadspritegfx ANIM_TAG_IVY_CUDGEL_FIRE + createsprite gIvyCudgelFireSpriteTemplate, ANIM_TARGET, 2 + delay 60 + createvisualtask AnimTask_ShakeMonInPlace, 2, ANIM_ATTACKER, 3, 0, 12, 4 + delay 18 + createvisualtask AnimTask_SquishTarget, 0x2 + delay 6 + call WoodHammerImpact + waitforvisualfinish + end +IvyCudgelRock: + loadspritegfx ANIM_TAG_IVY_CUDGEL_ROCK + createsprite gIvyCudgelRockSpriteTemplate, ANIM_TARGET, 2 + delay 60 + createvisualtask AnimTask_ShakeMonInPlace, 2, ANIM_ATTACKER, 3, 0, 12, 4 + delay 18 + createvisualtask AnimTask_SquishTarget, 0x2 + delay 6 + call WoodHammerImpact + waitforvisualfinish + end +IvyCudgelWater: + loadspritegfx ANIM_TAG_IVY_CUDGEL_WATER + createsprite gIvyCudgelWaterSpriteTemplate, ANIM_TARGET, 2 + delay 60 + createvisualtask AnimTask_ShakeMonInPlace, 2, ANIM_ATTACKER, 3, 0, 12, 4 + delay 18 + createvisualtask AnimTask_SquishTarget, 0x2 + delay 6 + call WoodHammerImpact + waitforvisualfinish + end Move_TERA_BLAST:: Move_AXE_KICK:: Move_ORDER_UP:: @@ -17875,7 +17927,6 @@ Move_MAGICAL_TORQUE:: Move_PSYBLADE:: Move_BLOOD_MOON:: Move_MATCHA_GOTCHA:: -Move_IVY_CUDGEL:: Move_TERA_STARSTORM:: Move_FICKLE_BEAM:: Move_THUNDERCLAP:: diff --git a/graphics/battle_anims/sprites/cudgel.png b/graphics/battle_anims/sprites/cudgel.png new file mode 100644 index 0000000000000000000000000000000000000000..a43b450adc550e083850f03d7f1cab8817e65288 GIT binary patch literal 319 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I3?%1nZ+ru!7>k44ofy`glX(f`=mz+NxK6pa zkb#jwOGi_59=o&~zipwZV3td8Ym}Fd=lUD-fB*f}oovalWM)O6`t7+f>AMS5fExKr zg8YIR{-c1Wz4Mjsqr5*rspqH51(RlwB<%gvoY!I@60k*}-FVdQ&MBb@ E0IdIrO#lD@ literal 0 HcmV?d00001 diff --git a/graphics/pokemon/ogerpon/back.png b/graphics/pokemon/ogerpon/back.png index 29ad3c09b2a71b8de6ead2d1704eb7070f7fd17c..75f309fd67ceb83f93715ade6626e01c990e6e15 100644 GIT binary patch delta 400 zcmV;B0dM}l1HS{1Ie!2F04gjg6`lthMh`u4H4$n=Q-xYeOi8cUpZop#i(@$eq?ve8 zC)=G|XS;AD0003%Nkl>aBm>R~4!8@T*m)l(DgT-|Pag9(DM7|;5o??$M$OnP+zK0l25WN6P$pmIi-KOzd}vm$`!0FHVB u3oNOvz=!lt-v$w6L&;;f1nGlN@B?kM8;LrQjFtcZ00{s|MNUMnLSTYyov#J} delta 400 zcmV;B0dM}l1HS{1Ie#iFDF6Wg8%7TRq?r+FL=~O~N=!*TaW${lpZop#i(@%>Q77A- zTvLTwLzEMs0003%NkllhT+aQ8$D0vE(Abk)DegGXy8#f2^;?4j700{s|MNUMnLSTZOfvg|^ diff --git a/graphics/pokemon/ogerpon/cornerstone/back.png b/graphics/pokemon/ogerpon/cornerstone/back.png index 39170fd75708450553cd94e1283402a02bb6d3c7..7e40fee557b863fb1dbbd92985c2a6ce19a71a92 100644 GIT binary patch delta 99 zcmV-p0G$7s1epYoIYR&d04gjg6`lu5Oi4X)H5nTiZDVYOi;Fdes5iai!izrt#Y)uX z_mEsByCwFt0004+NklM0Ti!E8AQ)BO@#me002ovPDHLk FV1gKWB?ABe delta 99 zcmV-p0G$7s1epYoIYTNeDHWav0000=Oi39V7(H<{ZDVYOi;Fdes5iai!izrt#Y)uX z_mEsB#}T*l0004+Nklb002ovPDHLk FV1hI1CTsuz diff --git a/graphics/pokemon/ogerpon/cornerstone/front.png b/graphics/pokemon/ogerpon/cornerstone/front.png index 6bca5e915c01e01dba93112e2a3f0e261f71c9b1..8e96be70e7c8b2c23299a744da89feb1e71aaae0 100644 GIT binary patch delta 99 zcmaFGeu#a7iaKL)kh>GZx^prw85kIJ1AIbUr(9eJWNPVXiq2#A^6|7SG?kQ=m}n;< zv0L@q76t}pXHOT$kcif~(|ePe6?j^By*73lGmBhJH2B79bI};6mBG{1&t;ucLK6V+ Cz8Nm;rrm%)ISzR9e*GYrE~)TeGhOw0Fd7S z@M{MUeT)%P;IDdK^&25Hxy9!z0KND>fGLb7cl{Rt2+%7)2!wAaM%AeP+Q0@d3rzBn zB4G*1_1_GDAa7apub1nQf_O)703qa(CpP^=IyC>+0A>X+v*>fvvy4Pde-2>Ly8n_( z$!y8g@E%_b#D8#RpC)xbDFIW^IVj~tX)_Sd2sD8(nddC=xg``Xdi^;-LQbMnfQki( zuRMhgxFGn#O;|+1^zMEL51gQ-=|n1mz);3K`XOAvAy6IVfSr5d8j zbH>lLkj{a{!zn-q(?V5Br>1d)Tr*HhS$7ov9#0`aFzPI^f|M$PMWhw^E42s6JdSgq z;UX$mvfNo1m8a@c9EuZm-MOcspNtI+z2#Egn9Lm0k@pB=htb$=HFL-Q` z`3O;SK&_B`H^n_;t!;t=1WaN9OttP0dR+sUkNq%t)3f{^k->#^sTyIcWQo5g#C~rD z$v@5W3=7F>SnEBhUaJT(=l_JT?#+-fW*PD{i+`3|HzaNA0?6}j8nkU~)f>X>8jG|p zqI|~+$n%EST@@NYpI|cm%uEg=1B@2J#=f!S+#!5GGO?Ba2C&~h4~U-7oM4gkjFgff z&B03e4iNnag)~Lk)R{tT7V;6`A3^m30D+Yd4PX`ykGRmwXDe;BfL^KnW+R*&ks)ky zZ+~cJ!C>fTaCvWP-Is)q1YYs>^_1#ji0>CSJA!-g4aIZ0_15aTKNxmcQ r=r_QocgXD`ka%+MdEAMdavAau0-!K8b_=l)00000NkvXXu0mjf$&|?r delta 1062 zcmV+>1ljwO2)hW7B!4YXOjJdb(V;3VDF6Wg8%7TRq?r+FL=~O~N=!*TaW${lpZop# zi(@%>Q77A-TvLTwLzEMs0000FbW%=J|NsC0|NsC0|NsC0|NsB_-ghhj00WdsL_t(o zg`Jj*mV+P+L`|sju=xLS;K!2ij|0S1_$&#tzJ-!%7;mkgd>V8xLrl50B%8TP>Ae|9-1YtDKS>jVm zC|vaVbAW^#MW+B23lLv<3LS7k@P!+(iV}V_L(PGv^TNV_Cn-xNWa--a(P(*O1;ir@ z-YPDV$9K`1%W%zsD&6&AVj-|u(i4xo}%?0|w@ z8xgh8JQFxbA1Br)IfDYoBtCUWS(*(I@pq8@kDEvL1LV#e>Sz-k_ zRs>5(D}VA=Y7dZk9Opp8C7zK+LLQ^fH4p&ZmXP21~8xcVe+OY`9C3p zGwD(_!dA%=e@{sL-U^a`UX}$GqSdh0dsMwv5r1MX{|RB;n;~N?GURCzEwygQ+SUb- zm)$gY+uEu(gxNI~Yh5JyjueoW4Y9i_G=M%qZ2EIDD-DIpoaEF2zjp_eaK z+J9;Ry;A$lMmRYlL)hfr(9D9tmL;@~daQ2X)*=J^*wH*}NX+s_^*!tFeywCWuYLK3-L z)^1rqXPw9n$Jv%qwmDA1G~HVXG$#mV^9a4!WNQ!N8HhGfKBg^+eIMp8}fMSEQkq7w9xf+m0d{r0j#d@N9c-dw!E z_xscUCg=rA!2Cl2Ab*n;@ZOW~PX*baSOx1I=!Oc!1`W;zVm_k^h**0=zy^&D<8z51 zIDfw*AWI7gE_ zT!@a~jNgqhBlfOi;V%UGo;ekC`QsFqb6gFDFRtqeLK7I@4x)U8z5u)Y>S=DkhA%(5 zOF=!x);~`8fgr%Ob36!!d=bbVeO0ao-}p2P5GpT%^#NiRK>F(i2q;@N{}ZqYAg>I6 zqHrw$?}>eZ@t@D$KA;_hI;GtsXxEcBl>StJegK!Q1l)qhkxv#g7Q>zozv=JqKpDgVYwtZ5(+od7v;F)_a80001_G%-p{ zO1+6%<~%XLI-~Uf00EOpL_t(oh3%Egj>8}fMJpuJq6_7bf+m0A^9izoe=JafK3u%O z_xscUCg=rA!2Cl2Ab*n;2qBR0PX);!Uj^$P=!Oc!1`W;zVm_e?h**0=zy^&D<5P(s zIDfw*AWICq7gE_ zT!@a~jNgqh!S}9X;V%UGo;ekC`QsFqb6gFDFK+G$ToV}I4x)U8z5u)Y>S=DkhA%(n zOF=!x);~`8fxscRb36!!d=bbVeO0ao-}pET;3_YI^#NiRK>F(ia41_g{}ZqYAg_#Y zqR1@(@9}+s@$dKEKA;`AI;GtsXxEcBl>StJet;aW1l&Tvk&hNqS4V>g7Q>!*Qb$4nuFf3k0000mP)t-sl+vUC001d0DG;3i<~%VuaWOH4 ztb-gF)#mp9#!9SdAe@=3F}~)cG%-p{O1+6%1%%aT0009#Nkl_ZxSM~fz0#Lc>uMEh*Wl5<4SU)!zYtkVgY7rPyM+{u(f5*8e%clF@$vl+zVp%zuA9pf~^q@+SiC5dJ#= z< zk1WV*N?^k)1K^#1dIO#ZB_xrkRwj#IiHFZ~-l$#wE&RN@a6AcPrtssQLwM(o}Q z0E~YJA%KBkVP02RfK>@nhw~iF!!;mJ)3na~^1NnAq;81{V8SV2nqIFL2&xCdHkAMZ zJe&ch*US!HldTZSvDj`1EfJ>xgb+kuJZP-|PU#+y+7#emeod;^Zh-MO1~_&GQd>kG zn;lF@bV3D4PkFXAq`m;Q`VB$!StcvR`*gefIuV%GX8!6t3GJ+urhW7 z&t`y@Wk<-JUI~K0%*7GS(95BU7kUCVR;RZHWWBigj|Lc*LUliNa@Q-tv+oh3)FAg; zDJq|3+IEHt=n)GRj{z~*MzUF=+x3lQ1E>fL#e_h7KsSI*bKlgKK0F@_0Wi;`%_LU) zQeOd}m$t(T&kcctVs;D55#W6i;w=mOmFE%k zaMWgs_7X#U#K*l%V5~=Ay$?zFgwKk@-h7~k^#}-$s}4vu_1#jiFMDB)R)}Ij0QVY$ gep_8@lbr(`6zv;D2TnBy2EHOjJdb(xjZ3tb-gFF@>zv=JqKpDgVYwtZ5(+od7v;F)_a8 z0001_G%-p{O1+6%<~%XLI-~Uf000nlQchF<|NsC0|NsC0|NsC0|NsBZA+nSJ00TTp zL_t(og`Jm;ma8BPgk2O{8pM%-7JtOJc|_F5gO`u=rTCliDM64g%R;BJrk@>PdIms# zp)YQ<%npD)r9`HW=Kxhf?ttj>TY4Q=_54TzP`T-^49LJ`4xs^9Ke+zFfC6UL=LQIY zD1>18>lq-z+5jO_DU@&N8Ia!qh{6EX-vNM-R|CwY*kZc=8n9;8|2e>t(SHDx!xdo7 ze}6roH~-=v}8%7ZixzD z!YN=JU#}Mkst3Y0l>j0L23Y4p zbw71-*DJxZ?~#(!Aop7-DxYQ8c7_V*5i=H#0V&!>vRR_r^^Ii%s0a+jgh+fqH-JrZ z-_+(lJRdUwFioV*Bv$)UUjd+(w!;h04S|DFb_??n;C&M0z1ay#%P`k-`;1`vN|-PS zBf!IlBQn-n;44Yk0`!*Ugp&g@f>Goq*aPAdcO~6z;q-tV>P51iPi#2iAMd4zlj#C4 z0iu%`12sU>EergW=Na{I)MkqIl45$M=e7s4@vlh&x*s|e4vN*1PG6-4oEij z-BPeGdvQrth+;ti_ZowKTU~0CjsqMnFmqY6e|7 diff --git a/graphics/pokemon/ogerpon/hearthflame/normal.pal b/graphics/pokemon/ogerpon/hearthflame/normal.pal index 637556660ada..3f478af8aae5 100644 --- a/graphics/pokemon/ogerpon/hearthflame/normal.pal +++ b/graphics/pokemon/ogerpon/hearthflame/normal.pal @@ -2,18 +2,18 @@ JASC-PAL 0100 16 148 210 164 -156 153 172 -131 28 24 +0 0 0 +41 44 41 +16 157 0 +230 60 49 +57 113 49 49 133 172 +131 28 24 213 230 246 -41 44 41 255 198 74 172 105 32 -16 157 0 -57 113 49 +156 153 172 49 190 230 -0 0 0 164 52 49 74 76 74 189 137 90 -230 60 49 diff --git a/graphics/pokemon/ogerpon/hearthflame/shiny.pal b/graphics/pokemon/ogerpon/hearthflame/shiny.pal index f874367b4bc2..fee0f8de7b0f 100644 --- a/graphics/pokemon/ogerpon/hearthflame/shiny.pal +++ b/graphics/pokemon/ogerpon/hearthflame/shiny.pal @@ -2,18 +2,18 @@ JASC-PAL 0100 16 148 210 164 -156 153 172 -131 28 24 +0 0 0 +41 44 41 +16 157 0 +230 60 49 +57 113 49 49 133 172 +131 28 24 213 230 246 -41 44 41 255 198 74 124 162 56 -16 157 0 -57 113 49 +156 153 172 49 190 230 -0 0 0 164 52 49 74 76 74 189 137 90 -230 60 49 diff --git a/graphics/pokemon/ogerpon/normal.pal b/graphics/pokemon/ogerpon/normal.pal index 8f715fd815b0..a1ac4baf96b9 100644 --- a/graphics/pokemon/ogerpon/normal.pal +++ b/graphics/pokemon/ogerpon/normal.pal @@ -2,17 +2,17 @@ JASC-PAL 0100 15 148 209 161 -42 44 41 0 1 0 +42 44 41 +21 158 7 27 70 15 -0 164 153 +61 113 53 17 106 68 -21 158 7 +83 133 90 74 76 73 -61 97 53 175 216 159 251 253 250 139 99 57 +0 164 153 120 81 39 219 157 92 -83 133 90 diff --git a/graphics/pokemon/ogerpon/shiny.pal b/graphics/pokemon/ogerpon/shiny.pal index a96c55d35d88..08c751ebdad3 100644 --- a/graphics/pokemon/ogerpon/shiny.pal +++ b/graphics/pokemon/ogerpon/shiny.pal @@ -2,17 +2,17 @@ JASC-PAL 0100 15 148 209 161 -42 44 41 0 1 0 +42 44 41 +21 158 7 27 70 15 -0 164 153 +61 113 53 17 106 68 -21 158 7 +83 133 90 74 76 73 -61 97 53 175 216 159 251 253 250 139 99 57 +0 164 153 124 162 56 219 157 92 -83 133 90 diff --git a/graphics/pokemon/ogerpon/wellspring/back.png b/graphics/pokemon/ogerpon/wellspring/back.png index f1d5276baa7e0d8c78f1b396206e7139cfc30828..87d82032f4755114d3ac4fe9ec0ca1fca6c73f70 100644 GIT binary patch delta 130 zcmV-|0Db@11K0zQIT8Q>04gjg6`ltRKzTiJHA+lLkxLsH`=DGg00042Nkln{POSA;KKJVgz2wH33K* z5U++Pe*n{80HVobN=867xF=-52Leaa!$(Td2yn#0Fo53Z&lcG9`2PgJD|=8xP9x;u z%!1SlXMj%@2GC=PVge4zK^nn}B#ZUr7*!w!Tp{F5SR&Xjg!0Q+=E_TX_JvxjQ{r9vPoe}Jd}a?4@>5Ki=O00}1my@xY4uqIM~ zbX2+k%x3=pSn;!K2XPL_NsuhcE*$QF0eo5k2o->290A&am}xFqaB@fr-~d2q1_IGB zjaFMi5DUm*r(Xi>FXa#%S%-SlTUn_EIRUl+fO(PhFWni`X!2UyLMUn}AC+6Efx3Rr zf9UQ8d+q}FnoQgb5T`vM_IC?~?W@>(ZN(a!=mkJCr|q54hDZTW=aY*6Np^q?34u=K zgWfC|AUi&OmfuYRfF6LfHN$w4*zc>1qHa0O1cqly?VP3~bv>0E|6A2-|ji zW$XwFLH@RlXY67e(Ix~?EWpG!fGm%Xf6BNcyR@JbKZq z1tBEaL`V2AB1@OVCGdlFh77P*Rw3}`5vz!(P224NG|F2k7~%4jVq-#rDu4$0lEI{p zh1>5$$=%i)CL3=*yz?CGHcUETzdY0qE_%K7gmwM-vDyJv#ehlCzr1p0}PA1FnmHTesnOy(l7zryYl>RY$l!tFdvQ`KhxdbG&# z&veTITJmU*ES#bqqx2RxjnjDVB#49neOZ!Zb@@x^re3UL!AaIN2c(z!ZYfv+;A_f- ws20fj(+#}>N)?nPDc^`Y`UYtFldA&|6oP?1|LhQ!DgXcg07*qoM6N<$f(^WR*Z=?k delta 911 zcmV;A191Gn2k8fpBpNVKOjJdb(V;3VDHWavN=!)r002F4H48v_kxLsi@oe9Q0000G zbW%=J|NsC0|NsC0|NsC0|NsC0%^|Xs0009%Nkltd`R41`4kk$xn9K21LZ zvR(j?PxM6Zy(cog`xW4t{Ej{#-T@}p^p`n}_n7#u7#4p6me{<0*3#C`}7l067Ip!HG?g(XlF%ZKQAV%8* ztTY66F*O766M;pq2|(h2cr`?S0hs;*5KSIaG6J%}Js|@=5ICA1K2nNCfFl-$0rWVL!*v8Ne)H4*~Zvd$f`0*DGAw=4z# z;Y9xikZ=OfdpKhQYa#_mN2LqEZ1xX;6+gRn5a)oL1j(Z8!r=}WAfy$5sREFUBS1S4 zGtDInP7X-{JOMB@0~66PjaFMi5DUm*r(Y)6U& z(d4zZg;3N|J}S3R19km>p3&V64%`LqHJP{>AWnNi?C%x|J5+H9+KM$c(F=fPPTM=7 z4Uqz%&L#LqZQQ0{ukD50s+On*4=OCUcS4Ut#wN z^{v}&;dUOpulfu?j}|%p@wY6XC6D&V!YS%8N^fy~^y9sgAQA%fWl56NQm_KRm(PW$7RdV34ZQ+N6_h0@--tW<259<|oC6RpDv>`!T66>G0000E lWmrjOO-%qQ00008000000002eQ Date: Fri, 26 Jul 2024 20:19:58 +0200 Subject: [PATCH 13/38] Fixes cantBeSurpressed ability check for breakable abilities --- src/battle_util.c | 1 - test/battle/ability/disguise.c | 13 +++++++++++++ 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/src/battle_util.c b/src/battle_util.c index 9ea7a453cb3f..2cd38c55593b 100644 --- a/src/battle_util.c +++ b/src/battle_util.c @@ -6224,7 +6224,6 @@ u32 GetBattlerAbility(u32 battler) && gStatuses3[battler] & STATUS3_GASTRO_ACID && gBattleMons[battler].ability == ABILITY_COMATOSE) return ABILITY_NONE; - return gBattleMons[battler].ability; } if (gStatuses3[battler] & STATUS3_GASTRO_ACID) diff --git a/test/battle/ability/disguise.c b/test/battle/ability/disguise.c index 7d3e36bf7857..c4f79d8fe350 100644 --- a/test/battle/ability/disguise.c +++ b/test/battle/ability/disguise.c @@ -121,3 +121,16 @@ SINGLE_BATTLE_TEST("Disguised Mimikyu takes damage from Rough Skin without break EXPECT_EQ(player->species, SPECIES_MIMIKYU_DISGUISED); } } + +SINGLE_BATTLE_TEST("Disguised Mimikyu is ignored by Mold Breaker") +{ + GIVEN { + PLAYER(SPECIES_MIMIKYU_DISGUISED) { Ability(ABILITY_DISGUISE); } + OPPONENT(SPECIES_PINSIR) { Ability(ABILITY_MOLD_BREAKER); } + } WHEN { + TURN { MOVE(opponent, MOVE_AERIAL_ACE); } + } SCENE { + ANIMATION(ANIM_TYPE_MOVE, MOVE_AERIAL_ACE, opponent); + NOT ABILITY_POPUP(player, ABILITY_DISGUISE); + } +} From 89563cb9b124e4b9a6329091e23ad4463b8690c3 Mon Sep 17 00:00:00 2001 From: AlexOn1ine Date: Fri, 26 Jul 2024 21:11:16 +0200 Subject: [PATCH 14/38] check for breakable ability --- include/battle_util.h | 2 +- src/battle_ai_util.c | 6 +++--- src/battle_util.c | 24 ++++++++++++++---------- 3 files changed, 18 insertions(+), 14 deletions(-) diff --git a/include/battle_util.h b/include/battle_util.h index 644a112d7dab..118ef8c6b3a9 100644 --- a/include/battle_util.h +++ b/include/battle_util.h @@ -146,7 +146,7 @@ bool32 TryChangeBattleWeather(u32 battler, u32 weatherEnumId, bool32 viaAbility) u32 AbilityBattleEffects(u32 caseID, u32 battler, u32 ability, u32 special, u32 moveArg); bool32 TryPrimalReversion(u32 battler); bool32 IsNeutralizingGasOnField(void); -bool32 IsMoldBreakerTypeAbility(u32 ability); +bool32 IsMoldBreakerTypeAbility(u32 battler, u32 ability); u32 GetBattlerAbility(u32 battler); u32 IsAbilityOnSide(u32 battler, u32 ability); u32 IsAbilityOnOpposingSide(u32 battler, u32 ability); diff --git a/src/battle_ai_util.c b/src/battle_ai_util.c index b9770ba95091..1498d8936ce4 100644 --- a/src/battle_ai_util.c +++ b/src/battle_ai_util.c @@ -1188,7 +1188,7 @@ bool32 DoesBattlerIgnoreAbilityChecks(u32 atkAbility, u32 move) if (AI_THINKING_STRUCT->aiFlags[sBattler_AI] & AI_FLAG_NEGATE_UNAWARE) return FALSE; // AI handicap flag: doesn't understand ability suppression concept - if (IsMoldBreakerTypeAbility(atkAbility) || gMovesInfo[move].ignoresTargetAbility) + if (IsMoldBreakerTypeAbility(sBattler_AI, atkAbility) || gMovesInfo[move].ignoresTargetAbility) return TRUE; return FALSE; @@ -2766,7 +2766,7 @@ bool32 AI_CanBeInfatuated(u32 battlerAtk, u32 battlerDef, u32 defAbility) u32 ShouldTryToFlinch(u32 battlerAtk, u32 battlerDef, u32 atkAbility, u32 defAbility, u32 move) { - if (((!IsMoldBreakerTypeAbility(AI_DATA->abilities[battlerAtk]) && (defAbility == ABILITY_SHIELD_DUST || defAbility == ABILITY_INNER_FOCUS)) + if (((!IsMoldBreakerTypeAbility(battlerAtk, AI_DATA->abilities[battlerAtk]) && (defAbility == ABILITY_SHIELD_DUST || defAbility == ABILITY_INNER_FOCUS)) || AI_DATA->holdEffects[battlerDef] == HOLD_EFFECT_COVERT_CLOAK || DoesSubstituteBlockMove(battlerAtk, battlerDef, move) || AI_WhoStrikesFirst(battlerAtk, battlerDef, move) == AI_IS_SLOWER)) // Opponent goes first @@ -2809,7 +2809,7 @@ bool32 ShouldFakeOut(u32 battlerAtk, u32 battlerDef, u32 move) || AI_DATA->holdEffects[battlerAtk] == HOLD_EFFECT_CHOICE_BAND || AI_DATA->holdEffects[battlerDef] == HOLD_EFFECT_COVERT_CLOAK || DoesSubstituteBlockMove(battlerAtk, battlerDef, move) - || (!IsMoldBreakerTypeAbility(AI_DATA->abilities[battlerAtk]) + || (!IsMoldBreakerTypeAbility(battlerAtk, AI_DATA->abilities[battlerAtk]) && (AI_DATA->abilities[battlerDef] == ABILITY_SHIELD_DUST || AI_DATA->abilities[battlerDef] == ABILITY_INNER_FOCUS))) return FALSE; diff --git a/src/battle_util.c b/src/battle_util.c index 2cd38c55593b..d0ccf4859e01 100644 --- a/src/battle_util.c +++ b/src/battle_util.c @@ -6207,8 +6207,11 @@ bool32 IsNeutralizingGasOnField(void) return FALSE; } -bool32 IsMoldBreakerTypeAbility(u32 ability) +bool32 IsMoldBreakerTypeAbility(u32 battler, u32 ability) { + if (gStatuses3[battler] & STATUS3_GASTRO_ACID) + return FALSE; + return (ability == ABILITY_MOLD_BREAKER || ability == ABILITY_TERAVOLT || ability == ABILITY_TURBOBLAZE || (ability == ABILITY_MYCELIUM_MIGHT && IS_MOVE_STATUS(gCurrentMove))); } @@ -6224,6 +6227,9 @@ u32 GetBattlerAbility(u32 battler) && gStatuses3[battler] & STATUS3_GASTRO_ACID && gBattleMons[battler].ability == ABILITY_COMATOSE) return ABILITY_NONE; + + if (!gAbilitiesInfo[gBattleMons[battler].ability].breakable) + return gBattleMons[battler].ability; } if (gStatuses3[battler] & STATUS3_GASTRO_ACID) @@ -6234,15 +6240,13 @@ u32 GetBattlerAbility(u32 battler) && noAbilityShield) return ABILITY_NONE; - if (((IsMoldBreakerTypeAbility(gBattleMons[gBattlerAttacker].ability) - && !(gStatuses3[gBattlerAttacker] & STATUS3_GASTRO_ACID)) - || gMovesInfo[gCurrentMove].ignoresTargetAbility) - && battler != gBattlerAttacker - && gAbilitiesInfo[gBattleMons[battler].ability].breakable - && noAbilityShield - && gBattlerByTurnOrder[gCurrentTurnActionNumber] == gBattlerAttacker - && gActionsByTurnOrder[gCurrentTurnActionNumber] == B_ACTION_USE_MOVE - && gCurrentTurnActionNumber < gBattlersCount) + if ((IsMoldBreakerTypeAbility(gBattlerAttacker, gBattleMons[gBattlerAttacker].ability) || gMovesInfo[gCurrentMove].ignoresTargetAbility) + && battler != gBattlerAttacker + && gAbilitiesInfo[gBattleMons[battler].ability].breakable + && noAbilityShield + && gBattlerByTurnOrder[gCurrentTurnActionNumber] == gBattlerAttacker + && gActionsByTurnOrder[gCurrentTurnActionNumber] == B_ACTION_USE_MOVE + && gCurrentTurnActionNumber < gBattlersCount) return ABILITY_NONE; return gBattleMons[battler].ability; From dfd63fd34f894c4ad46f9a93bb351e09ce70d3a5 Mon Sep 17 00:00:00 2001 From: AlexOn1ine Date: Fri, 26 Jul 2024 21:30:41 +0200 Subject: [PATCH 15/38] func CanBreakThroughAbility --- src/battle_util.c | 27 +++++++++++++++++---------- 1 file changed, 17 insertions(+), 10 deletions(-) diff --git a/src/battle_util.c b/src/battle_util.c index d0ccf4859e01..ea2da5709eb8 100644 --- a/src/battle_util.c +++ b/src/battle_util.c @@ -6216,11 +6216,22 @@ bool32 IsMoldBreakerTypeAbility(u32 battler, u32 ability) || (ability == ABILITY_MYCELIUM_MIGHT && IS_MOVE_STATUS(gCurrentMove))); } +static inline bool32 CanBreakThroughAbility(u32 battlerAtk, u32 battlerDef, u32 ability) +{ + return ((IsMoldBreakerTypeAbility(battlerAtk, ability) || gMovesInfo[gCurrentMove].ignoresTargetAbility) + && battlerDef != battlerAtk + && gAbilitiesInfo[gBattleMons[battlerDef].ability].breakable + && gBattlerByTurnOrder[gCurrentTurnActionNumber] == battlerAtk + && gActionsByTurnOrder[gCurrentTurnActionNumber] == B_ACTION_USE_MOVE + && gCurrentTurnActionNumber < gBattlersCount); +} + u32 GetBattlerAbility(u32 battler) { bool32 noAbilityShield = GetBattlerHoldEffectIgnoreAbility(battler, TRUE) != HOLD_EFFECT_ABILITY_SHIELD; + bool32 abilityCantBeSuppressed = gAbilitiesInfo[gBattleMons[battler].ability].cantBeSuppressed; - if (gAbilitiesInfo[gBattleMons[battler].ability].cantBeSuppressed) + if (abilityCantBeSuppressed) { // Edge case: pokemon under the effect of gastro acid transforms into a pokemon with Comatose (Todo: verify how other unsuppressable abilities behave) if (gBattleMons[battler].status2 & STATUS2_TRANSFORMED @@ -6228,8 +6239,10 @@ u32 GetBattlerAbility(u32 battler) && gBattleMons[battler].ability == ABILITY_COMATOSE) return ABILITY_NONE; - if (!gAbilitiesInfo[gBattleMons[battler].ability].breakable) - return gBattleMons[battler].ability; + if (CanBreakThroughAbility(gBattlerAttacker, battler, gBattleMons[gBattlerAttacker].ability)) + return ABILITY_NONE; + + return gBattleMons[battler].ability; } if (gStatuses3[battler] & STATUS3_GASTRO_ACID) @@ -6240,13 +6253,7 @@ u32 GetBattlerAbility(u32 battler) && noAbilityShield) return ABILITY_NONE; - if ((IsMoldBreakerTypeAbility(gBattlerAttacker, gBattleMons[gBattlerAttacker].ability) || gMovesInfo[gCurrentMove].ignoresTargetAbility) - && battler != gBattlerAttacker - && gAbilitiesInfo[gBattleMons[battler].ability].breakable - && noAbilityShield - && gBattlerByTurnOrder[gCurrentTurnActionNumber] == gBattlerAttacker - && gActionsByTurnOrder[gCurrentTurnActionNumber] == B_ACTION_USE_MOVE - && gCurrentTurnActionNumber < gBattlersCount) + if (noAbilityShield && CanBreakThroughAbility(gBattlerAttacker, battler, gBattleMons[gBattlerAttacker].ability)) return ABILITY_NONE; return gBattleMons[battler].ability; From 5dd10a4af11685b9cba3cd0013fa66fe4fcbfc10 Mon Sep 17 00:00:00 2001 From: AlexOn1ine Date: Fri, 26 Jul 2024 21:34:20 +0200 Subject: [PATCH 16/38] forgot abilityShield check --- src/battle_util.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/battle_util.c b/src/battle_util.c index ea2da5709eb8..e87fa9f368f4 100644 --- a/src/battle_util.c +++ b/src/battle_util.c @@ -6239,7 +6239,7 @@ u32 GetBattlerAbility(u32 battler) && gBattleMons[battler].ability == ABILITY_COMATOSE) return ABILITY_NONE; - if (CanBreakThroughAbility(gBattlerAttacker, battler, gBattleMons[gBattlerAttacker].ability)) + if (noAbilityShield && CanBreakThroughAbility(gBattlerAttacker, battler, gBattleMons[gBattlerAttacker].ability)) return ABILITY_NONE; return gBattleMons[battler].ability; From e82e3b4198cca732ee7299bc98385683ca840f71 Mon Sep 17 00:00:00 2001 From: DizzyEggg Date: Fri, 26 Jul 2024 23:46:33 +0200 Subject: [PATCH 17/38] Allow flags in trigger scripts (#4900) --- src/field_control_avatar.c | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/src/field_control_avatar.c b/src/field_control_avatar.c index 5e709a9fb0d0..a1deda6b29bb 100644 --- a/src/field_control_avatar.c +++ b/src/field_control_avatar.c @@ -932,6 +932,16 @@ static s8 GetWarpEventAtPosition(struct MapHeader *mapHeader, u16 x, u16 y, u8 e return WARP_ID_NONE; } +static bool32 ShouldTriggerScriptRun(const struct CoordEvent *coordEvent) +{ + u16 *varPtr = GetVarPointer(coordEvent->trigger); + // Treat non Vars as flags + if (varPtr == NULL) + return (FlagGet(coordEvent->trigger) == coordEvent->index); + else + return (*varPtr == coordEvent->index); +} + static const u8 *TryRunCoordEventScript(const struct CoordEvent *coordEvent) { if (coordEvent != NULL) @@ -946,7 +956,7 @@ static const u8 *TryRunCoordEventScript(const struct CoordEvent *coordEvent) RunScriptImmediately(coordEvent->script); return NULL; } - if (VarGet(coordEvent->trigger) == (u8)coordEvent->index) + if (ShouldTriggerScriptRun(coordEvent)) return coordEvent->script; } return NULL; From 91b48a10d4f0b4c85ffa0363c19f6979b34889c9 Mon Sep 17 00:00:00 2001 From: pkmnsnfrn Date: Fri, 26 Jul 2024 21:57:42 -0700 Subject: [PATCH 18/38] Added constant for NUM_SNOWFLAKE_SPRITES --- include/constants/field_weather.h | 1 + src/field_weather_effect.c | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/include/constants/field_weather.h b/include/constants/field_weather.h index e84dbc48c4dd..fe7eb6a1ae7c 100644 --- a/include/constants/field_weather.h +++ b/include/constants/field_weather.h @@ -8,6 +8,7 @@ #define NUM_FOG_DIAGONAL_SPRITES 20 #define NUM_SANDSTORM_SPRITES 20 #define NUM_SWIRL_SANDSTORM_SPRITES 5 +#define NUM_SNOWFLAKE_SPRITES 16 // Controls how the weather should be changing the screen palettes. #define WEATHER_PAL_STATE_CHANGING_WEATHER 0 diff --git a/src/field_weather_effect.c b/src/field_weather_effect.c index de0b90c48006..10ce1bc37a9b 100644 --- a/src/field_weather_effect.c +++ b/src/field_weather_effect.c @@ -770,7 +770,7 @@ void Snow_InitVars(void) gWeatherPtr->weatherGfxLoaded = FALSE; gWeatherPtr->targetColorMapIndex = 3; gWeatherPtr->colorMapStepDelay = 20; - gWeatherPtr->targetSnowflakeSpriteCount = 16; + gWeatherPtr->targetSnowflakeSpriteCount = NUM_SNOWFLAKE_SPRITES; gWeatherPtr->snowflakeVisibleCounter = 0; } From 1e8773356c040239e48b54a8fc4b4d731b604fe5 Mon Sep 17 00:00:00 2001 From: Eduardo Quezada Date: Sat, 27 Jul 2024 14:48:59 -0400 Subject: [PATCH 19/38] Changed EVO_OVERWORLD_STEPS to use an EWRAM variable (#5047) * Changed EVO_OVERWORLD_STEPS to use an EWRAM variable * Fixed PC swapping not resetting the follower steps --- data/scripts/debug.inc | 10 ++++++++++ include/constants/pokemon.h | 2 +- include/pokemon.h | 1 + src/debug.c | 17 +++++++++++++++++ src/field_control_avatar.c | 26 +++++--------------------- src/party_menu.c | 3 +++ src/pokemon.c | 3 ++- src/pokemon_storage_system.c | 13 +++++++++++++ test/species.c | 3 --- 9 files changed, 52 insertions(+), 26 deletions(-) diff --git a/data/scripts/debug.inc b/data/scripts/debug.inc index 02a93a4d9c7b..12dc693fd02a 100644 --- a/data/scripts/debug.inc +++ b/data/scripts/debug.inc @@ -439,4 +439,14 @@ Debug_EventScript_InflictStatus1_Text_Freeze: Debug_EventScript_InflictStatus1_Text_Frostbite: .string "Frostbite$" +Debug_EventScript_EWRAMCounters:: + callnative CheckEWRAMCounters + msgbox Debug_EventScript_EWRAMCounters_Text, MSGBOX_DEFAULT + release + end + +Debug_EventScript_EWRAMCounters_Text:: + .string "Follower Steps: {STR_VAR_1}.\n" + .string "Fishing Chain: {STR_VAR_2}.$" + .endif diff --git a/include/constants/pokemon.h b/include/constants/pokemon.h index bebda44834cd..33988ad4b876 100644 --- a/include/constants/pokemon.h +++ b/include/constants/pokemon.h @@ -297,7 +297,7 @@ #define EVO_RECOIL_DAMAGE_FEMALE 49 // Pokémon levels up after having suffered specified amount of non-fainting recoil damage as a female #define EVO_ITEM_COUNT_999 50 // Pokémon levels up after trainer has collected 999 of a specific item #define EVO_DEFEAT_WITH_ITEM 51 // Pokémon levels up after having defeat 3 Pokémon of the same species holding the specified item -#define EVO_OVERWORLD_STEPS 52 // Pokémon levels up after having taken a specific amount of steps in the overworld +#define EVO_OVERWORLD_STEPS 52 // Pokémon levels up after having taken a specific amount of steps in the overworld (or as the party lead if OW_FOLLOWERS_ENABLED is FALSE) without switching // Evolution 'modes,' for GetEvolutionTargetSpecies #define EVO_MODE_NORMAL 0 diff --git a/include/pokemon.h b/include/pokemon.h index 920aee7e2ff2..b299ab7d61e5 100644 --- a/include/pokemon.h +++ b/include/pokemon.h @@ -684,6 +684,7 @@ extern struct Pokemon gPlayerParty[PARTY_SIZE]; extern u8 gEnemyPartyCount; extern struct Pokemon gEnemyParty[PARTY_SIZE]; extern struct SpriteTemplate gMultiuseSpriteTemplate; +extern u16 gFollowerSteps; extern const struct MoveInfo gMovesInfo[]; extern const u8 gFacilityClassToPicIndex[]; diff --git a/src/debug.c b/src/debug.c index 049e2f0ed865..f4b6f68840ea 100644 --- a/src/debug.c +++ b/src/debug.c @@ -99,6 +99,7 @@ enum UtilDebugMenu DEBUG_UTIL_MENU_ITEM_CHEAT, DEBUG_UTIL_MENU_ITEM_EXPANSION_VER, DEBUG_UTIL_MENU_ITEM_BERRY_FUNCTIONS, + DEBUG_UTIL_MENU_ITEM_EWRAM_COUNTERS, }; enum GivePCBagDebugMenu @@ -374,6 +375,7 @@ static void DebugAction_Util_Player_Id(u8 taskId); static void DebugAction_Util_CheatStart(u8 taskId); static void DebugAction_Util_ExpansionVersion(u8 taskId); static void DebugAction_Util_BerryFunctions(u8 taskId); +static void DebugAction_Util_CheckEWRAMCounters(u8 taskId); static void DebugAction_OpenPCBagFillMenu(u8 taskId); static void DebugAction_PCBag_Fill_PCBoxes_Fast(u8 taskId); @@ -476,6 +478,7 @@ extern const u8 Debug_CheckSaveBlock[]; extern const u8 Debug_CheckROMSpace[]; extern const u8 Debug_BoxFilledMessage[]; extern const u8 Debug_ShowExpansionVersion[]; +extern const u8 Debug_EventScript_EWRAMCounters[]; extern const u8 Debug_BerryPestsDisabled[]; extern const u8 Debug_BerryWeedsDisabled[]; @@ -532,6 +535,7 @@ static const u8 sDebugText_Util_Player_Id[] = _("New Trainer ID") static const u8 sDebugText_Util_CheatStart[] = _("Cheat start"); static const u8 sDebugText_Util_ExpansionVersion[] = _("Expansion Version"); static const u8 sDebugText_Util_BerryFunctions[] = _("Berry Functions…{CLEAR_TO 110}{RIGHT_ARROW}"); +static const u8 sDebugText_Util_EWRAMCounters[] = _("EWRAM Counters…{CLEAR_TO 110}{RIGHT_ARROW}"); // PC/Bag Menu static const u8 sDebugText_PCBag_Fill[] = _("Fill…{CLEAR_TO 110}{RIGHT_ARROW}"); static const u8 sDebugText_PCBag_Fill_Pc_Fast[] = _("Fill PC Boxes Fast"); @@ -720,6 +724,7 @@ static const struct ListMenuItem sDebugMenu_Items_Utilities[] = [DEBUG_UTIL_MENU_ITEM_CHEAT] = {sDebugText_Util_CheatStart, DEBUG_UTIL_MENU_ITEM_CHEAT}, [DEBUG_UTIL_MENU_ITEM_EXPANSION_VER] = {sDebugText_Util_ExpansionVersion, DEBUG_UTIL_MENU_ITEM_EXPANSION_VER}, [DEBUG_UTIL_MENU_ITEM_BERRY_FUNCTIONS] = {sDebugText_Util_BerryFunctions, DEBUG_UTIL_MENU_ITEM_BERRY_FUNCTIONS}, + [DEBUG_UTIL_MENU_ITEM_EWRAM_COUNTERS] = {sDebugText_Util_EWRAMCounters, DEBUG_UTIL_MENU_ITEM_EWRAM_COUNTERS}, }; static const struct ListMenuItem sDebugMenu_Items_PCBag[] = @@ -889,6 +894,7 @@ static void (*const sDebugMenu_Actions_Utilities[])(u8) = [DEBUG_UTIL_MENU_ITEM_CHEAT] = DebugAction_Util_CheatStart, [DEBUG_UTIL_MENU_ITEM_EXPANSION_VER] = DebugAction_Util_ExpansionVersion, [DEBUG_UTIL_MENU_ITEM_BERRY_FUNCTIONS] = DebugAction_Util_BerryFunctions, + [DEBUG_UTIL_MENU_ITEM_EWRAM_COUNTERS] = DebugAction_Util_CheckEWRAMCounters, }; static void (*const sDebugMenu_Actions_PCBag[])(u8) = @@ -5113,4 +5119,15 @@ static void DebugAction_Party_ClearParty(u8 taskId) Debug_DestroyMenu_Full(taskId); } +void CheckEWRAMCounters(struct ScriptContext *ctx) +{ + ConvertIntToDecimalStringN(gStringVar1, gFollowerSteps, STR_CONV_MODE_LEFT_ALIGN, 5); + ConvertIntToDecimalStringN(gStringVar2, gChainFishingDexNavStreak, STR_CONV_MODE_LEFT_ALIGN, 5); +} + +static void DebugAction_Util_CheckEWRAMCounters(u8 taskId) +{ + Debug_DestroyMenu_Full_Script(taskId, Debug_EventScript_EWRAMCounters); +} + #endif //DEBUG_OVERWORLD_MENU == TRUE diff --git a/src/field_control_avatar.c b/src/field_control_avatar.c index a1deda6b29bb..582617d555a1 100644 --- a/src/field_control_avatar.c +++ b/src/field_control_avatar.c @@ -69,7 +69,7 @@ static bool8 TryStartWarpEventScript(struct MapPosition *, u16); static bool8 TryStartMiscWalkingScripts(u16); static bool8 TryStartStepCountScript(u16); static void UpdateFriendshipStepCounter(void); -static void UpdateLetsGoEvolutionTracker(void); +static void UpdateFollowerStepCounter(void); #if OW_POISON_DAMAGE < GEN_5 static bool8 UpdatePoisonStepCounter(void); #endif // OW_POISON_DAMAGE @@ -566,7 +566,7 @@ static bool8 TryStartStepCountScript(u16 metatileBehavior) IncrementRematchStepCounter(); UpdateFriendshipStepCounter(); UpdateFarawayIslandStepCounter(); - UpdateLetsGoEvolutionTracker(); + UpdateFollowerStepCounter(); if (!(gPlayerAvatar.flags & PLAYER_AVATAR_FLAG_FORCED_MOVE) && !MetatileBehavior_IsForcedMovementTile(metatileBehavior)) { @@ -660,26 +660,10 @@ static void UpdateFriendshipStepCounter(void) } } -static void UpdateLetsGoEvolutionTracker(void) +static void UpdateFollowerStepCounter(void) { - u32 i; - u16 count; - struct Pokemon *followingMon = GetFirstLiveMon(); - const struct Evolution *evolutions = GetSpeciesEvolutions(GetMonData(followingMon, MON_DATA_SPECIES)); - - if (evolutions == NULL) - return; - - for (i = 0; evolutions[i].method != EVOLUTIONS_END; i++) - { - if (evolutions[i].method != EVO_OVERWORLD_STEPS || SanitizeSpeciesId(evolutions[i].targetSpecies) == SPECIES_NONE) - continue; - - // We only have 10 bits to use - count = min(1023, GetMonData(followingMon, MON_DATA_EVOLUTION_TRACKER) + 1); - SetMonData(followingMon, MON_DATA_EVOLUTION_TRACKER, &count); - return; - } + if (gPlayerPartyCount > 0 && gFollowerSteps < (u16)-1) + gFollowerSteps++; } void ClearPoisonStepCounter(void) diff --git a/src/party_menu.c b/src/party_menu.c index 2fd666d10d73..5214ddc2be63 100644 --- a/src/party_menu.c +++ b/src/party_menu.c @@ -2987,6 +2987,9 @@ static void CB2_ReturnToPartyMenuFromSummaryScreen(void) static void CursorCb_Switch(u8 taskId) { + // Reset follower steps when the party leader is changed + if (gPartyMenu.slotId == 0 || gPartyMenu.slotId2 == 0) + gFollowerSteps = 0; PlaySE(SE_SELECT); gPartyMenu.action = PARTY_ACTION_SWITCH; PartyMenuRemoveWindow(&sPartyMenuInternal->windowId[1]); diff --git a/src/pokemon.c b/src/pokemon.c index 1fd18f510eba..befede6fd115 100644 --- a/src/pokemon.c +++ b/src/pokemon.c @@ -85,6 +85,7 @@ EWRAM_DATA struct Pokemon gEnemyParty[PARTY_SIZE] = {0}; EWRAM_DATA struct SpriteTemplate gMultiuseSpriteTemplate = {0}; EWRAM_DATA static struct MonSpritesGfxManager *sMonSpritesGfxManagers[MON_SPR_GFX_MANAGERS_COUNT] = {NULL}; EWRAM_DATA static u8 sTriedEvolving = 0; +EWRAM_DATA u16 gFollowerSteps = 0; #include "data/moves_info.h" #include "data/abilities.h" @@ -4708,7 +4709,7 @@ u16 GetEvolutionTargetSpecies(struct Pokemon *mon, u8 mode, u16 evolutionItem, s targetSpecies = evolutions[i].targetSpecies; break; case EVO_OVERWORLD_STEPS: - if (evolutionTracker >= evolutions[i].param) + if (mon == GetFirstLiveMon() && gFollowerSteps >= evolutions[i].param) targetSpecies = evolutions[i].targetSpecies; break; } diff --git a/src/pokemon_storage_system.c b/src/pokemon_storage_system.c index c846e8facf82..fe65df011485 100644 --- a/src/pokemon_storage_system.c +++ b/src/pokemon_storage_system.c @@ -6,6 +6,7 @@ #include "dma3.h" #include "dynamic_placeholder_text_util.h" #include "event_data.h" +#include "event_object_movement.h" #include "field_screen_effect.h" #include "field_weather.h" #include "fldeff_misc.h" @@ -6412,9 +6413,15 @@ static void RefreshDisplayMon(void) static void SetMovingMonData(u8 boxId, u8 position) { if (boxId == TOTAL_BOXES_COUNT) + { sStorage->movingMon = gPlayerParty[sCursorPosition]; + if (&gPlayerParty[sCursorPosition] == GetFirstLiveMon()) + gFollowerSteps = 0; + } else + { BoxMonAtToMon(boxId, position, &sStorage->movingMon); + } PurgeMonOrBoxMon(boxId, position); sMovingMonOrigBoxId = boxId; @@ -6427,9 +6434,15 @@ static void SetPlacedMonData(u8 boxId, u8 position) HealPokemon(&sStorage->movingMon); if (boxId == TOTAL_BOXES_COUNT) + { gPlayerParty[position] = sStorage->movingMon; + if (&gPlayerParty[position] == GetFirstLiveMon()) + gFollowerSteps = 0; + } else + { SetBoxMonAt(boxId, position, &sStorage->movingMon.box); + } } static void PurgeMonOrBoxMon(u8 boxId, u8 position) diff --git a/test/species.c b/test/species.c index d09f1e3eb93a..052fc1e1949a 100644 --- a/test/species.c +++ b/test/species.c @@ -119,9 +119,6 @@ TEST("No species has two evolutions that use the evolution tracker") #ifdef EVO_DEFEAT_WITH_ITEM || evolutions[i].method == EVO_DEFEAT_WITH_ITEM #endif //EVO_DEFEAT_WITH_ITEM - #ifdef EVO_OVERWORLD_STEPS - || evolutions[i].method == EVO_OVERWORLD_STEPS - #endif //EVO_OVERWORLD_STEPS ) evolutionTrackerEvolutions++; From bb471746d67ec34c864f521b9ee8082975945819 Mon Sep 17 00:00:00 2001 From: Eduardo Quezada Date: Sat, 27 Jul 2024 15:41:05 -0400 Subject: [PATCH 20/38] Renamed EVO_DEFEAT_WITH_ITEM to EVO_DEFEAT_THREE_WITH_ITEM (#5046) --- include/constants/pokemon.h | 2 +- src/battle_script_commands.c | 4 ++-- src/data/pokemon/species_info/gen_5_families.h | 2 +- src/pokedex_plus_hgss.c | 6 +++--- src/pokemon.c | 2 +- test/species.c | 4 +--- 6 files changed, 9 insertions(+), 11 deletions(-) diff --git a/include/constants/pokemon.h b/include/constants/pokemon.h index 33988ad4b876..8095367c9779 100644 --- a/include/constants/pokemon.h +++ b/include/constants/pokemon.h @@ -296,7 +296,7 @@ #define EVO_RECOIL_DAMAGE_MALE 48 // Pokémon levels up after having suffered specified amount of non-fainting recoil damage as a male #define EVO_RECOIL_DAMAGE_FEMALE 49 // Pokémon levels up after having suffered specified amount of non-fainting recoil damage as a female #define EVO_ITEM_COUNT_999 50 // Pokémon levels up after trainer has collected 999 of a specific item -#define EVO_DEFEAT_WITH_ITEM 51 // Pokémon levels up after having defeat 3 Pokémon of the same species holding the specified item +#define EVO_DEFEAT_THREE_WITH_ITEM 51 // Pokémon levels up after having defeat 3 Pokémon of the same species holding the specified item #define EVO_OVERWORLD_STEPS 52 // Pokémon levels up after having taken a specific amount of steps in the overworld (or as the party lead if OW_FOLLOWERS_ENABLED is FALSE) without switching // Evolution 'modes,' for GetEvolutionTargetSpecies diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c index abe0f62c121d..3167da47e74f 100644 --- a/src/battle_script_commands.c +++ b/src/battle_script_commands.c @@ -16948,7 +16948,7 @@ static void TryUpdateEvolutionTracker(u32 evolutionMethod, u32 upAmount, u16 use val = 0; SetMonData(&gPlayerParty[gBattlerPartyIndexes[gBattlerAttacker]], MON_DATA_EVOLUTION_TRACKER, &val); break; - case EVO_DEFEAT_WITH_ITEM: + case EVO_DEFEAT_THREE_WITH_ITEM: if (GetMonData(&gEnemyParty[gBattlerPartyIndexes[gBattlerTarget]], MON_DATA_SPECIES) == GetMonData(&gPlayerParty[gBattlerPartyIndexes[gBattlerAttacker]], MON_DATA_SPECIES) && GetMonData(&gEnemyParty[gBattlerPartyIndexes[gBattlerTarget]], MON_DATA_HELD_ITEM) == evolutions[i].param) SetMonData(&gPlayerParty[gBattlerPartyIndexes[gBattlerAttacker]], MON_DATA_EVOLUTION_TRACKER, &val); @@ -16981,7 +16981,7 @@ void BS_TryUpdateRecoilTracker(void) void BS_TryUpdateLeadersCrestTracker(void) { NATIVE_ARGS(); - TryUpdateEvolutionTracker(EVO_DEFEAT_WITH_ITEM, 1, MOVE_NONE); + TryUpdateEvolutionTracker(EVO_DEFEAT_THREE_WITH_ITEM, 1, MOVE_NONE); gBattlescriptCurrInstr = cmd->nextInstr; } diff --git a/src/data/pokemon/species_info/gen_5_families.h b/src/data/pokemon/species_info/gen_5_families.h index db2392f685c1..ffa2dd4a1cef 100644 --- a/src/data/pokemon/species_info/gen_5_families.h +++ b/src/data/pokemon/species_info/gen_5_families.h @@ -9863,7 +9863,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = ) .levelUpLearnset = sBisharpLevelUpLearnset, .teachableLearnset = sBisharpTeachableLearnset, - .evolutions = EVOLUTION({EVO_DEFEAT_WITH_ITEM, ITEM_LEADERS_CREST, SPECIES_KINGAMBIT}), + .evolutions = EVOLUTION({EVO_DEFEAT_THREE_WITH_ITEM, ITEM_LEADERS_CREST, SPECIES_KINGAMBIT}), }, #if P_GEN_9_CROSS_EVOS diff --git a/src/pokedex_plus_hgss.c b/src/pokedex_plus_hgss.c index 3788ea4c44e4..fa5279441b32 100644 --- a/src/pokedex_plus_hgss.c +++ b/src/pokedex_plus_hgss.c @@ -249,7 +249,7 @@ static const u8 sText_EVO_USE_MOVE_TWENTY_TIMES[] = _("{LV}{UP_ARROW} after 20x static const u8 sText_EVO_RECOIL_DAMAGE_MALE[] = _("{LV}{UP_ARROW} with {STR_VAR_2} recoil, male"); static const u8 sText_EVO_RECOIL_DAMAGE_FEMALE[] = _("{LV}{UP_ARROW} with {STR_VAR_2} recoil, female"); static const u8 sText_EVO_ITEM_COUNT_999[] = _("{LV}{UP_ARROW} with 999 {STR_VAR_2} in bag"); -static const u8 sText_EVO_DEFEAT_WITH_ITEM[] = _("{LV}{UP_ARROW} defeating {STR_VAR_3} holding {STR_VAR_2}"); +static const u8 sText_EVO_DEFEAT_THREE_WITH_ITEM[] = _("{LV}{UP_ARROW} defeating 3 {STR_VAR_3} holding {STR_VAR_2}"); static const u8 sText_EVO_OVERWORLD_STEPS[] = _("{LV}{UP_ARROW} after {STR_VAR_2} steps"); static const u8 sText_EVO_UNKNOWN[] = _("Method unknown"); static const u8 sText_EVO_NONE[] = _("{STR_VAR_1} has no evolution."); @@ -6629,11 +6629,11 @@ static void PrintEvolutionTargetSpeciesAndMethod(u8 taskId, u16 species, u8 dept CopyItemName(item, gStringVar2); StringExpandPlaceholders(gStringVar4, sText_EVO_ITEM_COUNT_999); break; - case EVO_DEFEAT_WITH_ITEM: + case EVO_DEFEAT_THREE_WITH_ITEM: item = evolutions[i].param; CopyItemName(item, gStringVar2); StringCopy(gStringVar3, GetSpeciesName(species)); - StringExpandPlaceholders(gStringVar4, sText_EVO_DEFEAT_WITH_ITEM); + StringExpandPlaceholders(gStringVar4, sText_EVO_DEFEAT_THREE_WITH_ITEM); break; case EVO_OVERWORLD_STEPS: ConvertIntToDecimalStringN(gStringVar2, evolutions[i].param, STR_CONV_MODE_LEADING_ZEROS, 4); diff --git a/src/pokemon.c b/src/pokemon.c index befede6fd115..0a47ebf7bc12 100644 --- a/src/pokemon.c +++ b/src/pokemon.c @@ -4704,7 +4704,7 @@ u16 GetEvolutionTargetSpecies(struct Pokemon *mon, u8 mode, u16 evolutionItem, s if (evolutionTracker >= evolutions[i].param && GetMonGender(mon) == MON_FEMALE) targetSpecies = evolutions[i].targetSpecies; break; - case EVO_DEFEAT_WITH_ITEM: + case EVO_DEFEAT_THREE_WITH_ITEM: if (evolutionTracker >= 3) targetSpecies = evolutions[i].targetSpecies; break; diff --git a/test/species.c b/test/species.c index 052fc1e1949a..2d702b6c453b 100644 --- a/test/species.c +++ b/test/species.c @@ -116,9 +116,7 @@ TEST("No species has two evolutions that use the evolution tracker") for (i = 0; evolutions[i].method != EVOLUTIONS_END; i++) { if (evolutions[i].method == EVO_USE_MOVE_TWENTY_TIMES - #ifdef EVO_DEFEAT_WITH_ITEM - || evolutions[i].method == EVO_DEFEAT_WITH_ITEM - #endif //EVO_DEFEAT_WITH_ITEM + || evolutions[i].method == EVO_DEFEAT_THREE_WITH_ITEM ) evolutionTrackerEvolutions++; From 9979fe01ac226c9a4fc1143493db91b56f24bc75 Mon Sep 17 00:00:00 2001 From: kittenchilly Date: Sun, 28 Jul 2024 11:47:49 -0500 Subject: [PATCH 21/38] Update battle_anim_scripts.s --- data/battle_anim_scripts.s | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/data/battle_anim_scripts.s b/data/battle_anim_scripts.s index 0947c39d1c6c..1f83317c9ed0 100644 --- a/data/battle_anim_scripts.s +++ b/data/battle_anim_scripts.s @@ -17902,12 +17902,12 @@ Move_AXE_KICK:: loadspritegfx ANIM_TAG_IMPACT playsewithpan SE_M_JUMP_KICK, SOUND_PAN_ATTACKER createsprite gSlideMonToOffsetSpriteTemplate, ANIM_ATTACKER, 2, 0, 20, 0, 0, 4 - delay 0x7 + delay 7 createsprite gAxeKickSpriteTemplate, ANIM_TARGET, 3 - delay 0x2 + delay 2 playsewithpan SE_M_COMET_PUNCH, SOUND_PAN_TARGET createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 1, 0, 0, ANIM_TARGET, 1 - createvisualtask AnimTask_SquishTarget, 0x2 + createvisualtask AnimTask_SquishTarget, 2 waitforvisualfinish createsprite gSlideMonToOriginalPosSpriteTemplate, ANIM_ATTACKER, 2, 0, 1, 4 end From 904d59220dfc2e49ea4e3023bf71b10087fb77cb Mon Sep 17 00:00:00 2001 From: kittenchilly Date: Sun, 28 Jul 2024 11:55:57 -0500 Subject: [PATCH 22/38] Shorten squish anim --- data/battle_anim_scripts.s | 24 ++++++++++++------------ src/battle_anim_new.c | 17 +++++++++++++++++ 2 files changed, 29 insertions(+), 12 deletions(-) diff --git a/data/battle_anim_scripts.s b/data/battle_anim_scripts.s index 1f83317c9ed0..45a957100e9c 100644 --- a/data/battle_anim_scripts.s +++ b/data/battle_anim_scripts.s @@ -17845,15 +17845,15 @@ ElectroShotUnleash: end Move_IVY_CUDGEL:: - loadspritegfx ANIM_TAG_IVY_CUDGEL_GRASS + loadspritegfx ANIM_TAG_IVY_CUDGEL_GRASS loadspritegfx ANIM_TAG_WOOD_HAMMER loadspritegfx ANIM_TAG_WOOD_HAMMER_HAMMER loadspritegfx ANIM_TAG_IMPACT playsewithpan SE_M_SWAGGER, SOUND_PAN_ATTACKER createvisualtask AnimTask_TranslateMonEllipticalRespectSide, 2, ANIM_ATTACKER, 12, 4, 2, 4 - jumpifmovetypeequal TYPE_FIRE, IvyCudgelFire - jumpifmovetypeequal TYPE_ROCK, IvyCudgelRock - jumpifmovetypeequal TYPE_WATER, IvyCudgelWater + jumpifmovetypeequal TYPE_FIRE, IvyCudgelFire + jumpifmovetypeequal TYPE_ROCK, IvyCudgelRock + jumpifmovetypeequal TYPE_WATER, IvyCudgelWater createsprite gIvyCudgelSpriteTemplate, ANIM_TARGET, 2 delay 60 createvisualtask AnimTask_ShakeMonInPlace, 2, ANIM_ATTACKER, 3, 0, 12, 4 @@ -17862,9 +17862,9 @@ Move_IVY_CUDGEL:: delay 6 call WoodHammerImpact waitforvisualfinish - end + end IvyCudgelFire: - loadspritegfx ANIM_TAG_IVY_CUDGEL_FIRE + loadspritegfx ANIM_TAG_IVY_CUDGEL_FIRE createsprite gIvyCudgelFireSpriteTemplate, ANIM_TARGET, 2 delay 60 createvisualtask AnimTask_ShakeMonInPlace, 2, ANIM_ATTACKER, 3, 0, 12, 4 @@ -17873,9 +17873,9 @@ IvyCudgelFire: delay 6 call WoodHammerImpact waitforvisualfinish - end + end IvyCudgelRock: - loadspritegfx ANIM_TAG_IVY_CUDGEL_ROCK + loadspritegfx ANIM_TAG_IVY_CUDGEL_ROCK createsprite gIvyCudgelRockSpriteTemplate, ANIM_TARGET, 2 delay 60 createvisualtask AnimTask_ShakeMonInPlace, 2, ANIM_ATTACKER, 3, 0, 12, 4 @@ -17884,9 +17884,9 @@ IvyCudgelRock: delay 6 call WoodHammerImpact waitforvisualfinish - end + end IvyCudgelWater: - loadspritegfx ANIM_TAG_IVY_CUDGEL_WATER + loadspritegfx ANIM_TAG_IVY_CUDGEL_WATER createsprite gIvyCudgelWaterSpriteTemplate, ANIM_TARGET, 2 delay 60 createvisualtask AnimTask_ShakeMonInPlace, 2, ANIM_ATTACKER, 3, 0, 12, 4 @@ -17895,7 +17895,7 @@ IvyCudgelWater: delay 6 call WoodHammerImpact waitforvisualfinish - end + end Move_AXE_KICK:: loadspritegfx ANIM_TAG_HANDS_AND_FEET @@ -17907,7 +17907,7 @@ Move_AXE_KICK:: delay 2 playsewithpan SE_M_COMET_PUNCH, SOUND_PAN_TARGET createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 1, 0, 0, ANIM_TARGET, 1 - createvisualtask AnimTask_SquishTarget, 2 + createvisualtask AnimTask_SquishTargetShort, 2 waitforvisualfinish createsprite gSlideMonToOriginalPosSpriteTemplate, ANIM_ATTACKER, 2, 0, 1, 4 end diff --git a/src/battle_anim_new.c b/src/battle_anim_new.c index 24ccaa2983e5..a4dce6aa0d59 100644 --- a/src/battle_anim_new.c +++ b/src/battle_anim_new.c @@ -110,6 +110,14 @@ static const union AffineAnimCmd sSquishTargetAffineAnimCmds[] = AFFINEANIMCMD_END, }; +static const union AffineAnimCmd sSquishTargetShortAffineAnimCmds[] = +{ + AFFINEANIMCMD_FRAME(0, 64, 0, 4), //Flatten + AFFINEANIMCMD_FRAME(0, 0, 0, 16), + AFFINEANIMCMD_FRAME(0, -64, 0, 4), + AFFINEANIMCMD_END, +}; + // GEN 4 // shadow sneak const struct SpriteTemplate gShadowSneakImpactSpriteTemplate = @@ -8525,6 +8533,15 @@ void AnimTask_SquishTarget(u8 taskId) task->func = AnimTask_WaitAffineAnim; } +void AnimTask_SquishTargetShort(u8 taskId) +{ + struct Task* task = &gTasks[taskId]; + u8 spriteId = GetAnimBattlerSpriteId(ANIM_TARGET); + + PrepareAffineAnimInTaskData(task, spriteId, sSquishTargetShortAffineAnimCmds); + task->func = AnimTask_WaitAffineAnim; +} + void CoreEnforcerLoadBeamTarget(struct Sprite *sprite) { sprite->data[0] = gBattleAnimArgs[2]; From a89820fa960f64f114b5f5606e2eacec600b3873 Mon Sep 17 00:00:00 2001 From: hedara90 <90hedara@gmail.com> Date: Mon, 29 Jul 2024 13:45:14 +0200 Subject: [PATCH 23/38] Fixed Hidden Power damage category for PSS < GEN_4 (#5053) * Fixed Hidden Power damage category for PSS < GEN_4 * Fixed category display regression * Wrapped GET_MOVE_TYPE --------- Co-authored-by: Hedara --- include/battle.h | 7 +++---- src/battle_util.c | 8 +++++--- 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/include/battle.h b/include/battle.h index 73ae60831f53..19a7ca24253b 100644 --- a/include/battle.h +++ b/include/battle.h @@ -795,13 +795,12 @@ STATIC_ASSERT(sizeof(((struct BattleStruct *)0)->palaceFlags) * 8 >= MAX_BATTLER #define F_DYNAMIC_TYPE_IGNORE_PHYSICALITY (1 << 6) // If set, the dynamic type's physicality won't be used for certain move effects. #define F_DYNAMIC_TYPE_SET (1 << 7) // Set for all dynamic types to distinguish a dynamic type of Normal (0) from no dynamic type. -#define GET_MOVE_TYPE(move, typeArg) \ -{ \ +#define GET_MOVE_TYPE(move, typeArg) do { \ if (gBattleStruct->dynamicMoveType) \ typeArg = gBattleStruct->dynamicMoveType & DYNAMIC_TYPE_MASK; \ else \ - typeArg = gMovesInfo[move].type; \ -} + typeArg = gMovesInfo[move].type; \ +} while(0) #define IS_MOVE_PHYSICAL(move)(GetBattleMoveCategory(move) == DAMAGE_CATEGORY_PHYSICAL) #define IS_MOVE_SPECIAL(move)(GetBattleMoveCategory(move) == DAMAGE_CATEGORY_SPECIAL) diff --git a/src/battle_util.c b/src/battle_util.c index e87fa9f368f4..0ec40fb14fbc 100644 --- a/src/battle_util.c +++ b/src/battle_util.c @@ -10828,6 +10828,7 @@ bool32 ShouldGetStatBadgeBoost(u16 badgeFlag, u32 battler) u8 GetBattleMoveCategory(u32 moveId) { + u8 moveType; if (gBattleStruct != NULL && gBattleStruct->zmove.active && !IS_MOVE_STATUS(moveId)) return gBattleStruct->zmove.activeCategory; if (gBattleStruct != NULL && IsMaxMove(moveId)) // TODO: Might be buggy depending on when this is called. @@ -10839,10 +10840,11 @@ u8 GetBattleMoveCategory(u32 moveId) if (IS_MOVE_STATUS(moveId)) return DAMAGE_CATEGORY_STATUS; - else if (gMovesInfo[moveId].type < TYPE_MYSTERY) - return DAMAGE_CATEGORY_PHYSICAL; + else if (gMain.inBattle) + GET_MOVE_TYPE(moveId, moveType); else - return DAMAGE_CATEGORY_SPECIAL; + moveType = gMovesInfo[moveId].type; + return moveType < TYPE_MYSTERY ? DAMAGE_CATEGORY_PHYSICAL : DAMAGE_CATEGORY_SPECIAL; } static bool32 TryRemoveScreens(u32 battler) From 54c19af03724e85f3ff747ddec79b62a79e0bcad Mon Sep 17 00:00:00 2001 From: Eduardo Quezada Date: Mon, 29 Jul 2024 10:28:32 -0400 Subject: [PATCH 24/38] Fixed B_HEAL_BELL_SOUNDPROOF checking for Gen9+ instead of Gen8+ (#5060) --- src/battle_ai_util.c | 2 +- src/battle_script_commands.c | 4 ++-- test/battle/ai/ai_check_viability.c | 2 +- test/battle/move_effect/heal_bell.c | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/battle_ai_util.c b/src/battle_ai_util.c index 68bd61dabe33..5505bbed183d 100644 --- a/src/battle_ai_util.c +++ b/src/battle_ai_util.c @@ -3043,7 +3043,7 @@ bool32 AnyPartyMemberStatused(u32 battlerId, bool32 checkSoundproof) } // Check attacker's status - if ((B_HEAL_BELL_SOUNDPROOF == GEN_5 || B_HEAL_BELL_SOUNDPROOF >= GEN_9 + if ((B_HEAL_BELL_SOUNDPROOF == GEN_5 || B_HEAL_BELL_SOUNDPROOF >= GEN_8 || AI_DATA->abilities[battlerId] != ABILITY_SOUNDPROOF || !checkSoundproof) && GetMonData(&party[battlerOnField1], MON_DATA_STATUS) != STATUS1_NONE) return TRUE; diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c index 3167da47e74f..ee1ef3a7867d 100644 --- a/src/battle_script_commands.c +++ b/src/battle_script_commands.c @@ -13192,7 +13192,7 @@ static void Cmd_healpartystatus(void) gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_BELL; if (GetBattlerAbility(gBattlerAttacker) != ABILITY_SOUNDPROOF - || B_HEAL_BELL_SOUNDPROOF == GEN_5 || B_HEAL_BELL_SOUNDPROOF >= GEN_9) + || B_HEAL_BELL_SOUNDPROOF == GEN_5 || B_HEAL_BELL_SOUNDPROOF >= GEN_8) { gBattleMons[gBattlerAttacker].status1 = 0; gBattleMons[gBattlerAttacker].status2 &= ~STATUS2_NIGHTMARE; @@ -13232,7 +13232,7 @@ static void Cmd_healpartystatus(void) bool32 isAttacker = gBattlerPartyIndexes[gBattlerAttacker] == i; bool32 isDoublesPartner = gBattlerPartyIndexes[partner] == i && IsBattlerAlive(partner); - if (B_HEAL_BELL_SOUNDPROOF == GEN_5 || (isAttacker && B_HEAL_BELL_SOUNDPROOF >= GEN_9)) + if (B_HEAL_BELL_SOUNDPROOF == GEN_5 || (isAttacker && B_HEAL_BELL_SOUNDPROOF >= GEN_8)) ability = ABILITY_NONE; else if (B_HEAL_BELL_SOUNDPROOF > GEN_5 && !isAttacker && !isDoublesPartner) ability = ABILITY_NONE; diff --git a/test/battle/ai/ai_check_viability.c b/test/battle/ai/ai_check_viability.c index 2e75f3190399..fa921e8674bc 100644 --- a/test/battle/ai/ai_check_viability.c +++ b/test/battle/ai/ai_check_viability.c @@ -203,7 +203,7 @@ AI_DOUBLE_BATTLE_TEST("AI chooses moves that cure self or partner") GIVEN { ASSUME(gMovesInfo[MOVE_HEAL_BELL].effect == EFFECT_HEAL_BELL); - ASSUME(B_HEAL_BELL_SOUNDPROOF >= GEN_9); + ASSUME(B_HEAL_BELL_SOUNDPROOF >= GEN_8); AI_FLAGS(AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_CHECK_VIABILITY | AI_FLAG_TRY_TO_FAINT); PLAYER(SPECIES_WOBBUFFET); PLAYER(SPECIES_WOBBUFFET); diff --git a/test/battle/move_effect/heal_bell.c b/test/battle/move_effect/heal_bell.c index 7c01d0cfd3f9..8bd6c1f45679 100644 --- a/test/battle/move_effect/heal_bell.c +++ b/test/battle/move_effect/heal_bell.c @@ -88,7 +88,7 @@ SINGLE_BATTLE_TEST("Heal Bell cures inactive soundproof Pokemon") SINGLE_BATTLE_TEST("Heal Bell cures a soundproof user") { - ASSUME(B_HEAL_BELL_SOUNDPROOF == GEN_5 || B_HEAL_BELL_SOUNDPROOF >= GEN_9); + ASSUME(B_HEAL_BELL_SOUNDPROOF == GEN_5 || B_HEAL_BELL_SOUNDPROOF >= GEN_8); GIVEN { PLAYER(SPECIES_EXPLOUD) { Ability(ABILITY_SOUNDPROOF); Status1(STATUS1_POISON); } From 337250343056bf1df15eddadf1a824f9be2e7314 Mon Sep 17 00:00:00 2001 From: Eduardo Quezada Date: Mon, 29 Jul 2024 12:41:03 -0400 Subject: [PATCH 25/38] Added OBJ_EVENT_GFX_SPECIES_SHINY macro (#5049) * Added OBJ_EVENT_GFX_SPECIES_SHINY * Update src/event_object_movement.c Co-authored-by: Alex <93446519+AlexOn1ine@users.noreply.github.com> --------- Co-authored-by: Alex <93446519+AlexOn1ine@users.noreply.github.com> --- include/constants/event_objects.h | 3 ++- include/constants/species.h | 2 ++ include/data.h | 2 -- src/event_object_movement.c | 8 ++++++++ 4 files changed, 12 insertions(+), 3 deletions(-) diff --git a/include/constants/event_objects.h b/include/constants/event_objects.h index f4268d9f0294..e2ac7f792068 100644 --- a/include/constants/event_objects.h +++ b/include/constants/event_objects.h @@ -275,7 +275,8 @@ #define OBJ_EVENT_GFX_SPECIES_MASK ((1 << OBJ_EVENT_GFX_SPECIES_BITS) - 1) // Used to call a specific species' follower graphics. Useful for static encounters. -#define OBJ_EVENT_GFX_SPECIES(name) (OBJ_EVENT_GFX_MON_BASE + SPECIES_##name) +#define OBJ_EVENT_GFX_SPECIES(name) (SPECIES_##name + OBJ_EVENT_GFX_MON_BASE) +#define OBJ_EVENT_GFX_SPECIES_SHINY(name) (SPECIES_##name + OBJ_EVENT_GFX_MON_BASE + SPECIES_SHINY_TAG) #define OW_SPECIES(x) (((x)->graphicsId & OBJ_EVENT_GFX_SPECIES_MASK) - OBJ_EVENT_GFX_MON_BASE) #define OW_FORM(x) ((x)->graphicsId >> OBJ_EVENT_GFX_SPECIES_BITS) diff --git a/include/constants/species.h b/include/constants/species.h index 685ebae474dd..895e444d51d2 100644 --- a/include/constants/species.h +++ b/include/constants/species.h @@ -1633,6 +1633,8 @@ #define NUM_SPECIES SPECIES_EGG +#define SPECIES_SHINY_TAG 5000 + // Competitive format aliases #define SPECIES_ALCREMIE_GMAX SPECIES_ALCREMIE_GIGANTAMAX #define SPECIES_APPLETUN_GMAX SPECIES_APPLETUN_GIGANTAMAX diff --git a/include/data.h b/include/data.h index e514cadd9aa0..69c1a19a3c49 100644 --- a/include/data.h +++ b/include/data.h @@ -4,8 +4,6 @@ #include "constants/moves.h" #include "constants/trainers.h" -#define SPECIES_SHINY_TAG 5000 - #define MAX_TRAINER_ITEMS 4 #define TRAINER_PIC_WIDTH 64 diff --git a/src/event_object_movement.c b/src/event_object_movement.c index 80a36d6818e4..5a6eb28fc3d1 100644 --- a/src/event_object_movement.c +++ b/src/event_object_movement.c @@ -1599,6 +1599,12 @@ static u8 TrySetupObjectEventSprite(const struct ObjectEventTemplate *objectEven if (OW_GFX_COMPRESS) spriteTemplate->tileTag = LoadSheetGraphicsInfo(graphicsInfo, objectEvent->graphicsId, NULL); + if (objectEvent->graphicsId >= OBJ_EVENT_GFX_MON_BASE + SPECIES_SHINY_TAG) + { + objectEvent->shiny = TRUE; + objectEvent->graphicsId -= SPECIES_SHINY_TAG; + } + spriteId = CreateSprite(spriteTemplate, 0, 0, 0); if (spriteId == MAX_SPRITES) { @@ -2751,6 +2757,8 @@ const struct ObjectEventGraphicsInfo *GetObjectEventGraphicsInfo(u16 graphicsId) if (graphicsId >= OBJ_EVENT_GFX_VARS && graphicsId <= OBJ_EVENT_GFX_VAR_F) graphicsId = VarGetObjectEventGraphicsId(graphicsId - OBJ_EVENT_GFX_VARS); + if (graphicsId >= OBJ_EVENT_GFX_MON_BASE + SPECIES_SHINY_TAG) + graphicsId -= SPECIES_SHINY_TAG; // graphicsId may contain mon form info if (graphicsId > OBJ_EVENT_GFX_SPECIES_MASK) { From 74220518d4b74f560bd4ecc8650288c8364d3f7e Mon Sep 17 00:00:00 2001 From: hedara90 <90hedara@gmail.com> Date: Mon, 29 Jul 2024 19:34:19 +0200 Subject: [PATCH 26/38] Fixed the animation tables being different sizes (#5063) Co-authored-by: Hedara --- src/data/battle_anim.h | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/data/battle_anim.h b/src/data/battle_anim.h index af46c1983ee6..0f94e5a30607 100644 --- a/src/data/battle_anim.h +++ b/src/data/battle_anim.h @@ -1455,6 +1455,9 @@ const struct CompressedSpriteSheet gBattleAnimPicTable[] = {gBattleAnimSpriteGfx_SyrupSplat, 0x400, ANIM_TAG_SYRUP_SPLAT_RED}, {gBattleAnimSpriteGfx_SyrupSplat, 0x400, ANIM_TAG_SYRUP_SPLAT_YELLOW}, {gBattleAnimSpriteGfx_IvyCudgel, 0x800, ANIM_TAG_IVY_CUDGEL_GRASS}, + {NULL, 0x0, ANIM_TAG_IVY_CUDGEL_FIRE}, + {NULL, 0x0, ANIM_TAG_IVY_CUDGEL_ROCK}, + {NULL, 0x0, ANIM_TAG_IVY_CUDGEL_WATER}, }; const struct CompressedSpritePalette gBattleAnimPaletteTable[] = From ab9f8e69fb5401ceab744d98451fdf0ea8683d6c Mon Sep 17 00:00:00 2001 From: PhallenTree <168426989+PhallenTree@users.noreply.github.com> Date: Tue, 30 Jul 2024 09:36:22 +0100 Subject: [PATCH 27/38] Fixes Stalwart/Propeller Tail, Life Orb on confusion, Remove Status wrong battlescripts (#5061) * Fix swapped BattleScripts in MoveEffectRemoveStatus for Freeze/Frostbite * Fix Life Orb damaging the user if they hit themselves in confusion * Fix Stalwart/Propeller Tail not ignoring redirection from Storm Drain/Lightning Rod * Parametrize Species --- src/battle_script_commands.c | 4 +-- src/battle_util.c | 5 ++-- test/battle/ability/stalwart.c | 55 ++++++++++++++++++++++++++++++++++ 3 files changed, 60 insertions(+), 4 deletions(-) create mode 100644 test/battle/ability/stalwart.c diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c index c79891e05b00..678568a574d1 100644 --- a/src/battle_script_commands.c +++ b/src/battle_script_commands.c @@ -5741,10 +5741,10 @@ static void Cmd_moveend(void) gBattlescriptCurrInstr = BattleScript_TargetBurnHeal; break; case STATUS1_FREEZE: - gBattlescriptCurrInstr = BattleScript_FrostbiteHealedViaFireMove; + gBattlescriptCurrInstr = BattleScript_DefrostedViaFireMove; break; case STATUS1_FROSTBITE: - gBattlescriptCurrInstr = BattleScript_DefrostedViaFireMove; + gBattlescriptCurrInstr = BattleScript_FrostbiteHealedViaFireMove; break; case STATUS1_POISON: case STATUS1_TOXIC_POISON: diff --git a/src/battle_util.c b/src/battle_util.c index 0ec40fb14fbc..ff9e34469f05 100644 --- a/src/battle_util.c +++ b/src/battle_util.c @@ -236,8 +236,8 @@ void HandleAction_UseMove(void) && GetBattlerTurnOrderNum(battler) < var && gMovesInfo[gCurrentMove].effect != EFFECT_SNIPE_SHOT && gMovesInfo[gCurrentMove].effect != EFFECT_PLEDGE - && (GetBattlerAbility(gBattlerAttacker) != ABILITY_PROPELLER_TAIL - || GetBattlerAbility(gBattlerAttacker) != ABILITY_STALWART)) + && GetBattlerAbility(gBattlerAttacker) != ABILITY_PROPELLER_TAIL + && GetBattlerAbility(gBattlerAttacker) != ABILITY_STALWART) { var = GetBattlerTurnOrderNum(battler); } @@ -7791,6 +7791,7 @@ u8 ItemBattleEffects(u8 caseID, u32 battler, bool32 moveTurn) if (IsBattlerAlive(gBattlerAttacker) && !(TestIfSheerForceAffected(gBattlerAttacker, gCurrentMove)) && GetBattlerAbility(gBattlerAttacker) != ABILITY_MAGIC_GUARD + && !gProtectStructs[gBattlerAttacker].confusionSelfDmg && !gSpecialStatuses[gBattlerAttacker].preventLifeOrbDamage && gSpecialStatuses[gBattlerAttacker].damagedMons) { diff --git a/test/battle/ability/stalwart.c b/test/battle/ability/stalwart.c new file mode 100644 index 000000000000..289f25dd1c80 --- /dev/null +++ b/test/battle/ability/stalwart.c @@ -0,0 +1,55 @@ +#include "global.h" +#include "test/battle.h" + +DOUBLE_BATTLE_TEST("Stalwart ignores redirection from Follow-Me") +{ + GIVEN { + PLAYER(SPECIES_ARCHALUDON) { Ability(ABILITY_STALWART); } + PLAYER(SPECIES_WOBBUFFET); + OPPONENT(SPECIES_WOBBUFFET); + OPPONENT(SPECIES_WOBBUFFET); + } WHEN { + TURN { MOVE(opponentLeft, MOVE_FOLLOW_ME); MOVE(playerLeft, MOVE_DRACO_METEOR, target: opponentRight); } + } SCENE { + ANIMATION(ANIM_TYPE_MOVE, MOVE_FOLLOW_ME, opponentLeft); + ANIMATION(ANIM_TYPE_MOVE, MOVE_DRACO_METEOR, playerLeft); + HP_BAR(opponentRight); + NOT HP_BAR(opponentLeft); + } +} + +DOUBLE_BATTLE_TEST("Stalwart stops Lightning Rod and Storm Drain from redirecting moves") +{ + u32 ability, species; + PARAMETRIZE { ability = ABILITY_STORM_DRAIN; species = SPECIES_LUMINEON; } + PARAMETRIZE { ability = ABILITY_LIGHTNING_ROD; species = SPECIES_RAICHU; } + GIVEN { + ASSUME(gMovesInfo[MOVE_SPARK].type == TYPE_ELECTRIC); + ASSUME(gMovesInfo[MOVE_WATER_GUN].type == TYPE_WATER); + PLAYER(SPECIES_WOBBUFFET) { Ability(ABILITY_STALWART); } + PLAYER(SPECIES_WOBBUFFET); + OPPONENT(species) { Ability(ability); } + OPPONENT(SPECIES_WOBBUFFET); + } WHEN { + TURN { + if (ability == ABILITY_LIGHTNING_ROD) + MOVE(playerLeft, MOVE_SPARK, target: opponentRight); + else + MOVE(playerLeft, MOVE_WATER_GUN, target: opponentRight); + } + } SCENE { + if (B_REDIRECT_ABILITY_IMMUNITY >= GEN_5) { + HP_BAR(opponentRight); + NONE_OF { + ABILITY_POPUP(opponentLeft, ability); + ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, opponentLeft); + MESSAGE("Foe Raichu's Sp. Atk rose!"); + } + } else { + HP_BAR(opponentRight); + NONE_OF { + HP_BAR(opponentLeft); + } + } + } +} From a89fc9de699ca0f4eb84005438cc03cade9ed2c8 Mon Sep 17 00:00:00 2001 From: nooT <123473450+anrichtait@users.noreply.github.com> Date: Tue, 30 Jul 2024 21:36:35 +0200 Subject: [PATCH 28/38] Added AI Flags Documentation To Directory For New Documentation Site (#5057) * Ported the wiki file ai flags to the /docs directory for the new documentation site * Revised AI flag documentation based on reviewer feedback * New comparitive clauses for; AI_FLAG_STRONGEST_MOVE and AI_FLAG_TRY_TO_FAINT * Added an entry to the navigation menu for the AI Flags docs * Added an entry to the navigation menu for the AI Flags docs --- docs/SUMMARY.md | 1 + docs/ai_flags.md | 154 +++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 155 insertions(+) create mode 100644 docs/ai_flags.md diff --git a/docs/SUMMARY.md b/docs/SUMMARY.md index d1a93ce0be92..c458d479f997 100644 --- a/docs/SUMMARY.md +++ b/docs/SUMMARY.md @@ -3,6 +3,7 @@ - [README](./README.md) - [Installation](./INSTALL.md) - [Setting up WSL1 (Legacy Portion)](./legacy_WSL1_INSTALL.md) +- [AI Flags](./ai_flags.md) - [Changelog](./CHANGELOG.md) - [1.8.x]() - [Version 1.8.5](changelogs/1.8.x/1.8.5.md) diff --git a/docs/ai_flags.md b/docs/ai_flags.md new file mode 100644 index 000000000000..cc5c1631ff6d --- /dev/null +++ b/docs/ai_flags.md @@ -0,0 +1,154 @@ +# What are AI Flags? +AI flags alter the behavior of AI controlled trainers. These flags affect what moves the AI chooses to use, what Pokémon the AI sends out and when they decide to switch, overarching strategic choices the AI prefers to make, and more. + +The AI flags can be found in [`include/constants/battle_ai.h`](https://github.com/rh-hideout/pokeemerald-expansion/blob/master/include/constants/battle_ai.h). Some flags have their own dedicated functions that affect how the AI scores its options when choosing what to do in battle, and those functions can be found in [`src/battle_ai_main.c`](https://github.com/rh-hideout/pokeemerald-expansion/blob/master/src/battle_ai_main.c). Other flags are used in conditional checks to gate certain behaviour behind certain flags, which you can typically find by searching the codebase for the flag name and browsing from there. + +# What flags should you use? +When adding new AI flags it is recommended to use `AI_FLAG_CHECK_BAD_MOVE`, `AI_FLAG_CHECK_VIABILITY`, `AI_FLAG_TRY_TO_FAINT` to make sure the AI makes good decisions. It is especially important to use `AI_FLAG_CHECK_BAD_MOVE` in combination with any added flags otherwise the AI will use moves that can fail. + +Other flags should be used with consideration to the circumstances. + +# How do you use them? +Adding an AI flag to a trainer is straightforward, but the process is different depending on how trainers are being defined. + +## `COMPETITIVE_PARTY_SYNTAX == TRUE` +If you are using competitive syntax parties, navigate to the trainer data in [`src/data/trainers.party`](https://github.com/rh-hideout/pokeemerald-expansion/blob/upcoming/src/data/trainers.party), find the trainer you’d like to change, and add flags like so: +AI: Check Bad Move / Try to Faint / Check Viability. The name of each flag is just the constant, but without AI_FLAG at the beginning. For example, to add `AI_FLAG_SEQUENCE_SWITCHING`, any of the following will work: +* AI_FLAG_SEQUENCE_SWITCHING +* SEQUENCE_SWITCHING +* SEQUENCE SWITCHING +* Sequence_Switching +* Sequence Switching + +## `COMPETITIVE_PARTY_SYNTAX != TRUE` / Not Found +If you are not using competitive syntax parties, instead access the trainer data directly in [`src/data/trainers.h`](https://github.com/rh-hideout/pokeemerald-expansion/blob/master/src/data/trainers.h), and add flags like so, typed exactly the same as the flag names themselves: +`.aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY` + +# What AI Flags does pokeemerald-expansion have? +This section lists all of expansion’s AI Flags and briefly describes the effect they have on the AI’s behaviour. In all cases, please check the corresponding function or surrounding code around their implementation for more details. Some of these functions are vanilla, some share a name with vanilla but have been modified to varying degrees, and some are completely new. + +## `AI_FLAG_CHECK_BAD_MOVE` +The AI will avoid using moves that are likely to fail in the current situation. This flag helps prevent the AI from making ineffective choices, such as using moves into immunities, into invulnerable states, or when the moves are otherwise hindered by abilities, terrain, or status conditions. + +## `AI_FLAG_TRY_TO_FAINT` +AI will prioritize KOing the player if able rather than using status moves. Will prioritize using a move that can OHKO the player. If the player can KO the AI’s mon and the AI’s mon is slower, prioritize priority moves (this does not prevent the AI from switching out instead). + +This flag handles scoring for OHKOs but does not handle 2HKOs at all, `AI_FLAG_STRONGEST_MOVE` should be used for 2HKO scoring. + +## `AI_FLAG_CHECK_VIABILITY` +This flag is divided into two components to calculate the best available move for the current context: +- **`AI_CompareDamagingMoves`**: This function compares damaging moves against each other and picks the best one. +- **`AI_CalcMoveEffectScore`**: This function checks every move effect (status or damaging move effect) and increases the score accordingly. + +This is different to `AI_FLAG_CHECK_BAD_MOVE` as it calculates how poor a move is and not whether it will fail or not. + +## `AI_FLAG_SETUP_FIRST_TURN` +AI will prioritize using setup moves on the first turn. These include stat buffs, field effects, status moves, etc. + +This is just a flat increase without any consideration of whether it makes sense to use the move or not. For better move choice quality for those moves, `AI_FLAG_CHECK_VIABILITY` should be used. + +## `AI_FLAG_RISKY` +AI will generally behave more recklessly. This AI enables the following behaviour: +* Always assume the highest damage roll when scoring moves +* Blindly Mirror Coat / Counter based on the player mon’s species higher attacking stat +* Moves with Recoil if they miss are not treated differently even if accuracy is lowered +* Prioritize maximizing damage from moves at the cost of accuracy +* Prioritize moves with low change strong effects (Ancient Power etc., check `AI_Risky` function for full list) +* Switch offensively mid battle rather than defensively (if using `AI_FLAG_SMART_MON_CHOICES`) +* Prioritize Explosion moves + +## `AI_FLAG_PREFER_STRONGEST_MOVE` +Adds score bonus to any move the AI has that either OHKOs or 2HKOs the player. + +Keep in mind that this is a weaker form of `AI_FLAG_TRY_TO_FAINT` at scoring OHKOs as it does not take into account who is attacking first, it does however handle 2HKOs. + +## `AI_FLAG_PREFER_BATON_PASS` +AI prefers raising its own stats if it has >= 60% HP, as well as Ingrain, Aqua Ring, and Protect. Prioritizes Baton Bass if the mon is rooted (Ingrain) or has the Aqua Ring effect, and doesn’t if it has been Leech Seeded. + +## `AI_FLAG_DOUBLE_BATTLE` +This flag is automatically set in double battles, and controls much of the doubles-specific scoring. I’ll summarize some of its scoring as follows: +* Don’t use Helping Hand if partner is, don’t Perish Trap your partner, don’t change the weather if they are, don’t buff stats if partner will trigger Anger Point for us +* Collaborate with partner to Perish Trap opponent, Magnet Rise to protect partner, Dragon Cheer partner if applicable +* Prioritize using weather move if it benefits partner +* Prioritize triggering partner’s good abilities if possible (Motor Drive, Storm Drain, Beat Up -> Justified, etc.) +* Handle Skill Swap smartly, both with the partner and against the player + +## `AI_FLAG_HP_AWARE` +Lets the AI make decisions based on how much remaining HP its mon(s) and the player’s mon(s) have. + +With respect to the AI’s mons, in doubles: +* Allows the AI to attack its partner with a move it can absorb if its low on HP (ie. Electric move on partner with Volt Absorb) +* Prioritizes healing its partner if its HP is <= 50% if able + +In both singles and doubles: +* Prioritizes not using moves that require the user fainting (Destiny Bond, Explosion etc.) and healing moves while on >= 70% HP. +* Prioritize not using moves that require the user fainting or losing significant HP (Belly Drum etc) while between 30% and 70% HP +* Prioritize not using setup moves (Light Screen etc.) and Bide while on <= 30% HP + +With respect to the player’s mons: +* Prioritize not using many status moves (stat buffs, Poison, Pain Split) if the player has between 30% and 70% HP +* Prioritize not using any status moves if the player is has <= 30% HP + +## `AI_FLAG_POWERFUL_STATUS` +AI prioritizes setting up field effects (Trick Room, Rain Dance, etc.) and side statuses (Tailwind, Spikes, etc.), even if it could faint the target. + +## `AI_FLAG_NEGATE_UNAWARE` +AI does not understand ability suppression (Mold Breaker etc., weather suppression (Air Lock etc.), redirection abilities (Lightningrod etc.) being temporarily removed due to move effects (Sky Drop etc.), or item suppression (Magic Room etc.) and will ignore them. This is a handicap flag. + +## `AI_FLAG_WILL_SUICIDE` +AI prioritizes self destruction moves (Explosion, Memento). + +## `AI_FLAG_PREFER_STATUS_MOVES` +AI gets a score bonus for status moves. This should be combined with `AI_FLAG_CHECK_BAD_MOVE` to prevent using only status moves. + +## `AI_FLAG_STALL` +AI prefers simple classically "stalling" behaviour. It will prioritize: +* Mean Look, Fairy Lock, and Wrap for trapping +* Increasing its defense and special defense +* Moves that inflict Poison if it also has a Protect move +* Copying defense and special defense buffs + +## `AI_FLAG_SMART_SWITCHING` +Affects when the AI chooses to switch. AI will make smarter decisions about when to switch out mid-battle. Automatically enables `AI_FLAG_SMART_MON_CHOICES`, which is required as the vanilla mon selection AI is not smart enough to handle several switch-triggering situations appropriately, leading to bizarre behaviour. Many of these checks have intentional failure rates, so the AI won’t switch out 100% of the time in these cases to keep the player from being able to predict perfectly. Some of these also only apply to singles, and many of them are being simplified for the sake of brevity. This flag lets the AI trigger switches when: +* It can’t hit Wonder Guard and has another mon in the party that can (switch that mon in) +* It’s going to die to Perish Song, can’t KO the player and is affected by Yawn, is being severely affected by a status condition that switching helps (Curse, Toxic, Leech Seed) +* It has a mon that can trap the player’s mon and win the 1v1 (switch that mon in) +* It has a mon in the party that can absorb the player’s next expected attack (switch that mon in) +* It will not switch if the current mon will die to hazards on re-entry and it has no means of clearing them in its party +* All its moves are bad +* It can take advantage of Natural Cure or Regenerator +* Its Encore’d into something bad +* Its primary attacking stats are sufficiently lowered +* Its "odds are bad", which is a generic "try to make smart, player-like decisions generally speaking" check. Switches can be triggered if the player has a good switchin candidate (`AI_FLAG_SMART_MON_CHOICES`), and: +* The current mon has a bad type matchup and doesn’t have a super effective move and has at least ½ HP, or ¼ HP and Regenerator, or +* The current mon loses the 1v1 quickly and has at least ½ HP, or ¼ and Regenerator + +## `AI_FLAG_ACE_POKEMON` +Marks the last Pokemon in the party as the Ace Pokemon. It will not be used unless it is the last one remaining, or is forced to be switched in (Roar, U-Turn with 1 mon remaining, etc.) + +## `AI_FLAG_OMNISCIENT` +AI has full knowledge of player moves, abilities, and hold items, and can use this knowledge when making decisions. + +## `AI_FLAG_SMART_MON_CHOICES` +Affects what the AI chooses to send out after a switch. AI will make smarter decisions when choosing which mon to send out mid-battle and after a KO, which are handled separately. Automatically included when `AI_FLAG_SMART_SWITCHING` is enabled. + +With this flag enabled, the AI will prioritize choosing mons after a KO prioritizing the following criteria: +* Trapper (can trap the player’s mon and win the 1v1) +* Revenge killer (outspeeds an OHKOs / is outsped and OHKOs, is not OHKOd/ outspeeds and 2HKOs, is not OHKOd / is outsped and 2HKOs, is not 2HKOd) +* Has good type matchup and a super effective move +* Has good type matchup and does not have a super effective move +* Has Baton Pass +* If no mons meet any of the above criteria, choose the one that does the most damage + +And will choose mons after a mid-battle switch prioritizing the following criteria: +* Trapper (can trap the player’s mon and win the 1v1) +* Has good type matchup and a super effective move +* Has good type matchup and does not have a super effective move +* Is not 3HKO’d by the player +* Has Baton Pass + +## `AI_FLAG_CONSERVATIVE` +AI always assumes it will roll the lowest possible result when comparing damage in scoring. + +## `AI_FLAG_SEQUENCE_SWITCHING` +AI will always switch out after a KO in exactly party order as defined in the trainer data (ie. slot 1, then 2, then 3, etc.). The AI will never switch out mid-battle unless forced to (Roar etc.). If the AI uses a move that requires a switch where it makes a decision about what to send in (U-Turn etc.), it will always switch out into the lowest available party index. From e6175b5b84ad206d65dff5c1c323c90cba125af1 Mon Sep 17 00:00:00 2001 From: Alex <93446519+AlexOn1ine@users.noreply.github.com> Date: Wed, 31 Jul 2024 12:20:57 +0200 Subject: [PATCH 29/38] Fixes spread damage in double battles (#5064) * Fixes spread move damage in doubles * add DoubleBattle check * add additional check to test * restore trainer party --- src/battle_util.c | 12 ++++++------ test/battle/damage_formula.c | 34 ++++++++++++++++++++++++++++++++++ 2 files changed, 40 insertions(+), 6 deletions(-) diff --git a/src/battle_util.c b/src/battle_util.c index ff9e34469f05..d39392d26741 100644 --- a/src/battle_util.c +++ b/src/battle_util.c @@ -8532,12 +8532,12 @@ u32 GetMoveTargetCount(u32 move, u32 battlerAtk, u32 battlerDef) switch (GetBattlerMoveTargetType(gBattlerAttacker, move)) { case MOVE_TARGET_BOTH: - return IsBattlerAlive(battlerDef) - + IsBattlerAlive(BATTLE_PARTNER(battlerDef)); + return !(gAbsentBattlerFlags & gBitTable[battlerDef]) + + !(gAbsentBattlerFlags & gBitTable[BATTLE_PARTNER(battlerDef)]); case MOVE_TARGET_FOES_AND_ALLY: - return IsBattlerAlive(battlerDef) - + IsBattlerAlive(BATTLE_PARTNER(battlerDef)) - + IsBattlerAlive(BATTLE_PARTNER(battlerAtk)); + return !(gAbsentBattlerFlags & gBitTable[battlerDef]) + + !(gAbsentBattlerFlags & gBitTable[BATTLE_PARTNER(battlerDef)]) + + !(gAbsentBattlerFlags & gBitTable[BATTLE_PARTNER(battlerAtk)]); case MOVE_TARGET_OPPONENTS_FIELD: return 1; case MOVE_TARGET_DEPENDS: @@ -9654,7 +9654,7 @@ static inline s32 CalculateBaseDamage(u32 power, u32 userFinalAttack, u32 level, static inline uq4_12_t GetTargetDamageModifier(u32 move, u32 battlerAtk, u32 battlerDef) { - if (GetMoveTargetCount(move, battlerAtk, battlerDef) >= 2) + if (IsDoubleBattle() && GetMoveTargetCount(move, battlerAtk, battlerDef) >= 2) return B_MULTIPLE_TARGETS_DMG >= GEN_4 ? UQ_4_12(0.75) : UQ_4_12(0.5); return UQ_4_12(1.0); } diff --git a/test/battle/damage_formula.c b/test/battle/damage_formula.c index 2fdb9bed0f8d..3a58f69d90d4 100644 --- a/test/battle/damage_formula.c +++ b/test/battle/damage_formula.c @@ -116,3 +116,37 @@ SINGLE_BATTLE_TEST("Damage calculation matches Gen5+ (Marshadow vs Mawile)") EXPECT_EQ(expectedDamage, dmg); } } + +DOUBLE_BATTLE_TEST("A spread move will do correct damage to the second mon if the first target faints from first hit of the spread move") +{ + s16 damage[6]; + GIVEN { + PLAYER(SPECIES_REGIROCK); + PLAYER(SPECIES_REGIROCK); + OPPONENT(SPECIES_WOBBUFFET) { HP(200); } + OPPONENT(SPECIES_WOBBUFFET); + } WHEN { + TURN { MOVE(playerLeft, MOVE_ROCK_SLIDE); } + TURN { MOVE(playerLeft, MOVE_ROCK_SLIDE); MOVE(playerRight, MOVE_ROCK_SLIDE); } + TURN { MOVE(playerLeft, MOVE_ROCK_SLIDE); } + } SCENE { + ANIMATION(ANIM_TYPE_MOVE, MOVE_ROCK_SLIDE, playerLeft); + HP_BAR(opponentLeft, captureDamage: &damage[0]); + HP_BAR(opponentRight, captureDamage: &damage[1]); + + ANIMATION(ANIM_TYPE_MOVE, MOVE_ROCK_SLIDE, playerLeft); + HP_BAR(opponentLeft, captureDamage: &damage[2]); + HP_BAR(opponentRight, captureDamage: &damage[3]); + + ANIMATION(ANIM_TYPE_MOVE, MOVE_ROCK_SLIDE, playerRight); + HP_BAR(opponentRight, captureDamage: &damage[4]); + + ANIMATION(ANIM_TYPE_MOVE, MOVE_ROCK_SLIDE, playerLeft); + HP_BAR(opponentRight, captureDamage: &damage[5]); + } THEN { + EXPECT_EQ(damage[0], damage[1]); + EXPECT_EQ(damage[1], damage[3]); + EXPECT_MUL_EQ(damage[5], UQ_4_12(0.75), damage[3]); + EXPECT_EQ(damage[4], damage[5]); + } +} From 05ff7cef1ced59fafafc05d1799433e1f28a053e Mon Sep 17 00:00:00 2001 From: tertu Date: Wed, 31 Jul 2024 12:51:47 -0500 Subject: [PATCH 30/38] Tweak IV generation slightly (#4876) With HQ_RANDOM on, this means that the generator now only consumes one RNG output when generating IVs. Without HQ_RANDOM on, IV generation should be unchanged. --- src/pokemon.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/pokemon.c b/src/pokemon.c index 0a47ebf7bc12..2b731ef13cfa 100644 --- a/src/pokemon.c +++ b/src/pokemon.c @@ -1206,7 +1206,8 @@ void CreateBoxMon(struct BoxPokemon *boxMon, u16 species, u8 level, u8 fixedIV, else { u32 iv; - value = Random(); + u32 ivRandom = Random32(); + value = (u16)ivRandom; iv = value & MAX_IV_MASK; SetBoxMonData(boxMon, MON_DATA_HP_IV, &iv); @@ -1215,7 +1216,7 @@ void CreateBoxMon(struct BoxPokemon *boxMon, u16 species, u8 level, u8 fixedIV, iv = (value & (MAX_IV_MASK << 10)) >> 10; SetBoxMonData(boxMon, MON_DATA_DEF_IV, &iv); - value = Random(); + value = (u16)(ivRandom >> 16); iv = value & MAX_IV_MASK; SetBoxMonData(boxMon, MON_DATA_SPEED_IV, &iv); From 3b9ea5b54c44d21631389df25e62db60598e9c54 Mon Sep 17 00:00:00 2001 From: Alex <93446519+AlexOn1ine@users.noreply.github.com> Date: Thu, 1 Aug 2024 00:04:21 +0200 Subject: [PATCH 31/38] Adds battle frontier conversion script (#5040) Adds script to convert battle frontier mons to new format Fixes existing battle frontier mons to match vanilla --- .../1.9/battle_frontier_convert_parties.py | 62 +++++++++++++++++++ migration_scripts/README.md | 21 +++++++ .../battle_frontier/battle_frontier_mons.h | 12 ++-- 3 files changed, 89 insertions(+), 6 deletions(-) create mode 100644 migration_scripts/1.9/battle_frontier_convert_parties.py diff --git a/migration_scripts/1.9/battle_frontier_convert_parties.py b/migration_scripts/1.9/battle_frontier_convert_parties.py new file mode 100644 index 000000000000..83982bbe465d --- /dev/null +++ b/migration_scripts/1.9/battle_frontier_convert_parties.py @@ -0,0 +1,62 @@ +import re + +def battle_frontier_mons(data): + data = re.sub(re.escape(".itemTableId = BATTLE_FRONTIER_"), ".heldItem = ", data) + data = re.sub(re.escape("FacilityMon"), "TrainerMon", data) + data = re.sub(re.escape(".evSpread = 0,"), ".ev = NULL,", data) + data = re.sub(re.escape(".evSpread = F_EV_SPREAD_HP,"), ".ev = TRAINER_PARTY_EVS(252, 0, 0, 0, 0, 0),", data) + data = re.sub(re.escape(".evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK,"), ".ev = TRAINER_PARTY_EVS(0, 170, 170, 170, 0, 0),", data) + data = re.sub(re.escape(".evSpread = F_EV_SPREAD_ATTACK,"), ".ev = TRAINER_PARTY_EVS(0, 252, 0, 0, 0, 0),", data) + data = re.sub(re.escape(".evSpread = F_EV_SPREAD_SPEED,"), ".ev = TRAINER_PARTY_EVS(0, 0, 0, 252, 0, 0),", data) + data = re.sub(re.escape(".evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,"), ".ev = TRAINER_PARTY_EVS(170, 170, 170, 0, 0, 0),", data) + data = re.sub(re.escape(".evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK,"), ".ev = TRAINER_PARTY_EVS(0, 170, 170, 0, 170, 0),", data) + data = re.sub(re.escape(".evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_HP,"), ".ev = TRAINER_PARTY_EVS(170, 0, 0, 170, 170, 0),", data) + data = re.sub(re.escape(".evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_HP,"), ".ev = TRAINER_PARTY_EVS(170, 0, 0, 170, 170, 0),", data) + data = re.sub(re.escape(".evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,"), ".ev = TRAINER_PARTY_EVS(170, 0, 170, 0, 170, 0),", data) + data = re.sub(re.escape(".evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE,"), ".ev = TRAINER_PARTY_EVS(0, 0, 170, 170, 170, 0),", data) + data = re.sub(re.escape(".evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,"), ".ev = TRAINER_PARTY_EVS(0, 170, 0, 170, 170, 0),", data) + data = re.sub(re.escape(".evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,"), ".ev = TRAINER_PARTY_EVS(170, 170, 0, 0, 170, 0),", data) + data = re.sub(re.escape(".evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,"), ".ev = TRAINER_PARTY_EVS(252, 0, 0, 0, 252, 0),", data) + data = re.sub(re.escape(".evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK,"), ".ev = TRAINER_PARTY_EVS(0, 252, 0, 0, 252, 0),", data) + data = re.sub(re.escape(".evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE,"), ".ev = TRAINER_PARTY_EVS(0, 0, 252, 0, 252, 0),", data) + data = re.sub(re.escape(".evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,"), ".ev = TRAINER_PARTY_EVS(0, 0, 0, 252, 252, 0),", data) + data = re.sub(re.escape(".evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,"), ".ev = TRAINER_PARTY_EVS(102, 102, 102, 102, 0, 102),", data) + data = re.sub(re.escape(".evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK,"), ".ev = TRAINER_PARTY_EVS(0, 128, 128, 0, 128, 128),", data) + data = re.sub(re.escape(".evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE,"), ".ev = TRAINER_PARTY_EVS(0, 0, 170, 0, 170, 170),", data) + data = re.sub(re.escape(".evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,"), ".ev = TRAINER_PARTY_EVS(84, 84, 84, 84, 84, 84),", data) + data = re.sub(re.escape(".evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK,"), ".ev = TRAINER_PARTY_EVS(0, 128, 128, 128, 0, 128),", data) + data = re.sub(re.escape(".evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK,"), ".ev = TRAINER_PARTY_EVS(0, 170, 170, 0, 0, 170),", data) + data = re.sub(re.escape(".evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,"), ".ev = TRAINER_PARTY_EVS(102, 0, 102, 102, 102, 102),", data) + data = re.sub(re.escape(".evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK,"), ".ev = TRAINER_PARTY_EVS(0, 170, 0, 0, 170, 170),", data) + data = re.sub(re.escape(".evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,"), ".ev = TRAINER_PARTY_EVS(128, 0, 128, 0, 128, 128),", data) + data = re.sub(re.escape(".evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,"), ".ev = TRAINER_PARTY_EVS(128, 128, 128, 0, 0, 128),", data) + data = re.sub(re.escape(".evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SPEED | F_EV_SPREAD_HP,"), ".ev = TRAINER_PARTY_EVS(170, 0, 0, 170, 0, 170),", data) + data = re.sub(re.escape(".evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,"), ".ev = TRAINER_PARTY_EVS(0, 170, 0, 170, 0, 170),", data) + data = re.sub(re.escape(".evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP,"), ".ev = TRAINER_PARTY_EVS(252, 0, 0, 0, 0, 252),", data) + data = re.sub(re.escape(".evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE,"), ".ev = TRAINER_PARTY_EVS(0, 0, 170, 170, 0, 170),", data) + data = re.sub(re.escape(".evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,"), ".ev = TRAINER_PARTY_EVS(128, 0, 128, 128, 0, 128),", data) + data = re.sub(re.escape(".evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,"), ".ev = TRAINER_PARTY_EVS(170, 0, 0, 0, 170, 170),", data) + data = re.sub(re.escape(".evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,"), ".ev = TRAINER_PARTY_EVS(170, 0, 170, 0, 0, 170),", data) + data = re.sub(re.escape(".evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,"), ".ev = TRAINER_PARTY_EVS(170, 170, 0, 0, 0, 170),", data) + data = re.sub(re.escape(".evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK,"), ".ev = TRAINER_PARTY_EVS(0, 252, 0, 0, 0, 252),", data) + data = re.sub(re.escape(".evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK,"), ".ev = TRAINER_PARTY_EVS(0, 0, 0, 0, 252, 252),", data) + data = re.sub(re.escape(".evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE,"), ".ev = TRAINER_PARTY_EVS(0, 0, 252, 0, 0, 252),", data) + data = re.sub(re.escape(".evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,"), ".ev = TRAINER_PARTY_EVS(252, 252, 0, 0, 0, 0),", data) + data = re.sub(re.escape(".evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_HP,"), ".ev = TRAINER_PARTY_EVS(252, 0, 0, 252, 0, 0),", data) + data = re.sub(re.escape(".evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,"), ".ev = TRAINER_PARTY_EVS(170, 0, 170, 170, 0, 0),", data) + data = re.sub(re.escape(".evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,"), ".ev = TRAINER_PARTY_EVS(170, 170, 0, 170, 0, 0),", data) + data = re.sub(re.escape(".evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,"), ".ev = TRAINER_PARTY_EVS(0, 252, 0, 252, 0, 0),", data) + data = re.sub(re.escape(".evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,"), ".ev = TRAINER_PARTY_EVS(252, 0, 252, 0, 0, 0),", data) + data = re.sub(re.escape(".evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK,"), ".ev = TRAINER_PARTY_EVS(0, 252, 252, 0, 0, 0),", data) + + return data + +with open('src/data/battle_frontier/battle_frontier_mons.h', 'r') as file: + data = file.read() +with open('src/data/battle_frontier/battle_frontier_mons.h', 'w') as file: + file.write(battle_frontier_mons(data)) + +with open('src/data/battle_frontier/battle_tent.h', 'r') as file: + data = file.read() +with open('src/data/battle_frontier/battle_tent.h', 'w') as file: + file.write(battle_frontier_mons(data)) diff --git a/migration_scripts/README.md b/migration_scripts/README.md index cfa1d23638ca..5ae26c1c0afc 100644 --- a/migration_scripts/README.md +++ b/migration_scripts/README.md @@ -336,3 +336,24 @@ Modifies all item ball scripts defined using to original Game Freak method to th "flag": "FLAG_ITEM_ROUTE_102_POTION" }, ``` + +### Facility Mons + +* Filepath [`migration_scripts/1.9/battle_frontier_convert_parties.py`](1.8/battle_frontier_convert_parties.py) +* Introduced in [Adds battle frontier conversion script #5040](https://github.com/rh-hideout/pokeemerald-expansion/pull/5040) +* Original refactor in [Customizable FrontierMon Sets #4313](https://github.com/rh-hideout/pokeemerald-expansion/pull/4313) + +Replaces itemTableId with heldItem and evSpread with ev. + +#### [src/data/battle_frontier/battle_frontier_mons.h](../src/data/battle_frontier/battle_frontier_mons.h) +```diff + [FRONTIER_MON_SUNKERN] = { + .species = SPECIES_SUNKERN, + .moves = {MOVE_MEGA_DRAIN, MOVE_HELPING_HAND, MOVE_SUNNY_DAY, MOVE_LIGHT_SCREEN}, +- .itemTableId = BATTLE_FRONTIER_ITEM_LAX_INCENSE, ++ .heldItem = ITEM_LAX_INCENSE, +- .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP, ++ .ev = TRAINER_PARTY_EVS(252, 0, 0, 0, 252, 0), + .nature = NATURE_RELAXED + }, +``` \ No newline at end of file diff --git a/src/data/battle_frontier/battle_frontier_mons.h b/src/data/battle_frontier/battle_frontier_mons.h index 7299e78a03fb..e83a25e82998 100644 --- a/src/data/battle_frontier/battle_frontier_mons.h +++ b/src/data/battle_frontier/battle_frontier_mons.h @@ -2804,7 +2804,7 @@ const struct TrainerMon gBattleFrontierMons[NUM_FRONTIER_MONS] = .species = SPECIES_LUDICOLO, .moves = {MOVE_SURF, MOVE_RAIN_DANCE, MOVE_THUNDER_PUNCH, MOVE_FIRE_PUNCH}, .heldItem = ITEM_SHELL_BELL, - .ev = TRAINER_PARTY_EVS(170, 170, 0, 0, 170, 0), + .ev = TRAINER_PARTY_EVS(170, 0, 170, 0, 170, 0), .nature = NATURE_QUIET }, [FRONTIER_MON_HYPNO_1] = { @@ -2853,7 +2853,7 @@ const struct TrainerMon gBattleFrontierMons[NUM_FRONTIER_MONS] = .species = SPECIES_ELECTABUZZ, .moves = {MOVE_THUNDERBOLT, MOVE_THUNDER_WAVE, MOVE_BRICK_BREAK, MOVE_LIGHT_SCREEN}, .heldItem = ITEM_CHERI_BERRY, - .ev = TRAINER_PARTY_EVS(170, 170, 0, 0, 170, 0), + .ev = TRAINER_PARTY_EVS(170, 0, 170, 0, 170, 0), .nature = NATURE_RELAXED }, [FRONTIER_MON_TAUROS_1] = { @@ -2909,7 +2909,7 @@ const struct TrainerMon gBattleFrontierMons[NUM_FRONTIER_MONS] = .species = SPECIES_MAGMAR, .moves = {MOVE_FLAMETHROWER, MOVE_SMOKESCREEN, MOVE_BRICK_BREAK, MOVE_BARRIER}, .heldItem = ITEM_RAWST_BERRY, - .ev = TRAINER_PARTY_EVS(170, 170, 0, 0, 170, 0), + .ev = TRAINER_PARTY_EVS(170, 0, 170, 0, 170, 0), .nature = NATURE_RELAXED }, [FRONTIER_MON_CRADILY_1] = { @@ -3245,7 +3245,7 @@ const struct TrainerMon gBattleFrontierMons[NUM_FRONTIER_MONS] = .species = SPECIES_MILOTIC, .moves = {MOVE_HYDRO_PUMP, MOVE_ICY_WIND, MOVE_RECOVER, MOVE_MIRROR_COAT}, .heldItem = ITEM_LUM_BERRY, - .ev = TRAINER_PARTY_EVS(170, 170, 0, 0, 170, 0), + .ev = TRAINER_PARTY_EVS(170, 0, 170, 0, 170, 0), .nature = NATURE_MODEST }, [FRONTIER_MON_ARCANINE_1] = { @@ -3714,7 +3714,7 @@ const struct TrainerMon gBattleFrontierMons[NUM_FRONTIER_MONS] = .species = SPECIES_TENTACRUEL, .moves = {MOVE_TOXIC, MOVE_GIGA_DRAIN, MOVE_CONFUSE_RAY, MOVE_SURF}, .heldItem = ITEM_LEFTOVERS, - .ev = TRAINER_PARTY_EVS(170, 170, 0, 0, 170, 0), + .ev = TRAINER_PARTY_EVS(170, 0, 170, 0, 170, 0), .nature = NATURE_HARDY }, [FRONTIER_MON_AERODACTYL_2] = { @@ -5870,7 +5870,7 @@ const struct TrainerMon gBattleFrontierMons[NUM_FRONTIER_MONS] = .species = SPECIES_REGICE, .moves = {MOVE_EARTHQUAKE, MOVE_ICE_BEAM, MOVE_CURSE, MOVE_COUNTER}, .heldItem = ITEM_LEFTOVERS, - .ev = TRAINER_PARTY_EVS(170, 170, 0, 0, 170, 0), + .ev = TRAINER_PARTY_EVS(170, 0, 170, 0, 170, 0), .nature = NATURE_BRAVE }, [FRONTIER_MON_REGICE_6] = { From de8002e9e0caeef9daed9f0f3b2d9bbec69e50bb Mon Sep 17 00:00:00 2001 From: Alex <93446519+AlexOn1ine@users.noreply.github.com> Date: Thu, 1 Aug 2024 09:58:14 +0200 Subject: [PATCH 32/38] Removes unnecessary checks for Shield Dust and Covert Cloak (#5073) * Removes unnecessary checks for Shield Dust and Covert Cloak * remove redundant include * Update test/battle/ability/shield_dust.c Co-authored-by: hedara90 <90hedara@gmail.com> * Update test/battle/hold_effect/covert_cloak.c Co-authored-by: hedara90 <90hedara@gmail.com> --------- Co-authored-by: hedara90 <90hedara@gmail.com> --- src/battle_script_commands.c | 10 ---------- test/battle/ability/shield_dust.c | 12 ++++++++++++ .../{item_effect => hold_effect}/covert_cloak.c | 17 +++++++++++++++++ 3 files changed, 29 insertions(+), 10 deletions(-) rename test/battle/{item_effect => hold_effect}/covert_cloak.c (93%) diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c index 678568a574d1..55fcb3bc68a1 100644 --- a/src/battle_script_commands.c +++ b/src/battle_script_commands.c @@ -11704,16 +11704,6 @@ static u32 ChangeStatBuffs(s8 statValue, u32 statId, u32 flags, const u8 *BS_ptr } return STAT_CHANGE_DIDNT_WORK; } - else if (battlerAbility == ABILITY_SHIELD_DUST && flags == 0) - { - RecordAbilityBattle(battler, ABILITY_SHIELD_DUST); - return STAT_CHANGE_DIDNT_WORK; - } - else if (flags == 0 && battlerHoldEffect == HOLD_EFFECT_COVERT_CLOAK) - { - RecordItemEffectBattle(battler, HOLD_EFFECT_COVERT_CLOAK); - return STAT_CHANGE_DIDNT_WORK; - } else // try to decrease { statValue = -GET_STAT_BUFF_VALUE(statValue); diff --git a/test/battle/ability/shield_dust.c b/test/battle/ability/shield_dust.c index ea6fbfb285e5..93a277dea8bf 100644 --- a/test/battle/ability/shield_dust.c +++ b/test/battle/ability/shield_dust.c @@ -164,3 +164,15 @@ SINGLE_BATTLE_TEST("Shield Dust blocks Sparkling Aria in singles") } } } + +SINGLE_BATTLE_TEST("Shield Dust does not prevent ability stat changes") +{ + GIVEN { + PLAYER(SPECIES_VIVILLON) { Ability(ABILITY_SHIELD_DUST); } + OPPONENT(SPECIES_ELDEGOSS) { Ability(ABILITY_COTTON_DOWN); } + } WHEN { + TURN { MOVE(player, MOVE_TACKLE); } + } SCENE { + MESSAGE("Vivillon's Speed fell!"); + } +} diff --git a/test/battle/item_effect/covert_cloak.c b/test/battle/hold_effect/covert_cloak.c similarity index 93% rename from test/battle/item_effect/covert_cloak.c rename to test/battle/hold_effect/covert_cloak.c index fc9a59bbd07e..58c4486fd62e 100644 --- a/test/battle/item_effect/covert_cloak.c +++ b/test/battle/hold_effect/covert_cloak.c @@ -1,6 +1,11 @@ #include "global.h" #include "test/battle.h" +ASSUMPTIONS +{ + ASSUME(gItemsInfo[ITEM_COVERT_CLOAK].holdEffect == HOLD_EFFECT_COVERT_CLOAK); +} + SINGLE_BATTLE_TEST("Covert Cloak blocks secondary effects") { u16 move; @@ -162,3 +167,15 @@ SINGLE_BATTLE_TEST("Covert Cloak blocks Sparkling Aria in singles") } } } + +SINGLE_BATTLE_TEST("Covert Cloak does not prevent ability stat changes") +{ + GIVEN { + PLAYER(SPECIES_WOBBUFFET) { Item(ITEM_COVERT_CLOAK); } + OPPONENT(SPECIES_ELDEGOSS) { Ability(ABILITY_COTTON_DOWN); } + } WHEN { + TURN { MOVE(player, MOVE_TACKLE); } + } SCENE { + MESSAGE("Wobbuffet's Speed fell!"); + } +} From 7ec24b89c8ca8ec6c600aa062c4ef75d868348e3 Mon Sep 17 00:00:00 2001 From: Eduardo Quezada Date: Thu, 1 Aug 2024 16:58:19 -0400 Subject: [PATCH 33/38] Merge branch '_RHH/upcoming' into _RHH/pr/master/1.9.0 --- .../ISSUE_TEMPLATE/01_battle_engine_bugs.yaml | 10 +- .../ISSUE_TEMPLATE/02_battle_ai_issues.yaml | 10 +- .github/ISSUE_TEMPLATE/04_other_errors.yaml | 10 +- CHANGELOG.md | 3 + README.md | 2 +- docs/SUMMARY.md | 2 + docs/changelogs/1.8.x/1.8.5.md | 2 +- docs/changelogs/1.9.x/1.9.0.md | 556 ++++++++++++++++++ docs/changelogs/template.md | 10 +- include/constants/expansion.h | 6 +- 10 files changed, 584 insertions(+), 27 deletions(-) create mode 100644 docs/changelogs/1.9.x/1.9.0.md diff --git a/.github/ISSUE_TEMPLATE/01_battle_engine_bugs.yaml b/.github/ISSUE_TEMPLATE/01_battle_engine_bugs.yaml index e8303dd5a04e..310f92c11874 100644 --- a/.github/ISSUE_TEMPLATE/01_battle_engine_bugs.yaml +++ b/.github/ISSUE_TEMPLATE/01_battle_engine_bugs.yaml @@ -23,21 +23,17 @@ body: label: Version description: What version of pokeemerald-expansion are you using as a base? options: - - 1.8.6 (Latest release) + - 1.9.0 (Latest release) - master (default, unreleased bugfixes) - upcoming (Edge) + - 1.8.6 - 1.8.5 - 1.8.4 - 1.8.3 - 1.8.2 - 1.8.1 - 1.8.0 - - 1.7.4 - - 1.7.3 - - 1.7.2 - - 1.7.1 - - 1.7.0 - - pre-1.7.0 + - pre-1.8.0 validations: required: true - type: input diff --git a/.github/ISSUE_TEMPLATE/02_battle_ai_issues.yaml b/.github/ISSUE_TEMPLATE/02_battle_ai_issues.yaml index 29cd798da2ea..9fcb1595a27a 100644 --- a/.github/ISSUE_TEMPLATE/02_battle_ai_issues.yaml +++ b/.github/ISSUE_TEMPLATE/02_battle_ai_issues.yaml @@ -23,21 +23,17 @@ body: label: Version description: What version of pokeemerald-expansion are you using as a base? options: - - 1.8.6 (Latest release) + - 1.9.0 (Latest release) - master (default, unreleased bugfixes) - upcoming (Edge) + - 1.8.6 - 1.8.5 - 1.8.4 - 1.8.3 - 1.8.2 - 1.8.1 - 1.8.0 - - 1.7.4 - - 1.7.3 - - 1.7.2 - - 1.7.1 - - 1.7.0 - - pre-1.7.0 + - pre-1.8.0 validations: required: true - type: input diff --git a/.github/ISSUE_TEMPLATE/04_other_errors.yaml b/.github/ISSUE_TEMPLATE/04_other_errors.yaml index 871b59ef61f9..73d9fd11d31f 100644 --- a/.github/ISSUE_TEMPLATE/04_other_errors.yaml +++ b/.github/ISSUE_TEMPLATE/04_other_errors.yaml @@ -23,21 +23,17 @@ body: label: Version description: What version of pokeemerald-expansion are you using as a base? options: - - 1.8.6 (Latest release) + - 1.9.0 (Latest release) - master (default, unreleased bugfixes) - upcoming (Edge) + - 1.8.6 - 1.8.5 - 1.8.4 - 1.8.3 - 1.8.2 - 1.8.1 - 1.8.0 - - 1.7.4 - - 1.7.3 - - 1.7.2 - - 1.7.1 - - 1.7.0 - - pre-1.7.0 + - pre-1.8.0 validations: required: true - type: input diff --git a/CHANGELOG.md b/CHANGELOG.md index 939e09691d54..0999ae5f7ed2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,8 @@ # Pokeemerald-Expansion Changelogs +## 1.9.x +- **[Version 1.9.0](docs/changelogs/1.9.x/1.9.0.md) - ✨ Feature Release** + ## 1.8.x - **[Version 1.8.6](docs/changelogs/1.8.x/1.8.6.md) - 🧹 Bugfix Release** - **[Version 1.8.5](docs/changelogs/1.8.x/1.8.5.md) - 🧹 Bugfix Release** diff --git a/README.md b/README.md index add1a302c726..3a87ac27f62c 100644 --- a/README.md +++ b/README.md @@ -9,7 +9,7 @@ pokeemerald-expansion is a decomp hack base project based off pret's [pokeemeral If you use pokeemerald-expansion in your hack, please add RHH (Rom Hacking Hideout) to your credits list. Optionally, you can list the version used, so it can help players know what features to expect. You can phrase it as the following: ``` -Based off RHH's pokeemerald-expansion 1.8.6 https://github.com/rh-hideout/pokeemerald-expansion/ +Based off RHH's pokeemerald-expansion 1.9.0 https://github.com/rh-hideout/pokeemerald-expansion/ ``` ## What features are included? diff --git a/docs/SUMMARY.md b/docs/SUMMARY.md index 9a35f90c2494..3ff95a251c69 100644 --- a/docs/SUMMARY.md +++ b/docs/SUMMARY.md @@ -5,6 +5,8 @@ - [Setting up WSL1 (Legacy Portion)](./legacy_WSL1_INSTALL.md) - [AI Flags](./ai_flags.md) - [Changelog](./CHANGELOG.md) + - [1.9.x]() + - [Version 1.9.0](changelogs/1.9.x/1.9.0.md) - [1.8.x]() - [Version 1.8.6](changelogs/1.8.x/1.8.6.md) - [Version 1.8.5](changelogs/1.8.x/1.8.5.md) diff --git a/docs/changelogs/1.8.x/1.8.5.md b/docs/changelogs/1.8.x/1.8.5.md index ded502ccfe69..a1d0d3298eb3 100644 --- a/docs/changelogs/1.8.x/1.8.5.md +++ b/docs/changelogs/1.8.x/1.8.5.md @@ -58,7 +58,7 @@ * Pawmi (Front by KingOfThe-X-Roads, back by Vent, QC by leParagon) * Pawmo (By vent, qc by leParagon) * Okidogi (Front by KingOfThe-X-Roads + by leParagon, back by Lykeron + QC by Alexandrev2. 0) - * Backported Hedara's Terapagos from `upcoming`. + * Backported @hedara90's Terapagos from https://github.com/rh-hideout/pokeemerald-expansion/pull/4691 * Updated wild held items to Gen 9 by @kittenchilly in https://github.com/rh-hideout/pokeemerald-expansion/pull/4769 * Teddiursa (Common: None_> Honey) * Bisharp (Rare: None -> Leader's Crest) diff --git a/docs/changelogs/1.9.x/1.9.0.md b/docs/changelogs/1.9.x/1.9.0.md new file mode 100644 index 000000000000..16947711d3e2 --- /dev/null +++ b/docs/changelogs/1.9.x/1.9.0.md @@ -0,0 +1,556 @@ +# Version 1.9.0 + +```md +## How to update +- If you haven't set up a remote, run the command `git remote add RHH https://github.com/rh-hideout/pokeemerald-expansion`. +- Once you have your remote set up, run the command `git pull RHH expansion/1.9.0`. +``` + +## 🌋 *REFACTORS* 🌋 +📜 = Has a migration script. +* [agbcc has been deprecated](#agbcc-has-been-deprecated-by-mrgriffin-in-httpsgithubcomrh-hideoutpokeemerald-expansionpull4989) +* [Added migration script README](#added-migration-script-readme-by-bassoonian-in-httpsgithubcomrh-hideoutpokeemerald-expansionpull4719) +* [Removed Gen 9 settings for out-of-battle abilities](#removed-gen-9-settings-for-out-of-battle-abilities-by-asparaguseduardo-in-httpsgithubcomrh-hideoutpokeemerald-expansionpull4282) +* 📜[Customizable Frontier Pokémon sets](#customizable-frontier-pokémon-sets-by-ghoulslash-in-httpsgithubcomrh-hideoutpokeemerald-expansionpull4313) +* [Replaced VARARG_8 uses with recursive macros](#replaced-vararg_8-uses-with-recursive-macros-by-cfmnephrite-in-httpsgithubcomrh-hideoutpokeemerald-expansionpull4232) +* 📜[Competitive-formatted parties](#competitive-formatted-parties-by-mrgriffin-in-httpsgithubcomrh-hideoutpokeemerald-expansionpull3545) +* [Terastallization](#terastallization-by-agustingdlv-in-httpsgithubcomrh-hideoutpokeemerald-expansionpull4110) +* [Combined weather set commands](#combined-weather-set-commands-by-alexon1ine-in-httpsgithubcomrh-hideoutpokeemerald-expansionpull4434) +* [Full official GF names for species/items/moves/types](#full-official-gf-names-for-speciesitemsmovestypes-by-mrgriffin-znogyrop-and-cfmnephrite-in-httpsgithubcomrh-hideoutpokeemerald-expansionpull4241) +* [Automatically display TM/HM icons based on their move](#automatically-display-tmhm-icons-based-on-their-move-by-sneed69-in-httpsgithubcomrh-hideoutpokeemerald-expansionpull4452) +* [Set `GiveBoxMonIntialMoveset_Fast` as default](#set-giveboxmonintialmoveset_fast-as-default-by-alexon1ine-in-httpsgithubcomrh-hideoutpokeemerald-expansionpull4470) +* [Changed Battle Frontier validation to species flag](#changed-battle-frontier-validation-to-species-flag-by-kittenchilly-in-httpsgithubcomrh-hideoutpokeemerald-expansionpull4341) +* [Replaced HP checks with `IsBattlerAlive`](#replaced-hp-checks-with-isbattleralive-by-ghoulslash-in-httpsgithubcomrh-hideoutpokeemerald-expansionpull4429) +* [Removed redundant `MOVE_EFFECT_SP_ATK_TWO_DOWN`](#removed-redundant-move_effect_sp_atk_two_down-by-sneed69-in-httpsgithubcomrh-hideoutpokeemerald-expansionpull4557) +* 📜[Removed `gItemIconTable`](#removed-gitemicontable-by-kittenchilly-in-httpsgithubcomrh-hideoutpokeemerald-expansionpull4579) +* 📜[Egg Move Refactor](#egg-move-refactor-by-bassoonian-in-httpsgithubcomrh-hideoutpokeemerald-expansionpull4534) +* [Adjusted Ate-Ability code a bit to make it more readable](#adjusted-ate-ability-code-a-bit-to-make-it-more-readable-by-alexon1ine-in-httpsgithubcomrh-hideoutpokeemerald-expansionpull4640) +* [Type Info refactors](#type-info-refactors-by-asparaguseduardo-in-httpsgithubcomrh-hideoutpokeemerald-expansionpull4462) +* [merrp/aarant's Followers](#merrpaarants-followers) +* [Refactored residual damage to be more readable and less prone to bugs](#refactored-residual-damage-to-be-more-readable-and-less-prone-to-bugs-by-alexon1ine-in-httpsgithubcomrh-hideoutpokeemerald-expansionpull4945) + +## 🧬 General 🧬 +### Added +* #### Added migration script README by @Bassoonian in https://github.com/rh-hideout/pokeemerald-expansion/pull/4719 +* #### Customizable Frontier Pokémon sets by @ghoulslash in https://github.com/rh-hideout/pokeemerald-expansion/pull/4313 + * `FacilityMon` has been removed in favor of using regular `TrainerMon`. + * Removed `BATTLE_FRONTIER_ITEM_x` item constants in favor of using regular `ITEM_x` constants. + * New `CreateFacilityMon` to handle duplicated code. + * Added `FLAG_FRONTIER_MON_FACTORY` that replaces Return for Frustration and sets frienship to 0. Used in the Battle Factory. + * Converted data in `src/data/battle_frontier/battle_frontier_mons.h` and `src/data/battle_frontier/battle_tent.h`, for example: + * `.itemTableId = BATTLE_FRONTIER_ITEM_CHOICE_BAND,` -> `.heldItem = ITEM_CHOICE_BAND,` + * `.evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,` -> `.ev = TRAINER_PARTY_EVS(0, 252, 0, 252, 0, 0),` + * Migration script available in `migration_scripts/egg_move_refactor.py` by @AlexOn1ine in https://github.com/rh-hideout/pokeemerald-expansion/pull/5040 +* Added documentation to `STATIC_ASSERTS` used by the `BoxPokemon` after 1.8.0 by @pkmnsnfrn in https://github.com/rh-hideout/pokeemerald-expansion/pull/4294 +* #### Competitive-formatted parties by @mrgriffin in https://github.com/rh-hideout/pokeemerald-expansion/pull/3545 + * Can be disabled by setting `COMPETITIVE_PARTY_SYNTAX` to `FALSE` in `include/config/general.h`. + * Introduces `trainerproc`, a tool which converts Competitive-formatted parties into Trainer Control-formatted parties. + * If you made custom changes to the following files and want to use this new format, ***Do not accept the incoming changes for them.*** Instead, use the migration script present in `migration_scripts/convert_parties.py`: + - `src/data/trainers.h` + - `src/data/trainer_parties.h` + - `src/data/battle_partners.h` + - `src/data/partner_parties.h` + * Before: + ```c + static const struct TrainerMon sTestParty1[] = + { + { + .species = SPECIES_WOBBUFFET, + .ball = ITEM_MASTER_BALL, + .ability = ABILITY_TELEPATHY, + .friendship = 42, + .gender = TRAINER_MON_FEMALE, + .heldItem = ITEM_ASSAULT_VEST, + .isShiny = TRUE, + .iv = TRAINER_PARTY_IVS(25,26,27,28,29,30), + .ev = TRAINER_PARTY_EVS(252, 0, 0, 252, 4, 0), + .lvl = 67, + .moves = {MOVE_AIR_SLASH, MOVE_BARRIER, MOVE_SOLAR_BEAM, MOVE_EXPLOSION}, + .nature = NATURE_HASTY, + .nickname = COMPOUND_STRING("Bubbles") + }, + { + .species = SPECIES_WOBBUFFET, + .ability = ABILITY_SHADOW_TAG, + .lvl = 5, + }, + }; + + static const struct Trainer sTestTrainer1 = + { + .trainerName = _("Test1"), + .party = TRAINER_PARTY(sTestParty1), + }; + ``` + After: + ``` + === 0 === + Name: Test1 + + Bubbles (Wobbuffet) (F) @ Assault Vest + Hasty Nature + Level: 67 + Ability: Telepathy + IVs: 25 HP / 26 Atk / 27 Def / 29 SpA / 30 SpD / 28 Spe + EVs: 252 HP / 4 SpA / 252 Spe + Happiness: 42 + Shiny: Yes + Ball: Master Ball + - Air Slash + - Barrier + - Solar Beam + - Explosion + + Wobbuffet + Level: 5 + Ability: Shadow Tag + ``` + * You can add comments by using `//` or `/* ... */`, like in C. + * You're allowed to write `SPECIES_PIKACHU` instead of `Pikachu` (etc etc) if you want. + * In addition to the migration script described above, you can add the following to at the top of the `src/data/trainers.party` file to change how the tool interprets the file: + - `#pragma trainerproc ivs explicit` — requires an `IVs:` line for every Pokémon instead of defaulting to 31s. + - `#pragma trainerproc ivs ` — changes the default IVs. + - `#pragma trainerproc level explicit` — requires a `Level:` line for every Pokémon instead of defaulting to 100. + - `#pragma trainerproc level ` — changes the default level. + - During the merge you could choose to keep your original `src/data/trainers.h` and `src/data/trainer_parties.h` and then run the conversion script to update the `src/data/trainers.party`, `make`, then check in all three files. Alternatively don't run the conversion script and turn off `COMPETITIVE_PARTY_SYNTAX` in `include/config.h`. + * Added synonyms for competitive/CFRU species defines, eg: + * `SPECIES_PONYTA_GALAR` for `SPECIES_PONYTA_GALARIAN` + * `SPECIES_MAUSHOLD_FOUR` for `SPECIES_MAUSHOLD_FAMILY_OF_FOUR` + * `SPECIES_CHARIZARD_GMAX` for `SPECIES_CHARIZARD_GIGANTAMAX` + * And so. + * ***TODO***: + - Support `Hidden Power:` to set IVs appropriate for a particular Hidden Power type. + - Consider case-insensitivity in the parser. + * Cleanup and bugfixes: + * By @mrgriffin in https://github.com/rh-hideout/pokeemerald-expansion/pull/4362 + * By @AsparagusEduardo in https://github.com/rh-hideout/pokeemerald-expansion/pull/4366 + * By @Bassoonian in https://github.com/rh-hideout/pokeemerald-expansion/pull/4374 + * By @LOuroboros in https://github.com/rh-hideout/pokeemerald-expansion/pull/4397 + * By @Bassoonian in https://github.com/rh-hideout/pokeemerald-expansion/pull/4421 + * By @AlexOn1ine in https://github.com/rh-hideout/pokeemerald-expansion/pull/4431 + * By @mrgriffin in https://github.com/rh-hideout/pokeemerald-expansion/pull/4442 + * By @fdeblasio in https://github.com/rh-hideout/pokeemerald-expansion/pull/4830 + * By @mrgriffin in https://github.com/rh-hideout/pokeemerald-expansion/pull/4969 + * By @hedara90 in https://github.com/rh-hideout/pokeemerald-expansion/pull/4734 + * By @innocenthedgehog in https://github.com/rh-hideout/pokeemerald-expansion/pull/4988 + * By @mrgriffin in https://github.com/rh-hideout/pokeemerald-expansion/pull/4990 + * By @mrgriffin in https://github.com/rh-hideout/pokeemerald-expansion/pull/5035 +* Added `OW_PC_MOVE_ORDER` config to use future generation's menu order for the Pokémon Storage System by @pkmnsnfrn and @AsparagusEduardo in https://github.com/rh-hideout/pokeemerald-expansion/pull/4348 + * `GEN_1/2/3`: Widthraw -> Deposit -> Move. + * `GEN_4/5/6_XY`: Deposit -> Widthraw -> Move. + * `GEN_6_ORAS/7/8/9`: Move -> Deposit -> Widthraw. +* Added `OW_HIDE_REPEAT_MAP_POPUP` config that doesn't show the Map Popup when transitioning bewteen maps within the same Map Section by Anon822 from Pokécommunity and @pkmnsnfrn in https://github.com/rh-hideout/pokeemerald-expansion/pull/4370 +* Multiple Fishing Enhancements by @ghoulslash and @pkmnsnfrn in https://github.com/rh-hideout/pokeemerald-expansion/pull/4343 + * Added `I_FISHING_CHAIN` config to enable XY's chain fishing. + * Added `I_FISHING_PROXIMITY` config to enable XY's proximity mechanic, where fishing away from NPCs increases the chance of a Pokémon being hooked. + * Added `I_FISHING_MINIGAME` config to change between minigame versions. + * `GEN_1/2` will not require a minigame, and instead automatically hook the Pokémon. + * All other settings use RSE's minigame. FRLG/Gen4+'s minigame will be implemented in the future. + * Cleanup and bugfixes: + * By @AsparagusEduardo in https://github.com/rh-hideout/pokeemerald-expansion/pull/4412 + * By @cawtds in https://github.com/rh-hideout/pokeemerald-expansion/pull/4906 + * By @AlexOn1ine in https://github.com/rh-hideout/pokeemerald-expansion/pull/4718 + * By @cawtds and @pkmnsnfrn in https://github.com/rh-hideout/pokeemerald-expansion/pull/5031 +* #### Full official GF names for species/items/moves/types by @mrgriffin, @ZnogyroP and @cfmnephrite in https://github.com/rh-hideout/pokeemerald-expansion/pull/4241 + * 8-character type names. + * 12-character Pokémon names (and nicknames) + * 16-character Move names. + * 20-character item names. + * This is done by introducing 3 new fonts that automatically change the size of the name in vanilla interfaces: + * `FONT_NARROWER`, `FONT_SMALL_NARROWER` and `FONT_SHORT_NARROW`. + * If the hack has changed fonts—e.g. to the FrLg ones—then they probably want to create their own versions of the new fonts. + * If the hack has introduced more UIs that render names they probably want to use `GetFontIdToFit`—see this PR's changes for examples of that. + * If the hack has introduced names in list menus they can use `.fontIdMayNarrow = TRUE` on the list template. + * Types, species, moves, and items all have individual commits which enable support in the UI and turn on longer names by default. These can be reverted by downstream projects if they really want to. + * Cleanup + * By @Nopinou in https://github.com/rh-hideout/pokeemerald-expansion/pull/4473 + * By @kittenchilly in https://github.com/rh-hideout/pokeemerald-expansion/pull/4588 + * By @iriv24 in https://github.com/rh-hideout/pokeemerald-expansion/pull/4979 +* Added `OW_PC_RELEASE_ITEM` config that gives back items from released Pokémon by @Bassoonian in https://github.com/rh-hideout/pokeemerald-expansion/pull/4577 + * If the bag is full, the item is lost, however. + * Cleanup by @Bassoonian in https://github.com/rh-hideout/pokeemerald-expansion/pull/4844 +* Added `P_EGG_CYCLE_LENGTH` config that updates the amount of steps required to complete an egg cycle by @Bassoonian in https://github.com/rh-hideout/pokeemerald-expansion/pull/4596 +* Added `trainerbattle_two_trainers` macro to trigger a 1 player vs 2 NPC battle by @aarant and @AlexOn1ine in https://github.com/rh-hideout/pokeemerald-expansion/pull/4741 +* Added `createmon` Script Command and macro by @ghoulslash in https://github.com/rh-hideout/pokeemerald-expansion/pull/4688 + * This allows to set up wild enemy parties with the same versatility as `givemon` (IVs, EVs, abilities, moves, etc). +* Added `setwilddoubleflag` macro to set `sIsScriptedWildDouble` and allow 2 player vs 1 enemy wild battles by @ghoulslash in https://github.com/rh-hideout/pokeemerald-expansion/pull/4688 +* Added support for multiple Roaming Pokémon at once by @Bassoonian in https://github.com/rh-hideout/pokeemerald-expansion/pull/4762 + * By default, `ROAMER_COUNT` is set to 1 to keep save compatibility. Increase it to add more roamers (though this breaks saves). +* Added `OW_IGNORE_EGGS_ON_HEAL`, which makes it such that eggs are not counted in the Pokémon Center's heal animation by @ghoulslash @pkmnsnfrn in https://github.com/rh-hideout/pokeemerald-expansion/pull/4888 +* Added support for fake RTC by Anon822 from PokéCommunity and @pkmnsnfrn in https://github.com/rh-hideout/pokeemerald-expansion/pull/4910 + * When `OW_USE_FAKE_RTC` is `TRUE`, time runs at a different rate from real time, like in Legends: Arceus or Scarlet and Violet. + * Use `OW_ALTERED_TIME_RATIO` to set the amount of "time" passing every 60 frames (1 real time second): + * `GEN_8_PLA`: 1 minute. + * `GEN_9`: 20 seconds. + * All other settings make the game synced with real life. + * You may also set a flag to pause the RTC (`OW_FLAG_PAUSE_TIME`), and the script commands `pausefakertc`, `resumefakertc` and `togglefakertc` by @pkmnsnfrn in https://github.com/rh-hideout/pokeemerald-expansion/pull/4954 + * Cleanup by @Bassoonian in https://github.com/rh-hideout/pokeemerald-expansion/pull/4965 +* Added B2W2-style map pop-Ups by @ravepossum, @nielsmittertreiner and @pkmnsnfrn in https://github.com/rh-hideout/pokeemerald-expansion/pull/4396 + * Change `OW_POPUP_GENERATION` to `GEN_5` to switch existing map popups. + * You may choose between Black or White themes via `OW_POPUP_BW_COLOR` (`OW_POPUP_BW_COLOR_BLACK` or `OW_POPUP_BW_COLOR_WHITE`). + * You may choose to display the current time in the pop-up using `OW_POPUP_BW_TIME_MODE`. + * `OW_POPUP_BW_TIME_NONE`: Disables time in pop-up. + * `OW_POPUP_BW_TIME_12_HR`: Shows 12-hour time in pop-up + * `OW_POPUP_BW_TIME_24_HR`: Shows 24-hour time in pop-up + * You may enable alpha blending via `OW_POPUP_BW_ALPHA_BLEND` (mainly designed around the Black theme). + * Cleanup by @AsparagusEduardo in https://github.com/rh-hideout/pokeemerald-expansion/pull/4752 +* Allowed flags to be used in trigger scripts instead of vars by @DizzyEggg in https://github.com/rh-hideout/pokeemerald-expansion/pull/4900 +### Changed +* #### agbcc has been deprecated by @mrgriffin in https://github.com/rh-hideout/pokeemerald-expansion/pull/4989 + * You technically still use `make agbcc` by disabling the error thrown when using it, but it will be removed completely for version 1.10. +* #### Moved general config file to the config folder by @AsparagusEduardo in https://github.com/rh-hideout/pokeemerald-expansion/pull/4805 + * `config.h` -> `config/general.h` + * Cleanup by @hedara90 in https://github.com/rh-hideout/pokeemerald-expansion/pull/5026 +* #### Set `GiveBoxMonIntialMoveset_Fast` as default by @AlexOn1ine in https://github.com/rh-hideout/pokeemerald-expansion/pull/4470 +* #### Changed Battle Frontier validation to species flag by @kittenchilly in https://github.com/rh-hideout/pokeemerald-expansion/pull/4341 + * Added `isFrontierBanned` flag and removed `gFrontierBannedSpecies`. + * Renamed `isParadoxForm` -> `isParadox`. +* #### Unified Nature info by @fdeblasio in https://github.com/rh-hideout/pokeemerald-expansion/pull/4562 + * All data is now found on `gNaturesInfo` in `src/pokemon.c` + * Names, Stat Up/Down, Back Sprite animation, Pokéblock animation, Nature Girl message and Battle Palace data. + * Cleanup by @Sneed69 in https://github.com/rh-hideout/pokeemerald-expansion/pull/4598 +* #### Type Info refactors by @AsparagusEduardo in https://github.com/rh-hideout/pokeemerald-expansion/pull/4462 + * Added `src/data/types_info.h` file for `gTypesInfo` instead of `src/battle_main.c`. + * Moved `sTypeEffectivenessTable` here file as well (and renamed it to `gTypeEffectivenessTable`) + * `TYPE_NONE` duplicates graphics from `TYPE_MYSTERY` due to limitations with `graphics_file_rules.mk`. + * Damage Categories for `B_PHYSICAL_SPECIAL_SPLIT`'s pre-Gen4 setting can now be specified in this `gTypesInfo`'s `damageCategory` field instead of depending on the type's order. +* Consolidated Lilycove Contest Lady's values into one struct (`sContestLadyValues`) by @fdeblasio in https://github.com/rh-hideout/pokeemerald-expansion/pull/4951 +* Applied the Pokémon Sprite Visualizer name officially by @Bassoonian in https://github.com/rh-hideout/pokeemerald-expansion/pull/4745 +* Don't specify `sDexSearchTypeOptions` array size by @Sneed69 in https://github.com/rh-hideout/pokeemerald-expansion/pull/4820 + * Prevents Type search in the dex from breaking when non-conventional types are added. +* Only call RNG once when generating IVs in some cases by @tertu-m in https://github.com/rh-hideout/pokeemerald-expansion/pull/4876 +### Fixed +* Fixed potential Wireless Adapter desynchronization by @AtariDreams in https://github.com/rh-hideout/pokeemerald-expansion/pull/3730 +* Fixed `ListItemTemplate` UB in the Pokémon Center by @Bassoonian in https://github.com/rh-hideout/pokeemerald-expansion/pull/4725 +* Fixed `src/data/map_group_count.h` not being ignored in `.gitignore` properly by @rayrobdod in https://github.com/rh-hideout/pokeemerald-expansion/pull/4727 +* Fixed double battles not occuring with only one Pokemon by talking to the trainers despite `OW_DOUBLE_APPROACH_WITH_ONE_MON` being set `TRUE` by @fdeblasio in https://github.com/rh-hideout/pokeemerald-expansion/pull/4848 +* Fixed unused `B_TRANSITION_SHRED_SPLIT` from softlocking the game by @Lunos, @griffinr and @pkmnsnfrn in https://github.com/rh-hideout/pokeemerald-expansion/pull/4919 + +## ✨ Feature Branches ✨ +### ***merrp/aarant's Followers*** +* Integrated @aarant's followers branch by @AsparagusEduardo in https://github.com/rh-hideout/pokeemerald-expansion/pull/4022 + * This includes Dynamic Overworld Palettes and Expanded Overworld IDs. + * This does ***not*** include the `lighting` branch yet, but will be included in a future version. + * Updated up to the latest version of the branch (11th of July) by @Bassoonian in https://github.com/rh-hideout/pokeemerald-expansion/pull/4944 + * Cleanup + * By @Bassoonian in https://github.com/rh-hideout/pokeemerald-expansion/pull/4782 + * By @AsparagusEduardo in https://github.com/rh-hideout/pokeemerald-expansion/pull/4937 +#### Changes from the original branch +* Follower Pokémon can be enabled using the `OW_FOLLOWERS_ENABLED` config. +* Pokémon NPCs can be added to a map [independently](https://github.com/rh-hideout/pokeemerald-expansion/pull/4761) from the Followers config. Keep in mind, this requires `OW_POKEMON_OBJECT_EVENTS` to be enabled in order to add the graphics to the ROM. + * Eg: use `OBJ_EVENT_GFX_SPECIES(CHARIZARD)` where the graphic ID would go (`OBJ_EVENT_GFX_SPECIES_SHINY()` for shiny version). + * May also use `OBJ_EVENT_GFX_SPECIES_SHINY(CHARIZARD)` to make them shiny by @AsparagusEduardo in https://github.com/rh-hideout/pokeemerald-expansion/pull/5049 +* Moved original configs from `include/constants/event_objects.h` to `include/config/overworld.h` and renamed them: + * `OW_MON_BOBBING` -> `OW_FOLLOWERS_BOBBING` + * `LARGE_OW_SUPPORT` -> `OW_LARGE_OW_SUPPORT` + * `OW_MON_POKEBALLS` -> `OW_FOLLOWERS_POKEBALLS` +* Added follower Pokémon sprites from Gen 4-8 + * Credits to @Eemeliri and Gerben BSc +* Moved `OW_GFX_COMPRESS` from `include/global.h` to `include/config/overworld.h`. +* Added `OW_SUBSTITUTE_PLACEHOLDER` config to hide followers if they don't have a follower sprite instead of using a placeholder Substitute sprite by @Bassoonian in https://github.com/rh-hideout/pokeemerald-expansion/pull/4765 +* Follower graphics are shown in the Pokémon Sprite Visualizer. +* Follower graphics have been moved to the respective species graphics folder instead of all being grouped in `graphics/object_events/pics/pokemon`. + * Eg: `graphics/object_events/pics/pokemon/abomasnow.png` was moved to `graphics/pokemon/abomasnow/follower.png`. +* Follower data has been moved to `gSpeciesInfo` + * Their palettes are separate from the battle sprite palettes + * Can be enabled using `OW_FOLLOWERS_SHARE_PALETTE`, but requires manual sprite adjustements. For now, it's recommended to keep this `FALSE`. (They don't use much space anyway) +* Updated `GetTypeEffectiveness` used by follower messages to account for new abilities with type immunities. +* Cleaned up code style to match pret/expansion's. +* Reverted Regi's sprite to vanilla's. +* Follower PicTables use `overworld_ascending_frames` macro. +* Removed unneeded calls to `bufferspeciesname`. +* Removed `MON_DATA_NATURE`. +* Removed debug functions like `IsAccurateGBA`. +* Removed `ScrCmd_callfunc` to use `callnative`s instead + +## 🐉 Pokémon 🐉 +### Added +* Added `EVO_ITEM_COUNT_999` evolution method (used by Gimmighoul) by @kittenchilly in https://github.com/rh-hideout/pokeemerald-expansion/pull/4261 + * Requires level up while carrying 999 of the specified item in the bag, which will be consumed. + * Uses new `EVO_MODE_CANT_STOP` mode, which is a clone of `EVO_MODE_NORMAL` but prevents evolution from being canceled. +* Added `EVO_DEFEAT_THREE_WITH_ITEM` evolution method (used by Bisharp) by @Bassoonian in https://github.com/rh-hideout/pokeemerald-expansion/pull/4768 + * Requires level up after defeating 3 Pokémon of the same species holding the specified item. + * Eg: Bisharp defeating 3 other Bisharp holding Leader Crests. + * Cleanup by @AsparagusEduardo in https://github.com/rh-hideout/pokeemerald-expansion/pull/5046 +* Added `EVO_OVERWORLD_STEPS` evolution method (used by Pawmo, Bramblin and Rellor) by @Bassoonian in https://github.com/rh-hideout/pokeemerald-expansion/pull/4758 + * Requires level up after walking the specified amount of steps with that Pokémon as the first member in the party without switching. + * Switching the party leader resets the steps. + * Cleanup by @AsparagusEduardo in https://github.com/rh-hideout/pokeemerald-expansion/pull/5047 +* Added `FORM_CHANGE_DAYS_PASSED` form change (used by Furfrou and Hoopa) by @Bassoonian in https://github.com/rh-hideout/pokeemerald-expansion/pull/4778 + * Adds `MON_DATA_DAYS_SINCE_FORM_CHANGE`, which is a timer to automatically changes forms at midnight once it runs out. It is set after a different form change has been made (currently only added to Form Change items, including Prison Bottle) +* Added unique icons for all of Arceus's forms via config (`P_ARCEUS_UNIQUE_FORM_ICONS`) by @kittenchilly in https://github.com/rh-hideout/pokeemerald-expansion/pull/4329 +* Added `P_TWO_FRAME_FRONT_SPRITES` config to allow disabling 2-frame front animations by @Bassoonian in https://github.com/rh-hideout/pokeemerald-expansion/pull/4750 +* Added `P_CRIES_ENABLED` config to disable species cries and stop them from being included in the ROM by @AsparagusEduardo in https://github.com/rh-hideout/pokeemerald-expansion/pull/4791 +* Added configs to prevent unobtainable Pokemon from being shiny by @fdeblasio in https://github.com/rh-hideout/pokeemerald-expansion/pull/4735 + * `P_ONLY_OBTAINABLE_SHINIES`: Prevents shinies from generating in the Battle Pyramid. + * `P_NO_SHINIES_WITHOUT_POKEBALLS`: Prevents shinies from generating if the player has no Poké Balls. +* Added `P_CAN_FORGET_HIDDEN_MOVE` config allow Pokémon to forget HM moves by @pkmnsnfrn and @Lunos in https://github.com/rh-hideout/pokeemerald-expansion/pull/4968 +### Changed +* Renamed evolution methods the were labeled as evo level by @AlexOn1ine in https://github.com/rh-hideout/pokeemerald-expansion/pull/4607 + * `EVO_LEVEL_MOVE_TWENTY_TIMES` -> `EVO_MOVE_TWENTY_TIMES` + * `EVO_LEVEL_RECOIL_DAMAGE_MALE` -> `EVO_RECOIL_DAMAGE_MALE` + * `EVO_LEVEL_RECOIL_DAMAGE_FEMALE` -> `EVO_RECOIL_DAMAGE_FEMALE` + * Cleanup by @AsparagusEduardo in https://github.com/rh-hideout/pokeemerald-expansion/pull/4644 +* Evolution tracker is now by @Bassoonian in https://github.com/rh-hideout/pokeemerald-expansion/pull/4758 +* #### Replaced VARARG_8 uses with recursive macros by @cfmnephrite in https://github.com/rh-hideout/pokeemerald-expansion/pull/4232 +* #### Egg Move Refactor by @Bassoonian in https://github.com/rh-hideout/pokeemerald-expansion/pull/4534 + * Egg Moves are now formatted like Teachable learnsets and their pointers are stored in `gSpeciesInfo`, as opposed to having one big array. + * Only offspring require these tables. + * Migration script available in `migration_scripts/egg_move_refactor.py`. + +## ⚔️ Battle General ⚔️ ## +### Added +* Added option to increase Experience bar speed via `B_FAST_EXP_GROW` by @SonikkuA-DatH and @pkmnsnfrn in https://github.com/rh-hideout/pokeemerald-expansion/pull/4335 +* Added Gen 4's Fog battle weather by @kittenchilly in https://github.com/rh-hideout/pokeemerald-expansion/pull/4359 + * Uses Haze's animation. + * Changes `B_FOG_TERRAIN` (TRUE/FALSE config) into `B_OVERWORLD_FOG` (Generational config). + * `GEN_4`: Uses this battle weather in maps with `WEATHER_FOG_DIAGONAL` and `WEATHER_FOG_HORIZONTAL`. + * `GEN_8` onwards: Sets permanent Misty Terrain. + * All others disable them. +* #### Terastallization by @AgustinGDLV in https://github.com/rh-hideout/pokeemerald-expansion/pull/4110 + * Tera Type automatically assigned to existing Pokémon based on their personality value. + * Can get and set Tera Types in scripts for party members using `checkteratype` and `setteratype` by @Bassoonian in https://github.com/rh-hideout/pokeemerald-expansion/pull/4460 + * To activate, it requires: + * `ITEM_TERA_ORB` to be in the player's bag. + * `B_FLAG_TERA_ORB_CHARGED` to be set up to an unused flag. It¿s automatically set when `HealPlayerParty` is called. + * Added `ignoreTera` argument added to `GetBattlerType` + * Added Tera Blast's effect. + * Changes type shown in battle screen if the mon is Terastalized or about to by @kittenchilly in https://github.com/rh-hideout/pokeemerald-expansion/pull/4447 + * Added Stellar Type. + * Added `teraType` option for Trainers (also supported by Competitive Format Parties) + * Added Tera Starstorm's effect by @kittenchilly in https://github.com/rh-hideout/pokeemerald-expansion/pull/4447 + * Terastallization animation by @Pokabbie in https://github.com/rh-hideout/pokeemerald-expansion/pull/4507 + * Added `forceTeraType` field for `gSpeciesInfo`, which forces the Pokémon to have a specific Tera Type (used by Terapagos and Ogerpon) by @kittenchilly in https://github.com/rh-hideout/pokeemerald-expansion/pull/4438 + * Added `FORM_CHANGE_BATTLE_TERASTALLIZATION` by @kittenchilly in https://github.com/rh-hideout/pokeemerald-expansion/pull/4438 + * It uses a Pokémon's Tera Type to choose which form to switch to upon Terastallizing. + * Bugfixes: + * By @AgustinGDLV in https://github.com/rh-hideout/pokeemerald-expansion/pull/4435 + * By @AgustinGDLV in https://github.com/rh-hideout/pokeemerald-expansion/pull/4440 + * By @Sneed69 in https://github.com/rh-hideout/pokeemerald-expansion/pull/4513 + * By @Sneed69 in https://github.com/rh-hideout/pokeemerald-expansion/pull/4515 + * By @WillKolada in https://github.com/rh-hideout/pokeemerald-expansion/pull/4529 + * By @iriv24 in https://github.com/rh-hideout/pokeemerald-expansion/pull/4975 +* Added Gen 1 type matchups by @AsparagusEduardo in https://github.com/rh-hideout/pokeemerald-expansion/pull/4508 + * Renamed `B_STEEL_RESISTANCES` -> `B_UPDATED_TYPE_MATCHUPS` to reflect this change. + * Added defines to cleanup `sTypeEffectivenessTable`. +* Added Move Descriptions in battle by @Bassoonian, @TheXaman, @Pawkkie and @ravepossum in https://github.com/rh-hideout/pokeemerald-expansion/pull/4152 + * Press L before selecting a move to see their category, power, accuracy and description. + * This can be changed to R by using the `B_MOVE_DESCRIPTION_BUTTON` config by @fakuzatsu in https://github.com/rh-hideout/pokeemerald-expansion/pull/4860 + * Cleanup + * By @AGSMGMaster64 and @Sneed69 in https://github.com/rh-hideout/pokeemerald-expansion/pull/4678 +* Added ball throwing configs by セケツ from PokéCommunity and @pkmnsnfrn in https://github.com/rh-hideout/pokeemerald-expansion/pull/4953 + * `B_ENEMY_THROW_BALLS`: When set to `GEN_6` or higher, it changes the opposing trainer's ball animation so they throw their Pokéballs instead of already starting on the floor. + * `B_PLAYER_THROW_BALLS_SOUND`: When set to `GEN_5` or higher, it plays `SE_BALL_THROW` as part of the player's ball throw animation. + * `B_ENEMY_THROW_BALLS_SOUND`: When set to `GEN_5` or higher, it plays `SE_BALL_THROW` as part of the enemy's ball throw animation. +* Added `RandomChance` macro for battle/test randomization by @Sneed69 in https://github.com/rh-hideout/pokeemerald-expansion/pull/4829 +* #### Gimmick Refactor by @AgustinGDLV in https://github.com/rh-hideout/pokeemerald-expansion/pull/4449 + * Unifies generational mechanics into `gGimmicksInfo` struct (Mega, Z-Moves, Ultra Burst, Dynamax, Terastallization). + * Contains triggers, indicator, condition and function to execute when triggered. + * Around ~500-1000 lines of redundant / duplicate code removed! + * Cleanup + * By @Bassoonian in https://github.com/rh-hideout/pokeemerald-expansion/pull/4927 + * By @AlexOn1ine in https://github.com/rh-hideout/pokeemerald-expansion/pull/4962 + * By @AlexOn1ine in https://github.com/rh-hideout/pokeemerald-expansion/pull/4863 + * By @Bassoonian in https://github.com/rh-hideout/pokeemerald-expansion/pull/4960 +* Allow users to increase `MAX_MONEY` dynamically by @DizzyEggg and @pkmnsnfrn in https://github.com/rh-hideout/pokeemerald-expansion/pull/4943 +* Added `AUTO_LOWERCASE_KEYBOARD` by @Jaizu and @pkmnsnfrn in https://github.com/rh-hideout/pokeemerald-expansion/pull/4976 + * Automatically changes to to lowercase if the first character inputted is uppercase. +### Changed +* Improved HP drain when enabling `B_FAST_HP_DRAIN` by @pkmnsnfrn and @SonikkuA-DatH in https://github.com/rh-hideout/pokeemerald-expansion/pull/4335 +* #### Combined weather set commands by @AlexOn1ine in https://github.com/rh-hideout/pokeemerald-expansion/pull/4434 + * `setrain` -> `setfieldweather ENUM_WEATHER_RAIN`. + * `setsandstorm` -> `setfieldweather ENUM_WEATHER_SANDSTORM`. + * `setsunny` -> `setfieldweather ENUM_WEATHER_SUN`. + * `sethail` -> `setfieldweather ENUM_WEATHER_HAIL`. + * `setsnow` -> `setfieldweather ENUM_WEATHER_SNOW`. +* #### Replaced HP checks with `IsBattlerAlive` by @ghoulslash in https://github.com/rh-hideout/pokeemerald-expansion/pull/4429 +* #### Removed redundant `MOVE_EFFECT_SP_ATK_TWO_DOWN` by @Sneed69 in https://github.com/rh-hideout/pokeemerald-expansion/pull/4557 +* Added stack for saved targets and attackers by @ghoulslash in https://github.com/rh-hideout/pokeemerald-expansion/pull/4061 + * This avoids the need to overwriting battler IDs during scripts and cause potential issues. + * Several scripts have been updated to use these. + * Cleanup and fixes + * By @AlexOn1ine in https://github.com/rh-hideout/pokeemerald-expansion/pull/4653 + * By @AlexOn1ine in https://github.com/rh-hideout/pokeemerald-expansion/pull/4668 +* #### Adjusted Ate-Ability code a bit to make it more readable by @AlexOn1ine in https://github.com/rh-hideout/pokeemerald-expansion/pull/4640 +* Added global constants for damage rolls by @Sneed69 in https://github.com/rh-hideout/pokeemerald-expansion/pull/4663 + ```c + // Lowest and highest percentages used for damage roll calculations + #define DMG_ROLL_PERCENT_LO 85 + #define DMG_ROLL_PERCENT_HI 100 + ``` +* #### Refactored residual damage to be more readable and less prone to bugs by @AlexOn1ine in https://github.com/rh-hideout/pokeemerald-expansion/pull/4945 + * Cleanup by @AlexOn1ine in https://github.com/rh-hideout/pokeemerald-expansion/pull/4993 +* Clarified some cases of `ChangeStatBuffs` usage by @Sneed69 in https://github.com/rh-hideout/pokeemerald-expansion/pull/4826 +* Moved EWRAM variables from battle controller player file to gBattleStruct by @DizzyEggg in https://github.com/rh-hideout/pokeemerald-expansion/pull/4840 + * `sDescriptionSubmenu`, `sAckBallUseBtn` and `sBallSwapped`. +### Fixed +* Fixed Dynamax data not clearing when a battler faints by @WillKolada in https://github.com/rh-hideout/pokeemerald-expansion/pull/4672 +* Multiple Z-Move fixes by @AgustinGDLV in https://github.com/rh-hideout/pokeemerald-expansion/pull/4449 + * Fixed Z-Moves not working in Link Battles, recorded battles and tests. + * Fixed `Z_EFFECT_ALL_STATS_UP` functionality. + * Fixed Z-Nature Power, Z-Copycat, Z-Me First, and Z-Sleep Talk incorrectly using a normal move and not a Z-Move, ~~which had not been raised as an issue yet.~~ (some of these were caught recently!) + * Fixed Breakneck Blitz incorrectly being affected by -ate abilities, which had not been raised as an issue yet. + * Fixed Instruct incorrectly not failing if the target last used a Z-Move, which had not been raised as an issue yet. + * Fixed Guardian of Alola incorrectly doing 50% of the target's HP instead of 75%. +* Fixed Enemy Data not clearing at the end of battles by @ghoulslash in https://github.com/rh-hideout/pokeemerald-expansion/pull/4867 + +## 🤹 Moves 🤹 +### Added +* Expanded Freeze Dry's effect to use `argument` field and allow custom moves to use the effect to be super effective to any specific type by @AlexOn1ine in https://github.com/rh-hideout/pokeemerald-expansion/pull/4312 + * Renamed `EFFECT_FREEZE_DRY` to `EFFECT_SUPER_EFFECTIVE_ON_ARG`. +* Expanded `EFFECT_BODY_PRESS` to use category of defense stats for calculation based on the move's own damage category by @AlexOn1ine in https://github.com/rh-hideout/pokeemerald-expansion/pull/4312 + * Eg: In vanilla, Body Press uses the user's Defense and its stat changes instead of Attack. Now, if we were to change its `category` in `gMovesInfo`, it'll use Sp. Defense and its stat changes instead of Sp. Attack. +* Expanded Photon Geyser and Shell Side Arm (restored) effects so that they also work for physical moves by @Sneed69 in https://github.com/rh-hideout/pokeemerald-expansion/pull/4923 +* Added Knock Off's Gen 5+ effect with config (`B_KNOCK_OFF_REMOVAL`) by @AgustinGDLV in https://github.com/rh-hideout/pokeemerald-expansion/pull/4333 + * Items are removed outright instead of making them unusable. +* Added Heal Bell/Soundproof Gen 5-8+ interactions with `B_HEAL_BELL_SOUNDPROOF` config by @Sneed69 in https://github.com/rh-hideout/pokeemerald-expansion/pull/4732 + * Cleanup by @AsparagusEduardo in https://github.com/rh-hideout/pokeemerald-expansion/pull/5060 +* Added Spicy Extract's effect by @AlexOn1ine, @Skeli789, @kittenchilly and @ZnogyroP in https://github.com/rh-hideout/pokeemerald-expansion/pull/4211 +* Added `B_RETURN_STOLEN_NPC_ITEMS` config for Covet/Thief not being able to steal from NPCs by @moostoet and @Sneed69 in https://github.com/rh-hideout/pokeemerald-expansion/pull/4605 +* Added Dragon Darts effect (CFRU port) by @AlexOn1ine, @Skeli789 and @BuffelSaft in https://github.com/rh-hideout/pokeemerald-expansion/pull/4612 + * Animation by @hedara90 in https://github.com/rh-hideout/pokeemerald-expansion/pull/4620 +### Changed +* `EFFECT_TRIPLE_KICK`'s base power uses the move's `strikeCount` instead of a constant by @Sneed69 in https://github.com/rh-hideout/pokeemerald-expansion/pull/4608 + * This allows users to create "Quadruple Kick" and similar moves. +* Migrated move animation pointers to `gMovesInfo` by @cawtds in https://github.com/rh-hideout/pokeemerald-expansion/pull/4683 + * This removes the need for `gBattleAnims_Moves` which had potential ordering issues if not kept in line with move IDs. + * If `battleAnimScript` is not defined for a move, it defaults to Tackle's animation. + * Migration script available in `migration_scripts/battle_anim_moves_refactor.py` +### Fixed +* Multiple Ally Switch fixes by @ghoulslash in https://github.com/rh-hideout/pokeemerald-expansion/pull/4451 + * Shadows no longer disappear + safety checks. + * Corrected animation for opponents. +* Fixed Avalanche's target by @TheLastMudkip in https://github.com/rh-hideout/pokeemerald-expansion/pull/4581 +* Fixed Feint and Feint Attack's descriptions by @lhearachel in https://github.com/rh-hideout/pokeemerald-expansion/pull/4617 +* Fixed Mud Sport/Water Sport reducing damage by 77% instead of 67% in Gen5+ by @fdeblasio in https://github.com/rh-hideout/pokeemerald-expansion/pull/4874 + +## 🎭 Abilities 🎭 +### Added +* Added Poison Puppeteer's effect by @AlexOn1ine in https://github.com/rh-hideout/pokeemerald-expansion/pull/4416 +* Added Tera Shift, Tera Shell, and Teraform Zero by @kittenchilly in https://github.com/rh-hideout/pokeemerald-expansion/pull/4418 + * `FORM_CHANGE_BATTLE_SWITCH` now has ability as optional parameter. + * Cleanup by @AlexOn1ine in https://github.com/rh-hideout/pokeemerald-expansion/pull/4742 +* Added Toxic Chain's effect by @PhallenTree in https://github.com/rh-hideout/pokeemerald-expansion/pull/4823 + * Cleanup by @AlexOn1ine in https://github.com/rh-hideout/pokeemerald-expansion/pull/4843 +* Added `B_ABILITY_TRIGGER_CHANCE` config to update trigger chances of abilities to Gen4+ by @Sneed69 in https://github.com/rh-hideout/pokeemerald-expansion/pull/4829 + * Shed Skin, Cute Charm, Flame Body, Static and Poison Point have a 30% chance to trigger in Gen4+ instead of 1/3 in Gen3. + * Effect Spore has an 11%, 10% and 9% chance of triggering Sleep, Paralysis and Poison in Gen4+ instead of equal 10% each in Gen3. +### Changed +* #### Removed Gen 9 settings for out-of-battle abilities by @AsparagusEduardo in https://github.com/rh-hideout/pokeemerald-expansion/pull/4282 + * These configs no longer disable out-of-battle ability effects when set to `GEN_9`. + * `OW_SUPER_LUCK`. + * `OW_INFILTRATOR`. + * `OW_HARVEST`. + * `OW_LIGHTNING_ROD`. + * `OW_STORM_DRAIN`. + * `OW_FLASH_FIRE`. + * These configs have been removed + * `OW_COMPOUND_EYES`. + * `OW_CUTE_CHARM`. + * `OW_ILLUMINATE`. + * `OW_MAGNET_PULL`. + * `OW_STATIC`. +### Fixed +* Fixed Mirror Armor bouncing Sticky Web's stat reduction to the opponent by @Sneed69 in https://github.com/rh-hideout/pokeemerald-expansion/pull/4713 +* Effect Spore now uses `B_POWDER_GRASS` to toggle Grass-type Pokémon immunity to it by @Sneed69 in https://github.com/rh-hideout/pokeemerald-expansion/pull/4829 + +## 🧶 Items 🧶 +### Added +* Added Booster Energy's effect by @AlexOn1ine in https://github.com/rh-hideout/pokeemerald-expansion/pull/4337 + * Cleanup + * By @PCG06 in https://github.com/rh-hideout/pokeemerald-expansion/pull/4354 + * By @kittenchilly in https://github.com/rh-hideout/pokeemerald-expansion/pull/4804 +### Changed +* #### Removed `gItemIconTable` by @kittenchilly in https://github.com/rh-hideout/pokeemerald-expansion/pull/4579 + * Sprite and palette pointers have been moved to `gItemsInfo` as `iconPic` and `iconPalette` respectively. + * Migration script available in `migration_scripts/convert_item_icons.py` + * Cleanup + * By @AlexOn1ine in https://github.com/rh-hideout/pokeemerald-expansion/pull/4591 + * By @AlexOn1ine in https://github.com/rh-hideout/pokeemerald-expansion/pull/4658 +* #### Automatically display TM/HM icons based on their move by @Sneed69 in https://github.com/rh-hideout/pokeemerald-expansion/pull/4452 + * TM palettes are now stored in `gTypesInfo` in the `paletteTMHM` field. + * Cleanup by @Sneed69 in https://github.com/rh-hideout/pokeemerald-expansion/pull/4487 + +## 🤖 Battle AI 🤖 +### Added +* Added `AI_GetBattlerAbility` by @AlexOn1ine in https://github.com/rh-hideout/pokeemerald-expansion/pull/4555 +* Added `AI_FLAG_CONSERVATIVE` flag by @Pawkkie and @iriv24 in https://github.com/rh-hideout/pokeemerald-expansion/pull/4615 + * AI will assume low damage rolls for its `calculationsDamage` roll selection in `AI_CalcDamage` + * Cleanup + * By @Sneed69 in https://github.com/rh-hideout/pokeemerald-expansion/pull/4663 +* Added `AI_FLAG_SEQUENCE_SWITCHING` flag by @Pawkkie, Kasen, @pkmnsnfrn and @DizzyEggg in https://github.com/rh-hideout/pokeemerald-expansion/pull/4878 + * AI will keep their party order consistently with switches. +* Added `setdynamicaifunc`, which allows to setup custom AI functions before a battle besides the predetermined ones used by AI Flags @ghoulslash in https://github.com/rh-hideout/pokeemerald-expansion/pull/4908 + * Eg: + ``` + setdynamicaifunc AI_TagBattlePreferFoe + multi_2_vs_2 TRAINER_MAXIE_MOSSDEEP, MossdeepCity_SpaceCenter_2F_Text_JustWantToExpandLand, TRAINER_TABITHA_MOSSDEEP, MossdeepCity_SpaceCenter_Text_TabithaDefeat, PARTNER_STEVEN + ``` + Where `AI_TagBattlePreferFoe` prioritizes attacking the opposite battler index. +### Changed +* AI now calculates and stores minimum possible move damage and uses it with `AI_FLAG_TRY_TO_FAINT` by @Sneed69 in https://github.com/rh-hideout/pokeemerald-expansion/pull/4760 + * This allows AI to prefer guaranteed KO moves over highest expected damage move. + * Cleanup by @Sneed69 in https://github.com/rh-hideout/pokeemerald-expansion/pull/4808 +* AI Revenge Killer switching factors in Trick Room by @Shadowzlmao and @Pawkkie in https://github.com/rh-hideout/pokeemerald-expansion/pull/4794 +* AI Smarter Choice AI for Status Moves by @Pawkkie in https://github.com/rh-hideout/pokeemerald-expansion/pull/4872 + * Better behavior for AI under Choice Item effects. + * Cleanup by @Pawkkie in https://github.com/rh-hideout/pokeemerald-expansion/pull/4911 +* AI Smarter Focus Punch and Substitute handling by @Pawkkie, @Kasenn and @AlexOn1ine in https://github.com/rh-hideout/pokeemerald-expansion/pull/4952 +* Moved `RestoreBattlerData` out of `Ai_CalcDmg` and added `SaveBattlerData` Protections by @ghoulslash in https://github.com/rh-hideout/pokeemerald-expansion/pull/4156 + * Cleanup + * By @ghoulslash in https://github.com/rh-hideout/pokeemerald-expansion/pull/4586 +* Made AI see Loaded Dice hold effect for multi hit moves that strike 5 times by @AlexOn1ine in https://github.com/rh-hideout/pokeemerald-expansion/pull/4622 +* `AI_FLAG_RISKY` Improvements by @Pawkkie, @AlexOn1ine and @iriv24 in https://github.com/rh-hideout/pokeemerald-expansion/pull/4648 + * Check the PR for in depth details. + * Cleanup + * By @AsparagusEduardo in https://github.com/rh-hideout/pokeemerald-expansion/pull/4790 + * By @Pawkkie in https://github.com/rh-hideout/pokeemerald-expansion/pull/5032 +* Removed temporary scores in `AI_CalcMoveEffectScores` by @AlexOn1ine in https://github.com/rh-hideout/pokeemerald-expansion/pull/4655 +* Changed `AI_IS_SLOWER` and `AI_IS_FASTER` comparisons into `AI_IsFaster` and `AI_IsSlower` functions by @AlexOn1ine in https://github.com/rh-hideout/pokeemerald-expansion/pull/4671 + * `AI_STRIKES_FIRST` is also replaced by `AI_IsFaster`. +* Switch AI uses trapping abilities aggressively by @Pawkkie in https://github.com/rh-hideout/pokeemerald-expansion/pull/4669 +* Use 9th roll instead of average in AI calcs by @AlexOn1ine in https://github.com/rh-hideout/pokeemerald-expansion/pull/4679 +* Use `AI_DATA->abilities` in more places by @Sneed69 in https://github.com/rh-hideout/pokeemerald-expansion/pull/4729 +* Minor switch AI cleanup by @Pawkkie, @DizzyEggg, @AlexOn1ine and @Sneed69 in https://github.com/rh-hideout/pokeemerald-expansion/pull/4849 +* Removed `SetBattlerData` from `AI_CalcDamage` by @AlexOn1ine in https://github.com/rh-hideout/pokeemerald-expansion/pull/4881 +* Removed unused `AI_FLAG_HELP_PARTNER` by @pkmnsnfrn and @Pawkkie in https://github.com/rh-hideout/pokeemerald-expansion/pull/4918 +* Added missing `ADJUST_SCORE`s by @AlexOn1ine in https://github.com/rh-hideout/pokeemerald-expansion/pull/4925 +* Reduced `AI_WhoStrikesFirst` to the most essential parts by @AlexOn1ine in https://github.com/rh-hideout/pokeemerald-expansion/pull/4978 +* Changed score adjustments to `tempScore` increases by @AlexOn1ine in https://github.com/rh-hideout/pokeemerald-expansion/pull/4987 +### Fixed +* Minor AI flag fixes/cleanup by @Pawkkie, @AlexOn1ine and @pkmnsnfrn in https://github.com/rh-hideout/pokeemerald-expansion/pull/4924 + +## 🧹 Other Cleanup 🧹 +### Changed +* Corrected species info struct hex comments by @AlexOn1ine in https://github.com/rh-hideout/pokeemerald-expansion/pull/4798 + * Cleanup by @AlexOn1ine in https://github.com/rh-hideout/pokeemerald-expansion/pull/4800 + +## 🧪 Test Runner 🧪 +### Added +* Added missing weather tests by @AlexOn1ine in https://github.com/rh-hideout/pokeemerald-expansion/pull/4434 +* Added missing Gale Wings test by @Pawkkie in https://github.com/rh-hideout/pokeemerald-expansion/pull/4694 +* Added `SWITCH_OUT_MESSAGE` and `SEND_IN_MESSAGE` macros to avoid tests from failing based on changing switch out/in messages by @Sneed69 in https://github.com/rh-hideout/pokeemerald-expansion/pull/4717 + * Usage: `SEND_IN_MESSAGE("Wobbuffet");` + * Tests have been updated to use these new macros. +* Added missing Hidden Power test by @AsparagusEduardo in https://github.com/rh-hideout/pokeemerald-expansion/pull/4462 +* Added some Terastallization tests by @hedara90 in https://github.com/rh-hideout/pokeemerald-expansion/pull/5020 +### Changed +* Cleaned up Frisk test by @mrgriffin in https://github.com/rh-hideout/pokeemerald-expansion/pull/4441 +* Renamed `MgbaPrintf_` to `Test_MgbaPrintf` by @Bassoonian in https://github.com/rh-hideout/pokeemerald-expansion/pull/4642 +* AI tests have been moved to their own folder by @Pawkkie in https://github.com/rh-hideout/pokeemerald-expansion/pull/4898 +* Species are now always included in tests by @AlexOn1ine in https://github.com/rh-hideout/pokeemerald-expansion/pull/4810 +* Added Battle Anim Debug Check to see if animations aren't cleared by @ghoulslash in https://github.com/rh-hideout/pokeemerald-expansion/pull/4930 +* Test battlers always have their forced abilities to prevent them from changing during a test by @Sneed69 in https://github.com/rh-hideout/pokeemerald-expansion/pull/4707 +### Fixed +* Test runner uses Set mode to avoid an issue where tests prompted switching and caused a timeout by @Pawkkie in https://github.com/rh-hideout/pokeemerald-expansion/pull/4661 + +## New Contributors +* @Pokabbie made their first contribution in https://github.com/rh-hideout/pokeemerald-expansion/pull/4507 +* @TheLastMudkip made their first contribution in https://github.com/rh-hideout/pokeemerald-expansion/pull/4581 +* @moostoet made their first contribution in https://github.com/rh-hideout/pokeemerald-expansion/pull/4605 +* @rayrobdod made their first contribution in https://github.com/rh-hideout/pokeemerald-expansion/pull/4727 +* @innocenthedgehog made their first contribution in https://github.com/rh-hideout/pokeemerald-expansion/pull/4988 + +**Full Changelog**: https://github.com/rh-hideout/pokeemerald-expansion/compare/expansion/1.8.5...expansion/1.9.0 + + diff --git a/docs/changelogs/template.md b/docs/changelogs/template.md index 63e9e352aad1..6641d612f36b 100644 --- a/docs/changelogs/template.md +++ b/docs/changelogs/template.md @@ -6,7 +6,8 @@ - Once you have your remote set up, run the command `git pull RHH expansion/1.Y.Z`. ``` -## 🌋 *IMPORTANT CHANGES AND REFACTORS* 🌋 +## 🌋 *REFACTORS* 🌋 +📜 = Uses a migration script. * N/A ## 💥 *Softlock/Crash fixes* 💥 @@ -49,6 +50,13 @@ * N/A #### Fixed * N/A +### ***merrp/aarant's Followers*** +#### Added +* N/A +#### Changed +* N/A +#### Fixed +* N/A ## 🐉 Pokémon 🐉 ### Added diff --git a/include/constants/expansion.h b/include/constants/expansion.h index cc9167500f0b..1a266bd8ed49 100644 --- a/include/constants/expansion.h +++ b/include/constants/expansion.h @@ -1,10 +1,10 @@ #ifndef GUARD_CONSTANTS_EXPANSION_H #define GUARD_CONSTANTS_EXPANSION_H -// 1.8.6 +// 1.9.0 #define EXPANSION_VERSION_MAJOR 1 -#define EXPANSION_VERSION_MINOR 8 -#define EXPANSION_VERSION_PATCH 6 +#define EXPANSION_VERSION_MINOR 9 +#define EXPANSION_VERSION_PATCH 0 // FALSE if this this version of Expansion is not a tagged commit, i.e. // it contains unreleased changes. From 483121dfc09f66108186b130d874fd00c46df7f7 Mon Sep 17 00:00:00 2001 From: Eduardo Quezada Date: Thu, 1 Aug 2024 19:52:29 -0400 Subject: [PATCH 34/38] Version 1.8.6 (#5005) --- .../ISSUE_TEMPLATE/01_battle_engine_bugs.yaml | 3 +- .../ISSUE_TEMPLATE/02_battle_ai_issues.yaml | 3 +- .github/ISSUE_TEMPLATE/04_other_errors.yaml | 3 +- CHANGELOG.md | 1 + README.md | 2 +- docs/SUMMARY.md | 1 + docs/changelogs/1.8.x/1.8.6.md | 154 ++++++++++++++++++ include/constants/expansion.h | 6 +- 8 files changed, 166 insertions(+), 7 deletions(-) create mode 100644 docs/changelogs/1.8.x/1.8.6.md diff --git a/.github/ISSUE_TEMPLATE/01_battle_engine_bugs.yaml b/.github/ISSUE_TEMPLATE/01_battle_engine_bugs.yaml index f8f9b8f0afbe..e8303dd5a04e 100644 --- a/.github/ISSUE_TEMPLATE/01_battle_engine_bugs.yaml +++ b/.github/ISSUE_TEMPLATE/01_battle_engine_bugs.yaml @@ -23,9 +23,10 @@ body: label: Version description: What version of pokeemerald-expansion are you using as a base? options: - - 1.8.5 (Latest release) + - 1.8.6 (Latest release) - master (default, unreleased bugfixes) - upcoming (Edge) + - 1.8.5 - 1.8.4 - 1.8.3 - 1.8.2 diff --git a/.github/ISSUE_TEMPLATE/02_battle_ai_issues.yaml b/.github/ISSUE_TEMPLATE/02_battle_ai_issues.yaml index c29ace1224f8..29cd798da2ea 100644 --- a/.github/ISSUE_TEMPLATE/02_battle_ai_issues.yaml +++ b/.github/ISSUE_TEMPLATE/02_battle_ai_issues.yaml @@ -23,9 +23,10 @@ body: label: Version description: What version of pokeemerald-expansion are you using as a base? options: - - 1.8.5 (Latest release) + - 1.8.6 (Latest release) - master (default, unreleased bugfixes) - upcoming (Edge) + - 1.8.5 - 1.8.4 - 1.8.3 - 1.8.2 diff --git a/.github/ISSUE_TEMPLATE/04_other_errors.yaml b/.github/ISSUE_TEMPLATE/04_other_errors.yaml index c3320e67de32..871b59ef61f9 100644 --- a/.github/ISSUE_TEMPLATE/04_other_errors.yaml +++ b/.github/ISSUE_TEMPLATE/04_other_errors.yaml @@ -23,9 +23,10 @@ body: label: Version description: What version of pokeemerald-expansion are you using as a base? options: - - 1.8.5 (Latest release) + - 1.8.6 (Latest release) - master (default, unreleased bugfixes) - upcoming (Edge) + - 1.8.5 - 1.8.4 - 1.8.3 - 1.8.2 diff --git a/CHANGELOG.md b/CHANGELOG.md index 84331cb4e39b..939e09691d54 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,7 @@ # Pokeemerald-Expansion Changelogs ## 1.8.x +- **[Version 1.8.6](docs/changelogs/1.8.x/1.8.6.md) - 🧹 Bugfix Release** - **[Version 1.8.5](docs/changelogs/1.8.x/1.8.5.md) - 🧹 Bugfix Release** - **[Version 1.8.4](docs/changelogs/1.8.x/1.8.4.md) - 🧹 Bugfix Release** - **[Version 1.8.3](docs/changelogs/1.8.x/1.8.3.md) - 🧹 Bugfix Release** diff --git a/README.md b/README.md index 2f2c71fcd762..7e447a87842c 100644 --- a/README.md +++ b/README.md @@ -9,7 +9,7 @@ pokeemerald-expansion is a decomp hack base project based off pret's [pokeemeral If you use pokeemerald-expansion in your hack, please add RHH (Rom Hacking Hideout) to your credits list. Optionally, you can list the version used, so it can help players know what features to expect. You can phrase it as the following: ``` -Based off RHH's pokeemerald-expansion v1.8.5 https://github.com/rh-hideout/pokeemerald-expansion/ +Based off RHH's pokeemerald-expansion 1.8.6 https://github.com/rh-hideout/pokeemerald-expansion/ ``` ## What features are included? diff --git a/docs/SUMMARY.md b/docs/SUMMARY.md index c458d479f997..9a35f90c2494 100644 --- a/docs/SUMMARY.md +++ b/docs/SUMMARY.md @@ -6,6 +6,7 @@ - [AI Flags](./ai_flags.md) - [Changelog](./CHANGELOG.md) - [1.8.x]() + - [Version 1.8.6](changelogs/1.8.x/1.8.6.md) - [Version 1.8.5](changelogs/1.8.x/1.8.5.md) - [Version 1.8.4](changelogs/1.8.x/1.8.4.md) - [Version 1.8.3](changelogs/1.8.x/1.8.3.md) diff --git a/docs/changelogs/1.8.x/1.8.6.md b/docs/changelogs/1.8.x/1.8.6.md new file mode 100644 index 000000000000..3ede992a608b --- /dev/null +++ b/docs/changelogs/1.8.x/1.8.6.md @@ -0,0 +1,154 @@ +# Version 1.8.6 + +```md +## How to update +- If you haven't set up a remote, run the command `git remote add RHH https://github.com/rh-hideout/pokeemerald-expansion`. +- Once you have your remote set up, run the command `git pull RHH expansion/1.8.6`. +``` + +## 🌋 *REFACTORS* 🌋 +* [Opportunist/Mirror Herb Refactor](#opportunistmirror-herb-refactor-by-alexon1ine-in-httpsgithubcomrh-hideoutpokeemerald-expansionpull4928) +* [Removed unused Battle Script labels](#removed-unused-battle-script-labels-by-bassoonian-in-httpsgithubcomrh-hideoutpokeemerald-expansionpull4839) +* [Fixed Trace not respecting the speed order like other switch-in abilities](#fixed-trace-not-respecting-the-speed-order-like-other-switch-in-abilities-by-alexon1ine-in-httpsgithubcomrh-hideoutpokeemerald-expansionpull4941) + +## 🧬 General 🧬 +### Fixed +* Fixed Battle Frontier ineligibility blocking the entire party if it encountered a disabled species by @Bassoonian in https://github.com/rh-hideout/pokeemerald-expansion/pull/4997 +* Fixed random IVs given when using `givemon` only giving values from 1-31 by @cawtds in https://github.com/rh-hideout/pokeemerald-expansion/pull/5021 +* Fixed `givemon` not giving Cherish Ball by @Sneed69 in https://github.com/rh-hideout/pokeemerald-expansion/pull/5022 + +## 🐉 Pokémon 🐉 +### Added +* Added missing Terapagos Stellar sprite by @hedara90 in https://github.com/rh-hideout/pokeemerald-expansion/pull/5008 +* Added missing Ogerpon Tera sprites by @hedara90 in https://github.com/rh-hideout/pokeemerald-expansion/pull/4996 +### Changed +* Temporarely reverted regional form inheritance to fix issue with non-regional forms by @AsparagusEduardo in https://github.com/rh-hideout/pokeemerald-expansion/pull/5004 +* Updated level up learnsets up to Indigo Disk by @kittenchilly in https://github.com/rh-hideout/pokeemerald-expansion/pull/5023 +### Fixed +* Fixed Basculegion learning Dire Claw in Gen9's level up learnset by @Bassoonian in https://github.com/rh-hideout/pokeemerald-expansion/pull/4948 +* Fixed Sandile's sprite by @hedara90 in https://github.com/rh-hideout/pokeemerald-expansion/pull/5038 + +## ⚔️ Battle General ⚔️ ## +### Fixed +* Fixed Debug Menu not properly updating the corresponding flags + general cleanup by @kittenchilly in https://github.com/rh-hideout/pokeemerald-expansion/pull/4643 +* Fixed spread damage in double battles by @AlexOn1ine in https://github.com/rh-hideout/pokeemerald-expansion/pull/5064 + * In double battles when `B_POSITION_OPPONENT_LEFT` fainted from the first hit of a spread move, the second hit dealt 100% of damage to `B_POSITION_OPPONENT_RIGHT`. +* #### Removed unused Battle Script labels by @Bassoonian in https://github.com/rh-hideout/pokeemerald-expansion/pull/4839 + * `data/battle_scripts_1.s` + * `BattleScript_OctolockTryLowerDef` + * `BattleScript_OctolockTurnDmgPrintMsg` + * `BattleScript_StuffCheeksEatBerry` + * `BattleScript_StrengthSapTryHp` and its contents. + * `BattleScript_PartingShotEnd` and its contents. + * `BattleScript_RototillerAffected` + * `BattleScript_AutotomizeDoAnim` + * `BattleScript_TryTailwindAbilitiesLoop_Ret` + * `BattleScript_HitFromAtkCanceler` + * `BattleScript_EffectMultiHit` + * `BattleScript_BattleScript_EffectParalyzeNoTypeCalc` + * `BattleScript_EffectTeleportTryToRunAway` + * `BattleScript_WindPowerActivates_Ret` + * `BattleScript_CottonDownReturn` + * `BattleScript_ActivateWeatherAbilities_Increment` + * `BattleScript_IntimidateEnd` + * `BattleScript_SupersweetSyrupEnd` + * `BattleScript_ActivateTerrainEffects_Increment` + * `BattleScript_GrassyTerrainHpChange` + * `BattleScript_GrassyTerrainLoopEnd` + * `BattleScript_AbilityNoSpecificStatLossPrint` + * `BattleScript_ArenaNothingDecided` + * `BattleScript_ExtremeEvoboostAtk` + * `BattleScript_BerserkGeneRet_Anim` + * `data/battle_scripts_2.s` + * `BattleScript_PrintCaughtMonInfo` +* #### Opportunist/Mirror Herb Refactor by @AlexOn1ine in https://github.com/rh-hideout/pokeemerald-expansion/pull/4928 + * Multiple fixes: + * Opportunist stacking multiple boosts in one turn from opposing mons. + * Increasing the stat by the wrong amount when copying opposing boost (eg. +6 boosts). + * Opportunist no longer has a message. + * Opportunist only play animations once for every stat boost. + * Changes: + * `switchInBattlerCounter` replaces both `switchInAbilitiesCounter` and `switchInItemsCounter`. + * Removed `STRINGID_OPPORTUNISTCOPIED` and `sText_OpportunistCopied`. + * Altered `TryDoEventsBeforeFirstTurn` to use a state switch (`gBattleStruct->eventsBeforeFirstTurnState`) + * `FIRST_TURN_EVENTS_START`. + * `FIRST_TURN_EVENTS_OVERWORLD_WEATHER`. + * `FIRST_TURN_EVENTS_TERRAIN`. + * `FIRST_TURN_EVENTS_STARTING_STATUS`. + * `FIRST_TURN_EVENTS_TOTEM_BOOST`. + * `FIRST_TURN_EVENTS_NEUTRALIZING_GAS`. + * `FIRST_TURN_EVENTS_SWITCH_IN_ABILITIES`. + * `FIRST_TURN_EVENTS_OPPORTUNIST_1`. + * `FIRST_TURN_EVENTS_ITEM_EFFECTS`. + * `FIRST_TURN_EVENTS_OPPORTUNIST_2`. + * `FIRST_TURN_EVENTS_END`. + +## 🤹 Moves 🤹 +### Added +* Added missing Ivy Cudgel animation by @hedara90 in https://github.com/rh-hideout/pokeemerald-expansion/pull/5034 + * Cleanup by @hedara90 in https://github.com/rh-hideout/pokeemerald-expansion/pull/5063 +* Added missing Axe Kick animation by @kittenchilly in https://github.com/rh-hideout/pokeemerald-expansion/pull/5039 +### Fixed +* Fixed Diamond Storm's Defense increase applying to the target instead of the user by @Bassoonian in https://github.com/rh-hideout/pokeemerald-expansion/pull/4947 +* Fixed Psycho Shift check for Frostbite using `CanBeFrozen` instead of `CanGetFrostbite` by @Bassoonian in https://github.com/rh-hideout/pokeemerald-expansion/pull/4995 +* Fixed Sleep Talk failing on repeated attempts by @PhallenTree in https://github.com/rh-hideout/pokeemerald-expansion/pull/5009 +* Fixed Fury Cutter considering Parental Bond's second hit for its damage multiplier by @PhallenTree in https://github.com/rh-hideout/pokeemerald-expansion/pull/5030 +* Fixed Hidden Power damage category when `B_PHYSICAL_SPECIAL_SPLIT < GEN_4` by @hedara90 in https://github.com/rh-hideout/pokeemerald-expansion/pull/5053 +* Fixed `MoveEffectRemoveStatus` (Sparkling Aria, Wake-Up Slap, ...) that cure Freeze/Frostbite using the other status' battlescript. by @PhallenTree in https://github.com/rh-hideout/pokeemerald-expansion/pull/5061 + +## 🎭 Abilities 🎭 +### Fixed +* Fixed Toxic Debris incorrect side check by @PhallenTree in https://github.com/rh-hideout/pokeemerald-expansion/pull/5009 +* Fixed Snow Warning's description not being updated based on `B_SNOW_WARNING` by @kittenchilly in https://github.com/rh-hideout/pokeemerald-expansion/pull/5018 +* Fixed Mold Breaker abilities not properly checking battler actions in double battles causing them to not work by @PhallenTree in https://github.com/rh-hideout/pokeemerald-expansion/pull/5030 +* Fixed `cantBeSurpressed` ability check for breakable abilities by @AlexOn1ine in https://github.com/rh-hideout/pokeemerald-expansion/pull/5043 +* Fixed Stalwart and Propeller Tail not ignoring redirection from Storm Drain/Lightning Rod + tests by @PhallenTree in https://github.com/rh-hideout/pokeemerald-expansion/pull/5061 +* #### Fixed Trace not respecting the speed order like other switch-in abilities by @AlexOn1ine in https://github.com/rh-hideout/pokeemerald-expansion/pull/4941 + * Changes: + * Removed: `ABILITYEFFECT_TRACE1`, `ABILITYEFFECT_TRACE2` and moved their handling to `ABILITYEFFECT_ON_SWITCHIN`. + * Removed `gSpecialStatuses`'s `traced` field. + +## 🧶 Items 🧶 +### Fixed +* Jaboca/Rowap Berry recording the wrong item effects by @PhallenTree in https://github.com/rh-hideout/pokeemerald-expansion/pull/5009 +* Fixed Life Orb damaging its holder if it hits itself in confusion. by @PhallenTree in https://github.com/rh-hideout/pokeemerald-expansion/pull/5061 + +## 🤖 Battle AI 🤖 +### Documentation +* Added AI Flags documentation to directory for new documentation site by @anrichtait in https://github.com/rh-hideout/pokeemerald-expansion/pull/5057 +### Fixed +* Fixed typo that caused AI to use Upper Hand when it shouldn't by @Pawkkie in https://github.com/rh-hideout/pokeemerald-expansion/pull/4973 +* Fixed AI using U-Turn when only the Ace Pokémon is left in the party (#4748) by @Pawkkie in https://github.com/rh-hideout/pokeemerald-expansion/pull/4972 +* Fixed AI not being aware during calculations by @AlexOn1ine in https://github.com/rh-hideout/pokeemerald-expansion/pull/4992 +* Fixed `AI_SetMoveAccuracy` getting the wrong battler's ability by @PhallenTree in https://github.com/rh-hideout/pokeemerald-expansion/pull/5030 + +## 🧹 Other Cleanup 🧹 +### Fixed +* Fixed version displayed in `README.md` by @Bassoonian in https://github.com/rh-hideout/pokeemerald-expansion/pull/4966 +* Removes unnecessary checks for Shield Dust and Covert Cloak by @AlexOn1ine in https://github.com/rh-hideout/pokeemerald-expansion/pull/5073 + +## 🧪 Test Runner 🧪 +### Added +* Added AI Upper Hand test by @Pawkkie in https://github.com/rh-hideout/pokeemerald-expansion/pull/4973 +* Added test to make sure that Trainer Class balls apply to every member of the party by @Bassoonian in https://github.com/rh-hideout/pokeemerald-expansion/pull/4999 +* Added missing Sleep Talk tests by @PhallenTree in https://github.com/rh-hideout/pokeemerald-expansion/pull/5009 +### Changed +* Improved Test Runner Summary by @AsparagusEduardo in https://github.com/rh-hideout/pokeemerald-expansion/pull/4641 + * Totals are now separated from the erroring test list. + * Assumption Fails and Passing `KNOWN_FAILING`s now have their own lists. +### Fixed +* Fixed tests failing when `B_USE_FROSTBITE` is set to `TRUE` by @fakuzatsu in https://github.com/rh-hideout/pokeemerald-expansion/pull/4986 +* Fixed tests not compiling outside of CI after incoming pret merge by @Bassoonian in https://github.com/rh-hideout/pokeemerald-expansion/pull/4998 +* Fixed Covert Cloak tests being in `item_effect` folder instead of `hold_effect` folder by @AlexOn1ine in https://github.com/rh-hideout/pokeemerald-expansion/pull/5073 + +## 📦 Pret merges 📦 +* Pret Merge (13th of July) by @Bassoonian in https://github.com/rh-hideout/pokeemerald-expansion/pull/4964 + * Adds the new C-style enums in preproc commit by @SBird1337 [(550e668)](https://github.com/pret/pokeemerald/commit/550e6688aa3b511a9aa9ea851c49ba4d90c7708a) +* Pret Merge (27th of July) by @Bassoonian in https://github.com/rh-hideout/pokeemerald-expansion/pull/5045 + * Includes: + * [pret#2016](https://github.com/pret/pokeemerald/pull/2016) Fix WSL1 install instructions + * [pret#2017](https://github.com/pret/pokeemerald/pull/2017) Added constant for `NUM_SNOWFLAKE_SPRITES` + +**Full Changelog**: https://github.com/rh-hideout/pokeemerald-expansion/compare/expansion/1.8.5...expansion/1.8.6 + + diff --git a/include/constants/expansion.h b/include/constants/expansion.h index bf54ade9fcdf..cc9167500f0b 100644 --- a/include/constants/expansion.h +++ b/include/constants/expansion.h @@ -1,13 +1,13 @@ #ifndef GUARD_CONSTANTS_EXPANSION_H #define GUARD_CONSTANTS_EXPANSION_H -// 1.8.5 +// 1.8.6 #define EXPANSION_VERSION_MAJOR 1 #define EXPANSION_VERSION_MINOR 8 -#define EXPANSION_VERSION_PATCH 5 +#define EXPANSION_VERSION_PATCH 6 // FALSE if this this version of Expansion is not a tagged commit, i.e. // it contains unreleased changes. -#define EXPANSION_TAGGED_RELEASE FALSE +#define EXPANSION_TAGGED_RELEASE TRUE #endif From 512c44b6986fa822a63e132fa053a59a705dc6c4 Mon Sep 17 00:00:00 2001 From: Eduardo Quezada Date: Thu, 1 Aug 2024 17:04:48 -0400 Subject: [PATCH 35/38] Start 1.9.1 cycle --- include/constants/expansion.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/include/constants/expansion.h b/include/constants/expansion.h index 1a266bd8ed49..ad79d584cbec 100644 --- a/include/constants/expansion.h +++ b/include/constants/expansion.h @@ -4,10 +4,10 @@ // 1.9.0 #define EXPANSION_VERSION_MAJOR 1 #define EXPANSION_VERSION_MINOR 9 -#define EXPANSION_VERSION_PATCH 0 +#define EXPANSION_VERSION_PATCH 1 // FALSE if this this version of Expansion is not a tagged commit, i.e. // it contains unreleased changes. -#define EXPANSION_TAGGED_RELEASE TRUE +#define EXPANSION_TAGGED_RELEASE FALSE #endif From 4082adf5b1e7bcc99848f1249a2899092cebb40e Mon Sep 17 00:00:00 2001 From: Eduardo Quezada Date: Thu, 1 Aug 2024 17:07:50 -0400 Subject: [PATCH 36/38] Start 1.10.0 cycle --- include/constants/expansion.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/include/constants/expansion.h b/include/constants/expansion.h index ad79d584cbec..72a48652425e 100644 --- a/include/constants/expansion.h +++ b/include/constants/expansion.h @@ -1,10 +1,10 @@ #ifndef GUARD_CONSTANTS_EXPANSION_H #define GUARD_CONSTANTS_EXPANSION_H -// 1.9.0 +// 1.10.0 #define EXPANSION_VERSION_MAJOR 1 -#define EXPANSION_VERSION_MINOR 9 -#define EXPANSION_VERSION_PATCH 1 +#define EXPANSION_VERSION_MINOR 10 +#define EXPANSION_VERSION_PATCH 0 // FALSE if this this version of Expansion is not a tagged commit, i.e. // it contains unreleased changes. From 3af93bdfeefcf50eb4b86a8f7646235a8d4a1032 Mon Sep 17 00:00:00 2001 From: cawtds <38510667+cawtds@users.noreply.github.com> Date: Fri, 2 Aug 2024 17:28:05 +0200 Subject: [PATCH 37/38] FRLG+ whiteout message (#4967) * FRLG whiteout message + post whiteout event --- data/event_scripts.s | 73 +++++++++++ include/config/overworld.h | 1 + include/constants/heal_locations.h | 1 + include/event_scripts.h | 2 + include/field_screen_effect.h | 1 + include/heal_location.h | 4 + include/strings.h | 4 + src/data/heal_locations_pkm_center.h | 175 +++++++++++++++++++++++++++ src/field_screen_effect.c | 114 +++++++++++++++++ src/heal_location.c | 69 +++++++++++ src/overworld.c | 17 ++- src/strings.c | 2 + 12 files changed, 461 insertions(+), 2 deletions(-) create mode 100644 src/data/heal_locations_pkm_center.h diff --git a/data/event_scripts.s b/data/event_scripts.s index 07eafe1c35ea..d4393ac9d473 100644 --- a/data/event_scripts.s +++ b/data/event_scripts.s @@ -587,6 +587,37 @@ EventScript_WhiteOut:: goto EventScript_ResetMrBriney end +EventScript_AfterWhiteOutHeal:: + lockall + msgbox gText_FirstShouldRestoreMonsHealth + call EventScript_PkmnCenterNurse_TakeAndHealPkmn + call_if_unset FLAG_DEFEATED_RUSTBORO_GYM, EventScript_AfterWhiteOutHealMsgPreRoxanne + call_if_set FLAG_DEFEATED_RUSTBORO_GYM, EventScript_AfterWhiteOutHealMsg + applymovement VAR_LAST_TALKED, Movement_PkmnCenterNurse_Bow + waitmovement 0 + fadedefaultbgm + releaseall + end + +EventScript_AfterWhiteOutHealMsgPreRoxanne:: + msgbox gText_MonsHealedShouldBuyPotions + return + +EventScript_AfterWhiteOutHealMsg:: + msgbox gText_MonsHealed + return + +EventScript_AfterWhiteOutMomHeal:: + lockall + applymovement LOCALID_MOM, Common_Movement_WalkInPlaceFasterDown + waitmovement 0 + msgbox gText_HadQuiteAnExperienceTakeRest + call Common_EventScript_OutOfCenterPartyHeal + msgbox gText_MomExplainHPGetPotions + fadedefaultbgm + releaseall + end + EventScript_ResetMrBriney:: goto_if_eq VAR_BRINEY_LOCATION, 1, EventScript_MoveMrBrineyToHouse goto_if_eq VAR_BRINEY_LOCATION, 2, EventScript_MoveMrBrineyToDewford @@ -887,6 +918,48 @@ gText_PlayerWhitedOut:: .string "{PLAYER} is out of usable\n" .string "POKéMON!\p{PLAYER} whited out!$" +gText_FirstShouldRestoreMonsHealth:: + .string "First, you should restore your\n" + .string "POKéMON to full health.$" + +gText_MonsHealedShouldBuyPotions:: + .string "Your POKéMON have been healed\n" + .string "to perfect health.\p" + .string "If your POKéMON's energy, HP,\n" + .string "is down, please come see us.\p" + .string "If you're planning to go far in the\n" + .string "field, you should buy some POTIONS\l" + .string "at the POKéMON MART.\p" + .string "We hope you excel!$" + +gText_MonsHealed:: + .string "Your POKéMON have been healed\n" + .string "to perfect health.\p" + .string "We hope you excel!$" + +gText_HadQuiteAnExperienceTakeRest:: + .string "MOM: {PLAYER}!\n" + .string "Welcome home.\p" + .string "It sounds like you had quite\n" + .string "an experience.\p" + .string "Maybe you should take a quick\n" + .string "rest.$" + +gText_MomExplainHPGetPotions:: + .string "MOM: Oh, good! You and your\n" + .string "POKéMON are looking great.\p" + .string "I just heard from PROF. BIRCH.\p" + .string "He said that POKéMON's energy is\n" + .string "measured in HP.\p" + .string "If your POKéMON lose their HP,\n" + .string "you can restore them at any\l" + .string "POKéMON CENTER.\p" + .string "If you're going to travel far away,\n" + .string "the smart TRAINER stocks up on\l" + .string "POTIONS at the POKéMON MART.\p" + .string "Make me proud, honey!\p" + .string "Take care!$" + gText_RegisteredTrainerinPokeNav:: .string "Registered {STR_VAR_1} {STR_VAR_2}\n" .string "in the POKéNAV.$" diff --git a/include/config/overworld.h b/include/config/overworld.h index b6664269960c..b47cef5c5082 100644 --- a/include/config/overworld.h +++ b/include/config/overworld.h @@ -8,6 +8,7 @@ #define OW_POISON_DAMAGE GEN_LATEST // In Gen4, Pokémon no longer faint from Poison in the overworld. In Gen5+, they no longer take damage at all. #define OW_DOUBLE_APPROACH_WITH_ONE_MON FALSE // If enabled, you can be spotted by two trainers at the same time even if you only have one eligible Pokémon in your party. #define OW_HIDE_REPEAT_MAP_POPUP FALSE // If enabled, map popups will not appear if entering a map with the same Map Section Id as the last. +#define OW_FRLG_WHITEOUT FALSE // If enabled, shows an additional whiteout message and post whiteout event script with healing NPC. // These generational defines only make a distinction for Berries and the OW_PC_MOVE_ORDER #define GEN_6_XY GEN_6 diff --git a/include/constants/heal_locations.h b/include/constants/heal_locations.h index d3dd8f1f1748..217594d0b7f2 100644 --- a/include/constants/heal_locations.h +++ b/include/constants/heal_locations.h @@ -24,5 +24,6 @@ #define HEAL_LOCATION_EVER_GRANDE_CITY_POKEMON_LEAGUE 20 #define HEAL_LOCATION_SOUTHERN_ISLAND_EXTERIOR 21 #define HEAL_LOCATION_BATTLE_FRONTIER_OUTSIDE_EAST 22 +#define HEAL_LOCATION_COUNT 23 #endif // GUARD_CONSTANTS_HEAL_LOCATIONS_H diff --git a/include/event_scripts.h b/include/event_scripts.h index fa0bfe5c6ecd..7c35e991c252 100644 --- a/include/event_scripts.h +++ b/include/event_scripts.h @@ -620,6 +620,8 @@ extern const u8 EventScript_SelectWithoutRegisteredItem[]; // overworld extern const u8 EventScript_WhiteOut[]; +extern const u8 EventScript_AfterWhiteOutMomHeal[]; +extern const u8 EventScript_AfterWhiteOutHeal[]; extern const u8 EventScript_ResetMrBriney[]; extern const u8 EventScript_DoLinkRoomExit[]; extern const u8 CableClub_EventScript_TooBusyToNotice[]; diff --git a/include/field_screen_effect.h b/include/field_screen_effect.h index 6dc9b077d219..9b3aa6229e5f 100644 --- a/include/field_screen_effect.h +++ b/include/field_screen_effect.h @@ -16,6 +16,7 @@ void FieldCB_ReturnToFieldWirelessLink(void); void FieldCB_DefaultWarpExit(void); void FieldCB_WarpExitFadeFromBlack(void); void FieldCB_WarpExitFadeFromWhite(void); +void FieldCB_RushInjuredPokemonToCenter(void); bool8 FieldCB_ReturnToFieldOpenStartMenu(void); void ReturnToFieldOpenStartMenu(void); void FieldCB_ReturnToFieldNoScript(void); diff --git a/include/heal_location.h b/include/heal_location.h index 46f0d785ab7a..8c4ebae96508 100644 --- a/include/heal_location.h +++ b/include/heal_location.h @@ -10,7 +10,11 @@ struct HealLocation }; u32 GetHealLocationIndexByMap(u16 mapGroup, u16 mapNum); +u32 GetHealLocationIndexByWarpData(struct WarpData *warp); const struct HealLocation *GetHealLocationByMap(u16 mapGroup, u16 mapNum); const struct HealLocation *GetHealLocation(u32 index); +bool32 IsLastHealLocationPlayerHouse(); +void SetWhiteoutRespawnWarpAndHealerNPC(struct WarpData * warp); +u32 GetHealNpcLocalId(u32 healLocationId); #endif // GUARD_HEAL_LOCATION_H diff --git a/include/strings.h b/include/strings.h index 2963eb96d15c..ec175ab251d0 100644 --- a/include/strings.h +++ b/include/strings.h @@ -3046,4 +3046,8 @@ extern const u8 gText_PlantBerry[]; extern const u8 gText_AM[]; extern const u8 gText_PM[]; +// FRLG whiteout +extern const u8 gText_PlayerScurriedToCenter[]; +extern const u8 gText_PlayerScurriedBackHome[]; + #endif // GUARD_STRINGS_H diff --git a/src/data/heal_locations_pkm_center.h b/src/data/heal_locations_pkm_center.h new file mode 100644 index 000000000000..58be0be05ed6 --- /dev/null +++ b/src/data/heal_locations_pkm_center.h @@ -0,0 +1,175 @@ +#define DEFAULT_POKEMON_CENTER_COORDS .x = 7, .y = 4 + +static const struct HealLocation sHealLocationsPokemonCenter[HEAL_LOCATION_COUNT - 1] = +{ + [HEAL_LOCATION_LITTLEROOT_TOWN_BRENDANS_HOUSE_2F - 1] = + { + .group = MAP_GROUP(LITTLEROOT_TOWN_BRENDANS_HOUSE_1F), + .map = MAP_NUM(LITTLEROOT_TOWN_BRENDANS_HOUSE_1F), + .x = 2, + .y = 7, + }, + [HEAL_LOCATION_LITTLEROOT_TOWN_MAYS_HOUSE_2F - 1] = + { + .group = MAP_GROUP(LITTLEROOT_TOWN_MAYS_HOUSE_1F), + .map = MAP_NUM(LITTLEROOT_TOWN_MAYS_HOUSE_1F), + .x = 8, + .y = 7, + }, + [HEAL_LOCATION_PETALBURG_CITY - 1] = + { + .group = MAP_GROUP(PETALBURG_CITY_POKEMON_CENTER_1F), + .map = MAP_NUM(PETALBURG_CITY_POKEMON_CENTER_1F), + DEFAULT_POKEMON_CENTER_COORDS, + }, + [HEAL_LOCATION_SLATEPORT_CITY - 1] = + { + .group = MAP_GROUP(SLATEPORT_CITY_POKEMON_CENTER_1F), + .map = MAP_NUM(SLATEPORT_CITY_POKEMON_CENTER_1F), + DEFAULT_POKEMON_CENTER_COORDS, + }, + [HEAL_LOCATION_MAUVILLE_CITY - 1] = + { + .group = MAP_GROUP(MAUVILLE_CITY_POKEMON_CENTER_1F), + .map = MAP_NUM(MAUVILLE_CITY_POKEMON_CENTER_1F), + DEFAULT_POKEMON_CENTER_COORDS, + }, + [HEAL_LOCATION_RUSTBORO_CITY - 1] = + { + .group = MAP_GROUP(RUSTBORO_CITY_POKEMON_CENTER_1F), + .map = MAP_NUM(RUSTBORO_CITY_POKEMON_CENTER_1F), + DEFAULT_POKEMON_CENTER_COORDS, + }, + [HEAL_LOCATION_FORTREE_CITY - 1] = + { + .group = MAP_GROUP(FORTREE_CITY_POKEMON_CENTER_1F), + .map = MAP_NUM(FORTREE_CITY_POKEMON_CENTER_1F), + DEFAULT_POKEMON_CENTER_COORDS, + }, + [HEAL_LOCATION_LILYCOVE_CITY - 1] = + { + .group = MAP_GROUP(LILYCOVE_CITY_POKEMON_CENTER_1F), + .map = MAP_NUM(LILYCOVE_CITY_POKEMON_CENTER_1F), + DEFAULT_POKEMON_CENTER_COORDS, + }, + [HEAL_LOCATION_MOSSDEEP_CITY - 1] = + { + .group = MAP_GROUP(MOSSDEEP_CITY_POKEMON_CENTER_1F), + .map = MAP_NUM(MOSSDEEP_CITY_POKEMON_CENTER_1F), + DEFAULT_POKEMON_CENTER_COORDS, + }, + [HEAL_LOCATION_SOOTOPOLIS_CITY - 1] = + { + .group = MAP_GROUP(SOOTOPOLIS_CITY_POKEMON_CENTER_1F), + .map = MAP_NUM(SOOTOPOLIS_CITY_POKEMON_CENTER_1F), + DEFAULT_POKEMON_CENTER_COORDS, + }, + [HEAL_LOCATION_EVER_GRANDE_CITY - 1] = + { + .group = MAP_GROUP(EVER_GRANDE_CITY_POKEMON_CENTER_1F), + .map = MAP_NUM(EVER_GRANDE_CITY_POKEMON_CENTER_1F), + DEFAULT_POKEMON_CENTER_COORDS, + }, + [HEAL_LOCATION_LITTLEROOT_TOWN_BRENDANS_HOUSE - 1] = + { + .group = MAP_GROUP(LITTLEROOT_TOWN_BRENDANS_HOUSE_1F), + .map = MAP_NUM(LITTLEROOT_TOWN_BRENDANS_HOUSE_1F), + .x = 2, + .y = 7, + }, + [HEAL_LOCATION_LITTLEROOT_TOWN_MAYS_HOUSE - 1] = + { + .group = MAP_GROUP(LITTLEROOT_TOWN_MAYS_HOUSE_1F), + .map = MAP_NUM(LITTLEROOT_TOWN_MAYS_HOUSE_1F), + .x = 8, + .y = 7, + }, + [HEAL_LOCATION_OLDALE_TOWN - 1] = + { + .group = MAP_GROUP(OLDALE_TOWN_POKEMON_CENTER_1F), + .map = MAP_NUM(OLDALE_TOWN_POKEMON_CENTER_1F), + DEFAULT_POKEMON_CENTER_COORDS, + }, + [HEAL_LOCATION_DEWFORD_TOWN - 1] = + { + .group = MAP_GROUP(DEWFORD_TOWN_POKEMON_CENTER_1F), + .map = MAP_NUM(DEWFORD_TOWN_POKEMON_CENTER_1F), + DEFAULT_POKEMON_CENTER_COORDS, + }, + [HEAL_LOCATION_LAVARIDGE_TOWN - 1] = + { + .group = MAP_GROUP(LAVARIDGE_TOWN_POKEMON_CENTER_1F), + .map = MAP_NUM(LAVARIDGE_TOWN_POKEMON_CENTER_1F), + DEFAULT_POKEMON_CENTER_COORDS, + }, + [HEAL_LOCATION_FALLARBOR_TOWN - 1] = + { + .group = MAP_GROUP(FALLARBOR_TOWN_POKEMON_CENTER_1F), + .map = MAP_NUM(FALLARBOR_TOWN_POKEMON_CENTER_1F), + DEFAULT_POKEMON_CENTER_COORDS, + }, + [HEAL_LOCATION_VERDANTURF_TOWN - 1] = + { + .group = MAP_GROUP(VERDANTURF_TOWN_POKEMON_CENTER_1F), + .map = MAP_NUM(VERDANTURF_TOWN_POKEMON_CENTER_1F), + DEFAULT_POKEMON_CENTER_COORDS, + }, + [HEAL_LOCATION_PACIFIDLOG_TOWN - 1] = + { + .group = MAP_GROUP(PACIFIDLOG_TOWN_POKEMON_CENTER_1F), + .map = MAP_NUM(PACIFIDLOG_TOWN_POKEMON_CENTER_1F), + DEFAULT_POKEMON_CENTER_COORDS, + }, + [HEAL_LOCATION_EVER_GRANDE_CITY_POKEMON_LEAGUE - 1] = + { + .group = MAP_GROUP(EVER_GRANDE_CITY_POKEMON_LEAGUE_1F), + .map = MAP_NUM(EVER_GRANDE_CITY_POKEMON_LEAGUE_1F), + .x = 3, + .y = 4, + }, + [HEAL_LOCATION_SOUTHERN_ISLAND_EXTERIOR - 1] = + { + .group = MAP_GROUP(SOUTHERN_ISLAND_EXTERIOR), + .map = MAP_NUM(SOUTHERN_ISLAND_EXTERIOR), + .x = 15, + .y = 20, + }, + [HEAL_LOCATION_BATTLE_FRONTIER_OUTSIDE_EAST - 1] = + { + .group = MAP_GROUP(BATTLE_FRONTIER_POKEMON_CENTER_1F), + .map = MAP_NUM(BATTLE_FRONTIER_POKEMON_CENTER_1F), + DEFAULT_POKEMON_CENTER_COORDS, + }, +}; + +#undef DEFAULT_POKEMON_CENTER_COORDS + +// localIds can be found in the generated events.inc file for the specific heal location map +// e.g. for OldaleTown_PokemonCenter1F/events.inc the following entry gets generated: +// object_event 1, OBJ_EVENT_GFX_NURSE, 7, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, TRAINER_TYPE_NONE, 0, OldaleTown_PokemonCenter_1F_EventScript_Nurse, 0 +// In this case the localId is 1. +static const u8 sHealNpcLocalId[HEAL_LOCATION_COUNT - 1] = +{ + [HEAL_LOCATION_LITTLEROOT_TOWN_BRENDANS_HOUSE_2F - 1] = 1, + [HEAL_LOCATION_LITTLEROOT_TOWN_MAYS_HOUSE_2F - 1] = 1, + [HEAL_LOCATION_PETALBURG_CITY - 1] = 1, + [HEAL_LOCATION_SLATEPORT_CITY - 1] = 1, + [HEAL_LOCATION_MAUVILLE_CITY - 1] = 1, + [HEAL_LOCATION_RUSTBORO_CITY - 1] = 1, + [HEAL_LOCATION_FORTREE_CITY - 1] = 1, + [HEAL_LOCATION_LILYCOVE_CITY - 1] = 1, + [HEAL_LOCATION_MOSSDEEP_CITY - 1] = 1, + [HEAL_LOCATION_SOOTOPOLIS_CITY - 1] = 1, + [HEAL_LOCATION_EVER_GRANDE_CITY - 1] = 1, + [HEAL_LOCATION_LITTLEROOT_TOWN_BRENDANS_HOUSE - 1] = 1, + [HEAL_LOCATION_LITTLEROOT_TOWN_MAYS_HOUSE - 1] = 1, + [HEAL_LOCATION_OLDALE_TOWN - 1] = 1, + [HEAL_LOCATION_DEWFORD_TOWN - 1] = 1, + [HEAL_LOCATION_LAVARIDGE_TOWN - 1] = 1, + [HEAL_LOCATION_FALLARBOR_TOWN - 1] = 1, + [HEAL_LOCATION_VERDANTURF_TOWN - 1] = 1, + [HEAL_LOCATION_PACIFIDLOG_TOWN - 1] = 1, + [HEAL_LOCATION_EVER_GRANDE_CITY_POKEMON_LEAGUE - 1] = 1, + [HEAL_LOCATION_SOUTHERN_ISLAND_EXTERIOR - 1] = 0, // no heal npc + [HEAL_LOCATION_BATTLE_FRONTIER_OUTSIDE_EAST - 1] = 1, +}; diff --git a/src/field_screen_effect.c b/src/field_screen_effect.c index 9338fe183d17..e39a0c6c1f78 100644 --- a/src/field_screen_effect.c +++ b/src/field_screen_effect.c @@ -7,11 +7,13 @@ #include "field_effect.h" #include "event_object_lock.h" #include "event_object_movement.h" +#include "event_scripts.h" #include "field_player_avatar.h" #include "field_screen_effect.h" #include "field_special_scene.h" #include "field_weather.h" #include "gpu_regs.h" +#include "heal_location.h" #include "io_reg.h" #include "link.h" #include "link_rfu.h" @@ -26,10 +28,13 @@ #include "script.h" #include "sound.h" #include "start_menu.h" +#include "strings.h" +#include "string_util.h" #include "task.h" #include "text.h" #include "constants/event_object_movement.h" #include "constants/event_objects.h" +#include "constants/heal_locations.h" #include "constants/songs.h" #include "constants/rgb.h" #include "trainer_hill.h" @@ -1274,3 +1279,112 @@ static void Task_EnableScriptAfterMusicFade(u8 taskId) ScriptContext_Enable(); } } + +static const struct WindowTemplate sWindowTemplate_WhiteoutText = +{ + .bg = 0, + .tilemapLeft = 0, + .tilemapTop = 5, + .width = 30, + .height = 11, + .paletteNum = 15, + .baseBlock = 1, +}; + +static const u8 sWhiteoutTextColors[] = { TEXT_COLOR_TRANSPARENT, TEXT_COLOR_WHITE, TEXT_COLOR_DARK_GRAY }; + +#define tState data[0] +#define tWindowId data[1] +#define tPrintState data[2] +#define tIsPlayerHouse data[3] + +static bool32 PrintWhiteOutRecoveryMessage(u8 taskId, const u8 *text, u32 x, u32 y) +{ + u32 windowId = gTasks[taskId].tWindowId; + + switch (gTasks[taskId].tPrintState) + { + case 0: + FillWindowPixelBuffer(windowId, PIXEL_FILL(0)); + StringExpandPlaceholders(gStringVar4, text); + AddTextPrinterParameterized4(windowId, FONT_NORMAL, x, y, 1, 0, sWhiteoutTextColors, 1, gStringVar4); + gTextFlags.canABSpeedUpPrint = FALSE; + gTasks[taskId].tPrintState = 1; + break; + case 1: + RunTextPrinters(); + if (!IsTextPrinterActive(windowId)) + { + gTasks[taskId].tPrintState = 0; + return TRUE; + } + break; + } + return FALSE; +} + +enum { + FRLG_WHITEOUT_ENTER_MSG_SCREEN, + FRLG_WHITEOUT_PRINT_MSG, + FRLG_WHITEOUT_LEAVE_MSG_SCREEN, + FRLG_WHITEOUT_HEAL_SCRIPT, +}; + +static void Task_RushInjuredPokemonToCenter(u8 taskId) +{ + u32 windowId; + + switch (gTasks[taskId].tState) + { + case FRLG_WHITEOUT_ENTER_MSG_SCREEN: + windowId = AddWindow(&sWindowTemplate_WhiteoutText); + gTasks[taskId].tWindowId = windowId; + Menu_LoadStdPalAt(BG_PLTT_ID(15)); + FillWindowPixelBuffer(windowId, PIXEL_FILL(0)); + PutWindowTilemap(windowId); + CopyWindowToVram(windowId, COPYWIN_FULL); + + gTasks[taskId].tIsPlayerHouse = IsLastHealLocationPlayerHouse(); + gTasks[taskId].tState = FRLG_WHITEOUT_PRINT_MSG; + break; + case FRLG_WHITEOUT_PRINT_MSG: + { + const u8 *recoveryMessage = gTasks[taskId].tIsPlayerHouse == TRUE ? gText_PlayerScurriedBackHome : gText_PlayerScurriedToCenter; + if (PrintWhiteOutRecoveryMessage(taskId, recoveryMessage, 2, 8)) + { + ObjectEventTurn(&gObjectEvents[gPlayerAvatar.objectEventId], DIR_NORTH); + gTasks[taskId].tState = FRLG_WHITEOUT_LEAVE_MSG_SCREEN; + } + break; + } + case FRLG_WHITEOUT_LEAVE_MSG_SCREEN: + windowId = gTasks[taskId].tWindowId; + ClearWindowTilemap(windowId); + CopyWindowToVram(windowId, COPYWIN_MAP); + RemoveWindow(windowId); + FillPalBufferBlack(); + FadeInFromBlack(); + gTasks[taskId].tState = FRLG_WHITEOUT_HEAL_SCRIPT; + break; + case FRLG_WHITEOUT_HEAL_SCRIPT: + if (WaitForWeatherFadeIn() == TRUE) + { + DestroyTask(taskId); + if (gTasks[taskId].tIsPlayerHouse) + ScriptContext_SetupScript(EventScript_AfterWhiteOutMomHeal); + else + ScriptContext_SetupScript(EventScript_AfterWhiteOutHeal); + } + break; + } +} + +void FieldCB_RushInjuredPokemonToCenter(void) +{ + u8 taskId; + + LockPlayerFieldControls(); + FillPalBufferBlack(); + taskId = CreateTask(Task_RushInjuredPokemonToCenter, 10); + gTasks[taskId].tState = FRLG_WHITEOUT_ENTER_MSG_SCREEN; +} diff --git a/src/heal_location.c b/src/heal_location.c index 0ab5540346f3..7193ea338e10 100644 --- a/src/heal_location.c +++ b/src/heal_location.c @@ -1,8 +1,11 @@ #include "global.h" +#include "event_data.h" #include "heal_location.h" #include "constants/heal_locations.h" +#include "constants/maps.h" #include "data/heal_locations.h" +#include "data/heal_locations_pkm_center.h" u32 GetHealLocationIndexByMap(u16 mapGroup, u16 mapNum) { @@ -26,6 +29,20 @@ const struct HealLocation *GetHealLocationByMap(u16 mapGroup, u16 mapNum) return &sHealLocations[index - 1]; } +u32 GetHealLocationIndexByWarpData(struct WarpData *warp) +{ + u32 i; + for (i = 0; i < ARRAY_COUNT(sHealLocations); i++) + { + if (sHealLocations[i].group == warp->mapGroup + && sHealLocations[i].map == warp->mapNum + && sHealLocations[i].x == warp->x + && sHealLocations[i].y == warp->y) + return i + 1; + } + return HEAL_LOCATION_NONE; +} + const struct HealLocation *GetHealLocation(u32 index) { if (index == HEAL_LOCATION_NONE) @@ -35,3 +52,55 @@ const struct HealLocation *GetHealLocation(u32 index) else return &sHealLocations[index - 1]; } + +static bool32 IsLastHealLocation(u32 healLocation) +{ + const struct HealLocation *loc = GetHealLocation(healLocation); + const struct WarpData *warpData = &gSaveBlock1Ptr->lastHealLocation; + + return warpData->mapGroup == loc->group + && warpData->mapNum == loc->map + && warpData->warpId == WARP_ID_NONE + && warpData->x == loc->x + && warpData->y == loc->y; +} + +bool32 IsLastHealLocationPlayerHouse() +{ + if (IsLastHealLocation(HEAL_LOCATION_LITTLEROOT_TOWN_MAYS_HOUSE) + || IsLastHealLocation(HEAL_LOCATION_LITTLEROOT_TOWN_MAYS_HOUSE_2F) + || IsLastHealLocation(HEAL_LOCATION_LITTLEROOT_TOWN_BRENDANS_HOUSE) + || IsLastHealLocation(HEAL_LOCATION_LITTLEROOT_TOWN_BRENDANS_HOUSE_2F)) + return TRUE; + + return FALSE; +} + +u32 GetHealNpcLocalId(u32 healLocationId) +{ + if (healLocationId == HEAL_LOCATION_NONE || healLocationId >= HEAL_LOCATION_COUNT) + return 0; + + return sHealNpcLocalId[healLocationId - 1]; +} + +void SetWhiteoutRespawnWarpAndHealerNPC(struct WarpData *warp) +{ + u32 healLocationId = GetHealLocationIndexByWarpData(&gSaveBlock1Ptr->lastHealLocation); + u32 healNpcLocalId = GetHealNpcLocalId(healLocationId); + struct HealLocation pkmCenterHealLocation; + + if (!healNpcLocalId) + { + *(warp) = gSaveBlock1Ptr->lastHealLocation; + return; + } + + pkmCenterHealLocation = sHealLocationsPokemonCenter[healLocationId - 1]; + warp->mapGroup = pkmCenterHealLocation.group; + warp->mapNum = pkmCenterHealLocation.map; + warp->warpId = WARP_ID_NONE; + warp->x = pkmCenterHealLocation.x; + warp->y = pkmCenterHealLocation.y; + gSpecialVar_LastTalked = healNpcLocalId; +} diff --git a/src/overworld.c b/src/overworld.c index a9606578dcdc..babdfad7b6e9 100644 --- a/src/overworld.c +++ b/src/overworld.c @@ -689,9 +689,19 @@ void SetWarpDestinationToHealLocation(u8 healLocationId) SetWarpDestination(healLocation->group, healLocation->map, WARP_ID_NONE, healLocation->x, healLocation->y); } +static bool32 IsFRLGWhiteout(void) +{ + if (!OW_FRLG_WHITEOUT) + return FALSE; + return GetHealNpcLocalId(GetHealLocationIndexByWarpData(&gSaveBlock1Ptr->lastHealLocation)) > 0; +} + void SetWarpDestinationToLastHealLocation(void) { - sWarpDestination = gSaveBlock1Ptr->lastHealLocation; + if (IsFRLGWhiteout()) + SetWhiteoutRespawnWarpAndHealerNPC(&sWarpDestination); + else + sWarpDestination = gSaveBlock1Ptr->lastHealLocation; } void SetLastHealLocationWarp(u8 healLocationId) @@ -1611,7 +1621,10 @@ void CB2_WhiteOut(void) ResetInitialPlayerAvatarState(); ScriptContext_Init(); UnlockPlayerFieldControls(); - gFieldCallback = FieldCB_WarpExitFadeFromBlack; + if (IsFRLGWhiteout()) + gFieldCallback = FieldCB_RushInjuredPokemonToCenter; + else + gFieldCallback = FieldCB_WarpExitFadeFromBlack; state = 0; DoMapLoadLoop(&state); SetFieldVBlankCallback(); diff --git a/src/strings.c b/src/strings.c index 254378d37920..28ed992d43c8 100644 --- a/src/strings.c +++ b/src/strings.c @@ -1295,6 +1295,8 @@ const u8 gText_Sorry[] = _("SORRY"); const u8 gText_YaySmileEmoji[] = _("YAY{EMOJI_BIGSMILE}"); const u8 gText_ThankYou[] = _("THANK YOU"); const u8 gText_ByeBye[] = _("BYE-BYE!"); +const u8 gText_PlayerScurriedToCenter[] = _("{PLAYER} scurried to a POKéMON CENTER,\nprotecting the exhausted and fainted\nPOKéMON from further harm…\p"); +const u8 gText_PlayerScurriedBackHome[] = _("{PLAYER} scurried back home, protecting\nthe exhausted and fainted POKéMON from\nfurther harm…\p"); const u8 gText_MatchCallSteven_Strategy[] = _("Attack the weak points!"); const u8 gText_MatchCallSteven_Pokemon[] = _("Ultimate STEEL POKéMON."); const u8 gText_MatchCallSteven_Intro1_BeforeMeteorFallsBattle[] = _("I'd climb even waterfalls"); From 346b29ff678159a27366454a28f6cb3c4daf3e22 Mon Sep 17 00:00:00 2001 From: SombrAbsol Date: Fri, 2 Aug 2024 18:01:30 +0200 Subject: [PATCH 38/38] Remove metadata in AIF files (#4958) * Remove unnecessary metadata from .aif files to reduce audio footprint in the repo --- .../direct_sound_samples/cries/abomasnow.aif | Bin 20770 -> 20718 bytes .../cries/abomasnow_mega.aif | Bin 27482 -> 27482 bytes sound/direct_sound_samples/cries/abra.aif | Bin 11686 -> 11634 bytes sound/direct_sound_samples/cries/absol.aif | Bin 5282 -> 5230 bytes sound/direct_sound_samples/cries/accelgor.aif | Bin 14142 -> 14116 bytes .../direct_sound_samples/cries/aegislash.aif | Bin 14370 -> 14288 bytes .../direct_sound_samples/cries/aerodactyl.aif | Bin 12166 -> 12114 bytes .../cries/aerodactyl_mega.aif | Bin 26234 -> 26234 bytes sound/direct_sound_samples/cries/aggron.aif | Bin 12802 -> 12750 bytes .../cries/aggron_mega.aif | Bin 27612 -> 27612 bytes sound/direct_sound_samples/cries/aipom.aif | Bin 7082 -> 7030 bytes sound/direct_sound_samples/cries/alakazam.aif | Bin 15766 -> 15714 bytes .../direct_sound_samples/cries/alomomola.aif | Bin 19510 -> 19484 bytes sound/direct_sound_samples/cries/altaria.aif | Bin 5590 -> 5538 bytes sound/direct_sound_samples/cries/amaura.aif | Bin 21478 -> 21404 bytes sound/direct_sound_samples/cries/ambipom.aif | Bin 10670 -> 10618 bytes .../direct_sound_samples/cries/amoonguss.aif | Bin 11604 -> 11578 bytes sound/direct_sound_samples/cries/ampharos.aif | Bin 8266 -> 8214 bytes sound/direct_sound_samples/cries/anorith.aif | Bin 5886 -> 5834 bytes sound/direct_sound_samples/cries/applin.aif | Bin 19682 -> 19682 bytes .../direct_sound_samples/cries/araquanid.aif | Bin 14718 -> 14718 bytes sound/direct_sound_samples/cries/arbok.aif | Bin 9674 -> 9622 bytes sound/direct_sound_samples/cries/arboliva.aif | Bin 28026 -> 28026 bytes sound/direct_sound_samples/cries/arcanine.aif | Bin 8626 -> 8574 bytes sound/direct_sound_samples/cries/arceus.aif | Bin 21442 -> 21390 bytes .../direct_sound_samples/cries/archaludon.aif | Bin 30158 -> 30158 bytes sound/direct_sound_samples/cries/archen.aif | Bin 9512 -> 9486 bytes sound/direct_sound_samples/cries/archeops.aif | Bin 15948 -> 15922 bytes sound/direct_sound_samples/cries/arctibax.aif | Bin 18866 -> 18866 bytes .../direct_sound_samples/cries/arctovish.aif | Bin 20318 -> 20318 bytes sound/direct_sound_samples/cries/ariados.aif | Bin 6194 -> 6142 bytes sound/direct_sound_samples/cries/armaldo.aif | Bin 11406 -> 11354 bytes .../direct_sound_samples/cries/aromatisse.aif | Bin 22742 -> 22660 bytes sound/direct_sound_samples/cries/aron.aif | Bin 4626 -> 4574 bytes sound/direct_sound_samples/cries/articuno.aif | Bin 11818 -> 11766 bytes sound/direct_sound_samples/cries/audino.aif | Bin 9420 -> 9394 bytes sound/direct_sound_samples/cries/aurorus.aif | Bin 27760 -> 27682 bytes sound/direct_sound_samples/cries/avalugg.aif | Bin 22318 -> 22240 bytes sound/direct_sound_samples/cries/axew.aif | Bin 12058 -> 12032 bytes sound/direct_sound_samples/cries/azelf.aif | Bin 13998 -> 13946 bytes .../direct_sound_samples/cries/azumarill.aif | Bin 8478 -> 8426 bytes sound/direct_sound_samples/cries/azurill.aif | Bin 5238 -> 5186 bytes sound/direct_sound_samples/cries/bagon.aif | Bin 3958 -> 3906 bytes sound/direct_sound_samples/cries/baltoy.aif | Bin 6290 -> 6238 bytes sound/direct_sound_samples/cries/banette.aif | Bin 6358 -> 6306 bytes .../direct_sound_samples/cries/barbaracle.aif | Bin 19392 -> 19310 bytes sound/direct_sound_samples/cries/barboach.aif | Bin 4658 -> 4606 bytes .../cries/basculegion.aif | Bin 18584 -> 18584 bytes sound/direct_sound_samples/cries/basculin.aif | Bin 6098 -> 6072 bytes .../direct_sound_samples/cries/bastiodon.aif | Bin 17530 -> 17478 bytes sound/direct_sound_samples/cries/bayleef.aif | Bin 4438 -> 4386 bytes sound/direct_sound_samples/cries/beartic.aif | Bin 14194 -> 14168 bytes .../direct_sound_samples/cries/beautifly.aif | Bin 4154 -> 4102 bytes sound/direct_sound_samples/cries/beedrill.aif | Bin 9682 -> 9630 bytes .../cries/beedrill_mega.aif | Bin 23342 -> 23342 bytes sound/direct_sound_samples/cries/beheeyem.aif | Bin 18850 -> 18824 bytes sound/direct_sound_samples/cries/beldum.aif | Bin 4854 -> 4802 bytes .../direct_sound_samples/cries/bellossom.aif | Bin 7066 -> 7014 bytes .../direct_sound_samples/cries/bellsprout.aif | Bin 3818 -> 3766 bytes sound/direct_sound_samples/cries/bergmite.aif | Bin 14366 -> 14288 bytes sound/direct_sound_samples/cries/bewear.aif | Bin 15198 -> 15124 bytes sound/direct_sound_samples/cries/bibarel.aif | Bin 14394 -> 14342 bytes sound/direct_sound_samples/cries/bidoof.aif | Bin 10606 -> 10554 bytes sound/direct_sound_samples/cries/binacle.aif | Bin 14784 -> 14706 bytes sound/direct_sound_samples/cries/bisharp.aif | Bin 10764 -> 10738 bytes .../cries/blacephalon.aif | Bin 26408 -> 26322 bytes .../direct_sound_samples/cries/blastoise.aif | Bin 9646 -> 9594 bytes sound/direct_sound_samples/cries/blaziken.aif | Bin 15714 -> 15662 bytes sound/direct_sound_samples/cries/blissey.aif | Bin 8302 -> 8250 bytes sound/direct_sound_samples/cries/blitzle.aif | Bin 8734 -> 8708 bytes sound/direct_sound_samples/cries/boldore.aif | Bin 17968 -> 17942 bytes sound/direct_sound_samples/cries/bonsly.aif | Bin 7194 -> 7142 bytes .../direct_sound_samples/cries/bouffalant.aif | Bin 19664 -> 19638 bytes .../direct_sound_samples/cries/bounsweet.aif | Bin 11438 -> 11356 bytes sound/direct_sound_samples/cries/braixen.aif | Bin 13526 -> 13450 bytes sound/direct_sound_samples/cries/bramblin.aif | Bin 31652 -> 31652 bytes sound/direct_sound_samples/cries/braviary.aif | Bin 13048 -> 13022 bytes sound/direct_sound_samples/cries/breloom.aif | Bin 6402 -> 6350 bytes sound/direct_sound_samples/cries/brionne.aif | Bin 17294 -> 17218 bytes sound/direct_sound_samples/cries/bronzong.aif | Bin 23062 -> 23010 bytes sound/direct_sound_samples/cries/bronzor.aif | Bin 10334 -> 10282 bytes sound/direct_sound_samples/cries/bruxish.aif | Bin 14784 -> 14706 bytes sound/direct_sound_samples/cries/budew.aif | Bin 12506 -> 12454 bytes sound/direct_sound_samples/cries/buizel.aif | Bin 10066 -> 10014 bytes .../direct_sound_samples/cries/bulbasaur.aif | Bin 8290 -> 8238 bytes sound/direct_sound_samples/cries/buneary.aif | Bin 13110 -> 13058 bytes sound/direct_sound_samples/cries/bunnelby.aif | Bin 7248 -> 7170 bytes sound/direct_sound_samples/cries/burmy.aif | Bin 6906 -> 6854 bytes .../direct_sound_samples/cries/butterfree.aif | Bin 5050 -> 4998 bytes sound/direct_sound_samples/cries/buzzwole.aif | Bin 26504 -> 26426 bytes sound/direct_sound_samples/cries/cacnea.aif | Bin 4514 -> 4462 bytes sound/direct_sound_samples/cries/cacturne.aif | Bin 11334 -> 11282 bytes sound/direct_sound_samples/cries/calyrex.aif | Bin 28386 -> 28198 bytes .../cries/calyrex_ice_rider.aif | Bin 29682 -> 29682 bytes .../cries/calyrex_shadow_rider.aif | Bin 30652 -> 30652 bytes sound/direct_sound_samples/cries/camerupt.aif | Bin 11550 -> 11498 bytes sound/direct_sound_samples/cries/capsakid.aif | Bin 11342 -> 11342 bytes sound/direct_sound_samples/cries/carbink.aif | Bin 21482 -> 21404 bytes .../direct_sound_samples/cries/carnivine.aif | Bin 15206 -> 15154 bytes .../direct_sound_samples/cries/carracosta.aif | Bin 16230 -> 16204 bytes sound/direct_sound_samples/cries/carvanha.aif | Bin 5074 -> 5022 bytes sound/direct_sound_samples/cries/cascoon.aif | Bin 8150 -> 8098 bytes sound/direct_sound_samples/cries/castform.aif | Bin 6326 -> 6274 bytes sound/direct_sound_samples/cries/caterpie.aif | Bin 4218 -> 4166 bytes sound/direct_sound_samples/cries/celebi.aif | Bin 7254 -> 7202 bytes .../direct_sound_samples/cries/celesteela.aif | Bin 29004 -> 28922 bytes .../direct_sound_samples/cries/ceruledge.aif | Bin 22792 -> 22792 bytes .../direct_sound_samples/cries/chandelure.aif | Bin 23032 -> 22978 bytes sound/direct_sound_samples/cries/chansey.aif | Bin 7414 -> 7362 bytes .../direct_sound_samples/cries/charizard.aif | Bin 9646 -> 9594 bytes .../cries/charizard_mega_x.aif | Bin 20798 -> 20798 bytes .../cries/charizard_mega_y.aif | Bin 21718 -> 21718 bytes .../direct_sound_samples/cries/charjabug.aif | Bin 15206 -> 15124 bytes .../direct_sound_samples/cries/charmander.aif | Bin 7242 -> 7190 bytes .../direct_sound_samples/cries/charmeleon.aif | Bin 7274 -> 7222 bytes sound/direct_sound_samples/cries/chatot.aif | Bin 10762 -> 10710 bytes sound/direct_sound_samples/cries/cherrim.aif | Bin 10634 -> 10582 bytes sound/direct_sound_samples/cries/cherubi.aif | Bin 6358 -> 6306 bytes .../direct_sound_samples/cries/chesnaught.aif | Bin 20648 -> 20566 bytes sound/direct_sound_samples/cries/chespin.aif | Bin 7666 -> 7590 bytes sound/direct_sound_samples/cries/chi_yu.aif | Bin 28878 -> 28878 bytes .../direct_sound_samples/cries/chien_pao.aif | Bin 28814 -> 28814 bytes .../direct_sound_samples/cries/chikorita.aif | Bin 2678 -> 2626 bytes sound/direct_sound_samples/cries/chimchar.aif | Bin 14862 -> 14810 bytes sound/direct_sound_samples/cries/chimecho.aif | Bin 5066 -> 5014 bytes sound/direct_sound_samples/cries/chinchou.aif | Bin 6370 -> 6318 bytes .../direct_sound_samples/cries/chingling.aif | Bin 17870 -> 17818 bytes sound/direct_sound_samples/cries/cinccino.aif | Bin 18390 -> 18364 bytes sound/direct_sound_samples/cries/clamperl.aif | Bin 9166 -> 9114 bytes .../direct_sound_samples/cries/clauncher.aif | Bin 5996 -> 5914 bytes .../direct_sound_samples/cries/clawitzer.aif | Bin 16880 -> 16798 bytes sound/direct_sound_samples/cries/claydol.aif | Bin 9694 -> 9642 bytes sound/direct_sound_samples/cries/clefable.aif | Bin 5318 -> 5266 bytes sound/direct_sound_samples/cries/clefairy.aif | Bin 4258 -> 4206 bytes sound/direct_sound_samples/cries/cleffa.aif | Bin 3018 -> 2966 bytes .../direct_sound_samples/cries/clobbopus.aif | Bin 15134 -> 15134 bytes sound/direct_sound_samples/cries/clodsire.aif | Bin 17336 -> 17336 bytes sound/direct_sound_samples/cries/cloyster.aif | Bin 10378 -> 10326 bytes sound/direct_sound_samples/cries/cobalion.aif | Bin 17656 -> 17602 bytes .../direct_sound_samples/cries/cofagrigus.aif | Bin 18886 -> 18860 bytes sound/direct_sound_samples/cries/combee.aif | Bin 18306 -> 18254 bytes .../direct_sound_samples/cries/combusken.aif | Bin 14386 -> 14334 bytes sound/direct_sound_samples/cries/comfey.aif | Bin 21896 -> 21822 bytes .../direct_sound_samples/cries/conkeldurr.aif | Bin 18794 -> 18768 bytes sound/direct_sound_samples/cries/corphish.aif | Bin 6034 -> 5982 bytes sound/direct_sound_samples/cries/corsola.aif | Bin 6466 -> 6414 bytes .../cries/corvisquire.aif | Bin 19468 -> 19468 bytes sound/direct_sound_samples/cries/cosmoem.aif | Bin 24412 -> 24334 bytes sound/direct_sound_samples/cries/cosmog.aif | Bin 16872 -> 16798 bytes sound/direct_sound_samples/cries/cottonee.aif | Bin 9330 -> 9272 bytes .../cries/crabominable.aif | Bin 19396 -> 19310 bytes .../direct_sound_samples/cries/crabrawler.aif | Bin 5160 -> 5078 bytes sound/direct_sound_samples/cries/cradily.aif | Bin 14566 -> 14514 bytes sound/direct_sound_samples/cries/cranidos.aif | Bin 9730 -> 9678 bytes .../direct_sound_samples/cries/crawdaunt.aif | Bin 12342 -> 12290 bytes .../direct_sound_samples/cries/cresselia.aif | Bin 22730 -> 22678 bytes sound/direct_sound_samples/cries/croagunk.aif | Bin 15758 -> 15706 bytes sound/direct_sound_samples/cries/crobat.aif | Bin 11586 -> 11534 bytes sound/direct_sound_samples/cries/crocalor.aif | Bin 14244 -> 14244 bytes sound/direct_sound_samples/cries/croconaw.aif | Bin 10122 -> 10070 bytes sound/direct_sound_samples/cries/crustle.aif | Bin 16916 -> 16890 bytes .../direct_sound_samples/cries/cryogonal.aif | Bin 19354 -> 19328 bytes sound/direct_sound_samples/cries/cubchoo.aif | Bin 7918 -> 7892 bytes sound/direct_sound_samples/cries/cubone.aif | Bin 7582 -> 7530 bytes sound/direct_sound_samples/cries/cutiefly.aif | Bin 12690 -> 12612 bytes sound/direct_sound_samples/cries/cyclizar.aif | Bin 28750 -> 28750 bytes .../direct_sound_samples/cries/cyndaquil.aif | Bin 3554 -> 3502 bytes sound/direct_sound_samples/cries/dachsbun.aif | Bin 14612 -> 14612 bytes sound/direct_sound_samples/cries/darkrai.aif | Bin 17454 -> 17402 bytes .../direct_sound_samples/cries/darmanitan.aif | Bin 17862 -> 17836 bytes sound/direct_sound_samples/cries/dartrix.aif | Bin 18968 -> 18892 bytes sound/direct_sound_samples/cries/darumaka.aif | Bin 18460 -> 18434 bytes .../direct_sound_samples/cries/decidueye.aif | Bin 26506 -> 26426 bytes sound/direct_sound_samples/cries/dedenne.aif | Bin 8924 -> 8846 bytes sound/direct_sound_samples/cries/deerling.aif | Bin 9774 -> 9748 bytes sound/direct_sound_samples/cries/deino.aif | Bin 19200 -> 19174 bytes sound/direct_sound_samples/cries/delcatty.aif | Bin 10542 -> 10490 bytes sound/direct_sound_samples/cries/delibird.aif | Bin 8118 -> 8066 bytes sound/direct_sound_samples/cries/delphox.aif | Bin 23154 -> 23078 bytes sound/direct_sound_samples/cries/deoxys.aif | Bin 10414 -> 10362 bytes sound/direct_sound_samples/cries/dewgong.aif | Bin 10570 -> 10518 bytes sound/direct_sound_samples/cries/dewott.aif | Bin 7742 -> 7716 bytes sound/direct_sound_samples/cries/dewpider.aif | Bin 6412 -> 6334 bytes sound/direct_sound_samples/cries/dhelmise.aif | Bin 23992 -> 23914 bytes sound/direct_sound_samples/cries/dialga.aif | Bin 21690 -> 21638 bytes sound/direct_sound_samples/cries/diancie.aif | Bin 25668 -> 25590 bytes .../direct_sound_samples/cries/diggersby.aif | Bin 19810 -> 19728 bytes sound/direct_sound_samples/cries/diglett.aif | Bin 9722 -> 9670 bytes sound/direct_sound_samples/cries/dipplin.aif | Bin 15450 -> 15450 bytes sound/direct_sound_samples/cries/ditto.aif | Bin 5590 -> 5538 bytes sound/direct_sound_samples/cries/dodrio.aif | Bin 9738 -> 9686 bytes sound/direct_sound_samples/cries/doduo.aif | Bin 9642 -> 9590 bytes sound/direct_sound_samples/cries/donphan.aif | Bin 8578 -> 8526 bytes sound/direct_sound_samples/cries/doublade.aif | Bin 12690 -> 12612 bytes sound/direct_sound_samples/cries/dragalge.aif | Bin 26504 -> 26426 bytes .../direct_sound_samples/cries/dragonair.aif | Bin 8342 -> 8290 bytes .../direct_sound_samples/cries/dragonite.aif | Bin 9526 -> 9474 bytes sound/direct_sound_samples/cries/drakloak.aif | Bin 20164 -> 20164 bytes sound/direct_sound_samples/cries/drampa.aif | Bin 22734 -> 22660 bytes sound/direct_sound_samples/cries/drapion.aif | Bin 11610 -> 11558 bytes sound/direct_sound_samples/cries/dratini.aif | Bin 5838 -> 5786 bytes sound/direct_sound_samples/cries/dreepy.aif | Bin 19522 -> 19522 bytes sound/direct_sound_samples/cries/drifblim.aif | Bin 19214 -> 19162 bytes sound/direct_sound_samples/cries/drifloon.aif | Bin 12978 -> 12926 bytes sound/direct_sound_samples/cries/drilbur.aif | Bin 14062 -> 14036 bytes sound/direct_sound_samples/cries/drowzee.aif | Bin 14518 -> 14466 bytes .../direct_sound_samples/cries/druddigon.aif | Bin 19220 -> 19194 bytes sound/direct_sound_samples/cries/ducklett.aif | Bin 3832 -> 3806 bytes .../cries/dudunsparce.aif | Bin 25562 -> 25562 bytes sound/direct_sound_samples/cries/dugtrio.aif | Bin 9710 -> 9658 bytes .../direct_sound_samples/cries/dunsparce.aif | Bin 7950 -> 7898 bytes sound/direct_sound_samples/cries/duosion.aif | Bin 10804 -> 10778 bytes sound/direct_sound_samples/cries/durant.aif | Bin 12682 -> 12656 bytes sound/direct_sound_samples/cries/dusclops.aif | Bin 6882 -> 6830 bytes sound/direct_sound_samples/cries/dusknoir.aif | Bin 22822 -> 22770 bytes sound/direct_sound_samples/cries/duskull.aif | Bin 5334 -> 5282 bytes sound/direct_sound_samples/cries/dustox.aif | Bin 6362 -> 6310 bytes sound/direct_sound_samples/cries/dwebble.aif | Bin 24024 -> 23990 bytes .../direct_sound_samples/cries/eelektrik.aif | Bin 13366 -> 13340 bytes .../direct_sound_samples/cries/eelektross.aif | Bin 18394 -> 18368 bytes sound/direct_sound_samples/cries/eevee.aif | Bin 7130 -> 7078 bytes sound/direct_sound_samples/cries/ekans.aif | Bin 9650 -> 9598 bytes sound/direct_sound_samples/cries/eldegoss.aif | Bin 24860 -> 24860 bytes .../direct_sound_samples/cries/electabuzz.aif | Bin 15406 -> 15354 bytes .../direct_sound_samples/cries/electivire.aif | Bin 23298 -> 23246 bytes .../direct_sound_samples/cries/electrike.aif | Bin 6210 -> 6158 bytes .../direct_sound_samples/cries/electrode.aif | Bin 12590 -> 12538 bytes sound/direct_sound_samples/cries/elekid.aif | Bin 5310 -> 5258 bytes sound/direct_sound_samples/cries/elgyem.aif | Bin 10922 -> 10864 bytes sound/direct_sound_samples/cries/emboar.aif | Bin 14456 -> 14430 bytes sound/direct_sound_samples/cries/emolga.aif | Bin 5052 -> 5026 bytes sound/direct_sound_samples/cries/empoleon.aif | Bin 23106 -> 23054 bytes sound/direct_sound_samples/cries/entei.aif | Bin 10222 -> 10170 bytes .../direct_sound_samples/cries/escavalier.aif | Bin 14192 -> 14166 bytes sound/direct_sound_samples/cries/espeon.aif | Bin 9854 -> 9802 bytes sound/direct_sound_samples/cries/espurr.aif | Bin 4734 -> 4660 bytes .../direct_sound_samples/cries/eternatus.aif | Bin 35430 -> 35430 bytes .../direct_sound_samples/cries/excadrill.aif | Bin 19510 -> 19484 bytes .../direct_sound_samples/cries/exeggcute.aif | Bin 9442 -> 9390 bytes .../direct_sound_samples/cries/exeggutor.aif | Bin 15906 -> 15854 bytes sound/direct_sound_samples/cries/exploud.aif | Bin 14110 -> 14058 bytes .../direct_sound_samples/cries/farfetchd.aif | Bin 3790 -> 3738 bytes .../direct_sound_samples/cries/farigiraf.aif | Bin 18612 -> 18612 bytes sound/direct_sound_samples/cries/fearow.aif | Bin 8626 -> 8574 bytes sound/direct_sound_samples/cries/feebas.aif | Bin 3958 -> 3906 bytes sound/direct_sound_samples/cries/fennekin.aif | Bin 11434 -> 11356 bytes .../direct_sound_samples/cries/feraligatr.aif | Bin 12738 -> 12686 bytes .../direct_sound_samples/cries/ferroseed.aif | Bin 8942 -> 8916 bytes .../direct_sound_samples/cries/ferrothorn.aif | Bin 11694 -> 11668 bytes sound/direct_sound_samples/cries/fidough.aif | Bin 11472 -> 11472 bytes sound/direct_sound_samples/cries/finneon.aif | Bin 17946 -> 17894 bytes sound/direct_sound_samples/cries/flaaffy.aif | Bin 6878 -> 6826 bytes sound/direct_sound_samples/cries/flabebe.aif | Bin 13960 -> 13868 bytes sound/direct_sound_samples/cries/flamigo.aif | Bin 15168 -> 15168 bytes sound/direct_sound_samples/cries/flareon.aif | Bin 7774 -> 7722 bytes .../cries/fletchinder.aif | Bin 11442 -> 11356 bytes .../direct_sound_samples/cries/fletchling.aif | Bin 10184 -> 10102 bytes sound/direct_sound_samples/cries/floatzel.aif | Bin 16966 -> 16914 bytes sound/direct_sound_samples/cries/floette.aif | Bin 19388 -> 19310 bytes .../cries/floette_eternal_flower.aif | Bin 18990 -> 18892 bytes sound/direct_sound_samples/cries/florges.aif | Bin 22318 -> 22240 bytes sound/direct_sound_samples/cries/flygon.aif | Bin 12998 -> 12946 bytes sound/direct_sound_samples/cries/fomantis.aif | Bin 10180 -> 10102 bytes sound/direct_sound_samples/cries/foongus.aif | Bin 7608 -> 7550 bytes .../direct_sound_samples/cries/forretress.aif | Bin 10014 -> 9962 bytes sound/direct_sound_samples/cries/fraxure.aif | Bin 19364 -> 19338 bytes sound/direct_sound_samples/cries/frigibax.aif | Bin 8332 -> 8332 bytes sound/direct_sound_samples/cries/frillish.aif | Bin 15272 -> 15246 bytes sound/direct_sound_samples/cries/froakie.aif | Bin 9758 -> 9682 bytes .../direct_sound_samples/cries/frogadier.aif | Bin 12692 -> 12612 bytes sound/direct_sound_samples/cries/froslass.aif | Bin 23486 -> 23434 bytes sound/direct_sound_samples/cries/fuecoco.aif | Bin 7480 -> 7480 bytes sound/direct_sound_samples/cries/furfrou.aif | Bin 7668 -> 7590 bytes sound/direct_sound_samples/cries/furret.aif | Bin 3194 -> 3142 bytes sound/direct_sound_samples/cries/gabite.aif | Bin 7186 -> 7134 bytes sound/direct_sound_samples/cries/gallade.aif | Bin 19774 -> 19722 bytes .../cries/gallade_mega.aif | Bin 27612 -> 27612 bytes .../direct_sound_samples/cries/galvantula.aif | Bin 13312 -> 13286 bytes sound/direct_sound_samples/cries/garbodor.aif | Bin 19224 -> 19198 bytes sound/direct_sound_samples/cries/garchomp.aif | Bin 12578 -> 12526 bytes .../direct_sound_samples/cries/gardevoir.aif | Bin 12178 -> 12126 bytes sound/direct_sound_samples/cries/gastly.aif | Bin 11646 -> 11594 bytes .../direct_sound_samples/cries/gastrodon.aif | Bin 18450 -> 18398 bytes sound/direct_sound_samples/cries/genesect.aif | Bin 13888 -> 13862 bytes sound/direct_sound_samples/cries/gengar.aif | Bin 7398 -> 7346 bytes sound/direct_sound_samples/cries/geodude.aif | Bin 11842 -> 11790 bytes sound/direct_sound_samples/cries/gible.aif | Bin 5082 -> 5030 bytes sound/direct_sound_samples/cries/gigalith.aif | Bin 19316 -> 19290 bytes .../direct_sound_samples/cries/gimmighoul.aif | Bin 26028 -> 26028 bytes .../direct_sound_samples/cries/girafarig.aif | Bin 7370 -> 7318 bytes sound/direct_sound_samples/cries/giratina.aif | Bin 21086 -> 21034 bytes sound/direct_sound_samples/cries/glaceon.aif | Bin 22782 -> 22730 bytes sound/direct_sound_samples/cries/glalie.aif | Bin 10446 -> 10394 bytes .../cries/glalie_mega.aif | Bin 24248 -> 24248 bytes sound/direct_sound_samples/cries/glameow.aif | Bin 6626 -> 6574 bytes .../direct_sound_samples/cries/glastrier.aif | Bin 30264 -> 30264 bytes sound/direct_sound_samples/cries/gligar.aif | Bin 6094 -> 6042 bytes sound/direct_sound_samples/cries/glimmet.aif | Bin 23012 -> 23012 bytes sound/direct_sound_samples/cries/gliscor.aif | Bin 15122 -> 15070 bytes sound/direct_sound_samples/cries/gloom.aif | Bin 6270 -> 6218 bytes sound/direct_sound_samples/cries/gogoat.aif | Bin 18966 -> 18892 bytes sound/direct_sound_samples/cries/golbat.aif | Bin 9698 -> 9646 bytes sound/direct_sound_samples/cries/goldeen.aif | Bin 4962 -> 4910 bytes sound/direct_sound_samples/cries/golduck.aif | Bin 5670 -> 5618 bytes sound/direct_sound_samples/cries/golem.aif | Bin 7106 -> 7054 bytes sound/direct_sound_samples/cries/golett.aif | Bin 10846 -> 10820 bytes .../direct_sound_samples/cries/golisopod.aif | Bin 20648 -> 20566 bytes sound/direct_sound_samples/cries/golurk.aif | Bin 18540 -> 18514 bytes sound/direct_sound_samples/cries/goodra.aif | Bin 16036 -> 15962 bytes sound/direct_sound_samples/cries/goomy.aif | Bin 13524 -> 13450 bytes sound/direct_sound_samples/cries/gorebyss.aif | Bin 11202 -> 11150 bytes sound/direct_sound_samples/cries/gothita.aif | Bin 5974 -> 5948 bytes .../direct_sound_samples/cries/gothitelle.aif | Bin 23332 -> 23278 bytes .../direct_sound_samples/cries/gothorita.aif | Bin 13612 -> 13586 bytes .../direct_sound_samples/cries/gourgeist.aif | Bin 26508 -> 26426 bytes .../cries/gourgeist_super.aif | Bin 26524 -> 26426 bytes sound/direct_sound_samples/cries/granbull.aif | Bin 11806 -> 11754 bytes sound/direct_sound_samples/cries/graveler.aif | Bin 13926 -> 13874 bytes sound/direct_sound_samples/cries/greninja.aif | Bin 16040 -> 15962 bytes sound/direct_sound_samples/cries/grimer.aif | Bin 5298 -> 5246 bytes sound/direct_sound_samples/cries/grotle.aif | Bin 9442 -> 9390 bytes sound/direct_sound_samples/cries/groudon.aif | Bin 18462 -> 18410 bytes .../cries/groudon_primal.aif | Bin 33164 -> 33164 bytes sound/direct_sound_samples/cries/grovyle.aif | Bin 10222 -> 10170 bytes .../direct_sound_samples/cries/growlithe.aif | Bin 6722 -> 6670 bytes sound/direct_sound_samples/cries/grubbin.aif | Bin 10598 -> 10520 bytes sound/direct_sound_samples/cries/grumpig.aif | Bin 6342 -> 6290 bytes sound/direct_sound_samples/cries/gulpin.aif | Bin 4054 -> 4002 bytes sound/direct_sound_samples/cries/gumshoos.aif | Bin 24830 -> 24752 bytes sound/direct_sound_samples/cries/gurdurr.aif | Bin 18888 -> 18862 bytes sound/direct_sound_samples/cries/guzzlord.aif | Bin 30468 -> 30390 bytes sound/direct_sound_samples/cries/gyarados.aif | Bin 10102 -> 10050 bytes .../cries/gyarados_mega.aif | Bin 22972 -> 22972 bytes sound/direct_sound_samples/cries/hakamo_o.aif | Bin 19806 -> 19728 bytes sound/direct_sound_samples/cries/happiny.aif | Bin 6942 -> 6890 bytes sound/direct_sound_samples/cries/hariyama.aif | Bin 8374 -> 8322 bytes sound/direct_sound_samples/cries/hattrem.aif | Bin 20004 -> 20004 bytes sound/direct_sound_samples/cries/haunter.aif | Bin 11738 -> 11686 bytes sound/direct_sound_samples/cries/hawlucha.aif | Bin 13946 -> 13868 bytes sound/direct_sound_samples/cries/haxorus.aif | Bin 19508 -> 19482 bytes sound/direct_sound_samples/cries/heatmor.aif | Bin 19320 -> 19294 bytes sound/direct_sound_samples/cries/heatran.aif | Bin 23410 -> 23358 bytes .../direct_sound_samples/cries/heliolisk.aif | Bin 19392 -> 19310 bytes .../direct_sound_samples/cries/helioptile.aif | Bin 14370 -> 14288 bytes .../direct_sound_samples/cries/heracross.aif | Bin 9170 -> 9118 bytes .../cries/heracross_mega.aif | Bin 23472 -> 23472 bytes sound/direct_sound_samples/cries/herdier.aif | Bin 9844 -> 9818 bytes .../direct_sound_samples/cries/hippopotas.aif | Bin 17742 -> 17690 bytes .../direct_sound_samples/cries/hippowdon.aif | Bin 23110 -> 23058 bytes .../direct_sound_samples/cries/hitmonchan.aif | Bin 8930 -> 8878 bytes .../direct_sound_samples/cries/hitmonlee.aif | Bin 9342 -> 9290 bytes .../direct_sound_samples/cries/hitmontop.aif | Bin 6962 -> 6910 bytes sound/direct_sound_samples/cries/ho_oh.aif | Bin 11286 -> 11234 bytes .../direct_sound_samples/cries/honchkrow.aif | Bin 17278 -> 17226 bytes sound/direct_sound_samples/cries/honedge.aif | Bin 12690 -> 12612 bytes .../cries/hoopa_confined.aif | Bin 16872 -> 16798 bytes .../cries/hoopa_unbound.aif | Bin 18158 -> 18158 bytes sound/direct_sound_samples/cries/hoothoot.aif | Bin 5482 -> 5430 bytes sound/direct_sound_samples/cries/hoppip.aif | Bin 4250 -> 4198 bytes sound/direct_sound_samples/cries/horsea.aif | Bin 4778 -> 4726 bytes sound/direct_sound_samples/cries/houndoom.aif | Bin 9846 -> 9794 bytes .../cries/houndoom_mega.aif | Bin 24636 -> 24636 bytes sound/direct_sound_samples/cries/houndour.aif | Bin 6358 -> 6306 bytes .../direct_sound_samples/cries/houndstone.aif | Bin 24988 -> 24988 bytes sound/direct_sound_samples/cries/huntail.aif | Bin 7970 -> 7918 bytes .../direct_sound_samples/cries/hydrapple.aif | Bin 25476 -> 25476 bytes .../direct_sound_samples/cries/hydreigon.aif | Bin 23140 -> 23086 bytes sound/direct_sound_samples/cries/hypno.aif | Bin 14474 -> 14422 bytes .../direct_sound_samples/cries/igglybuff.aif | Bin 3542 -> 3490 bytes sound/direct_sound_samples/cries/illumise.aif | Bin 8562 -> 8510 bytes .../direct_sound_samples/cries/incineroar.aif | Bin 23996 -> 23914 bytes .../cries/indeedee_female.aif | Bin 14170 -> 14170 bytes .../direct_sound_samples/cries/infernape.aif | Bin 22106 -> 22054 bytes sound/direct_sound_samples/cries/inkay.aif | Bin 4314 -> 4240 bytes sound/direct_sound_samples/cries/inteleon.aif | Bin 11642 -> 11642 bytes .../cries/iron_boulder.aif | Bin 25938 -> 25938 bytes .../cries/iron_bundle.aif | Bin 29508 -> 29508 bytes .../direct_sound_samples/cries/iron_crown.aif | Bin 25938 -> 25938 bytes .../direct_sound_samples/cries/iron_hands.aif | Bin 28958 -> 28958 bytes .../cries/iron_thorns.aif | Bin 28942 -> 28942 bytes sound/direct_sound_samples/cries/ivysaur.aif | Bin 8294 -> 8242 bytes sound/direct_sound_samples/cries/jangmo_o.aif | Bin 4318 -> 4240 bytes .../direct_sound_samples/cries/jellicent.aif | Bin 13402 -> 13376 bytes .../direct_sound_samples/cries/jigglypuff.aif | Bin 2746 -> 2694 bytes sound/direct_sound_samples/cries/jirachi.aif | Bin 6782 -> 6730 bytes sound/direct_sound_samples/cries/jolteon.aif | Bin 7930 -> 7878 bytes sound/direct_sound_samples/cries/joltik.aif | Bin 7104 -> 7078 bytes sound/direct_sound_samples/cries/jumpluff.aif | Bin 8130 -> 8078 bytes sound/direct_sound_samples/cries/jynx.aif | Bin 23630 -> 23578 bytes sound/direct_sound_samples/cries/kabuto.aif | Bin 6194 -> 6142 bytes sound/direct_sound_samples/cries/kabutops.aif | Bin 6890 -> 6838 bytes sound/direct_sound_samples/cries/kadabra.aif | Bin 13434 -> 13382 bytes sound/direct_sound_samples/cries/kakuna.aif | Bin 9130 -> 9078 bytes .../direct_sound_samples/cries/kangaskhan.aif | Bin 9358 -> 9306 bytes .../cries/kangaskhan_mega.aif | Bin 22136 -> 22136 bytes .../direct_sound_samples/cries/karrablast.aif | Bin 11058 -> 11032 bytes sound/direct_sound_samples/cries/kartana.aif | Bin 26504 -> 26426 bytes sound/direct_sound_samples/cries/kecleon.aif | Bin 4226 -> 4174 bytes sound/direct_sound_samples/cries/keldeo.aif | Bin 13144 -> 13086 bytes sound/direct_sound_samples/cries/kingdra.aif | Bin 6946 -> 6894 bytes sound/direct_sound_samples/cries/kingler.aif | Bin 12158 -> 12106 bytes sound/direct_sound_samples/cries/kirlia.aif | Bin 6126 -> 6074 bytes sound/direct_sound_samples/cries/klang.aif | Bin 10914 -> 10888 bytes sound/direct_sound_samples/cries/kleavor.aif | Bin 10444 -> 10444 bytes sound/direct_sound_samples/cries/klink.aif | Bin 10444 -> 10418 bytes .../direct_sound_samples/cries/klinklang.aif | Bin 21736 -> 21682 bytes sound/direct_sound_samples/cries/koffing.aif | Bin 10178 -> 10126 bytes sound/direct_sound_samples/cries/komala.aif | Bin 14362 -> 14288 bytes sound/direct_sound_samples/cries/kommo_o.aif | Bin 26504 -> 26426 bytes sound/direct_sound_samples/cries/krabby.aif | Bin 12138 -> 12086 bytes .../direct_sound_samples/cries/kricketot.aif | Bin 13778 -> 13726 bytes .../direct_sound_samples/cries/kricketune.aif | Bin 22186 -> 22134 bytes sound/direct_sound_samples/cries/krokorok.aif | Bin 15384 -> 15358 bytes .../direct_sound_samples/cries/krookodile.aif | Bin 18702 -> 18676 bytes sound/direct_sound_samples/cries/kyogre.aif | Bin 17806 -> 17754 bytes .../cries/kyogre_primal.aif | Bin 33164 -> 33164 bytes sound/direct_sound_samples/cries/kyurem.aif | Bin 18324 -> 18298 bytes .../cries/kyurem_black.aif | Bin 21688 -> 21630 bytes .../cries/kyurem_white.aif | Bin 21028 -> 20970 bytes sound/direct_sound_samples/cries/lairon.aif | Bin 10418 -> 10366 bytes sound/direct_sound_samples/cries/lampent.aif | Bin 19430 -> 19404 bytes .../cries/landorus_incarnate.aif | Bin 19410 -> 19384 bytes .../cries/landorus_therian.aif | Bin 13208 -> 13180 bytes sound/direct_sound_samples/cries/lanturn.aif | Bin 5306 -> 5254 bytes sound/direct_sound_samples/cries/lapras.aif | Bin 7434 -> 7382 bytes sound/direct_sound_samples/cries/larvesta.aif | Bin 12704 -> 12678 bytes sound/direct_sound_samples/cries/larvitar.aif | Bin 6374 -> 6322 bytes sound/direct_sound_samples/cries/latias.aif | Bin 6122 -> 6070 bytes sound/direct_sound_samples/cries/latios.aif | Bin 10982 -> 10930 bytes sound/direct_sound_samples/cries/leafeon.aif | Bin 13410 -> 13358 bytes sound/direct_sound_samples/cries/leavanny.aif | Bin 13750 -> 13724 bytes sound/direct_sound_samples/cries/ledian.aif | Bin 4238 -> 4186 bytes sound/direct_sound_samples/cries/ledyba.aif | Bin 3530 -> 3478 bytes .../direct_sound_samples/cries/lickilicky.aif | Bin 18434 -> 18382 bytes .../direct_sound_samples/cries/lickitung.aif | Bin 7594 -> 7542 bytes sound/direct_sound_samples/cries/liepard.aif | Bin 9328 -> 9302 bytes sound/direct_sound_samples/cries/lileep.aif | Bin 4862 -> 4810 bytes .../direct_sound_samples/cries/lilligant.aif | Bin 13516 -> 13490 bytes sound/direct_sound_samples/cries/lillipup.aif | Bin 11676 -> 11650 bytes sound/direct_sound_samples/cries/linoone.aif | Bin 15274 -> 15222 bytes sound/direct_sound_samples/cries/litleo.aif | Bin 17292 -> 17218 bytes sound/direct_sound_samples/cries/litten.aif | Bin 13524 -> 13450 bytes sound/direct_sound_samples/cries/litwick.aif | Bin 11148 -> 11122 bytes sound/direct_sound_samples/cries/lokix.aif | Bin 13050 -> 13050 bytes sound/direct_sound_samples/cries/lombre.aif | Bin 7306 -> 7254 bytes sound/direct_sound_samples/cries/lopunny.aif | Bin 21994 -> 21942 bytes .../cries/lopunny_mega.aif | Bin 30458 -> 30458 bytes sound/direct_sound_samples/cries/lotad.aif | Bin 2258 -> 2206 bytes sound/direct_sound_samples/cries/loudred.aif | Bin 6606 -> 6554 bytes sound/direct_sound_samples/cries/lucario.aif | Bin 8534 -> 8482 bytes sound/direct_sound_samples/cries/ludicolo.aif | Bin 8422 -> 8370 bytes sound/direct_sound_samples/cries/lugia.aif | Bin 18926 -> 18874 bytes sound/direct_sound_samples/cries/lumineon.aif | Bin 23098 -> 23046 bytes sound/direct_sound_samples/cries/lunala.aif | Bin 23990 -> 23916 bytes sound/direct_sound_samples/cries/lunatone.aif | Bin 11982 -> 11930 bytes sound/direct_sound_samples/cries/lurantis.aif | Bin 14366 -> 14288 bytes sound/direct_sound_samples/cries/luvdisc.aif | Bin 2482 -> 2430 bytes sound/direct_sound_samples/cries/luxio.aif | Bin 22870 -> 22818 bytes sound/direct_sound_samples/cries/luxray.aif | Bin 20826 -> 20774 bytes .../cries/lycanroc_midday.aif | Bin 13966 -> 13868 bytes .../cries/lycanroc_midnight.aif | Bin 21966 -> 21966 bytes .../direct_sound_samples/cries/mabosstiff.aif | Bin 28910 -> 28910 bytes sound/direct_sound_samples/cries/machamp.aif | Bin 8282 -> 8230 bytes sound/direct_sound_samples/cries/machoke.aif | Bin 6806 -> 6754 bytes sound/direct_sound_samples/cries/machop.aif | Bin 6722 -> 6670 bytes sound/direct_sound_samples/cries/magby.aif | Bin 7242 -> 7190 bytes sound/direct_sound_samples/cries/magcargo.aif | Bin 10510 -> 10458 bytes sound/direct_sound_samples/cries/magearna.aif | Bin 18970 -> 18892 bytes sound/direct_sound_samples/cries/magikarp.aif | Bin 9518 -> 9466 bytes sound/direct_sound_samples/cries/magmar.aif | Bin 7762 -> 7710 bytes .../direct_sound_samples/cries/magmortar.aif | Bin 17322 -> 17270 bytes .../direct_sound_samples/cries/magnemite.aif | Bin 9634 -> 9582 bytes sound/direct_sound_samples/cries/magneton.aif | Bin 11938 -> 11886 bytes .../direct_sound_samples/cries/magnezone.aif | Bin 22478 -> 22426 bytes sound/direct_sound_samples/cries/makuhita.aif | Bin 3730 -> 3678 bytes sound/direct_sound_samples/cries/malamar.aif | Bin 20226 -> 20148 bytes .../direct_sound_samples/cries/mamoswine.aif | Bin 22118 -> 22066 bytes sound/direct_sound_samples/cries/manaphy.aif | Bin 19066 -> 19014 bytes .../direct_sound_samples/cries/mandibuzz.aif | Bin 19490 -> 19464 bytes .../direct_sound_samples/cries/manectric.aif | Bin 10518 -> 10466 bytes .../cries/manectric_mega.aif | Bin 25930 -> 25930 bytes sound/direct_sound_samples/cries/mankey.aif | Bin 8202 -> 8150 bytes sound/direct_sound_samples/cries/mantine.aif | Bin 7910 -> 7858 bytes sound/direct_sound_samples/cries/mantyke.aif | Bin 6414 -> 6362 bytes sound/direct_sound_samples/cries/maractus.aif | Bin 12760 -> 12734 bytes sound/direct_sound_samples/cries/mareanie.aif | Bin 15620 -> 15542 bytes sound/direct_sound_samples/cries/mareep.aif | Bin 3718 -> 3666 bytes sound/direct_sound_samples/cries/marill.aif | Bin 6562 -> 6510 bytes sound/direct_sound_samples/cries/marowak.aif | Bin 7242 -> 7190 bytes .../direct_sound_samples/cries/marshadow.aif | Bin 22742 -> 22660 bytes .../direct_sound_samples/cries/marshtomp.aif | Bin 8522 -> 8470 bytes .../direct_sound_samples/cries/masquerain.aif | Bin 9854 -> 9802 bytes .../cries/maushold_family_of_three.aif | Bin 18322 -> 18322 bytes sound/direct_sound_samples/cries/mawile.aif | Bin 5782 -> 5730 bytes sound/direct_sound_samples/cries/medicham.aif | Bin 8270 -> 8218 bytes .../cries/medicham_mega.aif | Bin 21402 -> 21402 bytes sound/direct_sound_samples/cries/meditite.aif | Bin 4102 -> 4050 bytes sound/direct_sound_samples/cries/meganium.aif | Bin 8126 -> 8074 bytes sound/direct_sound_samples/cries/melmetal.aif | Bin 18686 -> 18686 bytes sound/direct_sound_samples/cries/meloetta.aif | Bin 19126 -> 19100 bytes sound/direct_sound_samples/cries/meltan.aif | Bin 11720 -> 11720 bytes sound/direct_sound_samples/cries/meowstic.aif | Bin 6412 -> 6334 bytes sound/direct_sound_samples/cries/meowth.aif | Bin 4822 -> 4770 bytes sound/direct_sound_samples/cries/mesprit.aif | Bin 18570 -> 18518 bytes .../direct_sound_samples/cries/metagross.aif | Bin 19670 -> 19618 bytes .../cries/metagross_mega.aif | Bin 33174 -> 33174 bytes sound/direct_sound_samples/cries/metang.aif | Bin 9422 -> 9370 bytes sound/direct_sound_samples/cries/metapod.aif | Bin 11646 -> 11594 bytes sound/direct_sound_samples/cries/mew.aif | Bin 15170 -> 15118 bytes sound/direct_sound_samples/cries/mewtwo.aif | Bin 15170 -> 15118 bytes sound/direct_sound_samples/cries/mienfoo.aif | Bin 19414 -> 19388 bytes sound/direct_sound_samples/cries/mienshao.aif | Bin 13452 -> 13426 bytes .../direct_sound_samples/cries/mightyena.aif | Bin 9774 -> 9722 bytes sound/direct_sound_samples/cries/milotic.aif | Bin 19566 -> 19514 bytes sound/direct_sound_samples/cries/miltank.aif | Bin 7450 -> 7398 bytes sound/direct_sound_samples/cries/mime_jr.aif | Bin 9062 -> 9010 bytes sound/direct_sound_samples/cries/mimikyu.aif | Bin 15202 -> 15124 bytes sound/direct_sound_samples/cries/minccino.aif | Bin 11730 -> 11704 bytes sound/direct_sound_samples/cries/minior.aif | Bin 18548 -> 18474 bytes sound/direct_sound_samples/cries/minun.aif | Bin 8030 -> 7978 bytes .../direct_sound_samples/cries/misdreavus.aif | Bin 5842 -> 5790 bytes .../direct_sound_samples/cries/mismagius.aif | Bin 18138 -> 18086 bytes sound/direct_sound_samples/cries/moltres.aif | Bin 11822 -> 11770 bytes sound/direct_sound_samples/cries/monferno.aif | Bin 19062 -> 19010 bytes sound/direct_sound_samples/cries/morelull.aif | Bin 17714 -> 17636 bytes sound/direct_sound_samples/cries/mothim.aif | Bin 9938 -> 9886 bytes sound/direct_sound_samples/cries/mr_mime.aif | Bin 9470 -> 9418 bytes sound/direct_sound_samples/cries/mudbray.aif | Bin 13946 -> 13868 bytes sound/direct_sound_samples/cries/mudkip.aif | Bin 3802 -> 3750 bytes sound/direct_sound_samples/cries/mudsdale.aif | Bin 17714 -> 17636 bytes sound/direct_sound_samples/cries/muk.aif | Bin 7398 -> 7346 bytes sound/direct_sound_samples/cries/munchlax.aif | Bin 5786 -> 5734 bytes sound/direct_sound_samples/cries/munna.aif | Bin 14240 -> 14214 bytes sound/direct_sound_samples/cries/murkrow.aif | Bin 8394 -> 8342 bytes sound/direct_sound_samples/cries/musharna.aif | Bin 23176 -> 23122 bytes .../direct_sound_samples/cries/naclstack.aif | Bin 31046 -> 31046 bytes .../direct_sound_samples/cries/naganadel.aif | Bin 27762 -> 27680 bytes sound/direct_sound_samples/cries/natu.aif | Bin 5318 -> 5266 bytes sound/direct_sound_samples/cries/necrozma.aif | Bin 26504 -> 26426 bytes .../cries/necrozma_dawn_wings.aif | Bin 26392 -> 26298 bytes .../cries/necrozma_dusk_mane.aif | Bin 27232 -> 27138 bytes .../cries/necrozma_ultra.aif | Bin 26572 -> 26478 bytes sound/direct_sound_samples/cries/nidoking.aif | Bin 12202 -> 12150 bytes .../direct_sound_samples/cries/nidoqueen.aif | Bin 8450 -> 8398 bytes .../direct_sound_samples/cries/nidoran_f.aif | Bin 4882 -> 4830 bytes .../direct_sound_samples/cries/nidoran_m.aif | Bin 5242 -> 5190 bytes sound/direct_sound_samples/cries/nidorina.aif | Bin 6418 -> 6366 bytes sound/direct_sound_samples/cries/nidorino.aif | Bin 6066 -> 6014 bytes sound/direct_sound_samples/cries/nihilego.aif | Bin 29490 -> 29412 bytes sound/direct_sound_samples/cries/nincada.aif | Bin 3270 -> 3218 bytes .../direct_sound_samples/cries/ninetales.aif | Bin 12198 -> 12146 bytes sound/direct_sound_samples/cries/ninjask.aif | Bin 6110 -> 6058 bytes sound/direct_sound_samples/cries/noctowl.aif | Bin 10590 -> 10538 bytes sound/direct_sound_samples/cries/noibat.aif | Bin 14480 -> 14466 bytes sound/direct_sound_samples/cries/noivern.aif | Bin 19388 -> 19310 bytes sound/direct_sound_samples/cries/nosepass.aif | Bin 6722 -> 6670 bytes sound/direct_sound_samples/cries/numel.aif | Bin 4690 -> 4638 bytes sound/direct_sound_samples/cries/nuzleaf.aif | Bin 5738 -> 5686 bytes sound/direct_sound_samples/cries/nymble.aif | Bin 7940 -> 7940 bytes .../direct_sound_samples/cries/octillery.aif | Bin 13110 -> 13058 bytes sound/direct_sound_samples/cries/oddish.aif | Bin 7322 -> 7270 bytes sound/direct_sound_samples/cries/ogerpon.aif | Bin 18804 -> 18804 bytes sound/direct_sound_samples/cries/okidogi.aif | Bin 29328 -> 29328 bytes sound/direct_sound_samples/cries/omanyte.aif | Bin 6698 -> 6646 bytes sound/direct_sound_samples/cries/omastar.aif | Bin 6690 -> 6638 bytes sound/direct_sound_samples/cries/onix.aif | Bin 12366 -> 12314 bytes sound/direct_sound_samples/cries/oranguru.aif | Bin 21900 -> 21822 bytes sound/direct_sound_samples/cries/orbeetle.aif | Bin 23562 -> 23562 bytes .../cries/oricorio_baile.aif | Bin 18152 -> 18054 bytes .../cries/oricorio_pau.aif | Bin 26520 -> 26426 bytes .../cries/oricorio_sensu.aif | Bin 15222 -> 15124 bytes sound/direct_sound_samples/cries/orthworm.aif | Bin 39144 -> 39144 bytes sound/direct_sound_samples/cries/oshawott.aif | Bin 4496 -> 4470 bytes sound/direct_sound_samples/cries/overqwil.aif | Bin 7750 -> 7750 bytes .../direct_sound_samples/cries/pachirisu.aif | Bin 6350 -> 6298 bytes .../cries/palafin_hero.aif | Bin 12614 -> 12614 bytes .../cries/palafin_zero.aif | Bin 25498 -> 25498 bytes sound/direct_sound_samples/cries/palkia.aif | Bin 22542 -> 22490 bytes .../direct_sound_samples/cries/palossand.aif | Bin 26508 -> 26426 bytes .../direct_sound_samples/cries/palpitoad.aif | Bin 13476 -> 13450 bytes sound/direct_sound_samples/cries/pancham.aif | Bin 10180 -> 10102 bytes sound/direct_sound_samples/cries/pangoro.aif | Bin 13528 -> 13450 bytes sound/direct_sound_samples/cries/panpour.aif | Bin 3986 -> 3960 bytes sound/direct_sound_samples/cries/pansage.aif | Bin 3840 -> 3814 bytes sound/direct_sound_samples/cries/pansear.aif | Bin 3892 -> 3866 bytes sound/direct_sound_samples/cries/paras.aif | Bin 13950 -> 13898 bytes sound/direct_sound_samples/cries/parasect.aif | Bin 15166 -> 15114 bytes .../direct_sound_samples/cries/passimian.aif | Bin 16880 -> 16798 bytes sound/direct_sound_samples/cries/patrat.aif | Bin 7042 -> 7016 bytes sound/direct_sound_samples/cries/pawmot.aif | Bin 28240 -> 28240 bytes sound/direct_sound_samples/cries/pawniard.aif | Bin 5646 -> 5620 bytes sound/direct_sound_samples/cries/pelipper.aif | Bin 5918 -> 5866 bytes sound/direct_sound_samples/cries/persian.aif | Bin 9438 -> 9386 bytes sound/direct_sound_samples/cries/petilil.aif | Bin 4746 -> 4720 bytes sound/direct_sound_samples/cries/phanpy.aif | Bin 5690 -> 5638 bytes sound/direct_sound_samples/cries/phantump.aif | Bin 19806 -> 19728 bytes .../direct_sound_samples/cries/pheromosa.aif | Bin 26508 -> 26426 bytes sound/direct_sound_samples/cries/phione.aif | Bin 14246 -> 14194 bytes sound/direct_sound_samples/cries/pichu.aif | Bin 3710 -> 3658 bytes sound/direct_sound_samples/cries/pidgeot.aif | Bin 8614 -> 8562 bytes .../cries/pidgeot_mega.aif | Bin 22048 -> 22048 bytes .../direct_sound_samples/cries/pidgeotto.aif | Bin 7538 -> 7486 bytes sound/direct_sound_samples/cries/pidgey.aif | Bin 2010 -> 1958 bytes sound/direct_sound_samples/cries/pidove.aif | Bin 6914 -> 6888 bytes sound/direct_sound_samples/cries/pignite.aif | Bin 17480 -> 17454 bytes sound/direct_sound_samples/cries/pikachu.aif | Bin 8342 -> 8290 bytes sound/direct_sound_samples/cries/pikipek.aif | Bin 11854 -> 11776 bytes .../direct_sound_samples/cries/piloswine.aif | Bin 6506 -> 6454 bytes sound/direct_sound_samples/cries/pineco.aif | Bin 6714 -> 6662 bytes sound/direct_sound_samples/cries/pinsir.aif | Bin 6210 -> 6158 bytes .../cries/pinsir_mega.aif | Bin 17202 -> 17202 bytes sound/direct_sound_samples/cries/piplup.aif | Bin 8218 -> 8166 bytes sound/direct_sound_samples/cries/plusle.aif | Bin 4530 -> 4478 bytes sound/direct_sound_samples/cries/poipole.aif | Bin 18468 -> 18390 bytes sound/direct_sound_samples/cries/politoed.aif | Bin 9138 -> 9086 bytes sound/direct_sound_samples/cries/poliwag.aif | Bin 5586 -> 5534 bytes .../direct_sound_samples/cries/poliwhirl.aif | Bin 3378 -> 3326 bytes .../direct_sound_samples/cries/poliwrath.aif | Bin 5606 -> 5554 bytes .../cries/poltchageist.aif | Bin 20962 -> 20962 bytes sound/direct_sound_samples/cries/ponyta.aif | Bin 7550 -> 7498 bytes .../direct_sound_samples/cries/poochyena.aif | Bin 4682 -> 4630 bytes sound/direct_sound_samples/cries/popplio.aif | Bin 9758 -> 9682 bytes sound/direct_sound_samples/cries/porygon.aif | Bin 10026 -> 9974 bytes sound/direct_sound_samples/cries/porygon2.aif | Bin 7878 -> 7826 bytes .../direct_sound_samples/cries/porygon_z.aif | Bin 19254 -> 19202 bytes .../direct_sound_samples/cries/primarina.aif | Bin 20648 -> 20566 bytes sound/direct_sound_samples/cries/primeape.aif | Bin 8110 -> 8058 bytes sound/direct_sound_samples/cries/prinplup.aif | Bin 12282 -> 12230 bytes .../direct_sound_samples/cries/probopass.aif | Bin 22894 -> 22842 bytes sound/direct_sound_samples/cries/psyduck.aif | Bin 6602 -> 6550 bytes .../direct_sound_samples/cries/pumpkaboo.aif | Bin 10602 -> 10520 bytes .../cries/pumpkaboo_super.aif | Bin 11874 -> 11776 bytes sound/direct_sound_samples/cries/pupitar.aif | Bin 4258 -> 4206 bytes sound/direct_sound_samples/cries/purrloin.aif | Bin 7410 -> 7384 bytes sound/direct_sound_samples/cries/purugly.aif | Bin 11882 -> 11830 bytes sound/direct_sound_samples/cries/pyroar.aif | Bin 21896 -> 21822 bytes .../direct_sound_samples/cries/pyukumuku.aif | Bin 10184 -> 10102 bytes sound/direct_sound_samples/cries/quagsire.aif | Bin 6710 -> 6658 bytes sound/direct_sound_samples/cries/quilava.aif | Bin 5986 -> 5934 bytes .../direct_sound_samples/cries/quilladin.aif | Bin 16042 -> 15962 bytes sound/direct_sound_samples/cries/qwilfish.aif | Bin 5834 -> 5782 bytes sound/direct_sound_samples/cries/rabsca.aif | Bin 24064 -> 24064 bytes sound/direct_sound_samples/cries/raichu.aif | Bin 11866 -> 11814 bytes sound/direct_sound_samples/cries/raikou.aif | Bin 8730 -> 8678 bytes sound/direct_sound_samples/cries/ralts.aif | Bin 5090 -> 5038 bytes .../direct_sound_samples/cries/rampardos.aif | Bin 20070 -> 20018 bytes sound/direct_sound_samples/cries/rapidash.aif | Bin 9318 -> 9266 bytes sound/direct_sound_samples/cries/raticate.aif | Bin 4794 -> 4742 bytes sound/direct_sound_samples/cries/rattata.aif | Bin 3982 -> 3930 bytes sound/direct_sound_samples/cries/rayquaza.aif | Bin 14558 -> 14506 bytes sound/direct_sound_samples/cries/regice.aif | Bin 15962 -> 15910 bytes .../direct_sound_samples/cries/regidrago.aif | Bin 21528 -> 21340 bytes .../direct_sound_samples/cries/regigigas.aif | Bin 23378 -> 23326 bytes sound/direct_sound_samples/cries/regirock.aif | Bin 15886 -> 15834 bytes .../direct_sound_samples/cries/registeel.aif | Bin 11502 -> 11450 bytes .../direct_sound_samples/cries/relicanth.aif | Bin 10098 -> 10046 bytes sound/direct_sound_samples/cries/remoraid.aif | Bin 5314 -> 5262 bytes sound/direct_sound_samples/cries/reshiram.aif | Bin 23584 -> 23530 bytes .../direct_sound_samples/cries/reuniclus.aif | Bin 12740 -> 12714 bytes .../direct_sound_samples/cries/revavroom.aif | Bin 31556 -> 31556 bytes sound/direct_sound_samples/cries/rhydon.aif | Bin 10210 -> 10158 bytes sound/direct_sound_samples/cries/rhyhorn.aif | Bin 9710 -> 9658 bytes .../direct_sound_samples/cries/rhyperior.aif | Bin 14614 -> 14562 bytes sound/direct_sound_samples/cries/ribombee.aif | Bin 19806 -> 19728 bytes .../direct_sound_samples/cries/rillaboom.aif | Bin 18452 -> 18452 bytes sound/direct_sound_samples/cries/riolu.aif | Bin 5278 -> 5226 bytes sound/direct_sound_samples/cries/rockruff.aif | Bin 6830 -> 6752 bytes .../direct_sound_samples/cries/roggenrola.aif | Bin 11386 -> 11360 bytes sound/direct_sound_samples/cries/rookidee.aif | Bin 25180 -> 25180 bytes sound/direct_sound_samples/cries/roselia.aif | Bin 5406 -> 5354 bytes sound/direct_sound_samples/cries/roserade.aif | Bin 10718 -> 10666 bytes sound/direct_sound_samples/cries/rotom.aif | Bin 14394 -> 14342 bytes sound/direct_sound_samples/cries/rowlet.aif | Bin 10176 -> 10102 bytes sound/direct_sound_samples/cries/rufflet.aif | Bin 7854 -> 7828 bytes sound/direct_sound_samples/cries/sableye.aif | Bin 5850 -> 5798 bytes .../cries/sableye_mega.aif | Bin 17262 -> 17262 bytes .../direct_sound_samples/cries/salamence.aif | Bin 12538 -> 12486 bytes sound/direct_sound_samples/cries/salandit.aif | Bin 17714 -> 17636 bytes sound/direct_sound_samples/cries/salazzle.aif | Bin 24412 -> 24334 bytes sound/direct_sound_samples/cries/samurott.aif | Bin 22168 -> 22114 bytes .../direct_sound_samples/cries/sandaconda.aif | Bin 19014 -> 19014 bytes sound/direct_sound_samples/cries/sandile.aif | Bin 6614 -> 6588 bytes .../direct_sound_samples/cries/sandshrew.aif | Bin 4702 -> 4650 bytes .../direct_sound_samples/cries/sandslash.aif | Bin 6810 -> 6758 bytes .../direct_sound_samples/cries/sandygast.aif | Bin 21486 -> 21404 bytes sound/direct_sound_samples/cries/sawk.aif | Bin 12398 -> 12372 bytes sound/direct_sound_samples/cries/sawsbuck.aif | Bin 16910 -> 16884 bytes .../direct_sound_samples/cries/scatterbug.aif | Bin 6416 -> 6334 bytes sound/direct_sound_samples/cries/sceptile.aif | Bin 13038 -> 12986 bytes sound/direct_sound_samples/cries/scizor.aif | Bin 11486 -> 11434 bytes .../direct_sound_samples/cries/scolipede.aif | Bin 23196 -> 23142 bytes .../direct_sound_samples/cries/scorbunny.aif | Bin 14318 -> 14318 bytes sound/direct_sound_samples/cries/scrafty.aif | Bin 13330 -> 13304 bytes sound/direct_sound_samples/cries/scraggy.aif | Bin 13704 -> 13678 bytes sound/direct_sound_samples/cries/scyther.aif | Bin 6702 -> 6650 bytes sound/direct_sound_samples/cries/seadra.aif | Bin 4254 -> 4202 bytes sound/direct_sound_samples/cries/seaking.aif | Bin 9678 -> 9626 bytes sound/direct_sound_samples/cries/sealeo.aif | Bin 5954 -> 5902 bytes sound/direct_sound_samples/cries/seedot.aif | Bin 4130 -> 4078 bytes sound/direct_sound_samples/cries/seel.aif | Bin 8978 -> 8926 bytes .../direct_sound_samples/cries/seismitoad.aif | Bin 13460 -> 13434 bytes sound/direct_sound_samples/cries/sentret.aif | Bin 2134 -> 2082 bytes .../direct_sound_samples/cries/serperior.aif | Bin 16072 -> 16046 bytes sound/direct_sound_samples/cries/servine.aif | Bin 14028 -> 14002 bytes sound/direct_sound_samples/cries/seviper.aif | Bin 5846 -> 5794 bytes sound/direct_sound_samples/cries/sewaddle.aif | Bin 7722 -> 7696 bytes sound/direct_sound_samples/cries/sharpedo.aif | Bin 11514 -> 11462 bytes .../cries/sharpedo_mega.aif | Bin 24506 -> 24506 bytes .../cries/shaymin_land.aif | Bin 23226 -> 23174 bytes .../cries/shaymin_sky.aif | Bin 14082 -> 14056 bytes sound/direct_sound_samples/cries/shedinja.aif | Bin 3902 -> 3850 bytes sound/direct_sound_samples/cries/shelgon.aif | Bin 10018 -> 9966 bytes sound/direct_sound_samples/cries/shellder.aif | Bin 7742 -> 7690 bytes sound/direct_sound_samples/cries/shellos.aif | Bin 6534 -> 6482 bytes sound/direct_sound_samples/cries/shelmet.aif | Bin 13888 -> 13830 bytes sound/direct_sound_samples/cries/shieldon.aif | Bin 11222 -> 11170 bytes sound/direct_sound_samples/cries/shiftry.aif | Bin 9886 -> 9834 bytes .../direct_sound_samples/cries/shiinotic.aif | Bin 22322 -> 22240 bytes sound/direct_sound_samples/cries/shinx.aif | Bin 9638 -> 9586 bytes .../direct_sound_samples/cries/shroomish.aif | Bin 4462 -> 4410 bytes sound/direct_sound_samples/cries/shuckle.aif | Bin 5134 -> 5082 bytes sound/direct_sound_samples/cries/shuppet.aif | Bin 4170 -> 4118 bytes sound/direct_sound_samples/cries/sigilyph.aif | Bin 19326 -> 19300 bytes sound/direct_sound_samples/cries/silcoon.aif | Bin 8098 -> 8046 bytes sound/direct_sound_samples/cries/silvally.aif | Bin 23992 -> 23914 bytes sound/direct_sound_samples/cries/simipour.aif | Bin 8002 -> 7976 bytes sound/direct_sound_samples/cries/simisage.aif | Bin 8136 -> 8110 bytes sound/direct_sound_samples/cries/simisear.aif | Bin 7942 -> 7916 bytes sound/direct_sound_samples/cries/skarmory.aif | Bin 12006 -> 11954 bytes sound/direct_sound_samples/cries/skiddo.aif | Bin 9338 -> 9264 bytes sound/direct_sound_samples/cries/skiploom.aif | Bin 6542 -> 6490 bytes sound/direct_sound_samples/cries/skitty.aif | Bin 3586 -> 3534 bytes sound/direct_sound_samples/cries/skorupi.aif | Bin 14534 -> 14482 bytes sound/direct_sound_samples/cries/skrelp.aif | Bin 11430 -> 11356 bytes sound/direct_sound_samples/cries/skuntank.aif | Bin 21830 -> 21778 bytes sound/direct_sound_samples/cries/slaking.aif | Bin 4994 -> 4942 bytes sound/direct_sound_samples/cries/slakoth.aif | Bin 4298 -> 4246 bytes sound/direct_sound_samples/cries/sliggoo.aif | Bin 21482 -> 21404 bytes .../cries/slither_wing.aif | Bin 26638 -> 26638 bytes sound/direct_sound_samples/cries/slowbro.aif | Bin 6746 -> 6694 bytes sound/direct_sound_samples/cries/slowking.aif | Bin 11934 -> 11882 bytes sound/direct_sound_samples/cries/slowpoke.aif | Bin 3750 -> 3698 bytes .../cries/slowpoke_galarian.aif | Bin 10210 -> 10210 bytes sound/direct_sound_samples/cries/slugma.aif | Bin 8562 -> 8510 bytes sound/direct_sound_samples/cries/slurpuff.aif | Bin 17296 -> 17218 bytes sound/direct_sound_samples/cries/smeargle.aif | Bin 5138 -> 5086 bytes sound/direct_sound_samples/cries/smoliv.aif | Bin 11916 -> 11916 bytes sound/direct_sound_samples/cries/smoochum.aif | Bin 5886 -> 5834 bytes sound/direct_sound_samples/cries/sneasel.aif | Bin 4610 -> 4558 bytes sound/direct_sound_samples/cries/sneasler.aif | Bin 7934 -> 7934 bytes sound/direct_sound_samples/cries/snivy.aif | Bin 9724 -> 9698 bytes sound/direct_sound_samples/cries/snom.aif | Bin 13996 -> 13996 bytes sound/direct_sound_samples/cries/snorlax.aif | Bin 2674 -> 2622 bytes sound/direct_sound_samples/cries/snorunt.aif | Bin 8526 -> 8474 bytes sound/direct_sound_samples/cries/snover.aif | Bin 7154 -> 7102 bytes sound/direct_sound_samples/cries/snubbull.aif | Bin 7246 -> 7194 bytes sound/direct_sound_samples/cries/solgaleo.aif | Bin 26504 -> 26426 bytes sound/direct_sound_samples/cries/solosis.aif | Bin 9420 -> 9394 bytes sound/direct_sound_samples/cries/solrock.aif | Bin 8106 -> 8054 bytes sound/direct_sound_samples/cries/spearow.aif | Bin 8830 -> 8778 bytes .../direct_sound_samples/cries/spectrier.aif | Bin 24972 -> 24972 bytes sound/direct_sound_samples/cries/spewpa.aif | Bin 11850 -> 11776 bytes sound/direct_sound_samples/cries/spheal.aif | Bin 2906 -> 2854 bytes sound/direct_sound_samples/cries/spidops.aif | Bin 24988 -> 24988 bytes sound/direct_sound_samples/cries/spinarak.aif | Bin 6722 -> 6670 bytes sound/direct_sound_samples/cries/spinda.aif | Bin 6242 -> 6190 bytes .../direct_sound_samples/cries/spiritomb.aif | Bin 23202 -> 23150 bytes sound/direct_sound_samples/cries/spoink.aif | Bin 3674 -> 3622 bytes .../direct_sound_samples/cries/sprigatito.aif | Bin 5922 -> 5922 bytes sound/direct_sound_samples/cries/spritzee.aif | Bin 11854 -> 11776 bytes .../cries/squawkabilly.aif | Bin 16762 -> 16762 bytes sound/direct_sound_samples/cries/squirtle.aif | Bin 7246 -> 7194 bytes .../direct_sound_samples/cries/stakataka.aif | Bin 27138 -> 27056 bytes sound/direct_sound_samples/cries/stantler.aif | Bin 11234 -> 11182 bytes .../direct_sound_samples/cries/staraptor.aif | Bin 16954 -> 16902 bytes sound/direct_sound_samples/cries/staravia.aif | Bin 15590 -> 15538 bytes sound/direct_sound_samples/cries/starly.aif | Bin 14254 -> 14202 bytes sound/direct_sound_samples/cries/starmie.aif | Bin 10426 -> 10374 bytes sound/direct_sound_samples/cries/staryu.aif | Bin 9958 -> 9906 bytes sound/direct_sound_samples/cries/steelix.aif | Bin 19014 -> 18962 bytes sound/direct_sound_samples/cries/steenee.aif | Bin 16040 -> 15962 bytes .../direct_sound_samples/cries/stoutland.aif | Bin 14228 -> 14202 bytes sound/direct_sound_samples/cries/stufful.aif | Bin 8504 -> 8426 bytes sound/direct_sound_samples/cries/stunfisk.aif | Bin 17978 -> 17952 bytes sound/direct_sound_samples/cries/stunky.aif | Bin 6222 -> 6170 bytes .../direct_sound_samples/cries/sudowoodo.aif | Bin 8110 -> 8058 bytes sound/direct_sound_samples/cries/suicune.aif | Bin 9150 -> 9098 bytes sound/direct_sound_samples/cries/sunflora.aif | Bin 7954 -> 7902 bytes sound/direct_sound_samples/cries/sunkern.aif | Bin 4082 -> 4030 bytes sound/direct_sound_samples/cries/surskit.aif | Bin 5282 -> 5230 bytes sound/direct_sound_samples/cries/swablu.aif | Bin 2850 -> 2798 bytes sound/direct_sound_samples/cries/swadloon.aif | Bin 9968 -> 9942 bytes sound/direct_sound_samples/cries/swalot.aif | Bin 8702 -> 8650 bytes sound/direct_sound_samples/cries/swampert.aif | Bin 11246 -> 11194 bytes sound/direct_sound_samples/cries/swanna.aif | Bin 14194 -> 14168 bytes sound/direct_sound_samples/cries/swellow.aif | Bin 4550 -> 4498 bytes sound/direct_sound_samples/cries/swinub.aif | Bin 6354 -> 6302 bytes sound/direct_sound_samples/cries/swirlix.aif | Bin 14784 -> 14706 bytes sound/direct_sound_samples/cries/swoobat.aif | Bin 18108 -> 18050 bytes sound/direct_sound_samples/cries/sylveon.aif | Bin 21482 -> 21404 bytes sound/direct_sound_samples/cries/tadbulb.aif | Bin 12458 -> 12458 bytes sound/direct_sound_samples/cries/taillow.aif | Bin 3050 -> 2998 bytes .../direct_sound_samples/cries/talonflame.aif | Bin 18974 -> 18892 bytes sound/direct_sound_samples/cries/tangela.aif | Bin 7574 -> 7522 bytes .../direct_sound_samples/cries/tangrowth.aif | Bin 16970 -> 16918 bytes .../direct_sound_samples/cries/tapu_bulu.aif | Bin 25672 -> 25590 bytes .../direct_sound_samples/cries/tapu_fini.aif | Bin 26928 -> 26846 bytes .../direct_sound_samples/cries/tapu_koko.aif | Bin 24416 -> 24334 bytes .../direct_sound_samples/cries/tapu_lele.aif | Bin 25672 -> 25590 bytes .../direct_sound_samples/cries/tarountula.aif | Bin 6464 -> 6464 bytes .../cries/tatsugiri_curly.aif | Bin 8332 -> 8332 bytes .../cries/tatsugiri_droopy.aif | Bin 8332 -> 8332 bytes .../cries/tatsugiri_stretchy.aif | Bin 6620 -> 6620 bytes sound/direct_sound_samples/cries/tauros.aif | Bin 9174 -> 9122 bytes .../direct_sound_samples/cries/teddiursa.aif | Bin 8290 -> 8238 bytes .../direct_sound_samples/cries/tentacool.aif | Bin 7986 -> 7934 bytes .../direct_sound_samples/cries/tentacruel.aif | Bin 11482 -> 11430 bytes sound/direct_sound_samples/cries/tepig.aif | Bin 5688 -> 5662 bytes .../direct_sound_samples/cries/terrakion.aif | Bin 16510 -> 16484 bytes sound/direct_sound_samples/cries/throh.aif | Bin 11936 -> 11910 bytes .../cries/thundurus_incarnate.aif | Bin 23140 -> 23086 bytes .../cries/thundurus_therian.aif | Bin 22932 -> 22874 bytes sound/direct_sound_samples/cries/thwackey.aif | Bin 17154 -> 17154 bytes sound/direct_sound_samples/cries/timburr.aif | Bin 9806 -> 9780 bytes sound/direct_sound_samples/cries/ting_lu.aif | Bin 29388 -> 29388 bytes .../direct_sound_samples/cries/tinkatink.aif | Bin 19090 -> 19090 bytes sound/direct_sound_samples/cries/tinkaton.aif | Bin 22916 -> 22916 bytes sound/direct_sound_samples/cries/tirtouga.aif | Bin 5758 -> 5732 bytes .../direct_sound_samples/cries/toedscruel.aif | Bin 17846 -> 17846 bytes .../direct_sound_samples/cries/togedemaru.aif | Bin 9346 -> 9264 bytes sound/direct_sound_samples/cries/togekiss.aif | Bin 22758 -> 22706 bytes sound/direct_sound_samples/cries/togepi.aif | Bin 5486 -> 5434 bytes sound/direct_sound_samples/cries/togetic.aif | Bin 3550 -> 3498 bytes sound/direct_sound_samples/cries/torchic.aif | Bin 4866 -> 4814 bytes sound/direct_sound_samples/cries/torkoal.aif | Bin 4686 -> 4634 bytes .../cries/tornadus_incarnate.aif | Bin 19494 -> 19468 bytes .../cries/tornadus_therian.aif | Bin 21572 -> 21514 bytes sound/direct_sound_samples/cries/torracat.aif | Bin 21482 -> 21404 bytes sound/direct_sound_samples/cries/torterra.aif | Bin 23394 -> 23342 bytes sound/direct_sound_samples/cries/totodile.aif | Bin 9178 -> 9126 bytes .../direct_sound_samples/cries/toucannon.aif | Bin 23996 -> 23914 bytes sound/direct_sound_samples/cries/toxapex.aif | Bin 21482 -> 21404 bytes sound/direct_sound_samples/cries/toxel.aif | Bin 14318 -> 14318 bytes .../direct_sound_samples/cries/toxicroak.aif | Bin 19342 -> 19290 bytes .../direct_sound_samples/cries/tranquill.aif | Bin 7032 -> 7006 bytes sound/direct_sound_samples/cries/trapinch.aif | Bin 5106 -> 5054 bytes sound/direct_sound_samples/cries/treecko.aif | Bin 5862 -> 5810 bytes .../direct_sound_samples/cries/trevenant.aif | Bin 23996 -> 23914 bytes sound/direct_sound_samples/cries/tropius.aif | Bin 16342 -> 16290 bytes sound/direct_sound_samples/cries/trubbish.aif | Bin 14092 -> 14066 bytes sound/direct_sound_samples/cries/trumbeak.aif | Bin 17714 -> 17636 bytes sound/direct_sound_samples/cries/tsareena.aif | Bin 20644 -> 20566 bytes .../direct_sound_samples/cries/turtonator.aif | Bin 26508 -> 26426 bytes sound/direct_sound_samples/cries/turtwig.aif | Bin 7158 -> 7106 bytes sound/direct_sound_samples/cries/tympole.aif | Bin 10750 -> 10724 bytes sound/direct_sound_samples/cries/tynamo.aif | Bin 13866 -> 13840 bytes .../direct_sound_samples/cries/type_null.aif | Bin 18974 -> 18892 bytes .../direct_sound_samples/cries/typhlosion.aif | Bin 18970 -> 18918 bytes .../direct_sound_samples/cries/tyranitar.aif | Bin 11682 -> 11630 bytes .../direct_sound_samples/cries/tyrantrum.aif | Bin 19810 -> 19728 bytes sound/direct_sound_samples/cries/tyrogue.aif | Bin 8098 -> 8046 bytes sound/direct_sound_samples/cries/tyrunt.aif | Bin 8500 -> 8426 bytes sound/direct_sound_samples/cries/umbreon.aif | Bin 7770 -> 7718 bytes .../cries/uncomp_klefki.aif | Bin 15712 -> 15698 bytes .../cries/uncomp_oricorio_pom_pom.aif | Bin 22806 -> 22782 bytes sound/direct_sound_samples/cries/unfezant.aif | Bin 10490 -> 10464 bytes sound/direct_sound_samples/cries/unown.aif | Bin 6602 -> 6550 bytes sound/direct_sound_samples/cries/ursaluna.aif | Bin 9224 -> 9224 bytes sound/direct_sound_samples/cries/ursaring.aif | Bin 14886 -> 14834 bytes sound/direct_sound_samples/cries/uxie.aif | Bin 22410 -> 22358 bytes .../direct_sound_samples/cries/vanillish.aif | Bin 12690 -> 12664 bytes .../direct_sound_samples/cries/vanillite.aif | Bin 9366 -> 9340 bytes .../direct_sound_samples/cries/vanilluxe.aif | Bin 12642 -> 12616 bytes sound/direct_sound_samples/cries/vaporeon.aif | Bin 11042 -> 10990 bytes sound/direct_sound_samples/cries/veluza.aif | Bin 17974 -> 17974 bytes sound/direct_sound_samples/cries/venipede.aif | Bin 7414 -> 7388 bytes sound/direct_sound_samples/cries/venomoth.aif | Bin 8026 -> 7974 bytes sound/direct_sound_samples/cries/venonat.aif | Bin 7770 -> 7718 bytes sound/direct_sound_samples/cries/venusaur.aif | Bin 9674 -> 9622 bytes .../direct_sound_samples/cries/vespiquen.aif | Bin 17410 -> 17358 bytes sound/direct_sound_samples/cries/vibrava.aif | Bin 7026 -> 6974 bytes sound/direct_sound_samples/cries/victini.aif | Bin 14192 -> 14166 bytes .../direct_sound_samples/cries/victreebel.aif | Bin 9654 -> 9602 bytes sound/direct_sound_samples/cries/vigoroth.aif | Bin 7194 -> 7142 bytes sound/direct_sound_samples/cries/vikavolt.aif | Bin 23574 -> 23496 bytes .../direct_sound_samples/cries/vileplume.aif | Bin 12786 -> 12734 bytes sound/direct_sound_samples/cries/virizion.aif | Bin 13738 -> 13712 bytes sound/direct_sound_samples/cries/vivillon.aif | Bin 22318 -> 22240 bytes sound/direct_sound_samples/cries/volbeat.aif | Bin 5798 -> 5746 bytes .../direct_sound_samples/cries/volcanion.aif | Bin 22322 -> 22240 bytes .../direct_sound_samples/cries/volcarona.aif | Bin 23032 -> 22978 bytes sound/direct_sound_samples/cries/voltorb.aif | Bin 12370 -> 12318 bytes sound/direct_sound_samples/cries/vullaby.aif | Bin 18748 -> 18722 bytes sound/direct_sound_samples/cries/vulpix.aif | Bin 11894 -> 11842 bytes sound/direct_sound_samples/cries/wailmer.aif | Bin 14158 -> 14106 bytes sound/direct_sound_samples/cries/wailord.aif | Bin 20954 -> 20902 bytes sound/direct_sound_samples/cries/walrein.aif | Bin 18090 -> 18038 bytes .../direct_sound_samples/cries/wartortle.aif | Bin 8638 -> 8586 bytes sound/direct_sound_samples/cries/watchog.aif | Bin 5670 -> 5644 bytes sound/direct_sound_samples/cries/wattrel.aif | Bin 9588 -> 9588 bytes sound/direct_sound_samples/cries/weavile.aif | Bin 8458 -> 8406 bytes sound/direct_sound_samples/cries/weedle.aif | Bin 8150 -> 8098 bytes .../direct_sound_samples/cries/weepinbell.aif | Bin 7334 -> 7282 bytes sound/direct_sound_samples/cries/weezing.aif | Bin 10830 -> 10778 bytes .../direct_sound_samples/cries/whimsicott.aif | Bin 22688 -> 22634 bytes .../direct_sound_samples/cries/whirlipede.aif | Bin 15680 -> 15654 bytes sound/direct_sound_samples/cries/whiscash.aif | Bin 8502 -> 8450 bytes sound/direct_sound_samples/cries/whismur.aif | Bin 4118 -> 4066 bytes .../direct_sound_samples/cries/wigglytuff.aif | Bin 3438 -> 3386 bytes sound/direct_sound_samples/cries/wimpod.aif | Bin 7244 -> 7170 bytes sound/direct_sound_samples/cries/wingull.aif | Bin 6158 -> 6106 bytes .../cries/wishiwashi_school.aif | Bin 18244 -> 18244 bytes .../cries/wishiwashi_solo.aif | Bin 11858 -> 11776 bytes sound/direct_sound_samples/cries/wo_chien.aif | Bin 28176 -> 28176 bytes .../direct_sound_samples/cries/wobbuffet.aif | Bin 10302 -> 10250 bytes sound/direct_sound_samples/cries/woobat.aif | Bin 11262 -> 11236 bytes sound/direct_sound_samples/cries/wooper.aif | Bin 3734 -> 3682 bytes sound/direct_sound_samples/cries/wormadam.aif | Bin 19290 -> 19238 bytes sound/direct_sound_samples/cries/wurmple.aif | Bin 4438 -> 4386 bytes sound/direct_sound_samples/cries/wynaut.aif | Bin 6958 -> 6906 bytes sound/direct_sound_samples/cries/wyrdeer.aif | Bin 13556 -> 13556 bytes sound/direct_sound_samples/cries/xatu.aif | Bin 7418 -> 7366 bytes sound/direct_sound_samples/cries/xerneas.aif | Bin 21482 -> 21404 bytes .../direct_sound_samples/cries/xurkitree.aif | Bin 26508 -> 26426 bytes sound/direct_sound_samples/cries/yamask.aif | Bin 13782 -> 13724 bytes sound/direct_sound_samples/cries/yanma.aif | Bin 8530 -> 8478 bytes sound/direct_sound_samples/cries/yanmega.aif | Bin 22834 -> 22782 bytes sound/direct_sound_samples/cries/yungoos.aif | Bin 15620 -> 15542 bytes sound/direct_sound_samples/cries/yveltal.aif | Bin 26504 -> 26426 bytes .../cries/zacian_crowned_sword.aif | Bin 31336 -> 31336 bytes .../cries/zamazenta_crowned_shield.aif | Bin 29456 -> 29456 bytes sound/direct_sound_samples/cries/zangoose.aif | Bin 4802 -> 4750 bytes sound/direct_sound_samples/cries/zapdos.aif | Bin 7750 -> 7698 bytes .../direct_sound_samples/cries/zebstrika.aif | Bin 18972 -> 18946 bytes sound/direct_sound_samples/cries/zekrom.aif | Bin 23592 -> 23538 bytes sound/direct_sound_samples/cries/zeraora.aif | Bin 20798 -> 20720 bytes .../direct_sound_samples/cries/zigzagoon.aif | Bin 5810 -> 5758 bytes sound/direct_sound_samples/cries/zoroark.aif | Bin 18482 -> 18456 bytes sound/direct_sound_samples/cries/zorua.aif | Bin 8644 -> 8618 bytes sound/direct_sound_samples/cries/zubat.aif | Bin 9714 -> 9662 bytes sound/direct_sound_samples/cries/zweilous.aif | Bin 13746 -> 13720 bytes .../direct_sound_samples/cries/zygarde_10.aif | Bin 16470 -> 16380 bytes .../direct_sound_samples/cries/zygarde_50.aif | Bin 24412 -> 24334 bytes .../cries/zygarde_complete.aif | Bin 30410 -> 30308 bytes 944 files changed, 0 insertions(+), 0 deletions(-) diff --git a/sound/direct_sound_samples/cries/abomasnow.aif b/sound/direct_sound_samples/cries/abomasnow.aif index dce794161735821c355898fcd4922750a501f6d0..83ef6b33aca9f7166ead6e82db99f416bd2de750 100644 GIT binary patch delta 22 ecmZ3qi1FP*Mh-XsAYTTCfM*jqMh-XsAYTTCK&gowa$=r-!66I`3?eoR4D~<=1sfI41xWZg`nm%70^yEf RuJMjR&hY_ZCT0c$y1;YRU delta 14 Vcmcb0jq%ns#tFKN+8gzBvH>$t1;PLT diff --git a/sound/direct_sound_samples/cries/abra.aif b/sound/direct_sound_samples/cries/abra.aif index 153f4982e51950e7a718dc70f2c0d2c19790c184..5c96619143a02eca10758b220420810deb54fee0 100644 GIT binary patch delta 20 bcmZ1${V9sW%|FPOfk8KGB8S{YCm&q^Np1#2 delta 68 zcmewqwJe&$%|FPOfkAiPL=HJIPru+01_lNZ8wQ4YAcTUA3PHLOevZDbK)yh@W0-5a PV~}%vK$wAx2%|FPOfx$v*B8QxWpQEoU0|SGAnT4T(u7YD~dS-D>VsVDTMzvMuR-P`# l3P4FCAk7S<85q<{A!evZDbK)yh@W0-5a PV~}%vK$x+C8G{J`Dpd~) diff --git a/sound/direct_sound_samples/cries/aggron_mega.aif b/sound/direct_sound_samples/cries/aggron_mega.aif index 0e1778509fa1ca196d70efad23ab87ae8ce70c25..6772bdd5ee80d2dc77d5f9d65e55ef5e76386084 100644 GIT binary patch delta 14 Wcmca}o$=0f#tFKN>o)4G%LV{9EC$U0 delta 14 Wcmca}o$=0f#tFKNYd7kx%LV{9CkD&_ diff --git a/sound/direct_sound_samples/cries/aipom.aif b/sound/direct_sound_samples/cries/aipom.aif index c1e643890b27f44ad3cea2a1f893cf687a11fcd1..e40107f78709f25b3ec5007c5278b29287b9a2c1 100644 GIT binary patch delta 20 bcmZ2w{>_ZT%|FPOfk8TNB8S{YrvPaHL}~@- delta 68 zcmexnw#uBt%|FPOfkArFL=HJIPru+01_lNZ8wQ4YAcTUA3SrU`evZDbK)yh@W0-5a PV~}%vK$xMW0fQj`1Z)l? diff --git a/sound/direct_sound_samples/cries/alakazam.aif b/sound/direct_sound_samples/cries/alakazam.aif index 4ecfcf5fc78e96fa828c631ce43766c4a6dd94ea..d6b0126112a5b4a43af5c461d1539142408b405f 100644 GIT binary patch delta 20 bcmbPM{iuq=%|FPOfx$LvB8S{YCmUM;OO6I) delta 68 zcmaD-_Mh-XsAYTTC;3*S1_} iCG>zaGmvIrPzmu2F#^)OK#Z(9B*@ttCUi_evZDbK)yh@W0-5a PV~}%vK$xM0A%igh^=b}5 diff --git a/sound/direct_sound_samples/cries/anorith.aif b/sound/direct_sound_samples/cries/anorith.aif index cb0d37b581e058a7ac7a60a1d99379e9c54e83b1..ac6c774e5da618529ca0bc605c1dfece5922cd86 100644 GIT binary patch delta 20 bcmeyTdrFtX%|FPOfkEuhL=L%)PD{i9NudUt delta 68 zcmX@5`%jm{%|FPOfkEusL=HJIPru+01_lNZ8wQ4YAcTUA3ai8<{2YBXrh@c{rbHU>!m diff --git a/sound/direct_sound_samples/cries/araquanid.aif b/sound/direct_sound_samples/cries/araquanid.aif index 0efccf6a4e8d6f371d513dc532dc6ec447653023..86aac62b80023d8e96e75f9640f086ddc16fb958 100644 GIT binary patch delta 12 TcmexY^si`wE@Qw(y#Px9DnJES delta 12 TcmexY^si`wE~EcOy#Px9Dmw*M diff --git a/sound/direct_sound_samples/cries/arbok.aif b/sound/direct_sound_samples/cries/arbok.aif index 0e7b0b964402d041126bc0b79f9454cd8a40335d..0be4b7e6246463e96f558f07b231ad3f0959931d 100644 GIT binary patch delta 20 bcmX@*J^(Vhi;F_Ee!Ll)%KNkR{{|gcT delta 26 icmex$i}BYj#tFKN-jfT%^(Vhi;F_Ee!Ll)%KNkR{?h6qB diff --git a/sound/direct_sound_samples/cries/arcanine.aif b/sound/direct_sound_samples/cries/arcanine.aif index 17a7b3c6bbdf8b4b8f4ac67ccbc2a3f4ab243d74..cdc942c49ab2c36b8c05dcf8eddc70277c28e4e2 100644 GIT binary patch delta 20 bcmdnw{LhKQ%|FPOfkClsB8S{YrwBy=N7e=` delta 68 zcmez8w8@#n%|FPOfkAQAL=HJIPru+01_lNZ8wQ4YAcTUA3UP`OevZDbK)yh@W0-5a PV~}%vK$wB4C4(6N6JZW; diff --git a/sound/direct_sound_samples/cries/arceus.aif b/sound/direct_sound_samples/cries/arceus.aif index 5db8a3c27a9dd4d2834f9d0d07627d026e2631af..8496de2a173bf683fd319029d9a8e9b853bdde02 100644 GIT binary patch delta 22 dcmX@KoUv~?BZr%RkS_y6aN9%=jiLoz`!6B?il78?-=A9AK)AA6mMo^!myEtNfiJh CCJT=M diff --git a/sound/direct_sound_samples/cries/archeops.aif b/sound/direct_sound_samples/cries/archeops.aif index 7b65583da9b3ef6642a316f148c45946d747258d..6555f0ce3a39e66b674898b4e268c8973f932061 100644 GIT binary patch delta 21 ccmX?8v#Ey1%|FPOfx%A8(bLUsqner>08vl|Z~y=R delta 47 zcmdl~bEZbk%|FPOfx*tj(bLV%&(YVFfq_9N+%e2G-Z98IKEOBJDc;P;lwl)}njHX1 Cfef|) diff --git a/sound/direct_sound_samples/cries/arctibax.aif b/sound/direct_sound_samples/cries/arctibax.aif index e0b31b19aba6fa44bb7560eb5986ea46022b9ec0..a18bc78081043175a2c4697a090e6a91730f053b 100644 GIT binary patch delta 18 acmdlqnQ_x(#tFKNEt3~|T-^A7vj+f7eh9|^ delta 18 acmdlqnQ_x(#tFKN&65{;T-^A7vj+f7bqK}) diff --git a/sound/direct_sound_samples/cries/arctovish.aif b/sound/direct_sound_samples/cries/arctovish.aif index 02d83dbb553e31769c87bf9b980d0bfcf657662d..281c88f8d3227a3cb28f8ddd74ab1fad8ce8cc83 100644 GIT binary patch delta 14 VcmcaNkMZ6-#tFKN1{?JZ`~fbp1xEk? delta 14 VcmcaNkMZ6-#tFKN`Wy8O`~fbk1x5e> diff --git a/sound/direct_sound_samples/cries/ariados.aif b/sound/direct_sound_samples/cries/ariados.aif index de9057b45be98492ed6a0109e1de7738545229ef..343879d70a285bbd4a50c2ecfcaecbbc5e503a52 100644 GIT binary patch delta 20 bcmdmF@K2w^%|FPOfkFJ+L=L%)PB+8>NyY~9 delta 68 zcmeyTzsZ2Z%|FPOfk8rRB8Qxqr(bXg0|SGI4Ff|x5JJI5g?r)>evZDbK)yh@W0-5a PV~}%vK$xMK1%n9y_yrC& diff --git a/sound/direct_sound_samples/cries/armaldo.aif b/sound/direct_sound_samples/cries/armaldo.aif index 574a3d7539aa0308b9e7f4bb3301aea2f032b6c8..23add2fec8dd084a1ceea49db317a433607582d0 100644 GIT binary patch delta 20 bcmeB+ycNOW<{#wCz@QT}kwb2ylZg%hM4ScQ delta 68 zcmcZ=(HF_#<{#wCz@XDMkwZ?*(=RxLfq_B9hJm3T2%%u3f|ZVhpQEoUkS`GK80H%9 P7~~uu5N2#*!C(jg1IZ2^ diff --git a/sound/direct_sound_samples/cries/aromatisse.aif b/sound/direct_sound_samples/cries/aromatisse.aif index 3e8da86c5bef5f743da5cb9891c3009fe1da6b75..4880d14946b0d7be46bd8d1f0d8520c864fa5519 100644 GIT binary patch delta 22 dcmcb%k+EeXBZr%RkS_y6M9oAFxs7&l5dc_Q2P*&o delta 106 zcmZqK$arldBZr%RkS_y6#JPzaauR-yzOD=m3<72r#tOO$jz#&oi6xoE#i<+B;v%d( mU5pigl14z98AvlQXoPr%7y)TPAV${_66EX+6b30YHUR*SxEKQf diff --git a/sound/direct_sound_samples/cries/aron.aif b/sound/direct_sound_samples/cries/aron.aif index da82823e24a2dec16f3612329c6cd3f85ca2c9fa..d246b4c22b04c2fc962508bb037e80124dc81d64 100644 GIT binary patch delta 20 bcmbQFa!;AV%|FPOfkE)vL=L%)PCEnvLD~jR delta 68 zcmcboJV}Ma%|FPOfkB9CB8Qxqr(bXg0|SGI4Ff|x5JJI5g?)k&evZDbK)yh@W0-5a PV~}%vK$x+C34;*;)Ta%I diff --git a/sound/direct_sound_samples/cries/articuno.aif b/sound/direct_sound_samples/cries/articuno.aif index e3975a17caf6f3f64855900476bdcce67e0c3ca0..212114537f434cfcbb7fbbe13bce696bfb46ba94 100644 GIT binary patch delta 20 bcmZ1#^DUag%|FPOfkF4(L=L%)P8W0mPf`a~ delta 68 zcmewsy()&o%|FPOfk97cB8Qxqr(bXg0|SGI4Ff|x5JJI5g=@MJevZDbK)yh@W0-5a PV~}%vK$xM434<{J4+##F diff --git a/sound/direct_sound_samples/cries/audino.aif b/sound/direct_sound_samples/cries/audino.aif index 7430d0b6801b66edbb9896076f16fd0a541eab3c..873d4c947b91da23728565c40010a76ce1be6ed2 100644 GIT binary patch delta 30 mcmX@(xyh5q%|FPOfk9=JqoMaJgI M2bC2!`X{RZ0LZ@(00000 diff --git a/sound/direct_sound_samples/cries/aurorus.aif b/sound/direct_sound_samples/cries/aurorus.aif index f396174ad29bf99a63798a1ad86cca7822af5fb8..9483e1b6371bb58400f1d3ce76e09dfa45e978fe 100644 GIT binary patch delta 22 ecmexxgK^OfMh-XsAYTTC9I1&MavN>_WCH+UuLu$V delta 102 zcmZ2#tOO$j%A5CrRnJk8`XA&S$Mh_ lD*&YofHX6ZW?)ba@eDBn(tJRSqCO=jiLoz`!6B?il78?-=A9AK)AA6mM!`$gq*;iyik_f3w&%|FPOfq_47B8Qxqr(bXg0|SGI4Ff|x5JJI51toq7KSy6zAYUNdG0ZjI PF~~VSAk5g@kiilF=+O<6 diff --git a/sound/direct_sound_samples/cries/baltoy.aif b/sound/direct_sound_samples/cries/baltoy.aif index 9c9771924d278704434b328dfca2343141401046..7900eb1d64c235380086e6f0f3be690c5f16e5c9 100644 GIT binary patch delta 20 bcmbPac+Y^t%|FPOfk7f{B8S{YCkqJxKJ*24 delta 68 zcmca-Fv*a^%|FPOfkC2cB8Qxqr(bXg0|SGI4Ff|x5JJI51v?1|KSy6zAYUNdG0ZjI PF~~VSAk5grn86SL>+=n< diff --git a/sound/direct_sound_samples/cries/banette.aif b/sound/direct_sound_samples/cries/banette.aif index e00d6a0ac6a2f4b98015537bc9546142670f982f..587b307e27eca94fa092577f19c0562885f230c4 100644 GIT binary patch delta 20 bcmca+xX6&h%|FPOfk9%{L=L%)PBjt$Ld6CL delta 68 zcmZ2vc+HT*%|FPOfkEQjL=HJIPru+01_lNZ8wQ4YAcTUA3QZCcevZDbK)yh@W0-5a PV~}%vK$x+q34<{J1M&_= diff --git a/sound/direct_sound_samples/cries/barbaracle.aif b/sound/direct_sound_samples/cries/barbaracle.aif index 9effada123443527cf4af596749f85c6d8250bbd..3f724127bddc889d75311737f9dc916d9dda306b 100644 GIT binary patch delta 22 dcmX>wo$=i?Mh-XsAYTRs@3e^=avSYDya8D62Lu2B delta 106 zcmaDijq$*AMh-XsAYTRs?;R64_}C5?bIGmvIr&%|FPOfkFI~qo!Fa5Lk;BbD$d`e^#cm>p+(st_7XViB2A==` delta 70 zcmX@s!T76#k;BbD$d`e^rD!6DoS3Iya0mkfgNO|SLp=~e!A1o&7YRQ{UsoVsAlxy` RHQq7EIX)oF#L$qz1OPaw4%q+z diff --git a/sound/direct_sound_samples/cries/bayleef.aif b/sound/direct_sound_samples/cries/bayleef.aif index b1ff0088de09e0fb2ba13eea8fca7ed75786d3bf..1b38f322a9455c002631d9cd7f838605b8194197 100644 GIT binary patch delta 20 bcmcbnv`C4=%|FPOfk9AeB8S{Yr#}J!Jz@pg delta 68 zcmZ3abWMrF%|FPOfkDu3B8Qxqr(bXg0|SGI4Ff|x5JJI51tviWKSy6zAYUNdG0ZjI PF~~VSAk5Izn86YN&|3{1 diff --git a/sound/direct_sound_samples/cries/beartic.aif b/sound/direct_sound_samples/cries/beartic.aif index 45d1e8bc5ee30acd10be7f12149939d316599785..1c7635357ab4f8aa82d8070dd4bfb65da5fddba5 100644 GIT binary patch delta 32 ocmeyAcO#F-%|FPOfx$e$(bLUsqM9P3*2F;di3yw=D}I>)0JFCW;{X5v delta 55 zcmcbS_bE@!%|FPOfx$e>(bLV%&(YVFfq_9N+%e2G-Z98IKEOBJDc;oBh+!g+BBSO+ KL*0$hf6V~L}so7+aU8czUL0|yQO delta 49 zcmeB}%(!SWqnew4kS_y+=PXB0H#a{=UsnbO2BC1rFxPm;Am{i1-*BgRGb00rjXX7; E08}mwPXGV_ diff --git a/sound/direct_sound_samples/cries/beldum.aif b/sound/direct_sound_samples/cries/beldum.aif index 7b7b10c2e06eb9c1494137f7f4081387fa418b21..626f94fc1c5ce4df8b2afce6a4b6629bb8d903e4 100644 GIT binary patch delta 20 bcmeySdPtSS%|FPOfk9~3L=L%)PIH6+M%e~q delta 68 zcmX@4`c0L?%|FPOfkEiqL=HJIPru+01_lNZ8wQ4YAcTUA3X6m!{2YB+TS%|FPOfk8TMB8S{YCkJT&L23o4 delta 68 zcmaE6Hp`sD%|FPOfkArGL=HJIPru+01_lNZ8wQ4YAcTUA3U1O8evZDbK)yh@W0-5a PV~}%vK$xM05rYW;_R%|FPOfr0PQL=HJIPru+01_lNZ8wQ4YAcTUA3e)%`{2YBN$N(mRpu6+F2)K# iDFYzQ45S$t)IvN%jDR#h5TmLO33B!Z3WAiG83O>4=@k0_ diff --git a/sound/direct_sound_samples/cries/bewear.aif b/sound/direct_sound_samples/cries/bewear.aif index baada6e00de06dd3f13a9ae756863eec114a4afb..00979e4542a714e93e7d5f8b33eb2f6c75c5585b 100644 GIT binary patch delta 20 bcmcatHl>Wi%|FPOfx((*B8S{Yt9MoaN!A9e delta 96 zcmbPIcCU=X%|FPOfx$X#B8QxapQEoU0|Nt(xtW22u7Xo)d1_+OMzwcVW}Ys_3P1@x gAk7S<85mSTJVT6tG%pY%s}2cr_67=p6qy(R07eKC*#H0l diff --git a/sound/direct_sound_samples/cries/bibarel.aif b/sound/direct_sound_samples/cries/bibarel.aif index 2c7ea81bbb352ea82397087f67ec359093454455..64b3f5e0ec94c8c1bd6d17e455e7aaf32f9d39d1 100644 GIT binary patch delta 20 bcmdm0&{n|V<{#wCz+nDwB8S{Yrw8T$OqT~! delta 68 zcmZoG*j2#c<{#wCz+hoCkwZ?*(=RxLfq_B9hJm3T2%%u3!ZULTKSy6zAYUNdG0ZjI PF~~VSAk4(TfWa652we_~ diff --git a/sound/direct_sound_samples/cries/bidoof.aif b/sound/direct_sound_samples/cries/bidoof.aif index d61765511f93dd0fa478da3d917c0b63eec0cb8f..4da8f32adedeb592a2e415f2dcc3382e9d12f23e 100644 GIT binary patch delta 20 bcmaDCv@3|i%|FPOfkD$~B8S{YClO5mN0SB1 delta 68 zcmdlL^e%|Q%|FPOfk88EB8Qxqr(bXg0|SGI4Ff|x5JJI51u0DlKSy6zAYUNdG0ZjI PF~~VSAk5g(lEDxF1#S)z diff --git a/sound/direct_sound_samples/cries/binacle.aif b/sound/direct_sound_samples/cries/binacle.aif index 3694f34dde1727b4f823ad7083c4f3502762e31b..168952c84bdb62efb447573ba57b1b15ab764a6c 100644 GIT binary patch delta 20 bcmX?5{Hch;%|FPOfx$9sB8S{Y8y`ymPdo;o delta 100 zcmexVbfB2S%|FPOfx&XeL=HJIKSy6z1_lN`GYbm^T?MDiyu{?3RE3RdK9&}qF2)K# jDFYzQ45S$tR6{&NjDR#B5TmFM33B!Zih)!aTQUFuxlt6u diff --git a/sound/direct_sound_samples/cries/bisharp.aif b/sound/direct_sound_samples/cries/bisharp.aif index edbcc7b296e727ba16a6a4ee881bba3552992027..dd1d4c4229da98289ba922e4e2a81a241990fbc8 100644 GIT binary patch delta 21 ccmeAP`4r6K<{#wCz@Yic(bLUsquMh~08%FhbpQYW delta 47 zcmewq+!Lba<{#wCz@WwA=;`L>=jiLoz`!6B?il78?-=A9AK)AA6mMp1%CM2=nI-@+ Cr3}3Q diff --git a/sound/direct_sound_samples/cries/blacephalon.aif b/sound/direct_sound_samples/cries/blacephalon.aif index 9cacb4f71ea8a5af4b9530b4d74d6e8d3152b930..f1308e13449c73bd1611494a05a64cdf97976d40 100644 GIT binary patch delta 22 ecmZ2+j`7l2Mh-XsAYTTCv{Mr~7Mh-XsAYTTCbcKl=a#DVdzOD=m3_=zLW(v9rPC1FmsRbE{Ir(`C8`ajN p*?77bD*&ZUfHX6ZW?;|^@eDBn(n3Itp(iBB*&8ShQfXnv008tD7{&kq diff --git a/sound/direct_sound_samples/cries/blastoise.aif b/sound/direct_sound_samples/cries/blastoise.aif index ed03bd447c2758cc2f4639726f30c5995bc510bb..c3ae9294f243ce2f2d1a4a7222e37109ea7ff0f6 100644 GIT binary patch delta 20 bcmZ4I{mYBP%|FPOfkCxsB8S{Yrw~;DNL~gs delta 68 zcmez6wa%Nv%|FPOfkAcIL=HJIPru+01_lNZ8wQ4YAcTUA3Q?*OevZDbK)yh@W0-5a PV~}%vK$wAnC4(^l6;cjx diff --git a/sound/direct_sound_samples/cries/blaziken.aif b/sound/direct_sound_samples/cries/blaziken.aif index b316a85658b628979290b2720ade5024cdf4da8d..fa8a46ba9c244f221af880a5707a1f1667ee9c21 100644 GIT binary patch delta 20 bcmaDj diff --git a/sound/direct_sound_samples/cries/blitzle.aif b/sound/direct_sound_samples/cries/blitzle.aif index 40e4672af7cc3a1c4a6f02bdacdc3ba717f69a07..d730da670f2c681fbb11c873a76a7f278978d134 100644 GIT binary patch delta 26 hcmbQ|(&ED7<{#wCz@YfY(bLUsqM9P(wT&Lv6aj9t2)zIR delta 52 zcmZp1ndhSB<{#wCz@Q}N=;`L>=jiLoz`!6B?il78?-=A9AK)AA6mM#7z%Y?Vk@4zA Hy=#g9Te=PC diff --git a/sound/direct_sound_samples/cries/boldore.aif b/sound/direct_sound_samples/cries/boldore.aif index 436cb1219f693055191b766edec17399146d55c5..9dbee00115040f3f42d770c8ae28a1081fe97b91 100644 GIT binary patch delta 23 ecmdnc!#J&nk;lzH$d`e^jnC23&26I^mm2_5HwH2Q delta 49 zcmbQ%!?>Y`QO(Ui$d`e^O~cXC&CSoz*Oh^RK`7iY%r)LI$T>d1H{2=S%)pRgBM+Aw E07c{sasU7T diff --git a/sound/direct_sound_samples/cries/bonsly.aif b/sound/direct_sound_samples/cries/bonsly.aif index 251865909cc89898ce0eb6faa89d1c1dd37e9d5d..15bd56f2327060ceabfba52a016e6ace0a23b758 100644 GIT binary patch delta 20 bcmbPb@ywjV%|FPOfkFD-L=L%)P6wm`Mvexm delta 68 zcmaE6KFfl`%|FPOfk8%SB8Qxqr(bXg0|SGI4Ff|x5JJI5g=5kZevZDbK)yh@W0-5a PV~}%vK$wZK1%nX)=^72} diff --git a/sound/direct_sound_samples/cries/bouffalant.aif b/sound/direct_sound_samples/cries/bouffalant.aif index fbca85e639f46fe73b61cc28c0f4aaef8178004b..e9502a94b655775904018d3f897af774211555de 100644 GIT binary patch delta 23 fcmcaGlX2TjMjki+AYTRspLLF&Zf+aZR`~z`V9p2F delta 49 zcmdlslkvh#Mm0D8AYTRspA(LrZf<^#zOD=m3_{_KVXpCxLC*03zTr;srWQsF8+lgw F003^W4j=#k diff --git a/sound/direct_sound_samples/cries/bounsweet.aif b/sound/direct_sound_samples/cries/bounsweet.aif index 3054997d7ff51e282c1f77b60832adf40c461522..b1d21fb39072f49f6fb44f836f74f8b0f0b0079a 100644 GIT binary patch delta 20 bcmZ1%c_)Iy%|FPOfk7u^B8S{YJ2M>sM@R+$ delta 104 zcmcZ;u`ZIs%|FPOfk9{4L=HI#KSy6z1_lNJb2CE)T?ME7(!ApG)YKA%jcR5(R-P`# l3P4FCAk7S<85q<3_u7XohVrE5Zp29}86caN~7h?sW hlpc^~2GR@+Dj}XBMnIYmh*8vs1UY*H#h8HD6aaU(6m0+i diff --git a/sound/direct_sound_samples/cries/bramblin.aif b/sound/direct_sound_samples/cries/bramblin.aif index 0c8a4a5dab9251ef4a3fd441c4e9de0acdcd8e5e..b55e43fe77ad4c54a7016cfdd2cd39bcad847a44 100644 GIT binary patch delta 14 VcmZ4TopH%`#tFKNWgGR%ssS?`20Z`( delta 14 VcmZ4TopH%`#tFKNr5p9issS?>20Q=& diff --git a/sound/direct_sound_samples/cries/braviary.aif b/sound/direct_sound_samples/cries/braviary.aif index 8c20dd2b73e6e134641bfb82799d16e2d2d309b7..0cf3fc403ef3bf14db64cb0b5637bc62df3bd266 100644 GIT binary patch delta 21 ccmey7dM}m7%|FPOfx+mSqou09&R9+5i9m delta 47 zcmcbY`Xg1%%|FPOfx+m5qo@1VevZDbK)yh@W0-5a PV~}%vK$ww*8G{J`2#pSW diff --git a/sound/direct_sound_samples/cries/brionne.aif b/sound/direct_sound_samples/cries/brionne.aif index 76e37dddfcbedd5d4ce88dc062e58ffdda61bbf8..ac026ada88245f4f49cd0e061f1000603693e5b8 100644 GIT binary patch delta 22 dcmeBcXFSx#$l>N6N6O+E@y@6s(Kx_#BZ)p@d diff --git a/sound/direct_sound_samples/cries/bronzong.aif b/sound/direct_sound_samples/cries/bronzong.aif index 16e171e4f8f22071593e51b523f77a1dc8260f74..628ec30895c38a07cbd079d5ab2da59d00c2c3ae 100644 GIT binary patch delta 22 ecmbQXh4Im5Mh-XsAYTTC$XgRR*3~MAZhb delta 100 zcmZp&xM0EI<{#wCz#!u>kwZ?*&(YVFfq{X~%+yjrSHYMnIY$h*8yt1UY*H1wqOT4FGb@6vzMo diff --git a/sound/direct_sound_samples/cries/burmy.aif b/sound/direct_sound_samples/cries/burmy.aif index ea15d0c71a32b4fce1b8a27de5aa5e0acfe5797c..80478166f5e3f3e23073b95574f75dbff2a8a3bf 100644 GIT binary patch delta 20 bcmexmdd!r=%|FPOfkA5DL=L%)P79;}N+|}T delta 68 zcmX?R`pcBV%|FPOfkEoiL=HJIPru+01_lNZ8wQ4YAcTUA3d^J<{2YBVkwb2yQ-Ux6JL?5` delta 68 zcmZou-=)ss<{#wCz#zP7B8Qxqr(bXg0|SGI4Ff|x5JJI5g*0IaKSy6zAYUNdG0ZjI PF~~VSAk4tfh`|T|S*N2G#%o delta 102 zcmdmWjWF)4z>%|FPOfkB6BB8S{Yr#IRFLkI>u delta 68 zcmbOfaV&zv%|FPOfkDS^B8Qxqr(bXg0|SGI4Ff|x5JJI5g-_ZNevZDbK)yh@W0-5a PV~}%vK$x+y5rZKB0#FWh diff --git a/sound/direct_sound_samples/cries/calyrex.aif b/sound/direct_sound_samples/cries/calyrex.aif index 895f37d41e16225f171aa6a3dd7f762a18d7399a..59c41a4fdb76fa24040b2cf6d20cbcba9c91a701 100644 GIT binary patch delta 21 ccmaEKmvPx0Mh-XsAYTTCJh_P+atlN909geGCIA2c delta 212 zcmZ2>hw;%}Mh-XsAYTTCyjv4FWbq)0l^o&e27pmped%74a0ClthX=WhJz)&3$5fK5T#eq0DKdq!Zu_%=R z#Vn`-L7;-%#H{?H_@tu5ycC9%#NrI7lmJL7GY=?LmReMtnV-jC0F{vj$|UFK79^Hr YCgr5YC-H-{7BgfP=bPmgm>4nu0GTm43jhEB diff --git a/sound/direct_sound_samples/cries/calyrex_ice_rider.aif b/sound/direct_sound_samples/cries/calyrex_ice_rider.aif index 2a278279084b231e9a00d683dc0442b5ed4a776f..a6be291e1dc0e7d4386d60adc99ddf67cddf6345 100644 GIT binary patch delta 14 WcmezLobl6h#tFKNM>gsmDFy&LWCu+E delta 14 WcmezLobl6h#tFKNhd1gSDFy&LUk6M8 diff --git a/sound/direct_sound_samples/cries/calyrex_shadow_rider.aif b/sound/direct_sound_samples/cries/calyrex_shadow_rider.aif index 07cc384332f99ebbd7619ee20070c38d37b547e9..2d3c43d978bb2e2ad5a06e1310d349abc8d3faf2 100644 GIT binary patch delta 14 Vcmdnq delta 68 zcmaDAIWLOC%|FPOfk9VnB8Qxqr(bXg0|SGI4Ff|x5JJI5g;P2bevZDbK)yh@W0-5a PV~}%vK$x+SF@q5R1Aq=& diff --git a/sound/direct_sound_samples/cries/capsakid.aif b/sound/direct_sound_samples/cries/capsakid.aif index 7a906ead56f92d24e9629121aa26e60ac45de21b..a93a531cdb0cf6a92b843466ba30e2904b8938dc 100644 GIT binary patch delta 16 XcmX>XaV}zlE~CO^Lv^Q(1^2W8Im-ru delta 16 XcmX>XaV}zlE~ETpLv^Q(1^2W8Il=~k diff --git a/sound/direct_sound_samples/cries/carbink.aif b/sound/direct_sound_samples/cries/carbink.aif index 79a934fcdc7e0947129b26fe0392fff789efec2e..dfdc907bd7b07d23ce9e1bfeb26776da70b8832a 100644 GIT binary patch delta 22 ecmaF0oN>-_Mh-XsAYTTC;3*S1v6^8%- diff --git a/sound/direct_sound_samples/cries/carnivine.aif b/sound/direct_sound_samples/cries/carnivine.aif index edc8bb049ffb0c3a081e6225b995be3de7aad12d..491e846a1a445df60684655cb8a2a2db1c48bac8 100644 GIT binary patch delta 20 bcmaD>wyBK6%|FPOfx%j9B8S{YCmw46OVcczZV%|FPOfx+Iz(bLUsqM9P3++;(0;f>MU_5hqh2 delta 68 zcmZ2vam|9m%|FPOfkDP^B8Qxqr(bXg0|SGI4Ff|x5JJI51tu8@KSy6zAYUNdG0ZjI PF~~VSAk4_rkih}~-$D&t diff --git a/sound/direct_sound_samples/cries/celesteela.aif b/sound/direct_sound_samples/cries/celesteela.aif index f09fe03c30246046bc4e86283bd7c446ab1732fa..acab333235dfb38c9d2d968a33127512e810d9bc 100644 GIT binary patch delta 22 ecmX@}i1F7$Mh-XsAYTTCf=?4U_}C5?bIGmvIr&7({Fs80vu#3N|V%ij?wm^mPUDg~A=f TT;m;soZ|z0!=2(y%}f~ppmw_2mt^xGX_Ec delta 14 Wcmcb%lJVL~#tFKN%Qxz+2mt^xE(SpW diff --git a/sound/direct_sound_samples/cries/charjabug.aif b/sound/direct_sound_samples/cries/charjabug.aif index 6bf60778c4b83bf513322ca2f246d0b92d372e6c..ed5bd7d88be89ec26ac008449ae26b62155a103c 100644 GIT binary patch delta 20 bcmaD>Hl>Wi%|FPOfx((*B8S{YyLVOqN`eNs delta 104 zcmbPI_NTXlevZDbK)yh@W0-5a PV~}%vK$wAn34;Xy@8=FE diff --git a/sound/direct_sound_samples/cries/charmeleon.aif b/sound/direct_sound_samples/cries/charmeleon.aif index 0cf2f47a1baf61d8cf8bb5849356f08ca2c4bc8a..9a9a14e3bb81f2f0a24d469d86e0a3eb9767c587 100644 GIT binary patch delta 20 bcmaE5vCV?R%|FPOfk8%ZB8S{YCjl7%La7C9 delta 68 zcmdmH@yde3%|FPOfk7r|B8Qxqr(bXg0|SGI4Ff|x5JJI51u+>3KSy6zAYUNdG0ZjI PF~~VSAk4tPl)(r9@E#4M diff --git a/sound/direct_sound_samples/cries/chatot.aif b/sound/direct_sound_samples/cries/chatot.aif index 6dc58e519cfb320957f52480bba23f5c390961c8..62a961a82f4e4ff8fe4eee523385a2a7199237fb 100644 GIT binary patch delta 20 bcmeAQxfaaf<{#wCz@T|+!ey%<{#wCz@Wu6kwZ?*(=RxLfq_B9hJm3T2%%u3!Zu9_KSy6zAYUNdG0ZjI PF~~VSAk4(XkiiT9?spCT diff --git a/sound/direct_sound_samples/cries/cherrim.aif b/sound/direct_sound_samples/cries/cherrim.aif index fee1212784aac4ddba181fc5a0c2c3918f1ecb2d..d70cf77b022878fd75e0e5ae6316da72d1cfabbd 100644 GIT binary patch delta 20 bcmeAQz81vc<{#wCz@X_jkwb2ylYu4xLgod$ delta 68 zcmcZ>)D_I(<{#wCz@XVQkwZ?*(=RxLfq_B9hJm3T2%%u3f|;g-pQEoUkS`GK80H%9 P7~~uu5N2Xz$Y2Zr{4Wjm diff --git a/sound/direct_sound_samples/cries/cherubi.aif b/sound/direct_sound_samples/cries/cherubi.aif index 02fd6d6dd0892161ed9cd0f89b443b33958c3687..703c1d5f8b81694553920cb3cf6a941c59889d16 100644 GIT binary patch delta 20 bcmca+xX6&h%|FPOfk9%{L=L%)PBjt$Ld6CL delta 68 zcmZ2vc+HT*%|FPOfkEQjL=HJIPru+01_lNZ8wQ4YAcTUA3QZCcevZDbK)yh@W0-5a PV~}%vK$wY<0fPYm1KbWh diff --git a/sound/direct_sound_samples/cries/chesnaught.aif b/sound/direct_sound_samples/cries/chesnaught.aif index aea55fe6927b8da23c2c788df9dd9986d8a820ce..80cff836982e0c20f85145ca63f9b72332354c82 100644 GIT binary patch delta 22 dcmZ3nkn!3AMh-XsAYTTC0KbVGavSXo0svLt2EqUU delta 106 zcmcb%fN{k_Mh-XsAYTTCfCUpd_}C5?bIGmvIrP!I78F#^(pK#Z;M(qYi delta 98 zcmZ2x{mGic%|FPOfkF1wL=HJIKSy6z1_lN`GgAWvT?OZi)Z&87JcW&F4YFpQF2)K# hDLo*~45S$tR6;yMjDR#B5TmFM33B!ZiZKDPApmRi6iEO8 diff --git a/sound/direct_sound_samples/cries/chi_yu.aif b/sound/direct_sound_samples/cries/chi_yu.aif index 55ca0598b7125327c31ce81be51a0558db6edcd5..60131a9e4637450b95d5ab4645ed499d2d4fc49b 100644 GIT binary patch delta 22 ecmX^2kn!9@#tFKN3nm+;r%e8kCbn^fS^)riObR>z delta 22 ecmX^2kn!9@#tFKN^Cugor%e8kCbn^fS^)riKMFel diff --git a/sound/direct_sound_samples/cries/chien_pao.aif b/sound/direct_sound_samples/cries/chien_pao.aif index 1e3d573881871e2ec90a9dc756186ad7eb653593..c598dac8d23d6deb34ff282bb1e8a96eb2cc1174 100644 GIT binary patch delta 22 ecmeBs$k_Lgae^*m!eqzXy_4%QxHo>Akq-cHT?#J% delta 22 ecmeBs$k_Lgae^*m{A9=6y_4%QxHo>Akq-cHPzo*p diff --git a/sound/direct_sound_samples/cries/chikorita.aif b/sound/direct_sound_samples/cries/chikorita.aif index b5ccaf7cbfa954c35104586e6184f2769a6a7c89..63d5c950337302be0611c567b711abe39cab7444 100644 GIT binary patch delta 20 bcmew+a!7>3%|FPOfq~0vB8S{YCmAjPKP3e* delta 68 zcmX>k@=b)p%|FPOfq^S;B8Qxqr(bXg0|SGI4Ff|x5JJI51tl&CKSy6zAYUNdG0ZjI PF~~VSAk5Izh`|g1;rI=2 diff --git a/sound/direct_sound_samples/cries/chimchar.aif b/sound/direct_sound_samples/cries/chimchar.aif index 95c90b6331a7550232f17646a15b23732c3e2713..06514a4d9040a73a53831c494115d58d1010d3c0 100644 GIT binary patch delta 20 bcmeAxxmC>J<{#wCz+ic4B8S{Yr!AHMP3i|O delta 68 zcmcar+*iWk<{#wCz+lBTkwZ?*(=RxLfq_B9hJm3T2%%u3!Y)e*KSy6zAYUNdG0ZjI PF~~VSAk5g(fWZs^2c`~j diff --git a/sound/direct_sound_samples/cries/chimecho.aif b/sound/direct_sound_samples/cries/chimecho.aif index b7aacc8bf3c3cff61eed8f9cb67f465b86d1e19d..7b2b45fac2029b530e8d0c4ba8cfd649f6f8f9a7 100644 GIT binary patch delta 20 bcmX@5K24p&%|FPOfkC)$B8S{YrvhOBKI;X! delta 68 zcmbQHeoCFg%|FPOfkF7tL=HJIPru+01_lNZ8wQ4YAcTUA3T46)evZDbK)yh@W0-5a PV~}%vK$x+q1%nv?^8XG0 diff --git a/sound/direct_sound_samples/cries/chinchou.aif b/sound/direct_sound_samples/cries/chinchou.aif index 889cea6c2294dc5d8bd470ef16e5313acbd0b467..846df5079cdea97c20670a314b422361a75c7319 100644 GIT binary patch delta 20 bcmaE4xXzHn%|FPOfk9%~L=L%)P8|{eMFj>o delta 68 zcmZ2y_{fmM%|FPOfkEQdL=HJIPru+01_lNZ8wQ4YAcTUA3Vjk1evZDbK)yh@W0-5a PV~}%vK$xMq0fPYm4h;@( diff --git a/sound/direct_sound_samples/cries/chingling.aif b/sound/direct_sound_samples/cries/chingling.aif index 8154abc5caeba36c97eff629bf1eef86a9d29ae5..dd3b00915b2b52fec1d32b29877b8699ceab565e 100644 GIT binary patch delta 22 dcmX@t%{Z%@k;BbD$d`e^b<#u*xs6UGt^iZ52KN8} delta 70 zcmbQ$&3LYxk;BbD$d`e^_1HuXIWbSa;1C7|1`!(uhI$}`f{hAQt`dHZzOF#NK)7R= RYrJESb9_LUiLo(*0RTQq4>14$ diff --git a/sound/direct_sound_samples/cries/cinccino.aif b/sound/direct_sound_samples/cries/cinccino.aif index b4df2ea076730d00ef2c2631cfbee4de2e1111a8..6205aaf2b07b13020eb467fe7b6bd22126faa692 100644 GIT binary patch delta 23 ecmccC&$y?bk;lzH$d`e^eT$=~o7+aU4ekJ7K?l+R delta 49 zcmdnf&v>n$QO(Ui$d`e^{hXtxo134buPXxsgHX6*m}|UakaK*1Z@5#usj&&eMxG7s E0Bu(e7XSbN diff --git a/sound/direct_sound_samples/cries/clamperl.aif b/sound/direct_sound_samples/cries/clamperl.aif index 9046fa0c2ced0a189072dad547b1d142fff8a559..186a1f9b408d17d2ca3ab098f862fecd4cb1b26e 100644 GIT binary patch delta 20 bcmX@-KFgiM%|FPOfkAoFL=L%)P9@3!M9T&# delta 68 zcmbQ`e$Ji4%|FPOfkFA$L=HJIPru+01_lNZ8wQ4YAcTUA3RTJyevZDbK)yh@W0-5a PV~}%vK$x+a8G{7?3?dG2 diff --git a/sound/direct_sound_samples/cries/clauncher.aif b/sound/direct_sound_samples/cries/clauncher.aif index b05ec5db787a0b07f512675f23cf5b5736e59a8c..ab9cbf9ce1bb3fe04a86c0b761090e3f1b17ccab 100644 GIT binary patch delta 20 bcmaE(H%pJh%|FPOfk9koB8S{YyDwq@KpF-3 delta 104 zcmbQG_ePJy%|FPOfk8ZFB8QxWpQEoU0|SGAnWd3}u7Yz;VrgD-Mrx75Mzt?uR-P`# l3P4FCAk7S<85q<S( nF2)K#Nh2W545S$t)I&T&jDWNN5Toe`33B!Zih|Ucm@ohUZ59_i diff --git a/sound/direct_sound_samples/cries/claydol.aif b/sound/direct_sound_samples/cries/claydol.aif index 07cac57a76781b2b9e4619f26d143be38ac90029..9da5f5bbb76b3fc4882ca3748dea886b17d79055 100644 GIT binary patch delta 20 bcmccTy~>-z%|FPOfkAcAL=L%)PA#ecNN)yp delta 68 zcmZ4Geb1Z2%|FPOfkE}!L=HJIPru+01_lNZ8wQ4YAcTUA3SFuaevZDbK)yh@W0-5a PV~}%vK$x+K34<8`99Ryv diff --git a/sound/direct_sound_samples/cries/clefable.aif b/sound/direct_sound_samples/cries/clefable.aif index 8ebb7f340028994abed7714a085abe667e3eebea..e04bf536ad3b0b7f735d7a93277e6bd5d3f1e8f3 100644 GIT binary patch delta 20 bcmX@6IZ2bl%|FPOfkC8eB8S{YryLOgK79qR delta 68 zcmbQFc}$bT%|FPOfk9;7L=HJIPru+01|Y|VfuSAlK24m%%|FPOfq}bkB8S{Yrvh#OJX-~c delta 68 zcmbOxeoCCf%|FPOfr0zbL=HJIPru+01_lNZ8wQ4YAcTUA3T509evZDbK)yh@W0-5a PV~}%vK$xMqF@rGx=o1ac diff --git a/sound/direct_sound_samples/cries/clobbopus.aif b/sound/direct_sound_samples/cries/clobbopus.aif index 886a5208be83cce0dab20c7af48289190bac7b15..ebce642966d2d750ed90f560c117d5898d509362 100644 GIT binary patch delta 12 TcmbPNHm_`gF5`!ddLOI+Cb0$J delta 12 TcmbPNHm_`gF5~-+dLOI+CaeYD diff --git a/sound/direct_sound_samples/cries/clodsire.aif b/sound/direct_sound_samples/cries/clodsire.aif index bdbadd64fbaaf72c23b35bd2e7386f75150567fb..17aea97e46d974e9ef91887c37bcd489777485b3 100644 GIT binary patch delta 27 jcmdnd&bXtUae^*m*G9u=#>oNp0+Zt$I5sb26n6puizNvl delta 27 jcmdnd&bXtUae^*m=SIV5#>oNp0+Zt$I5sb26n6puixUYS diff --git a/sound/direct_sound_samples/cries/cloyster.aif b/sound/direct_sound_samples/cries/cloyster.aif index d93f93d8be44dc58c62fdaad4eea496b40b3a679..b69d0478bf518ca6804b7f09330628a8195af473 100644 GIT binary patch delta 20 bcmeAQycWRW<{#wCz@Xtbkwb2ylYs^RLX-uz delta 68 zcmcZ>&=ttx<{#wCz@X7IkwZ?*(=RxLfq_B9hJm3T2%%u3f|-VdpQEoUkS`GK80H%9 P7~~uu5N2R$$Y2Zr`rHlk diff --git a/sound/direct_sound_samples/cries/cobalion.aif b/sound/direct_sound_samples/cries/cobalion.aif index e53ea9b030a75b3ed4153701b6f896ba93659ca9..4a21505b5b50e4bcb4b90147cfa7f81bf4939e91 100644 GIT binary patch delta 22 dcmey-$#|%fk;BbD$d`e^W!FRwxs6V9TmV~n2a^B* delta 72 zcmX@q$@rs_k;BbD$d`e^<-W4A T*LcSu=lB5MaHn`P6H^8NgK7|$ diff --git a/sound/direct_sound_samples/cries/cofagrigus.aif b/sound/direct_sound_samples/cries/cofagrigus.aif index 5c5c426e37136d3a358113f33918734167cab499..6fbf1c16f87bedd484373109887c74449eddb51d 100644 GIT binary patch delta 28 kcmX>$nQ_fzMjki+AYTRs&n1qYZf+CR6dCI_denIW0EE8?^#A|> delta 54 zcmZ28neo_UMm0D8AYTRs&wY-bZf<^#zOD=m3_{_KVXpCxLC*03zTr;sriKO#6L}OF KYd7lEc>(~eyAK%v diff --git a/sound/direct_sound_samples/cries/combee.aif b/sound/direct_sound_samples/cries/combee.aif index d07abbb15cb1e891cc634caeac1afca80ddf1a41..6aaedb642d1202e8a74db82c57c28937a45be2b7 100644 GIT binary patch delta 22 dcmZqbXFS)($l>N6N60sta;4v+u< diff --git a/sound/direct_sound_samples/cries/combusken.aif b/sound/direct_sound_samples/cries/combusken.aif index 2f53b8f838f5d664e56a8aa3f85607ffaafb53aa..58707c30b8bbc6bc67bcd12d5dbcf646152fc7e6 100644 GIT binary patch delta 20 bcmdl~@Gqak%|FPOfx-OSL=L%)PB+W}R0apK delta 68 zcmeyDzo~%3%|FPOfx$v+B8Qxqr(bXg0|SGI4Ff|x5JJI5g?r`_evZDbK)yh@W0-5a PV~}%vK$wxK8G{J`BX17$ diff --git a/sound/direct_sound_samples/cries/comfey.aif b/sound/direct_sound_samples/cries/comfey.aif index 8b07ec9891051d28e285ca8814e17c0264520209..cb91d0cbd72d88b993efb5a7bf74430a8264e655 100644 GIT binary patch delta 22 dcmeBJ&A4wBBZr%RkS_y6sM$mgxs6s5p#V}726O-b delta 98 zcmdnDim_ugBZr%RkS_y6Xv0JfIT1fcUsnbO1|D-W69rub=ltBX)XI%&5}{_EF2)K# i2|Xaq45S$tR6;yMjDR#R5F@J&33B!Z3V{@vm;eA%j}ylL diff --git a/sound/direct_sound_samples/cries/conkeldurr.aif b/sound/direct_sound_samples/cries/conkeldurr.aif index 96e991d493937dcecff47c3683fdae1312343959..09885ab2ef05b98fdab8e2e6e53997215fc2fed3 100644 GIT binary patch delta 23 ecmaDgiSfcDMjki+AYTRsPY*{=H@A&yE}j5iiU%wJ delta 49 zcmcaGiSgAWMm0D8AYTRs&m>1rH#a{=UsnbO2BC1rFxPm;Am{i1-*BgRGb0OzjXW-% E0A`^LbpQYW diff --git a/sound/direct_sound_samples/cries/corphish.aif b/sound/direct_sound_samples/cries/corphish.aif index 2605e1fd260f4cb849ecbac556f93b3fca4623b9..9bc708e2fb4194aa6907c31403658a0b237ddffc 100644 GIT binary patch delta 20 bcmbQFe@~CY%|FPOfk8ZMB8S{YCkt@^KB5J1 delta 68 zcmcboH%Xtv%|FPOfkC`$B8Qxqr(bXg0|SGI4Ff|x5JJI51v_yGKSy6zAYUNdG0ZjI PF~~VSAk5grkii51>Xi+w diff --git a/sound/direct_sound_samples/cries/corsola.aif b/sound/direct_sound_samples/cries/corsola.aif index 6eae55ea726e92ee035f2a184f8f7b528c0f8025..087308d8fd9ca4f5849300692d4407102df36d77 100644 GIT binary patch delta 20 bcmX?P)Mv!u<{#wCz#z#skwb2y(+ddzJTe8k delta 68 zcmeA(I%LG*<{#wCz#wTgkwZ?*(=RxLfq_B9hJm3T2%%u3!aE5GKSy6zAYUNdG0ZjI PF~~VSAk4_fh`|H^_x diff --git a/sound/direct_sound_samples/cries/cosmog.aif b/sound/direct_sound_samples/cries/cosmog.aif index 729d5e790ac144799968af9faeb7314504b2bb12..deeb60b94d7c95ae685de9eab0c3186f7d291bf6 100644 GIT binary patch delta 22 dcmaFS%s8)^k;BbD$d`e^aoR)?}F2)K# i2|Xaq45S$tR6;yMjDR#R5F@J&33B!Z3V{@vSpoois}yel diff --git a/sound/direct_sound_samples/cries/cottonee.aif b/sound/direct_sound_samples/cries/cottonee.aif index a459a62f726aacc83689b3ccc89e70a1fd2d8175..207ac9d12df9dd791e98b6e048fa0749a37b3e7f 100644 GIT binary patch delta 20 bcmez5vBQJI%|FPOfkDM!B8S{YBOw(4Md1aT delta 80 zcmdnt@yUb3%|FPOfk7o}B8ME0pQEoU0|Nt#sfn4wMl~T7Jx>>71)zW$kY)zb3=GmC Yo*_m+ngxh~szQRCy@4!{oT)Jb0F#joFaQ7m diff --git a/sound/direct_sound_samples/cries/crabominable.aif b/sound/direct_sound_samples/cries/crabominable.aif index e83c4e1d5f0658c27526496e7b7c4565724cbb34..1d6b3d4caf24a470b89ba39cae1ae20f705ac76c 100644 GIT binary patch delta 22 dcmX>yo$=i?Mh-XsAYTRs@3e^=avL2yya8EF2MPcH delta 110 zcmaDijq%8IMh-XsAYTRs?>!Sa0(~oQo2Z@^dru5|eULH>!Df o+jzPdD*&ZUfHX6ZW?;|?@eDBn(!xNDsV5}J*&8SUQfg!X00ci7EdT%j diff --git a/sound/direct_sound_samples/cries/crabrawler.aif b/sound/direct_sound_samples/cries/crabrawler.aif index c5014e239d7afc3328ba82d841c20130f32e2d4f..8c42fb18e57aceb8d1263c7a274dc9a392a94cc5 100644 GIT binary patch delta 20 bcmZ3XaZR1W%|FPOfkF7(L=L%)b{m8NLrMlz delta 104 zcmcbnzCwe;%|FPOfk8xJB8QxWpQEoU0|SGAxv`~!u7Yz>Vp36Jc}{B4MzsyXR-P`# k3P4FCAk7S<85lG|JVT6tv>*_p>j(*Q_67=r6dGCr0MdUJ4gdfE diff --git a/sound/direct_sound_samples/cries/cradily.aif b/sound/direct_sound_samples/cries/cradily.aif index 695f4c36fe84b45f04ff5f17f692f62d71f92495..3fa5e006f99de456b99d19278ecc5522c94b2f5f 100644 GIT binary patch delta 20 bcmaD>xT%oC%|FPOfx%+cL=L%)PCXU?Pz47E delta 68 zcmdl~_^gn_%|FPOfx+V5L=HJIPru+01_lNZ8wQ4YAcTUA3X?1({2YBgJ<{#wCz@YkTB8Qxqr(bXg0|SGI4Ff|x5JJI5g>|YDevZDbK)yh@W0-5a PV~}%vK$wYv1%nX)8X6A7 diff --git a/sound/direct_sound_samples/cries/crawdaunt.aif b/sound/direct_sound_samples/cries/crawdaunt.aif index 091e34fbd5f97a80d2c03d037392d08222e5079d..7f8ee48bebf61202088ae8463c4633248651731a 100644 GIT binary patch delta 20 bcmdm%(3HU8<{#wCz@YzYB8S{Yr#t!pNk<10 delta 68 zcmZol*p|TI<{#wCz+j*^kwZ?*(=RxLfq_B9hJm3T2%%u3!XteNKSy6zAYUNdG0ZjI PF~~VSAk5grh`|T|`XUZb diff --git a/sound/direct_sound_samples/cries/cresselia.aif b/sound/direct_sound_samples/cries/cresselia.aif index e7f25b717dd81e98af692f3b37e4a4f8db322eec..5edd1b01948a906af539bf72aaea478aaa5ba3db 100644 GIT binary patch delta 22 dcmX@Lk#X8aMh-XsAYTTCh`xy&avPlrA^=%w2U!3B delta 70 zcmbQXk@3_7({Fs80vu#3N|W~MM(HL`nm%70^yEf RuJMjR&hY_ZCKeV9CID4551{}6 diff --git a/sound/direct_sound_samples/cries/croagunk.aif b/sound/direct_sound_samples/cries/croagunk.aif index 6ebc6cc8b179e76297a675bafc689851ee79507b..c5d42a42bf25cf5f5be117c08b6434da8d820781 100644 GIT binary patch delta 20 bcmeCHzE#EH<{#wCz+f9Rkwb2ylZh<=N)84@ delta 68 zcmcar)mP2o<{#wCz+l@pkwZ?*(=RxLfq_B9hJm3T2%%u3f|ad=pQEoUkS`GK80H%9 P7~~uu5N2X(%wPln8qW@b diff --git a/sound/direct_sound_samples/cries/crobat.aif b/sound/direct_sound_samples/cries/crobat.aif index f3f458171c8a544b4ff31dcba3180091fa60a2f8..956be378c7e096f66a654ca816c385d22ff48d42 100644 GIT binary patch delta 20 bcmX>U)fdI#<{#wCz@W=Ekwb2y(+eE{LYf9L delta 68 zcmeB+Iuym><{#wCz@Te2kwZ?*(=RxLfq_B9hJm3T2%%u3!aE%aKSy6zAYUNdG0ZjI PF~~VSAk5IrlEDA~09_7p diff --git a/sound/direct_sound_samples/cries/crocalor.aif b/sound/direct_sound_samples/cries/crocalor.aif index 897aaa860d83a1cb5ce6a81951af0a94fab2b930..9a622026df37c4489b32888ee3bb309ae49b052f 100644 GIT binary patch delta 16 XcmZ3Iza)QxE@Ro`3x<*#-DAxGJirE& delta 16 XcmZ3Iza)QxE@SEB3x<*#-DAxGJhuju diff --git a/sound/direct_sound_samples/cries/croconaw.aif b/sound/direct_sound_samples/cries/croconaw.aif index 791eb366dee863277383af332947258f21799984..b72db75f3ffd0bfd96beb89dc98065a085b7306d 100644 GIT binary patch delta 20 bcmeD3zvjo`<{#wCz@Y9okwb2ylYu$_LP7%s8cmQO(Ui$d`e^iO12?&CSoz*Oh^RK`7iY%r)LI$T>d1H{2=S)Xb7$B99{D J>5Y14908KW4*viE diff --git a/sound/direct_sound_samples/cries/cryogonal.aif b/sound/direct_sound_samples/cries/cryogonal.aif index 1f8255f7a0df135f424d9f4f9de02d730820ca25..b2f551274ea8b5b2f938667bbe3da9b04351af67 100644 GIT binary patch delta 34 qcmbO=ov~p$BafSZkS_y+cZH*;o7+S+MaH0sf!Y%jI5*bFc>@5jzzQq? delta 61 zcmZpe&Nyp2qnew4kS_y+_asM8H#a{=UsnbO2BC1rFxPm;Am{i1-*BgRGb2NWi9Cvo RffEf4Cv$r9Zp;z!1_1w65HkP( diff --git a/sound/direct_sound_samples/cries/cubchoo.aif b/sound/direct_sound_samples/cries/cubchoo.aif index a4c7f2cf8ed7981a656061307b368214b689329b..e10ca5a0ccf6dcaa8ed57896206fcd238c18a1da 100644 GIT binary patch delta 30 mcmaE7d&QQ=%|FPOfkEz!qoqoMnIY$h*8yt1UY*H1wqP;i~x(z6wv?x diff --git a/sound/direct_sound_samples/cries/cyclizar.aif b/sound/direct_sound_samples/cries/cyclizar.aif index 1d145154ec4d048960bf5026a8bea8f89902d883..eb32c91d5994c1182c3b3e1b7575e022cc8ff2da 100644 GIT binary patch delta 34 pcmX^2fbrY|#tFKN3KK7OOg@mtKe-@Xbh1G1MIf7X^9IIwc>oqv4}Aat delta 34 pcmX^2fbrY|#tFKN@)Iw1Og@mtKe-@Xbh1G1MIf7X^9IIwc>oqW4}1Us diff --git a/sound/direct_sound_samples/cries/cyndaquil.aif b/sound/direct_sound_samples/cries/cyndaquil.aif index 4f0b5481f1b1d0fd3ab8be066213b3a544a269a7..287c6496add7716940c0dc56bdb9659ad8638216 100644 GIT binary patch delta 20 bcmaDPy-u3L%|FPOfq{3~L=L%)P93}eL4O7H delta 68 zcmZ1{{YaX_%|FPOfr0ndL=HJIPru+01_lNZ8wQ4YAcTUA3Vpm1evZDbK)yh@W0-5a PV~}%vK$xMaDT5IJ{~iu9 diff --git a/sound/direct_sound_samples/cries/dachsbun.aif b/sound/direct_sound_samples/cries/dachsbun.aif index 492020a716beb5bde99e87276b6b1c7bd6710643..8e3ddbd781f6c0a7ba9376ce4cd6c88ee04b455e 100644 GIT binary patch delta 22 ecmbPIG^J>QF5|P!3wfm(C+o{`Yz|~RYz_cs!w3}s delta 22 ecmbPIG^J>QF5}b93wfm(C+o{`Yz|~RYz_csv-h2kZa< delta 70 zcmey>&bY3Fk;BbD$d`e^MQtL7oS3Iya0mkfgNO|SLp=~e!A6B!&Juo(zOF#NK)7R= RYrJESb9_LUiKQWfF#t6f4=w-z diff --git a/sound/direct_sound_samples/cries/darmanitan.aif b/sound/direct_sound_samples/cries/darmanitan.aif index 9ea80bd5df3a274e6e50c1075f813496ce16b791..902fdb69b4eb8fad74c301a8998812767b3d1df5 100644 GIT binary patch delta 28 jcmX@s&A6tUk;lzH$d`e^b%~>=o7+S+MaH^~9(Aq&g69a` delta 54 zcmZ3}&3LSvQO(Ui$d`e^b)TcBo134buPXxsgHX6*m}|UakaK*1Z@5#usev)WL>@)P J+Kqa3t^la;4+8)I diff --git a/sound/direct_sound_samples/cries/dartrix.aif b/sound/direct_sound_samples/cries/dartrix.aif index 2a8e24d87811abb32a1d8381591ed3b418dc13df..894fefb3311c0c5037d02b1ef05beb104c83fbe0 100644 GIT binary patch delta 22 ecmbO+h4IW}Mh-XsAYTRs&m$8#znQ_JxMh-XsAYTRsFM)|1a$S*<2HF4s delta 104 zcmdmWjISD^UUsnbO1_5&;69rubm(=9Ul+x77RE3RdBIy>M lF2)K#Ndq9w45S$t)IvN%jDWNN5Toe`33B!ZiZTJQ2>>b)7JmQ$ diff --git a/sound/direct_sound_samples/cries/dedenne.aif b/sound/direct_sound_samples/cries/dedenne.aif index 8e5ec29bec801b5fe2fafa09e679e0031b01cf01..843f5cf38fe997fa5521a42b86e73a6865c897ed 100644 GIT binary patch delta 20 bcmccP+ULsQ<{#wCz@XGNkwb2yO@_u7XQyN@`wSs=`LK3?&Os7h?sW ilmU=t2GR@+sv({sMnIYmh*8vs1UY*H#Xzb|jTr!WWfT?w diff --git a/sound/direct_sound_samples/cries/deerling.aif b/sound/direct_sound_samples/cries/deerling.aif index 50cf0bfc502cbe626b127084427c6ff0c1696aaa..9a4e8809b9e76ef7a138d61a5afbac293bd95f41 100644 GIT binary patch delta 21 ccmZ4IGsTC;%|FPOfkBPO(bLUsqZ)@A07EVXXaE2J delta 47 zcmbQ@v(87&%|FPOfk92p(bLV%&(YVFfq_9N+%e2G-Z98IKEOBJDc;o3kYOVahZ+DS C<{#wCz#v~Wkwb2yQ;a+SKLZ7^ delta 68 zcmZp&-)7I@<{#wCz#zYFB8Qxqr(bXg0|SGI4Ff|x5JJI5g(P_iKSy6zAYUNdG0ZjI PF~~VSAk4_fl)(T1@-GeQ diff --git a/sound/direct_sound_samples/cries/delphox.aif b/sound/direct_sound_samples/cries/delphox.aif index 95fcf181109ec852391a9aef1c5445145a9ec984..857af9f0ad207ace5e039355444e62a4d438bd19 100644 GIT binary patch delta 21 ccmeygg>l&yMh-XsAYTTCD7lFoatm#u08^C)r2qf` delta 99 zcmZ3sh4IrCMh-XsAYTTCsH}+`a$9unm24HRPni30$etQ5)s diff --git a/sound/direct_sound_samples/cries/deoxys.aif b/sound/direct_sound_samples/cries/deoxys.aif index d39b565a0ec3d5cf2a8be2bc373864a6530ee016..d9e3976e3c7903c316a3de498a6fab9adcb33015 100644 GIT binary patch delta 20 bcmZ1%_$z?J%|FPOfkC5aB8S{Yrw|PQNmK?# delta 68 zcmewrur83p%|FPOfk9*0L=HJIPru+01_lNZ8wQ4YAcTUA3Q-yoevZDbK)yh@W0-5a PV~}%vK$x+G8G|tZ8Ho;x diff --git a/sound/direct_sound_samples/cries/dewgong.aif b/sound/direct_sound_samples/cries/dewgong.aif index 52c8b6f9b35ce6fde0eb775547c63f184c74efe8..daa3e5fd5ce7fd198f89a300236ade8797ba5e2f 100644 GIT binary patch delta 20 bcmX>VG%bk3%|FPOfkBgRB8S{YrwM=XevZDbK)yh@W0-5a PV~}%vK$wArIfEGh0lW@> diff --git a/sound/direct_sound_samples/cries/dewott.aif b/sound/direct_sound_samples/cries/dewott.aif index 3f7724df600fa424146ee87cffda81221d027a98..e654be2372c5fa56a68878b7a946f379dd3fc6ea 100644 GIT binary patch delta 21 ccmdmIv&4qS%|FPOfk95j(bLUsqnd;q07Iq)cmMzZ delta 47 zcmZ2tv(HA&%|FPOfkDp9(bLV%&(YVFfq_9N+%e2G-Z98IKEOBJDc;o7f?*?%gd6}T Catp%% diff --git a/sound/direct_sound_samples/cries/dewpider.aif b/sound/direct_sound_samples/cries/dewpider.aif index ec3266ceba698170d7f79c4fa1ca71a6330dc469..0d8ade106b894e425915f63c1bed116e8503f3d5 100644 GIT binary patch delta 20 bcmeA%+Goh&<{#wCz#y@0B8S{Yn;8-SKn?~B delta 100 zcmdmI*ki=u<{#wCz#z#okwZ?*&(YVFfq{X~+|*D(SHUHT-3<(QQ7h?sW hlmU=t2GR@+Y9XE>MnIY$h*8yt1UY*H1wqP;4FNn*6a)YO diff --git a/sound/direct_sound_samples/cries/dhelmise.aif b/sound/direct_sound_samples/cries/dhelmise.aif index 09e0b93a66802a4fbf4e0f487ecdd1cca7c07e3a..892faf19094dbf2537c446aaafa704787d10b5e9 100644 GIT binary patch delta 22 dcmdn7oAK2yMh-XsAYTTC*rbUZavN=2VgX(C2U-9C delta 102 zcmaF0i*d(pMh-XsAYTTC*bNgo9=0TryH~ax;rlH>$bBT6nq` kD*&YofHX6ZW?)bY@eDBn()>V-sy-yh*&8SbQf6id02%cbNB{r; diff --git a/sound/direct_sound_samples/cries/dialga.aif b/sound/direct_sound_samples/cries/dialga.aif index 3bc128ec2dd4378f83b828be3e4c205433755e17..ead8acb9a1bf225171bd02a9cec5c85e80aa7d98 100644 GIT binary patch delta 22 dcmdnBlCfmI}HGE}4mW$(gAN8`Ul(TX?z{ lD*&YofHX6ZW?)ba@eDBn(tJRSqCO8WkauR-yzOD=m3<73m1`4_gE}7}+sYS&}l?ofxUinyg nx)>_}C5?bIGmvIrP!I78F#^&8K#Zm%B*@ttC<;<%XvhEnS$-D{ diff --git a/sound/direct_sound_samples/cries/diglett.aif b/sound/direct_sound_samples/cries/diglett.aif index dac924fb810c9385de7c11605e9e2b1a90fe9da3..cd212878fd77485cdb166e5b190e6f2bbd2bee21 100644 GIT binary patch delta 20 bcmez6eaxG~%|FPOfkAcOL=L%)P7724O|J&! delta 68 zcmX@+{mYxf%|FPOfkE}tL=HJIPru+01_lNZ8wQ4YAcTUA3d>X_{2YBY<{#wCz@X?hkwb2ylZGMyKGp?n delta 68 zcmX@-)a1WK}b diff --git a/sound/direct_sound_samples/cries/doublade.aif b/sound/direct_sound_samples/cries/doublade.aif index 70a0499e53666b3a42ccf2615d5fcc1392b4f33b..d931b3de0ad52525adccf2f00bb00cfdb9a79a13 100644 GIT binary patch delta 20 bcmbP~d?bm(%|FPOfx*ybB8S{Y8#zM&L<|ME delta 100 zcmX?-G%16IYSFi7h?sW hlmU=t2GR@+Y9XE>MnIY$h*8yt1UY*H1wqP;4FQ1I6o~); diff --git a/sound/direct_sound_samples/cries/dragalge.aif b/sound/direct_sound_samples/cries/dragalge.aif index be411ddb8e1d48785f6992826892631330e516f7..a9d11e9b65d269b9f8302d2f442d834af52b88cb 100644 GIT binary patch delta 22 dcmeA;&$#OxBZr%RkS_y6y3s@qxs5g==>S*N2G#%o delta 102 zcmdmWjqQO| diff --git a/sound/direct_sound_samples/cries/drakloak.aif b/sound/direct_sound_samples/cries/drakloak.aif index 3b19d47687358708ccbf1ee4186324216a3d0874..7b9beaad8978d2cbe7d68d661a23cbc9d22e6271 100644 GIT binary patch delta 14 WcmX>ym+{D4#tFKN(>Cf&^8)}b*#+DH delta 14 WcmX>ym+{D4#tFKNQ#a~O^8)}b)CJoB diff --git a/sound/direct_sound_samples/cries/drampa.aif b/sound/direct_sound_samples/cries/drampa.aif index e8c6dfbdda78e7f2f36a10dd0d53ccf85a91939c..81e185711e18041023add0751b7900f9edea64c4 100644 GIT binary patch delta 22 dcmX@Nk+EeXBZr%RkS_y6M9oAFxs6tF5dc@82Oj_c delta 98 zcmZqK$aroeBZr%RkS_y6#IcDSaw2|?zOD=m3_Ru*1`4_gE=7sC1&JHg;v&pEU5pig i5_&+I8AvlQsDyZi7y)TsAVyXl66EX+6apzSGXMa8u@q1M diff --git a/sound/direct_sound_samples/cries/drapion.aif b/sound/direct_sound_samples/cries/drapion.aif index a5418de2bdd50d210306d3827402b5fa79e35f0c..4ce0382fdc4662af2de29f1dddbc7f85735f24cd 100644 GIT binary patch delta 19 acmcZ=wJeIm%|FPOfk9VpB8S{UCtUzPg$08E delta 68 zcmZ1$bt{U)%|FPOfk8KDB8Qxqr(bXg0|SGI4Ff|x5JJI51vXs?KSy6zAYUNdG0ZjI PF~~VSAk4(nh`|5=`L+$t diff --git a/sound/direct_sound_samples/cries/dratini.aif b/sound/direct_sound_samples/cries/dratini.aif index 8de5583f0e69262a7b971adfd50f868bf62a323c..d79420d9c60a51d879423d97e4bd84462d1db3f5 100644 GIT binary patch delta 20 bcmX@7J4=_t%|FPOfkAB2L=L%)P9!gYnP|#tFKNA{+HYd;lt>1jqmY delta 14 VcmX>!gYnP|#tFKN!W;EOd;lt+1jhgX diff --git a/sound/direct_sound_samples/cries/drifblim.aif b/sound/direct_sound_samples/cries/drifblim.aif index a1afbdc71bf5f824bded017d6703036fd08009ff..891c49f2053d56415199aa0ef40bcb569ce7b9e7 100644 GIT binary patch delta 22 ecmeC1#&~NgBZr%RkS_y+*QJRZavPntcmV)cItP{j delta 70 zcmcaLm9cLcBZr%RkS_y+H`_!GIWbSa;1C7|1`!(uhI$}`f{hBhyd?Y_eO-ZkfpEt# R*LcSu=lFmy6C*PQ0{|m04$}Yt diff --git a/sound/direct_sound_samples/cries/drifloon.aif b/sound/direct_sound_samples/cries/drifloon.aif index bf5b8b20efda057147a54dfddcd065dc42177f75..ba4c94e979ad8416c3d740619b20f155bb7f336e 100644 GIT binary patch delta 20 bcmdm#`Y(mU%|FPOfx)P3B8S{YrwAheO-Kfk delta 68 zcmeyDvMH6r%|FPOfx&3iL=HJIPru+01_lNZ8wQ4YAcTUA3UNjfevZDbK)yh@W0-5a PV~}%vK$wY@~ diff --git a/sound/direct_sound_samples/cries/dugtrio.aif b/sound/direct_sound_samples/cries/dugtrio.aif index 875e4638e2996c0aeb5def638cf44d326dd0890f..1a0a05ecd01eb1429f6b1f67c084795336967041 100644 GIT binary patch delta 20 bcmaFoy~~@!%|FPOfkAcCL=L%)PE%9?OK%3X delta 68 zcmdnx{mz@i%|FPOfkE}zL=HJIPru+01_lNZ8wQ4YAcTUA3bRxt{2YB#rtJx< delta 55 zcmey6)RnB}<{#wCz+l+q=;`L>=jiLoz`!6B?il78?-=A9AK)AA6mMp1$uN;ekcAUXUhmq delta 57 zcmdnCoAJhOMm;zGAYTTC*b9!HZf?&0z99?@3{nh?4;?muSONh>`N^rp#i=O@NtFu0 L`4Jm=R>cAU0%Q@; diff --git a/sound/direct_sound_samples/cries/eelektrik.aif b/sound/direct_sound_samples/cries/eelektrik.aif index 4739bd80dbe6a6a938864d43b91d97577940b467..d39453bc0d83194050e62b4238895948f655b9e4 100644 GIT binary patch delta 21 ccmdm%F(-q^%|FPOfx$$?(bLUsqndyT07-}i+yDRo delta 47 zcmbP}u`NT*%|FPOfx$%2(bLV%&(YVFfq_9N+%e2G-Z98IKEOBJDc;P`lwl)}fC&IK C>I@+O diff --git a/sound/direct_sound_samples/cries/eelektross.aif b/sound/direct_sound_samples/cries/eelektross.aif index b8e362b7547116f0fe4e7ed1a611fc04eca2125b..b618fa5e9775611fc4720d5483606ad9f092f528 100644 GIT binary patch delta 28 kcmccB&v>Apk;lzH$d`e^eTSo`o7+S+MaD@RJtnyW0EwFkO#lD@ delta 54 zcmX@m&v>h!QO(Ui$d`e^{gR`no134buPXxsgHX6*m}|UakaK*1Z@5#unV}iOL>@)P Ki5vAMxdQ;U`VV*j diff --git a/sound/direct_sound_samples/cries/eevee.aif b/sound/direct_sound_samples/cries/eevee.aif index ce8bf61af7a9ef40dcae7218102e54308e41a19f..0706209843d80109ad8949bda4cc2a7e591d0061 100644 GIT binary patch delta 20 bcmca*zRaA%%|FPOfkArSL=L%)P7TrkM0*A) delta 68 zcmZ2xe#@N0%|FPOfkFDxL=HJIPru+01_lNZ8wQ4YAcTUA3T@I7evZDbK)yh@W0-5a PV~}%vK$xMiF@qrh3s4SW diff --git a/sound/direct_sound_samples/cries/ekans.aif b/sound/direct_sound_samples/cries/ekans.aif index 6d933819d84caab905d5a81788ad225c7ce17a75..80bc2fdfec2a617bd407493e53059efb16ba1147 100644 GIT binary patch delta 20 bcmdnw{m+ZT%|FPOfkCxwB8S{YrwCO5Ngf77 delta 68 zcmez8waJ^q%|FPOfkAcEL=HJIPru+01_lNZ8wQ4YAcTUA3UR6uevZDbK)yh@W0-5a PV~}%vK$wA%F@qrh7^)6> diff --git a/sound/direct_sound_samples/cries/eldegoss.aif b/sound/direct_sound_samples/cries/eldegoss.aif index 6c7bbe5129d739f90d186c5d070ecacc1b9e7341..56f9419b369ff5e804335164fb97faed235211f5 100644 GIT binary patch delta 14 WcmbPph;hy##tFKN?>6eaO8@{cz6O{8 delta 14 WcmbPph;hy##tFKNZ#U|_O8@{cxdxX2 diff --git a/sound/direct_sound_samples/cries/electabuzz.aif b/sound/direct_sound_samples/cries/electabuzz.aif index a57bdf37eb00c9acc7052e0f3b2f31cbfa9d4dd8..6071f1d4a9207d4fc600b1b8ba8620c36be5f80b 100644 GIT binary patch delta 20 bcmZ2i@vEG}%|FPOfx-IIL=L%)PFJh}RE`I_ delta 68 zcmexWzOI79%|FPOfx$*?B8Qxqr(bXg0|SGI4Ff|x5JJI5g+h<{#wCz#!5zkwb2yQ;G-xJpBca delta 68 zcmeCu+^5Om<{#wCz#y`1B8Qxqr(bXg1CV3Gz)%l_P_R)UOGLuY(bpBo7YKI@bB%Wl Oa*huOGcvYhFaiMTAPvs| diff --git a/sound/direct_sound_samples/cries/elgyem.aif b/sound/direct_sound_samples/cries/elgyem.aif index f1e94c13649415c320d0c42d6afe4436054fc142..04e9ec7ab66cdf5687a911371a072279d55347fb 100644 GIT binary patch delta 20 bcmZ1#`XPkF%|FPOfk7){B8S{YBQGrgNMHsa delta 80 zcmewmvMQ9r%|FPOfkA80L=HI~KSy6z1_lNeGXqnFjcQ(6dY&%E3P1rhAk7S<85m?j WJVT6tGz$;|RfPmOdqa7KhDHFgMh)8l diff --git a/sound/direct_sound_samples/cries/emboar.aif b/sound/direct_sound_samples/cries/emboar.aif index 4cdd5e0afc56ebd1197f5643a3a1a897ea7d0ffd..7bf61d285eb4c0d3c10d75af4efbbce6181a0b47 100644 GIT binary patch delta 26 hcmexSaIb*J%|FPOfx#lo(bLUsqM9P3!A1`Q3jlms2n7HD delta 52 zcmcat@S{M@%|FPOfx)7{(bLV%&(YVFfq_9N+%e2G-Z98IKEOBJDc;o7jA0^=BBTCB HJp&5>o)Zo; diff --git a/sound/direct_sound_samples/cries/emolga.aif b/sound/direct_sound_samples/cries/emolga.aif index c32a7274513ad3d21fe5bd0b88bf71e918f86f07..20172f144692f4275cdaf38ee5dfe0d91b64c5bb 100644 GIT binary patch delta 26 hcmdm^zDS+N%|FPOfkAkdqo{%|FPOfx+C*(bLUsqM9P3#zqefa{zg<2iE`q delta 52 zcmcbX_aRTs%|FPOfx$e((bLV%&(YVFfq_9N+%e2G-Z98IKEOBJDc;oFh+!g+BBT07 HJq>dJm}L$F diff --git a/sound/direct_sound_samples/cries/espeon.aif b/sound/direct_sound_samples/cries/espeon.aif index 51f96c911bfa6672282427cd8a5f4ea1bd4cee1b..bf1f52c94dd25158a947aafabb3911018adf9b3e 100644 GIT binary patch delta 20 bcmez8bIOOq%|FPOfkDk_B8S{YClxgSNu34x delta 68 zcmX@*^UsIF%|FPOfkCZoB8Qxqr(bXg0|SGI4Ff|x5JJI51uZoRKSy6zAYUNdG0ZjI PF~~VSAk5IxjKLfL4&V+z diff --git a/sound/direct_sound_samples/cries/espurr.aif b/sound/direct_sound_samples/cries/espurr.aif index d395bea397e229191d96c52820acc77cfa4b805d..6d82769b36afa991fa8455b254fd334929be8625 100644 GIT binary patch delta 20 bcmeyTvPFf%%|FPOfk8-TB8S{YD?T9rK(z%o delta 96 zcmdm@@=t}s%|FPOfkCKjB8QxapQEoU0|Nt(nYp=wu7YcEL1|IZMm0VmGfx*|1)zi; fkY)zb3=AqEo*_m+niq(XRfhyQdjo|)ii|7(^L`S} diff --git a/sound/direct_sound_samples/cries/eternatus.aif b/sound/direct_sound_samples/cries/eternatus.aif index 1dede8fdc4a87377f7f12ee6b5decd0f9d3b2c64..235bba61f9b1d9e9167b2b56c935ca40173a4715 100644 GIT binary patch delta 14 VcmaDhh3VN8rU|-?78~^}x&SX51&{y$ delta 14 VcmaDhh3VN8rU|-?<{R}ax&SX01&;s# diff --git a/sound/direct_sound_samples/cries/excadrill.aif b/sound/direct_sound_samples/cries/excadrill.aif index 8b2ef0869e8e612cc22d9f1692d1f007b2f261b3..cd372dffdb389186b299395b0634a0d627c73765 100644 GIT binary patch delta 23 ecmdlsgK^FbMjki+AYTRs9}!1SH@A&y0zLp$sRnKU delta 49 zcmbO;gK^soMm0D8AYTRsA3aA;H#a{=UsnbO2BC1rFxPm;Am{i1-*BgRQxju`jXVNA E08Um6vj6}9 diff --git a/sound/direct_sound_samples/cries/exeggcute.aif b/sound/direct_sound_samples/cries/exeggcute.aif index 384b9990940c4a45d0bf93139a16f0fffd4565cf..bd634c757040f614154cdd575142a05ad547ae4f 100644 GIT binary patch delta 20 bcmaFlxz3Zr%|FPOfk9>2L=L%)P8})$NZkg1 delta 68 zcmZ4I`N)&Q%|FPOfkEZgL=HJIPru+01_lNZ8wQ4YAcTUA3VkXPevZDbK)yh@W0-5a PV~}%vK$xL{5rZKB9y|`S diff --git a/sound/direct_sound_samples/cries/exeggutor.aif b/sound/direct_sound_samples/cries/exeggutor.aif index 15ddbbdfaa9aeaa9ff5a661b10bda5046385d831..094b27bc6f30f2519c0c652303eb267c62e7b1cd 100644 GIT binary patch delta 20 bcmZ2f^RAl1%|FPOfx-6KL=L%)PA6;uQt}6u delta 68 zcmaD?y{Lx6%|FPOfx%8{B8Qxqr(bXg0|SGI4Ff|x5JJI5g>$wNevZDbK)yh@W0-5a PV~}%vK$xL{F@qrh9o!Dg diff --git a/sound/direct_sound_samples/cries/exploud.aif b/sound/direct_sound_samples/cries/exploud.aif index 7b97db232dce3f102ed3bbb638240fa304bc9cca..98dafb1ee19ed1f3591fd031a1e8d85d97d57f36 100644 GIT binary patch delta 20 bcmbQ2_bQje%|FPOfx+z2L=L%)PDjiDPxJ>| delta 68 zcmaErJ1>vJ%|FPOfx%pCB8Qxqr(bXg0|SGI4Ff|x5JJI5g;Qn{evZDbK)yh@W0-5a PV~}%vK$wxGDT4_B5iJg( diff --git a/sound/direct_sound_samples/cries/farfetchd.aif b/sound/direct_sound_samples/cries/farfetchd.aif index d3838c6762d7f213d2444cdf22d6ca70690345ef..5a710ed7de15ba9bf78c6d0d394e3977ab6bd913 100644 GIT binary patch delta 20 bcmX>nJ4=?s%|FPOfq`$*L=L%)P9=N*J`n}0 delta 68 zcmbOwdrp?a%|FPOfr0PXL=HJIPru+01_lNZ8wQ4YAcTUA3RQd(evZDbK)yh@W0-5a PV~}%vK$wArF@qrh?}ZKL diff --git a/sound/direct_sound_samples/cries/farigiraf.aif b/sound/direct_sound_samples/cries/farigiraf.aif index 573520315de0aa7b1cb29c8be8318acd0db48328..d862b0d30e2fbe61922738c76fe88a1308670ef4 100644 GIT binary patch delta 18 acmdlok#WmJ#tFKNZIdTDW^SA=>j3~qjt5Kt delta 18 acmdlok#WmJ#tFKNt&=A@W^SA=>j3~qg$GLj diff --git a/sound/direct_sound_samples/cries/fearow.aif b/sound/direct_sound_samples/cries/fearow.aif index f111ca15a697c9e5f509520846929d1509b4f4c3..792269848223057ed6fc983612452e25d424df8b 100644 GIT binary patch delta 20 bcmdnw{LhKQ%|FPOfkClsB8S{YrwBy=N7e=` delta 68 zcmez8w8@#n%|FPOfkAQAL=HJIPru+01_lNZ8wQ4YAcTUA3UP`OevZDbK)yh@W0-5a PV~}%vK$wA%5rY{36F?4T diff --git a/sound/direct_sound_samples/cries/feebas.aif b/sound/direct_sound_samples/cries/feebas.aif index 7cc5452a4e33eace9065c6f00d3fecb733c2fd87..fc6e757134e6fbbcba98f679dc39e88e2da96968 100644 GIT binary patch delta 20 bcmew+cSw%I%|FPOfq~y@B8S{YCmDVKK)(e~ delta 68 zcmX>k_f3w&%|FPOfq_47B8Qxqr(bXg0|SGI4Ff|x5JJI51toq7KSy6zAYUNdG0ZjI PF~~VSAk5grlED-J=-CaF diff --git a/sound/direct_sound_samples/cries/fennekin.aif b/sound/direct_sound_samples/cries/fennekin.aif index a559267a27d32e90f78588bbb63d78970faa36d4..3feb83cdf8df403c7ad5f88f932bb9a584deaa3a 100644 GIT binary patch delta 20 bcmZ1#c_)Iy%|FPOfk7u^B8S{Y8#5gMM)C#v delta 100 zcmcZ;u_}_o%|FPOfk9`{L=HJIKSy6z1_lN`GgD&)T?Mz)yu8%x%)E_iW;zz0F2)K# iDFYzQ45S$tR6{&NjDR#h5TmLO33B!Z3Nit)2?GF{H59b~ diff --git a/sound/direct_sound_samples/cries/feraligatr.aif b/sound/direct_sound_samples/cries/feraligatr.aif index 070e204c3513309b064243d4891dd5699155f8b6..c71d66722bf04e34dba0b7e1f952d767a15d16c4 100644 GIT binary patch delta 20 bcmX?<+?UMZ<{#wCz+l)mkwb2yQ-&b`M+XK? delta 68 zcmeB6K9tPi<{#wCz+kv*B8Qxqr(bXg0|SGI4Ff|x5JJI5g*-zEKSy6zAYUNdG0ZjI PF~~VSAk5IrfWZ&|6wMBW diff --git a/sound/direct_sound_samples/cries/ferroseed.aif b/sound/direct_sound_samples/cries/ferroseed.aif index 24856cdd24eff09b1d33a09507e9ad7673dba6ee..1acd8342d0c35a51035f8c200f2bff96fea0fc2e 100644 GIT binary patch delta 21 ccmaFodc~E;%|FPOfkEkvqoIm1St6G{M8 C#toSO diff --git a/sound/direct_sound_samples/cries/ferrothorn.aif b/sound/direct_sound_samples/cries/ferrothorn.aif index 5e2d7a25794ab58f8e7098d751947c36bd68b10d..7e7f1ad3ad7be04c0e663118db4eddf4ce209828 100644 GIT binary patch delta 32 ncmZ1%JtdmQ%|FPOfkC&&(bLUsqM9OO+QdNdi3uDV)7^CeqZSFp delta 55 zcmbOdy)IhK%|FPOfkAhfqo1;a!hMaI;L KhO!&IJ#_)A=MLWh diff --git a/sound/direct_sound_samples/cries/fidough.aif b/sound/direct_sound_samples/cries/fidough.aif index 44609a2dd7a6fe880c959ec76e13f648204d212e..f2063bc79b4a34392b30b232ae1331191f7069fe 100644 GIT binary patch delta 22 ecmcZ*c_DIwF5{xj54m45PL`A8*euVqQ40Wb7zn)p delta 22 ecmcZ*c_DIwF5|+@54m45PL`A8*euVqQ40Wb2?)FZ diff --git a/sound/direct_sound_samples/cries/finneon.aif b/sound/direct_sound_samples/cries/finneon.aif index d6eb52466d1e954483252208fbdcb2ded4397d62..c2fe2f38bac7a0a5a837d6c5d37f00dd4f3bf184 100644 GIT binary patch delta 22 dcmbQ$!}zS5k;BbD$d`e^_1;7dxs6T-Tme_+2dDr5 delta 70 zcmaFX%{Z%vk;BbD$d`e^O=u#AoS3Iya0mkfgNO|SLp=~e!A6B+t`dHZzOF#NK)7R= RYrJESb9_LUiK!WbApj<)4(R{@ diff --git a/sound/direct_sound_samples/cries/flaaffy.aif b/sound/direct_sound_samples/cries/flaaffy.aif index a9f809d533cd86a67368162531250c61defe2ae0..068e82e76c054a52657be1e5a7784206ace20251 100644 GIT binary patch delta 20 bcmca-y2_Np%|FPOfkA4~L=L%)PAyUZMCk@I delta 68 zcmZ2wde4-@%|FPOfkEopL=HJIPru+01_lNZ8wQ4YAcTUA3SCkXevZDbK)yh@W0-5a PV~}%vK$xM00fQj`4P*{& diff --git a/sound/direct_sound_samples/cries/flabebe.aif b/sound/direct_sound_samples/cries/flabebe.aif index e309ae8c6274e58b351c516780f4cad9ba45ff50..a6dbe0321c6f9d9f7afd592b22a42d8c4a976da3 100644 GIT binary patch delta 20 bcmeCkU6aG%<{#wCz+k2_kwb2y4VxJNLOunA delta 114 zcmZ3J(~-;J<{#wCz+l!ekwZ?*&(YVFfq{X~%*;|jSHUeOF)1}ERbitVo0*%Zi?ISw z$__{~18D{ZlMv4kBOooyz`*$bpBaN0gC&CkgDw!eG2}2LG9)p)1mln(XK$b~kR~Go E0HMMb&j0`b diff --git a/sound/direct_sound_samples/cries/flamigo.aif b/sound/direct_sound_samples/cries/flamigo.aif index bed56a7f3131de1429d45c2e28ecb8f17189a5b7..2b022da5b07fd14e9ebed97e3acc7160bac74396 100644 GIT binary patch delta 20 ccmX?5cA#v6E~C&y!&j5@EZ8>7F)CRB09ug;RsaA1 delta 20 ccmX?5cA#v6E~DT?!&j5@EZ8>7F)CRB09u3xRR910 diff --git a/sound/direct_sound_samples/cries/flareon.aif b/sound/direct_sound_samples/cries/flareon.aif index d8e70213df9ff4317de51edaebea6815f6cbcc77..b8d33df49e57bfaa79a9800eba01c716620057e3 100644 GIT binary patch delta 20 bcmca-v&x3U%|FPOfk94bB8S{YCl)yXK@9~- delta 68 zcmZ2wbI*pu%|FPOfk7^8B8Qxqr(bXg0|SGI4Ff|x5JJI51ui)WKSy6zAYUNdG0ZjI PF~~VSAk5I%jKL59=(`Ps diff --git a/sound/direct_sound_samples/cries/fletchinder.aif b/sound/direct_sound_samples/cries/fletchinder.aif index 40623fbf323d8bf332f6725729b9dc1cb23d59db..2267e3fdfcc12ec4d0fc03cd8ff6ee40dfa6c49a 100644 GIT binary patch delta 20 bcmdlKc_)Iy%|FPOfk7u^B8S{Y2QwW2N1g@- delta 108 zcmcZ;u_=*_p>j(*Q_67=r6dD=<05$3s<^TWy diff --git a/sound/direct_sound_samples/cries/floatzel.aif b/sound/direct_sound_samples/cries/floatzel.aif index 60424b3679c8e92e38ebf21d5db26c9f40401466..36f34f5e903844bdb4dacd2b43c345fd574bfcf7 100644 GIT binary patch delta 22 dcmX@s!Z@jgk;BbD$d`e^iEAQ<+(xH2jsQ*N2EqUU delta 70 zcmbQ#!g#EOk;BbD$d`e^$!;QtoS3Iya0mkfgNO|SLp=~e!A6BojuL*3zOF#NK)7R= RYrJESb9_LUiJ>KfDF7rj4+Q`K diff --git a/sound/direct_sound_samples/cries/floette.aif b/sound/direct_sound_samples/cries/floette.aif index c55d10fb754244801012cc2105806def88135443..4244ce8eda6fb147396842fd4fcae5338e675f24 100644 GIT binary patch delta 22 dcmdlpo$=i?Mh-XsAYTRs@3e^=avNG diff --git a/sound/direct_sound_samples/cries/floette_eternal_flower.aif b/sound/direct_sound_samples/cries/floette_eternal_flower.aif index d6b9452b45307d9ab1039a8efec1d89c5f381df8..386815f08208324c87f16362dcf63b13f41c8b95 100644 GIT binary patch delta 22 ecmZ2Ch4IW}Mh-XsAYTRs&m$8#znQ`3|Mh-XsAYTRsFSUsrateNqzOD=m3=(GM2CfRa3T`?1sU;<;3L35@sYQ8- uIhq^QmU%jPx)>_}6sUZL_4IByp diff --git a/sound/direct_sound_samples/cries/florges.aif b/sound/direct_sound_samples/cries/florges.aif index 36b504932f6e781499d29148dd6b318fdf39285d..e652e68fa931545fe325315407490063da8e03ec 100644 GIT binary patch delta 22 ecmZ3tj`6`-Mh-XsAYTTCup1LO8ZsE8`XA&S$Mh_ lD*&YofHX6ZW?)ba@eDBn(tJRSqCOL6Iw_UI%|FPOfx)P2B8S{YryL^yNErrW delta 68 zcmbP~dMuU0%|FPOfx&3sL=HJIPru+01_lNZ8wQ4YAcTUA3PnZ|evZDbK)yh@W0-5a PV~}%vK$x+y0fQj`8Hx^? diff --git a/sound/direct_sound_samples/cries/fomantis.aif b/sound/direct_sound_samples/cries/fomantis.aif index 9690a53ee1360673bd0f08d375a82fc1c0a63ef9..a82e4d45249bf0e3b23b20e099cd84cff5ac9a4a 100644 GIT binary patch delta 20 bcmX@&|ILrX%|FPOfk8cQB8S{Yn*enHN;n2Y delta 100 zcmez7cf_B=%|FPOfkA!GL=HJIKSy6z1_lN`b5mmlT?M!N+{C<+%;Jq|0qPc>F2)K# iDFYzQ45S$t)IvN%jDR#h5TmLO33B!Z3WAgw8v_8jfE8N+ diff --git a/sound/direct_sound_samples/cries/foongus.aif b/sound/direct_sound_samples/cries/foongus.aif index dbd6f9c5cd7965630582620eebf54f230a5dca24..ca83e1b475f78405113281122ab146fbfe71e41e 100644 GIT binary patch delta 20 bcmdmC{m+WS%|FPOfkC!xB8S{YqX=05M%D%j delta 80 zcmexowZodj%|FPOfkAe|L=HI~KSy6z1_lNeQ%eJdjcO6HdY&%E3P1rhAk7S<85pEP YJVT6tGz$;|RfPmOdjnY@IZJZ}0IV+!r2qf` diff --git a/sound/direct_sound_samples/cries/forretress.aif b/sound/direct_sound_samples/cries/forretress.aif index 4fae6d0378c49399f9f5df50c7e1e8ce7f0133f9..9b8af8baa4b93a70fd7019884c1b7bac8e2b8c12 100644 GIT binary patch delta 20 bcmbQ|_sW;U%|FPOfkExjL=L%)PDj)LO4J7Y delta 68 zcmaFmJI{~9%|FPOfk9ntB8Qxqr(bXg0|SGI4Ff|x5JJI5g;Q!0evZDbK)yh@W0-5a PV~}%vK$ww%DT5&Z`$rBn diff --git a/sound/direct_sound_samples/cries/fraxure.aif b/sound/direct_sound_samples/cries/fraxure.aif index 25464a1ff70a83c26fb5e8eab8dd857e59e79e04..4586702b00f42a9ab49fdc6b91e77a316fdeda0e 100644 GIT binary patch delta 28 jcmZ27ov~{=BafSZkS_y+cax*1o7+S+MaGzo9x>hkd)Ek8 delta 54 zcmeC0&bVYcqnew4kS_y+_Z&x0H#a{=UsnbO2BC1rFxPm;Am{i1-*BgRQxhYGi9Cvo J(Hr$*yaAfE4uAjv diff --git a/sound/direct_sound_samples/cries/frigibax.aif b/sound/direct_sound_samples/cries/frigibax.aif index 10c5b819aaf0e295136c542d983dfa44c475a3d6..e8318a0cf1234e073b88baf70d5c82134800f55e 100644 GIT binary patch delta 20 ccmeBi>~Wl+%NRF#BmcC?{L<_jPal*A08d^AzyJUM delta 20 ccmeBi>~Wl+%NRR(BmcC?{L<_jPal*A08dc|zW@LL diff --git a/sound/direct_sound_samples/cries/frillish.aif b/sound/direct_sound_samples/cries/frillish.aif index c59a0a542fe94e0b8bb96fddadabbc7b2b9f95ea..71511b8bcf9ee29d3064163f14abb70d4196e2b0 100644 GIT binary patch delta 21 ccmZ2c-dE1!<{#wCz+m0x=;`LRQLV`u08YgQ&;S4c delta 47 zcmeAxUs0~+<{#wCz+k<=(bLV%&(YVFfq_9N+%e2G-Z98IKEOBJDc;o3m|-JNlQjTG Ckqr_6 diff --git a/sound/direct_sound_samples/cries/froakie.aif b/sound/direct_sound_samples/cries/froakie.aif index 240992ff354e251a7a161f515cbe20cfa6499d36..d6955de8bc9f89b0e4ed1fd43bd56321dd2bc4f6 100644 GIT binary patch delta 20 bcmbQ|bIF^-%|FPOfkE}uL=L%)HfvM?N6-eS delta 98 zcmccQJqAu7X=peqwfJs=`LKHL7NwF2)K# hDLo*~45S$tR6;yMjDR#B5TmFM33B!ZiZKDPIRG&R6RQ9K diff --git a/sound/direct_sound_samples/cries/frogadier.aif b/sound/direct_sound_samples/cries/frogadier.aif index fa0c54c3f350d741b3f17df5c3fe4eddfa3426a5..918abc5d845ac108543a5612b93435527db77a16 100644 GIT binary patch delta 20 bcmbP|d?bm(%|FPOfx*ybB8S{YJ2^uDL^=h$ delta 102 zcmX?-G$onC%|FPOfx)n6B8QxWpQEoU0|SGAnW?#gu7X=petKd`W@?ebMm0G@3r`ng j1)!t>kY)zb3=C=^o*_m+S^$XAbc6&sdjmz8fY<^6!UPp_ diff --git a/sound/direct_sound_samples/cries/froslass.aif b/sound/direct_sound_samples/cries/froslass.aif index 2c6a0be001934e517fe3537b8a8d3d4ad4bbf7d6..75febf4311c9281aa22978bae3e57fd6e1e5cee9 100644 GIT binary patch delta 22 dcmdnDov~{>BZr%RkS_y6bkjr*xs6UK(EwNt2Ri@& delta 70 zcmeC$&bV(oBZr%RkS_y6^tOo{a$=r-!66I`3?eoR4D~<=1sfHzq9yzseO-ZkfpEt# R*LcSu=lFmy6LSj&697*G4}t&y diff --git a/sound/direct_sound_samples/cries/fuecoco.aif b/sound/direct_sound_samples/cries/fuecoco.aif index 4c0d7eb07a5f5f496cbbaabe613092f64af13541..ee40234e0b1f3587647dd229008dfc32cd663e06 100644 GIT binary patch delta 15 XcmdmCwZm$HE+f}O!`zLt=gI&8FNX!; delta 15 XcmdmCwZm$HE+gke!`zLt=gI&8FMkE# diff --git a/sound/direct_sound_samples/cries/furfrou.aif b/sound/direct_sound_samples/cries/furfrou.aif index bbddc63c06c2980986130d8757b4b0d10f7bf396..d989bde3d3943055b2dfe853785c4e2db71b8fd1 100644 GIT binary patch delta 20 bcmexjz08`!%|FPOfkAfOL=L%)HVv`>M->K1 delta 100 zcmZ2x{l%KY%|FPOfkF1oL=HJIKSy6z1_lN`GjlTqT?Mz&qO_v?QiY9b4YC%VF2)K# jDFYzQ45S$tR6{&NjDR#B5TmFM33B!Zih)!anKJ+Yq{kH5 diff --git a/sound/direct_sound_samples/cries/furret.aif b/sound/direct_sound_samples/cries/furret.aif index 6ce107b10f3e00521dd7f91e5dcaf7fb3470df6c..cdf9447d734eaabf1e6cc91c089afebd5630a2a6 100644 GIT binary patch delta 20 bcmew*aZG~4%|FPOfq}m@k@fk%|FPOfq|!JB8Qxqr(bXg0|SGI4Ff|x5JJI51vMTCKSy6zAYUNdG0ZjI PF~~VSAk5Irh`|s5=n)Nv diff --git a/sound/direct_sound_samples/cries/gabite.aif b/sound/direct_sound_samples/cries/gabite.aif index 17226eb283068b070d47a2b0408176c0dccd3781..5ca21cec7ae9dad999093b599d937638deffc2d0 100644 GIT binary patch delta 20 bcmbPaanGE?%|FPOfkFD(L=L%)PCKLlMGgjv delta 68 zcmca-KFNZ^%|FPOfkB3AB8Qxqr(bXg0|SGI4Ff|x5JJI5g?-WzevZDbK)yh@W0-5a PV~}%vK$wY%34o)4G%LV{9EC$U0 delta 14 Wcmca}o$=0f#tFKNYd7kx%LV{9CkD&_ diff --git a/sound/direct_sound_samples/cries/galvantula.aif b/sound/direct_sound_samples/cries/galvantula.aif index d6823775657a67661bb41d0a2ff6abe67e881e18..8d890a2463655ed516d43594c922d635c1f22166 100644 GIT binary patch delta 26 hcmZq3c$UuN<{#wCz+imO(bLUsqM9P(j*T8Wi~)Ko2@(JR delta 52 zcmaEs-jJc@<{#wCz+n8t(bLV%&(YVFfq_9N+%e2G-Z98IKEOBJDc;oFf?*<$BIEXr HdOM5(okR~r diff --git a/sound/direct_sound_samples/cries/garbodor.aif b/sound/direct_sound_samples/cries/garbodor.aif index ed906101f30f5ae4d963211a5dd2650679d7bd71..09cad5cd7f9a4fb941815766b23005d23a7c3a03 100644 GIT binary patch delta 28 kcmbO+jq%@9Mjki+AYTRsuWyc?Zf+CR6d5mU^tj*!0FML;761SM delta 54 zcmex2m2t*2Mm0D8AYTRsZvjV7H#a{=UsnbO2BC1rFxPm;Am{i1-*BgRQ*#rBi9Cvo K=QrwI@B#pxvJXW7 diff --git a/sound/direct_sound_samples/cries/garchomp.aif b/sound/direct_sound_samples/cries/garchomp.aif index a5165a73381b3d4bb25c390c4408b58a4bd287c4..f96c62f93bdfd4356fe710db2cd620629717c119 100644 GIT binary patch delta 20 bcmZ3K^e&OZ%|FPOfx+O}L=L%)PA3ciPRIvH delta 68 zcmaEtxG0Ik%|FPOfx%E}B8Qxqr(bXg0|SGI4Ff|x5JJI5g>wcHevZDbK)yh@W0-5a PV~}%vK$wY%DT5&Z3}Oz4 diff --git a/sound/direct_sound_samples/cries/gardevoir.aif b/sound/direct_sound_samples/cries/gardevoir.aif index f7cd7d523993327028d3d1de7fd6d148dd58c857..9285affb9d3b80675a4faade81a520ec3459b639 100644 GIT binary patch delta 20 bcmbOfe=m;1%|FPOfk8iPB8S{YCkuT5Mp6a< delta 68 zcmcZ?Hz}UO%|FPOfkD4(B8Qxqr(bXg0|SGI4Ff|x5JJI51v`BSKSy6zAYUNdG0ZjI PF~~VSAk4_Zh`|s53pWlu diff --git a/sound/direct_sound_samples/cries/gastly.aif b/sound/direct_sound_samples/cries/gastly.aif index 8dd90bff4d75852f5a64d60d8b938449069e3bf0..5174cabffd5a9b0ccad21d0afe1d179cf37843a0 100644 GIT binary patch delta 20 bcmewtbt;O(%|FPOfkD@4B8S{YCly@)OWOt` delta 68 zcmX>V^)HIU%|FPOfkC%yB8Qxqr(bXg0|SGI4Ff|x5JJI51ub0(KSy6zAYUNdG0ZjI PF~~VSAk4thh`|H^7)cId diff --git a/sound/direct_sound_samples/cries/gastrodon.aif b/sound/direct_sound_samples/cries/gastrodon.aif index 7c33ebd99ba31fd1e4109cf308d54b8fab882512..d564820e832bc795ea6b16a8d1a8c5c9c8df6e80 100644 GIT binary patch delta 22 ecmbOloU(-*_x<{#wCz@W!Akwb2y(+gbyLhJ@O delta 68 zcmeB+ITXX;<{#wCz@TR}kwZ?*(=RxLfq_B9hJm3T2%%u3!aH3FKSy6zAYUNdG0ZjI PF~~VSAk4trguw&=0jv&p diff --git a/sound/direct_sound_samples/cries/gible.aif b/sound/direct_sound_samples/cries/gible.aif index 47b8635e969192845587a9c1752e9e54d32c0e92..f3d4b4882f643db8618c9dac276fa3e724eaa957 100644 GIT binary patch delta 20 bcmcbmzD%9N%|FPOfkAlQL=L%)P7T5ULF)zi delta 68 zcmZ3ceoLLh%|FPOfkF7vL=HJIPru+01_lNZ8wQ4YAcTUA3T?s?evZDbK)yh@W0-5a PV~}%vK$wY%F@qrh0E-Sa diff --git a/sound/direct_sound_samples/cries/gigalith.aif b/sound/direct_sound_samples/cries/gigalith.aif index e5c2f6419eb77f04e8f79e0dfdbfa7a575dbf610..00ad607cc67728daa4cb7c722c765476e055a5d7 100644 GIT binary patch delta 23 ecmew|jq%nrMjki+AYTRs?;uA{H@A&ye%=6LUu diff --git a/sound/direct_sound_samples/cries/giratina.aif b/sound/direct_sound_samples/cries/giratina.aif index 105a24de0f9f680f0e4b5e936e16a1159d4f4f00..319e2c132324bc43eb0bd44bab9d7e2560618c84 100644 GIT binary patch delta 22 dcmcb&gmKjpMh-XsAYTTCAf<^MavPmkf&f-727>?q delta 70 zcmZ3rgz?@IMh-XsAYTTCps7({Fs80vu#3N|XNijeSg^mPUD1;QP} RT;m;soZ|z+Ow0`#3;}`25M}@X diff --git a/sound/direct_sound_samples/cries/glalie.aif b/sound/direct_sound_samples/cries/glalie.aif index 233515b6aa438cb69ce7988853a7e2617f17513a..38291bef49af3f14c1cb760d4f1195344bfa47e8 100644 GIT binary patch delta 20 bcmX>XI4h9D%|FPOfk9)^L=L%)P9+)uMr8&^ delta 68 zcmbOgcrK8`%|FPOfkETgL=HJIPru+01_lNZ8wQ4YAcTUA3RM~sevZDbK)yh@W0-5a PV~}%vK$x+a5ra7Z65I}n diff --git a/sound/direct_sound_samples/cries/glalie_mega.aif b/sound/direct_sound_samples/cries/glalie_mega.aif index 44261f52713e4115cb52827cb9c901e27ec53437..cae5ba57f107b356eae5f9a4719709e2d1716373 100644 GIT binary patch delta 14 Vcmdn7mvP5l#tFKNT^sef;s7v71^fU2 delta 14 Vcmdn7mvP5l#tFKNog4MK;s7v21^WO1 diff --git a/sound/direct_sound_samples/cries/glameow.aif b/sound/direct_sound_samples/cries/glameow.aif index ad1d87353c2c1b565f9cc09423bf85f273abb714..a2d7ab1fa3ccb2c8977a7b457156530650dd29ba 100644 GIT binary patch delta 20 bcmaE4yv~@z%|FPOfkATFL=L%)P92f}MOOwr delta 68 zcmZ2y{K%NY%|FPOfkE=tL=HJIPru+01_lNZ8wQ4YAcTUA3Vo6ievZDbK)yh@W0-5a PV~}%vK$wZKA%h_R4{Hu~ diff --git a/sound/direct_sound_samples/cries/glastrier.aif b/sound/direct_sound_samples/cries/glastrier.aif index 6109f1ca0b601e5da3aa95e240eb33c981d7258f..80c44e0b764ae009caddeac46447ede7c63390f7 100644 GIT binary patch delta 14 Vcmdn-hH=Lm#tFKNTpRVc$^bDM1#$oY delta 14 Vcmdn-hH=Lm#tFKNoE!DH$^bDH1#tiX diff --git a/sound/direct_sound_samples/cries/gligar.aif b/sound/direct_sound_samples/cries/gligar.aif index 4908fb6b0996d4f1493dcb217845cfd756731eab..e2103c2ff846f293dcef5321f94b70779c357d77 100644 GIT binary patch delta 20 bcmX@7KTDs(%|FPOfkAxIL=L%)P9@?1K=TFR delta 68 zcmbQGe@>sn%|FPOfkFJ(L=HJIPru+01_lNZ8wQ4YAcTUA3RU6~evZDbK)yh@W0-5a PV~}%vK$ww%IfE$x`?3xn diff --git a/sound/direct_sound_samples/cries/glimmet.aif b/sound/direct_sound_samples/cries/glimmet.aif index 38fc118b26ab119fd20d167eac8c331af55214d4..e89ac2ea59cdf5ee3ddd029a468487ed06b583a1 100644 GIT binary patch delta 21 dcmaE|neoYH#tFKN+a?-rntUOMbK}e35dd=I3d8^a delta 21 dcmaE|neoYH#tFKNTPGTBntUOMbK}e35dd=63c~;Z diff --git a/sound/direct_sound_samples/cries/gliscor.aif b/sound/direct_sound_samples/cries/gliscor.aif index ccd116c29198dd0b57141c3cb2157d5fc22c0f47..1df92dc9a932e9b52d173e05b3c82b19008bb930 100644 GIT binary patch delta 20 bcmbPKcCVDf%|FPOfx+t9L=L%)PCKjsPW%T% delta 68 zcmcatI;o7q%|FPOfx((h4IW}Mh-XsAYTRs&m$8#znQ___Mh-XsAYTRsFTRN!aw2|?zOD=m3_ND$#tOO$?)mBYi6tA=mU)_ax)>_} iCG>zaGmvIrPzmu2F#^)OK#Z(9B*@ttC{`M&bsx delta 68 zcmeyQy-bJ0%|FPOfk8}eB8Qxqr(bXg0|SGI4Ff|x5JJI5g-fCmevZDbK)yh@W0-5a PV~}%vK$wB4DT6rx>l6+6 diff --git a/sound/direct_sound_samples/cries/golem.aif b/sound/direct_sound_samples/cries/golem.aif index 06451cdf1bf70732d3284bbafa8c240221ec085c..95fbef9c47c62b7fddaba3f7c53f7cb16a8d8f97 100644 GIT binary patch delta 20 bcmX?P-e=C?<{#wCz#!c=kwb2yQ-(AEKl=sA delta 68 zcmeA(KV;6~<{#wCz#zSAB8Qxqr(bXg0|SGI4Ff|x5JJI5g*<5qKSy6zAYUNdG0ZjI PF~~VSAk4trjKKf^_WTY8 diff --git a/sound/direct_sound_samples/cries/golett.aif b/sound/direct_sound_samples/cries/golett.aif index f0f31bda7e33a5529ff398bc295ec1d924c8eac8..58c6f09cd8e8583a4c66aad82e5160f837aee8d8 100644 GIT binary patch delta 21 ccmcZ?awLSu%|FPOfkDg0(bLUsqnd>l08SbPKmY&$ delta 47 zcmX>SaxX;9%|FPOfk7+G(bLV%&(YVFfq_9N+%e2G-Z98IKEOBJDc;P$gkd9(g%$uo CiwuJR diff --git a/sound/direct_sound_samples/cries/golisopod.aif b/sound/direct_sound_samples/cries/golisopod.aif index 7b3f85220d043f1838b4bb275af15c20d151f5ae..429f445ede688ff1b7497584537341715cc75724 100644 GIT binary patch delta 22 dcmZ3nkn!3AMh-XsAYTTC0KbVGavSXo0svLt2EqUU delta 106 zcmcb%fN{k_Mh-XsAYTTCfCUpd_}C5?bIGmvIrP!I78F#^&8K#Zm%B*@ttC<;<%V!;3aT|^f3 diff --git a/sound/direct_sound_samples/cries/golurk.aif b/sound/direct_sound_samples/cries/golurk.aif index 1795ca8f4a0941d89f8eae360f957edfa645ec97..abc95bd80802d59e1be8e023c1f682f8afafc26d 100644 GIT binary patch delta 23 ecmaDef$`D=Mjki+AYTRs4=+bgH@A&yZXN(%nFlTa delta 49 zcmcaKf$_}*Mm0D8AYTRsj}%8wH#a{=UsnbO2BC1rFxPm;Am{i1-*BgRGXqnGjXZ81 E0A{KUasU7T diff --git a/sound/direct_sound_samples/cries/goodra.aif b/sound/direct_sound_samples/cries/goodra.aif index 0ec7cb4da90e1a35a608b215e7429b57138df2fe..b2f407cc94d1d3357bdf2ef3a7df236158a3e3c3 100644 GIT binary patch delta 20 bcmZ2dd#i@S%|FPOfx#|lB8S{YD-$~aOaKO0 delta 96 zcmcarv!s^8%|FPOfx&LhL=HI-KSy6z1_lNma|1I4T?P02{FI`^jcO)#W}Ys_3P1@x gAk7S<85mSTJVT6tG%pY%s}2cr_67=p6q%X>06|w1nE(I) diff --git a/sound/direct_sound_samples/cries/goomy.aif b/sound/direct_sound_samples/cries/goomy.aif index a35a42f53fed662154bbcfa0537e781e5875b894..bd2524ebe1e942e8cc5e088e929906a641daebd3 100644 GIT binary patch delta 20 bcmcbT*_FxR<{#wCz+loekwb2yRf-7!NZkfq delta 96 zcmeCmypqY`<{#wCz+iG_B8QxapQEoU0|Nt(xq*p-u7Z1her~10Mzs_ZGfx*|1)zi; gkY)zb3=GO4o*_m+ng@uHREGpPdjmy4YD`TT04#wM6aWAK diff --git a/sound/direct_sound_samples/cries/gorebyss.aif b/sound/direct_sound_samples/cries/gorebyss.aif index 48277537ac9009a10a654eac55b127228cfd3ceb..a93b1aa6fc89cade945518ec04b175c11a354233 100644 GIT binary patch delta 20 bcmX>U-WSf{<{#wCz@XhWkwb2yQ-(GGMH>bw delta 68 zcmeARKNQa4<{#wCz@WWrB8Qxqr(bXg0|SGI4Ff|x5JJI5g*t%|FPOfkE8Q(bLV%&(YVFfq_9N+%e2G-Z98IKEOBJDc;P$jA0{>fj9sy CbPMwU diff --git a/sound/direct_sound_samples/cries/gothitelle.aif b/sound/direct_sound_samples/cries/gothitelle.aif index f7f12020708e8a0ab44fe460e3d888a7a783f45d..d8f334784ad45c73f3fb941484c41fd6f4cb9841 100644 GIT binary patch delta 22 ecmZ3ojq%-9Mh-XsAYTTCsAm&7S+W2HXGu delta 106 zcmdmWj` delta 122 zcmdmWj&aU;Mh-XsAYTTC^eGcL_}6sWAYER~+2{ diff --git a/sound/direct_sound_samples/cries/granbull.aif b/sound/direct_sound_samples/cries/granbull.aif index 6c4563fb38954683d46bbd89b30c704206cc307a..87ed96a84273b20978744025626b93108031c211 100644 GIT binary patch delta 20 bcmbOi^D3Id%|FPOfkF4tL=L%)PDgYBO%ewt delta 68 zcmaDAJuimC%|FPOfk97fB8Qxqr(bXg0|SGI4Ff|x5JJI5g;Tl`evZDbK)yh@W0-5a PV~}%vK$wxC0fPwu1j`Oy diff --git a/sound/direct_sound_samples/cries/graveler.aif b/sound/direct_sound_samples/cries/graveler.aif index 84828f10f8f6f610c633d592569b1153529dbe48..fbf463c4fd2e3d99b9f9f4323b6b6c126ac70dfa 100644 GIT binary patch delta 20 bcmaEsvnhwe%|FPOfx%2`B8S{YCmu5ZN<9Vn delta 68 zcmdm#^DKwM%|FPOfx#?pB8Qxqr(bXg0|SGI4Ff|x5JJI51tBvDKSy6zAYUNdG0ZjI PF~~VSAk4trl))ST5GW2j diff --git a/sound/direct_sound_samples/cries/greninja.aif b/sound/direct_sound_samples/cries/greninja.aif index 3050e4c5d9d4e9394a57342109370b6236445828..988d66b062825b70d16d95c51040de235d17da18 100644 GIT binary patch delta 20 bcmZ2cd#i@S%|FPOfx#|lB8S{Y8xuPKOjZV7 delta 100 zcmcarv!a&6%|FPOfx&LUL=HJIKSy6z1_lN`GgAu%T?O}|)V$2Rti+9KCUzE{F2)K# iDFYzQ45S$tR6{&NjDR#h5TmLO33B!Z3Nit)B?ADz(-kNH diff --git a/sound/direct_sound_samples/cries/grimer.aif b/sound/direct_sound_samples/cries/grimer.aif index 160cfe766ce910f3817bb6a17e9d56ee8cb3bd30..050fb9620c355129da4c1af6ba353acaa93a765d 100644 GIT binary patch delta 20 bcmdm_`A>tx%|FPOfkC8fB8S{Yrw9=ML#zef delta 68 zcmeyTu}PD|%|FPOfk9-|L=HJIPru+01|Y|VfuSAM$_^s{ diff --git a/sound/direct_sound_samples/cries/grotle.aif b/sound/direct_sound_samples/cries/grotle.aif index 71a2d7d1a8ce4d8306a3c166ced85ffabc38c5ea..2b08bca67e7a57c847f3a3b2543598dcf7ac151d 100644 GIT binary patch delta 20 bcmaFlxz3Zr%|FPOfk9>2L=L%)P8})$NZkg1 delta 68 zcmZ4I`N)&Q%|FPOfkEZgL=HJIPru+01_lNZ8wQ4YAcTUA3VkXPevZDbK)yh@W0-5a PV~}%vK$x+G1%m+q9(NAH diff --git a/sound/direct_sound_samples/cries/groudon.aif b/sound/direct_sound_samples/cries/groudon.aif index f8056c54b347dc3031c5cec1555d2dda899b52ba..9fe253745ae27e7b4c68dc17a75cf0e541170196 100644 GIT binary patch delta 22 ecmbO?f$>#8BZr%RkS_y+`=f~*avPnFxB~!LVh6+k delta 70 zcmaFW&p2-aBZr%RkS_y+huB08IWbSa;1C7|1`!(uhI$}`f{hBN+$H=ReO-ZkfpEt# R*LcSu=lFmyV+&&jGXN~y4+#JO diff --git a/sound/direct_sound_samples/cries/groudon_primal.aif b/sound/direct_sound_samples/cries/groudon_primal.aif index c88326947000a4b65b5a7e9e7c7346da437cf0c4..a93d06a3fe93e6772299d148cc25ae39cbc9c592 100644 GIT binary patch delta 14 VcmeBaX6k8XnxM-Vw^1*y5dbC21pNR2 delta 14 VcmeBaX6k8XnxM-VyHPK$5dbB|1pEL1 diff --git a/sound/direct_sound_samples/cries/grovyle.aif b/sound/direct_sound_samples/cries/grovyle.aif index 7015e6430974169e01cd8d60c362fa18fe74c7ea..c21c58ad090663f967761cee68a20c0773ea661d 100644 GIT binary patch delta 20 bcmaFozssM)%|FPOfkA!KL=L%)PE*tYOcMsd delta 68 zcmdnx|IVMo%|FPOfkFM*L=HJIPru+01_lNZ8wQ4YAcTUA3bWKD{2YB(_pfd~Zv delta 102 zcmdmRkn!I^Mh-XsAYTTCgl`i$!0dSa`Y^ kD*&YofHX6ZW?)bY@eDBn()>V-sy-yh*&8SbQf6oh09q>-L;wH) diff --git a/sound/direct_sound_samples/cries/gurdurr.aif b/sound/direct_sound_samples/cries/gurdurr.aif index 8cb56e5a702b4fde596f3a0e937c72133bd1cce1..055d366a91b23220e86111bc95f604eabdb8e8fa 100644 GIT binary patch delta 23 fcmX>xnQ`4@Mjki+AYTRs&t;CDZf+aZ7I^{yUIz!J delta 49 zcmZ2CneoJAMm0D8AYTRs&jXI0Zf<^#zOD=m3_{_KVXpCxLC*03zTr;sW=7@=8+jIa F0sv?54ekH{ diff --git a/sound/direct_sound_samples/cries/guzzlord.aif b/sound/direct_sound_samples/cries/guzzlord.aif index ed99b290182da480403df128cfa779a7e52800f8..958e0b7ed367297827261974026c22e50f02af18 100644 GIT binary patch delta 22 ecmZp9$GGh+BZr%RkS_y6*}91wavNBZr%RkS_y6*`J9Va$V-sy-yh*&8SbQf6)m0BB``sa$V-sy-yh*&8SbQf6ih0M`^1hyVZp diff --git a/sound/direct_sound_samples/cries/happiny.aif b/sound/direct_sound_samples/cries/happiny.aif index 90d8ccb015bd3653d1f8248d911d3c96aa16202e..bee72680ac18191cf83418203c9ccaa3e22a4413 100644 GIT binary patch delta 20 bcmbPd_R5sQ%|FPOfkEogL=L%)PDi8wM*Ie} delta 68 zcmaE5I?s&5%|FPOfk9eqB8Qxqr(bXg0|SGI4Ff|x5JJI5g;P=zevZDbK)yh@W0-5a PV~}%vK$wY%0fPYm>kSR< diff --git a/sound/direct_sound_samples/cries/hariyama.aif b/sound/direct_sound_samples/cries/hariyama.aif index 3455304fb1bd4e3136e5f37bb472e6799aa57b50..0a61e0d8ae75e7c6bd93c9ffb8538c6ba3066f28 100644 GIT binary patch delta 20 bcmdny*yPCJ<{#wCz@Shykwb2yQ;Y%tKUD>{ delta 68 zcmZp2+~&yP<{#wCz@V^hB8Qxqr(bXg0|SGI4Ff|x5JJI5g(L+DKSy6zAYUNdG0ZjI PF~~VSAk4_poWT?T^RW&7 diff --git a/sound/direct_sound_samples/cries/hattrem.aif b/sound/direct_sound_samples/cries/hattrem.aif index 57f46a4979208e685c25e9332f0ad842579cdebf..444c77028352241fc7a7e0da4411b03c44ccf076 100644 GIT binary patch delta 14 WcmZ27hjGaq#tFKN-!|%f^92AdK?Yd> delta 14 WcmZ27hjGaq#tFKNUpMM~^92AdJO)?* diff --git a/sound/direct_sound_samples/cries/haunter.aif b/sound/direct_sound_samples/cries/haunter.aif index 83dd20697fc019aaa63f5fd02aa87d176cc0e129..c9192cf9bcd18a975c71102c3802a235f8c9792e 100644 GIT binary patch delta 20 bcmcZ=y)2r;%|FPOfkAiPL=L%)P7S&MN_HZu!P7h?sW hlmU=t2GR@+Y9XE>MnIY$h*8yt1UY*H1wqP8jR2i#6xRR% diff --git a/sound/direct_sound_samples/cries/haxorus.aif b/sound/direct_sound_samples/cries/haxorus.aif index 7fc4043d360309039d330879cd2100820115c476..8414951d49fea307e35ab6e7ffeb7a9d4c27569f 100644 GIT binary patch delta 28 kcmdlogK^djMjki+AYTRsA0bCiH@Asuii~eIdc5%l0DUgT diff --git a/sound/direct_sound_samples/cries/heatmor.aif b/sound/direct_sound_samples/cries/heatmor.aif index a73dd97e4a015679d0105d3fe6252c0dc7defc7a..2a254ef0d96e3b12ca7ab31aa107324aa933f436 100644 GIT binary patch delta 23 ecmew{jq%wo$=i?Mh-XsAYTRs@3e^=avSYDya8D62Lu2B delta 106 zcmaDijq$*AMh-XsAYTRs?;R64_}C5?bIGmvIrP!I78F#^&8K#Zm%B*@ttC<;<%V#WXfZ#5Si diff --git a/sound/direct_sound_samples/cries/helioptile.aif b/sound/direct_sound_samples/cries/helioptile.aif index cb935b70ae8014bec9a178a417e27558b8d932c1..aa1a9fb3a60d77585e75ea1fe50738ce12a8cc78 100644 GIT binary patch delta 20 bcmZ2fa3P<=%|FPOfx-O5L=L%)cB{+*O|l0R delta 104 zcmcbRzo>x2%|FPOfx$v*B8QxWpQEoU0|SGAnWc$>u7XEuPG){VNoG#!MzvMuR-P`# k3P4FCAk7S<85lG|JVT6tv>*_p>j(*Q_67=r6q=X<036^J;Q#;t diff --git a/sound/direct_sound_samples/cries/heracross.aif b/sound/direct_sound_samples/cries/heracross.aif index e5347faf2413c80c87a9ad901a896d4f5a972569..1fe12ed524988b9dbc14e9c3f85af974dbeeeaf5 100644 GIT binary patch delta 20 bcmccQKF^)Q%|FPOfkAoNL=L%)P8G@kMT-VG delta 68 zcmbQ|e#xD~%|FPOfkFAyL=HJIPru+01_lNZ8wQ4YAcTUA3U$g7evZDbK)yh@W0-5a PV~}%vK$wxC34=KR4`vQ` diff --git a/sound/direct_sound_samples/cries/heracross_mega.aif b/sound/direct_sound_samples/cries/heracross_mega.aif index 67faa6f196d2caabf7ba872827c108b029111005..e1993473c20a609bea3836151296cd862fa8d0a9 100644 GIT binary patch delta 14 Vcmdn6opHl<#tFKNO&j%^q5&?v1` delta 70 zcmbQ$#dxlZk;BbD$d`e^)omh&oS3Iya0mkfgNO|SLp=~e!A6B&E)sr@zOF#NK)7R= RYrJESb9_LUiHRkH0RS&Q4>bS) diff --git a/sound/direct_sound_samples/cries/hippowdon.aif b/sound/direct_sound_samples/cries/hippowdon.aif index 42f2860c81a2c531998f175ca2332e1be5bea0b9..94649f3f250326eea6d3896978888e4cce4e5642 100644 GIT binary patch delta 22 ecmX@Mg>ljrMh-XsAYTTCD6WYdavPoAL;?U-B?nRf delta 70 zcmbQVh4I)HMh-XsAYTTCD7%Rqa$=r-!66I`3?eoR4D~<=1sfGUMN0TN`nm%70^yEf RuJMjR&hY_ZCZ+}qCICf2503x< diff --git a/sound/direct_sound_samples/cries/hitmonchan.aif b/sound/direct_sound_samples/cries/hitmonchan.aif index a0b974db92e7a12019cb779f994e3ac392a659b8..279370fc9c1241a56085b099a4743c19484d67d1 100644 GIT binary patch delta 20 bcmaFly3Uou%|FPOfkA26L=L%)P8~`BNI3>` delta 68 zcmZ4I`pA{T%|FPOfkElkL=HJIPru+01_lNZ8wQ4YAcTUA3VlivevZDbK)yh@W0-5a PV~}%vK$xL{IfDTJ81b2B`o5 delta 70 zcmX@r#`v#|k;BbD$d`e^xojeboS3Iya0mkfgNO|SLp=~e!A1owX9+(?UsoVsAlxy` RHQq7EIX)oF#Mpqr6aYHC4&?v< diff --git a/sound/direct_sound_samples/cries/honedge.aif b/sound/direct_sound_samples/cries/honedge.aif index 75e95b0738d7ff7915a5d04cb8f8bd0704bfc645..e1204fddfecbd5dfcd74f2e13f25aeec8f840ee0 100644 GIT binary patch delta 20 bcmbP~d?bm(%|FPOfx*ybB8S{Y8#zM&L<|ME delta 100 zcmX?-G%1?}F2)K# j2|Xaq45S$tltVm2jDR!`5F@D$33B!Zih$IZ8!`X@UUCzL diff --git a/sound/direct_sound_samples/cries/hoopa_unbound.aif b/sound/direct_sound_samples/cries/hoopa_unbound.aif index 8867fe42a3d4a80908960ffeb4fc740b48826b51..2b4d84015b03971ec0b208f52cb3820a94bb90cf 100644 GIT binary patch delta 14 VcmaFY%lNLBae^-6fsJ|x+yFA623!CD delta 14 VcmaFY%lNLBae^-6{*8JE+yFA123r6C diff --git a/sound/direct_sound_samples/cries/hoothoot.aif b/sound/direct_sound_samples/cries/hoothoot.aif index 46dcbdddfdb07f2ce929866ccaa3afbbc6030bd4..52bccc8e9103de7e82f213c4b713399c39c6dde9 100644 GIT binary patch delta 20 bcmaE*wM~n|%|FPOfk9MnB8S{YCjn6aKx+j< delta 68 zcmdm{^-7Dw%|FPOfk8BBB8Qxqr(bXg0|SGI4Ff|x5JJI51u;&&u delta 68 zcmaE+FiVlc%|FPOfk9x>L=HJIPru+01_lNZ8wQ4YAcTUA3T^@tevZDbK)yh@W0-5a PV~}%vK$xM0IfDTJ=kyJx diff --git a/sound/direct_sound_samples/cries/horsea.aif b/sound/direct_sound_samples/cries/horsea.aif index 7382a8a69fcd4abc3243198d8aaf33f3ff1fe0c3..12801a2076ed13dca0ffb855d4b34645189d2663 100644 GIT binary patch delta 20 bcmZ3b`b~wy%|FPOfk7y5B8S{YrvM=UL5Kyi delta 68 zcmeySvPzZ1%|FPOfk9}|L=HJIPru+01_lNZ8wQ4YAcTUA3SmMLevZDbK)yh@W0-5a PV~}%vK$xMS8G``;_!|xC diff --git a/sound/direct_sound_samples/cries/houndoom.aif b/sound/direct_sound_samples/cries/houndoom.aif index a9c4d2d122c092e87f5a4cee885f7297e6b6cb4b..09c6e4957f48acd617f63e4acf4bd8f74c11e123 100644 GIT binary patch delta 20 bcmez7bI6Co%|FPOfkDk`B8S{YCmA&WNF4>) delta 68 zcmX@)^Ua6D%|FPOfk7>AB8Qxqr(bXg0|SGI4Ff|x5JJI51tm2JKSy6zAYUNdG0ZjI PF~~VSAk4_flEDA~2m=ll diff --git a/sound/direct_sound_samples/cries/houndoom_mega.aif b/sound/direct_sound_samples/cries/houndoom_mega.aif index 7bf51ba800f476518adb884c90907927ec0aef9e..102f822cc69f6966d535eeff78d4740057936f7d 100644 GIT binary patch delta 14 VcmdmUfN{?O#tFKNd>i%n5&$ib1rz`P delta 14 VcmdmUfN{?O#tFKNyc_lS5&$iW1rq=O diff --git a/sound/direct_sound_samples/cries/houndour.aif b/sound/direct_sound_samples/cries/houndour.aif index b366e0d068969525f564df791cce15ffe0be2a5a..352d8fd897c6129ca3c2cb89b877f925bef85ea4 100644 GIT binary patch delta 20 bcmca+xX6&h%|FPOfk9%{L=L%)PBjt$Ld6CL delta 68 zcmZ2vc+HT*%|FPOfkEQjL=HJIPru+01_lNZ8wQ4YAcTUA3QZCcevZDbK)yh@W0-5a PV~}%vK$ww{1%m+q1L_V# diff --git a/sound/direct_sound_samples/cries/houndstone.aif b/sound/direct_sound_samples/cries/houndstone.aif index 145cc7968284b17c68ef09c53061ce4fd59e47f2..99e699b7bab670b2255a37fda13da04b03a9c448 100644 GIT binary patch delta 44 wcmbPpm~qZw#tFKNd6ONzv?ot+WtrF@I62;1Wpcb1FN7;Jd4fCV#(nn^0Csy39RL6T delta 44 wcmbPpm~qZw#tFKNxsx5ev?ot+WtrF@I62;1Wpcb1FN7;Jd4fCV#(nn^0Crdr8~^|S diff --git a/sound/direct_sound_samples/cries/huntail.aif b/sound/direct_sound_samples/cries/huntail.aif index 2b930a3eb0d50eb721a843d2a2b43a8b64b09f58..b520d2b7a8c3da31ac2f00a6c79c547ade6e7c4e 100644 GIT binary patch delta 20 bcmZ2v_s*8X%|FPOfkE!sL=L%)PAB95NdyMm delta 68 zcmaE7yU32i%|FPOfk9qsB8Qxqr(bXg0|SGI4Ff|x5JJI5g>!NeevZDbK)yh@W0-5a PV~}%vK$x+aIfDTJ^YsoL diff --git a/sound/direct_sound_samples/cries/hydrapple.aif b/sound/direct_sound_samples/cries/hydrapple.aif index a9d306e93ca2be20298a3349f76ab38ae5e6b4f5..45f5fd9ca019bc79c4db4f4f62cbd5ddb45979e5 100644 GIT binary patch delta 14 VcmZoU&e(FCae^*m*hamuWB@9(1w{Y= delta 14 VcmZoU&e(FCae^*m=tjM;WB@9!1w;S< diff --git a/sound/direct_sound_samples/cries/hydreigon.aif b/sound/direct_sound_samples/cries/hydreigon.aif index 66342c066dd8c811b8700cf32a3ea2fb2062d956..8227c6d21f6346eb25e0b45ba4376be5dafd38b9 100644 GIT binary patch delta 22 dcmaE|g>l^$Mh-XsAYTTCD7A?kavPmEq5xUu2E_mX delta 72 zcmZ3th4IN2Mh-XsAYTTCsF;Zya$=r-!66I`3?eoR4D~<=1sfIkqNMyBeO-Zkp>W4A T*LcSu=lB5MaHn`P6C(xyWakgY diff --git a/sound/direct_sound_samples/cries/hypno.aif b/sound/direct_sound_samples/cries/hypno.aif index 8569a4f98153d6a3b81137f7187f153607452829..7c4bde193683bb72e4a6ed1e58865781e98e62dc 100644 GIT binary patch delta 20 bcmeAwyjH;B<{#wCz+mAwkwb2ylYs>QN3;eO delta 68 zcmcas&{fFc<{#wCz+lldkwZ?*(=RxLfq_B9hJm3T2%%u3f|-ScpQEoUkS`GK80H%9 P7~~uu5N2R$&R_xn5Uvhd diff --git a/sound/direct_sound_samples/cries/igglybuff.aif b/sound/direct_sound_samples/cries/igglybuff.aif index 3a8d6e81ef776df88cd1851e0e537207f7628bfa..0f2db1e52c6c4f80f3f7d879e72b1e58a753c468 100644 GIT binary patch delta 20 bcmca6y-1qF%|FPOfq{3{L=L%)PBpv$KR*S< delta 68 zcmZ1^eNCFf%|FPOfr0njL=HJIPru+01_lNZ8wQ4YAcTUA3QfEcevZDbK)yh@W0-5a PV~}%vK$xMq34;Lu^z{w_ diff --git a/sound/direct_sound_samples/cries/illumise.aif b/sound/direct_sound_samples/cries/illumise.aif index 350288991d93b5540a94e333f75b38d96977b849..26807295bd8aa153cac4e90b2a609e54bbb69862 100644 GIT binary patch delta 20 bcmez5w9kpd%|FPOfkDx1B8S{YCkaIWMZ*QF delta 68 zcmdnz^vQ|C%|FPOfk82AB8Qxqr(bXg0|SGI4Ff|x5JJI51vy0tKSy6zAYUNdG0ZjI PF~~VSAk5g%guws+{ksk0 diff --git a/sound/direct_sound_samples/cries/incineroar.aif b/sound/direct_sound_samples/cries/incineroar.aif index 6689c101738a269914333843f48db9c0610f14c7..b7f3e2201efb212577f1f573d21f9a82b461fb62 100644 GIT binary patch delta 22 dcmdn9oAK2yMh-XsAYTTC*rbUZavSYjVgX)L2VejI delta 106 zcmaF0i*e6xMh-XsAYTTC*ew$|^HPiQ6N@&gxx`v| mx)>_}C5?bIGmvIrP!I78F#^(pK#Z;%Mh-XsAYTTCFu92watocp08m{9djJ3c delta 70 zcmZ3shVj-KMh-XsAYTTCu%L+?a$=r-!66I`3?eoR4D~<=1sfIE!X*40eO-ZkfpEt# R*LcSu=lFmyV@o3ja{x9Q4$uGq diff --git a/sound/direct_sound_samples/cries/inkay.aif b/sound/direct_sound_samples/cries/inkay.aif index a28ee83866c6f5ff513deb245a63f37dfaede4aa..04753026e065782af008b136f6c37ddd12664757 100644 GIT binary patch delta 20 bcmcbmI6;xa%|FPOfkB{SB8S{Yt1JNkK6M41 delta 96 zcmbQBcuSGP%|FPOfkEKXL=HI-KSy6z1_lNmGYc~XT?Nm)?8HiijcQo}W}Ys_3P1@x hAk7S<85op9JVT6tG!GCXsSXKp_6CZ8)EJvH008PV5=a05 diff --git a/sound/direct_sound_samples/cries/inteleon.aif b/sound/direct_sound_samples/cries/inteleon.aif index d5c6d367f78951784b61fa29a086a1ad8126154e..8153b02889b4884d0fb5c0eb040e5d189d0a48fa 100644 GIT binary patch delta 12 Tcmewr^($(EE~C#zJs({FC*TDO delta 12 Tcmewr^($(EE~EEGJs({FC)))I diff --git a/sound/direct_sound_samples/cries/iron_boulder.aif b/sound/direct_sound_samples/cries/iron_boulder.aif index 15c1b632b533d13e60c5e3413cc6ccbfbfc02b77..0ffdefdffb35549e19efe0c66b95eccb5e20c983 100644 GIT binary patch delta 14 Vcmca~it*AZ#tFKNDjW4wQUNhL1%&_r delta 14 Vcmca~it*AZ#tFKN${Y1mQUNhG1%v?F$w1Y delta 22 ecmeBs#Mt+Uae^-6{mFs3DU%!0I5*BNE&u>?BnjpK diff --git a/sound/direct_sound_samples/cries/ivysaur.aif b/sound/direct_sound_samples/cries/ivysaur.aif index 3d998bf671b7e7b350f85121380330d0edb51604..40ee462805e95ddf8ff33b624c2a449ddd0b09fe 100644 GIT binary patch delta 20 bcmaFnu*reL%|FPOfk8oQB8S{YCmsa=Loo$) delta 68 zcmdnw@XUe3%|FPOfk7c|B8Qxqr(bXg0|SGI4Ff|x5JJI51tA3qKSy6zAYUNdG0ZjI PF~~VSAk4tPh`|5=@*54O diff --git a/sound/direct_sound_samples/cries/jangmo_o.aif b/sound/direct_sound_samples/cries/jangmo_o.aif index 083522cf8573c5b59a4c56955f8df2d83cc4fa91..29f8f86b51ce59beb273a55b07779db342673ff1 100644 GIT binary patch delta 20 bcmcboI6;xa%|FPOfkB{SB8S{Yn=AnUKFbB8 delta 100 zcmbQBcu$eT%|FPOfkEKfL=HJIKSy6z1_lN`a|i3tEm C8Vs`l diff --git a/sound/direct_sound_samples/cries/jigglypuff.aif b/sound/direct_sound_samples/cries/jigglypuff.aif index d42f2dbdb40c0a58491bb23bde676e592c50d177..09249f6dd65d957e8d31db0a159674e6c332eee0 100644 GIT binary patch delta 20 bcmdlb+9t~3<{#wCz`#{Ekwb2yQvw$NISBB8Qxqr(bXg0|SGI4Ff|x5JJI5g)}Y+KSy6zAYUNdG0ZjI PF~~VSAk4tnlEDN3*(MEx diff --git a/sound/direct_sound_samples/cries/jirachi.aif b/sound/direct_sound_samples/cries/jirachi.aif index 40f3a76c1cf52d7168871f80a8a9e9efadc8dfd0..0da759794c886b23fc93d4405ac9d915d1dd2017 100644 GIT binary patch delta 20 bcmexoa>|6m%|FPOfkDb?B8S{YClx6GMa2cN delta 68 zcmX?Q^3R0B%|FPOfkCQlB8Qxqr(bXg0|SGI4Ff|x5JJI51uZEFKSy6zAYUNdG0ZjI PF~~VSAk5gpl)(T1{)r9o diff --git a/sound/direct_sound_samples/cries/jolteon.aif b/sound/direct_sound_samples/cries/jolteon.aif index be9c81d62ec517d65b570e4ec3c599364040bfea..acd96714aeb210208d7446dc5f8901b8cda73618 100644 GIT binary patch delta 20 bcmexmd(4)@%|FPOfkAHHL=L%)P7CA!OK}Ff delta 68 zcmX?R`^%QY%|FPOfkE!mL=HJIPru+01_lNZ8wQ4YAcTUA3d`gq{2YB(AavPn#L<0a=Z3lh; delta 70 zcmbQWgYn!BMh-XsAYTTC7`KTWa$=r-!66I`3?eoR4D~<=1sfH9MN9ZO`nm%70^yEf RuJMjR&hY_ZhDIg~1^`ab548XQ diff --git a/sound/direct_sound_samples/cries/kabuto.aif b/sound/direct_sound_samples/cries/kabuto.aif index aad4f3266cee08dcbc3aafe6031e6f3ed0bde37a..2ed73716cbf536cef57dd4e8c640dead21c17716 100644 GIT binary patch delta 20 bcmdmF@K2w^%|FPOfkFJ+L=L%)PB+8>NyY~9 delta 68 zcmeyTzsZ2Z%|FPOfk8rRB8Qxqr(bXg0|SGI4Ff|x5JJI5g?r)>evZDbK)yh@W0-5a PV~}%vK$xM40fPwu_vH>O diff --git a/sound/direct_sound_samples/cries/kabutops.aif b/sound/direct_sound_samples/cries/kabutops.aif index 015bacaca99a3bfbe2f14cbc49032c0d0340ef60..79a4b304a8213a5bed7223f36a81a1b429930670 100644 GIT binary patch delta 20 bcmaE5y3Lfs%|FPOfkA5BL=L%)P7|a6M=1tl delta 68 zcmdmH`pT5U%|FPOfkEogL=HJIPru+01_lNZ8wQ4YAcTUA3e%({{2YB@hgMF%|FPOfx)C`B8Qxqr(bXg0|SGI4Ff|x5JJI51vL{1KSy6zAYUNdG0ZjI PF~~VSAk4tbguxsD9$yZA diff --git a/sound/direct_sound_samples/cries/kakuna.aif b/sound/direct_sound_samples/cries/kakuna.aif index 088b51965c5e5d976111790906cc743420651cae..8331b0b0e58031c1163085f2ee63916134d7a156 100644 GIT binary patch delta 20 bcmZ4G{>_cU%|FPOfk8QMB8S{YrvPODM*0RA delta 68 zcmez7w#uEu%|FPOfkAoEL=HJIPru+01_lNZ8wQ4YAcTUA3Sr6;evZDbK)yh@W0-5a PV~}%vK$wA{34;Lu4=N5# diff --git a/sound/direct_sound_samples/cries/kangaskhan.aif b/sound/direct_sound_samples/cries/kangaskhan.aif index 1e57639531d2089d12ea779ba7cb2b31286cbee5..26a8ac43a40433dcd5c9483facbf12ef8e98f045 100644 GIT binary patch delta 20 bcmeD4yyd~+<{#wCz@QQ|kwb2ylZgrdLJS42 delta 68 zcmccR(dWtG<{#wCz@XALkwZ?*(=RxLfq_B9hJm3T2%%u3f|ZJdpQEoUkS`GK80H%9 P7~~uu5N2p-%3uxv_{k0I diff --git a/sound/direct_sound_samples/cries/kangaskhan_mega.aif b/sound/direct_sound_samples/cries/kangaskhan_mega.aif index cd95a87d39940c71f89f6e52a816396a0855ef90..417cb04f49e5f392bc521e2c2d91f678afad34ee 100644 GIT binary patch delta 14 VcmeydhVjQ5#tFKNUK{ni!T>Wm1=0Wj delta 14 VcmeydhVjQ5#tFKNo*VVN!T>Wh1S*N2G#%o delta 102 zcmdmWjjcOw47M?D~ l3P33XAk7S<85mSUJVT6tG#?P7s1FHp_6CZ9RGC{a007%}6(|4z diff --git a/sound/direct_sound_samples/cries/kecleon.aif b/sound/direct_sound_samples/cries/kecleon.aif index b6dd7e91f37cf1f37e2106a9c57cb0de9665fd99..51dae293504406ddfafe73d97bf51dc7986fb7de 100644 GIT binary patch delta 20 bcmZotJg30n<{#wCz#!l@kwb2ylZF5QIb;O} delta 68 zcmX@7(4@%W<{#wCz#vdHkwZ?*(=RxLfq_B9hJm3T2%%u3f}VhcpQEoUkS`GK80H%9 P7~~uu5N2#@#9#mb(~Av2 diff --git a/sound/direct_sound_samples/cries/keldeo.aif b/sound/direct_sound_samples/cries/keldeo.aif index 4f73fc22da4ad6cfa83907f06449dec3e294a7d6..6f23ad088557e291d8d181da3ab13b85e05febfc 100644 GIT binary patch delta 20 bcmcbSHZP6C%|FPOfx%d8B8S{YqaQ{9N6rR} delta 80 zcmbQ2b|a0$%|FPOfx$RnB8ME0pQEoU0|Nt#nTff=MztSCdY&%E3P1rhAk7S<85m?j WJVT6tGz$;|RfPmOdqa7KrX~Qwat>Jl diff --git a/sound/direct_sound_samples/cries/kingdra.aif b/sound/direct_sound_samples/cries/kingdra.aif index 2d68f6a6f1a8ad2f8a422f4b90ffa8ac0f97ebe3..a9cc1d9fe48901cc162e034d8e2a3e94dc38812f 100644 GIT binary patch delta 20 bcmZ2v_Rf^U%|FPOfkEooL=L%)PA8-QN4y5a delta 68 zcmaE7y2y;f%|FPOfk9eoB8Qxqr(bXg0|SGI4Ff|x5JJI5g>zC8evZDbK)yh@W0-5a PV~}%vK$wxS0fQv~?raVN diff --git a/sound/direct_sound_samples/cries/kingler.aif b/sound/direct_sound_samples/cries/kingler.aif index 752b660659abbe9363159fbe115193590427674a..b8368297313b7cdf3a801794baf4c09428cb5887 100644 GIT binary patch delta 20 bcmewtcPfs<%|FPOfkEGCB8S{YCl!4FOn(M1 delta 68 zcmX>V_b-ma%|FPOfkD4)B8Qxqr(bXg0|SGI4Ff|x5JJI51ucCEKSy6zAYUNdG0ZjI PF~~VSAk4thlEDN38x#(8 diff --git a/sound/direct_sound_samples/cries/kirlia.aif b/sound/direct_sound_samples/cries/kirlia.aif index 0ef92302038393154a22419e0f2001f719fcf54e..0beaebf16f38c595a5e8a037cf93458e799d6c41 100644 GIT binary patch delta 20 bcmaE-ze}IP%|FPOfkAxJL=L%)PE*7IM)L+? delta 68 zcmdm`|4yI7%|FPOfkFJ)L=HJIPru+01_lNZ8wQ4YAcTUA3bVu|{2YBTcqVXyF5|q7dh;{@C2<8j delta 12 TcmX>TcqVXyF5}#ddh;{@C2R#d diff --git a/sound/direct_sound_samples/cries/klink.aif b/sound/direct_sound_samples/cries/klink.aif index 21076028de58e3ad6b9735d45b8edc75a149b59e..0bd6b65f74611bef667cbff7978d665424e82517 100644 GIT binary patch delta 26 hcmX>TxG9jw%|FPOfk9)Hqo`Q8USga80t$p^Cl delta 72 zcmdnAlJUh#Mh-XsAYTTCkOvbv7({Fs80vu#3N|WC3X$@2^mPUDg~A=f TT;m;soZ|z0!=2(y%`F)Kj0X_C diff --git a/sound/direct_sound_samples/cries/koffing.aif b/sound/direct_sound_samples/cries/koffing.aif index 6def9ad0c1576658944b121a71b82c170d3d9110..50d5bc978bb520c4ffe4d8d6f94f1fddcd088c97 100644 GIT binary patch delta 20 bcmX@)-{;Ta<{#wCz@XkXkwb2yQ-(SKL(>Kk delta 68 zcmeD4KjhEh<{#wCz@WZsB8Qxqr(bXg0|SGI4Ff|x5JJI5g*S*N2G#%o delta 102 zcmdmWj=s diff --git a/sound/direct_sound_samples/cries/kricketune.aif b/sound/direct_sound_samples/cries/kricketune.aif index a11390f3f7625cd5d1f43df4588628d371813e93..b3ebcbf8ae2594be7e3a6d8435f7cc370823f1e4 100644 GIT binary patch delta 22 dcmZ3rmhsyfMh-XsAYTTCu)K*JavPlj!T?*x2TT9} delta 70 zcmeyihH=$eMh-XsAYTTCutgI&7({Fs80vu#3N|W)g-Q51`nm%70^yEf RuJMjR&hY_ZCI&_frT|%d4~GB% diff --git a/sound/direct_sound_samples/cries/krokorok.aif b/sound/direct_sound_samples/cries/krokorok.aif index 2cf4ceff1fb1ff28b6f8ee8d68d1df9ff96d6214..39765627ece172e7d1e54b4b8fbb145265c66a08 100644 GIT binary patch delta 26 icmbPH@vof6%|FPOfx-Hlqo@)P KqZ{>(c>n;Fln(*` diff --git a/sound/direct_sound_samples/cries/kyogre.aif b/sound/direct_sound_samples/cries/kyogre.aif index 57790d75faf482c51e131e5b3a1a854a41fbe26b..c20d2cf3240eb870d7db5cf388e7b9c935e362ec 100644 GIT binary patch delta 22 dcmeC{X1vwK$l>N6N6$2g^*QO(Ui$d`e^y~okh&CSoz*Oh^RK`7iY%r)LI$T>d1H{2=S%+#1+B99`Y J_eMP*cL1nF4w?V} diff --git a/sound/direct_sound_samples/cries/kyurem_black.aif b/sound/direct_sound_samples/cries/kyurem_black.aif index f5bd0cb4e7e07acf9bccf5bb22f18bbb527ead30..9b5320bd63f21ecc0d067d44dfb41555d726dae6 100644 GIT binary patch delta 22 dcmdn7lJVaPMh-XsAYTTCkg|y!avPl@LI7Pe2W9{O delta 76 zcmeyjf^o-6Mh-XsAYTTCkPQ<#7({Fs80vu#3N|Xlg~<6i`nm%7V&RTq XuJMjR&hY_ZW~RpRPCky#-V6)?$Vd@F diff --git a/sound/direct_sound_samples/cries/kyurem_white.aif b/sound/direct_sound_samples/cries/kyurem_white.aif index a9d7a5e58df43a6f1984924041b2ba404e90a889..1e6f0283ec74892b91679d46f3d899077deeddc8 100644 GIT binary patch delta 22 ecmZ3ogz?p4Mh-XsAYTTCz(*4~zo$=XpMm0D8AYTRs?|Y7(Zf<^#zOD=m3_{_KVXpCxLC*03zTr;sre-D#8+i_R F0|0p_4srkh diff --git a/sound/direct_sound_samples/cries/landorus_incarnate.aif b/sound/direct_sound_samples/cries/landorus_incarnate.aif index 189c77666870f49a980bfd12e58f7d83abf2c15e..03111963d7e21c9ba5e940c62739b2823352735a 100644 GIT binary patch delta 23 fcmcaKopHx>Mjki+AYTRs?+uQgZf+aZ)_4N|VBH7W delta 49 zcmdlno$=CiMm0D8AYTRs?^BMRZf<^#zOD=m3_{_KVXpCxLC*03zTr;sW~N3A8+q1v F0|0K#4j=#k diff --git a/sound/direct_sound_samples/cries/landorus_therian.aif b/sound/direct_sound_samples/cries/landorus_therian.aif index edd6fa349b2356901aded5f8d2326dceb59f8726..6a641cf6f4ba8d7b3b943346850814ff2ffc889e 100644 GIT binary patch delta 26 hcmbP{{wIyc%|FPOfx)=M(bLUsqJ|=)-$pM#V*qvD2m}BC delta 54 zcmey9HX~ib%|FPOfx&o!qo@&( J-;H{H#sIWK4=a(bpBo7YKI@bB%Wl Oa*huOGc-43Fa-eSvJJfe diff --git a/sound/direct_sound_samples/cries/lapras.aif b/sound/direct_sound_samples/cries/lapras.aif index 0725bcecb6870a9a26aab9e3f3969f4c3cc53cb1..9bc9023730e103eda56999667f157a23a19f8287 100644 GIT binary patch delta 20 bcmeCOx@O7Y<{#wCz#wyOB8S{YrwuXyL*NE* delta 68 zcmca+*=5Dy<{#wCz#z*skwZ?*(=RxLfq_B9hJm3T2%%u3!ZsNRKSy6zAYUNdG0ZjI PF~~VSAk5I%kii@P+{O*9 diff --git a/sound/direct_sound_samples/cries/larvesta.aif b/sound/direct_sound_samples/cries/larvesta.aif index 4f3e484c8e1e50708fa11a5db0eec68480789d32..a025df32bf53c05543900adc5ca480fba972bf4b 100644 GIT binary patch delta 26 hcmZ3G+?LGa<{#wCz+hPC=;`J*QB9FCVxvcdApmQU2c-Z2 delta 52 zcmZomUXZNj<{#wCz+gDT(bLV%&(YVFfq_9N+%e2G-Z98IKEOBJDc;P)m|-H1B4hYQ Hy$C}9d;ty6 diff --git a/sound/direct_sound_samples/cries/larvitar.aif b/sound/direct_sound_samples/cries/larvitar.aif index 45ad2c0488049e94533ed62fac01099aef463b5d..fd91d5bc7d28ad0d2a25695a7c97396dfd7abeea 100644 GIT binary patch delta 20 bcmaE6xXF;i%|FPOfk9%`L=L%)PCXI;Ma2e3 delta 68 zcmdmF_{@;Q%|FPOfkEQlL=HJIPru+01_lNZ8wQ4YAcTUA3X>!x{2YBy%|FPOfkA84L=L%)PCZ%xONj=v delta 68 zcmdlK`Ye>g%|FPOfkEruL=HJIPru+01_lNZ8wQ4YAcTUA3X`-X{2YBlJx!X!%|FPOfq}PgB8S{YrvhF8JpToi delta 68 zcmbOxeM*|c%|FPOfr0nXL=HJIPru+01_lNZ8wQ4YAcTUA3T3dXz* diff --git a/sound/direct_sound_samples/cries/lickilicky.aif b/sound/direct_sound_samples/cries/lickilicky.aif index 61b2c0f382962bd3732720541744607fcf2089c7..542bbcaf8b3ce514d51473c53d20a987c1da433e 100644 GIT binary patch delta 22 dcmZpgz<92ok;BbD$d`e^{n$hfxs6UM+yPV02UGw6 delta 70 zcmX@t&)779k;BbD$d`e^{ntbeIWbSa;1C7|1`!(uhI$}`f{hC6+$H=ReO-ZkfpEt# R*LcSu=lFmy6EkB50{~2l50L-> diff --git a/sound/direct_sound_samples/cries/lickitung.aif b/sound/direct_sound_samples/cries/lickitung.aif index 0f4e697e5b7e3b15d5cb7394c73ad578e33aecc7..c21d1b03654842c265817cd3237946f8fc824e70 100644 GIT binary patch delta 20 bcmZ2w{mqKQ%|FPOfk8HJB8S{YrvO<1MGgh@ delta 68 zcmexnwaS{q%|FPOfkAfBL=HJIPru+01_lNZ8wQ4YAcTUA3SqJmevZDbK)yh@W0-5a PV~}%vK$xL{1%n9y2N@1A diff --git a/sound/direct_sound_samples/cries/liepard.aif b/sound/direct_sound_samples/cries/liepard.aif index 7432857bc14d0d00e794be8eb3b34df1b1179f9e..eec210c0e7c4cf86270a7a7e5b56b0c18ca61305 100644 GIT binary patch delta 26 hcmez1am|Cr%|FPOfkDO3(bLUsqM9P3#zqef6##Kz2W0>N delta 52 zcmccS@xepQ%|FPOfk7q1(bLV%&(YVFfq_9N+%e2G-Z98IKEOBJDc;n?oM9r5BBT07 HJq;BAhJp=~ diff --git a/sound/direct_sound_samples/cries/lileep.aif b/sound/direct_sound_samples/cries/lileep.aif index a178e72bf54b821cec59bba6e0226244f7f3c38e..e1b750ba94804010f67264d103ba094252ee50ec 100644 GIT binary patch delta 20 bcmeyTdPp| diff --git a/sound/direct_sound_samples/cries/lilligant.aif b/sound/direct_sound_samples/cries/lilligant.aif index 311c5affa81c2e025950d8be4360fd5c97f7d5e4..e00b1aafc417ae2f73b1270a0266a44b151d8705 100644 GIT binary patch delta 21 ccmX?;xha#!%|FPOfx%>zqoJ5GX diff --git a/sound/direct_sound_samples/cries/lillipup.aif b/sound/direct_sound_samples/cries/lillipup.aif index 9a77e2596dedb79aa585f895fe821683ef0cfd09..825f5054cf8c9ba5902323b3e9b94b480ddfff32 100644 GIT binary patch delta 21 ccmbOe-4xB^<{#wCz@S^@=;`LRQLRiD07st&OaK4? delta 47 zcmZpQo)fL+<{#wCz@R(D(bLV%&(YVFfq_9N+%e2G-Z98IKEOBJDc;o5fMFv~nJxe| C%?y(O diff --git a/sound/direct_sound_samples/cries/linoone.aif b/sound/direct_sound_samples/cries/linoone.aif index 326eca324cc553b2bd72d7e615af5d9d7df55600..1db1958d4cc465af4ce5e4b95594b5b8364162db 100644 GIT binary patch delta 20 bcmZ2g{;iC|%|FPOfx$X&B8S{YrvPgJPO1i| delta 68 zcmexXwyK=N%|FPOfx&vwL=HJIPru+01_lNZ8wQ4YAcTUA3Srg~evZDbK)yh@W0-5a PV~}%vK$wx434N6N6=jiLoz`!6B?il78?-=A9AK)AA6mM!~%rKEhkYEL$ diff --git a/sound/direct_sound_samples/cries/lopunny.aif b/sound/direct_sound_samples/cries/lopunny.aif index 1db6d7641c884a1a9510613d219b2f075674eec3..f7937907850014b570b5706c30b437a2d892fd1e 100644 GIT binary patch delta 22 ecmaF0nsM7|Mh-XsAYTTC&~+0z7({Fs80vu#3N|WC3zhJ5^mPUD1;QP} RT;m;soZ|z+OpGiTOaN?o5D5SP diff --git a/sound/direct_sound_samples/cries/lopunny_mega.aif b/sound/direct_sound_samples/cries/lopunny_mega.aif index 1331ca106b9dbc0507e79a9416e95796d3e4bb70..212df776de8a74f9eacd6a9f6c0da96d72916fd6 100644 GIT binary patch delta 14 WcmezMmhsnH#tFKNXEy4cDFXmJ@dtbW delta 14 WcmezMmhsnH#tFKNr#I@IDFXmJ><4=Q diff --git a/sound/direct_sound_samples/cries/lotad.aif b/sound/direct_sound_samples/cries/lotad.aif index a8071ef96f94ac59c2b3cf1deb86dff4b82e405f..290ec548596ba804aa4ccbc86e30fee3446674a2 100644 GIT binary patch delta 20 bcmca4I8Ttn%|FPOfq`S%L=L%)P8A#gJmm$K delta 68 zcmbOycuA1M%|FPOfq~=HL=HJIPru+01_lNZ8wQ4YAcTUA3UwS3evZDbK)yh@W0-5a PV~}%vK$wxa0fRXJ>dFn* diff --git a/sound/direct_sound_samples/cries/loudred.aif b/sound/direct_sound_samples/cries/loudred.aif index 2ac4687cf0ae14661295716d72ef2b350287b735..d9c7465573f95c23826a59ba5e4a65df1e139010 100644 GIT binary patch delta 20 bcmX?SJj56L6-&X delta 68 zcmbPbe9oA|%|FPOfkE=vL=HJIPru+01_lNZ8wQ4YAcTUA3RRL4evZDbK)yh@W0-5a PV~}%vK$wxG34;Lu{(cTD diff --git a/sound/direct_sound_samples/cries/lucario.aif b/sound/direct_sound_samples/cries/lucario.aif index fece3842190606d659ff5c0230cf34be83fa02cb..80064d64fba47258408a84b1bd353233b00e0109 100644 GIT binary patch delta 20 bcmccSw8)9W%|FPOfk9DfB8S{Yr#}h+LV^Z5 delta 68 zcmZ4Fbj^vw%|FPOfkDx4B8Qxqr(bXg0|SGI4Ff|x5JJI51tvuaKSy6zAYUNdG0ZjI PF~~VSAk4(Xg24m;<{%A! diff --git a/sound/direct_sound_samples/cries/ludicolo.aif b/sound/direct_sound_samples/cries/ludicolo.aif index a4e773e9012b7e33124e48d52d3cae1ed4aff47b..690cf75fe486bdc4ecf1f36c1a2cb4a91f57cf0e 100644 GIT binary patch delta 20 bcmaFnxXF>j%|FPOfk9!_L=L%)PCW_$NL2=R delta 68 zcmdnw_{@>R%|FPOfkENkL=HJIPru+01_lNZ8wQ4YAcTUA3X>Eh{2YB7({Fs80vu#3N|Xt@|5s%^mPUD1;QP} RT;m;soZ|z+j7%&U%m80t57Ynv diff --git a/sound/direct_sound_samples/cries/lumineon.aif b/sound/direct_sound_samples/cries/lumineon.aif index a6a2cca2c2b83b9b24c16b0815d6eb225b217f84..0577fb55753938c7c06237b2940da7345c4724cf 100644 GIT binary patch delta 22 ecmdnBg|Tf5BZr%RkS_y6EIWbSa;1C7|1`!(uhI$}`f{hB#A|?DBeO-ZkfpEt# R*LcSu=lFmy6H{{rGXOgX4`=`Y diff --git a/sound/direct_sound_samples/cries/lunala.aif b/sound/direct_sound_samples/cries/lunala.aif index 5786ac42c0a53ad4d355217a7c685b5f3f4098f6..d95185de7997f41abc79d0e77b55e23f9b7931d3 100644 GIT binary patch delta 22 dcmdnCoAJ#qMh-XsAYTTC*p!JJavQDOVgX(K2V4LE delta 98 zcmaE}i*eg-Mh-XsAYTTC*mV;*_} iCG>zaGmvIrPzmu2F#^)OK#Z(9B*@ttCXJ1dsM%|FPOfkAK5L=L%)P9=H(NKpoB delta 68 zcmbOgdoGs4%|FPOfkE%sL=HJIPru+01_lNZ8wQ4YAcTUA3RQX%evZDbK)yh@W0-5a PV~}%vK$x+yIfDTJ8u|{X diff --git a/sound/direct_sound_samples/cries/lurantis.aif b/sound/direct_sound_samples/cries/lurantis.aif index f6a8019b68151c6f7e5551bdeeb27dd12bfbb95d..36ab7d71e2263849e3813332ca42fe7813e1ef21 100644 GIT binary patch delta 20 bcmbPNa3P<=%|FPOfx-O5L=L%)Hml45OMh-XsAYTTCK)Hz=atoaT0ZzUKT>t<8 delta 70 zcmZ3si1F4UMh-XsAYTTCz@Uj7a$=r-!66I`3?eoR4D~<=1sfIE0ww$$eO-ZkfpEt# R*LcSu=lFmy69ZEQ0{|}>4yFJA diff --git a/sound/direct_sound_samples/cries/lycanroc_midday.aif b/sound/direct_sound_samples/cries/lycanroc_midday.aif index 0f117bc947a6c58836e06b4c39d656bb0dba4315..380d192c2216185237bc976706271b5c6e2230a2 100644 GIT binary patch delta 20 bcmeCnU6aG%<{#wCz+k2_kwb2y8=DybLevG6 delta 120 zcmZ3J)0fNP<{#wCz+l!kkwZ?w&(YVFfq_B7+{DyHL07@2GC47?C_h<2!#6V}C9zU- sqZ*r;lc$TZ0#K0^kY)zb3=9S#o*_m+S`vtH=?n>S_6ACWG#Hrz0M>IG0ssI2 diff --git a/sound/direct_sound_samples/cries/lycanroc_midnight.aif b/sound/direct_sound_samples/cries/lycanroc_midnight.aif index f470d006b5d8d3d46d02504de856fdf4b27a6f2d..e81dac8c3e4c2bd07bd531210730263e2b4e05ca 100644 GIT binary patch delta 14 WcmX@Nn(^Ff#tFKN3pVO42n7H!Vg@Gw delta 14 WcmX@Nn(^Ff#tFKN^Ec`(2n7H!T?Qrq diff --git a/sound/direct_sound_samples/cries/mabosstiff.aif b/sound/direct_sound_samples/cries/mabosstiff.aif index ccf661e6cabc34a2c07deeddb0a740d26011a1c8..b66bbf731f81be7c1903e3c91ce69cdded6a265b 100644 GIT binary patch delta 18 acmaF&kn!C^#tFKN2PRL63%|FPOfkCQoB8Qxqr(bXg0|SGI4Ff|x5JJI51t%#9KSy6zAYUNdG0ZjI PF~~VSAk4tboWT?T@)ix$ diff --git a/sound/direct_sound_samples/cries/machop.aif b/sound/direct_sound_samples/cries/machop.aif index 28e749a3a7dc5c052afd1a63116c7bd56e4ec887..c878dfe99f010cd8955590029738304fd0666037 100644 GIT binary patch delta 20 bcmX?P(r3cq<{#wCz#zpokwb2y(+f!eJcI?n delta 68 zcmeA(Ib_1&<{#wCz#wHckwZ?*(=RxLfq_B9hJm3T2%%u3!aGR`KSy6zAYUNdG0ZjI PF~~VSAk4tbjKKf^=6?TXlevZDbK)yh@W0-5a PV~}%vK$ww<0fPYm@9hpE diff --git a/sound/direct_sound_samples/cries/magcargo.aif b/sound/direct_sound_samples/cries/magcargo.aif index 10c2a34515f92f8194cf0aaae4cc810e338abdf9..f1127dabc4a25a7abadf89f385f344119be2a2e8 100644 GIT binary patch delta 20 bcmeARx)sRb<{#wCz@TwyB8S{Yr!5))NO%Uw delta 68 zcmcZ=*cZg%<{#wCz@W)CkwZ?*(=RxLfq_B9hJm3T2%%u3!Y&O7KSy6zAYUNdG0ZjI PF~~VSAk4_nlEDA~@O%yh diff --git a/sound/direct_sound_samples/cries/magearna.aif b/sound/direct_sound_samples/cries/magearna.aif index f07533638af4df83514bda2effb914e3fcaf7b86..2e01fe5aa356c89ee8f93ad14c1679d5c6590d3f 100644 GIT binary patch delta 22 ecmbO=h4IW}Mh-XsAYTRs&m$8#znQ_(>Mh-XsAYTRsFQJJXa$V-sy-yh*&8SbQf6TY0I}E=F#rGn diff --git a/sound/direct_sound_samples/cries/magikarp.aif b/sound/direct_sound_samples/cries/magikarp.aif index f5f9ce213c831db0c00805a4a1cc10f4d3a02fa5..71bdbf39397373e33dea850c4a1ec96b247ed913 100644 GIT binary patch delta 20 bcmZ4I^~;mP%|FPOfkEZdL=L%)PFGX_O)v*A delta 68 zcmez6xz3Bj%|FPOfk9PmB8Qxqr(bXg0|SGI4Ff|x5JJI5g7({Fs80vu#3N|WKg-iH3`nm%70^yEf RuJMjR&hY_ZCT2zq1^`zj51#-4 diff --git a/sound/direct_sound_samples/cries/makuhita.aif b/sound/direct_sound_samples/cries/makuhita.aif index 8445adf5df70a51dd65b2ca3e0b3b80547f2cbcb..2dffab4bcc1737376f133d79b83e8534697185db 100644 GIT binary patch delta 20 bcmbOvdryYL%|FPOfq^e>`~Xuj2Pyyn delta 102 zcmdlom$7LcBZr%RkS_y+->-=ra$$h4I%EMh-XsAYTRsucC<@a$=r-!66I`3?eoR4D~<=1sfIAyd?Y_eO-ZkfpEt# R*LcSu=lFmy6H5aI697RA4+H=J diff --git a/sound/direct_sound_samples/cries/mandibuzz.aif b/sound/direct_sound_samples/cries/mandibuzz.aif index 3f12088d0a5218dd996284b8aba81d80cf5f25dc..1a3a3afec3b6a589b81492a638eb2b8fecfe99f6 100644 GIT binary patch delta 23 ecmZ29gRx@Q~&?~ delta 47 zcmdm&d?Q)S%|FPOfx+;CqoF~dflO@;th CP7Rj; diff --git a/sound/direct_sound_samples/cries/mareanie.aif b/sound/direct_sound_samples/cries/mareanie.aif index de6c86b213794bdc5270a7bd595881b5c360ea92..75a73d5edb282163ccd83804fd0ba93daf64dbd2 100644 GIT binary patch delta 20 bcmZpv+E&To<{#wCz+kg(B8S{Yn+Y}mN)`sh delta 100 zcmdm1*;2*f<{#wCz+m%dB8QxqpQEoU0|Nt}xrw=gu7Yo3QEFmdX6i<@2{smTXlevZDbK)yh@W0-5a PV~}%vK$xL{DT5IJ@97RC diff --git a/sound/direct_sound_samples/cries/marshadow.aif b/sound/direct_sound_samples/cries/marshadow.aif index a763d4abb8f9ae7dd332eb6b7bc85b6b7275628a..3092b639f24ea278849977d7a18496147820f04c 100644 GIT binary patch delta 22 dcmcb%k+EeXBZr%RkS_y6M9oAFxs7&l5dc_Q2P*&o delta 106 zcmZqK$arldBZr%RkS_y6#JPzaauR-yzOD=m3<4GgMhdzLzKKP}8Hp+R66EX+6a}fXFk%1zb3GR_ diff --git a/sound/direct_sound_samples/cries/marshtomp.aif b/sound/direct_sound_samples/cries/marshtomp.aif index 11ea04d0cd67e692b85f2d671ea150a5ab10d71a..79728eb0876e1a0cff956038b087142f974ffea1 100644 GIT binary patch delta 20 bcmX@*G|h>_%|FPOfkBaPB8S{YrwMQHevZDbK)yh@W0-5a PV~}%vK$wxKC4)Ht_Sz0n diff --git a/sound/direct_sound_samples/cries/masquerain.aif b/sound/direct_sound_samples/cries/masquerain.aif index 34f079f152b1e5088cc079901a6b39b9e259e432..e3ef3b9d81d62c123ae94d3e64316123bd947ef7 100644 GIT binary patch delta 20 bcmez8bIOOq%|FPOfkDk_B8S{YClxgSNu34x delta 68 zcmX@*^UsIF%|FPOfkCZoB8Qxqr(bXg0|SGI4Ff|x5JJI51uZoRKSy6zAYUNdG0ZjI PF~~VSAk4_Zguws+4%7}e diff --git a/sound/direct_sound_samples/cries/maushold_family_of_three.aif b/sound/direct_sound_samples/cries/maushold_family_of_three.aif index 7412a1af6a87dc1a83a5e85d32e9d3bc8aab2c9f..0e771535ea3eda310ca2c65947d7570895d1aa2d 100644 GIT binary patch delta 23 fcmbQ#&p4@{ae^*m%H)Ggk0(25vTPP*taSqbXn_bU delta 23 fcmbQ#&p4@{ae^*m^5la|k0(25vTPP*taSqbXmbcF diff --git a/sound/direct_sound_samples/cries/mawile.aif b/sound/direct_sound_samples/cries/mawile.aif index e14dd5a4e463a6a7fb7e93108c3bccc0e575beb0..8374bf4797fd6650de80ae9e6c48a4657e06ec6f 100644 GIT binary patch delta 20 bcmbQH`$&hw%|FPOfk7;4B8S{YCmS&UKM)0a delta 68 zcmaE)GfkJn%|FPOfkCWqB8Qxqr(bXg0|SGI4Ff|x5JJI51t&2HKSy6zAYUNdG0ZjI PF~~VSAk5gnn86GH?3N9- diff --git a/sound/direct_sound_samples/cries/medicham.aif b/sound/direct_sound_samples/cries/medicham.aif index d081dc9002f30965afe7063db02ad908eac71073..02818ba0dd2d18a3ea456404a0b58189af77943e 100644 GIT binary patch delta 20 bcmX@-Fw23%%|FPOfk8oNB8S{Yr!VpVK(GcB delta 68 zcmbQ`aL$3l%|FPOfkDA-B8Qxqr(bXg0|SGI4Ff|x5JJI5gReIj~-F5|3?db4x^CCUXw delta 12 TcmX>ReIj~-F5}FNdb4x^CB+3q diff --git a/sound/direct_sound_samples/cries/meowstic.aif b/sound/direct_sound_samples/cries/meowstic.aif index 0d356edeb180ae1370fa324c7949d15c29f3693f..a8536832b263267a862c6739cea4c31de50c34d8 100644 GIT binary patch delta 20 bcmeA%+Goh&<{#wCz#y@0B8S{Yn;8-SKn?~B delta 100 zcmdmI*ki=u<{#wCz#z#okwZ?*&(YVFfq{X~%-ljjSHU+mzr464GkK%h3<(QQ7h?sW hlmU=t2GR@+Y9XE>MnIY$h*8yt1UY*H1wqP;ECEL(6iEO8 diff --git a/sound/direct_sound_samples/cries/meowth.aif b/sound/direct_sound_samples/cries/meowth.aif index 9ba028cfb73413a625106d720634d41f69d2412b..d919e99e63d91c47ce9b5d38c760ebeb1395ed05 100644 GIT binary patch delta 20 bcmcbnx=5A7%|FPOfk9~2L=L%)PBlURK-mT3 delta 68 zcmZ3adQFwX%|FPOfkEipL=HJIPru+01_lNZ8wQ4YAcTUA3Qa;1evZDbK)yh@W0-5a PV~}%vK$wB45rZ)R`>YNf diff --git a/sound/direct_sound_samples/cries/mesprit.aif b/sound/direct_sound_samples/cries/mesprit.aif index 4996d3f4b713fb76f7c95710f1eafd73f1c7e065..0c76a7f0f47e237890d73b2bf81a7137a112bca2 100644 GIT binary patch delta 22 dcmeC0$arl6BZr%RkS_y+hu=gFxs6T+9sp3626zAf delta 70 zcmcaMfw5~MBZr%RkS_y+N7F delta 70 zcmZ29lkwV2Mh-XsAYTRspK}vA7({Fs80vu#3N|V<`AGOV`nm%70^yEf RuJMjR&hY_Z#^z=W<^WFY4~PH& diff --git a/sound/direct_sound_samples/cries/metagross_mega.aif b/sound/direct_sound_samples/cries/metagross_mega.aif index 3f9ca589cf8b9d81ad50e77429661a3d116ae7d8..e1125b659f5077922315827e2c26afaf323cf89c 100644 GIT binary patch delta 14 VcmbQ%%rvc;X@V|e#zwu2MgS)Z1tkCg delta 14 VcmbQ%%rvc;X@V|e`bNEsMgS)U1tb6f diff --git a/sound/direct_sound_samples/cries/metang.aif b/sound/direct_sound_samples/cries/metang.aif index df249ec540efe3e527da4a78c38a1ba15bedd5da..225cdfbfe1eae8c36084b5b8293542a13af3db25 100644 GIT binary patch delta 20 bcmX@-Im?s7%|FPOfk9=`L=L%)P9-V;MI8n& delta 68 zcmbQ`dCrr=%|FPOfkEZiL=HJIPru+01_lNZ8wQ4YAcTUA3RNl+evZDbK)yh@W0-5a PV~}%vK$x+)DT5gR4SWuC diff --git a/sound/direct_sound_samples/cries/metapod.aif b/sound/direct_sound_samples/cries/metapod.aif index de04d69de6a74277c65f0cd268f994a55d6720c2..e875755db0a61ac4c6220ce51332aa5e07cd7761 100644 GIT binary patch delta 20 bcmewtbt;O(%|FPOfkD@4B8S{YCly@)OWOt` delta 68 zcmX>V^)HIU%|FPOfkC%yB8Qxqr(bXg0|SGI4Ff|x5JJI51ub0(KSy6zAYUNdG0ZjI PF~~VSAk4tfkiiT97$^=~ diff --git a/sound/direct_sound_samples/cries/mew.aif b/sound/direct_sound_samples/cries/mew.aif index 166a0a8e95a603c91f298721986138fe0f766f6a..f0649ee6f847c838c69b8f047fe2a1ee60d1768c 100644 GIT binary patch delta 20 bcmX?9)>p>i<{#wCz+lZbkwb2y(+evAM-~Q# delta 68 zcmeAxJ5p>i<{#wCz+lZbkwb2y(+evAM-~Q# delta 68 zcmeAxJ5Jv669AO22<{#wCz+lqi=;`L>=jiLoz`!6B?il78?-=A9AK)AA6mMp1$S{#dkRb)% diff --git a/sound/direct_sound_samples/cries/mime_jr.aif b/sound/direct_sound_samples/cries/mime_jr.aif index 1b12debbc33a5a25cd43e54acbc9238427a6f450..604c678fae99e6f2038f606c2509e0b41857d257 100644 GIT binary patch delta 20 bcmaFnw#kjd%|FPOfk9boB8S{YCmv-0L?;D@ delta 68 zcmdnw_RNjL%|FPOfk8QLB8Qxqr(bXg0|SGI4Ff|x5JJI51tDb#KSy6zAYUNdG0ZjI PF~~VSAk4(rlEDZ7_G1mn diff --git a/sound/direct_sound_samples/cries/mimikyu.aif b/sound/direct_sound_samples/cries/mimikyu.aif index b86eaedaa56b138331682e8efc0c2c9958e6b569..15f3720dc75b61364839fae178378442cdc86dc1 100644 GIT binary patch delta 20 bcmaDWi%|FPOfx((*B8S{Yn|D?KN-PGl delta 100 zcmbPI_Na`*%|FPOfx$XzB8QxqpQEoU0|Nt}xw(acu7Yo7Zf166slrCJcUBgjF2)K# jDFYzQ45S$tR6{&NjDR#B5TmFM33B!Zih)#_S}*_ryX+N2 diff --git a/sound/direct_sound_samples/cries/minccino.aif b/sound/direct_sound_samples/cries/minccino.aif index c10f3f7c9f2ee46c9945def695ca58e6ee33cc7c..d49eb07414ad7e800ccce323ef34b3c18311ad95 100644 GIT binary patch delta 26 hcmcZI)5p diff --git a/sound/direct_sound_samples/cries/misdreavus.aif b/sound/direct_sound_samples/cries/misdreavus.aif index a501b547b6edb95e5d40e2f5f108d2fef984c129..774a832ea114d832accb4f7a72d2641671f3128b 100644 GIT binary patch delta 20 bcmcblJ5QIx%|FPOfkABAL=L%)P8DJRL16{! delta 68 zcmbQIdr6nW%|FPOfkEulL=HJIPru+01_lNZ8wQ4YAcTUA3Uy)2D1PF delta 70 zcmX>!h4I@IMh-XsAYTRsue^yIa$=r-!66I`3?eoR4D~<=1sfHVyd?Y_eO-ZkfpEt# R*LcSu=lFmyV@pE@V*ovv4)Xv2 diff --git a/sound/direct_sound_samples/cries/morelull.aif b/sound/direct_sound_samples/cries/morelull.aif index 78ee2ffc63ad462211dd3482ba4849c45edb28a4..0b38baf6a4960fefffc9e66976453691579aa433 100644 GIT binary patch delta 22 dcmdng#rUL?k;BbD$d`e^<<3M7xs5jaTmV^82d)4B delta 102 zcmaFT$+)SDk;BbD$d`e^Rcj)LoS2`ZuPXxs1E0C6se-P8Z+=l~PH9fgMzwt|7M?D~ k3P33XAk7S<85q<;JVT6tG(Qldst*Zr_67=qlo^`>0NR5U;s5{u diff --git a/sound/direct_sound_samples/cries/mothim.aif b/sound/direct_sound_samples/cries/mothim.aif index 82a42bce34715d2b97374abe3eaaf22a5d8a3709..d2a2c7b8c30ad26de4f546d99e72ed238d0370fb 100644 GIT binary patch delta 20 bcmccQJI|NH%|FPOfkAEBL=L%)P8DhZMu7%P delta 68 zcmbQ|d&!r>%|FPOfkExmL=HJIPru+01_lNZ8wQ4YAcTUA3Uz7{evZDbK)yh@W0-5a PV~}%vK$wZ434;Lu6M7DW diff --git a/sound/direct_sound_samples/cries/mr_mime.aif b/sound/direct_sound_samples/cries/mr_mime.aif index ca89f4bc2ed399f414cddbf2154d5abbd8f97661..991eeb9d1cdcd460c74df7f92fce43f33102237e 100644 GIT binary patch delta 20 bcmez8dCHT+%|FPOfkEZaL=L%)PD@k(P8|mC delta 68 zcmX@*`OlNX%|FPOfkEZlL=HJIPru+01_lNZ8wQ4YAcTUA3aeBk{2YBWi`rNTxvHZu!P7h?sW ilmU=t2GR@+sv({sMnIYmh*8vs1UY*H#XzczEExch>J(o9 diff --git a/sound/direct_sound_samples/cries/mudkip.aif b/sound/direct_sound_samples/cries/mudkip.aif index adbdda2906dfab7ed04877316806c8d17db13255..0162f94001dd6036910ea078777bae1417579da6 100644 GIT binary patch delta 20 bcmca5yG)kD%|FPOfq`${L=L%)P7QnjKv4zT delta 68 zcmZ1`drOwX%|FPOfr0PRL=HJIPru+01_lNZ8wQ4YAcTUA3T=E6evZDbK)yh@W0-5a PV~}%vK$wxK1%nv?`NIw% diff --git a/sound/direct_sound_samples/cries/mudsdale.aif b/sound/direct_sound_samples/cries/mudsdale.aif index 564019f27eeab38b3d8323a0bae8ade904a01ba3..2776ec02dadb68eeba2dcfa193f1d1ec7947d269 100644 GIT binary patch delta 22 dcmdng#rUL?k;BbD$d`e^<<3M7xs5jaTmV^82d)4B delta 102 zcmaFT$+)SDk;BbD$d`e^Rcj)LoS2`ZuPXxs1E0C6fr74rZ)r+#N@7mxMzwt|7M?D~ k3P33XAk7S<85q<;JVT6tG(Qldst*Zr_67=qlo=ZU0MDcqnE(I) diff --git a/sound/direct_sound_samples/cries/muk.aif b/sound/direct_sound_samples/cries/muk.aif index 557bb84ec7a4eec1cce3b8be3b1507e01a633a95..2abfd59591b229a6d103701eba900e238a006aa9 100644 GIT binary patch delta 20 bcmaE6xyh2l%|FPOfk9@~L=L%)PCYUJM-2vF delta 68 zcmdmF`OK2T%|FPOfkEcpL=HJIPru+01_lNZ8wQ4YAcTUA3X^0c{2YBE(%|FPOfkENWL=HJIPru+01_lNZ8wQ4YAcTUA3S|lsevZDbK)yh@W0-5a PV~}%vK$xMW1%n9y1hEcH diff --git a/sound/direct_sound_samples/cries/musharna.aif b/sound/direct_sound_samples/cries/musharna.aif index 406f56576fd1d71e826cde5b6fa178e25eec282f..69dd2800cf3693aefdb460062d1763127cccee1a 100644 GIT binary patch delta 22 dcmeC!%6MrDBZr%RkS_y6l-EQKxs6UbQ2 diff --git a/sound/direct_sound_samples/cries/naganadel.aif b/sound/direct_sound_samples/cries/naganadel.aif index b8c34ce627c46e6917df7487f6c52c4d560a11b2..4cd829612baf1dff95a066a6786feee44bcb9e54 100644 GIT binary patch delta 22 ecmex#gK@zPMh-XsAYTTC9Eph>avSY_Wdi_Vrw9-L delta 106 zcmZ2*gYnZ1Mh-XsAYTTCoUDl)auR-yzOD=m3<4GgCJMR=eu?Rcd5I~hISL!qeq~#E nx)>_}C5?bIGmvIrP!I78F#^&8K#Zm%B*@ttC<;<%VZs0asO}fX diff --git a/sound/direct_sound_samples/cries/natu.aif b/sound/direct_sound_samples/cries/natu.aif index a492cc5d3950e02400c4972beeb5c07eebf77d1d..76094398889233b89dd389139eeb60fab2c393d2 100644 GIT binary patch delta 20 bcmX@6IZ2bl%|FPOfkC8eB8S{YryLOgK79qR delta 68 zcmbQFc}$bT%|FPOfk9;7L=HJIPru+01|Y|VfuSAS*N2G#%o delta 102 zcmdmWj0|2tu8bAO5 diff --git a/sound/direct_sound_samples/cries/necrozma_dusk_mane.aif b/sound/direct_sound_samples/cries/necrozma_dusk_mane.aif index 3a31dc8e59a5422641992a74d07045c55c3fc330..fce3fb2f61df005481b0e5ebe2f27377f71b2bbc 100644 GIT binary patch delta 22 ecmaEGg|X=hBZr%RkS_y6=C6qyavNRlWC8$W4hWq9 delta 118 zcmZp=!ua3{BZr%RkS_y6R>VXOIXOQ^UsnbO1~Cf*0|i|LztrTS{HokU1r3+d;%rTY tjcRu?9Xwr(6@W@CfHX6ZW?;|_@eDBn(qcf2RbNPuvo}x0(~{8E#P@~d(a6*NL~N{SLS sH>!E0J9xSnD*%;P0BL3*&A^}+;u&HDq{V?4yS|VhXK$b+NV%CA06AV8^8f$< diff --git a/sound/direct_sound_samples/cries/nidoking.aif b/sound/direct_sound_samples/cries/nidoking.aif index 43fadf98977d4ce625f0d66e9cf98c621516b26e..5a645ca83a4f9203785cc07dcc1dc412e98e7ee4 100644 GIT binary patch delta 20 bcmZ1#|1FNg%|FPOfk8iSB8S{YrvQBbO40^k delta 68 zcmewsw?!NevZDbK)yh@W0-5a PV~}%vK$wBCA%iIZ6FCl{ diff --git a/sound/direct_sound_samples/cries/nidoran_f.aif b/sound/direct_sound_samples/cries/nidoran_f.aif index a8ecf4b4a00d7b02dbdb7cbc023e4da7d768cd41..cf0213394974a5b6d4276537a01b67580662d912 100644 GIT binary patch delta 20 bcmbQFc2AYV%|FPOfkEinL=L%)PCJAELM#SU delta 68 zcmcboI!TSg%|FPOfkBvSB8Qxqr(bXg0|SGI4Ff|x5JJI5g?&O2evZDbK)yh@W0-5a PV~}%vK$wA%C4&(F)(Q=h diff --git a/sound/direct_sound_samples/cries/nidoran_m.aif b/sound/direct_sound_samples/cries/nidoran_m.aif index bb2de057e4c01b71b1fe6ce077d4fc7b9f259b54..2e691595bf7306e7d1a076d55cd65ed4d9e5b78d 100644 GIT binary patch delta 20 bcmeyRaZH25%|FPOfkDJ>B8S{YCj}7zLm35q delta 68 zcmX@6@k@il%|FPOfkC8bB8Qxqr(bXg1CV3Gz)%l_P_R)!O+>=a(bpBo7YKI@bB%Wl Oa*huOGcYz{FaiMb*$uP+ diff --git a/sound/direct_sound_samples/cries/nidorina.aif b/sound/direct_sound_samples/cries/nidorina.aif index ce56909917cbec3dc02be42ccf07df4c56edcddd..3f73fd947f5c9d036cc2c9207ef765cc941f5c05 100644 GIT binary patch delta 20 bcmbPabkC5(%|FPOfkEQhL=L%)PCFz3L>LBm delta 68 zcmca-ILU~^%|FPOfkBdMB8Qxqr(bXg0|SGI4Ff|x5JJI5g?$ndevZDbK)yh@W0-5a PV~}%vK$wBC0fP|$-W3h5 diff --git a/sound/direct_sound_samples/cries/nidorino.aif b/sound/direct_sound_samples/cries/nidorino.aif index dcc1629e4bdfd9e7f0d668d76cea836a647fcec9..75e48cc7213606861b64e0ff22eaba4c5f93b6c6 100644 GIT binary patch delta 20 bcmdm_|4)y@%|FPOfkC`%B8S{YrwDNXM4|=o delta 68 zcmeyTw@IJF%|FPOfkAxLL=HJIPru+01_lNZ8wQ4YAcTUA3UT5RevZDbK)yh@W0-5a PV~}%vK$wBCF@q5R1+@++ diff --git a/sound/direct_sound_samples/cries/nihilego.aif b/sound/direct_sound_samples/cries/nihilego.aif index 1e428ec28a7dec288925dd9b67d0abe541babbca..17c56e8cbf46e2f391139907e3853acb7d2ffb6b 100644 GIT binary patch delta 22 ecmdn=jPc1+Mh-XsAYTTCqB|2gV-sy-yh*&8SbQf6)p05k3u!TmIZ2Yk%|FPOfq|!MB8S{YryL#tJM9I3 delta 68 zcmbOvc}$YS%|FPOfq`e=L=HJIPru+01_lNZ8wQ4YAcTUA3Pn5;evZDbK)yh@W0-5a PV~}%vK$wxG0fP|$<_!(J diff --git a/sound/direct_sound_samples/cries/ninetales.aif b/sound/direct_sound_samples/cries/ninetales.aif index aa31af7a8c0ea2c13f8720cdce737d2a773eec5e..51a260f9e92af803b3f53159f8935851212b4405 100644 GIT binary patch delta 20 bcmZ1$|0#~c%|FPOfk8iOB8S{YCm($PN)iT8 delta 68 zcmewqw=AB+%|FPOfkA)XL=HJIPru+01_lNZ8wQ4YAcTUA3PJi3evZDbK)yh@W0-5a PV~}%vK$wBC1%nX)93T#j diff --git a/sound/direct_sound_samples/cries/ninjask.aif b/sound/direct_sound_samples/cries/ninjask.aif index f5b32b13ed2abb07febc1b8fa712ccf8267cd6b8..06693156a76d5fe747518fcca1d9c0c9e6cb4f9a 100644 GIT binary patch delta 20 bcmcboze=CO%|FPOfkAxHL=L%)PA%d9L-Ph9 delta 68 zcmZ3be@~yo%|FPOfkFJ*L=HJIPru+01_lNZ8wQ4YAcTUA3SHt7evZDbK)yh@W0-5a PV~}%vK$wxGA%hVB31ALi diff --git a/sound/direct_sound_samples/cries/noctowl.aif b/sound/direct_sound_samples/cries/noctowl.aif index 9cb1b31653aebe44facfe5a865999ee327dab6ee..2a96488f28f4f2f53f3bc935cc62967328178318 100644 GIT binary patch delta 20 bcmcZ?v?_?h%|FPOfk9JgB8S{YCl*ZrM3V)J delta 68 zcmZ1#bT5d*%|FPOfk88DB8Qxqr(bXg0|SGI4Ff|x5JJI51ujhqKSy6zAYUNdG0ZjI PF~~VSAk5Irguw^^_p1%a diff --git a/sound/direct_sound_samples/cries/noibat.aif b/sound/direct_sound_samples/cries/noibat.aif index a00200aab0604c5eb080cef694fe5031bfe3b9fc..6f3c18f40dc030c2a94097d8c24465de062a493a 100644 GIT binary patch delta 26 hcmbPG*i^{l<{#wCz+h43=;`J*QA&|9WTQ=p1psTw2bTZ< delta 40 vcmZoFoKPs`<{#wCz+lng=;`L>=jiLoz`($km!FxGSTd1Ekui9qUWf$%>@^EI diff --git a/sound/direct_sound_samples/cries/noivern.aif b/sound/direct_sound_samples/cries/noivern.aif index aaf03806d72ff0edaf7353fbfb48d5fa542a2629..5806e69713611d725c1cd286bd4b4308bb3963af 100644 GIT binary patch delta 22 dcmdlpo$=i?Mh-XsAYTRs@3e^=avN~q3Ootg>nEc=>_8e delta 15 WcmZp%Yq6W4%XoF7q3Ootg>nEc;RWIV diff --git a/sound/direct_sound_samples/cries/octillery.aif b/sound/direct_sound_samples/cries/octillery.aif index f52b7978e598e58cc87d0fe5eddac1078bdd03b8..196400455137582232fce349ddeb5b185c90350f 100644 GIT binary patch delta 20 bcmdm%)|AHK<{#wCz+m)iB8S{Yr#nUfN<9Z9 delta 68 zcmZol+m^=R<{#wCz+kL5kwZ?*(=RxLfq_B9hJm3T2%%u3!XqOIKSy6zAYUNdG0ZjI PF~~VSAk4_fguw^^{wxk) diff --git a/sound/direct_sound_samples/cries/oddish.aif b/sound/direct_sound_samples/cries/oddish.aif index 2c9902bb20e09ecd01131e97fc1f055fd00360b3..4f30f7ddb452ad75214dfd4697bc8def971c273f 100644 GIT binary patch delta 20 bcmbPb`OJdD%|FPOfk7s2B8S{YCkGh-LA(X7 delta 68 zcmaE6G0T#}%|FPOfk9@{L=HJIPru+01_lNZ8wQ4YAcTUA3T`qIevZDbK)yh@W0-5a PV~}%vK$wAvF@pgB_!kZ3 diff --git a/sound/direct_sound_samples/cries/ogerpon.aif b/sound/direct_sound_samples/cries/ogerpon.aif index e5cb2f7badeea1df98c3efdc6f65ef3212de6ce8..17b9d94d62fd81073029170a0bd4044026c3eb27 100644 GIT binary patch delta 14 Vcmew|iSf%M#tFKNZX5O7JOMCQ1%Utn delta 14 Vcmew|iSf%M#tFKNt{e5-JOMCL1%Lnm diff --git a/sound/direct_sound_samples/cries/okidogi.aif b/sound/direct_sound_samples/cries/okidogi.aif index afa9cfbddd8855f677d4f53c57cedfe5e8ca1d9e..f22f3ba3358b2da3119fd09787a27f73fc80ff74 100644 GIT binary patch delta 18 YcmbR6lyL$O=`towF3b?y=;BiZ07=XTLI3~& delta 18 YcmbR6lyL$O=`toxF3b?y=;BiZ07=6KK>z>% diff --git a/sound/direct_sound_samples/cries/omanyte.aif b/sound/direct_sound_samples/cries/omanyte.aif index 7ee0a8e3fe2f3d9677139191af1dca0aa8419859..eeedac34db7ef26ed1f3355aac25a1d418460f71 100644 GIT binary patch delta 20 bcmZ2w^39mT%|FPOfkE=!L=L%)P8TErNa_aO delta 68 zcmexnyvl^b%|FPOfk8@XB8Qxqr(bXg0|SGI4Ff|x5JJI5g=>-$evZDbK)yh@W0-5a PV~}%vK$xMi1%n9y^XCp9 diff --git a/sound/direct_sound_samples/cries/omastar.aif b/sound/direct_sound_samples/cries/omastar.aif index 4c110a3fad240ccb493d2ae0442ed17bbaac93dc..9d4f738efd1aa416873a0df16779e1b72bdadf9c 100644 GIT binary patch delta 20 bcmZ2v^3IsU%|FPOfkE=wL=L%)PA4P*M`{MX delta 68 zcmaE7yvT&Z%|FPOfk8@YB8Qxqr(bXg0|SGI4Ff|x5JJI5g>#Y;evZDbK)yh@W0-5a PV~}%vK$xMiC4(^l?I8{S diff --git a/sound/direct_sound_samples/cries/onix.aif b/sound/direct_sound_samples/cries/onix.aif index 2f7c050e8301d4f8b4763f633556e68ce0ce944c..6203ce56896974948abc79abecfbe0136b6fe762 100644 GIT binary patch delta 20 bcmX??Fe`z>%|FPOfx$p%B8S{Yr!V>dMbHLx delta 68 zcmbQ0a4vzv%|FPOfx*CSB8Qxqr(bXg0|SGI4Ff|x5JJI5gN6N6p`(JXf`3tFa(+=}zJi8RVrEXN vrou+G1UDy77h?sWA}b)x45S$t^g}#DjDWNR5aZAp66EX+lm)3bGGqV%I`JEM diff --git a/sound/direct_sound_samples/cries/oricorio_pau.aif b/sound/direct_sound_samples/cries/oricorio_pau.aif index 69933407e0fe03582e3b5628674d5532d603af93..4faa6cc083c8761a96b69643465aaf6a02e5fa0d 100644 GIT binary patch delta 22 dcmbPno^jVXMh-XsAYTTCbfbwJavNPl(g9gb2JQd= delta 118 zcmdmWj&a6$Mh-XsAYTTC^a&F=!!GJ9xSnD*%;P0BL3*&A^}+;u&HDq{V?4yS|VhXK$b+NV%yc0Kl9YO8@`> diff --git a/sound/direct_sound_samples/cries/oricorio_sensu.aif b/sound/direct_sound_samples/cries/oricorio_sensu.aif index f9208250b4d3df971a15b4643110ea40436b9999..bdc25a774970a8fde90a86cc9e8e09b88508491f 100644 GIT binary patch delta 20 bcmexXHl>Wi%|FPOfx((*B8S{Yw|7bS!CtE~CUoLwm-_^Yr*P*D#*a2LN0|2jBnz delta 21 dcmX?>bS!CtE~EHHLwm-_^Yr*P*D#*a2LN0)2j2hy diff --git a/sound/direct_sound_samples/cries/palafin_zero.aif b/sound/direct_sound_samples/cries/palafin_zero.aif index 3ee6bdb32195d0b13d13b2afdfe9bc5463e5a8ae..16051848beb8a45e9cc8ea9fc4bb980db25329ef 100644 GIT binary patch delta 18 acmbProN?B1#tFKNIg>vot=M?&ND=^0nh7cZ delta 18 acmbProN?B1#tFKN*^@set=M?&ND=^0kqIdP diff --git a/sound/direct_sound_samples/cries/palkia.aif b/sound/direct_sound_samples/cries/palkia.aif index e755ceace0b862c3cbfe541f23f9aa75c568e3a2..dee52b9a596602792aea291df0a6dfb861907b01 100644 GIT binary patch delta 22 ecmeC%z<6stBZr%RkS_y6_@#*)avPntgaZIuvIpb< delta 70 zcmcb$p0RHOBZr%RkS_y61lvRoIWbSa;1C7|1`!(uhI$}`f{hBh!X^A1eO-ZkfpEt# R*LcSu=lFmy6AKfDAOJN`4@Uq1 diff --git a/sound/direct_sound_samples/cries/palossand.aif b/sound/direct_sound_samples/cries/palossand.aif index 028df4fad71f341a014556f1cffda181e8b71222..a4a1da4feeecff5075139a6df97ff4f09f757143 100644 GIT binary patch delta 22 dcmeA<&$#OxBZr%RkS_y6y3s@qxs7%r=>S+W2HXGu delta 106 zcmdmWjJvC69ADS2{Zrz delta 55 zcmeCmT#~8g<{#wCz+f`R(bLV%&(YVFfq_9N+%e2G-Z98IKEOBJDc;n=oM9r5B4hMK KL%EGUb|wI<^$y(t diff --git a/sound/direct_sound_samples/cries/pancham.aif b/sound/direct_sound_samples/cries/pancham.aif index 581e0a34005bda95951b7560070b290c2307250c..5a986eddf4713ff84ee229025c881ed78afcc6cc 100644 GIT binary patch delta 20 bcmX@&|ILrX%|FPOfk8cQB8S{Yn*enHN;n2Y delta 100 zcmez7cf_B=%|FPOfkA!GL=HJIKSy6z1_lN`GjkIKU4?+eyyT3;T!oEl0qPc>F2)K# jDFYzQ45S$tR6{&NjDR#B5TmFM33B!Zih)!anKA$Xnno0C diff --git a/sound/direct_sound_samples/cries/pangoro.aif b/sound/direct_sound_samples/cries/pangoro.aif index cdbb8d21118085ace8b3b485989483e0ad2d4fd2..47f7bcf2d055ffd8d290f4a2bef128f2ef774217 100644 GIT binary patch delta 20 bcmcbS*_FxR<{#wCz+loekwb2yO^OKsNizmx delta 100 zcmeCmyphS_<{#wCz+iG=B8QxqpQEoU0|Nt}nYpQgu0lX!UV45}zQRVe6cYX#g<{#wCz+lZZkwb2y(-SKIMpg!P delta 68 zcmeAw+gHZn<{#wCz+i1QkwZ?*(=RxLfq_B9hJm3T2%%u3!YeBYKSy6zAYUNdG0ZjI PF~~VSAk4tToWTSD59AKD diff --git a/sound/direct_sound_samples/cries/passimian.aif b/sound/direct_sound_samples/cries/passimian.aif index 0aab355729be6a562081f1c3d36d1ee94395f3ca..ac824012e5f617dd660012268d303b14f49046b3 100644 GIT binary patch delta 22 dcmey+%s8)^k;BbD$d`e^aoR)S( nF2)K#Nh2W545S$t)I&T&jDWNN5Toe`33B!Zih|Ucm@xnVXz&*x diff --git a/sound/direct_sound_samples/cries/patrat.aif b/sound/direct_sound_samples/cries/patrat.aif index 1bfddd3f9f44865a6b89ac420f05f163eb82ea29..f1e17939ab1096782851587e720947165cf7146d 100644 GIT binary patch delta 26 hcmZoNe__Vs<{#wCz#yIA=;`J*QB9H2YNLmhGyr9Y2MPcH delta 52 zcmaE1)?}{c<{#wCz#v`a=;`L>=jiLoz`!6B?il78?-=A9AK)AA6mM#5&M=Wjk=jiLoz`!6B?il78?-=A9AK)AA6mMp1!Z49Xk@4t8 Hy%|FPOfkEZkL=HJIPru+01_lNZ8wQ4YAcTUA3SBA^evZDbK)yh@W0-5a PV~}%vK$wB4F@rGx8te|L diff --git a/sound/direct_sound_samples/cries/petilil.aif b/sound/direct_sound_samples/cries/petilil.aif index ce243e499ef289ff0b4941555dfc5dc9850aa3ca..6252c76247048e011519ac5ab848ff69b025ff34 100644 GIT binary patch delta 21 ccmeBD{h-3*<{#wCz#x?2=;`LRQ7uIX07Oa!;Q#;t delta 47 zcmeyM(xs~A<{#wCz#!D*=;`L>=jiLo0OW)_hPlQ&206zE_=Y>hn;M!kY~)E10st)> B3?~2p diff --git a/sound/direct_sound_samples/cries/phanpy.aif b/sound/direct_sound_samples/cries/phanpy.aif index 6f95e2907861b45bb7db8cb05896df2396e757f4..0c541c3bf155b34c0054e9b449c3f930aa982d02 100644 GIT binary patch delta 20 bcmdm`)274W<{#wCz##f>B8S{Yrw5_{L9+&j delta 68 zcmZqE*`>qb<{#wCz#wKckwZ?*(=RxLfq_B9hJm3T2%%u3!ZT3`KSy6zAYUNdG0ZjI PF~~VSAk4_vkiilF+CvS; diff --git a/sound/direct_sound_samples/cries/phantump.aif b/sound/direct_sound_samples/cries/phantump.aif index 14951a8acfac34f988d43eb87b10f479a5b68192..1afccc074c5328463d7c48d27db8c96c2100d7cf 100644 GIT binary patch delta 22 ecmcaNi*dp%Mh-XsAYTRsUyg|!avN=4`2YY@aR(3p delta 102 zcmbO*i}BtpMh-XsAYTRs->``sa$V-sy-yh*&8SbQf6ui0Q2k?M*si- diff --git a/sound/direct_sound_samples/cries/pheromosa.aif b/sound/direct_sound_samples/cries/pheromosa.aif index b4093eb594bb84f8155daf5c26ed0fdae035fac8..bcf57050d3e6fd44afa083920c549ef4503d0f3f 100644 GIT binary patch delta 22 dcmeA<&$#OxBZr%RkS_y6y3s@qxs7%r=>S+W2HXGu delta 106 zcmdmWjl^G}Au%|FPOfq}1VB8Qxqr(bXg0|SGI4Ff|x5JJI51uZ@aKSy6zAYUNdG0ZjI PF~~VSAk5I*h`|^D?lBFf diff --git a/sound/direct_sound_samples/cries/pidgeot.aif b/sound/direct_sound_samples/cries/pidgeot.aif index 2e29607ad0dd92a3cf5d5c837296e53de8f7409e..67f49406a94ab86af1a0d719c5e7baf307a8d5dd 100644 GIT binary patch delta 20 bcmZ4H{K<*K%|FPOfk82AB8S{YCm%%sMV1Bp delta 68 zcmez5w9J{q%|FPOfkAQJL=HJIPru+01_lNZ8wQ4YAcTUA3PFkzevZDbK)yh@W0-5a PV~}%vK$wA{1w#-32|f;2 diff --git a/sound/direct_sound_samples/cries/pidgeot_mega.aif b/sound/direct_sound_samples/cries/pidgeot_mega.aif index 89b846a1cc3bcc8a7e8d63a565bb769733596e2a..a1639ba4e9137b72cdfd84a0f1707f7122d225a7 100644 GIT binary patch delta 14 WcmZ3mhH=3f#tFKNpEl}!3IzZ!IRKSy6zAYUNdG0ZjI PF~~VSAk4tfoWT+R_)-nj diff --git a/sound/direct_sound_samples/cries/pidgey.aif b/sound/direct_sound_samples/cries/pidgey.aif index 14d8284b976fbfadbc4466118762d96b87a0386c..3b4b6ece2757bdb418317c45fcf2c66b311e881b 100644 GIT binary patch delta 20 bcmcb`zl@*5%|FPOfq{MAL=L%)P7Uk;J`)A8 delta 68 zcmZ3+e~X{P%|FPOfr0(fL=HJIPru+01_lNZ8wQ4YAcTUA3T^BXevZDbK)yh@W0-5a PV~}%vK$wA{8AA{N@Inp> diff --git a/sound/direct_sound_samples/cries/pidove.aif b/sound/direct_sound_samples/cries/pidove.aif index faec9a046c22ef5c5baa9913b93330af897c0419..b2bd5590bc8d1f176e2e2f8d658628b5898eca2c 100644 GIT binary patch delta 30 mcmZoNdtu7s<{#wCz##R&(bLUsqM9P(uE`f!l{aQjmjVEl>k1M8 delta 56 zcmaE1+GM8Y<{#wCz##R@(bLV%&(YVFfq_9N+%e2G-Z98IKEOBJDc;o3gkd6&BIC}< M8(Eb%22Pg(0K}sZ8UO$Q diff --git a/sound/direct_sound_samples/cries/pignite.aif b/sound/direct_sound_samples/cries/pignite.aif index 3cb8d0a850efeec524b53765ce32c9e3962f11ac..8e1f78ae2f3eac485ddd79ee61d614fbc1ba3746 100644 GIT binary patch delta 23 ecmX@n!MLu2k;lzH$d`e^Ma|LE&26Kak_!Md1H{2=S)YOz=Bae~` E08qIM&Hw-a diff --git a/sound/direct_sound_samples/cries/pikachu.aif b/sound/direct_sound_samples/cries/pikachu.aif index 30c770165947fdcff99ed4626bd35f7a4cabe440..4a7b270245621e54fb87a992dcd97806652e084d 100644 GIT binary patch delta 20 bcmbQ{_{f37%|FPOfk7c^B8S{YCmRI-LPQ0& delta 68 zcmaFlFwK#}%|FPOfkB~fB8Qxqr(bXg0|SGI4Ff|x5JJI51t$dwKSy6zAYUNdG0ZjI PF~~VSAk4tXl)(@H`W_AL diff --git a/sound/direct_sound_samples/cries/pikipek.aif b/sound/direct_sound_samples/cries/pikipek.aif index ee55aca4cefd4dbb97bc9ed2548dab369cee1bd3..04efe56a4cb7ebcec309700f19e1786c8e7d8959 100644 GIT binary patch delta 20 bcmX>X(-6bq<{#wCz@YnMB8S{Yn_Id7N;wA; delta 100 zcmZpOITyp><{#wCz@X=X@? diff --git a/sound/direct_sound_samples/cries/pineco.aif b/sound/direct_sound_samples/cries/pineco.aif index 6f02c13690d9162b127c7cacec97c6cb2fe0c06b..acb6de8a0c67485724ec0feeb262185618d30a7f 100644 GIT binary patch delta 20 bcmdmG(q_Wp<{#wCz##c=B8S{Yrw5V%Li+}v delta 68 zcmZoO*=54v<{#wCz#wHbkwZ?*(=RxLfq_B9hJm3T2%%u3!ZS$;KSy6zAYUNdG0ZjI PF~~VSAk4_XguxI1-=q!K diff --git a/sound/direct_sound_samples/cries/pinsir.aif b/sound/direct_sound_samples/cries/pinsir.aif index 995999b6849a8e9b84944fb84fed777a3a1f6993..bfbb268d68ce57fddcce929d4c31bedd625396ea 100644 GIT binary patch delta 20 bcmX?P&}YEm<{#wCz#zdkkwb2y(+hC`JKzPh delta 68 zcmeA(IAp-#<{#wCz#w5YkwZ?*(=RxLfq_B9hJm3T2%%u3!aH#ZKSy6zAYUNdG0ZjI PF~~VSAk5InoWTSDL=L%)P6y-xN7e?y delta 68 zcmaE6Kg)r`%|FPOfk8oNB8Qxqr(bXg0|SGI4Ff|x5JJI5g=6v(evZDbK)yh@W0-5a PV~}%vK$x+mF@q@p?u`xy diff --git a/sound/direct_sound_samples/cries/plusle.aif b/sound/direct_sound_samples/cries/plusle.aif index 2c023697f64dcf2f838d75dca781a641c992fc9c..e584201a8f3884b844e38d0fee28f7ad030dbc2c 100644 GIT binary patch delta 20 bcmdm_{7;F)%|FPOfkCirB8S{YrwBm+Lbe6W delta 68 zcmeyTv`Lx6%|FPOfkAN9L=HJIPru+01_lNZ8wQ4YAcTUA3UPuGevZDbK)yh@W0-5a PV~}%vK$x+iA%h_R{e%tz diff --git a/sound/direct_sound_samples/cries/poipole.aif b/sound/direct_sound_samples/cries/poipole.aif index b9f9fce1d0654b336b4ac9becc430b9095911684..c2a141ac85ef73c37926b72552dc8a08863963a2 100644 GIT binary patch delta 22 ecmZ27f$>^DBZr%RkS_y+`?-l6avNfc(sY{G3#UjcOa*Ej(R} l6@XF(K$;myGcc%zc!n4OX+9uEQ6CcI>HAr diff --git a/sound/direct_sound_samples/cries/poliwrath.aif b/sound/direct_sound_samples/cries/poliwrath.aif index ba1aac528d66ae23a2c9280ec0202b432fa365ad..bb9d78f3c39fa088e0cc5930be3ce84a76e0b859 100644 GIT binary patch delta 20 bcmaE+y-AzH%|FPOfkAZDL=L%)PCcRkM9&5_ delta 68 zcmdm_{Y;y~%|FPOfkE`%L=HJIPru+01_lNZ8wQ4YAcTUA3X?=7{2YBXrh2?PK$AqHXq diff --git a/sound/direct_sound_samples/cries/ponyta.aif b/sound/direct_sound_samples/cries/ponyta.aif index 121dbb39487d8d2aaf55cc29d4324d4eccde2de4..ec66a33faf46d97e55e84b5d1a16a7b577ad325e 100644 GIT binary patch delta 20 bcmexob;^pv%|FPOfkD=3B8S{YCly%$M!N;W delta 68 zcmX?Q_0NjK%|FPOfkC!xB8Qxqr(bXg0|SGI4Ff|x5JJI51ua<#KSy6zAYUNdG0ZjI PF~~VSAk4troWT?T0-+8D diff --git a/sound/direct_sound_samples/cries/poochyena.aif b/sound/direct_sound_samples/cries/poochyena.aif index d7bad7c909cc6fe10f31d413d7cbf04e8007a854..bfa6a00ae20afc43b97c7c50771ef764ebae62cb 100644 GIT binary patch delta 20 bcmX@5GEIfU%|FPOfkB9GB8S{Yrw@VvJ9GuG delta 68 zcmbQHa!Q56%|FPOfkDV=B8Qxqr(bXg0|SGI4Ff|x5JJI5g>QlqevZDbK)yh@W0-5a PV~}%vK$wx4A%h_R;%g1+ diff --git a/sound/direct_sound_samples/cries/popplio.aif b/sound/direct_sound_samples/cries/popplio.aif index 4b5571a17cba6537ae2f6b6ce7d587689aad1d6d..cbb3a0ff30e021da30eeb030b14a2134b268dc1b 100644 GIT binary patch delta 20 bcmbQ|bIF^-%|FPOfkE}uL=L%)HfvM?N6-eS delta 98 zcmccQJ_}C5?bIGmvIrP!I78F#^&8K#Zm%B*@ttC<;<%XutpfRKFIw diff --git a/sound/direct_sound_samples/cries/primeape.aif b/sound/direct_sound_samples/cries/primeape.aif index ef53c214617129205c716c49dce8394a3a9540c7..35898bf2e64ed374100b464c586280a32f3aebfb 100644 GIT binary patch delta 20 bcmZ2y|I3cU%|FPOfkD1#B8S{Yrx1AnMsfxa delta 68 zcmexmx6Yo!%|FPOfkA%RL=HJIPru+01_lNZ8wQ4YAcTUA3Q_VBevZDbK)yh@W0-5a PV~}%vK$wB4IfEep4LlA_ diff --git a/sound/direct_sound_samples/cries/prinplup.aif b/sound/direct_sound_samples/cries/prinplup.aif index 2550fd01c691b5aa212ee350202b140455fe0d86..62311c1cbf2c29e72863f850b087cf48122c4786 100644 GIT binary patch delta 20 bcmewre=MHE%|FPOfkA)YL=L%)P7Cw_P~!(7 delta 68 zcmX>W|0|xu%|FPOfkFS%L=HJIPru+01_lNZ8wQ4YAcTUA3d{5*{2YBkv%|FPOfkEb#qo0+z^ ilr#d;%s?8bC&V+v2uKS6F`AB$AZKr&C`g^DAp-z8dKSw7 diff --git a/sound/direct_sound_samples/cries/quagsire.aif b/sound/direct_sound_samples/cries/quagsire.aif index 84330f4de54cc9f26811e82c0aa304696768748c..7373b6bb0c9c1a7317e8794bfb5458d2b429a7ee 100644 GIT binary patch delta 20 bcmdmH(qzKn<{#wCz##c+B8S{Yr#q4WLOTYJ delta 68 zcmZoN*=EAw<{#wCz#yeJkwZ?*(=RxLfq_B9hJm3T2%%u3!XrruKSy6zAYUNdG0ZjI PF~~VSAk5IxlpzQJ+=C7A diff --git a/sound/direct_sound_samples/cries/quilava.aif b/sound/direct_sound_samples/cries/quilava.aif index 7b3e35ffb584a943f9c1efb0aa0846d6cc1a329b..40d3db5594d44a7c2ac7b8f6f3169793f3d2f52d 100644 GIT binary patch delta 20 bcmaE)w@#14%|FPOfk9ktB8S{YCk}A{KaT}3 delta 68 zcmZ3d_ehV!%|FPOfk8ZKB8Qxqr(bXg0|SGI4Ff|x5JJI51wL^JKSy6zAYUNdG0ZjI PF~~VSAk5IzjKKr|;;jvD diff --git a/sound/direct_sound_samples/cries/quilladin.aif b/sound/direct_sound_samples/cries/quilladin.aif index 9a4ca6e1f723da2557db680cfaa5739a819427a1..9b6dfabdc60340c789f3dabb770514b8ada93929 100644 GIT binary patch delta 20 bcmZ2gd#i@S%|FPOfx#|lB8S{YI}Ir55 delta 22 ecmZqJ!`QHgae^-6#mNUFEhpzi@oX&ajRgQ}-3es? diff --git a/sound/direct_sound_samples/cries/raichu.aif b/sound/direct_sound_samples/cries/raichu.aif index b8ed0d4b3776eb3126f0e042e9a176204b86eaff..001dcba627085ea0e003f890007ccf2a72367c7f 100644 GIT binary patch delta 19 acmcZ=vn+Z delta 68 zcmZ3d{z#p}%|FPOfkF7zL=HJIPru+01_lNZ8wQ4YAcTUA3Vp&7evZDbK)yh@W0-5a PV~}%vK$ww*0fR9B2T~4J diff --git a/sound/direct_sound_samples/cries/rampardos.aif b/sound/direct_sound_samples/cries/rampardos.aif index 7134c57dd63ad8abd86bd3497cf49d273f6949fb..edec1aac4f345a5a72b31a095585a96ca6282cca 100644 GIT binary patch delta 22 dcmaDhhjG&!Mh-XsAYTRsKdp%zavPm^`~X&F28#dy delta 70 zcmdlqhw<4QMh-XsAYTRszqpAUa$=r-!66I`3?eoR4D~<=1sfHF{3QGweO-ZkfpEt# R*LcSu=lFmy69Y>ILjW~X4#@xj diff --git a/sound/direct_sound_samples/cries/rapidash.aif b/sound/direct_sound_samples/cries/rapidash.aif index 2dd536735b6f4dc69e6dbafcc1b571a4019834cd..c070475d183d1baf1d0db57e13a3a89d986bef2f 100644 GIT binary patch delta 20 bcmaFnvB`tO%|FPOfk8!UB8S{YCmt05M0o{` delta 68 zcmdnw@yvt6%|FPOfk7p1B8Qxqr(bXg0|SGI4Ff|x5JJI51tAp)KSy6zAYUNdG0ZjI PF~~VSAk4trg24~~_qGkq diff --git a/sound/direct_sound_samples/cries/raticate.aif b/sound/direct_sound_samples/cries/raticate.aif index f7d60550261bfd127259ed52aa7c391a15e36826..fd726b655f33415cd5b86f2e275ae9cf619a2971 100644 GIT binary patch delta 20 bcmdm`+NR3k<{#wCz#vpNkwb2yQ-TlxJDCM@ delta 68 zcmZou-KEOm<{#wCz#z0~B8Qxqr(bXg0|SGI4Ff|x5JJI5g)|`vKSy6zAYUNdG0ZjI PF~~VSAk4tXfWZ&|4`pxWof47dZuQ2h6aWT3K}_? zNyT|7X_+~xx`uiNdPXLi8`aE$>pfkJ6@XgWfHX6ZW?-leiHL{*(&9iIoS#-wo>-L1 zfMOU_fgn&pZemt`QG8NSVqOYEN@8&aR7wCOm6->WDoZUY&dkqaFo4QP17(u)a|;qn YGLv#rS7-a$=r-!66I`3?eoR4D~<=1sfGkMN9cP`nm%7Lg9{K TuJMjR&hY`h;ZE^prUncEYt0Zp diff --git a/sound/direct_sound_samples/cries/reuniclus.aif b/sound/direct_sound_samples/cries/reuniclus.aif index 75d92858c498fbce030db3c0910c939a63089e78..ab22f0f97e5f9cc67a9d50e7e7a0ae97cd9be632 100644 GIT binary patch delta 21 ccmX?-yegT;%|FPOfx&Q*qo1ONa4 delta 47 zcmZ3Ld?Z=T%|FPOfx&Q(qoQ@ Ca1BoY diff --git a/sound/direct_sound_samples/cries/revavroom.aif b/sound/direct_sound_samples/cries/revavroom.aif index 731e2496c7c042a91224fdca244ebe334b28be9d..e52bf1c6fe7b09570dc1724eaac3eac16bcd2348 100644 GIT binary patch delta 20 ccmX@|jq%7g#tFKNVw)Q)j2Jg3Fg~dS0AWA~n*aa+ delta 20 ccmX@|jq%7g#tFKNqMI8lj2Jg3Fg~dS0AV!PZ$SC delta 68 zcmaD``sa$V-sy-yh*&8SbQf6cf0Owj2>;M1& diff --git a/sound/direct_sound_samples/cries/rillaboom.aif b/sound/direct_sound_samples/cries/rillaboom.aif index c6a8b8932d76688d315ce6d7ad48130aacbbcaa0..f7e4624e88077bc531edad8af3ee48f80abc4c6a 100644 GIT binary patch delta 14 WcmbO-fpN+N#tFKN&o=5ka|Zw`Ck6We delta 14 WcmbO-fpN+N#tFKNPdDm4a|Zw`A_e*Y diff --git a/sound/direct_sound_samples/cries/riolu.aif b/sound/direct_sound_samples/cries/riolu.aif index c8fcaf0345dae3a81ea16debab00c526ee5bdb6b..cd25b09faf4f012380a187253983f126f61ec17c 100644 GIT binary patch delta 20 bcmbQI`AUPs%|FPOfk7l`B8S{YCl?U_KkNmL delta 68 zcmaE*F;A1j%|FPOfk9;2L=HJIPru+01|Y|VfuSAlhk^nL81)cx^ delta 14 Vcmca}gz?T1#tFKNx*PTMk^nL31)Tr@ diff --git a/sound/direct_sound_samples/cries/roselia.aif b/sound/direct_sound_samples/cries/roselia.aif index 146771f8ce5f8189a9295e87b361599ad4bd5368..c6c53f3c1f8dd16f5d2d84bc022c448c79341165 100644 GIT binary patch delta 20 bcmbQI^-7b&%|FPOfkEWaL=L%)PDexlMGyv% delta 68 zcmaE*IZunj%|FPOfk9MkB8Qxqr(bXg0|SGI4Ff|x5JJI5g;OFDevZDbK)yh@W0-5a PV~}%vK$x+iDT6Tp;_MC0 diff --git a/sound/direct_sound_samples/cries/roserade.aif b/sound/direct_sound_samples/cries/roserade.aif index 00a9430f2d5bc7985b982923050772cc1c6b8bb0..7c9de96a0e1c4825938975587152df738b8fc985 100644 GIT binary patch delta 20 bcmcZ?yegQ(%|FPOfkAW8L=L%)PA!@MNw)@# delta 68 zcmZ1#d@q>8%|FPOfkE@yL=HJIPru+01_lNZ8wQ4YAcTUA3SF8KevZDbK)yh@W0-5a PV~}%vK$wYvIfF3(A-@jG diff --git a/sound/direct_sound_samples/cries/rotom.aif b/sound/direct_sound_samples/cries/rotom.aif index 41468228d1cb974cdea7e5ac9a7f02c1142d031f..81080115c2ee036e5bc584d68a2d7437b99025f2 100644 GIT binary patch delta 20 bcmdm0&{n|V<{#wCz+nDwB8S{Yrw8T$OqT~! delta 68 zcmZoG*j2#c<{#wCz+hoCkwZ?*(=RxLfq_B9hJm3T2%%u3!ZULTKSy6zAYUNdG0ZjI PF~~VSAk4(vlED}N2$T++ diff --git a/sound/direct_sound_samples/cries/rowlet.aif b/sound/direct_sound_samples/cries/rowlet.aif index e14b229c210b84bb455e8cca3f82c5154e6a5594..c201336015f3ae7032ff80ec645964b54c0b8231 100644 GIT binary patch delta 20 bcmX@$|ILrX%|FPOfk8cQB8S{Ys{nNXN#X`R delta 96 zcmez7cfg;+%|FPOfkA!8L=HI-KSy6z1_lNmb0Z@KU4@|h@|@I?jcNhvW}Ys_3P1@x gAk7S<85op9JVT6tG%pY%s}2cr_67_$!ga%|FPOfx+O@L=HJIPru+01_lNZ8wQ4YAcTUA3d;;6{2YB7({Fs80vu#3N|V@g-Q82`nm%7Lg9{K TuJMjR&hY`h;ZE_Urj`r$h4I)F#tFKN5*zg-yZ|c31kL~e delta 14 VcmX>$h4I)F#tFKN;v4lOyZ|b}1kC^d diff --git a/sound/direct_sound_samples/cries/sandile.aif b/sound/direct_sound_samples/cries/sandile.aif index 9e52575b7cd02e60dd4b5b6412d9e7d93e80081e..316b66aec954fb3f6581dd1965e6ffc4cf911795 100644 GIT binary patch delta 30 mcmca+yvLZw%|FPOfkASMqo-_Mh-XsAYTTC;3*S1_}C5?bIGmvIrP!I78F#^&8K#Zm%B*@ttC<;<%V#xpik;WIF diff --git a/sound/direct_sound_samples/cries/sawk.aif b/sound/direct_sound_samples/cries/sawk.aif index ebfe11e4a8256a3753ef7b4a344fea97bf651c40..c040994edcdeb4c446ed4724dc1f0ccd0be26c4d 100644 GIT binary patch delta 26 hcmaEta3z7q%|FPOfx*DX(bLUsqM9P3+C~pG0|0gt2crN0 delta 52 zcmcbT@Ge2k%|FPOfx#fn(bLV%&(YVFfq_9N+%e2G-Z98IKEOBJDc;oFlwl%|BBSa? HJv9RWkiHGl diff --git a/sound/direct_sound_samples/cries/sawsbuck.aif b/sound/direct_sound_samples/cries/sawsbuck.aif index 745d3761d31f5097d98b3801a17995acff527344..9dcc4f927c8f5f902fb3c1bae225208b4a2235b5 100644 GIT binary patch delta 23 ecmeBcVf@m}$m8Z8&n2uAQbKx<{Ix9`aY E083d7R{#J2 diff --git a/sound/direct_sound_samples/cries/scatterbug.aif b/sound/direct_sound_samples/cries/scatterbug.aif index 9fba052198bb941e97aef56be5173a4007d02582..c553fb4771ab8e75dc9e67885e014cf51b7ae888 100644 GIT binary patch delta 20 bcmbPWw9k;k%|FPOfk9&1L=L%)b~7XZKx76I delta 104 zcmdmIIKha+%|FPOfkBdEB8QxWpQEoU0|SGAnVE@#u0n8fVo6DAQBrC8Mzt9dR-P`# k3P4FCAk7S<85lG|JVT6tv>*_p>j(*Q_67=r6dIZW0KhsG-~a#s diff --git a/sound/direct_sound_samples/cries/sceptile.aif b/sound/direct_sound_samples/cries/sceptile.aif index 6c8820d17ee091941680a57c5fb465256a93a09f..c460e445d5135d444fba8cd972d0f541a99e4bc1 100644 GIT binary patch delta 20 bcmaEtx+|5#%|FPOfx&3gL=L%)PE(8kPnib; delta 68 zcmdm$`Yx5j%|FPOfx+n6L=HJIPru+01_lNZ8wQ4YAcTUA3bTwP{2YBlYSMh-XsAYTTCs3{XU7({Fs80vu#3N|XZMM?QN`nm%7Lg9{K TuJMjR&hY`h;ZE_UrUncEbcPTm diff --git a/sound/direct_sound_samples/cries/scorbunny.aif b/sound/direct_sound_samples/cries/scorbunny.aif index 120dd0f88898969f1b17f094c226f712cf0e6671..c0963bbc1ccadd9d76de97c8d46f09c5a4d55641 100644 GIT binary patch delta 12 TcmaEt|1N)mF5`iXdI!t_E3yU; delta 12 TcmaEt|1N)mF5~`=jiLoz`!6B?il78?-=A9AK)AA6mMp1&M=Wjk(#KBNV9 delta 68 zcmaE*Fi(-g%|FPOfk9x}L=HJIPru+01_lNZ8wQ4YAcTUA3SI&devZDbK)yh@W0-5a PV~}%vK$xMSIfDrR>p%^& diff --git a/sound/direct_sound_samples/cries/seaking.aif b/sound/direct_sound_samples/cries/seaking.aif index e4d56b9b0695c9be1533e5e3e9fb2b31122a0fee..f572ce5dd421559405092149957401a73e28c30a 100644 GIT binary patch delta 20 bcmX@-J@UMQ;W* delta 68 zcmbQ`ea@T1%|FPOfkE}yL=HJIPru+01_lNZ8wQ4YAcTUA3RS8SevZDbK)yh@W0-5a PV~}%vK$xMSC4(^l4!#a^ diff --git a/sound/direct_sound_samples/cries/sealeo.aif b/sound/direct_sound_samples/cries/sealeo.aif index 9cb4058c8bbfd55584ac27d05548031972643ea5..9a0aedda624efbec32e9ae4e1cd7f331c460af43 100644 GIT binary patch delta 20 bcmX@4*Qdwf<{#wCz#z^xkwb2y(+e>GJB|ge delta 68 zcmeCvJEX_q<{#wCz#wilkwZ?*(=RxLfq_B9hJm3T2%%u3!aFeuKSy6zAYUNdG0ZjI PF~~VSAk5gzguxg9;(874 diff --git a/sound/direct_sound_samples/cries/seedot.aif b/sound/direct_sound_samples/cries/seedot.aif index 410e983280367b7d0f20db2fc70f1e62c0f7391b..eac082184f333e7698a23d6d712d4485b0dd5075 100644 GIT binary patch delta 20 bcmZ3a@J^n?%|FPOfr0(E8evZDbK)yh@W0-5a PV~}%vK$wxaF@q%l-<%D| diff --git a/sound/direct_sound_samples/cries/seel.aif b/sound/direct_sound_samples/cries/seel.aif index 927a8fd6c9b2b1498173d564dca8dbbda8f4fc4d..1cc31998f2df54fa8b9dec3739a27ca06ab64451 100644 GIT binary patch delta 20 bcmbQ_cF&c=%|FPOfkEloL=L%)PCJwUM@$B^ delta 68 zcmccTI?0X0%|FPOfkByTB8Qxqr(bXg0|SGI4Ff|x5JJI5g?&mAevZDbK)yh@W0-5a PV~}%vK$wAr8G|VR>&y-K diff --git a/sound/direct_sound_samples/cries/seismitoad.aif b/sound/direct_sound_samples/cries/seismitoad.aif index 267979cc0bbb1332de5a8b67224eef573bbf4836..521f9b741b9b9b240a7fc2ee6828207a095af1ff 100644 GIT binary patch delta 21 ccmbP|`749R%|FPOfx)E6(bLUsqgtK`08!Qk)c^nh delta 47 zcmeyBF(p&Y%|FPOfx)E5(bLV%&(YVFfq_9N+%e2G-Z98IKEOBJDc;n=f?*?1o(TX? CFAXCA diff --git a/sound/direct_sound_samples/cries/sentret.aif b/sound/direct_sound_samples/cries/sentret.aif index 91b5fc4561c8da9ce632448d77af5eb422d238f7..ffbce9c7c57de697723fb9ca568ec9c3acccdfd4 100644 GIT binary patch delta 20 bcmca6ut2%|FPOfq}zsB8Qxqr(bXg0|SGI4Ff|x5JJI51tty&KSy6zAYUNdG0ZjI PF~~VSAk5Irkii%L#2^gd diff --git a/sound/direct_sound_samples/cries/serperior.aif b/sound/direct_sound_samples/cries/serperior.aif index 73ea832cd49f65f0f59add93ac6aa2504901f90b..9a2eb0baadca04aa0161b44857172c07cfd4e083 100644 GIT binary patch delta 21 ccmX?6yRMeU%|FPOfx&K>qoW`74sc%|FPOfkEffL=HJIPru+01_lNZ8wQ4YAcTUA3d?jP{2YBk(bLUsquL!a092F*n*aa+ delta 47 zcmaEn+mxr~<{#wCz+m>v(bLV%&(YVFfq_9N+%e2G-Z98IJ|N7*(kMRIJ8~n>9Wwx1 C;SNdw diff --git a/sound/direct_sound_samples/cries/shedinja.aif b/sound/direct_sound_samples/cries/shedinja.aif index ad19071a65275ad24aeb9b5e7d6c8e6ce03710ee..d891bd382c39e671b37782017ca6cfbbe71226bc 100644 GIT binary patch delta 20 bcmdld*Cof{<{#wCz`)Nmkwb2y(-S@bI6eh# delta 68 zcmeB@+b752<{#wCz`$=dkwZ?*(=RxLfq_B9hJm3T2%%u3!Ye)rKSy6zAYUNdG0ZjI PF~~VSAk4_ph`|&9)Iklf diff --git a/sound/direct_sound_samples/cries/shelgon.aif b/sound/direct_sound_samples/cries/shelgon.aif index 8df317b3a6501e48e0968ce2972de5179e1a2c97..b202dc037625e2e72f1c6c8f0382fb2e7e86009b 100644 GIT binary patch delta 20 bcmZ4F_s*BY%|FPOfkExrL=L%)PAAj=OOyu; delta 68 zcmaFoyU35j%|FPOfk9nrB8Qxqr(bXg0|SGI4Ff|x5JJI5g>z~WevZDbK)yh@W0-5a PV~}%vK$x+)5rZ)R{>2VV diff --git a/sound/direct_sound_samples/cries/shellder.aif b/sound/direct_sound_samples/cries/shellder.aif index 51513ae6a369bae152134a1787971c2cb7bfc351..3f2df4a82ca55910f1ce23a697d5550b7e740545 100644 GIT binary patch delta 20 bcmdmI(`Ccq<{#wCz#zvokwb2y(-T<$Jq!iN delta 68 zcmeCO*=NJy<{#wCz#wNfkwZ?*(=RxLfq_B9hJm3T2%%u3!Yf$`KSy6zAYUNdG0ZjI PF~~VSAk4thfWa65=!6ag diff --git a/sound/direct_sound_samples/cries/shellos.aif b/sound/direct_sound_samples/cries/shellos.aif index 2f6f095d05daa7ed4c49cf05a7e9738486c95f71..f59073120229b43b19d6c334dccb9accdb2b94ce 100644 GIT binary patch delta 20 bcmZoOzGTGV<{#wCz#!>0kwb2yla3?+Jq86# delta 68 zcmca))Mm`#<{#wCz#v&SkwZ?*(=RxLfq_B9hJm3T2%%u3f{~quK*gJx>>71)zW$kY)zb3=A?M Wo*_m+ngxh~szQRCy`elqBVz!plnws? diff --git a/sound/direct_sound_samples/cries/shieldon.aif b/sound/direct_sound_samples/cries/shieldon.aif index 44b564ccf0b172f339fd6e9787786cc0df0df07e..5ea98bf1748a4a99881751532c84d6172dfa6309 100644 GIT binary patch delta 20 bcmcZ>z9^i-%|FPOfkAuLL=L%)PBq#9NZST^ delta 68 zcmZ1!el48C%|FPOfkFG+L=HJIPru+01_lNZ8wQ4YAcTUA3QgJ)evZDbK)yh@W0-5a PV~}%vK$wZ40fQ+39i9%e diff --git a/sound/direct_sound_samples/cries/shiftry.aif b/sound/direct_sound_samples/cries/shiftry.aif index 970d5ef116548768dedeb9ef3d254e7f45e21491..dbc65b749ed543af092f6db28042ae792cb01c7a 100644 GIT binary patch delta 20 bcmbQ|`^tyI%|FPOfk7>4B8S{YCl@sUMX&|> delta 68 zcmaFmGtZa9%|FPOfkAEBL=HJIPru+01_lNZ8wQ4YAcTUA3SMdwevZDbK)yh@W0-5a PV~}%vK$wxaDMK&-30DqV diff --git a/sound/direct_sound_samples/cries/shiinotic.aif b/sound/direct_sound_samples/cries/shiinotic.aif index 6d275d9376c779e06d9d9bb849024c1383c5ec58..972aef0769fe4a9239e2d127402c62343f691e9d 100644 GIT binary patch delta 22 ecmdnAj`6`-Mh-XsAYTTCup1LO_}C5?bIGmvIrP!I78F#^&8K#Zm%B*@ttC<;<%Y{mcpXHyq1 diff --git a/sound/direct_sound_samples/cries/shinx.aif b/sound/direct_sound_samples/cries/shinx.aif index fcdae1cb70b33071b428060edb2b4a082c6c6e0e..08f7ad8a4cafd23ba21332dfaad64e8d68df57b1 100644 GIT binary patch delta 20 bcmZ4H{mF~N%|FPOfk8EEB8S{YCm&S+M&1S# delta 68 zcmez5walBt%|FPOfkAcNL=HJIPru+01_lNZ8wQ4YAcTUA3PGw8evZDbK)yh@W0-5a PV~}%vK$wYvF+(r_4y+Dt diff --git a/sound/direct_sound_samples/cries/shroomish.aif b/sound/direct_sound_samples/cries/shroomish.aif index 587cf6188270b06322e30e27b14e6335172f13dd..9c092ae0723168bb732218ac3f045d1353c9df75 100644 GIT binary patch delta 20 bcmaE-v`dM@%|FPOfkDt{B8S{YClNsaKjQ^E delta 68 zcmdm`^iGMx%|FPOfk7~BB8Qxqr(bXg0|SGI4Ff|x5JJI51t~!ZKSy6zAYUNdG0ZjI PF~~VSAk4_Zlpz=ZU>4evZDbK)yh@W0-5a PV~}%vK$x+qF@q%l-^2~* diff --git a/sound/direct_sound_samples/cries/sigilyph.aif b/sound/direct_sound_samples/cries/sigilyph.aif index cce44936cf02cfb4d03fa04fec0763337e0e000c..cf84e7dcf9ebcd83c850a95bb8a942239f4be17c 100644 GIT binary patch delta 23 ecmex2jq%AeMjki+AYTRs?-)l$bBT6nq` kD*&YofHX6ZW?)bY@eDBn()>V-sy-yh*&8SbQf6ul0494Dl>h($ diff --git a/sound/direct_sound_samples/cries/simipour.aif b/sound/direct_sound_samples/cries/simipour.aif index 47ac114690cc18f12e1994666f2fdba810462ae8..91e891b63fbf40899078f33b8d1e67e3706295bf 100644 GIT binary patch delta 21 ccmX?Px5AFc%|FPOfk9ru(bLUsqneC707S_JjsO4v delta 47 zcmZ2scgRl7%|FPOfkEEN(bLV%&(YVFfq_9N+%e2G-Z98IKEOBJDc;o5f?*?%j647; CYYW`~ diff --git a/sound/direct_sound_samples/cries/simisage.aif b/sound/direct_sound_samples/cries/simisage.aif index 0117cf73fc34efffd09769397b559d23a221c99b..944f5ff831012fcbdbd930dc5d5fb6d1bb53273e 100644 GIT binary patch delta 30 mcmX?Mzs{b=%|FPOfkA$mqozH|?C diff --git a/sound/direct_sound_samples/cries/simisear.aif b/sound/direct_sound_samples/cries/simisear.aif index c6f9ec22972aa8312a158cf430a78ef592c65a1b..e3e8eb860aa838b86e026cc111ed67b793ae5351 100644 GIT binary patch delta 26 hcmZp(dt=Mv<{#wCz##X;(bLUsqM9P(zKtIHAx1!&7l@HnhXgr$1BF0}jEn&WjuO=X diff --git a/sound/direct_sound_samples/cries/skiploom.aif b/sound/direct_sound_samples/cries/skiploom.aif index 04c3a438e9424a5c539278d2b45cedb6a2b47f2a..4517e39c7a7017c6cc2c30adbd0c9743393eb1ce 100644 GIT binary patch delta 20 bcmeA(zGcMW<{#wCz#thkkwb2ylZhk%K86Ks delta 68 zcmca*)Mw1$<{#wCz#!Q+kwZ?*(=RxLfq_B9hJm3T2%%u3f|aC%pQEoUkS`GK80H%9 P7~~uu5N2p$!C(Ra>H-b1 diff --git a/sound/direct_sound_samples/cries/skitty.aif b/sound/direct_sound_samples/cries/skitty.aif index f200d7fae48a6b801edca18a8a166e656b2828ff..0f903b53779ed5d9c61e79c5925432e6c1e6af69 100644 GIT binary patch delta 20 bcmZpYIVa8G<{#wCz`%QKB8S{Yrxm;aJ(30X delta 68 zcmX>n-6X@|<{#wCz`*-!B8Qxqr(bXg0|SGI4Ff|x5JJI5g>}3VevZDbK)yh@W0-5a PV~}%vK$x+C0YfkV`G*cn diff --git a/sound/direct_sound_samples/cries/skorupi.aif b/sound/direct_sound_samples/cries/skorupi.aif index 22e22b6d42eacb0a3499c40075fb61fc8d9ec595..a638cb464532afb8a3c9cea582ac49f2e2bf90e9 100644 GIT binary patch delta 20 bcmX?BIH{1s%|FPOfx)6{B8S{YryL6aN(Bao delta 68 zcmbPKc&w1a%|FPOfx%+mL=HJIPru+01_lNZ8wQ4YAcTUA3PlzYevZDbK)yh@W0-5a PV~}%vK$wZCA%iIZA;1pC diff --git a/sound/direct_sound_samples/cries/skrelp.aif b/sound/direct_sound_samples/cries/skrelp.aif index 4fd1178d9ab08b37ee614e1862c3dd82fdac66c7..12bb27c043b2c512ababcd97dcfb3e4483d8e3ff 100644 GIT binary patch delta 20 bcmZ1$c_)Iy%|FPOfk7u^B8S{YD>EGcMw|uo delta 96 zcmcZ;u`H6q%|FPOfk9{9L=HI-KSy6z1_lNmGfM*nU4`K6qSTy%jcR5(W}Ys_3P1@x gAk7S<85mSTJVT6tG%pY%s}2cr_67=p6qy(T04Bu~TmS$7 diff --git a/sound/direct_sound_samples/cries/skuntank.aif b/sound/direct_sound_samples/cries/skuntank.aif index 90a00511e2ed398d315f9d295b479f07c545536e..354f2af92ca092e4d90685ab11ca58d6826c23e2 100644 GIT binary patch delta 22 ecmX@MigD5^Mh-XsAYTTCP_Bs_avPoAga80kZ3i>} delta 70 zcmbQVit*SgMh-XsAYTTCP`im7a$=r-!66I`3?eoR4D~<=1sfGUg-G~0`nm%70^yEf RuJMjR&hY_ZCdQ@=#sEHI4|4zj diff --git a/sound/direct_sound_samples/cries/slaking.aif b/sound/direct_sound_samples/cries/slaking.aif index 287b5a3b6b8f04d5e41415799e24e783d3b574fc..d023af76817e91d6a79ab291cd9dac204c2e72ce 100644 GIT binary patch delta 20 bcmZotKc~jw<{#wCz#!~4kwb2ylZG$=I$8x7 delta 68 zcmX@7)}+qi<{#wCz#v>TkwZ?*(=RxLfq_B9hJm3T2%%u3f}XI1pQEoUkS`GK80H%9 P7~~uu5N2dy$zTZp*TD^B diff --git a/sound/direct_sound_samples/cries/slakoth.aif b/sound/direct_sound_samples/cries/slakoth.aif index 67bc284596413cf0118fa7a808425e6daad67e02..54248b2d85450601e551691dca00449c20d99604 100644 GIT binary patch delta 20 bcmX@5I8Bkm%|FPOfkB{eB8S{Yrvd>0J@o~r delta 68 zcmbQHcuJAO%|FPOfkEKVL=HJIPru+01_lNZ8wQ4YAcTUA3S|NkevZDbK)yh@W0-5a PV~}%vK$ww*IfE$x?(q%n diff --git a/sound/direct_sound_samples/cries/sliggoo.aif b/sound/direct_sound_samples/cries/sliggoo.aif index f4351dd999727b8fa28e7435369b472de96dc549..ed141e69c576662900eaaed146faae3d27e549f5 100644 GIT binary patch delta 22 ecmaF0oN>-_Mh-XsAYTTC;3*S127>?q delta 14 VcmeCXz}Rkw%|FPOfq^e;B8S{YCm%ilKY#^_ delta 68 zcmew)vrLx5%|FPOfq`${L=HJIPru+01_lNZ8wQ4YAcTUA3PF4levZDbK)yh@W0-5a PV~}%vK$wBKC4(sd?`#dv diff --git a/sound/direct_sound_samples/cries/slowpoke_galarian.aif b/sound/direct_sound_samples/cries/slowpoke_galarian.aif index 2cb7b8a5f383b53a103cbec6338a79bb21303086..30251a2e8c7b61da7c64fcbd446ce50cd64026f0 100644 GIT binary patch delta 12 TcmaFl|HyxWF5{MsdRx>1C&mSj delta 12 TcmaFl|HyxWF5~8ndRx>1C&2}d diff --git a/sound/direct_sound_samples/cries/slugma.aif b/sound/direct_sound_samples/cries/slugma.aif index d89032e4dc62c4cb1f2d83149575dc79c78b16f8..3526b7f6e7bd74d98c0af074e92d52c6d4ea3682 100644 GIT binary patch delta 20 bcmez5w9kpd%|FPOfkDx1B8S{YCkaIWMZ*QF delta 68 zcmdnz^vQ|C%|FPOfk82AB8Qxqr(bXg0|SGI4Ff|x5JJI51vy0tKSy6zAYUNdG0ZjI PF~~VSAk4_ng25O7{lyLG diff --git a/sound/direct_sound_samples/cries/slurpuff.aif b/sound/direct_sound_samples/cries/slurpuff.aif index c741a553de3793e52cb26658d00117a0605fe22b..93b59e8e352724c3e34ec58a4e2b6310de7ed29c 100644 GIT binary patch delta 22 dcmbQx&UmPek;BbD$d`e^*=iz(+(sK2X8=tN1|9$a delta 102 zcmX@q#yFv!k;BbD$d`e^xnm-SoS2`ZuPXxs1D~0Nse-OTa87AaL1|jrMl~5{3r`ng j1)!7xkY)zb3=C=^o*_m+njeT!)rSN*djkbQ%8bnbyjK-$ diff --git a/sound/direct_sound_samples/cries/smeargle.aif b/sound/direct_sound_samples/cries/smeargle.aif index f59d7bb8a277c7c8859edea1941704ff0f579c09..76cc479ccccb95719bec802c4bacf6d36af5e6c7 100644 GIT binary patch delta 20 bcmbQFaZjDY%|FPOfkF7%L=L%)PCJAFLVgBX delta 68 zcmcboK1qYa%|FPOfkA|8B8Qxqr(bXg1CV3Gz)%l_P_R*9pRk0VqpvHFFA(k+<{Ix9 ORB8S{Yrxk(#KH3Hj delta 68 zcmX@7+@!+c<{#wCz##Z*B8Qxqr(bXg0|SGI4Ff|x5JJI5g>`}wevZDbK)yh@W0-5a PV~}%vK$wxCDT5^d{^t%) diff --git a/sound/direct_sound_samples/cries/sneasler.aif b/sound/direct_sound_samples/cries/sneasler.aif index 77b4f99a213fec8a82881c4c005a5f23c68c0017..b8537fef07cf9d28e420662ec264f140b8f51bc4 100644 GIT binary patch delta 12 Tcmexo`_FcQF5`ubdKcsXDS-vj delta 12 Tcmexo`_FcQF5~%)dKcsXDSQRd diff --git a/sound/direct_sound_samples/cries/snivy.aif b/sound/direct_sound_samples/cries/snivy.aif index f7f9790a168dedacc98207afee37afbf60f26264..cd0335decbd2ce0fb8642592094fbde7d9975138 100644 GIT binary patch delta 26 icmez4{m7fg%|FPOfkE|_qo`LE delta 68 zcmbQ`bk2#x%|FPOfkDx2B8Qxqr(bXg0|SGI4Ff|x5JJI5ghxf%|FPOfkFD!L=HJIPru+01_lNZ8wQ4YAcTUA3iG5T{2YBS*N2G#%o delta 102 zcmdmWj0P=`QDgbg72r~cx delta 52 zcmdnwdB#)C%|FPOfkEYnqo|9n%|FPOfkDY>B8S{YClw_CNL2;l delta 68 zcmX@*^3R3C%|FPOfkCNkB8Qxqr(bXg0|SGI4Ff|x5JJI51uZ2BKSy6zAYUNdG0ZjI PF~~VSAk4tXkiilF2}TYb diff --git a/sound/direct_sound_samples/cries/spectrier.aif b/sound/direct_sound_samples/cries/spectrier.aif index 058cc9f8c5c467e79e435049764403f1304d424b..a43dc77a6cde8961a734f95a83cdbb6a8a875ced 100644 GIT binary patch delta 14 VcmeA<%-D07ae^*m+(x~)L;x#R1zP|B delta 14 VcmeA<%-D07ae^*m>_)w~L;x#M1zG?A diff --git a/sound/direct_sound_samples/cries/spewpa.aif b/sound/direct_sound_samples/cries/spewpa.aif index 1a9fce278118a50959a01f17612a8d1c0a1cf5f7..34cd82b98983f40aa40add39ea6b749623cdf85b 100644 GIT binary patch delta 20 bcmX>V(-6bq<{#wCz@YnMB8S{Yt6RDNN#h3% delta 96 zcmZpOITgd<<{#wCz@X delta 70 zcmaF2g>lhVMh-XsAYTTCs96&^7({Fs80vu#3N|YEMM?NM`nm%70^yEf RuJMjR&hY_ZCMHG<764c?4~75$ diff --git a/sound/direct_sound_samples/cries/spoink.aif b/sound/direct_sound_samples/cries/spoink.aif index af9e1a1ebc9e139e59b6cb6f55f5155547b2ab94..102f53d8f1ffe81a91d411206f5927e86241e435 100644 GIT binary patch delta 19 acmca5vrLA=%|FPOfq_qMB8S{UCq4i+G6cy0 delta 68 zcmZ1`b4!N9%|FPOfq^e*B8Qxqr(bXg0|SGI4Ff|x5JJI51vWkjKSy6zAYUNdG0ZjI PF~~VSAk5gvl)(f5&#es? diff --git a/sound/direct_sound_samples/cries/sprigatito.aif b/sound/direct_sound_samples/cries/sprigatito.aif index 5d6b5c966d7d3e43f6ad733d88d0b900745e831d..13616f9686e6160a414e65adb41be5026cce4941 100644 GIT binary patch delta 17 ZcmZ3aw@7b-F5{PthU$!)LmAJC0suS_21oz^ delta 17 ZcmZ3aw@7b-F5~BohU$!)LmAJC0suS*21ft@ diff --git a/sound/direct_sound_samples/cries/spritzee.aif b/sound/direct_sound_samples/cries/spritzee.aif index 9c451c63ff899b0dce8c98f8dcbf8cb0741b8b54..3bf2499d72e1da9ab610107ef7eb3b25a2b7590a 100644 GIT binary patch delta 20 bcmX>X(-6bq<{#wCz@YnMB8S{Yn_Id7N;wA; delta 100 zcmZpOITyp><{#wCz@XMnIY$h*8yt1UY*H1wqP;jRBmb6;}WN diff --git a/sound/direct_sound_samples/cries/squawkabilly.aif b/sound/direct_sound_samples/cries/squawkabilly.aif index 140243d8026d6f2fcbca4181feee0ab497783597..0c88f36f7414c6edd2f20d6b9311770c4b979012 100644 GIT binary patch delta 28 kcmey>#Q3X;ae^+R&*nzke~gn8Y`G^l*z#?5Wiqt~0IL-Wd;kCd delta 28 kcmey>#Q3X;ae^+R_vS|1e~gn8Y`G^l*z#?5Wiqt~0ILEDdjJ3c diff --git a/sound/direct_sound_samples/cries/squirtle.aif b/sound/direct_sound_samples/cries/squirtle.aif index e570bc18342a25193c22594b9d42b113f2a1297f..8e6cf8644d18596d4b0cc1533ca5b28a7d9222d9 100644 GIT binary patch delta 20 bcmX?SG0TF(%|FPOfk8%SB8S{Yr!Ud~KWGK~ delta 68 zcmbPban6Fn%|FPOfkDP?B8Qxqr(bXg0|SGI4Ff|x5JJI5gN6N6xv7%F%|FPOfx%|gL=L%)PCYgNQB4OQ delta 68 zcmdl~`K*$|%|FPOfx+h9L=HJIPru+01_lNZ8wQ4YAcTUA3X^Ok{2YBN$g>ljpMh-XsAYTRsFRqCkavPoAcme=Wr3Uf< delta 70 zcmbO`nm%70^yEf RuJMjR&hY_ZMg|rPmH;m>4>bS) diff --git a/sound/direct_sound_samples/cries/steenee.aif b/sound/direct_sound_samples/cries/steenee.aif index 27233d2c26d64cb71e5195ca0ac9585dca07c455..54b9df83b76dfd0cb31450a0280f27f0d9533818 100644 GIT binary patch delta 20 bcmZ2cd#i@S%|FPOfx#|lB8S{Y8xuPKOjZV7 delta 100 zcmcarv!a&6%|FPOfx&LUL=HJIKSy6z1_lN`b2B3aU4`J1)YQDxRE3RdCUzE{F2)K# jDFYzQ45S$tR6{&NjDR#B5TmFM33B!Zih)#_7%>01N@BMKItF2)K# jDFYzQ45S$tR6{&NjDR#B5TmFM33B!Zih)!aTQUFuf5#Mr diff --git a/sound/direct_sound_samples/cries/stunfisk.aif b/sound/direct_sound_samples/cries/stunfisk.aif index 5dbdb6dc9cf8c797fcc07bd31d1ffc410ac6063a..3d7f116cfd3374dc688ed45ab625edd67203866b 100644 GIT binary patch delta 32 ocmdnh!?>V_k;lzH$d`e^O~TRB&26HZBIBpYfv!dys}8sV0HK-+e*gdg delta 58 zcmZ3`!?>%5QO(Ui$d`e^&B)Qy&CSoz*Oh^RK`7iY%r)LI$T>d1H{2=S)WVWsB99{D O$H|VaMjI0jxB>vsvk;>I diff --git a/sound/direct_sound_samples/cries/stunky.aif b/sound/direct_sound_samples/cries/stunky.aif index 41923bd96e840260abc6b9ffe73b94ba408d6105..bb9a34bc6254e25f45da894900a57d6386c4f19a 100644 GIT binary patch delta 20 bcmX?SFw20$%|FPOfk8rOB8S{Yr!V3FJ|G3; delta 68 zcmbPbaL$0k%|FPOfkDD;B8Qxqr(bXg0|SGI4Ff|x5JJI5gYB8Qxqr(bXg0|SGI4Ff|x5JJI5g?(}oevZDbK)yh@W0-5a PV~}%vK$xMW5rYK)=3ous diff --git a/sound/direct_sound_samples/cries/sunkern.aif b/sound/direct_sound_samples/cries/sunkern.aif index 54ab4fba5d43b0c7ed0a5ede73f8e13a1bf3d8f7..ecead99e99193958533b0e4cb221a22465639881 100644 GIT binary patch delta 20 bcmew)zfYdS%|FPOfq{S9L=L%)PBZucMI#15 delta 68 zcmdld|4E+1%|FPOfr0K diff --git a/sound/direct_sound_samples/cries/swablu.aif b/sound/direct_sound_samples/cries/swablu.aif index 75e1555b743208543dcd6e29cfded2d196cf703e..0940910ce3bd2abfe22c801844fe6cd5128462eb 100644 GIT binary patch delta 20 bcmZ1^_D+<;%|FPOfr0DUL=L%)PA9kkLYxL< delta 68 zcmaDSx=4(}%|FPOfq`3UB8Qxqr(bXg0|SGI4Ff|x5JJI5g>zgIevZDbK)yh@W0-5a PV~}%vK$x+yF@p&J*u@Q^ diff --git a/sound/direct_sound_samples/cries/swadloon.aif b/sound/direct_sound_samples/cries/swadloon.aif index 5de03159209ac0c59a3c7002308a19f73c2a5607..d2606953b2cbfa4f0ffff6a930fc1aa3d2c2a7e9 100644 GIT binary patch delta 21 ccmez1d(D@}%|FPOfkEw@qo3ByL7Q)&QO C84b1o diff --git a/sound/direct_sound_samples/cries/swalot.aif b/sound/direct_sound_samples/cries/swalot.aif index 45c0b0b85dc0faa94bdf61688e6e7ca106c8ceb1..87e57c9b70efe6f14d07aaf5cfda71168ec09f82 100644 GIT binary patch delta 20 bcmez8e9D=_%|FPOfkE-mL=L%)PD>O4O(zE3 delta 68 zcmX@*{Lh)g%|FPOfkE-xL=HJIPru+01_lNZ8wQ4YAcTUA3ab<){2YB(bLV%&(YVFfq_9N+%e2G-Z98IKEOBJDc;P`fMFt!BBSPH LMsv-L;f&@0(=`tI diff --git a/sound/direct_sound_samples/cries/swellow.aif b/sound/direct_sound_samples/cries/swellow.aif index 9ddeec7057c1399449b751393cf6c6da0c38c4f5..a5bf66627d1ebd4e5b43227a897ccf0362d2e80f 100644 GIT binary patch delta 20 bcmX@6JV}|u%|FPOfkCiqB8S{YryM~5J%N6N6-_Mh-XsAYTTC;3*S10(~f-7^%QuFf^Hma2cTX?z{ lD*&YofHX6ZW?)ba@eDBn(tJRSqCOkg4mxZbOUw)aP$mZB delta 20 bcmZ3LxGHgiE@Sm%Mm>kg4mxZbOUw)aP#Ff| diff --git a/sound/direct_sound_samples/cries/taillow.aif b/sound/direct_sound_samples/cries/taillow.aif index 9cbf5bcd6a4b07f17ad97472f4d65b1f50eab54c..c30cdb275bc49c100c78b846f235688796112612 100644 GIT binary patch delta 20 bcmaDQzD=CN%|FPOfq{G7L=L%)P7}BRLR$t2 delta 68 zcmdlc{z{y~%|FPOfr0zcL=HJIPru+01_lNZ8wQ4YAcTUA3e&hH{2YBznQ`6}Mh-XsAYTRsFR_UnauR-yzOD=m3<73m#tOO$A&EKpd1*O`xv3k~mU&uv mx)>_}C5?bIGmvIr&L%|FPOfk8HEB8S{YCmUG+K~4pv delta 68 zcmaE4HO-pC%|FPOfkC!!B8Qxqr(bXg0|SGI4Ff|x5JJI51t(bvKSy6zAYUNdG0ZjI PF~~VSAk5Ivguwy;_7V-^ diff --git a/sound/direct_sound_samples/cries/tangrowth.aif b/sound/direct_sound_samples/cries/tangrowth.aif index 0f3ca54902ef788840ab0ab0fa04429db2cfb024..23e3d995b798410f2072b824deb3af8478344162 100644 GIT binary patch delta 22 dcmX@r!Z@vkk;BbD$d`e^iEko@+(xGljsQ-v2GRfk delta 70 zcmbQ%!g#8Mk;BbD$d`e^$!Q{ooS3Iya0mkfgNO|SLp=~e!A6B|juL*3zOF#NK)7R= RYrJESb9_LUiJ2*bF#sp44-^0Z diff --git a/sound/direct_sound_samples/cries/tapu_bulu.aif b/sound/direct_sound_samples/cries/tapu_bulu.aif index 36d31a68d7a01acf832c54a617e72d9581b34e85..ab84791fa7b1a2dd6395e8613bf4adbb0185d151 100644 GIT binary patch delta 22 ecmX?cg7MpNMh-XsAYTTCE+kud nx)>_}C5?bIGmvIrP!I78F#^&8K#Zm%B*@ttC<;<%X3hWrhH)1$ diff --git a/sound/direct_sound_samples/cries/tapu_fini.aif b/sound/direct_sound_samples/cries/tapu_fini.aif index 203ca8d9c8d986e06220edc73404b512328e62b2..301b0a70b8a5ef4337201dbb9652b8631b9f83c7 100644 GIT binary patch delta 22 ecmdmRiSgb=Mh-XsAYTTCjB67)gauR-yzOD=m3_}C5?bIGmvIrP!I78F#^&8K#Zm%B*@ttC<;<%X2AdeYDyN) diff --git a/sound/direct_sound_samples/cries/tapu_koko.aif b/sound/direct_sound_samples/cries/tapu_koko.aif index b8b71fcf096fe85054c898f44c02a084ab34cbb5..2fae1a3b0b75c6d0bf2f5d359994605fa8077065 100644 GIT binary patch delta 22 dcmaE`kFjqbBZr%RkS_y6JljMLxs7%&;s9Bh2YLVi delta 106 zcmeC%$M|3$BZr%RkS_y6e8fZ!ISD^UUsnbO1_5&mQw3dxki>#g1@HXqe1(l_FXF5` nU5pigl14z98AvlQsE2rl7y)SkAV$*>66EX+6a}d>Gi3k(X1^BZ diff --git a/sound/direct_sound_samples/cries/tapu_lele.aif b/sound/direct_sound_samples/cries/tapu_lele.aif index 8b13f0ddf01445b3dbb9db926b947bac2b35e7fa..c15bb3186275d7589f1d87ba7e8c3450fc46b9f9 100644 GIT binary patch delta 22 ecmX?cg7MpNMh-XsAYTTC_}C5?bIGmvIrP!I78F#^&8K#Zm%B*@ttC<;<%X2t*je~Wl+%NVygkS&UFat|-}=E;md~Wl+%NV;kkS&UFat|-}=E;md~Wl+%NRHLAZyiR1xcQbTW-h$08bkSz5oCK delta 20 ccmeBi>~Wl+%NRTPAZyiR1xcQbTW-h$08b7Fy#N3J diff --git a/sound/direct_sound_samples/cries/tatsugiri_stretchy.aif b/sound/direct_sound_samples/cries/tatsugiri_stretchy.aif index ad1fbe930b10193228da6aa35d54d94dc6bd0b79..08e5680433540b88908b6ab21e17ae7ff02a8d58 100644 GIT binary patch delta 18 acmca(e8+f#F5|k*ifk2(o0l<~NdN#xoCbyf delta 18 acmca(e8+f#F5}wGifk2(o0l<~NdN#xkp_hT diff --git a/sound/direct_sound_samples/cries/tauros.aif b/sound/direct_sound_samples/cries/tauros.aif index fb79a648aee9f7191a3f34199465e5cc5dd8df5c..1b4bdfa5c438da3b9f3d767e7d4775365373b8ca 100644 GIT binary patch delta 20 bcmccSzQ~=!%|FPOfkAoJL=L%)PBqE^MoR`s delta 68 zcmZ4Fe$Ac3%|FPOfkFA)L=HJIPru+01_lNZ8wQ4YAcTUA3QfuqevZDbK)yh@W0-5a PV~}%vK$xMC1%nX)63`BY diff --git a/sound/direct_sound_samples/cries/teddiursa.aif b/sound/direct_sound_samples/cries/teddiursa.aif index dc99db734b5854573ca2bd0dcf3ad0fcfe37d72a..19ba558c3b940dc00e8fb22d531fc992a2b257e5 100644 GIT binary patch delta 20 bcmaFlu+D+Q%|FPOfk8oSB8S{YCk_PwLU9FU delta 68 zcmZ4I@W_F~%|FPOfk7c^B8Qxqr(bXg0|SGI4Ff|x5JJI51wI7{KSy6zAYUNdG0ZjI PF~~VSAk4_njKKl`?%55d diff --git a/sound/direct_sound_samples/cries/tentacool.aif b/sound/direct_sound_samples/cries/tentacool.aif index f3b32c741e903b22842be92a0cc7ef10f8d8287b..8918f25627f7646f7bc97c05deef04806297311e 100644 GIT binary patch delta 20 bcmdmF_s^EY%|FPOfkE!uL=L%)PB-KLOauoU delta 68 zcmexoyUC8j%|FPOfk9qtB8Qxqr(bXg0|SGI4Ff|x5JJI5g?n-mevZDbK)yh@W0-5a PV~}%vK$wBK5rYW;0e%iz diff --git a/sound/direct_sound_samples/cries/tentacruel.aif b/sound/direct_sound_samples/cries/tentacruel.aif index 13b91bbd3e6eb27c7e593a74ac140e76b045cf03..2497d178df3c30142be60e899c1574d7024fb6de 100644 GIT binary patch delta 20 bcmcZ=xh#^y%|FPOfk9{9L=L%)P7OK$N$m!Y delta 68 zcmZ1$c`K5`%|FPOfkEfeL=HJIPru+01_lNZ8wQ4YAcTUA3T-+PevZDbK)yh@W0-5a PV~}%vK$wBKF@psFB5e-Q diff --git a/sound/direct_sound_samples/cries/tepig.aif b/sound/direct_sound_samples/cries/tepig.aif index fa226ef1f174d7c6db67d8228c51e685dd400f75..45b7b4ecdaf4579167f3d0e846c622f70093c22f 100644 GIT binary patch delta 21 ccmdm?Gf#)d%|FPOfk8~n(bLUsqneNy06)A1FaQ7m delta 47 zcmbQIvqMMC%|FPOfkDi`(bLV%&(YVFfq_9N+%e2G-Z98IKEOBJDc;o7gkd9(kQe|R Cj0<-F diff --git a/sound/direct_sound_samples/cries/terrakion.aif b/sound/direct_sound_samples/cries/terrakion.aif index 77e5c71ca280a421da9768cd00155c77326b8d04..e567be0f1eed2501d8f127b49b0b905c5c7efb3e 100644 GIT binary patch delta 23 ecmey@!1$zrk;lzH$d`e^A;!_u&26JvgaZIzeFsJW delta 49 zcmaFT!1%9$QO(Ui$d`e^q0G_K&CSoz*Oh^RK`7iY%r)LI$T>d1H{2=S%*2dgBTs|_ E0BIZzj{pDw diff --git a/sound/direct_sound_samples/cries/throh.aif b/sound/direct_sound_samples/cries/throh.aif index 176d1065d6c120748d4fdf4649e39f90cd249a1c..eeeba64e4b299941f68337a3db90bcd416806609 100644 GIT binary patch delta 21 ccmZ1w+ZM~?<{#wCz@S&>=;`LRQLRc307$|HVgLXD delta 47 zcmZpRT@b70<{#wCz@Rt7(bLV%&(YVFfq_9N+%e2G-Z98IKEOBJDc;oFjA0{Bl^y^% CzznSb diff --git a/sound/direct_sound_samples/cries/thundurus_incarnate.aif b/sound/direct_sound_samples/cries/thundurus_incarnate.aif index 75a1af958a47104cc436250c60aa672e249d612f..8b1c81b9f94aa1a2528f3622878bb8b71d00455b 100644 GIT binary patch delta 22 dcmaE|g>l^$Mh-XsAYTTCD7A?kavPmEq5xUu2E_mX delta 72 zcmZ3th4IN2Mh-XsAYTTCsF;Zya$=r-!66I`3?eoR4D~<=1sfIkqNMyBeO-Zkp>W4A T*LcSu=lB5MaHn`P6H5jFWc3ft diff --git a/sound/direct_sound_samples/cries/thundurus_therian.aif b/sound/direct_sound_samples/cries/thundurus_therian.aif index 318201f1b8961e50d0fc237dba3adcf145f79679..f5ac69f177253bf50ede748c7d1042780a74e76c 100644 GIT binary patch delta 22 dcmbQTneo;pMh-XsAYTTC$e@WFavPmYA^}&w2J`>` delta 76 zcmcb$iE+wiMh-XsAYTTC$exKDa$=r-!66I`3?eoR4D~<=1sfHtBIW!XeO-Zkv2e#Q X*LcSu=lFmyGZV}BAXiVXPzDA7u4NGS diff --git a/sound/direct_sound_samples/cries/thwackey.aif b/sound/direct_sound_samples/cries/thwackey.aif index dff37f5c806a1a644fbb403b5884e3767adfc7a3..579df5c965b01e498932fda557c3197f042dcb61 100644 GIT binary patch delta 14 VcmZo_V{B?;oS@5iWux8|Cjck>1)2Z= delta 14 VcmZo_V{B?;oS@5id86JHCjck+1(^T< diff --git a/sound/direct_sound_samples/cries/timburr.aif b/sound/direct_sound_samples/cries/timburr.aif index 839bfb59b734b2f39ca0ba5092ade22350c8dff2..49edb74efb85c4d58ae0f1a7424a7c433208c074 100644 GIT binary patch delta 26 hcmX@-v&DzU%|FPOfk92j(bLUsqM9Nj+eQyIH2`SS2FCyZ delta 52 zcmdnubIwQ2%|FPOfkDm9(bLV%&(YVFfq_9N+%e2G-Z98IKEOBJDc;P;jA0^=A|vZY HJvKD}bcPJ` diff --git a/sound/direct_sound_samples/cries/ting_lu.aif b/sound/direct_sound_samples/cries/ting_lu.aif index 82cbff16f33eaf9221b1535125442a3aedfb6bfb..a4a5ed211847c2fe3cfffed89d544a170638b404 100644 GIT binary patch delta 19 bcmX@}l<~|{#tFKN^EMh*F>YSLs8R?3TQ&#} delta 19 bcmX@}l<~|{#tFKNb2l1RF>YSLs8R?3TPz3; diff --git a/sound/direct_sound_samples/cries/tinkatink.aif b/sound/direct_sound_samples/cries/tinkatink.aif index 24b50dbbf04174035b0a43fe7ab1a53d85cfece7..a6229c133856f7c38937354713c660bb7c48eecf 100644 GIT binary patch delta 17 ZcmbO@eW=9 diff --git a/sound/direct_sound_samples/cries/toedscruel.aif b/sound/direct_sound_samples/cries/toedscruel.aif index 87fc37decde4cde2d0b1b174995740b525d76c8e..1f2fade60c6fdbfd2023a40fa9eeffb91e55947c 100644 GIT binary patch delta 22 dcmdni&A6?bae^*m$7Dul@yQA)Eh2VwvK delta 22 dcmdni&A6?bae^*m`(#FE@yQA)EU2VnpJ diff --git a/sound/direct_sound_samples/cries/togedemaru.aif b/sound/direct_sound_samples/cries/togedemaru.aif index 1ac46d6f97a97f747c7145813ed2d764c0bfd9a0..366ce2be960c04b65dd35d9ddcdce8cbcfd37be4 100644 GIT binary patch delta 20 bcmZqj+~C3C<{#wCz@VZrkwb2y9hV9KJa`2l delta 104 zcmdns(d5bD<{#wCz@Sn!kwZ?x&(YVFfq_B5+}vD2S0N-nJvAjYH?gR6qZ*frm8Xlb j0#MQjNHYUz1_q4~&k!RZEeOQuIzob+y@A3Yg{I~J)Y}#B diff --git a/sound/direct_sound_samples/cries/togekiss.aif b/sound/direct_sound_samples/cries/togekiss.aif index a365ddd94dd5cafe2db6b043453a96896258b815..c66baeaf552f6f4c1cf0a9efc86de706b7947736 100644 GIT binary patch delta 22 ecmaF1k#W;TMh-XsAYTTCh*c9gL;wI@{Rhba delta 70 zcmdnAk@49^Mh-XsAYTTCh7({Fs80vu#3N|WCijeSg^mPUD1;QP} RT;m;soZ|z+Ow248i~(&s5DowU diff --git a/sound/direct_sound_samples/cries/togepi.aif b/sound/direct_sound_samples/cries/togepi.aif index 351fea00fc50c3226d928efa6cc5927a527144d5..0785a662ab911b8b2ceb6d422f4340b6382113f4 100644 GIT binary patch delta 20 bcmaE-wM&b`%|FPOfkD)0B8S{YClOHqK`RAQ delta 68 zcmdm`^-hb!%|FPOfk8BFB8Qxqr(bXg0|SGI4Ff|x5JJI51u0PpKSy6zAYUNdG0ZjI PF~~VSAk5I*l)(f5>L?AA diff --git a/sound/direct_sound_samples/cries/togetic.aif b/sound/direct_sound_samples/cries/togetic.aif index 6fd29b73d5bc1317e8c5e3f50ae6fcd89ea9d5c7..f577120c6d3971a9162b47a693d4522c406c6a90 100644 GIT binary patch delta 20 bcmca7y-J$H%|FPOfq{3?L=L%)PA$9uK)(g$ delta 68 zcmZ1_eNURh%|FPOfr0nhL=HJIPru+01_lNZ8wQ4YAcTUA3SGPsevZDbK)yh@W0-5a PV~}%vK$xMq8G{7?`^ye1 diff --git a/sound/direct_sound_samples/cries/torchic.aif b/sound/direct_sound_samples/cries/torchic.aif index 0f39232bff968c1da3d93a97774743410447b372..3accc1b3c880a760a1f821f59faa7771c2952d69 100644 GIT binary patch delta 20 bcmZotJEzLw<{#wCz#w#NB8S{Yrxii~KP(0m delta 68 zcmX@7+N8$e<{#wCz##N%B8Qxqr(bXg0|SGI4Ff|x5JJI5g>^y_evZDbK)yh@W0-5a PV~}%vK$wxKDT6Tp09y`I diff --git a/sound/direct_sound_samples/cries/torkoal.aif b/sound/direct_sound_samples/cries/torkoal.aif index cfdcd3971e7e84cdace89e2c871e853aeeeebdcc..b73d06ef5e44d0979a6992a2533b5ba6e9e6e890 100644 GIT binary patch delta 20 bcmX@7GE0TS%|FPOfk8-UB8S{Yr!Rs4JTwKs delta 68 zcmbQGa!!TA%|FPOfkDV^B8Qxqr(bXg0|SGI4Ff|x5JJI5g@)P KyBqcHc>@59L=O}I diff --git a/sound/direct_sound_samples/cries/tornadus_therian.aif b/sound/direct_sound_samples/cries/tornadus_therian.aif index ff5993e9622fde9b7b585ac01914e684fc3b6e39..a1d98062b68802050443e5f7a05fe86ca6594644 100644 GIT binary patch delta 22 dcmX@Ig0X7_BZr%RkS_y62-8Fkxs6Uwf&o(j2NVDR delta 76 zcmeBL!FXf^BZr%RkS_y6h|NR}IWbSa;1C7|1`!(uhI$}`f{hBVg5~@ieO-Zkv2e#Q X*LcSu=lFmyGZTyWAXiVXPzDA7pPLaD diff --git a/sound/direct_sound_samples/cries/torracat.aif b/sound/direct_sound_samples/cries/torracat.aif index 7b9d9bd5741b3467313d0f11210196a2e96de52e..44bb00137593f417f0c6c347febf973c3a666626 100644 GIT binary patch delta 22 ecmaF0oN>-_Mh-XsAYTTC;3*S15|a~4Hma2cTX?z{ kD*&YofHX6ZW?)ba@eDBn()>V-sy-yh*&8Ux1jJ?x036yDN&o-= diff --git a/sound/direct_sound_samples/cries/torterra.aif b/sound/direct_sound_samples/cries/torterra.aif index 3f0960d9a219d5d4c21dbf21fb2940c329ac63c1..e659181e2383b7bd840a858e12a9bc0b8f562678 100644 GIT binary patch delta 22 dcmaE~jd9&JMh-XsAYTTCXtjwPavPmEq5)bG2FU;b delta 70 zcmZ3tjq%YoMh-XsAYTTC=%|Sta$=r-!66I`3?eoR4D~<=1sfIkq9yzseO-ZkfpEt# R*LcSu=lFmyV+%`$AOJ)R4=(@! diff --git a/sound/direct_sound_samples/cries/totodile.aif b/sound/direct_sound_samples/cries/totodile.aif index d87de7d52269f53e370131e55081233b13afd9ea..98fbb528beada2881df84344e24e8b5dc3b79069 100644 GIT binary patch delta 20 bcmccRzRaD&%|FPOfkAoRL=L%)P7TTcM+*j7 delta 68 zcmZ4He#@Q1%|FPOfkFAwL=HJIPru+01_lNZ8wQ4YAcTUA3T?^~evZDbK)yh@W0-5a PV~}%vK$xMa1w#-37GMs! diff --git a/sound/direct_sound_samples/cries/toucannon.aif b/sound/direct_sound_samples/cries/toucannon.aif index e83fe24fe8f64599a1789b9eab1d25e21ceda3de..83a90bab9cdbfa8039a585462e42edfad85876d6 100644 GIT binary patch delta 22 dcmdn9oAK2yMh-XsAYTTC*rbUZavSYjVgX)L2VejI delta 106 zcmaF0i*e6xMh-XsAYTTC*ew$|_}C5?bIGmvIrP!I78F#^&8K#Zm%B*@ttC<;<%Xv_crl<*gY diff --git a/sound/direct_sound_samples/cries/toxapex.aif b/sound/direct_sound_samples/cries/toxapex.aif index 226a666b71a232428afd32af15b9c6912394ceb6..3369da2f70f7fece5e351508ccb9f5b60f9eecd3 100644 GIT binary patch delta 22 ecmaF0oN>-_Mh-XsAYTTC;3*S1sT3sNf-Hma2cTX?z{ lD*&YofHX6ZW?)ba@eDBn(tJRSqCO delta 70 zcmcaLjj?Y!BZr%RkS_y+ciTh`IWbSa;1C7|1`!(uhI$}`f{hAR-V%O}zOF#NK)7R= RYrJESb9_LUiKz)g5CAfG4*388 diff --git a/sound/direct_sound_samples/cries/tranquill.aif b/sound/direct_sound_samples/cries/tranquill.aif index e11795686b7d49d52bbc5c920de8a9d2695b2e22..6a4e8a7661cad861656f4e7ebeb84a2d877804b8 100644 GIT binary patch delta 26 hcmexicF&B*%|FPOfk8UV(bLUsqM9P3!A1`QX#j7j2Uh?9 delta 52 zcmca-_QOog%|FPOfkC>!(bLV%&(YVFfq_9N+%e2G-Z98IKEOBJDc;o3f?*<$BBTCB HJp*X~f{zV@ diff --git a/sound/direct_sound_samples/cries/trapinch.aif b/sound/direct_sound_samples/cries/trapinch.aif index 03e1b1a946218e486fb06ae977128d0b2be1eea3..cc27653fd44d28ea75595244c7f160b07ecd353c 100644 GIT binary patch delta 20 bcmeyQzE7RQ%|FPOfkAlNL=L%)PBVl7Mr#IH delta 68 zcmdm|{z;v~%|FPOfkF7yL=HJIPru+01_lNZ8wQ4YAcTUA3iE^|{2YBEERMWLW)w$Qu7k?N)$G#xx`v| nx)>_}C5?bIGmvIrP!I78F#^&8K#Zm%B*@ttC<;<%X21XdmfaVT diff --git a/sound/direct_sound_samples/cries/tropius.aif b/sound/direct_sound_samples/cries/tropius.aif index 17359795eaa457469b12a634b04a9d37fe3ade28..81046fe1cfdbf868049e3dfe0ac0a57238ddf050 100644 GIT binary patch delta 20 bcmcaszo?$W%|FPOfx&*(L=L%)PBr!bPeTUr delta 68 zcmZ2ff32Rw%|FPOfx-UVL=HJIPru+01_lNZ8wQ4YAcTUA3QhJBevZDbK)yh@W0-5a PV~}%vK$x+qIfEepIMxp_ diff --git a/sound/direct_sound_samples/cries/trubbish.aif b/sound/direct_sound_samples/cries/trubbish.aif index 7bde68d8ca7490d83df9194dc02bf683bc2af829..09c1aac572b83ecf145e28a144b6abb3c50b9e4b 100644 GIT binary patch delta 26 hcmeCl`;^P$<{#wCz+m>u(bLUsqM9P(k&PZl%m9AQ319#K delta 52 zcmeyA+mol}<{#wCz+lee=;`L>=jiLoz`!6B?il78?-=A9AK)AA6mM#7%rKEhk@4_G Hy(4A-e+Uka diff --git a/sound/direct_sound_samples/cries/trumbeak.aif b/sound/direct_sound_samples/cries/trumbeak.aif index 73fdb3f838ed03863cf790e279686a9197e42218..c6e477c4017a84b45c6659a3f3926483e2736a74 100644 GIT binary patch delta 22 dcmdng#rUL?k;BbD$d`e^<<3M7xs5jaTmV^82d)4B delta 102 zcmaFT$+)SDk;BbD$d`e^Rcj)LoS2`ZuPXxs1E0CEk%F#5NKt8SQfgxMMzwt|7M?D~ k3P33XAk7S<85q<;JVT6tG(Qldst*Zr_67=qlo=WU0MpbJu>b%7 diff --git a/sound/direct_sound_samples/cries/tsareena.aif b/sound/direct_sound_samples/cries/tsareena.aif index 92d7ad1b93e034dba06b1f6ff5e7912c964029bd..bff64b0f3f7bdb941d7dc9c36ea6ac8514097c6a 100644 GIT binary patch delta 22 dcmZ3okn!3AMh-XsAYTTC0KbVGavN<70svKk2D|_O delta 102 zcmcb%fN{w}Mh-XsAYTTCfH@O6w!~Sa`Y^ kD*&YofHX6ZW?)bY@eDBn()>V-sy-yh*&8SbQf6Wd0Oo}ix&QzG diff --git a/sound/direct_sound_samples/cries/turtonator.aif b/sound/direct_sound_samples/cries/turtonator.aif index a15a2bb130478d089f7d3d8f338274e9389af663..b5d27b630f43bbf86512e9422f076826072dc3f9 100644 GIT binary patch delta 22 dcmeA<&$#OxBZr%RkS_y6y3s@qxs7%r=>S+W2HXGu delta 106 zcmdmWjjDWNt5Tok|33B!Z3WF4yngIZf92gP+ diff --git a/sound/direct_sound_samples/cries/turtwig.aif b/sound/direct_sound_samples/cries/turtwig.aif index 3de56621bb09b9a450bc0d344ed35202588b2451..a2e4ad60b378d47ee628428ba838d8ad214984fb 100644 GIT binary patch delta 20 bcmexne#o4|%|FPOfkArLL=L%)PIIIINxKG_ delta 68 zcmX?P{>_}j%|FPOfkFD+L=HJIPru+01_lNZ8wQ4YAcTUA3X7yA{2YBcd;kCd diff --git a/sound/direct_sound_samples/cries/tynamo.aif b/sound/direct_sound_samples/cries/tynamo.aif index 647040c17aca4324a35a4fd7ad47a3018ff608b7..ca9e2962fcb86d42c7d268a158458ff7e2319182 100644 GIT binary patch delta 21 ccmZ3LGa-k^%|FPOfx(Q!(bLUsqZ*4D07udVxBvhE delta 47 zcmbP`vnof;%|FPOfx%44(bLV%&(YVFfq_9N+%e2G-Z98IKEOBJDc;P`gkd8Oix~hh CiVOSz diff --git a/sound/direct_sound_samples/cries/type_null.aif b/sound/direct_sound_samples/cries/type_null.aif index e1d46c83e44cbf5b1d1921764d2079fe6b21d2d1..6b6be2dcfb15e38a11f7b4c2b7bd0ae6bb2a70da 100644 GIT binary patch delta 22 ecmbO?h4IW}Mh-XsAYTRs&m$8#znQ`6}Mh-XsAYTRsFR_UnauR-yzOD=m3_}C5?bIGmvIrP!I78F#^&8K#Zm%B*@ttC<;<%YQz8l6JQnb diff --git a/sound/direct_sound_samples/cries/typhlosion.aif b/sound/direct_sound_samples/cries/typhlosion.aif index c0f4f7de3c75a3edcade0ca20d174e6d6cc8eaa4..cc993c8052231c46c27ec97dd41b950fad2df1a4 100644 GIT binary patch delta 22 ecmbO=h4I;BMh-XsAYTRs&wCR&Mh-XsAYTRsFQJJXa$=r-!66I`3?eoR4D~<=1sfHPc}n;>`nm%70^yEf RuJMjR&hY_ZhNk8W762?J4+a1L diff --git a/sound/direct_sound_samples/cries/tyranitar.aif b/sound/direct_sound_samples/cries/tyranitar.aif index 54fcd8796390dd7e379babcf0f350f44ebfddc06..3572da76678cac6b929532cba7c95b88ed878280 100644 GIT binary patch delta 20 bcmZ1!{Vs~b%|FPOfk8KIB8S{YCl6f!NUjDn delta 68 zcmaDCwJ4gy%|FPOfkAiHL=HJIPru+01_lNZ8wQ4YAcTUA3Vym0evZDbK)yh@W0-5a PV~}%vK$ww<1%m|u78(wE diff --git a/sound/direct_sound_samples/cries/tyrantrum.aif b/sound/direct_sound_samples/cries/tyrantrum.aif index 7bb4825a0f8ed39215af034f6104afc5ba277217..88e9506129d04bf15e01253d0fefcf2758b8d197 100644 GIT binary patch delta 22 ecmaDfi*dp%Mh-XsAYTRsUyg|!avSYl`2YY@&j%I& delta 106 zcmbO*i}BGcMh-XsAYTRs->8WkauR-yzOD=m3<74B<_fwBA(cgmc_l@qxe6QAUinyg nx)>_}C5?bIGmvIrP!I78F#^&8K#Zm%B*@ttC<;<%V!;3aaVZy< diff --git a/sound/direct_sound_samples/cries/tyrogue.aif b/sound/direct_sound_samples/cries/tyrogue.aif index 5cbb4792f0c0533c9d589a5c309f71cadc16f6da..7caea851b3f9c98ec0a700d575e3f27df043d881 100644 GIT binary patch delta 20 bcmZ2v|IUuX%|FPOfk8fPB8S{YCl7f5L^1{7 delta 68 zcmaE7x5%Eu%|FPOfkA%OL=HJIPru+01_lNZ8wQ4YAcTUA3V!kuevZDbK)yh@W0-5a PV~}%vK$wxS8G{J`0}>7& diff --git a/sound/direct_sound_samples/cries/tyrunt.aif b/sound/direct_sound_samples/cries/tyrunt.aif index 5f8599dbfbfc86ec9d609af5bdbe57c9dd153b4b..e69373600537d7863528e64f8c6ceaa59c2d2594 100644 GIT binary patch delta 20 bcmdnu^vaRL%|FPOfkENXL=L%)R!0;7N{9yL delta 96 zcmaFmxW$RX%|FPOfk9DcB8QxapQEoU0|Nt(nWdS6u0lvzAYTTCNIpkTH#bK=KYs=W27!R0{N&W);?xv{q)LV0{D_G>ij3zc L8aiyun-Bp2*GLh6 diff --git a/sound/direct_sound_samples/cries/unfezant.aif b/sound/direct_sound_samples/cries/unfezant.aif index 4a3a8a9b0714bcd07f80c78151bf9b9ab85af7ad..1fde88bf0eeba5c782d715ea0fdfa7e7d96b72a1 100644 GIT binary patch delta 26 icmewr_#lwS%|FPOfkESjqou7R{#J2 diff --git a/sound/direct_sound_samples/cries/unown.aif b/sound/direct_sound_samples/cries/unown.aif index 86a836135d469c892675730b9c2f4eb3209a1ea5..0b3edf577fb294cfab76c33820d997f2892e2c3c 100644 GIT binary patch delta 20 bcmX?QJk6NH%|FPOfkCowB8S{Yrvga;K-UG` delta 68 zcmbPce9D-^%|FPOfkE=nL=HJIPru+01_lNZ8wQ4YAcTUA3T2WKevZDbK)yh@W0-5a PV~}%vK$ww%A%h73`tc4F diff --git a/sound/direct_sound_samples/cries/ursaluna.aif b/sound/direct_sound_samples/cries/ursaluna.aif index f2e96997f135fa273679c399387f950c012f898a..7ce14c630e5bc3bc401b9b2fe8a589396f7002cd 100644 GIT binary patch delta 12 TcmeD1=9uQfdc| delta 68 zcmexVysU)7%|FPOfx${{B8Qxqr(bXg0|SGI4Ff|x5JJI5g-ezaevZDbK)yh@W0-5a PV~}%vK$wxCIfEep8|e

?2GRfk delta 70 zcmcb%j?HK4-x0Q diff --git a/sound/direct_sound_samples/cries/vanillite.aif b/sound/direct_sound_samples/cries/vanillite.aif index e982d31bee80c5e9e4c369acb9de5a55952999ce..03d25f96154e66941e1b53ba3dea418ef1caf3c7 100644 GIT binary patch delta 21 ccmbQ{`NxCD%|FPOfkCCj(bLUsqgsIq08GpVeEzaGevZDbK)yh@W0-5a PV~}%vK$xMi34-7ae^)*$3(+BlNUI%ZsuoHcLe}oya$y4 delta 22 ecmdni!?>-7ae^)*`$WS#lNUI%ZsuoHcLe}ouLqO> diff --git a/sound/direct_sound_samples/cries/venipede.aif b/sound/direct_sound_samples/cries/venipede.aif index 4ccde9b7687456b7f58cb93efae3995453f99d15..d1c1e04e7badb40803fe704945dfb90a3c34f8c1 100644 GIT binary patch delta 21 ccmexndB>8+%|FPOfkEbqqoXP5=M^ delta 47 zcmca(`OQ+z%|FPOfkEb-qoi%|FPOfk9qwB8S{UCwTxnPX#Xk delta 68 zcmZ2xcgv2$%|FPOfk8fKB8Qxqr(bXg0|SGI4Ff|x5JJI51vYsJKSy6zAYUNdG0ZjI PF~~VSAk4tTlEDxF=DH1i diff --git a/sound/direct_sound_samples/cries/venonat.aif b/sound/direct_sound_samples/cries/venonat.aif index f490a4445b81c1bb0ebd3a8cc57a087799ce8c55..5bf36808c41794516c9e166972b90e61182cc6f6 100644 GIT binary patch delta 19 acmca*v&@FW%|FPOfk94gB8S{UCpiE+0tG1m delta 68 zcmZ2xbIXRq%|FPOfk7^4B8Qxqr(bXg0|SGI4Ff|x5JJI51vWVeKSy6zAYUNdG0ZjI PF~~VSAk4tTg24~~N6N6{%|FPOfx+C*(bLUsqM9P3#zqefa{zg<2iE`q delta 52 zcmcbX_aRTs%|FPOfx$e((bLV%&(YVFfq_9N+%e2G-Z98IKEOBJDc;P~oM9r5BBT07 HJq>dJn2`<# diff --git a/sound/direct_sound_samples/cries/victreebel.aif b/sound/direct_sound_samples/cries/victreebel.aif index d16996bb8681fb74a823a60976bb5404a61ca90c..62bb048d4c70e0539b53de7d998b7ef1762ccd60 100644 GIT binary patch delta 20 bcmdny-Q>;T<{#wCz@S<+kwb2yQ;aGAK<@?B delta 68 zcmZqj-sa8W<{#wCz@WNrB8Qxqr(bXg0|SGI4Ff|x5JJI5g(Ou8KSy6zAYUNdG0ZjI PF~~VSAk4trkii51`cn=O diff --git a/sound/direct_sound_samples/cries/vigoroth.aif b/sound/direct_sound_samples/cries/vigoroth.aif index 4f6e00a1372a7d3313b00a3115df4f234be868cb..8e3560ab1dfc290dd9ba6a501326bb87669b96d7 100644 GIT binary patch delta 20 bcmbPb@ywjV%|FPOfkFD-L=L%)P6wm`Mvexm delta 68 zcmaE6KFfl`%|FPOfk8%SB8Qxqr(bXg0|SGI4Ff|x5JJI5g=5kZevZDbK)yh@W0-5a PV~}%vK$ww*1%ojF=_L*D diff --git a/sound/direct_sound_samples/cries/vikavolt.aif b/sound/direct_sound_samples/cries/vikavolt.aif index e92d6fdd41a30ff02503ef7b27c0aca6369c9565..badd95c3c51a5849bce471d27443f1d57893c986 100644 GIT binary patch delta 22 ecmbQXgYm?6Mh-XsAYTTC=mQfuV-sy-yh*&8SbQf6oY0Oso!2LJ#7 diff --git a/sound/direct_sound_samples/cries/vileplume.aif b/sound/direct_sound_samples/cries/vileplume.aif index f182cf99da42a984acc9d8f48af740fc2478f5c9..e190e21511721e1b1bd541cac99b7f639561e475 100644 GIT binary patch delta 20 bcmeyAyf2x<%|FPOfx&RwL=L%)PBRPvPzMJM delta 68 zcmdm&{3)5k%|FPOfx+ diff --git a/sound/direct_sound_samples/cries/vivillon.aif b/sound/direct_sound_samples/cries/vivillon.aif index 303834d8a1c41c9b4969c8712ffe0891ff5bdd99..bf7474dd9544004d51018a089403634a37e5dce0 100644 GIT binary patch delta 22 ecmZ3tj`6`-Mh-XsAYTTCup1LOV-sy-yh*&8SbQf6ol0RA@?P5=M^ diff --git a/sound/direct_sound_samples/cries/volbeat.aif b/sound/direct_sound_samples/cries/volbeat.aif index 90e5e66ca04d391c8229e65bf8058c6e05a9fced..8d73e2c21db46f68b00fd43842fdbae3a12fb0ce 100644 GIT binary patch delta 20 bcmZ3c`$>nx%|FPOfk7;5B8S{YCm%5YLJ$SI delta 68 zcmeyQvrL!6%|FPOfkABEL=HJIPru+01_lNZ8wQ4YAcTUA3PEBLevZDbK)yh@W0-5a PV~}%vK$x+iF@qrh`XvqW diff --git a/sound/direct_sound_samples/cries/volcanion.aif b/sound/direct_sound_samples/cries/volcanion.aif index 3d4ecd09a8ad9f54f37c71ee8388d4239b808315..72c78807a6ee646819adc9203d0ea32afc821059 100644 GIT binary patch delta 22 ecmdnAj`6`-Mh-XsAYTTCup1LO_}C5?bIGmvIrP!I78F#^&8K#Zm%B*@ttC<;<%Zo~ipW33k* diff --git a/sound/direct_sound_samples/cries/volcarona.aif b/sound/direct_sound_samples/cries/volcarona.aif index 8d34404dc02bebb88a3f155f8162d2ce5bea791b..f62e6e9e38a10ef9efc1302b75dd1fd1b2b9b86c 100644 GIT binary patch delta 22 ecmeydneotOMh-XsAYTTC$XydT7({Fs80vu#3N|V%ij?wm^mPUDg~A=f TT;m;soZ|z0!=2*IOiUO6p;-|W diff --git a/sound/direct_sound_samples/cries/voltorb.aif b/sound/direct_sound_samples/cries/voltorb.aif index 54a3597708d0bc2841de5ea4bf9f5a4a6b1f7a2d..832429cbf2cbe5f889f8fbfb500a45b0a5c91099 100644 GIT binary patch delta 20 bcmcbVFfW0_%|FPOfx$p*B8S{Yryu$NMvw-C delta 68 zcmbQ2a4CVq%|FPOfx*CQB8Qxqr(bXg0|SGI4Ff|x5JJI5g@5`IevZDbK)yh@W0-5a PV~}%vK$xL{0fPwu5zh{} diff --git a/sound/direct_sound_samples/cries/vullaby.aif b/sound/direct_sound_samples/cries/vullaby.aif index 97df0d14f9e60632e7fe27c7a42c896f0dbe3c36..49d0648e9ff8bd5bc7e2eeb3365e57b4e91b2abd 100644 GIT binary patch delta 23 ecmdlpiE+^+Mjki+AYTRsPbo)FH@A&yVx9n1)&_I{ delta 49 zcmZ29iE+;)Mm0D8AYTRsPZLK^H#a{=UsnbO2BC1rFxPm;Am{i1-*BgRGh-u$jXYwW E08Y#dxBvhE diff --git a/sound/direct_sound_samples/cries/vulpix.aif b/sound/direct_sound_samples/cries/vulpix.aif index 04a60e27ea1da1625e92e1feecdfaf84d00ae31d..32b149999e29c0fa45acd2dda81777f152f24553 100644 GIT binary patch delta 20 bcmewsb0~(x%|FPOfkDq|B8S{YCmB5eO05P7 delta 68 zcmX>U^DTzM%|FPOfk7{CB8Qxqr(bXg0|SGI4Ff|x5JJI51tmQRKSy6zAYUNdG0ZjI PF~~VSAk4tnoWU3X64DMv diff --git a/sound/direct_sound_samples/cries/wailmer.aif b/sound/direct_sound_samples/cries/wailmer.aif index e21c05c4b29972f6fc9f7795e12ee5bcfcd0cb21..8bada495e4c4d9672fa29261e7ed16bf634e357b 100644 GIT binary patch delta 20 bcmX??H!F|B%|FPOfx%p8B8S{Yr!QszNDc;` delta 68 zcmbQ0cP@{^%|FPOfx+BuB8Qxqr(bXg0|SGI4Ff|x5JJI5g diff --git a/sound/direct_sound_samples/cries/wailord.aif b/sound/direct_sound_samples/cries/wailord.aif index 40c331d40d8b379f018e380f8a09c5d3185add4c..ea0f553cf8433404861fef4717c82525257d5a23 100644 GIT binary patch delta 22 ecmcb$m~q)+Mh-XsAYTTCz7({Fs80vu#3N|XV1xoli`nm%70^yEf RuJMjR&hY_Z#zuw=CIDF*52*kE diff --git a/sound/direct_sound_samples/cries/walrein.aif b/sound/direct_sound_samples/cries/walrein.aif index 475a874ef93adcfdc69a110d37aeb9a570fc85eb..2843617fbfe035b8521587c19cd5d19db730000b 100644 GIT binary patch delta 22 dcmZ40%lNH_k;BbD$d`e^EpH-++(xGWHvm>g2J8R; delta 70 zcmey?!?>!Kk;BbD$d`e^ZP7#yIWbSa;1C7|1`!(uhI$}`f{hAcZW4ZuzOF#NK)7R= RYrJESb9_LUv6(4@2>?Tf4=w-z diff --git a/sound/direct_sound_samples/cries/wartortle.aif b/sound/direct_sound_samples/cries/wartortle.aif index aa664369d70e952b226d48fc1289aa6cd7443b0d..de2aa254805bee9028ece7591c3a28edcb6c4f26 100644 GIT binary patch delta 20 bcmdnz+~v&S<{#wCz@XSPkwb2yQ;H%0K_>;> delta 68 zcmeBj-sjBW<{#wCz@WHoB8Qxqr(bXg0|SGI4Ff|x5JJI5g)Bu0KSy6zAYUNdG0ZjI PF~~VSAk4tPg24m;`=|~X diff --git a/sound/direct_sound_samples/cries/watchog.aif b/sound/direct_sound_samples/cries/watchog.aif index a3bd8a0f7ed0051d108c229c7a3677cd72f75c6d..df08e7a2964928ebf676550574e80971445aa834 100644 GIT binary patch delta 26 hcmZ3c)1$-V<{#wCz#zur=;`J*QB9HY-bRmmq5xgG2c7@` delta 52 zcmeCtS*D}r<{#wCz#t~)=;`L>=jiLoz`!6B?il78?-=A9AK)AA6mM#5!7!0Wk@4#fZU6uP diff --git a/sound/direct_sound_samples/cries/weavile.aif b/sound/direct_sound_samples/cries/weavile.aif index 2a1ff90b56c7b1380e18baaaa65e55c03ae3517f..5bfb5019dfd7caf7355e90fc46ce9138501c0012 100644 GIT binary patch delta 20 bcmeBjy5`8?<{#wCz@Tt$B8S{Yrws}KMJNV{ delta 68 zcmccS*yY6G<{#wCz@W%9kwZ?*(=RxLfq_B9hJm3T2%%u3!Zrm7KSy6zAYUNdG0ZjI PF~~VSAk4(fkii51;z|w3 diff --git a/sound/direct_sound_samples/cries/weedle.aif b/sound/direct_sound_samples/cries/weedle.aif index 06a26f3d7676c84adf3a6f1e1e238bf4a32b4cb4..ac5b0eb76524c5cdf05b8037bb3fad919fad525f 100644 GIT binary patch delta 20 bcmca+zsR1$%|FPOfkA%OL=L%)PBroXMFR#g delta 68 zcmZ2vf6bo5%|FPOfkFPXGAo3`%|FPOfk8`XB8S{Yr!SfSL*xcf delta 68 zcmbOgaxR3!%|FPOfkDe{B8Qxqr(bXg0|SGI4Ff|x5JJI5g7({Fs80vu#3N|WuMM(KM`nm%7Lg9{K TuJMjR&hY`h;ZE_UMn(((bvF4 Cx(tN? diff --git a/sound/direct_sound_samples/cries/whiscash.aif b/sound/direct_sound_samples/cries/whiscash.aif index 9d3a28786f461686eef7798502a74e4a93ac2a17..71cd9fd00a8b3decdf23c30b469babf90e116fc1 100644 GIT binary patch delta 20 bcmdny)a1nB<{#wCz@YGJB8S{Yr#lJ&M0p0e delta 68 zcmZp2+UCUJ<{#wCz@Vr%kwZ?*(=RxLfq_B9hJm3T2%%u3!XpIlS0OyJI3u$>5lC!QyQOR8>0+z^ ilr#d;%s`rfK_kR7#0W?W0x`OdkRWGopfE_Gkr@CSP!|IL diff --git a/sound/direct_sound_samples/cries/wo_chien.aif b/sound/direct_sound_samples/cries/wo_chien.aif index fa201694ebe55d169550629f205dfb4805eec3a6..f50bd73e8d42d7e4b38c10d0aa4d0cf607bc0a3e 100644 GIT binary patch delta 14 UcmbPmhj9WB=`udrsP`xr05PEksQ>@~ delta 14 UcmbPmhj9WB=`udtsP`xr05O~fr~m)} diff --git a/sound/direct_sound_samples/cries/wobbuffet.aif b/sound/direct_sound_samples/cries/wobbuffet.aif index 2c8193908aa61edb7e572a5434e36230982c86fe..8e50da47bbf58a9a7ace9e5d80d527f0895159e0 100644 GIT binary patch delta 20 bcmdlN&=tVp<{#wCz@Wi2kwb2y(-U<7KtKir delta 68 zcmeAQ*cZUz<{#wCz@T9^kwZ?*(=RxLfq_B9hJm3T2%%u3!Yg$NKSy6zAYUNdG0ZjI PF~~VSAk4_Xh`|H^_5Th$ diff --git a/sound/direct_sound_samples/cries/woobat.aif b/sound/direct_sound_samples/cries/woobat.aif index d66f5bd157197269deec946ecb6e14f7fc11b55f..db8ae140e219ca80d1cc5fc1e29abe938ea9bf41 100644 GIT binary patch delta 21 ccmewt{v@2o%|FPOfkFF@qo0mDX~8`=P6 COb!SD diff --git a/sound/direct_sound_samples/cries/wooper.aif b/sound/direct_sound_samples/cries/wooper.aif index c2d80b32c466282feb1a9f050c62ee7ca71dabb9..d4b9ea1b4a25c58cf829b902592471925fb1a7e6 100644 GIT binary patch delta 20 bcmbOx`$&ev%|FPOfq^e-B8S{YCmTKhJb(pC delta 68 zcmaDPGfkGm%|FPOfq}1YB8Qxqr(bXg0|SGI4Ff|x5JJI51t&fUKSy6zAYUNdG0ZjI PF~~VSAk5IxguxI1;nod_ diff --git a/sound/direct_sound_samples/cries/wormadam.aif b/sound/direct_sound_samples/cries/wormadam.aif index 633aeeafc311b06de647828df6854a64c869c07a..3645108206872751c5acc774d0ceec5a61717470 100644 GIT binary patch delta 21 ccmcaLjd9sDMh-XsAYTRsZ@Gyaatocj0ZhyWIRF3v delta 70 zcmZ2Bjq%nrMh-XsAYTRs@1Thsa$=r-!66I`3?eoR4D~<=1sfIEye0e`eO-ZkfpEt# R*LcSu=lFmy6GLML696XF4ut>! diff --git a/sound/direct_sound_samples/cries/wurmple.aif b/sound/direct_sound_samples/cries/wurmple.aif index e75a6e237fb32aa20b93f82d9ed4c05ef0fd6b1a..1754d7e2b7e27cd61c64f761ddd6cebc67d001d5 100644 GIT binary patch delta 20 bcmcbnv`C4=%|FPOfk9AeB8S{Yr#}J!Jz@pg delta 68 zcmZ3abWMrF%|FPOfkDu3B8Qxqr(bXg0|SGI4Ff|x5JJI51tviWKSy6zAYUNdG0ZjI PF~~VSAk4_jl)(f5&}9uA diff --git a/sound/direct_sound_samples/cries/wynaut.aif b/sound/direct_sound_samples/cries/wynaut.aif index f7563a8ebb0ef105870c22745523642b19e0d6e1..ddd289f9a48558b9e6a736ba9570f76f77eccc34 100644 GIT binary patch delta 20 bcmZ2y_REyR%|FPOfkEoiL=L%)PFJJ=N&E)% delta 68 zcmexmy3UNl%|FPOfk9erB8Qxqr(bXg0|SGI4Ff|x5JJI5g|9{2YB-_Mh-XsAYTTC;3*S1S+W2HXGu delta 106 zcmdmWj& diff --git a/sound/direct_sound_samples/cries/yamask.aif b/sound/direct_sound_samples/cries/yamask.aif index 8d44817f7b1a7bd3fd8338a544562c82ced47d85..51f07034b86052c25e6c5c5571c5bc91fbc33a80 100644 GIT binary patch delta 20 bcmcbXJtv#P%|FPOfx&djL=L%)MrEb|OE(6S delta 80 zcmbP}eJz{A%|FPOfx-0LL=HI~KSy6z1_lNeQ!^uljcR44dY&%E3P1rhAk7S<85pEP YJVT6tGz$;|RfPmOdjnY@IWtQJ0L-BdD*ylh diff --git a/sound/direct_sound_samples/cries/yanma.aif b/sound/direct_sound_samples/cries/yanma.aif index 5f373734a47cbc67f8dd7a2f2a27a88cc3dde8c6..3d8354bb59211769519b79a0a3d490abdf27e874 100644 GIT binary patch delta 20 bcmccQG|!2{%|FPOfk9DhB8S{YrymLcLBa+q delta 68 zcmbQ|bjgXs%|FPOfkDx0B8Qxqr(bXg0|SGI4Ff|x5JJI5g?|bXevZDbK)yh@W0-5a PV~}%vK$xMWF@p&J{g@7G diff --git a/sound/direct_sound_samples/cries/yanmega.aif b/sound/direct_sound_samples/cries/yanmega.aif index daf0c0d9f0edc458506417536b1e1b39f2b1c0db..6f3a3eb2dd9381483e1d542fdc4cc360ac3d536a 100644 GIT binary patch delta 22 ecmdnAiSge?Mh-XsAYTTCh;I`)S*N2G#%o delta 102 zcmdmWjY008266;l8J diff --git a/sound/direct_sound_samples/cries/zacian_crowned_sword.aif b/sound/direct_sound_samples/cries/zacian_crowned_sword.aif index 5e47f9275b543f95dc9643f6d0d369cad841315f..597c5ddd2661b00bfcf8d7a7c648548a3edae32e 100644 GIT binary patch delta 14 VcmaFyh4IA~#tFKNRvY!KssK0E21Wn? delta 14 VcmaFyh4IA~#tFKNmK*h~ssK0921Nh> diff --git a/sound/direct_sound_samples/cries/zamazenta_crowned_shield.aif b/sound/direct_sound_samples/cries/zamazenta_crowned_shield.aif index 1e7eae771ba5c13988f21ba8d34ba919dc1c5b12..05d170baba4af8493eb10d5b8d0ed3466972af3a 100644 GIT binary patch delta 14 UcmbR6jBx@G=`udrsQ0J{05XgQ!TcFNqnew4kS_y+mx!aMo134buPXxsgHX6*m}|UakaK*1Z@5#usi7&uMxJk; E06``VJpcdz diff --git a/sound/direct_sound_samples/cries/zekrom.aif b/sound/direct_sound_samples/cries/zekrom.aif index e3fc0cc74b2ef7b68b7f822d4b1834da734b2c86..dd74f80911099d40f582ca6de722c624e8f0e21e 100644 GIT binary patch delta 22 ecmZ3ngYnaLMh-XsAYTTC=vNat diff --git a/sound/direct_sound_samples/cries/zigzagoon.aif b/sound/direct_sound_samples/cries/zigzagoon.aif index c477208d13ff310dcdf4f6df107af4dd26755f5e..8f7b32f8189a9854f3f4bea380cc383d6cd73a0a 100644 GIT binary patch delta 20 bcmdm_`%j0%%|FPOfkCWnB8S{YrwB0sL{J6l delta 68 zcmeyTvq_i3%|FPOfkAB5L=HJIPru+01_lNZ8wQ4YAcTUA3UOi*evZDbK)yh@W0-5a PV~}%vK$wx4F@rGx1aS^1 diff --git a/sound/direct_sound_samples/cries/zoroark.aif b/sound/direct_sound_samples/cries/zoroark.aif index 7cd45de062c1a6d78269ed1244cf3d1730d64a27..91e7ab0ce97feb3fdd1827e38144f78a92ca7827 100644 GIT binary patch delta 23 ecmdlqfpNwJMjki+AYTRs4*^F{H@A&yJRSg3T?R$~ delta 49 zcmbO+fpOCWMm0D8AYTRs4=qPeH#a{=UsnbO2BC1rFxPm;Am{i1-*BgRQ)2^$jXXRa E07$V6hX4Qo diff --git a/sound/direct_sound_samples/cries/zorua.aif b/sound/direct_sound_samples/cries/zorua.aif index 039955ac19d867f5ca83ab5da421c762ef87c615..674681f5bc46114d457b51d81ffba085154e5df3 100644 GIT binary patch delta 32 ocmX@&yvmu!%|FPOfkAPRqoCBsA>MaJrh LhUpupiYfvCuX+zq diff --git a/sound/direct_sound_samples/cries/zubat.aif b/sound/direct_sound_samples/cries/zubat.aif index 4b2d1a1cc95d56eebafd227aaca15508a6b4845e..9ba4d364891c4313cbc2541862815d350a83b3cc 100644 GIT binary patch delta 20 bcmez5z0aG&%|FPOfkAcKL=L%)PBT;iOfLq- delta 68 zcmdnz{mGld%|FPOfkE}vL=HJIPru+01_lNZ8wQ4YAcTUA3iDJY{2YB0a};{0RR91 delta 113 zcmexUf31O$!_7a)mw~~-Zz6}BjGv>gD+2?Ah`FJKqk^tNRAqW%QA($^ p_I92w#tJ|MW