From 1c684fa7f19ecae521b6575fd1dde89f6e1023a9 Mon Sep 17 00:00:00 2001 From: Daniel Odendahl Jr Date: Wed, 20 Dec 2017 15:24:51 +0000 Subject: [PATCH] Animal Crossing speak, morse encode/decode --- assets/sounds/animal-crossing-speak/0.wav | Bin 0 -> 1964 bytes assets/sounds/animal-crossing-speak/1.wav | Bin 0 -> 2012 bytes assets/sounds/animal-crossing-speak/2.wav | Bin 0 -> 1980 bytes assets/sounds/animal-crossing-speak/3.wav | Bin 0 -> 1964 bytes assets/sounds/animal-crossing-speak/4.wav | Bin 0 -> 1980 bytes assets/sounds/animal-crossing-speak/5.wav | Bin 0 -> 1980 bytes assets/sounds/animal-crossing-speak/6.wav | Bin 0 -> 2092 bytes assets/sounds/animal-crossing-speak/7.wav | Bin 0 -> 1996 bytes assets/sounds/animal-crossing-speak/8.wav | Bin 0 -> 2028 bytes assets/sounds/animal-crossing-speak/9.wav | Bin 0 -> 2028 bytes assets/sounds/animal-crossing-speak/a.wav | Bin 0 -> 1980 bytes assets/sounds/animal-crossing-speak/b.wav | Bin 0 -> 1980 bytes assets/sounds/animal-crossing-speak/c.wav | Bin 0 -> 1980 bytes assets/sounds/animal-crossing-speak/d.wav | Bin 0 -> 1980 bytes assets/sounds/animal-crossing-speak/e.wav | Bin 0 -> 1980 bytes assets/sounds/animal-crossing-speak/f.wav | Bin 0 -> 1980 bytes assets/sounds/animal-crossing-speak/g.wav | Bin 0 -> 1980 bytes assets/sounds/animal-crossing-speak/h.wav | Bin 0 -> 2012 bytes assets/sounds/animal-crossing-speak/i.wav | Bin 0 -> 1980 bytes assets/sounds/animal-crossing-speak/j.wav | Bin 0 -> 1980 bytes assets/sounds/animal-crossing-speak/k.wav | Bin 0 -> 1964 bytes assets/sounds/animal-crossing-speak/l.wav | Bin 0 -> 1980 bytes assets/sounds/animal-crossing-speak/m.wav | Bin 0 -> 1980 bytes assets/sounds/animal-crossing-speak/n.wav | Bin 0 -> 1980 bytes assets/sounds/animal-crossing-speak/o.wav | Bin 0 -> 1980 bytes assets/sounds/animal-crossing-speak/p.wav | Bin 0 -> 1964 bytes assets/sounds/animal-crossing-speak/q.wav | Bin 0 -> 1980 bytes assets/sounds/animal-crossing-speak/r.wav | Bin 0 -> 1852 bytes assets/sounds/animal-crossing-speak/s.wav | Bin 0 -> 1980 bytes assets/sounds/animal-crossing-speak/t.wav | Bin 0 -> 1964 bytes assets/sounds/animal-crossing-speak/u.wav | Bin 0 -> 1980 bytes .../sounds/animal-crossing-speak/unknown.wav | Bin 0 -> 1532 bytes assets/sounds/animal-crossing-speak/v.wav | Bin 0 -> 1932 bytes assets/sounds/animal-crossing-speak/w.wav | Bin 0 -> 2700 bytes assets/sounds/animal-crossing-speak/x.wav | Bin 0 -> 2012 bytes assets/sounds/animal-crossing-speak/y.wav | Bin 0 -> 1980 bytes assets/sounds/animal-crossing-speak/z.wav | Bin 0 -> 1868 bytes commands/text-edit/animal-crossing-speak.js | 60 ++++++++++++++++++ commands/text-edit/binary.js | 25 ++++++-- commands/text-edit/qr-code.js | 5 +- package.json | 2 +- 41 files changed, 83 insertions(+), 9 deletions(-) create mode 100644 assets/sounds/animal-crossing-speak/0.wav create mode 100644 assets/sounds/animal-crossing-speak/1.wav create mode 100644 assets/sounds/animal-crossing-speak/2.wav create mode 100644 assets/sounds/animal-crossing-speak/3.wav create mode 100644 assets/sounds/animal-crossing-speak/4.wav create mode 100644 assets/sounds/animal-crossing-speak/5.wav create mode 100644 assets/sounds/animal-crossing-speak/6.wav create mode 100644 assets/sounds/animal-crossing-speak/7.wav create mode 100644 assets/sounds/animal-crossing-speak/8.wav create mode 100644 assets/sounds/animal-crossing-speak/9.wav create mode 100644 assets/sounds/animal-crossing-speak/a.wav create mode 100644 assets/sounds/animal-crossing-speak/b.wav create mode 100644 assets/sounds/animal-crossing-speak/c.wav create mode 100644 assets/sounds/animal-crossing-speak/d.wav create mode 100644 assets/sounds/animal-crossing-speak/e.wav create mode 100644 assets/sounds/animal-crossing-speak/f.wav create mode 100644 assets/sounds/animal-crossing-speak/g.wav create mode 100644 assets/sounds/animal-crossing-speak/h.wav create mode 100644 assets/sounds/animal-crossing-speak/i.wav create mode 100644 assets/sounds/animal-crossing-speak/j.wav create mode 100644 assets/sounds/animal-crossing-speak/k.wav create mode 100644 assets/sounds/animal-crossing-speak/l.wav create mode 100644 assets/sounds/animal-crossing-speak/m.wav create mode 100644 assets/sounds/animal-crossing-speak/n.wav create mode 100644 assets/sounds/animal-crossing-speak/o.wav create mode 100644 assets/sounds/animal-crossing-speak/p.wav create mode 100644 assets/sounds/animal-crossing-speak/q.wav create mode 100644 assets/sounds/animal-crossing-speak/r.wav create mode 100644 assets/sounds/animal-crossing-speak/s.wav create mode 100644 assets/sounds/animal-crossing-speak/t.wav create mode 100644 assets/sounds/animal-crossing-speak/u.wav create mode 100644 assets/sounds/animal-crossing-speak/unknown.wav create mode 100644 assets/sounds/animal-crossing-speak/v.wav create mode 100644 assets/sounds/animal-crossing-speak/w.wav create mode 100644 assets/sounds/animal-crossing-speak/x.wav create mode 100644 assets/sounds/animal-crossing-speak/y.wav create mode 100644 assets/sounds/animal-crossing-speak/z.wav create mode 100644 commands/text-edit/animal-crossing-speak.js diff --git a/assets/sounds/animal-crossing-speak/0.wav b/assets/sounds/animal-crossing-speak/0.wav new file mode 100644 index 0000000000000000000000000000000000000000..a5a9773f93f37a2c5401e9330b0495a90d12c1fb GIT binary patch literal 1964 zcmWm4cT^O20s!FO^t!VP%N9CWjBqGoi51TX7@kI-4Hf%=Q7mVkC5R=_BpQvxju>1E z&yrIwg0W#dA&1C`6|kT@g%g2ASjsNDJKJVvXD;`?f4|vN($jw-0LV<4_gT)DxiK05 z0Q9Gc(Exlm0RR|i!1Cm>2Jv8@QZ1**PXg})t7KA%0b4-@)CTt%{7CUsCLN$IQ%^}i&cYv|PoX+R9~j|3?U}?&&j0@u z?_EKZJ$|OAqLNDTg znoMtGzGsuz4(14*L)Ku&VT-&=SnhT?wEa8nYR7z@^m&0uqk^zR~;q%BLOgS6N9p(}_g@(wTXpU0gpTxiHciDch zhdJkZW(q!e0Xz(QK*Z3im<6gEDkFQIzKEB=VxZJF-W~2NagOB+Jn7;^9*)O%{aPQ z`Ig6AXRUYa#kO+M0CE`{dtNK5XK07xtI=uwgI$OElWek&@cu?MLSF|fj3sCV5Ft21m1I;tNTUclu9^TcDc z8!B!3-AgoV;qysWo|UkbnHm99p&%gyh4Pr`?ccl@?Ai46SoCgbM#O}HA2W-z7AD`9 ztVX_gic_l#!P*`8a|rF>bl&v2UEuP=;t;s+dG z2cPFl)iog}wU*Nes2Ms;#fRG_T!)Qg8!xv!Q;jJcw()84_&AW~?->(nJ7%ZS3h@F)9w?%6*T z55(k#ztAVq*Ok%IEi_Y=q~o}BZ&Y3XyJVZ$x|@3zIV5x+`#U+^w?%9sZ)mjIN#w(x z&+FE=zH!c%Cg`q457XBX9`MR9i@&kYv=@Uq5JPwI19jJRJ_+oJsxbYm9)SHrLiuJf zO%toVtBb&{bnL7<+ODy$$8Dyt=xeIsXuW4RpCLX}ozVf~J91gCr7rtzm9v}RB0j_- z#$-_84Y#{I3z;3!tr4OaJz!1>PF?osL}vFCgYbwiin%i7!M25x(T(wd*wK= zoob-VQE%Y2jceTRx{f7MCBair!MV`A%eyMDoxQ+Skv{ybk|pcVKZrME3$qFH_zA~f zdKW1p@Rx{$VdyU3ihjguaP!z4GFCf5RRP{f>wRnZS0Gb$n;EFtK;2eN#W5O#DAG0>PI36JqSS{AEYP-*(xk_ zhq#tIce@{mC&3EzHQ~Wh(eoe~)G3vq52+zOC$Ce7h+^z5auTWl@0B#^maxy=#3%E1 ncagAJ`Wak+(~(9b0}((fY=oNO&FDPrSG*Ii$6$OKQVaeEs!@PP literal 0 HcmV?d00001 diff --git a/assets/sounds/animal-crossing-speak/1.wav b/assets/sounds/animal-crossing-speak/1.wav new file mode 100644 index 0000000000000000000000000000000000000000..f059b8d56cee80d0bd256245edc038cc9668d831 GIT binary patch literal 2012 zcmWNOc~nz(0)>BXPhMVL0$ErBgiQreK&oxUg@D^ZXF6hCsI7Dmp|#>tl)9r(t(8$> zEF9}PBg|ncN?Vj_k+E`U0hL9itOAjpK*%1Fyd>{2ocr&+=R4oIn-bTqZ6^TO7Qb~( z#@<7LVgLX%8K2Qq){40^hSD_pJ*dDZq?{{>eOlH%@we-G8quRz#= z3$;-#rC2~*Ke?k%t=I5xx?Hw#MNGs7{}uqh{O{w1<_)WIgRTAUF@dOvC>zT`pGI^? z2N44U(N8{UFZ6sImob+5h7j9)nsu;kRX7#B*uyfps_}MR2N0{m?8oXGWL1Il`l3e5 z{Y8s|JQJ;P-33)LXWpg^`N)gQ?v~h5lUMsD&(vkK`~ehW{Pl^X?Z(2iz~wEt{=1lD zYhu$;VQDNB{3Cl9F*RR!xJ}_&`?)sl?dW_jVPC7(z91qkbjV{Jb!B2}#Y%hAvO+eu zy;5GSeBD_);0mahFAq5Ab)5-nOs*YN_=a=3DaW<&18i!03BfAbWP26CROM9iZ_)ie zbLK06z6AH7BXnRaUbx*eKJaiT2VEQz)vMq7O8)6v%CyexMzz|D##^XDe9@N*olCyd zCbb?O>|)9lJg*9R zNQehV`Zl7w>^*O>SN9B<{~P%$*CX324X#@Nip6_`t%|acIJytWM-m1a`_?d@1@FK; z9S1D2h74^3yoMT+I)i$AcS!HSJd3JV-hGOFAqXSPaI-NT9S2F-{ulC#hF zxb~yjyi0Vx_n^-m?~7jNr0b{+@O;Dhu}XDe7o{E;-)TMV?!;n6OMFWM?gT^13Pp*0 zSW->)yK1HwHQBkRy`?vA=%nsX`#8LszUKWmr9HSes3Sn-E0?bpMPW_u1Z&RJ!SSk* z{DIZ#%>%a4XHyRxVkC>~lzi&HS{jD2ei7Qm=Lp6yG3()e7*LhDajtfrC|or zDH;){(@IK2M$K+~i4uGXF2LLfj%-BEz|GKVu#WqVFyU4<4@59_?A5{!k@sZInW zp>;$ERYgTpUHk%GI`Ne7;KdLbcnnsKcp$^@6X-rT3d*@t?kWdmy=$=Rj_dz09kKN| z+qn~PKmH4UDOpMG<{u$;<25)&BoY*{3s1*#(0j;j*a}?*_rZHJne0m@+BR*9H`W^i zEPl4@%!vDYz@V>*6#f|RLw-2#B@x8i!<)z3Pi(`@r~oa5BOnd<0^FUc=9KJOXQM60 z@~-)+d51OL&M@;>0RDwIFcnccOT11b5yeC@5lEcFS*#09M-L*~;P0U_zz6Z*F_+}_ zboSdGTMI3dmb24y9Jicvx&2@-l7j8UpW@kgHGTrG!gKMT@I`nQwh>#5)*&Awr(h$5 z&Ayez(eC-oQhTj+pY>NOWqZ$&=_+7p@EM$sR$;&6U(R~Z;B~kYPsQKCh1fV6i}oQ> zBphx9{{Z5dyKIu{A#=~3Y%8`^*zY;+IECyF+h$o-Y8z`2_#U@Do5&H~pn_cbe(1 GGx$IJ#E>!o literal 0 HcmV?d00001 diff --git a/assets/sounds/animal-crossing-speak/2.wav b/assets/sounds/animal-crossing-speak/2.wav new file mode 100644 index 0000000000000000000000000000000000000000..44e2896b6466934bae0966e65dcdf9071d63524b GIT binary patch literal 1980 zcmW-bc~Fyg9>%}F_s#hxZ<056LLiWEq#TNtlluJ1(S3o&60hLQYNPvVSZ{B5go|)&5XP)OX&+4U%7Z-8? z*2S!iP1=#-F985FsRep~Z{`7DAc4e$l!TngP6)Ffrb8P3gfo>K67RwX9b)?dN0T$n zQ_on~V=RBxT3E~^(YM`G-1l5ww~3zRH8V$<4v1i$GdyTxet}FF1U^~@ub~_?5RD?> zXC#M~$=r?f&QS9W@|3T8q{|KCpp{7GPEX@6-beVxSMwkrVtdE1ZNIOcpf4 zen^9B(C+0x2;gWr*rAjW!e2oKzdDn(KYr< zIE&)YWoVnE-)E+vCJ06y5Q(uT_wSi-NX2xJi1tiAu3+YZ6K=wPAa~M_GiRZfDS=H) zDg9qB8!n+R;9?z+k28z~xXc--!{_0*&^9Is{mMKB!z61nq+_+-olG|Vo%=R?>P>`w za24OlZHHE7k$Wd&qBl$u^6-1?7kDh5?s>sOb5NpaCg$-7McB>9&5r!yb*Y-#U$x*vDt4#d0X zLy6ELpQ(T4n;D>$%_RN3arR4{kDtfX;V;#LR=iNAG86``F&qdi&=yfTJlR&!xw>}W zQ@`fZ{p&ejYetL}{`p2Cpifh*ieidK|JJE;rx3h8Et=5LLR~NXu)xU*o3NO-k`=n48 zcB?`3B&)u4e4RKW_+jW=eYJd? zl}oyacyeHHe@$#va>q^HG#@!@4uAD>Ki{br6*1Z} zdI9gY^r$!p^|q~ijy+w7-fA`m+@E=j2$bYG%p_0Rp-A&GwUy78ltl{kis(qp^dps| zKIz&_{7dX3C*a)EXiH;d56hQKH!cs|BM?zJ&b{pG{7}UMVory(LQt#dcPeWnqUbPU zt>h5=$ePbjC6`h*8>dEZE_rd?<0JwN@xe1>rM!h;#N2!xWf$$WWj(vvkY(Z1Ey`s9 zDS;;mzR2oa$jQS=%{5}f#LeebZ6PmYo>TI#48I0j1o7f&E;HK2k|`Du>2zV2_0`^* zQO_z#y&>5&DEhbT%1{7zw(Eg%j-Z&kuvKWys$oMdJ1;OMv`n&9(c?_SZ4x-Lx?F&#P_m~)W5q=GXY~`xJDf#=_L0IHT1nLbGb7{KUdg7 z{8e0OyPJYDqwl15MNwKay4D(Nan;?LSiw}Qw(CArZ;@kkIAl4Lq5)!+rW}n}R<&!I z&vgw#4tdXik+Mv$gVn5X+X?;_&J(#w3eJL7%gZh1ha>ODDE*h364P1A#!7V!)4Mnl zaiH!S!GqD+ElEwC&BV|S&vZ3cm#)W^m$;RXKT*Xk=5O=W2%PxwH@%kT>b$q=;d6pV zezOb-K}GCge!%cSF2)r2a;Oa5lD_)R)S6`#SwmOt8+66Wd66|@Tt35fgFfskARlWt zsZWy95!4Y?@@*^idLP&6Z<$gMnxUe|UPq;CEB%c6MSe)<%Ps8stTFvbkooeA59{kV@4?afRd4ZfjLx&7Z38cV|Mky2x}stkk$cRK(7ksDNQq zF7T%gif3U4dwhF)gS%GTVe29B=2Kf()XyJe>;dOT7K=rYj;V!wOO}fsn%5*VkuF6EjGF8rE zmkwrg56M?5cTqts$=LUuN18&+S6bHeJ6$`-gWAO4UOlcI;_G3y3-@%wLavj%M6D2g z#9i$v9JE>R=F2TC>z5X?!AHL3E5qgd2LyJM9820J5|EB>2gr63xm+V8xb z)>_{-&w_@^+$}`D;)GA6@|1iIk%{l{#?k9w059fqgi6sE@q*n&uOAEQ%j{9V_Up-i zpX|s$Z+T0l6cr&gklDP4*d8z<9B*gu<989O1i3s0_x0X!SVq2ke{8UCVBcVveQdms zIfZ2l-;gIL5PFF-ECsfld4x7%`?&+e34yP0JLfVc_V6cCMwgD^_9jQ+#0@$Yu7egG KKo3CxCGbBXz)@BJ literal 0 HcmV?d00001 diff --git a/assets/sounds/animal-crossing-speak/3.wav b/assets/sounds/animal-crossing-speak/3.wav new file mode 100644 index 0000000000000000000000000000000000000000..1e8221121f8a7d59d065f8c5b7181e637faab6f4 GIT binary patch literal 1964 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 literal 0 HcmV?d00001 diff --git a/assets/sounds/animal-crossing-speak/5.wav b/assets/sounds/animal-crossing-speak/5.wav new file mode 100644 index 0000000000000000000000000000000000000000..39c0d884163291873dd137ed10fd171d2a64f299 GIT binary patch literal 1980 zcmW+%2~<=^7Ja|_|K6A1JJ2+nfI$HT9aK<2!lD_sr~xEyNQ@gsjZESUF>#MkK@GT! z3Mz42;({Y?j3f+*h=3pxL4%;sfY9^;y?^-KfBun{)hd06^##?+dUi7Jvabe36-xd5qo@4$ojdyaYd3N}~)$pa3|?7B~oZ;5F34 z2=yEkuo+k|6*3TSkU|~ogNIN_9fnHy5dvTlG(aPy($S+(1Qj$Z7~aDLI^SQQ7tA!T z6c$1>WWhv8qT_t{l~xc*bN&uY`s7V87sB8?9EU03q}0e|SOX_vB|RUecEEMu(MtXb zUqBBSAOu#x33_!s{0yJMBpSZ~7d(O0prH!s90TwahA3Ye>*%agX$=pMT6jR&K?SWe zuL+u|M!=D`u#_5tQA7!4R45V!X>gdj581T30jdgl0aet$klg?CcEbuJ1TIp=NCeUZ zpHWw+6ok+0q9(XsB9X}VFiNcf8>G`3E8uI0g@tx_QQR2AAY7=I#v#?M$PmnEBNRMy_2+SCzjq9#5 zXt12XEODVtOynaYVocMk*uwbSzC)MVvFc5j)fqU+Ck^(Simmm$&8pezW_%1X2>u6c zzjele;xhh7YK0D^a{FATs;vbi0c<%R2 zBqmzV$qrMh+VZZl`FCf%d+pKx5mzZ6&zmI68&g_Q#T!xiqu-wrvCakKbl+ANxOa25 zN_VK+7~2f1M2F;W+UsxCXsYL9Sl?p=Ox!M6zjq?~&KS**`kywLFRgMHY-scQ_{ow% z4ObvTdC}4jh6KdR4@XZvT>a+Aviy+p8gq+CNUDS)g^Fd`Y2T!Zm-zjzz7rW2v2eNW zc6Fosq|X)kdA`eXK+jTl$S1s3mnwW@3sSMDn&bh!#wD}yDj6AuIihEN3r*K9Md>cB zyd2*0jMpA4m1}}z8eXp1OuYA6#fiI@SoOp7@8?|8x*mBtwJNJnkKT91*~3)nnk}!Y zewpMEwmzLPy=qRM(Tl?&BU`-I=1Ipj#Vm)#RK@8T>`54Ww9U#vJOSdESuQyJm@ z%W--0SXqT;_1t)NV53ogPE#mfDIn~VhgW(LzDmonN80zdk^-h3?Kspt8FL5NJ(nV; zp-&*dXOS?bt*!DqE_Y#*xWD#pZx=52ERrO+RZf3dcECL%<|*2g7g8H_Ui+$gul1(i zw;oc)1LJf^@OB8|d!y?5hq5Q{4322~xZ#C(a6*c-hxD|cVP6_&g<0*JYRlNh{oh`$zFIziTdYYg$t_c5_ChO8du9=aOKR(Qp_pLC3C z7rO$dR%)(y|Lx6vfyDoq=z!(CvqAKgdJbn~a6xB4_e%M{XB4>tYO=q*9uF!}{{%~jdI*v)@=B)a`bsUuUH@fA zM+duAuQraRtJ^skp|`X`uL76e9*r20SY7>BxxwS^F{bseAb!IOgl5#s{SP=ND!?V^ zc6-dov_j1(O>qTx4Nupx3<>Uo! zn~=dPF@J-cQ5@j(ILqzDWT|CI$5BzwlqN^$yW=)JXR|sB`ubB@>(n~&A?Iov;w}cu z+gN?gWV^JnpJ7^uR(qV1<~efAeG;|O#@I{TBp0BM4QJYG5Oe74VgA5Y_YCwu$^mSn z;Ux2l#{}U+Mz19W>1EF7_IsPDI^~-6myP%j-?TL`i$r=?gT2JM1dEca zV->jS$HudE;&t5T)DrhH1i?-??A@nyD_DO@*0T$p78BcbU9g8&gx(^LfRUZVEy8xA zxyV{Z43%m7d?d$l+tlK=2t@2Vh}=pLx!5vZE58!D#})$0y1`9nEoS~k%|!Mv^T+NC zY2O!`;}pU8K0eD7IdqoX!pG$#%aa@?UQucMhulbhD0?6C0(ykpZjaOTba8A4@C^9? zccU@Ze4E_I50XpR;UqSyqq6zWxhedg(F|rRV>&n;HA9!Ry_OriHldw&g-CI1B@!7^ p_=VhHY#TMhod>6}Fy1Y;o|Vh&U{tt=h`Ny+<3Wdn{skw({{XX_Q7Zrd literal 0 HcmV?d00001 diff --git a/assets/sounds/animal-crossing-speak/6.wav b/assets/sounds/animal-crossing-speak/6.wav new file mode 100644 index 0000000000000000000000000000000000000000..dcca996e6ee03f956178b354ad5276872951d2d3 GIT binary patch literal 2092 zcmW-i3s_WT8pr?NIl~|`(=dXIh;ozMLIEW~SGkz&N~xuQ7vyQZfTpgQf}u&6X!5L( z0iwHQf*CC?rM77%C>fbQhY1`1V7Ju1G^#t1s1GHNJ#+qxS$_H@WyX=0lxSWw{Ra%qmlQ@ z5Q<;$1pW;@hA|ci7?1h*Jyv5Pg5iawydH;DxPcicM>Kwb4<2w|A5Utxp9ORpC9n zkH0YLZ?OqAjLHN*da_bu31aX%@2x@<&rCr&|2u@=@!3-Du4QZwdGZi;Qr`=Q`D6k{ zBa(_)*nw*58?cP=*E6P*$i^XND;gUaR{(Pxj-!m}29Dz%vn#L#d5kBGs%e-d_H*q( z&u7suB~=#F*BaQd7t1jnb6BBMNaQKI@i*pZ8zNW@1G74odaJoBi%Q$@DjiQ}_2Rg$ zq~DkE0WuitHvE~+62yC204x1GlJS|mk2|uQ=bfik7-I>e(pQ*=NjSo6-)8lb>DUw7 zC3s4+me1%*BS1|zk@fdui=nvLXHShjtC33i&pWrh*Hb( zinbap_6T@re`3u>X(^%>nTkoxP~X;9s5uVDm3n)eRrGrHc|UaO&$8#@P2)04+31U7 z-Q8P^d$FWT|8r|?LSxjgU40SyU)`2Y40@(&a;$&h=u~Y?TmDtA^1apihR+7eP1#S$ zVE@p}fE4dV?oGPf-j?bQE{1*AR1?=1DK2=;nD}L2)0DDto*pH-dSPjsU3umEIW=t! z?bhlMUj-$37fjpdTk5&MRILPAZ?%_Jg;!b{AN&%iJ0Q0P^o`L%7r2D_lqwwWWhR~t4N^4lXi58obrzo0#7 zFxq<5G|RBwlx&!3$~X8rRXCm&%jL^jfi>9{hTk4Wz`sxL;5U58G}qc`sI+A}8MO{^ zaBu)kRu{(*4dt32G*zM`|`-r#^6HahuQ;zw?ES!;|orHKxQ5WM6NtP6Lt z@m;AITGt!V{rbHDouwZOhZ9 z3{TSb47J!hhVrx|>lf^aVs#qalt{k0TjYGD9FDpcQKuH8TTEw1o{;lJIDFK8v01lI z>`)i*ZB^xR>1AJUA7#62e^o0WJLV~i#R~O+GFx|EiB${OWw|z^?TevPwwG*a(k!o_ z6!}WBxT`Ky;&pE+0lLfLyplm0jgo$RPrKw{?K`x|OQepQIE`3Q0ju~cZi-3xiNqMh zTha}a<#GD?gq@=b16JVk$Ln;i+vs(n@WMgvslXCuajUemGiI>cFNtP+qgce#$^aQL zEQ1g#vv5;OgkAfPeg7?-kS7ixRcP$|G7=#WH=)sUqbxGdA>|remh&0IUTh|{@?a9hctKpm1aXJm|0!uUlSDC*8kz7HBViH# zWZcJOh?&%{kPpx*z3?K87(}Y3wJBOn4IUG6T+7L}zE{WVvW#9h?zQV%_9CJ3&hJqMcq7NyZIw zHA!Ddx?eyl=hr`(@5#(lE*YEnn0uSa@NUkqCeE!W*0P5gEWv+pj)Z@O*@(e2*oPui zP_Kv+=`8a+1%;dqNo00Bwv(z&T-~PrWiqp$E?#85GP&2xEbS(D*YnOXPRae8D?6Fv zVD9h1&*b+dDi&cbBMC!3*;~xn`)KY}k>U$^;t!;FA$^@9ZSP_i=iV{)$N;l3?(rP$ w;{RQ+7T2*7E&Og}1s+Yn9%@`;W*fP8Bq#dUAenha6Z4lyg-M(}jjY1|0hmy~aR2}S literal 0 HcmV?d00001 diff --git a/assets/sounds/animal-crossing-speak/7.wav b/assets/sounds/animal-crossing-speak/7.wav new file mode 100644 index 0000000000000000000000000000000000000000..95d25c33fa7f13db22f1df54443b92da263fc93f GIT binary patch literal 1996 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 A6951J literal 0 HcmV?d00001 diff --git a/assets/sounds/animal-crossing-speak/9.wav b/assets/sounds/animal-crossing-speak/9.wav new file mode 100644 index 0000000000000000000000000000000000000000..d926899b3278541cc31e1518cbd72fec4281f4da GIT binary patch literal 2028 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 literal 0 HcmV?d00001 diff --git a/assets/sounds/animal-crossing-speak/c.wav b/assets/sounds/animal-crossing-speak/c.wav new file mode 100644 index 0000000000000000000000000000000000000000..06b604afc0416792fba41997d65ee1e8e906c080 GIT binary patch literal 1980 zcmW-ic~nz(7RT@J<*j*nAsZpGXt4@HJ*^uft;>KKaHcM(r)m)aw-$FxT?Tcms3>AR zpjE4aw$*CIQ?0nPE>uRQYH87l)^Pzbf`9?Ckc5zgB=0wGdfxf{^M3b!@Aq@>Irlg7 zZ)s_l8Gt#dvyC6ET>FL!0Fd;h3;@_V9)JK9EMBm7L75aY1-^sLuo2>+4)(!msD-7F z0f`WeeuWK436<~_mZ3aIhfR=(Zs9EWCp>^-U<3{LVH@5DuV60f!KF}yKS9^<2;|0j zPyr^G3|eHtE{KB;NQI~9EWQUP;UZK+KKuxsFhSCOA{`Qs{jBjBa%$Djtge+*rY0{q-=*IOB1E(NG%4XpY7zAUbs25V)2a>lW^cHww z6jY-c%t-knd=Ih62y4(sFhb%b&}eW-)N!atqFI3zXtGrI8NLD`NRs@ILyz!P1o#(; zYcTpAm!YS)Lh2!p-hoAbdaZ+UsKf_R6P}GCB<-JZ5M1~^9F-WOu!wT-RXB*JN;<2d z3|b|+xlkk3{XbI?UW%%4A}R$EeT~hq3~oXg`~w}pMX(;!h>^MwFLmHF?1dYW+hWPv zZoCp*!EYl6_Je?D5p%H}PKjHj9;c#-I3Ug9mNd-^s2=Y?JbWSD4?{=sE7XRMq3hy8 zA{9K4C(Y#?J`N3d9UOvul!2$ALpThXa09HznW$0J6H&Md=HlT*IcT9$mY$PlvqBc~)XR5HNFhB7#w-0ombZ9<%XiGTUHDZaw(qM(3cQPku!ENmPdJkpN^J z)df@8p`Ja~u?>rR%wATg3@?m1t{%vbqiE)1s!nmnZ|oZW;;{SOV6jlCd#JamL?(xJ zq7V3U4Cjlpl1(RFlLB8TE^CKHu2N{2QN(%KWhRTi8qjqeZq0N(7vJSdwaFS#A0P_Y z5_l~ypy#?ht@o@eJChKPoe`f2qTV2uFhBYlc!FF=_p~?mBwMlrue=IjIeA^Lr}ryN zxQ2Oy-X^F*E36Yc-?Juo(nH7SnL>$jm5@p9r`D5&T#DirxZBn^nU_UD)|nGlO|*m; zkUrs2UygbY`XM~uA$V%rD&3ztjvyUn(WNWSa(`!HDFf5YPGF*4F8hr3CGOjv_t+Pdbn1`D0d>`zprj%MPO6g*=)p;+1HDek&xf7sRTOAF+2 zIs6S(6Te7)Ue-<$w7^dlE385LR?CE5-d9O|&6KLD__u_+GEBabx#Sm#E#6#5L-%%v z!Z*Zkq?F8Z4aesy(&=)pj2z6J4(+q$b>-Nm^$rbeBS-TY>Y&goUqF9OO{25fY9iaW z)t%Te-t(2a1B}!O)sV0U!d0e%K1zMa?qK3Vb=oUY3bitXqU6_z z7)5F*-?gdxqJ2hpP0!lEYU+XFiRvApku#A?xG~gjc@lKFgPrA8&Uw@OB*b$a!W_*B zewq9Q*~$#2{PJ=b?=f{3I8yER+|T=*veWV!)yc493YKkRzogTdR?*}d?)vDLOi6MCYhY|lX=sG&7hBltbW3^H4?U5nLbx72 zD&jL$df0ZRi0ziG;irfG=(Ts_*SYNtuS@OA#l4CJ`b5JXeT*iLpH7V=lc?Xg_eF7IaWWfn5IdMmS?#$O?&9zM%T3ehY zcU>SvM}_UyzSJ4?pQ{S_2h?HWz-uH&2{Xg%^>;Mq6tRq+m;*zl u&At&u68B}v$OPWtvVhvZ#oz4D40=L|(*CU=_98R-FZ6@wpo3=V4fr1~bTkwI literal 0 HcmV?d00001 diff --git a/assets/sounds/animal-crossing-speak/d.wav b/assets/sounds/animal-crossing-speak/d.wav new file mode 100644 index 0000000000000000000000000000000000000000..0dad01e05768b4137c4fc6daa05a5d2d009ded9c GIT binary patch literal 1980 zcmWO7X;>3?0)X-V%w#5+B$JuR9TJETP^;jhU0oHa=YmI76j@N9-eT3VETUU_Ztaw&igwpOJM@2vd5rG_#YZ4#_1d^HMdB48je<@3olJ4>WNMDea zn4Pm{90dS?#+t7OplB`tFrdKJO?x(-9(zi;Z-X`LMmCq*2Kw0saFK(cZ15jo<|4s9 zE{WU2`PpPp2u48;I0a&%!_Z8)8ae_)a28YoZHA^m2S6lr68r|1fgrdKu7JBh3?)Dh zffM`$>Hq@Pg1KNAYyl2X3~IoBumEa;?n4!z3jCXUpIsRg27d`YX7vC;KEXN!OYjK6 z99}WF9T@c24xaGDdoK@nvbT{V!iB^~^my_mIbFCDQ-&Jch%3fc%-CI)z+#Xoo=ul2 zZfefS3Z$9nS!A!fwRfiZRnIkNsVfmOB1<(plnWwywA&O#Bnyw@MyySioL7g;P2|N4YKx-}sq~6f!d*Pu@ISf* z=B~z1nN_x@!U@<_!*hL_E>?4rauFif2(nEjeT@y#PFLS{9G8R{lJxc3D{4S(A&Q`M z&|$p#c4EtCjtbX0!hjDNiZonQhopc$k5=;ap4shp-^^%vGkDEatBR9;KlzY6Dsm0> z8&xt|B{^cX8cSQ|wf*cn6R@f(WNqUMBv+zmf&1#jK#d}~^QdLqGs%F-&Y-gtdV?+E zBUzua5=4>&oWtYHS8RrcM1Q{JGo1mWC(gzf#S}wN)C+=?veo!O$GO%gug^H%j0ott zimelQ)DcZ7!030O^W<8a$F-<_#Jj;wN^=OuBpvld*fw6RbRP((%Li&rXS*spBD_n6 zrcl>qg@$$HG*ulGM`@6t-vXZeGMp>LT#Oa#Na*^}9u@QpFUWGWpOXS*Ixn8uh0Y`Md|unh zwhh*Kjyhyihp63*rf(4?SYn6k7@7aUB?%&ut=3khuyORY7O*H;dZgQsIFh z@Wnc}*kR`ZW}5d=(8U*1`{f4N-^mH$NPIIklW&904^Qy!X5yU@j(7Siz3+io{J5Ny zWy@DcrV&wCkKh3>4-OAJ9=OL4_5o{<$@b3S&Io*Tob0f2H+e_ggb`31?U-z!D2d$}=ZoAjh1b;*1s}eM& zsyWmQu?_<$j8zL3hI)sNJGEAYd4;9jJ`&Ig`suE)`I=^V1GPxt<}t_**krtsbqBt3 zo2~W6@}5fTb?;&rr-s!p!#~vAkzNwN{*~wjQpa_(_qb!IPPiDivGxAF z&MHe;S50?w-&tQOyhCbH*F`|#Ci!6^oVOQ5vIg!UY{Vww=b^)a;r{8i7-M$VY12+7 zF6b8IDNcpsdPKWldS6(ENI`L^om&Pw`L_g}$fKa&Yjixd>@|LD>alI~8=)d9H7s0r zFpN@WlFe8WG@najUjQxqIU0+lB9}rLzAu@RR=+9IlxwXSB)}<=Q<VV z*#Qh}3wsCLLgt`%(0g!CXp=w1E$yo`RhcI_QoT>W0%C)rQ4_5dDGrf;6?7oC!7lc3 z=rWfN;k-PQhaQD8LjUtUbQ$ac%RDQ^XWUa?ylA(KfC;x~|P(8NwSEb#-HO}Z~exyr#Feo9C`vC33bvarCt6deOfYJ5JcVuQQX2%OK2na zBY1#(hd#in(MY6~g@-Q={OUMpn_@rZ^7(M?ES4t8qP6l8I*mLkH1RYL4t8*D>^9Ij PCg)ACX3XaYW6J&?`=oJO literal 0 HcmV?d00001 diff --git a/assets/sounds/animal-crossing-speak/e.wav b/assets/sounds/animal-crossing-speak/e.wav new file mode 100644 index 0000000000000000000000000000000000000000..712e14a0ee2f56432c9a72b58a8a4e2494ea40c5 GIT binary patch literal 1980 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 literal 0 HcmV?d00001 diff --git a/assets/sounds/animal-crossing-speak/g.wav b/assets/sounds/animal-crossing-speak/g.wav new file mode 100644 index 0000000000000000000000000000000000000000..fdec7a12599dba9c861c3861b57937a7b564f174 GIT binary patch literal 1980 zcmWNSX;f5)702&eW_vU5&6}Aw3p0p{CRGE}SR$Yi7t|bTN{S*zTo9uqmXbD&5={zf z4z)*26%A^{xJIJ|tHxcExZ**viVYc26wqPzd9&{e^E&5#xc8p>KmYr?pYHtPxpOZF z02a+GpHp4Cb`%W&NGfKG1lUvvfC3Gxs@7IDr!@T3EDleBfSYhM)n$Vh3gI!Ff>LM! z6)b|{RJ{mD_y{(^Z-4@0N}B~u@D{uW`7j1z5P?c40xPUYWj&mL&7e(rs^QI4?gJ-W zg&Noc%i$!{!#HSzI`}rFH-dwE52@kCAZ^@s@H5BK08tcTa26Vg+> z%isWf0JXqC7t)yAh}gJNxSryBA6c2AdkH&`OWemukZXpyAV(_T9L$3@?mL*CaIT}zG}P7Y5R4kng!QOLncd9wuH3U&#X z@fs0R@>;YlyfrW_bTw#=$}{p+-)nP4E#lYNM$4n!SB+AA=lOIve$~dl@ zlXhQjl&l24ZJX(`{<*EtQVp*#LOVfSIJQ-x(ykV6k!n13j-G)NhD`Gj_g(Y=F;k~W z8_xJbzF4gj%og2alb+u``Ns0Gu`JmQ5tW9?8eOdXoBFJ1gLr8;e@JigJ^RqvW%psV zf;}UGj41P{q(~V+d#N?*9W{$)dAspq|0fROiO1bw zDixeTvqzm}GDnt3-Ri@v zxxt7IoOds9>hL*&HM*UObJ}L{I+-7rk&dw1nrEu)$6Ol&6M4-7o-SKaqRkS6(t&>{ zcDOFu^9RoxCb2z%Onwo$I(?I>Si?#xWP8yX$pPOe%jp-{=0`3={4T#m_K{AaYF95L zm&iQWyCRRb!NT<)Hm`RriA}(h>(o`OWMY)Y;sRm*_zY>1*wAwO;Fq_Xy$EvX| z$pU2_Q=p7WloVf(&VMH%Vqe=Y@_W>iAE|e=#QdzVtfrtEddE;I&3B`W8E{ImUT%0`J6%uoIG-@?)}t z)S!5UXb*2Le-#|_?GK!CG-Wxuz8jGiG$d-Lhh&}fEfN(!?<`ZIXuTY{;MLLCPgLuZfqw$lb4a~ zie2&^aLCLG%SlIls0S=!9`mWDmbpt8h<_(Mh<%FxfE__*B>O@S+*LM%`Ix2Gc`AaU zDk@iXTD?eBNS`B4@T}<1SR8G~nqX{9>2GH@Tc?^O4wv`Y@MPgv@?EMfbsbY9MMS+g zi7bO*&||vfmgqVEOLm^M&eFkN364RJQ+HI;G-lO9S|mzhYoLYe13N0_v!EN^5I*BS fB literal 0 HcmV?d00001 diff --git a/assets/sounds/animal-crossing-speak/h.wav b/assets/sounds/animal-crossing-speak/h.wav new file mode 100644 index 0000000000000000000000000000000000000000..d3496d5700762fbb2285ae58fa1d6dba19a8998e GIT binary patch literal 2012 zcmW+%2~<;O7QX+>_VN-)nuG)tWCsU^T|{fOR6$Rip| zd@KW4^~%cJja!Q%)Br&6lN}CFJP&{YHEhT)%D;>?Pe38GlOJiMG(h+P#yxWJAtpy| zq}Le6@0aeDv`Js5eqX!QC5smC4qa<^dM*rwau$g)W75MmO|wb#HMi>zV)vZ!8y$DOD*2p<5T%r_=o&N2hkw$R#+WkVxaHoLf4=(Q?C_(Y_OyRR zMKG1-*tWeBt95%4Z=?+C%AEDLbL!Fu-_{nSyq?e{UqA9v+qvPL0fR~5>8}|)?)0C} zKM;2u(Ag5I)4DWIU8_61Jv(7MvNa_$dLx_gM(aLsKE&Y-`))}X?}SZDKN@FoBU~TLtl-};N8z{(H{w}34A1( z;hyU(_c9gvK=Wxz2Zzzfgz6>vj4kh zPS-WdhxSO>dm&9zmj{)~)cnNc7Dq9d6dC#?O*fQ|Uh4U*YqLe`U9ZSB)P#*_H_HP3 z)e|cFabC=|YR?4S6-C&EK3Q*5-?qtc@g1F2@6bt==V6g|%zd0Mlbn#x57;Fs@ORr+ z*p`hBOuXye0o_uC!pN1&cS^q$X_*TUOy)Bc%-19ha)pDwZ09aVvU7=NvEN6GvNz<{ z+39SlWVT38tWXO3;1OJ8hM8valy32~*ctm>d#1a^pCq}?-41x7yuhv#{ey1idA^j^ zGv_3cl2+12%X~N8an4iD8h19opRQ+!bPZd_ZeYKZ-V{9~GI#;jLOc}0QU5vL4tI*{ zSEtu=Q8+A)m7i7gaPP|+iG(`%6}((HN(G2yZjoT7mZ+H=A|p140z2FxE@n(zB`y@l zktsf%dxfLeUh6#On++wB)tsB##NC&EB6>&*e1)za#~Np)YrrRi7p2!(%GuZkiIaJi zZu6V?eE%~)PvanyBr+c`X^fq;!vc5{K7%Sa1w48spa&CB4G#JZWvGFggw=G2s<0!Q zc}8xKYEXcUeoXbWh(4g7fCJu!6W9?&@<=xMh=@oL*+`NYBSV=Aa+;pu2R&`>eeP1P zR9FJj#Xm@rq-L?5NhL?%PauO|Cc>?=ep42PHHDi@&tU!;QQI7(_O; z7#jgSPDzDnIEP}L4L5Fr?U?x+jKW)(or^4^5LJOnLJ(mdR=tQd;iy^+w=mZQp~zi= z+_Z=tidy9GD`dfUkc@RKbVDYx?Sx^hZAUjoz=CRHkXOWWM1nrGV$FQ~HiH3iY7jXb z-wZOi4;fGoxu}C8e*vSH`_p*{_`(6Jtzp9n$l z6xk~SB@!Jezg zWUGjTkqe8UY=i1UbEej&raW z->DQ&$}_C*L>=DeoAkjkJe3W&-NdFLYjJUlZd+-N7xF+JCN44KuzEYzSxUPGvR W7=7Y#f(m{|KDGE=4@(h~gZ~4-yZ;aX literal 0 HcmV?d00001 diff --git a/assets/sounds/animal-crossing-speak/i.wav b/assets/sounds/animal-crossing-speak/i.wav new file mode 100644 index 0000000000000000000000000000000000000000..be208561b0c175f533ec0a4bfbaa2faef4989651 GIT binary patch literal 1980 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 L0`#`FqIco{;j1WI literal 0 HcmV?d00001 diff --git a/assets/sounds/animal-crossing-speak/k.wav b/assets/sounds/animal-crossing-speak/k.wav new file mode 100644 index 0000000000000000000000000000000000000000..8dd816e1e48e85f1185126575d59630c39e4183d GIT binary patch literal 1964 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 ueb5zWJy=vWnV!0F*^l2T%QLB9% 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 literal 0 HcmV?d00001 diff --git a/assets/sounds/animal-crossing-speak/o.wav b/assets/sounds/animal-crossing-speak/o.wav new file mode 100644 index 0000000000000000000000000000000000000000..b8d689ef01e917fa62735c58f706ffc8644bdb56 GIT binary patch literal 1980 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 literal 0 HcmV?d00001 diff --git a/assets/sounds/animal-crossing-speak/r.wav b/assets/sounds/animal-crossing-speak/r.wav new file mode 100644 index 0000000000000000000000000000000000000000..0b66d7b269841d724f3096df5904acdc9c64ced7 GIT binary patch literal 1852 zcmV-C2gCSMNk&FA2LJ$9K~_a(ZFC?I000010096%9{>P=J^%m$01yCVVRT^-2LJ%{ z`P1rN*PH%?M)v@`!prLnA43?z1@QF=`!x|pCU*-C`#AoW^;*tk>fSZ*Dx|(J&BG|Z z9Q6F-1>5}*1$G;)6xH_2+JMVv*_#)|Lue>u7Ue6EEW-T`Rf3*1~nO)6CC@i+I7}M@qi@vD^cQN*o*`&9mxg&04oN@ z3*Qj<0_W~-%vIWn7@{+}>g>!G`XwT+8o>GM|Gf_gA0ZJn?1jjly3+YCTn`%Cu7BDR zHVrCg^j7{}1^^$47cK(;*uSx&-zz(0NF~K4wfh;TL5l^Q`-}vX4ayZ$4rT2(!koMo z2z6@W4X&bV>x(RgAiMz0_T~^A8Kn`o@ZZtZwNC-AV~!zOw&uinAbu>^_QwFv2yr3$ z84UR}+Vipq>l91dJ*Uze#I7H+E9nXw?lcJ2AYT~-1=iY?v#RU1OMN~`)4jw{AXO}j z3%%~v2zVg@8WZ_D+WN8&>j_#5DmKOaw=pBVF%b#@=gS6}B#|3}^DoXptR3)rQqC%x zzb4MPDZVur04erD5acL-5+whg$2qaz`zvT}A7`m$*&-oZEx0k)Q5Z+{??WLW10-8jA2(;*e1)Ctz zD1HNw;tH!>&?q&uL#@rOy@MjWFRTmV>#zvPBa<6I_fpj)stxm5U$rx?y{*lHGD#&l z0ZaE86d@h!6qxWB!I!SL0p3+y3Gc8A?Tt9U8kO$L_8uGOArAuu=vBnCzvuo$VLj_V zyZiziMF0sl=>!HHA?Fx^0+iuqwm8SK5?DzL-Dt7<3=1(q5Oec;{E8$K9VPsv>0`pK z(KHs~M|9J5!%8TFHD~&H??((^Cn_J;`h4c3$9CB8Bf3P6#E-OO8J#AL0-yMf0jC^s z6dv$Z>3zx=(2^TCQVh}!!paGDFpBQiBOM#c_HW|u&r{0H6?04m^y;^40~$5( z2Tt&_1r8cHATI>5>&o4^$b|a6QK1z=wC>v#FG~)6@rC*)5{xJ@6a(s>?;zHG(XtQR zJc#3XzxoQuD6b6-_JsX%9!D5G{qpUU@)p&T;Lj5@Dvscv*4h*h9jgXV^U(yO6}%ct z`>5`G@)P0d-4h5wGm!Ry&B6e%BG>~x|5gJ%5pxyx361%;{8a8z%nA1LJtQF5&&JwQ zA4?Xg{xbKC3b+tc7S;VT`Dy(_>g>uO30p{W|K_y+9f4K)BT`$4m%O6k`c=0BrXT4|64j0|fF84fO}K%zngpGj~Ix-f7W=409KR z4SWPf{k;RLCDR50_e=%u2?FI(!IS+CHoFj~)Jg4}5oH+U1rqiv`&_786}$h1`&s|O59|_43OD{(1Sb!O`ef!%*)!##1QI3Q=GNWi1xg(62X6M$@KFgk z7XlMA`L6ue5%&&k`0m>u!CUo`BBK7;_XPf*0_qV+4LA8?^}`J94@?Ji02Kb~`v&%6`+pDK z2BF~3&leFeEFlBV-YN3|5u6rL2PN^y{g)RU6!ZR4_Mr#D4)X&a`wj!G1aI{L)uY+h z7w|F&>KWiN`_vLk8t?^g^a}cj66Os<0dM~50KO334axv&|C0c&`v&NH(4+YsE5a6( z?D^(*0A39!39J4&^bG@W5ts?J{*3%!1y2rf2^#>!{*3)_{8R6%+k@jS2CN@D04nRJ z_7De;5bg(`_W$^F3lR=30YM{D=Lc{*U!TW326nT{;L2L2S5h$073xa{80SE`fB*L^Op5)_%Q%23CRGk`aA$a0s#dq z1m*!Y0apYs2ap3d0a^n~1&0Hp03`m~`rY^J^`G#0`aB3l23G#J{4xGF0pA3}1Hl5T z1AqiV1yTp`0zCo20Vx9p0o(wt{fqmx{HFU0`c?Wt{cHZ200sfv0D=I)0rmtw22BL> q1EB+e1hfNy0%!p@0N49=_vQ9a^w;x2`c?x_02u#l0crq%0962YRawIT literal 0 HcmV?d00001 diff --git a/assets/sounds/animal-crossing-speak/s.wav b/assets/sounds/animal-crossing-speak/s.wav new file mode 100644 index 0000000000000000000000000000000000000000..59deec8100a18f64bdaa6720b791b5c2904625b7 GIT binary patch literal 1980 zcmWku2~<;88vgD}-b+F@LI{FEgBEBJg^FS;P_-SwR;^{M)ibyt>gebkmpX3MqxA@* zQ`a(9%h;-;BZA7hq@Bfy2?(BEc z(n=J-yf^2jE?>PNA`k$hZ;A!jISJqph-FzDvOcAn4&3q|6aF1Agfn}t^vKw3W1?lX z!Y1ysA25VFJ}5of)5~p6njlymvPVuH8%&w2>?a$;9Nv{;gAMdO6E^tma-M+TEd40F@^=Pve;**VyF71QSe@S@X`vY5R zo2GgB+G`C={3@;>D$hUed0kD3>BjIyuMLyU@z-{|8y;K{R{g9ucjWmu;^jZs*8Xx_ zUJwzL6r)&-M%xRO&=6O)wsm&U&Nl@01$S*-gY&?UYjK5PPo)*EWchqH+?xG(oF_hZ zdE`Mpr{k}!BX!Q<+Q?>2)xa5Fh>+K@>DJErrK;TVdqP#nYfSDc(Kbb%kFfG9eUm*) zHPLOYWk*_Ost+XS!%lc2>eG6TYt6AIERz(g2Gp=<6MO1!l{C8ex^Xb|d$u%X+8P3i zqQ;KA#82=Ri+|UibY|SMJ`IO7W`}tL`rGETOi`3YERJeX{Mp~(G3wU~iA}NJ=^Sl( zd+ZctutU~R7I*^UFPqFg_8f7EF0e`OEQti2`VcaFYqd?NX_n=C_he7j>) z`$_SR;ft`XK^GKv*+|80WwxiZ`FZv9rkQL@=*93xwyAffEkSX{@RE5~&>H?Hg3w!yagt z`CI#T`xeRG)PHNL)9ZC(RTl#Cg`~l&-B#x5{2f z4x=(gD;Yx(@x+Ft-V6`?|8N|OTnO&yd{q5_XZ|hnRjG5dZuJS3UY?3a{!4>a_qe_q z+irWDt7!%&g+8RAozVIb$r!Fk*|fHyoA~%}1QzC# z(y$lz@E-dH|A4@PQ6*_9e8^VUJswcd0IERPy`w)Q?T$jp_ z!v2GeI0*x#G#kUwjQf&L8ijmJVu9=kmf%z9@FfTgiDa@3ION)%8nq zp_2k(1YjERjlp-Md2Z81_dMWpQa Z%C{&j8>Jja3`}^6L1N$~-abO~;r}=l?^XZ+ literal 0 HcmV?d00001 diff --git a/assets/sounds/animal-crossing-speak/t.wav b/assets/sounds/animal-crossing-speak/t.wav new file mode 100644 index 0000000000000000000000000000000000000000..cac37343620ff2405e7fdf3b23597165aacaedfc GIT binary patch literal 1964 zcmWNSc~FyQ0*Bx4%zY6c93ctF5r_ya3sgA-7pb?Stm3HX&_!jfxK-QL3SF&>9Td-c zAE*`AW7-M@1jQ3PsV=BUxPl4fA^`&72;}&_cb(tA&&>1R^IJYYGxHh)fb8^@b2k=z zs}KSJkWWjK1F$z002By8UhcQKdp|K*;7f27%!VEC6rBgog5zikvL7r4Quvv+y1#7?;@B&PSVThJmLN&NOa1t%XrC1(r1V4b)v==Z?7d_Ck2=OJ%te=Pp zJRe(2t)rWqWiXpMh~7c=5G{BGSpeoByJ#h3cu?>iU5Vsj?Z|p08AKxs=uzZ2Jr^{< zNYD!-sjDyw-9hLGE=U9go>Xwr-A9eW6LBO9eT^1kt31i>=A z$CKox5NYzGwBJ>+ibp=Pxq;3V8qK{~cX}FD8eU@6k@Oc=QmEMWpbcUZYxcm!kIMi4 z`7o~_&d41=jo1Jj#2cL2!ch=$9-=o(B*0WRbMzgwM_{HMJnf=R$mdN+}7`Vf0Us8ZF6I?qQBltPN7jd9q=j@4Tys``FB> zHDmET>vfOXdDeo#c&vsi39Je7R?PKTB3{o<5t#8~SjK3qv8koPlA;wNRm9VPVc*=~ zJ_+h$V+aIkco;i-q|30ab*_Gcu4eQM%@rB^2!$rd80hfI79osPOzz~5+H6g2D`DEu z9}Tk66ltU1Y2|kB1=8!B79J0%k=<5kQnep3+WS^b?V3mxZRWMgZUr8YeJ5%YSL0{d zBa>MZ6^0Jen6A(A<3RgF5|r>ycyE$%{I^Kh!fJjLsYYLVavUEmKK*w!sP($xsk7WO zL%hoOe&`JeBf!YkaQ8CgtUvH$_Thd>?@s-a-Z=BTNeNQxd)j|%@Zx|_zpvOTE)Oqc z-gP+!&zp<14&7xfd&oKA%l_VPnc|O-cxkQ|!HZzt!yYsAQ{J{T!_K}AU8d1Ju+dq_ zER*aDS|~3F;D}dpZ!<%%XyzQM+`X-zKcLdyFjnfHkEOeG{3oIhvT8|;tU#FH)k%KI zi31|Mbv)blA47d#VDG8ETQ>4jF~r{Hph~$&R^jUsY-6k-mtuT!7SK#Q8p_vKYYMy1 zXlg7?&f`L1zz(H4?2gPNM)-S>9C8@B#=J#mjSpLkd+vAlsN;IiSoNN*;yKeo!uL{6+k}+*Tn>Su>JZfbx_Cab8!JYqlY3eD z&})M3|D`9cGrCQw`?vKn{Z!-?x;^}YvNOOcI!ww@fA~4Rgjj?px?An}2CmkoUfcb| zz@1#fgnrG_o`?NIQ5u-eH!@#-`lBqY6i-By?v!D}94T?N1#uG*PCZ@k6X=uXK5@^lpGbSi;$ijUY)LJ$y;4aS1wz22in{%JJIC;IWCR WxTzQL70AI$ux26$rO+@?h5R3FW{;2n literal 0 HcmV?d00001 diff --git a/assets/sounds/animal-crossing-speak/u.wav b/assets/sounds/animal-crossing-speak/u.wav new file mode 100644 index 0000000000000000000000000000000000000000..883da5f96fd05884f8bf0da1d6f77f5deefe391a GIT binary patch literal 1980 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 literal 0 HcmV?d00001 diff --git a/assets/sounds/animal-crossing-speak/v.wav b/assets/sounds/animal-crossing-speak/v.wav new file mode 100644 index 0000000000000000000000000000000000000000..ad82bbb84dca03bbeccc6207d70c9968ea54a71d GIT binary patch literal 1932 zcmWO0cUY5m0>JTK-sD}`Zx)2?1X)GxP`RqqbD#)X56%-6wTHD>1+*3(QO=%<&{J{G zD%Lu&RL`odf^up-dnztKh5}(^@FoO8$bgXb=K6g9{rvIGoIiJN845tw%q1zg1x0E; z0D$&Ke^vpo;}ZZNzz1t`igNz`hcN;TI0cHrq2LYgYS%5NaP-5#|7b1PI?hp|i9buU zTHqGs5(@4C?AP!)_iSrD`PdjRdF|Ic5wt?&Fqg$AMD2p{l2~D~-~rDJchd?-$_D#v zm0f$ucZMvi{pcZ=lIU zna(_}PRA7d#Oq}I#w_=&==L?7cr)4(X|C~gvU8)SPFns!X?%Aik2{UQKzUBDxdzeDeB_Qlr0>Y(ho=MZIrkHhuRbqOqjAe%OgGmrZz&J7Lp%uc9bk z0+PdcJUXxa(#ytYA9rwUZfJ$5JmHJ+(EF=Y2Su-tO|+w-0?VAHi_dCWvq>GbK=@T` z>crT%tD1hHpQ(pRg3GLhug9Jjw^UkVz#?&BJU`J9t&Up2Ux_||_ql2M(l-|x?&uY+ zned^ANpY;081*IL6Yd(6gFNyC-v0CDaNF;s)t|&ZtC^9oRy$W#%s;}M0-vOB8cKb4 zrJ+uL)|v|rie0*cF&k7ri0*Nn>`c}$y2B8T;OX8c`tI}^E%asB^34~GJ1wRmum3ofCHX~`sR#;2 zxn0;Jw2l$*rjhYInT90GUAH8hN~onfWLeT(yjbRZxCV#lcbwh*_l=~vi+t%=Psw=G zCAIQqNilJXtztdHf2OlMwn3ROy4P+nbW~tH@D@0+e9G!r);TNbBx5HY|W9m%mS!CN8YUCEFzSmT#Y9yz)NoX&;8xPXW zz5|W~@_bjh{*d7>4jQ=3f2w+*SuHP%n81m{cfe1niYgpNwC=+KyMom_Gn-$siHsKd`_`|xj|FMW&cUc>Q@ z!A=V)^?%7?%Xe!Jt0&9e@k-%W;p3Eso`^~Cnc)FX9JyFu(Xp=QVSjIkK}0G)9>>>B zmoDTFGY(Kmp&pP2Z)UO?`^Q*=*LxSVU+hRUHM*0q(~|4DPc`FI8R7=)CYT*MP0gYq zIGcR|*7?ud=NOG0740HptxJWLice@qqf3-kqG${O-vu3^lOP+*LLg{xfiEpEO2 z-En=rl?*WnrEdjf1GBa`|1ARz)0JGrf;j^m03UV)EfAGIR?hVnu)J+%XgWI~^aJZ8T(Hpu~zr0ZelJHwn|gpzTR<&%_o^8FD> zoM!qxDmSpkuL~^%l`tD0WQwrQp*_BF!)GjfBiFFSve0!hEM;w$n4_l2wUSlbH24E> z*?%Q)I9LbD>7z&+mV$jxuM1VVorCYlGSgo2`4HvLhHvu3(uGkziH-LYs)U5p;y`mq z3id)*;m^=cq!4}x6v6Zn!%&TF>%bm+o~P9xhIX?=ghY@?K%76}PvI))HAn;h1x(r` z=m0bwT1oST#i53=7SCkoD~H&5%=6Hf33AXEoHRb02y!c#+h7)C3s0f$QChGbWJ5HF zMav7jg6n;Rw|*pXbedP?|AH!m{)TR5e#&{yUd@_;{{}B*OorwF8<-AUU<&Yo{{thR BaDe~- literal 0 HcmV?d00001 diff --git a/assets/sounds/animal-crossing-speak/w.wav b/assets/sounds/animal-crossing-speak/w.wav new file mode 100644 index 0000000000000000000000000000000000000000..fea357b86cf47a49dfdcf58805a9d770cad3cff3 GIT binary patch literal 2700 zcmWmGS6Ebc0tN8@^upYkxl>{K&=f>L5wQdj4Xzps60s5$K{wd&Q;aSuVHI_wCNZ{H z5DS*r2~k(nBq9+DDg-NSdT$KV+nu}acOK5mc{?w^!s%0|)=~jjkT*Yn)w)U<699nu zlu1$mY9<1J1x!#@QdzS6)8;K9O8EtI035<0=n$M56yi5T7o)uqISM0#(VZv})JI1~ zNk|~sY;G3W( z)Q04P4TL=Ed3qI0V&7zbPOU{A58P1J_Lpm`-Dfd#*`uY6N$t`;-XHX0(zM7`yGePV z$E?qFF2`YL1(J0B!nj(-Q0ffAJxUYdz3;Y>+qG52)uP}$^h`EOoFLcyD-~PC?4L z+25uGy_Y&GK6s&Nneh07L*{@p{Y%dsxpI~=b7XN*4>|2)Vn>^iB=mmvV$35!zrD%$ zy#D8h9?9^uoPq~9=ndfo$6b`%IDYr&&!HohF$35}VS7blWyZw0F5Rm4XS5dvk|$)3 zOdl!(56mu2`JRX-R-&2c9(}BFPg z7uMzKzrXKjt6e$tRi+~4HgfT;sBeq&qQH=MYE&xgx>w!mKG&fS!lzOb6Q0uto%5{~ z&Qrwe!WyZJ z;UH+m9Uc4o8XQ zpALqr)Vn@399aNTNQWUdH!e1vzXT>w@-U;qE|<^b)D1OkHy?EEN7Tf8<_`D->lFJ} z)*kjGxPnH*1^kQ6dz5q3>&zWaZ3Kg_Ah%K0Lm?L6S$JID6vjeaIB;Sx%Y+!_S{B$_ z+(&~}aEp8&O5`-~R`QRqGUc&|ReU`Ds*6C(O-eQ%c>GVykW==VG8fzB4jyx6Y46b(;SujSDrOqMpWuVQ( zd|ClKp2c9#V&yRVVonkSDABjWK4=^;EV6fd?8r9+Yz&$HlvxM&FjJWn$U^d=>-<*+ zPMT`XH|;f^qtO|77pWSmq36OJ)@uer72vZUmD#}f3OYb82N#29d|A#I+bdiBASTQu zX3}pk@bF7UBmHU&mvk)58Q5$mnU`9&I5&m%5_HT$ZkYWg6Qu0 ziwt}Z5z#_;ZgOItWUHtL@{%@1j`}OqCv<^cnt8Z$4w^u27k(}IF6qAD9p_7O7Et;` zrff}bU$a_hR`}22?{I3Rd@%=4|3931^v}h;f z6162GiBj2f?n>HfjLchadZb<2N9vWS=h;W1@92JU`w(n$qWm>)HB^C3@->)us}p)& ze$*@CtiH%e+C$;Nq(wuv#V5sXfHxC|g|685>$7?l-Mn6wzScLCID<<|c$YXP;hCh2 z+e^C)X83>!R=Gd?>-~uS6PCQ_LB=NG$qE@~rkV#rIZyc->>rC;F!1{oGjbk%ZIoJW(m%%le5z z#?S%*Ymato-^P!EzS*W>p$1ixFw8tlortD+h8kJRrlh1npL;0t}uuCoYAN%$byI zkl-QMZmB~(kGp3p*Vt+z=c#3}kHq!y8In{1%-K!MTWE|8T=`_YG_Z+#p;lj**@g{LHInx~N9N z4)CS_g@b7HE64V)P=97cgDu1<>=I#zbgN`p>>JiIXentlP7xM(V(jg@TxE{pvTpmp zeY6j1}YoBGC)}VNx{N6Cj!@wlMZsA8cLpD;_ z!Cpfx#799OS{l;2-dc}nC#fbXtBpZG(MJg2hUkaB2iU?6|Ra&X~{hGgZNdpxTK4X|@zvQ;8L!g3p5#``T^bleIIJqxY5daHU+*XOK4hcW4*Y{?{%j<+`^>65g^ zBA?`io%`wc24AlIu5N|8Omo39Eo`IG1#W4oWM-U?euzMc+9PhX3DZXq5Zc0Jo&wWG zEneBIPjrvNE`h~TgN!V?#5qK+1gubb7)DRy8i>t=9}%Lr%jD7SQBE*iazDWK!@mk4 zdAg_@-b}8F(n5CvUq$4&G_sZ2LM)9C2OAAnH5%{9KS03{_=0c<( zSQs)!VQep9Kk*v=0C*5y?BD4jdglZbNE-GuVF$@ZoR3E^JzxtEg9^|L5HS9eGCMx? F{{Xdy31|QS literal 0 HcmV?d00001 diff --git a/assets/sounds/animal-crossing-speak/x.wav b/assets/sounds/animal-crossing-speak/x.wav new file mode 100644 index 0000000000000000000000000000000000000000..d491ba96ac7c8e53e2ebd0234fef2569637a46df GIT binary patch literal 2012 zcmWkv3sjVK9=+c;GcYqSFo5U?g1lx2^Pnq&FI-1$nba&3A4}qUJD6^^ta5U#BsU9R znbx}GTG(nGQQQcV1T!!YQ8N^f1*3En(NP8ma|Y%;-(Jt0@63O`|L<|{{oNnr%r=?Y zgMmNISe%`|zA!-xK;UQkNMP$UK!g^rtSVep$rvLp;s{0uZno_gy|@EC{ii(J zWh(8l2$Q-Sm%V!HKf3xo9l;H0W>k5~Zw)+3ls9T;jJTn$2;Sv5ge@L7w%lE-jQ7mZ z4hglnHx4@bx)dwK9Xh?bAvDjG|nC5m;bDC=qG z{^o3TxVYL-sIc2}ZN`U{$_3GzQXy?|> z<5oxMw->uR)LDroncqEW@IKeDN&Z(~Z^kF#D~G1{HUCy~#{I|=_G;pkbiKF2KBlqC zJ6b$3?t0|wy4}{$z{gke+U_WGwWf4k@D|}<`v$wlT^qY1Vblnj>YyvOzwlbKf3DSU zut_sg(jHvHy58K7G{wZkzKA)RGCVU_-?Kj`*>YIc45NCjCfgGyobLNfF@E5rHbZeV z+z?b8NQUT1Q6972>d*6b1Qy1;51Y2>L5nQMdS0C%_3I9Jj)!gY^@W~yTGUG&H+uzX zlrt(?L~2y4qYy9Js--=?$EpRvr&JSVIe`kXB@h;7ltpQ>?ZcgAeJw(zyfNYnwL!kX z>l`R?%6+=vYNcLNFB^_U?mXY$yx9ns&s6Jz7Ar*Ge;kXvdwla{^TaSk50VfmrTf(= zmg>bEnOXiNehL`6GU1w^vfc*K&ofCNTc(SxaYfK2=X36~gc z#|s!mPGHSujKon)f}W>R);Y?)mym+b;Uv%D$RTDR51+EnF)|o}h4={vpu($o27gB( z`EQ4t{fu}MK4xztzaQCi3D#paSr;((&)CB30xX7IszVTpq_>3etnse!EEVh{npN;g zMy$nhe8Rj-(qW;J(Q|p8%&Hk!gRKZqHxDuS@l>OqVPhYW%v$jgiWpf68GhwC9E_eFoJ%=X(Fg_jfEi|(@FjD`3Lm106I?A#!&`Wke*ue8NiJ2K zXe<@jhtv2YLNE^Ja0d;XLnE;+IE-6-+`c!@4Bm9q%>!^=`+I7+?hlyz$ku{@?EHZH$ zACvzq>}0R)NQaKt|H2rNj(CH9nnEA{p6Wk97dfON4(Hh^gP4D2KLb5lgH2TJ8(ii6 zQF8czxx=VhFDItw)xX`*3e8VCCRj;Qy;JZ%xW-Xt5`niV)qWN|Teeb5vLRrmC v?|K+Nk+UzOuVzyBMs92@XB!6%l}TYnBKoQ19cDYYx81z8Fbh!dk@NXKL0hoG literal 0 HcmV?d00001 diff --git a/assets/sounds/animal-crossing-speak/y.wav b/assets/sounds/animal-crossing-speak/y.wav new file mode 100644 index 0000000000000000000000000000000000000000..0abd73767090050a51e9f49235d5e28efbc88a72 GIT binary patch literal 1980 zcmWN{cU)6<0s!#ed&zshm%Rx|h=3Ok6%-G&>d6qORH;=#1r95UyK2vIMXLh#9Mpa) zo}RdXLvU5?2XJ8#91KN3gAj%wNCX)I8HAAavaX-+zu)+!F)X|iRno$<82aiZN_lWURA#fm>J!afv2@-SAgp3?{=$%06(}X|S#^p3t8+9I*ZY z4#R)bFVboVK-?v`#JBiU^r(B0t;$fQxuW$pg(3lT8Yho_9$$yuBTC^*JP&Pg7ucpu zaK>z7e=)f!P3)K4?-;-0JZw8&2#@0jkqY;a?WAtU(7 z1^Upf0UPWQ8unwhF!H z8b&IyMQF860p|Kl-6eb(V|nDiteHgcS{nO6CJwj^TeA+7v6nI zEaM%O3GKJ`t8 zVtwo0dT(;R5M^$gS|F3t1UmBbFZH<}*dD*E_y==J)9Q}%v=nX#9g}H9Rc^Vla5%nt zuKrooQ5d-T9F^C1fxlN1#MQX^NY64wY}^OYgzf5aJMI_?|Wg&yg?_xlQ z4^Y1lDSc-uSKkDRGS!fSUq@d-xg$QpD+YB~uD-Qgs8z?Uie9Gt<|!SE=7-~fJef?u z|3KS{4z;q&W)W+?E%n><7!E#Ql#6wiC&Gt}Op1vfNL^XIq&zM7UmFXYnU%Sg&EhoH z_ta}lsW6U}F4$*XS5?!Iy-*UHrQ6@=1xDp9Xr7&qb`v~C-lHMIXX=W&MM6awt_giT>JU!HK;fv}mCjx6+YHx#?rSV-G9bQ- zU-WxcMzCo?Yh6*F;u!V(vl1@EH78X=N-1;A*ExOTWyg5u=4##E{Y%+LJP1y)J#Zws zGqUxSIBlut@UG|Q`0GMSkqg5&I9}paT$KxGhd)=g=s7c1beJk0Zy49ksf7>Kkh;-x z9)AlWHU6mE)|IVk@LuE(o0&bQ{jbQ=48PmBoGwubr^kJETtC*^5zkRBDYek5FJPrU zh1ThY<5Wz%gXfLTH~rJLWJuW`%bOok`fh*Y|Kz3oKGTTH8^6F>FYHB_6Mhz(I%wdU zSC>Nh0$0uSi;$ijxjeCuexG;P^BPH*R#Ecb&--{Upw=g$eyfH#HJs`<`U(lBL2j_e zG&{#^Mt>ZNZ#|9o1>9;Y{umUP%AVKXMTT?JXl9v$adRRYBs%7*N-4FAx-B#7wo~cy zKdd^#ZVH{Y#`A&TmF}Z4PGB8utQckCv9DEcYKr`~OOq@yNTPK;KqUESq`n5^@Q%DE zS|ewKPN`7c?ir9qp|9;Z$aju~%q&?lb?LY#{TyrOV6*xGbB?#sdTZoAmO{oGnCzNu zZ$W)TRs63(iSsP6o6H-xnA%A@Cmk2`rx@OH1F1>igA;-PVZBG8(~qQloV3M0NElm8}B`2$}FkTz@ee`9s zz>*!su!MCbOj;Sc1ws(o7vnU0bNDXj3^JdxN5I04>Zqz2gIhiI-0rpvZ8Hxtf_a8f z`Zzu{O!kBrwNhL`LK|m>xqR&JZ%g3Q+1a`igZ{1p>NZ9w7Cd?v?U5{CZJ`<64Gt}* z3oUnC(6*_sl6!?x^GZ_Tx=m)#q>c=mFD;g_1xZ>3e|LHBK(EXmFY%+w^#B zq4grii)l0qChwYag`2tIu3A#-}N kJA;kGS6DyDvR_B}uoAlpmOGa@Hrh|Q6VRJT9Y_TK2kb|C&Hw-a literal 0 HcmV?d00001 diff --git a/assets/sounds/animal-crossing-speak/z.wav b/assets/sounds/animal-crossing-speak/z.wav new file mode 100644 index 0000000000000000000000000000000000000000..9ba63cd91f5a598d7a1c18f38ecd67e70096df8d GIT binary patch literal 1868 zcmWN{X;c#j0s!Di=DsJBgNO*Ih*&SYMY@V&tyNnuyeJkasBiUQ%Su<*m9ENG+pX`HXHUQ`W4k*Yg&P)9L+ys(=*V=exoqwXw>-*4uH(aM}(jS0xF*lw? zmQzuRVXQPmj=(CR1JR42jq+p>>%ZUM=1%vX44zXhU_X{hX3&XjGndD=@`nsOVHlD*dQg$&T6c;)xsS8Y za{Y54E0V7Z!XpSbt+4HeLLM}q;m@&~$Rzlbb|kRMV{_i^tG18p*QD8@`&uis4Hw8M zOeQyye{NjF>sXNTBl@T_ILaIAe&4y@vCLiSTNA7X(%?CmMx?O)Y}k-(uyMmF0PhBC zvNRhfjwp)nma4K1iG=tngeMs0rk% z)w+22Z}=3_Mo(fHdM4w-hQnesHoVL~Oj_vq+8dQmhPP^O>f@kvd@(teK2BMv8sZs} zq|4Su2i1Wq-p#(x2R8%_+DqUZd=NcAl2j=rQAIe8Rp_QEd48ieU%Kn58`uwMam}zOVu^{D%3*GU>ccKTr9PTsDs<1Z%2mt zJ`vXmxsoh5hK~afI)N;vlNgA@sXTNqJO{X~ivGV#u$U>d$lamgx@zPq`7XDUoyGl; zJOG^lw@1>$=jBtL>te5v?!Om#2^LUS**ZSTe#)Q1G5{<}4f3HF@q}9z%Ds=(8lBr< zHc^&L(?-@srvRDZdSQgSTsZ1H?|C4(qc`x9nAW(R@mkzFmQ?N_Fv@kOJ@?hEZpZ60 zUL-J*+&|=aayaElvKq&jK89t-^7gT|6Ho88xcXwR+s-F}QII*QQE~d_Ogf18dn6r@Ukgq49BM2HkFMsQJ1+YMGXlo>`iK$5NC>!F61GnI`db{u3#lvdDD?W80 zYZCpndF4#s+aA}=u1N&2W}em#*k&>^vIqBo1Yk#9iEHQwi*7LH`{1V zJTZAYEY7Y|94Up;ZPP~J4+&Y%GrQAY6m_-uE7ToB+s&g#U54%r2}ak(Ow_G3TRgwW zj~cQxkNqQy2nG|XxuxdWzzs43yJg4$6FR)Y_U0bBMtVF%!*-8YM($@fs5W{Lw9Pun zm)pId-O&{qYzie=_mV%xzl}7o-z(#d>%fwj3~!YyyM1o|4)Fwl@Tq3bst`H!SNf$~ z6L`iP_4NtYTOPP7JW*r}anR~9KVqVwAMRyP;u9t-l4_4@EA{02M9fP4HMWx9MKU=l;AGjlyYZ8#Rxsjh$v##grf&7(%l63u5;G;hf%@EleJ4fvVVlnCp#| zZt-<4Kq%EpL6REhlSU1NzQ87`I&S!)`j#Dv(Yl5NKqWQeYYIlfd=&@b%7|h`p83cI#@wjpzra|)DCBc zy{qTEr!)k^ukp7G<$Ni%nan{NsB-WUZU`4T=iAerZ}=95zXMki?fh-SbtXbSL1Ty> zFdu=H&B8u=r~9UtSMKTVP^pFk{43^5at|^G-wOT$uUCwoE6&xftG>d}{^&kz2Ky1W zl6{x@8o!2ZNAjTzwcM?UdmLH5Ve+o1L$5IF=?4Z2`5tu#X~aL*nb3jY4qv6C%v-&g#k>PTcP~+Mm92o?|oAna0o7=?}aI>hLB#MnjmVyVB zwbCw^>|QK3`;TcqWAXG;<5-SmAwnc#;da=emPoZ?i*vsCt>3FctVEY&sG|79zdsUb$8JOel313WBUe>PO#%Jt(g2ZO%OCU-&9=fO6w5j2XN@2KD{Zv~G{01xn MI)DtI510x3A51V?u>b%7 literal 0 HcmV?d00001 diff --git a/commands/text-edit/animal-crossing-speak.js b/commands/text-edit/animal-crossing-speak.js new file mode 100644 index 00000000..cdca2b8c --- /dev/null +++ b/commands/text-edit/animal-crossing-speak.js @@ -0,0 +1,60 @@ +const { Command } = require('discord.js-commando'); +const path = require('path'); +const { wait } = require('../../util/Util'); + +module.exports = class AnimalCrossingSpeakCommand extends Command { + constructor(client) { + super(client, { + name: 'animal-crossing-speak', + aliases: ['animal-crossing-speech', 'ac-speak', 'ac-speech'], + group: 'text-edit', + memberName: 'animal-crossing-speak', + description: 'Converts text to Animal Crossing Speak.', + guildOnly: true, + throttling: { + usages: 1, + duration: 10 + }, + args: [ + { + key: 'text', + prompt: 'What text do you want to say?', + type: 'string', + parse: text => text.toLowerCase() + } + ] + }); + } + + async run(msg, { text }) { + const channel = msg.member.voiceChannel; + if (!channel) return msg.say('Please enter a voice channel first.'); + if (!channel.permissionsFor(this.client.user).has(['CONNECT', 'SPEAK'])) { + return msg.say('Missing the "Connect" or "Speak" permission for the voice channel.'); + } + if (!channel.joinable) return msg.say('Your voice channel is not joinable.'); + if (this.client.voiceConnections.has(channel.guild.id)) return msg.say('I am already playing a sound.'); + try { + const connection = await channel.join(); + for (const letter of text.split('')) { + if (letter === ' ') await wait(500); + else if (!/[a-z0-9]/.test(letter)) await this.playLetter(connection, 'unknown'); + else await this.playLetter(connection, letter); + } + channel.leave(); + return null; + } catch (err) { + channel.leave(); + return msg.reply(`Oh no, an error occurred: \`${err.message}\`. Try again later!`); + } + } + + playLetter(connection, letter) { + const letterPath = path.join(__dirname, '..', '..', 'assets', 'sounds', 'animal-crossing-speak', `${letter}.wav`); + return new Promise((res, rej) => { + const dispatcher = connection.playFile(letterPath); + dispatcher.once('end', reason => res(reason)); + dispatcher.once('error', err => rej(err)); + }); + } +}; diff --git a/commands/text-edit/binary.js b/commands/text-edit/binary.js index c45bf1e4..754c1224 100644 --- a/commands/text-edit/binary.js +++ b/commands/text-edit/binary.js @@ -1,5 +1,6 @@ const { Command } = require('discord.js-commando'); -const { pad } = require('../../util/Util'); +const { list, pad } = require('../../util/Util'); +const modes = ['encode', 'decode']; module.exports = class BinaryCommand extends Command { constructor(client) { @@ -9,6 +10,17 @@ module.exports = class BinaryCommand extends Command { memberName: 'binary', description: 'Converts text to binary.', args: [ + { + key: 'mode', + prompt: `Would you like to ${list(modes, 'or')}?`, + type: 'string', + format: `<${modes.join('|')}>`, + validate: mode => { + if (modes.includes(mode.toLowerCase())) return true; + return `Invalid mode, please enter either ${list(modes, 'or')}.`; + }, + parse: mode => mode.toLowerCase() + }, { key: 'text', prompt: 'What text would you like to convert to binary?', @@ -22,14 +34,19 @@ module.exports = class BinaryCommand extends Command { }); } - run(msg, { text }) { - return msg.say(this.binary(text)); + run(msg, { mode, text }) { // eslint-disable-line consistent-return + if (mode === 'encode') return msg.say(this.binary(text)); + else if (mode === 'decode') return msg.say(this.unbinary(text)); } binary(text) { return text.split('').map(str => { const converted = str.charCodeAt(0).toString(2); return pad(converted, '00000000'); - }).join(''); + }).join(' '); + } + + unbinary(text) { + return text.split(' ').map(str => String.fromCharCode(parseInt(str, 2))).join(''); } }; diff --git a/commands/text-edit/qr-code.js b/commands/text-edit/qr-code.js index 96a98444..d7631c9c 100644 --- a/commands/text-edit/qr-code.js +++ b/commands/text-edit/qr-code.js @@ -22,10 +22,7 @@ module.exports = class QRCodeCommand extends Command { try { const { body } = await snekfetch .get('https://api.qrserver.com/v1/create-qr-code/') - .query({ - data: text, - size: '500x500' - }); + .query({ data: text }); return msg.say({ files: [{ attachment: body, name: 'qr-code.png' }] }); } catch (err) { return msg.reply(`Oh no, an error occurred: \`${err.message}\`. Try again later!`); diff --git a/package.json b/package.json index cedbf1b3..f75af8a1 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "xiao", - "version": "59.0.0", + "version": "60.0.0", "description": "Your personal server companion.", "main": "Xiao.js", "scripts": {