From e29507b47b70b9821fdfbfc3c6a7b3c4e5fbcd7d Mon Sep 17 00:00:00 2001 From: JustOnesAndZeros Date: Sun, 1 Dec 2024 18:46:56 +0000 Subject: [PATCH] added frog pet --- README.md | 2 + media/frog/blue_idle_8fps.gif | Bin 0 -> 1582 bytes media/frog/blue_run_8fps.gif | Bin 0 -> 2717 bytes media/frog/blue_swipe_8fps.gif | Bin 0 -> 2917 bytes media/frog/blue_walk_8fps.gif | Bin 0 -> 2717 bytes media/frog/blue_walk_fast_8fps.gif | Bin 0 -> 2717 bytes media/frog/blue_with_ball_8fps.gif | Bin 0 -> 1665 bytes media/frog/green_idle_8fps.gif | Bin 0 -> 1654 bytes media/frog/green_run_8fps.gif | Bin 0 -> 2837 bytes media/frog/green_swipe_8fps.gif | Bin 0 -> 3061 bytes media/frog/green_walk_8fps.gif | Bin 0 -> 2837 bytes media/frog/green_walk_fast_8fps.gif | Bin 0 -> 2837 bytes media/frog/green_with_ball_8fps.gif | Bin 0 -> 1780 bytes media/frog/red_idle_8fps.gif | Bin 0 -> 1582 bytes media/frog/red_run_8fps.gif | Bin 0 -> 2717 bytes media/frog/red_swipe_8fps.gif | Bin 0 -> 2917 bytes media/frog/red_walk_8fps.gif | Bin 0 -> 2717 bytes media/frog/red_walk_fast_8fps.gif | Bin 0 -> 2717 bytes media/frog/red_with_ball_8fps.gif | Bin 0 -> 1665 bytes package.json | 1 + src/common/names.ts | 2 + src/common/types.ts | 3 + src/panel/pets.ts | 5 ++ src/panel/pets/frog.ts | 84 ++++++++++++++++++++++++++++ src/test/gifs.ts | 4 ++ 25 files changed, 101 insertions(+) create mode 100644 media/frog/blue_idle_8fps.gif create mode 100644 media/frog/blue_run_8fps.gif create mode 100644 media/frog/blue_swipe_8fps.gif create mode 100644 media/frog/blue_walk_8fps.gif create mode 100644 media/frog/blue_walk_fast_8fps.gif create mode 100644 media/frog/blue_with_ball_8fps.gif create mode 100644 media/frog/green_idle_8fps.gif create mode 100644 media/frog/green_run_8fps.gif create mode 100644 media/frog/green_swipe_8fps.gif create mode 100644 media/frog/green_walk_8fps.gif create mode 100644 media/frog/green_walk_fast_8fps.gif create mode 100644 media/frog/green_with_ball_8fps.gif create mode 100644 media/frog/red_idle_8fps.gif create mode 100644 media/frog/red_run_8fps.gif create mode 100644 media/frog/red_swipe_8fps.gif create mode 100644 media/frog/red_walk_8fps.gif create mode 100644 media/frog/red_walk_fast_8fps.gif create mode 100644 media/frog/red_with_ball_8fps.gif create mode 100644 src/panel/pets/frog.ts diff --git a/README.md b/README.md index 8e2a2044..7b386679 100644 --- a/README.md +++ b/README.md @@ -70,6 +70,8 @@ The horse animations were adapted by [Chris Kent](https://github.com/thechrisken [Kennet Shin](https://github.com/WoofWoof0) created the snail media assets. +The frog animations were created by [seethingswarm](https://seethingswarm.itch.io/frogpack). + ## Thank you Thanks to all the [contributors](https://github.com/tonybaloney/vscode-pets/graphs/contributors) to this project. diff --git a/media/frog/blue_idle_8fps.gif b/media/frog/blue_idle_8fps.gif new file mode 100644 index 0000000000000000000000000000000000000000..86dd354f438c2bec801b23443b350c035230e063 GIT binary patch literal 1582 zcmd6l`&ZHj0L6J`<#N(GmDyuGEUgYX(XCTzYCaIsNNsaj$4cC)S+jDa_|9i136QU# zqWB2&jR>d+;yX!H@R`p*mk!w^_GJI6<@Z!6y|Vca@#~iU?f*X1P$y7`Wh+X%@%6VagXT_*4lz3gCM16?#jfsek13ykoh)aHI zn3&`p38g{dba*PjNRPjmL1X5mF=AN}z;k+jUbbf`yD*a*g{`1Ngb*gP7E*wzhD*c@ zNrQV+OKWqj6y09i(J7R>HTCumxDF1rj<}4yDHAkS=1vZmPyA6lWT2bZ>tIVTrL9W5 zux_yYUgNNEck-A*DcJ`(g-H3?_-iLZ5&N4Zx5`OJ)BHn7rf+3{`rHFME7_s8p2IJn z+BmZgZ&Bdg0BfJ>(YL*3ohDWV1J+^QuJXXMcJEX4G~aH9QREQ;KDW59&?9Nm_X?=w zGSur=oMfxb30K0j(0(~nO&#V_uI63C?mRGBgBx$orv8V!OChVath~X1^{|K-aCF?` zn1p1*xOi_Olmdm*;AAS07JHFSNzY0JqL^XSTv`q*)3Yd#%_tAYmeC+pko5Fw2#yaI z2?0?ZC%dV-QBd6yT2L!})$EsU+}8{A55A@ijgG*_l)Tm#DkFob>6s~*7MAZMG1e>^ z%)Kjd)PK38d9Pbjmt?4u>W9g@6qZfXuI=xmBFlbZWcBV8?&1M-mMtu z7pBfFQ&!(Cb*WW4L?Z#RwuVl^<+LP0A6ep8xHs#P&m67i`y$8zMx?dVPCl#mv&;hy zxe(b@4Z8x^`-A+}j~cViXGiXL<9}LwaX!O}kox@XLw0Gx(O+I4|A3m>mZwNRYKu8# zp(yZDfl1(H)4p;`(VcZof8x*`eDQX{nH_A!tU^Xe?>?2q5p>ZfBjJ|IOEet#e6}bM-^Yh%PC@~RM*vT z8uCcZjnMX&?q!r}0O)*zQILCjhr~kkAbfbF|AJE0tHvrvW?yuT%e4Br0r~ubzJ6Jn zy`o)n*1X=g8_k_?fNb9KaUFqUHYFKsKdx=-X4xihGD9x);Anf=9`CVuAeg4+w$jXx ziAseRFSo~81l-g1An=_4Dy-i+?5jYzX|Z$p?C@eCDYrm?klYq*@`}PRCU<10i?JB5 zLQemUD*x}}J#L3cRxX>_Wy|7aCrk-#LskBx`#qRGnX%%~#ql)1G^CH12wi-s-x)kn i7Z>|MvUP?#-g*_`&iW#d7wA}l^yie-qDU~%*}nkAd@*?d literal 0 HcmV?d00001 diff --git a/media/frog/blue_run_8fps.gif b/media/frog/blue_run_8fps.gif new file mode 100644 index 0000000000000000000000000000000000000000..3dcd901ef0aae37bb565e47470080342682c7401 GIT binary patch literal 2717 zcmcJRSyU1T8-|f3O0$`IHpx`3W7?QHj#`rCjzWrxiW?}n z;EoGIq9TeL;0kJPDI(yOOKK_QG?UYu^Iyz=|M%T|H{W~nKIc8}XKia`Y~0AIQeLg(74c@c+^Va@H^p6|> z+S%PS_31*7Z6(Kexu3n`em2?bSMr03YQN={Ky6`&zXVmi_H1p3n;&SSeKJtHWWC`TqGodKLvw_14Du-|a&L4r5*-zb zQHoD^j=`mD2F@S?n}HMx z2Uu>`1Zis}wRPBb@dZ3iuT4KkC~6+ED4~stSp=)e`svXLa~XAZj&8YFwbVL)<;@aQ z@&1DX{1N=tcyspc9uscO3D|J}N43vcBuPSx)nyM+fzVFJ{VKjwiy{QC%i)kwf+IIyh_lhQHZPWjBKA&dR&ei&AU(Dk5b7nf}hrIO+U91?OWftjJsqXZ8`4jGm1D_yI!=s}8 z9b=xMu@OJ9>z+)y8%;^QFR5oZfSG733 zB!|7Bu8ZHUY!Xuk)~1$#%J;^)`TG60wXN6LqhE1A=_ z9nfubO#{4=r7u+=^s+WTJ5sKlT{H_fyV%jM%}c}eQjQ-ytl`U@6C5;*Y(HwlEbA`P zN^82ORa-uoar!Qhvu%BLuu}h5o7G_^?Pm}wzh0wvfp(YqYsa)ZY-V+$A?S#&*mq3Z zmF)TcafphcYAO{?>DfNh;3i8(?K4W=Y;c=BVXOB`mq}yFeDnC_ciVfj>B1^%&YyYd z>OD&^lnX!pnDb-*S5;k$)BSALnuHsxastu(0S*2?=7y6HL8CO$}e`v)_Vb#=`v%@(p3Ad8t+B*tbuaRq@qQM~% zcm&*MGEg==1sxshGJ91Z9+r&5Jp^jcN%;8|iab zK*p-L&N9z44kSg;(v(0iPMB)8yhps}5^s=r=C^q-qMFQ}2tt1bX6A51-BB8NY;xq` z$Po`ln%Gz2C(uHkslGp{juFyt3HzE7_UaBAK9%ye&fic?W#4-j(J%PcdrB!$vJ17M zS7+abJa2Sx%sAPb#p@$pG_lb?GMu?J#}>sKcmf|vgdwP8apNI&m} z{~~$)X;;gPuI5o*TAMtWOG8j5*5bmhsDAY(Hm1d$zqb9rF+4Of_Q})xG43c#SbSVG zA_bcmLGXm9hXHeek&$`8=dKy(rv;SKydqm7q^!KAGPSBWsVz0CUoD=YS*J*ctHjcSzxP?Xk-K7wqTOq^;PC3WNRL7suR94DyX+$9x9d8o@;RR4Zq-G7?rzP!q*FVyQxlB)R^GU@k^^CZ-#eO^x&d68e98t2 z^|wxP4pn6ZuPtwXh>o(Bb_-;W|1g9W4O#o~5*vqo{>U)_jl;)dgHrtC2$=M=WJGR8c4EPA zS$;Xda$tHzCE0;iK`+mw6r!sb)y4Itag8hxx7juyQ-#BIMBDKof^L3Yjm>~)u-AUH zVsME0(jq-aJlp-kQdTrKxA5cZ)a8{K^EKke;HtFkJ@l_nJAduoeHt&s=mi1xAJ?!6 zbWMpB9{_qG*QG5ewVfLw0?@eZWYS)X1lst9r#}9ali}%Ioxdm%v@Fu5q-x%M(R%(b z*`dLw`A1;#EyA{wPwnsK7@77R&Be>b@SlfFh_)`5GIrG+77!TcMk*8<9wR*&=aRx~ zijw;8+^*QiyxmpuvgyV3F@_sdR18nnLDq)4y_~Fkp*zv)pEIXnKOW^#k6k4m%w^H# z0TG(}l~;f|$e^gNg9D_ET8ps4??VR?Kj`PZ4B-4RlskHKskO+1fY_^qhmAHI`(xCI zr0|x8VWAfWKDGsFMv;AvOO7#8+M@Bu1j8%$>kBh}7 zs>EZQ!a?aENG2qWkd=*g%t}Cg#~$tN@^*wHUeIg32Xq8NR7Z^yLt$R zoyBRjZR_Z4Z{*u_H}>{53|O}f4UJfhjd#AXoD$QRTzbB2qH1Qod>p#AzOe@01WQb$ z?6)7GTZ$#KxBjy4g%Zv&pzb#~pRd0&e_TerxM@w7T{}{EN{57`|02H{bmdadDc+!F zSE9j>WX(OFiGr(OzQg_ooa=`> literal 0 HcmV?d00001 diff --git a/media/frog/blue_swipe_8fps.gif b/media/frog/blue_swipe_8fps.gif new file mode 100644 index 0000000000000000000000000000000000000000..4c4438f2fa022d873b8fbb875c558bc15e384e7a GIT binary patch literal 2917 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 literal 0 HcmV?d00001 diff --git a/media/frog/blue_walk_fast_8fps.gif b/media/frog/blue_walk_fast_8fps.gif new file mode 100644 index 0000000000000000000000000000000000000000..3dcd901ef0aae37bb565e47470080342682c7401 GIT binary patch literal 2717 zcmcJRSyU1T8-|f3O0$`IHpx`3W7?QHj#`rCjzWrxiW?}n z;EoGIq9TeL;0kJPDI(yOOKK_QG?UYu^Iyz=|M%T|H{W~nKIc8}XKia`Y~0AIQeLg(74c@c+^Va@H^p6|> z+S%PS_31*7Z6(Kexu3n`em2?bSMr03YQN={Ky6`&zXVmi_H1p3n;&SSeKJtHWWC`TqGodKLvw_14Du-|a&L4r5*-zb zQHoD^j=`mD2F@S?n}HMx z2Uu>`1Zis}wRPBb@dZ3iuT4KkC~6+ED4~stSp=)e`svXLa~XAZj&8YFwbVL)<;@aQ z@&1DX{1N=tcyspc9uscO3D|J}N43vcBuPSx)nyM+fzVFJ{VKjwiy{QC%i)kwf+IIyh_lhQHZPWjBKA&dR&ei&AU(Dk5b7nf}hrIO+U91?OWftjJsqXZ8`4jGm1D_yI!=s}8 z9b=xMu@OJ9>z+)y8%;^QFR5oZfSG733 zB!|7Bu8ZHUY!Xuk)~1$#%J;^)`TG60wXN6LqhE1A=_ z9nfubO#{4=r7u+=^s+WTJ5sKlT{H_fyV%jM%}c}eQjQ-ytl`U@6C5;*Y(HwlEbA`P zN^82ORa-uoar!Qhvu%BLuu}h5o7G_^?Pm}wzh0wvfp(YqYsa)ZY-V+$A?S#&*mq3Z zmF)TcafphcYAO{?>DfNh;3i8(?K4W=Y;c=BVXOB`mq}yFeDnC_ciVfj>B1^%&YyYd z>OD&^lnX!pnDb-*S5;k$)BSALnuHsxastu(0S*2?=7y6HL8CO$}e`v)_Vb#=`v%@(p3Ad8t+B*tbuaRq@qQM~% zcm&*MGEg==1sxshGJ91Z9+r&5Jp^jcN%;8|iab zK*p-L&N9z44kSg;(v(0iPMB)8yhps}5^s=r=C^q-qMFQ}2tt1bX6A51-BB8NY;xq` z$Po`ln%Gz2C(uHkslGp{juFyt3HzE7_UaBAK9%ye&fic?W#4-j(J%PcdrB!$vJ17M zS7+abJa2Sx%sAPb#p@$pG_lb?GMu?J#}>sKcmf|vgdwP8apNI&m} z{~~$)X;;gPuI5o*TAMtWOG8j5*5bmhsDAY(Hm1d$zqb9rF+4Of_Q})xG43c#SbSVG zA_bcmLGXm9hXHeek&$`8=dKy(rv;SKydqm7q^!KAGPSBWsVz0CUoD=YS*J*ctHjcSzxP?Xk-K7wqTOq^;PC3WNRL7suR94DyX+$9x9d8o@;RR4Zq-G7?rzP!q*FVyQxlB)R^GU@k^^CZ-#eO^x&d68e98t2 z^|wxP4pn6ZuPtwXh>o(Bb_-;W|1g9W4O#o~5*vqo{>U)_jl;)dgHrtC2$=M=WJGR8c4EPA zS$;Xda$tHzCE0;iK`+mw6r!sb)y4Itag8hxx7juyQ-#BIMBDKof^L3Yjm>~)u-AUH zVsME0(jq-aJlp-kQdTrKxA5cZ)a8{K^EKke;HtFkJ@l_nJAduoeHt&s=mi1xAJ?!6 zbWMpB9{_qG*QG5ewVfLw0?@eZWYS)X1lst9r#}9ali}%Ioxdm%v@Fu5q-x%M(R%(b z*`dLw`A1;#EyA{wPwnsK7@77R&Be>b@SlfFh_)`5GIrG+77!TcMk*8<9wR*&=aRx~ zijw;8+^*QiyxmpuvgyV3F@_sdR18nnLDq)4y_~Fkp*zv)pEIXnKOW^#k6k4m%w^H# z0TG(}l~;f|$e^gNg9D_ET8ps4??VR?Kj`PZ4B-4RlskHKskO+1fY_^qhmAHI`(xCI zr0|x8VWAfWKDGsFMv;AvOO7#8+M@Bu1j8%$>kBh}7 zs>EZQ!a?aENG2qWkd=*g%t}Cg#~$tN@^*wHUeIg32Xq8NR7Z^yLt$R zoyBRjZR_Z4Z{*u_H}>{53|O}f4UJfhjd#AXoD$QRTzbB2qH1Qod>p#AzOe@01WQb$ z?6)7GTZ$#KxBjy4g%Zv&pzb#~pRd0&e_TerxM@w7T{}{EN{57`|02H{bmdadDc+!F zSE9j>WX(OFiGr(OzQg_ooa=`> literal 0 HcmV?d00001 diff --git a/media/frog/blue_with_ball_8fps.gif b/media/frog/blue_with_ball_8fps.gif new file mode 100644 index 0000000000000000000000000000000000000000..42f767a8c2f3c7ec4cc370b7f51aee8fa828e935 GIT binary patch literal 1665 zcmdUt`&SYM9L0GLvxnyLQOjj!$2Ie0S(%nCsl*b}Q1h^A8Gr zJ^%#-0u@9}EhP~}QCW(nWvTf@QFJ;JtGPO7`(b~;cFw-P+#l{e_lNuW`uZL9*n2J< z5Dq8<{B`E5EdbjH5uM?UmA7qOW$xbc!J!9#oBvRUWpnhAAPnMAz>%G8i5wNWnGYZv>Yi;c0yWd%D5>9U@# z=3Z?kc(Q&KTstPgmh^~kXr^N721=v-U30YK@|dW6>qAjEhg=w8nSv1Y!aq zF)=CmPGss`Jdj4GB{CSeOnOE(kon+#c20I)=4l3)2Zjk?T)t354}HXwNQ;D7r{raH zez~ABq^hDuTu%#nCIGd7BoYm%E>I2Awh6V*13J69b(-E2uQadUv<#p-hlj^d`iX9X z|Fp5X5i>VmTQaDW&BFoU6_8Liju?%YDPOO)AU?bEKFis^D{26dLv%x=AQGdRzsI~1Vwi{v@oP9>(a9J-85{uIgdZN z@p#Q{l_?z=6p1CCK*dk?Lc+22#a z1z;Et#wp|%Wu6igh>E#D-|W165|24oa~~X zZ913)wCVOr(Q>>~S4a&A_3YOV(l)y6i+f_bc2FJXbb#h&BJnodyNHuDM z(wLOfso*>?j19}p=MqiZ~Z6Ed@9h22!CJhxuy)_~Oe9^SD2>l4vBL=IEbHwWM(%Hw3yCv)8aNR@9_7LXXEPS~b z>$I_IX&s@C<)O~kkQYeUD}=P8hH9&6UB#X^Vdu#<&SyBP)o^?N(5N5mV-V}k#tzKT z8rZfrH*)7L2dOf?z)V{T%f{Na9;8%2BISCC5uGz?3H)Cn6V&8=LMB!=6qPE#jVfhj za9jQJrrKtbytSpb>tq$Xk;i+Lfq4TP80>FXzixS})K7F60!PR7LqVgnANYO0PcNCp z!p^f4Q4p5x{vJwhX7Zo~G8Y*bMx;R3t|x|y3Vb29tX&<5dN*AY* zQ&be8FmFV_3&cA~Jn&3B5|wsU)DVxfOY=j=@P0!~gkFU++#1y%uL zFe+i$*fKyOrb}utbq$U6l~QzbWlL*CyGvbHSFdxQqH(}!=xw2}wuCj-Uo`T2o?e+?}yQa;0P!>=-ifXM=AX2)UeZ7hFol?2Vr9Gh=v{_^D1m zu(6QsYwFzp>Zzq8bN?ne-UU4FRW|sp%ed9hBD?o^u%~mo|0$afiCUU>2VFn(fY6JT z*PY`QKjw{vi_Xn1r~L~Md?bc`nvPJsh7fJ_CGBhRH!QZtgkFh($yMayEQyXUew z^rFYEg)~?xEH$+Zh7$my3Q$zV&8#b{6_zywWmigH*ZZUzba#P0eQ#)r!2w`M$!~l) zs*f0-m>l0Qz2Uio#6Ufdn0cRXul;gC{Xw&$%1=|px9_nvnVdGgEj1o>h}F}z6>h)( z)-leZ|_PR@Jr$hD9H z8 zJ^0I;!yi%OdTe>>L2K+WQ+c+>D3k205#(^fA^Gnb}U9Mx}jeU0Xg*ugjIeOg807ikf@;I+=b?7Q@^{@ok)BuhzjmG9{iPmyHTEF(NzC@4vCd5 zL`rT75guV!`qBZu2_tr$jR yXnr`^C)vzPOoY$B(rybFsfv#LDA_#88*aRe#4x|`=lk0ioB47JD^Vl>a_Ub|kUPBq literal 0 HcmV?d00001 diff --git a/media/frog/green_run_8fps.gif b/media/frog/green_run_8fps.gif new file mode 100644 index 0000000000000000000000000000000000000000..00c538fefa07cedc165db445feb6d4a31fd8c911 GIT binary patch literal 2837 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 literal 0 HcmV?d00001 diff --git a/media/frog/red_run_8fps.gif b/media/frog/red_run_8fps.gif new file mode 100644 index 0000000000000000000000000000000000000000..34c37861dbe1ff9972cec3a3fd741d3a780043c9 GIT binary patch literal 2717 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 literal 0 HcmV?d00001 diff --git a/package.json b/package.json index 973c23bf..fc15add4 100644 --- a/package.json +++ b/package.json @@ -186,6 +186,7 @@ "cockatiel", "dog", "fox", + "frog", "horse", "mod", "rat", diff --git a/src/common/names.ts b/src/common/names.ts index 35aaa32d..329676f6 100644 --- a/src/common/names.ts +++ b/src/common/names.ts @@ -6,6 +6,7 @@ import { CRAB_NAMES } from '../panel/pets/crab'; import { DENO_NAMES } from '../panel/pets/deno'; import { DOG_NAMES } from '../panel/pets/dog'; import { FOX_NAMES } from '../panel/pets/fox'; +import { FROG_NAMES } from '../panel/pets/frog'; import { MOD_NAMES } from '../panel/pets/mod'; import { ROCKY_NAMES } from '../panel/pets/rocky'; import { DUCK_NAMES } from '../panel/pets/rubberduck'; @@ -26,6 +27,7 @@ export function randomName(type: PetType): string { [PetType.chicken]: CHICKEN_NAMES, [PetType.dog]: DOG_NAMES, [PetType.fox]: FOX_NAMES, + [PetType.frog]: FROG_NAMES, [PetType.crab]: CRAB_NAMES, [PetType.clippy]: CLIPPY_NAMES, [PetType.deno]: DENO_NAMES, diff --git a/src/common/types.ts b/src/common/types.ts index c223afdd..c7408b85 100644 --- a/src/common/types.ts +++ b/src/common/types.ts @@ -3,6 +3,7 @@ export const enum PetColor { lightbrown = 'lightbrown', black = 'black', green = 'green', + blue = 'blue', yellow = 'yellow', gray = 'gray', purple = 'purple', @@ -30,6 +31,7 @@ export const enum PetType { dog = 'dog', deno = 'deno', fox = 'fox', + frog = 'frog', horse = 'horse', mod = 'mod', rat = 'rat', @@ -96,6 +98,7 @@ export const ALL_PETS = [ PetType.dog, PetType.deno, PetType.fox, + PetType.frog, PetType.horse, PetType.mod, PetType.rat, diff --git a/src/panel/pets.ts b/src/panel/pets.ts index c32e9f7c..86615090 100644 --- a/src/panel/pets.ts +++ b/src/panel/pets.ts @@ -7,6 +7,7 @@ import { Crab } from './pets/crab'; import { Deno } from './pets/deno'; import { Dog } from './pets/dog'; import { Fox } from './pets/fox'; +import { Frog } from './pets/frog'; import { Horse } from './pets/horse'; import { Mod } from './pets/mod'; import { Rat } from './pets/rat'; @@ -187,6 +188,8 @@ export function createPet( return new Dog(...standardPetArguments, PetSpeed.normal); case PetType.fox: return new Fox(...standardPetArguments, PetSpeed.fast); + case PetType.frog: + return new Frog(...standardPetArguments, PetSpeed.normal); case PetType.crab: return new Crab(...standardPetArguments, PetSpeed.slow); case PetType.clippy: @@ -230,6 +233,8 @@ export function availableColors(petType: PetType): PetColor[] { return Deno.possibleColors; case PetType.fox: return Fox.possibleColors; + case PetType.frog: + return Frog.possibleColors; case PetType.crab: return Crab.possibleColors; case PetType.clippy: diff --git a/src/panel/pets/frog.ts b/src/panel/pets/frog.ts new file mode 100644 index 00000000..f7077181 --- /dev/null +++ b/src/panel/pets/frog.ts @@ -0,0 +1,84 @@ +import { PetColor } from '../../common/types'; +import { BasePetType } from '../basepettype'; +import { States } from '../states'; + +export class Frog extends BasePetType { + label = 'frog'; + static possibleColors = [PetColor.red, PetColor.green, PetColor.blue]; + sequence = { + startingState: States.sitIdle, + sequenceStates: [ + { + state: States.sitIdle, + possibleNextStates: [States.walkRight, States.runRight], + }, + { + state: States.walkRight, + possibleNextStates: [States.walkLeft, States.runLeft], + }, + { + state: States.runRight, + possibleNextStates: [States.walkLeft, States.runLeft], + }, + { + state: States.walkLeft, + possibleNextStates: [States.sitIdle], + }, + { + state: States.runLeft, + possibleNextStates: [States.sitIdle], + }, + { + state: States.chase, + possibleNextStates: [States.idleWithBall], + }, + { + state: States.idleWithBall, + possibleNextStates: [ + States.walkRight, + States.walkLeft, + States.runLeft, + States.runRight, + ], + }, + ], + }; + get emoji(): string { + return '🐸'; + } + get hello(): string { + return Math.random() > 0.5 ? `croak...` : `ribbit!`; + } +} + +export const FROG_NAMES: ReadonlyArray = [ + 'Blinky', + 'Bubbles', + 'Drift', + 'Frogger', + 'Freddy', + 'Hopper', + 'Jumpy', + 'Kermit', + 'Lily', + 'Leapster', + 'Marsh', + 'Misty', + 'Moss', + 'Pebbles', + 'Pip', + 'Pondy', + 'Quagmire', + 'Rango', + 'Razor', + 'Slick', + 'Swamper', + 'Swampy', + 'Sprout', + 'Thistle', + 'Tad', + 'Toady', + 'Warty', + 'Willow', + 'Wiggle', +]; diff --git a/src/test/gifs.ts b/src/test/gifs.ts index f3321759..f4a5b054 100644 --- a/src/test/gifs.ts +++ b/src/test/gifs.ts @@ -52,6 +52,10 @@ const pets: { [key: string]: { colors: string[]; states: string[] } } = { colors: ['red', 'white'], states: ['idle', 'run', 'swipe', 'walk', 'walk_fast', 'with_ball'], }, + frog: { + colors: ['green'], + states: ['idle', 'run', 'swipe', 'walk', 'walk_fast', 'with_ball'], + }, mod: { colors: ['purple'], states: ['idle', 'run', 'swipe', 'walk', 'walk_fast', 'with_ball'],