From 57492617f7c9c0140e6b2191c38df0e6b7b09514 Mon Sep 17 00:00:00 2001 From: Remington Covert Date: Sat, 3 Jan 2015 14:36:44 -0800 Subject: [PATCH] small progress. --- desktop/resources/cursor.png | Bin 8883 -> 9684 bytes desktop/resources/outsidehouse/note.png | Bin 1399 -> 1369 bytes desktop/src-common/advent/screens/items.clj | 9 +++- .../advent/screens/rooms/castle_gate.clj | 19 +++++++- .../advent/screens/rooms/cat_tree.clj | 21 +++++++- .../advent/screens/rooms/common.clj | 45 +++++++++++++++++- .../advent/screens/rooms/outside_castle.clj | 20 +++++++- desktop/src-common/advent/screens/scene.clj | 13 +++++ desktop/src-common/advent/utils.clj | 2 +- 9 files changed, 120 insertions(+), 9 deletions(-) diff --git a/desktop/resources/cursor.png b/desktop/resources/cursor.png index de00dd7aaa52776c9ad480ac58142f2e95ca0455..ddfe311cacf8aa9c2ffbc80c57a7cbe9476c1d2d 100644 GIT binary patch delta 8652 zcmWleX*`tO8^_NqwyfD@nJH69W$B5mGg2W!B+0&|LPGZC9$F+qcp_p*NyxrNW|SgC z53(;)_Ie7+Ikh*dbp7omnTV5luz9JCGvo7tzON!@nJq^=Hv7jkJ~=iGy?F%J zZ~Y#Z))*>`JrnA+V$5Q&^Uhh!&R7eTYGBkdp);N{CvH?3{&;!X;PR`pDzgE$em+Xf zpmddnb7nrw><7mO!pxdXM>~pVdrx_3l3twcy(D^Posn=+@{on&$sZx!Rlk+yA+m;N z`g*09hg9+z%~V&&2!8b_&FXs84Vx%-@vrZT?^|pxOizFLva>C^irQ0@duwi5AJXLT zz5WN35ZLA8o9c6S^y!CkFQFy<^4r}$XPq46GK3)fg3wh9BC;ttmSFZEA- z3=3QxKOOn`Ay;|}b9(|JdEa&Ru6s8~Dh-RwbW%>_q@?gA)7osVY* zG+3TP`5)k*Ey=NS$Nw#7+!=Yi`SO{?_mkxM+gZP4S^}4XEsa+rR&{a6sr^}p&Jq4w2gU0H${X@qBSQEqI-5XQx4RM=iuMS^1|I3>)7|sJ@-19uTvk%~inT%~y zH8;YqiQJi>i#rEPrRuVI6mrmzrmh_t_*fePj_wZbL7Ix1o=2Ya>I{c}MV=91A`e|!;@z&|v37CP+ zg|g2dw5OEeYUGrt;a2^13|ZS+;y$q`HrXi zcRWTX;gGyvj|$=_tGOBP#-I)y=PjX~0!LHx+Oe}HYVU1Vv!7ohM~u>|Ld_px@dfz8 zh@ICSJu}8TcXjq!Sd3iLWIH6Zkb9Dk>)!O6nXY0Ltxblx?q;WK-yHYr?}7=gGb>@H zN|EmF?z@<;!tn*I5pYHhv>@C~d-D9!_ok2M*aa9$H(1sX+l(Xh2-hUbyiDUil5^}60Jw>vJ&`kE;dqb9KLM=88WCkN0O304 z=ffTkw=@ZOkLvJeo-lk~#>#2>wkfH#$G2h}Q5EvOsryj1uGvWQDk9uE1>M#!M5IE? z!_~&hF?`aR_h%tHJKBWw_Bf@fL4=5Z0^VvLA*woSa6T+!l{K9u9j;krDrW|i^HX)7 zqOtVu0G542;4dgqMDdzifYR_cIhqG%F(#Q4(4dw2*$Ni(`+!9ox1#xV#NGiqny{E+ z))kA!Qc1c@-GCow2Ik}3r#5&98hjG8o*Br!Q@jC!aiCBeA(dHFakV9ZT%0E*#?V)@ z6|nz0_vImpb`+z|1u)iM)ACLos>mYy6u&q?KS*oYxKrjMDcS(8;0X5Y+cg8Y5icr< zX=Fsqm2JB4YazU|WTE0Mx;AoU3s1gVt4WS{uIgX#as@s{kLfHe797~a#!!Wlc z+F|axN8cyb&T=Lrd<}`-)^H!3SrrOVYZdyh@TFf|x)}{$nf&&CT7M<+;$; zsC$m(6{89(eHyMOwpyj*iDdiU-I7ZiD#RWmv)$56*Q?6~TBpiPGtDdnu_fv<&G>H^ zRn~l!iiX_FlvlULYcl}iEA%dGplhM%Sti|nVtG_{^UjV71nHP> zYpvTQQ5-*ZbvUmyPX80IF74@NxuisCgM@RQ#Wc|CD*htdtT5-Z zxtBI4YRA3@lN8x}xOWbfJ+^~Rr_d!;TpmJ+##v|G)4&s1QQH{k`=f@^(} z*tMK8q+^!|jSDn3+8Gf&AM=^_dURQ#S!J;modHLu@JlRX+Qi$HPqkAb5*C0!m;tF=(z#T4O<#x%2i@9Y!ix;O7ro=gSFy2bta4 zs=f0I=zrI5$GH|4!Mvif>-{O3^wL$*2>zO*&wPkpPQ-e8b-4pS1)7M{`iQ24XDL=6 z_ZywhQ(AX_Y!(T9RtkF*dU4EwZ7?l1U`B5R7Gz+;Tf%lC`cn%$R!&&)2CiCrY|*nr zL;gUn_%(WU49I}?u;Hy_UEoQbp7B;Sm`l&%KY|V+3yT9-JK~BF?#7eE@BD7CB*v$74x_|VjgmiNIbc?rqA&Z^h_yyxhl*> z$btL6MckPE%0GUstXXrf@+dNzLYC=d@>4NbQozerHke+Hk1W{M3Z=Z!xU-TTb%)V8 zH_-!Nf3a>$RH)tSAePEj*Jj7n^}yMM+Z06*fbJ?7*JgA}{~9(gV<`inG^rMR&N z(dR{S_!(M8(v>HISU;L@0V}&G#t4zj<(4vNdPFitJP9jPlOl-7k0i^CZ3>%7>K^-V z0zml0rFDnH13!!2Q?B!T3fs(Ze5ELieM$EsQcp;)>o=w^PQuXq4*%WCN&J6wBPi4qQA_YtlLs_64 zu7)F$_g15!Bw&a`7y|loiOF@6sXO1tE9|uuAz<)9qDLB)q1~7DO&7e zGFZ~*Gl$l5)a2LV5;cb1dX`Jx5iY(0AZU9jvI_^s`DuRNzrDE6OiM|yeL&c*^th^EaG{&x_I%OqskXK1Yo4( zTXEyfH_*Y%=|quFz!2H8i3D^r&A^g1^e!4MYgLUUDhm<`7$^rW&P%8?N9w`l-}=d)EHcMdyq~EpJKQ{*CiU@n@Ac5f;Qju>2@|E z-%fX7bh8_Z`JgNbSXkgi#XM}9C0R}3jv|t~psw(xs~oF;P<4-&cL#*&vn%*+Ru}@& zi!c4spBAA#V2179I!nyfZ&l@W_uwZD`u^4-5nQf+OwJ15q_LNhzx{y00Gc;N^ETpB37jwrl?0n{AaB|EYueCkfoCDIu6C1-f8bt1(cVl9X!q6t}4yeW-rIV_?`g!09XJ6L;&kunghp+rWr z7WARWdW_*e^y*rIY%kUJbYJ<&Qj=c&>9OU?t7*OVs+GGBiAoQoS(m5bpHV_bxd=+Y zQTa8c61F&z=?aV{$Wlt2sd>_X-EEguY0J<0{sQB|xK>x|t zyN&qa%lCZZ5Cj)W>W2(77eS}*PyO6w5z3gY-@yd$5QNichM^kOCt(utbqWWTTE>|C zT1Wz|+a4PHssnWji?tow;c4F1b=?+VOsXSLNEffrXe%^J2_S^w6ihlR9O|;G8A(78OhXa4!@_4D zccu)VOVT|ZjA@2>!yNb-<@^Mn=WC|48;k|Bdcc3M7VMs2yU$ z=B$ahs@X^EOrH=Uf}(9MO6O&pc<@z9c)&3hx_{&g44q_O94fG#$aop+?u!`|J6`?dB&=;K}{6=MM0 zB)f(i6xJFZ%kZFC1qN(ovV(GzR)QFh2Aj=|4Atoin-3Jbdfw=j;3ywznWp3`5*z@f zA__i%9`;0=_XP#_pr>(hy?C_C!ZDGQ*_{XXCyCI)%sJ%Gi)tad%}}A9j*_sU&Y40B zs})N4=Y5-G>~Iq9a<&Z+qOtLuNhR$PJ1f|yR7?wPrs5>}#A z@4iGs`Z2Lo%zo7|YfmVW|H=eY5$>q&Td1<8-Gw5n*{;BEBABV^>FM^HsNE-n{LD8- zT`_LNACFTjH#4b@?L^KeM-V17rA<9Fnh5}nql_Q5UG_CHMZT;K)*mH9<_C>xW7xP; zwYJYG6}ed0stICw82%PuYxJ){CK@h=P&8wSxf3H+mjwxYD@<}`xWdz>4syv=CWi}w zecWqEo*3`nI32S`4o8CMm7(a_X6>k^mwBb%Ra&ueCLI%vCIMQxnk-<5z}3NGmnFp( zPoMNl;*7%5FmEmnL?(kIR}&B-46>1_XT0lIKS;!2BIyzwd{XIm7X2q6=u2l{<*8=! z(5!BM`Pn%pw+(vliwY4dNEl9u0tV!!^YG=Zao^I)@};A{@*y#W!j1~*>B*6QuKE4} zZYY+vvk4 zKSq}w{|w!SX0IoJK2G{9PJs1R5I!C>sH-oI;{1a}l&vfELR3A)3)Pwz6K_?C9!=uN znV^|$tZIozw}SibmtOPhBolisUL9g*<)Y4E`MAtKu3h0}Xz(o@&0<%S;s6NBE2i&S z(D+}zeC^FtG4p}G`EjqZy9W-9r1BU2zdzPu0S@ivm}~d{h3;01q~Gd~%^~4HBu|CX zacE1a2(r-G8_)R))_ijvw)%Shu>b)?c;K3k(dk%XWN-^+lsUf!KUfbJRKBcMe2xbB zO_tuFC1U=$(yjbr3yeNE)iy+I=;NR~<{>nlWQ&5@EijuoA?WAaRZ&ut)aVg>N5#ao zefrZz5<-$eafe+roD&vA5M21_`^2X2n6V>Oy`qU zryAh8?w3@yq&`tYu*8^riek;TC#oPAmucPgZMsD0y@ABk*~RX4R)tOhBZO?rD4Eo% z3FsJKo#@_U_W1;1R9<)Z)RpY$J>RaMDT%hnQE)e`Yx4UX4R2TFJtG1!<*mX^WtltNM<`2X7BON3sSqv}9$q@_Nh2hK z{7(mEKZ#yssP9eoWsdqq92iGoN+(`-auZ43NnA+yQ^P-h$(4Qx*muUW9T0!JXt{zM znIJLq=!juw0YYC5jh|yYp@H{c& zBUl2-@mx+@9hz>4HFwDlK}H_${>U!mqOFEI%&U}IQAv}}A+(eI%sjzy%gy=)L58U7 zwM~*W|E8@bU`+}nFuqR$uhREY4XcLIl3}gV>6JPozG5eXb9uyMG~|_TC%WD2!I(v>E()#Y8S<6N|NCo?lef~N8)c<-xG^eT)F z_-*LxmA?CP=k=SDitrTqZYrKJN8G(ByZxQ}U&!j&VpiUIiH9jkbSo6BZI>Po;M`Tn z>|TefBvMbWk6%|={O4yc+eCB3(G_D3(xgAV^u_J?=C8MJQd!XJFdpoO@n##c!-c zr|SIWBz_w3vfw6k{nO>dtxMiE`6U^&WJX9(t}h{YI2e2cgUt$do|;+&~k^CWG@FG?LD` zLqs{h_uVzT|DDg0glGu8`z091ZvOpf$hK8uI7oJY9;Z>mMqj^0MJxz1vCRQ4uyjwj(jt5KmD^eLn32Zg9N`6Hsy zE=&4nEGK;17uac_K}#3(%MzsS2!nK_M9$?Inz;Q3M|$c1W%sO`Vh+BLi>1Nc_d{)q zZTeWj>|Hp>6mL}YQ=gKmF9%pB$#W%7n+A^k_#~c#Pmm*M(yeWxAmFq9$MYF#R3WbM zKubsdbt>rql;5PG)TdxOqR|LGe?t!%9HFOG?7uTM>^=}Bf#p*tu7nE`gz2?IZ8gvK zdB}*Ub)VkHz0jduauTq%Dp!6sz`hiGE0!kL=F#xdGGRG5TzZW4pXhxSX*o$96B1Ji zuf6u3$~$I~WW}ZgY%8+5)u#zas_F=Tz*wUJbfxu?H1uY3WNTM!;ePeSArl;e%H{M8 zrR?rLHp5cdTfb8C37YTWCnj<`kw($gjklDB=Pp<0rTcLN1MOt=`{vT%Xi$;FgFh`jIvaR(InrcQ%gf!jU zq`mbNV&#A#7({Rpd_euWnHkU!4P+o##+RVHOn1|Bz`JfANA;A}a*Pusu9hHSy|Irv zZF>qPTv(~~r;A)5B*bXMwX|q8T?Ra%uj+Q_y0&U6(h{3-b7>E(t4DP8gI6XtkVydo zC}$NgWiF3uTMrHWD>(K8l0&CgI0pb!Oxqn7jZ=~LD7KW~n_Y8QyVML0ps zS%)XT>0YaGjmdKe|6uU|O3%=qFR9>630ZFPY)zQG*DT+0GkXBR{q2Av4by~d;vneu zM^R-|5Kf8Xz_|v&`Y$mna%3nn6p0?XuF?3CkKVe@8d_p-3|$O^ENEu7R@m{Vjz~4N z0<$n9zffM~#Jo5Pq|J_f04|M{iG!xuwxUbk5t|1$hYsG=%gT!-etXu~xc+Fsy&kXV z;jFaYiXYn@+izTaajyGT`Q6$%#M8PQ>Hmiox5d_tUARATdWmre`@fQ>CPuaZ!YL#0 zac}a!Nc2wUZOC>e)njC!W}@(^W_BJIs5vu73;N~MD!y4Nnlkui{lj4gAV8>s)2x4( z_2#OBVH;DSw%iKuFT3%3I9vZ?TtF-MpB&yLju3FqD;e|%5hL{K!!^ngv}E5tO$tCC_~M(XYoCI_Olkv` z@3*mOm5uG5WVY_JV@fM2=faYMfgmUK7C}7y&nf&&(lyb8um-s-oGfWDJrUzLk6%+V z>0b)--p2QN@`p4tIcZ0^XkStiwyeCO5KL3!!|&yQ$zUTwKq@I4#IphO?$huf)1Yt| z+8l6a#N^#GOp?`eisKcy*q?;^`8XbKc?m^yKU`+D2Egi%3qs@Vw9SB}bw7eNJ=?eE zb8Su|W{hNkFYfFXK!c43;GEtPW59CrMqMlD>1=xkavoqYtFz(3C`x|(8owZco##As z^->`wkla?DZ<>{{FkG!UE<)7pg7!Lu(JZEYu(db>7GU`N(p~-gs8fPdnUn4+6^fuW z;_X-(P2St2h|auk`F7V6D9}BoV^6_O#Q^PW(-z+BB|aYJEBH$-csX@Qb@?SbQ=0J}qeD#^ffTcVMBl zGi&MK3Gz*{funJ?S8u-rEIavf`+X;V^C4a){}0i7X(fh@VZ3&hps}rQ^SBnR4cwj{ z0rGKjsK$?T`j6g0C~Q{f%)!DQozI@!>`w^9Bm@^w1@6acfB0W;(kGm9MHoJRz`@TR z^8AvD{Y7)7rMZKQymA9Et2{K=&-;_zY?HT7HsiepEt2JsL_nujmKNdD$j^6fmWiu( zw{z4ptfS_6xbr)pQ3~`AIw&$VPEsacmQkrAZ%_>0KxMKZe?>jB>K=8d?B=|Fc|RHl zyzN4Epm|vY79rY|SsF`R4P5y>a+r&-lVc|ck`Pf?S9SDr0PgRA@2{+15s0b(YRo*< z;FGi{#w^S4y>1ujmgiW3g;urZN+mgod1h^^y@E7}o2e=TD5|pus1dn7;6Df#J2B6>_uPvV- z1qVzt)UUt#Z^|3-^(f$R_dIh#lxX!^Kt00&_;LYLNj-!f^5H>{bd-zeXZMre=A~Z* z9Nj2O=b(8MD)8^8Vg8Lc4GLtpBX73fMT2q1fFKGaLd*~BPw_P)Xv7FPxIy5-T1gcg z+e;=w!zP!Igl-&iA8rgd&pk$iAb6g4|Ffz^79m*nvI2+x^X;zkrswPIlU!hXKMM79 zxm)#e(Svij@2U*jpS*9py=mK)7D((JJ6kgPcTHppP;Mso9X=?)#&|DuCeQ*20{^z* zhton3jE-OOsSvkf(%yk|a-VhbB>;5b7P|}@O*7lv3kL2V> zk-d38w}Cc~eN*IfaI7hfbpzVSB(Ht=c&^dhvg2}Pw(sPBoO?O#wep_Z`)}JOGH}0kHM#YC5pitV{Rw^G zzKyb_xfGu~|E15S#{;+9QV;4pP+IKRd^-k>&CFJ<_bvRXI5f(x&Lun!0ri`ax2 z_9Ktj@h^+7IE4g5h5MSq(~jQm`~K{e4=iNJdZ@@I#)s}s-3(3V37dWE2^#w><-IaD zUGD9l*}nSNB6e;+WIQYT(QR2ZWV{Tnlz#ShN!6uuu4M7x$z~ge>|Mns>y1ufK1CyT zJ)32&G}GwCkDZj;ds@$X7ky9GeTH6^^Rq7D*RLN8ZqF|rfL@)J^XYhDFk4tawi|DH zyf1WQY6N-{fqiwVq^H|y+oleTKUfXD|LIGeV@xI=2;N6~3 z?+?FLY^snmLNE6v7L!~MoB6Zn&V{6#KR&U=e2;#=6jlvMBiPD#$m)q&jF(wgyxu+X=93oY9Ell>i+*0M(5=Ic*?GL?jaTk7zW zv45&Z!`9Xl3NL$Y=lTyW#fo$ZY3=4g+Ee&11=@ zJ;3K(o6pN*0ld*SJI{wrkCy&2()bv_2|O4)eeXTx&FQ`yQ}3$v)1ax+xBpDYJ4?On z;smX6`5NY$4;7Guk40ZXwUt9zcuDM*V~Z5q-=3#x$b1`P{_`QeHL}G z(Zw&`j4j{Og_;VD8N<2PM)cL~6iarW9@t5Rucufd?>GzXLNUpkbB{|_@3eO)n>6IMv73MsKot9Hqnp*1b7HTz__^S-}4A?RV~jmCl^l~x2dNs#B5 zplc@>H$@1@Sir{|OHs)19^iN8zMdYdhZ^wwBq-1P@hi(}t5%lp!W?1xjVZ;obvcVL zxMs8$;#oY51I*_Yu${MS@}#EOK=s_Wib-*iH^R)ZUqvT-XFU~#rtVQ*;z?FY)U>xE zApBLt8}E+V>k{ZhxeeO;S<2h{XOA=V$1*tYH+s{Y{Mn6r(HriYz6;wJhFQ9INtFu$3Q%TNtY+EkXbM*Sprj+^1*RbfX2jvSybTA!+mMj=V0z$m!gEise%ExjfTFF-W4Z-5T8!x$X%v8rlJg#+^vmSVo$xN6;>d! zMf;AImiEvE*N06SHQv>ft92KQT%nG&nLD|Z=rI(_bpg&2wIp4p!oR;hWVnkqD~5Tw zc1+s%MD$5#)h_ejwgo&KGNlz6+-f$d!b*5@kaMZd)C*oeeMF>I^bXbnDbCej`T3+n z%Q^BcU!B}OadDs!f9TjwQ=~Z41|oAwRTEEWt6z2e%=xqDkMXNJZYIbv=Qg~=&snZS00{kv}#KE-NICj{pTD&YK`PCZu6PWvF;*ypl5pD3th z*yXg~qXThZ<=$@6x}(3MXqCWfy=9K(a(1^JiC20xFN%Cldeb(w{zh$y(tbAyL_ua) z#OS)I8}1eJGnU+fLiyA!nP>MdeEPFD9*tvpiYkFg4BYz_h0*4HRhK=?PML@Saiq&u zB>LAFNkJxtZ9z1Ij`J;&T+{BDJd4K3(vKmFs##TZBLlBNADyB+c^whPwJ130O4DoC z2Z?i$>xAdBL!3Ke^g6!*yOJV{&YJiAi-%~GZ4o*Bjz8$ht)hO6vc9SaP$6Dm$ z34lj#tArBg3HZ8(pPUit|R{MnwX76Uj-sq`-$Dtldh33kg(~2d2 znk`++Hgv6_GuA@f41J$s+keHlw=VT*+ds65f`t7)KWWzabfzzcWFvIuehh-$hR#m7 z)jc#MSzI7hUo5r4zH!F0zL0TI3T87f;4~#e_|{l@j%OGvX<*C}4KM8m_$X3hOw2qKq;|5i{$Y5U zuyHdQ2E0$&1dPWVvaL!Sh34UrpIy#gs4j%3Uj9`q*4`)$EEeHZ-Y@$3HPpB0fQw`AEIE7zuvo*+zbpwX zff@4C69g21;cX}(R+0p{S7mXEn>$oQ9o&-un*ESKbXBN^j}AWD5O@jLyY@BjpY&Qi z#Ppd>!+HH$>3tRVF=DQ?p=z_QP&(W&yQJL=Za`<0vYyaXBI{h2Gh2H&`Sg> zWz}W~u;SyYYkjT*w#+cAJKGBp62 z7p$RI0(m1GL*dGGLKx2N&w4-)yDWjj7FeC5sbmJp?H^=UrXK4_r>u-*r$ZhlX?2&x zhQ}Xq5xYnn#mW?naKXL*Nf1Q`>g+RROrnPi;8-RTNeK_XdAU~ehymRq3`gj~8H-Tv zZkA{LN#5}d_s~Za&YzsG9PiPy4Rb!BJZG) z{oWKP)o&ow!fiJ?Qw}x|CILI-{bPf>r)n|DE@cCJ@|Dc_Tt=3` zgbc!jx#-7oZPvVMU|M6h5nr4^cNH=U|EVD4VDFc7!;dNnT}8pzcaYiY?ClECJJ8Xu zyGCsb{*>S`ZmFU^A4du(lsnr7$S>Em7VbqZl?F~D+QxGqm&#LJRUC|_@d!8$`Dtdj zd-BZ9-(RkFaCit7hVA}kMQBQ9Z66w5Vdr79$I!f1(%bpItm$Y-Liuri=Kq-o6OCdM7c@zpHhGFfVuKZJ`Gh-?ka^ zI#Zsm1}+SKd-GAAQZV{dCed%n!~_{EJgXySU@$l#i}JNaC8l0E=>%Y>irbJ;n)k4& zFs?y|<5jtl{x{(6C!{5K<{iqMZC+T6CAV{I!kF|tuOpLVUa`Wf9-4UoPfFD(o_tBU zW0@5ajBS9QV(WIW8@H1baWH3LP3YBq_LSNjGE=XyJSHvW=+LmV9{*wWeyS12YXf?b ztE|=YdV9g^)3hK>Ab_R)s=F{zDp=SB2hwtU)1;E=cNxHrRCp>L6`#=R3fNL^v6@%D@O8uMlpaJAoEf80Hf=l2~VFsb#Zib>^Q7?;Fr4Q z`f{w=Kn>5m%rP<3Py*LRzEzEedy+_c7?w{coy^1FPArUGPDqNNASQi`d3#s%K@Be) zjZ;8&x&Q7nbdaE`0z;7r0S}E~?Q1WhR0(YlAu+W?&=p;T2X4*Bv3jNEaRA4vILG>;$Uo6NLC@ z-ieu2!sM@~>AO5vMI$ECa(LH_WLmVuxp^8GR;(fUt6b`<(;2V4=(66RPa1L!e?L2* zOL)0G5Yd*Z>HNk^FFQelzsu(NM7Sk?zn7(fQ$2>4FHD8xF>Xm%beRuVt0dY^e!=44XbyoVPs&cK_g^xV zFcJN=xqj-VX8l{bBjqg-_!zi?eBhNeI4Z*uQ@JWBGiW0LMhthD+~$iLU|7`bqnOhTd4BAm2dzQbXp&J*g2b%#r6@Wks*K$Rge>4qQE}sb;Dz*h#UJK7_V3&PsrUc z_)l8>*m>RZKf8wB1ir&a`UzwWD|IrRhbmc#=&vP$rOm2{Ou)gTuJL^9qT1$sioQ9b zbZi)V%jO{= z1AdMP8gOal;HCUJn?`|NFX=}Yugl(-{?O835wPaZ9bN0$nt5xx9BwjWfvA~Vq=|75 zZ9Cu`vqgePqNLkM+pmE!oy$eB+Hm2UYh$n5$9-l$bHqxFC6p0DNs-o)EO=`C*Wmo_ zyaF@ilh)MwmK25hgb4U38Ye`3k#K9|pb%JBrxK{Vj?5!rkg^cCk{#cW!7?Mgc~kZT z^#4pSb)0VfSi=*lRhc_{)#g+x5pZ3L+jyN_LzrhRqtBOSYA=R9Lhj|~{=9Hk z%XducAbrDTmM_IEE6@WCYG6F#%~8FtQ3dm*IrCpoj(0nJuXVJGsdwSvYui}*BI%>h zfa_if@Et(DctA34;_tWk=kUBx?NzNC_{{UxECDhR!*lLw6g+cQAG1|@Kw z(nnLj@9?r&{-3VODKaqu;`7SQ2@TLO6+t(fI|Np<>dhU%6o(SuMUvmd3BM!;Oa2N; zQRRqLv1i(f#>fkiXp{J=p8Yg5>{tT%F~!0tjjPj16(I}l2HDo)S{%X8&R%J3UpLqI zvtyG7X%X1)+h=(54;60K6S=Bd_O(S94;*%3)Fz}Gs@)_HTqg-7WM`FWLL6Al$*Y41 z14%2dzaJKO1q?D*sP(7<1u{HqUwwZ)r_aTs7V8l(z(!AK&*+{BSdGy2=!TZ3cbxS6A zOMCmdjyC3y{PvmHOG02l`g!-94KWx_>bkvV%Rd@U^0q>%Pd~*HQGP(j_W_w`%uZPH z@-$L!CI+s?$iCSM_j+6QS0=Exb-(|(+yhPN$qtw=&dS{?eWyQm-F2X@19p$>2i}UF>4SyNoVqXj1hxMc~hz zH+Oou3#M6FlFr@I^EgZ)^jyIM{-~c>vEVr#Fq-7)SSrNs;jDfQ{IH?M>L`4C9fb1s zpIN;DHz@PE&Y#*FgVt^y_e@@(2!gfrEQhnHezpcCgdK+PDHU02psp4l1{Z0#^>MGX z6N17Z`|QfoxWc-P&>x}y7vgq_JD5OccX0iqUT1jEZ=;<)BSzmc^M*XjM}pduT>>O% z^EC0?T;7q%7-`gsvII_ZG71{oL66mGnn~LPqf^IarRmm=6TLVWJ;z3#KiceTk3QpG zm3T?FQZC5lNB3JOu~N%$h;SlDSs04JS&}qWQ}-ETaH8C8y}1w3@PQQcC(~G)+U&YE zXKw^Eh&W+=ZFo|9cm&|AJkXnn7+WVk>k_H(qfD9Tuaz@nnr zJ){@+Xa9Xzp@;{X84*NEdX{aE@AtWSzmfA_w=H|T{^;F-M~GvnrU)w})ITwBZ5!4aO#!Eah{Hs}*my+FNKlx15Y;@E{O|Cxu_K1UxkS+SI)7yVNsn zheT;j0aO&4q>u=pPj^7JAzBI;QS?!*Bf{8^Dv=FvCi%#Hk4&s zsH|OGnf=Y{;agP96_>3Aj`h{N+;r0PnNN=eygv^HTA^n|a&wh9GvPgcI`vBV$eP0E zxccEcu$MjXCdtGdMv?s55ECKo&yU#XFJllXzTey%p>x>plA3yF)Bi^ebq+X2vqhmw zv@YVaS2`L{2_C;@#D<2jI}xQ`W^(U3H+lC+aA~Cz_r0wJBrT3H?(h7CuDp^VtRC1duf#g-YaB*b#w4MHE3 z7t6iZtcP$1-Bg?W9kTJqXja%Ix zBmi~j_v)!?>&#jwm{@SLmh<;H=sKMK=;n{rE6&{JobgQ&gls_d;$!Faz7v~doRFJ$ zi#rLdmuNzop4ZJ$EgDFxzTM5x1tWVeH-b9S#9AyC86`{&1ctllEnBJZx$2bP=?FWi zb(LA(X1?kAPmNGM)Bxa&PC`N7YckG_jbZ`@1-Oe>Jh>t1V5ocR)s_`U^$NytR78O~C~`16^yfz~*F zH_klan@?o=|=fd$mBP;Agd;I#Q6Js;t%<>xJ7YA(BhlV7$czQ zXNH0V#WtcvkJfqRX{@~`<5TIbWcK3C#^cy^Bf`E?xz!L~1^uTd|1TK2d4-QPRIKO4 z7{Hs9Mdlg0H}lUs#avg5B*gNk#iQC&L}(8`LbgQ_{WYHl$1O?PMwD>@>e5ECqsWq? z>SN0lN6s)oQoPj)Lvk~TjoO9)x>lsH;ZiHFBs8i05cMR}h9stdS;}LdMw%!t2^={! ztm38&_T>3z0qyR7cvu4m+Ke3q5aI!J*C)-06Vz?WV&#s7nL^cqj_T+q6tp12xQE7Ep z5W;1T&k^77KH|!@*fwVQR)z{^~YiV`lnmOW= z1b9(#QWAJf)@DqQClB@N{aXbc9o^1Fv2=USqe&Q^fy)zl`q(++|I+zbqyNeQTA-H3 zC+*8v6(`FhRv<$&4)L;8;Yjo!JU#1#l@*vy{|*erND1OG!Wb~KU=e2jWIJ&8!=o>C z-WDuB+q!nl3dF!CnXat{>6CvrMcfAW1sI8bX?`r7pCti&-=?np|LEHELSze;BjO%4 zBVXsV57$6&t=xt&85nF!4u%%Tr;@%rL-W)djURv)vk8Z>tId}v-^vCO>JA*_?o7mk z4)paFU2=#|d&8|X2K{YRCVF>P;I5Y!zp2_Di&oiwW{5hbx4K6MEZrkP@zFmWrf(_9 zlDrX?dJ?4ZmKScW6k-MqkN8Jo|6gw>8xreS9$;R4*b7tMIUF9ltFR^VS@1_BEO6z4 W#hryulJCIQusUvSR(#AY>i+@3DpDQ* diff --git a/desktop/resources/outsidehouse/note.png b/desktop/resources/outsidehouse/note.png index b17b17fe789343611e6e6b13d19413423e6082f2..9075e629670971f2de2570fd4ef7385f9daa89e0 100644 GIT binary patch delta 272 zcmV+r0q_3z3fT&Nd%5#)n&r*{8G_KA_1D~32s3|SqB&Dd6z z57z8xZN|VZDh8L|v0)3C?GfMu7sF-<6G#@M86Chh{(SukT?&QIRMj?-asSa%D1yiw zkQ~eqbgzQcfn5MI1f&qA7$gaE1&ECcfDHgiUb=RR0h>!ehTwm51>68+Ltrj}xdz=3 zWY>VB3nmZ|;0cdTJuNkO;KE`D6f>~cg2f1m3s!8{4mS|yC1mHrTmrKYM57o05FvDPm004$; Wf+1aJmf!#Y000O{MNUMnLSTY+CTK?h delta 302 zcmV+}0nz^13ik@IQv`nj4oO5oR5%gEl0OasK@`TvM&bkPCFpj!Jq`Ci^k?6xMEoj31$`Xf`MytOs$bt+>^Y` z<;4+%!)EK=ucy`!h>=~zAcz+8nYTK1apxcQ#*Rg*;9!YGSsb~TLoX&|! z`5`nyez}O|i=`YG3t0>dUHC|UCJrpbm%k9gp@l940O59jNM|ve&<&h0A3_uW0SzD& zqod_PM9eywSs^9}c>>BTDjMz9vN}Dd%Wjo^07$5r@{<1(YybcN07*qoM6N<$g1 diff --git a/desktop/src-common/advent/screens/items.clj b/desktop/src-common/advent/screens/items.clj index 7cb5faad..cefe64da 100644 --- a/desktop/src-common/advent/screens/items.clj +++ b/desktop/src-common/advent/screens/items.clj @@ -109,7 +109,7 @@ :rope {:name "Rope" :value :rope :cursor :rope} :crowbar {:name "Crowbar" :value :crowbar :cursor :crowbar} :flask-2 {:name "Flask" :value :flask-2 :cursor :flask} - :flask-water {:name "Water from fountain" :value :flask-water :cursor :flask :scripts {:ash (make-water-and-ash) :flies (make-water-and-flies)}} + :flask-water {:name "Water from fountain" :value :flask-water :cursor :flask-water :scripts {:ash (make-water-and-ash) :flies (make-water-and-flies)}} :flask-water-ash {:name "Water and ashes" :value :flask-water-ash :cursor :flask-with-contents :scripts {:flies (make-flies-ash)}} :flask-water-flies {:name "Water and flies" :value :flask-water-flies :cursor :flask-with-contents :scripts {:ash (make-flies-ash)}} :flask-flies-ash {:name "Water, flies, and ash" :value :flask-flies-ash :cursor :flask-with-contents :scripts {:feather (make-finished-component)}} @@ -124,4 +124,9 @@ :money {:name "Money" :value :money :cursor :money} :watch {:name "Watch" :value :watch :cursor :watch} :broken-watch {:name "Halved watch" :value :broken-watch :cursor :broken-watch} - :slingshot {:name "The Slinger's Shot" :value :slingshot :cursor :slingshot}}) + :slingshot {:name "The Slinger's Shot" :value :slingshot :cursor :slingshot} + :note-2 {:name "Another note from Gandarf" :value :note-2 :cursor :note} + :camera {:name "Image taking device" :value :camera :cursor :camera} + :walkie-talkies {:name "Communication devices" :value :walkie-talkies :cursor :walkie-talkies} + :walkie-talkie {:name "Communication device" :value :walkie-talkie :cursor :walkie-talkie} + :flashlight {:name "Lighting device" :value :flashlight :cursor :flashlight}}) diff --git a/desktop/src-common/advent/screens/rooms/castle_gate.clj b/desktop/src-common/advent/screens/rooms/castle_gate.clj index 7ee9bec4..e4ab2d76 100644 --- a/desktop/src-common/advent/screens/rooms/castle_gate.clj +++ b/desktop/src-common/advent/screens/rooms/castle_gate.clj @@ -17,6 +17,16 @@ (actions/walk-to entities :ego [268 61] :face :left)) +(defn drop-walkie-talkie [entities] + (actions/talk entities :ego "I'll drop one of these off in here.") + (actions/walk-to entities :ego [155 64]) + (actions/walk-straight-to entities :ego [106 18] :face :left) + (actions/play-animation entities :ego :squat) + (actions/remove-item entities :walkie-talkies) + (actions/give entities :walkie-talkie) + (actions/walk-straight-to entities :ego [155 64])) + + (defn present-frankie-choices [entities] (actions/present-choices entities {:choices ["Please, Frankie. Give me my stuff back!" @@ -97,7 +107,10 @@ :stand stand))) - +(defn attempt-walking-through-gate [entities] + (actions/walk-to entities :ego [157 83]) + (actions/transition-background entities :inside-castle [280 145]) + (actions/walk-to entities :ego [245 90])) (defn make [screen] @@ -111,7 +124,9 @@ :cursor :right} :left-dir {:box [105 93 169 212] :script (actions/get-script entities (attempt-walking-through-gate entities)) - :cursor :left}} + :cursor :left} + :big-tree {:box [20 10 82 235] + :scripts {:walkie-talkies (actions/get-script entities (drop-walkie-talkie entities))}}} :layers {:day [(assoc (texture "castle-gate/background.png") :x 0 :y 0 :baseline 0)] :night [(assoc (texture "castle-gate/background.png") :x 0 :y 0 :baseline 0)]} diff --git a/desktop/src-common/advent/screens/rooms/cat_tree.clj b/desktop/src-common/advent/screens/rooms/cat_tree.clj index a702f199..4681ad97 100644 --- a/desktop/src-common/advent/screens/rooms/cat_tree.clj +++ b/desktop/src-common/advent/screens/rooms/cat_tree.clj @@ -213,6 +213,24 @@ (when (get-in @entities [:room :entities :ladder]) (actions/talk entities :ego "I'll get down.") (get-down entities)))})))}} + :rock {:box [62 83 101 103] + :script (actions/get-script entities + (when (and (actions/has-obtained? entities :note-1) + (not (actions/has-obtained? entities :walkie-talkies))) + (actions/walk-to entities :ego [85 99]) + (actions/play-animation entities :ego :squat) + (actions/do-dialogue entities + :ego "Hey! A little lever." + :ego "I think this is Gandarf's stash of helpful stuff.") + (actions/play-animation entities :ego :squat) + (actions/give entities :flashlight) + (actions/do-dialogue entities :ego "What is this?") + (actions/play-animation entities :ego :squat) + (actions/give entities :camera) + (actions/do-dialogue entities :ego "These are all really strange devices.") + (actions/play-animation entities :ego :squat) + (actions/give entities :walkie-talkies) + (actions/do-dialogue entities :ego "I wonder what all of these magic devices do.")))} :grass {:box [26 105 60 160] :script (actions/get-script entities (if (not (actions/has-item? entities :grass)) @@ -313,5 +331,6 @@ entities) (if (= :night (get-in entities [:state :time])) (make-night entities) - entities))) + (utils/remove-interaction :rock) +))) :start-pos [203 1]))) diff --git a/desktop/src-common/advent/screens/rooms/common.clj b/desktop/src-common/advent/screens/rooms/common.clj index 4d26be49..b20b21b0 100644 --- a/desktop/src-common/advent/screens/rooms/common.clj +++ b/desktop/src-common/advent/screens/rooms/common.clj @@ -52,4 +52,47 @@ :ego "'I will give you more instructions when I can.'" :ego "'And please hurry, because we're being forced into a karaoke competition.'" :ego "'I'm about at my witt's end.'" - :ego "'P.S., Guard that slingshot with your life!'")) + :ego "'P.S., Guard that slingshot with your life!'" + :ego "'P.P.S., If anything goes wrong, you can look for supplies behind a nearby r...'" + :ego "It just cuts off there.")) + +(defn read-note-2 [entities] + (actions/do-dialogue entities + :ego "It's another note from Gandarf. It's written on the back of a bingo card. It reads:" + :ego "'Boy, the situation is dire. I don't have much time. Please hurry.'" + :ego "'We've been forced into playing bingo for the last 3 hours.'" + :ego "'You are almost done with the spell to restore magic to The Slinger's Shot.'" + :ego "'You haven't lost it, right?'" + :ego "'You need to add the root of all evil to the cauldron.'" + :ego "'Also, you'll need to add a split second.'" + :ego "'Then, dip the Slinger's Shot in to complete the spell.'")) + + +(defn listen-1 [entities] + (actions/talk entities :ego "Did you see the look on Faceplant's face when we took his stuff?" :animate? false :stop? false) + (actions/talk entities :ego "It looked like he was about to pee his pants." :animate? false :stop? false) + (actions/talk entities :ego "Am I right boys?" :animate? false :stop? false)) + +(defn listen-2 [entities] + (actions/talk entities :ego "Hey Bubba, did you put our spoils in our secret stash yet?" :animate? false :stop? false) + (actions/talk entities :ego "You don't remember where it's at?" :animate? false :stop? false) + (actions/talk entities :ego "It's right outside the jail." :animate? false :stop? false) + (actions/talk entities :ego "You just have to pull the secret lever." :animate? false :stop? false) + (actions/update-state entities #(assoc % :knows-about-stash? true :stop? false))) + +(defn listen-3 [entities] + (actions/talk entities :ego "We're going to be rich after we fence this stuff we've stolen." :animate? false :stop? false) + (actions/talk entities :ego "Am I right boys?" :animate? false :stop? false)) + +(defn listen-to-frankie [entities] + (if (get-in @entities [:room :entities :frankie]) + (do + (actions/play-animation entities :ego :reach-up :stop? false) + (Thread/sleep 1000) + (actions/play-animation entities :ego :reach-down :stop? false) + (actions/talk entities :ego "I don't hear anything in it.")) + (do + (actions/talk entities :ego "I'll just give it a listen.") + (actions/play-animation entities :ego :reach-up :stop? false) + ((rand-nth [listen-1 listen-2 listen-3]) entities) + (actions/play-animation entities :ego :reach-down)))) diff --git a/desktop/src-common/advent/screens/rooms/outside_castle.clj b/desktop/src-common/advent/screens/rooms/outside_castle.clj index 3e088c1e..37c42216 100644 --- a/desktop/src-common/advent/screens/rooms/outside_castle.clj +++ b/desktop/src-common/advent/screens/rooms/outside_castle.clj @@ -1,6 +1,7 @@ (ns advent.screens.rooms.outside-castle (:require [advent.screens.items :as items] [advent.screens.rooms :as rooms] + [advent.screens.rooms.common :as common] [advent.screens.rooms.castle-gate :as castle-gate] [advent.actions :as actions] [advent.utils :as utils] @@ -196,7 +197,7 @@ :frankie "And what's this?" :frankie "The Slinger's Shot?" :ego "No, not the Slinger's Shot!" - :franki "Look like we hit the jackpot tonight boys!") + :frankie "Look like we hit the jackpot tonight boys!") (frankie-comment-on-item entities) (actions/give entities :money) (actions/do-dialogue entities @@ -227,11 +228,20 @@ (actions/transition-background entities :inside-castle [280 145]) (actions/walk-to entities :ego [245 90])))) + +(defn add-note-if-necessary [entities] + (if (and (actions/has-obtained? entities :spell-component) + (not (actions/has-item? entities :spell-component)) + (not (actions/has-obtained? entities :note-2))) + (update-in entities [:room :entities] #(assoc % :note (get-in entities [:room :note]))) + entities)) + (defn make-night [entities] (-> entities (update-in [:room :entities] #(dissoc % :peddler)) (update-in [:room :entities] #(dissoc % :balloons)) - (utils/remove-interaction :wares))) + (utils/remove-interaction :wares) + add-note-if-necessary)) (defn make [screen] (let [peddler-sheet (texture! (texture "outside-castle/peddler-talk.png" ) :split 18 36) @@ -355,6 +365,12 @@ (actions/play-animation entities :ego :squat) (actions/give entities :flies) (actions/talk entities :ego "Hopefully they won't fly out of my backpack."))})} + :note (rooms/make-entity :note (assoc (texture "outside-castle/note.png") + :x 198 :y 66 :baseline 174 + :script (actions/get-script entities + (actions/walk-to entities :ego [210 79] :face :left) + (actions/play-animation entities :ego :squat) + (common/read-note-2 entities)))) :collision "outside-castle/collision.png" :scale-fn (utils/scaler-fn-with-baseline 110 0.10 1.00) :start-pos [310 80] diff --git a/desktop/src-common/advent/screens/scene.clj b/desktop/src-common/advent/screens/scene.clj index 7d18d3fd..ddfc0f15 100644 --- a/desktop/src-common/advent/screens/scene.clj +++ b/desktop/src-common/advent/screens/scene.clj @@ -136,6 +136,10 @@ (texture (aget player-sheet 0 i)))) stand-anim (animation 0.1 (for [i (flatten [(repeat 6 [(repeat 10 0) (repeat 3 1) (repeat 20 0)]) 3 4 5 5 5 6 5 6 5 6 5 4 3 ])] (texture (aget stand-sheet 0 i)))) + reach-up (animation 0.1 (for [i [0 3 4 5]] + (texture (aget stand-sheet 0 i)))) + reach-down (animation 0.1 (for [i [5 4 3 0]] + (texture (aget stand-sheet 0 i)))) talk-anim (animation 0.2 (for [i (range 8)] (texture (aget talk-sheet 0 i)))) start-squat (animation 0.05 (for [i [0 1 2 3 4]] @@ -181,6 +185,8 @@ :hold-up-to-window hold-up-to-window :swing swing :grow-talk grow-talk + :reach-up reach-up + :reach-down reach-down [:fire 1] fire-1-anim [:fire 2] fire-2-anim [:fire 3] fire-3-anim @@ -199,6 +205,8 @@ :grow (utils/flip grow) :hold-up-to-window (utils/flip hold-up-to-window) :grow-talk (utils/flip grow-talk) + :reach-up (utils/flip reach-up) + :reach-down (utils/flip reach-down) [:fire 1] (utils/flip fire-1-anim) [:fire 2] (utils/flip fire-2-anim) [:fire 3] (utils/flip fire-3-anim) @@ -238,6 +246,11 @@ :ego "'Not more than that do drink,\nOr you'll push your body to the brink.'" :ego "Hmm. I wonder what that last part means?")) :note-1 (actions/get-script entities (common/read-note-1 entities)) + :note-2 (actions/get-script entities (common/read-note-2 entities)) + :camera (actions/get-script entities (actions/talk entities :ego "It's some sort of magical device that captures images.")) + :flashlight (actions/get-script entities (actions/talk entities :ego "It's a magic device that gives off light.")) + :walkie-talkies (actions/get-script entities (actions/do-dialogue entities :ego "If I talk in one of these devices, I can hear it in the other one!")) + :walkie-talkie (actions/get-script entities (common/listen-to-frankie entities)) nil)) :x (first start-pos) :y (last start-pos) :id "ego"}] diff --git a/desktop/src-common/advent/utils.clj b/desktop/src-common/advent/utils.clj index 83c4a6e0..1c5f6415 100644 --- a/desktop/src-common/advent/utils.clj +++ b/desktop/src-common/advent/utils.clj @@ -14,7 +14,7 @@ (let [{:keys [x y]} (input->screen screen {:x (:input-x screen) :y (:input-y screen)})] (println (:input-x screen) (:input-y screen) "->" x y))) -(def +all-cursors+ [:main :wool :mushrooms :carrot :right :down :left :up :flask :flask-with-contents :trophy :ladder :stick :cat-toy :balloon :frog-legs :teddy :portrait :recipe :glass-eye :motivational-tapes :used-earplugs :grass :slobber :flask-with-strength :medal :kiss :sword :hourglass :mandrake :ball-n-chain :key :rope :crowbar :note-1 :ash :sack-lunch :flies :spear :monocle :feather :spell-component :money :watch :broken-watch :slingshot]) +(def +all-cursors+ [:main :wool :mushrooms :carrot :right :down :left :up :flask :flask-with-contents :trophy :ladder :stick :cat-toy :balloon :frog-legs :teddy :portrait :recipe :glass-eye :motivational-tapes :used-earplugs :grass :slobber :flask-with-strength :medal :kiss :sword :hourglass :mandrake :ball-n-chain :key :rope :crowbar :note-1 :ash :sack-lunch :flies :spear :monocle :feather :spell-component :money :watch :broken-watch :slingshot :camera :walkie-talkies :flashlight :walkie-talkie :flask-water]) (defn cursor [filename which] (let [scale 2