From 7ad3bdc4efae79ccff15272e0e0abd821bcf85bb Mon Sep 17 00:00:00 2001 From: Remington Covert Date: Wed, 18 Mar 2015 07:06:06 -0700 Subject: [PATCH] made things a little more rewarding. --- desktop/resources/ego/squat.png | Bin 2513 -> 2807 bytes desktop/resources/ego/squat.pxa/3.pxi | Bin 264078 -> 526471 bytes desktop/resources/ego/squat.pxa/CelData.plist | 8 +++++ desktop/settings.edn | 2 +- .../advent/screens/rooms/outside_house.clj | 34 +++++++++++------- desktop/src-common/advent/screens/safe.clj | 6 +++- desktop/src-common/advent/screens/scene.clj | 13 +++++-- 7 files changed, 46 insertions(+), 17 deletions(-) diff --git a/desktop/resources/ego/squat.png b/desktop/resources/ego/squat.png index e6934087b58ecb6695f561f7ecd354957a486a49..0d48f62ebada9eb052718cabed782cff1e0a77f2 100644 GIT binary patch delta 1756 zcmV<21|#{=6ZaJ%iBL{Q4GJ0x0000DNk~Le0001f0000a2nGNE08ciK8L=TU1b+sO zNkleu?V5XDk`LET2d7fq~@bVOCnmNwu)l$de_{nanG4^X3m*ANpq+7 zz`f@&`>ffs*V=pLPNGz!H6q{=fq$P4tth+LHEia01e#sk8+>+gNcR4{lP+6QZ6Khl zSAN};YS=KCl?cR$2O%JL&D|v>Nj`Mq-@t*P_kYVwRzpCu!eJ)R2#JyyiT2*u0(H-g zXM?2;+fGIHNIN;6D*@r0u0Bcs^l_~fsMh^?`$IgNUl9^PJTm*_sms-_M}Kcp&8RVSO{gExNsiA=<)TP&~Qujap zP%sw!CJs#kTDw+k*|tec%tKrNZ#V2=DJ#&Bd24JnuL_ig6FaeGAq~g%mYNkOlD!CY z-wnM%rh{y>KYttvh)0j+lYjBVG6~2P$0VS@k(n=79Jz;MDIk~Z(lZG-eD=W@NrRS# zWx~O}Jp6IRiDi6w;xDCItAqmtjigs+Zr>yw0($%PRUrl{h)%{VLtx9``1Ae2Pg*?xupwTUqvsez(3WUwqpw3LiAC@uarC$O6JOw=MoXAR2wvmY1Nj;zWq&Mc}@Pj76q{Y<}7w{vh&9 zKzqF}qJTQK4kuo_6n{aQE#j3|Ma+t0Bp!}!SnxTzz(Ig_@BJ>A`+OBmK&WJBvfTT` zgSL59#9DBSDt_|A*7En`XVkS_3+b!E9PQx1AI3eQp*FZ<%Vp)kv%TT!%@fDeFZ(9F zFtC~T&8E&vLM+z`#0@7uez}b5rN5uRnk&}oTie6e*Tj`Qs(+oFCyn#)2l!cVVos8D z0D^cBetgGsYRwzFf-%;1uA7eSgT3B}RWt$NI!yxbA)T?xL(stT#fg=AW;Vb$?s)3e zVEpaqRpA1WiBa6X)oY1g~E& z_emVa2xRK^ws{sDEAhx|Haf$(Pme0WRs;d@TF}dY%YSu@anI#_S3joDB@SZbb4!(2 zJ~%PrO_^8=VMP#75{a_h%h>V77oNB!IcZ}gnNLNu;icikh_?axuFD{BZ@mhLB=S0B z72}%TuOEF$@uMG;a~&&dj9hUbVu&&JM;hsrX?(bIx$4-L&%a-p@bxta2oHj?WepB6 z^a|vHb$|WN!SM9(#}>3|rmD()eySW5zCB*>N7}Z0^?*{PkAm}Ed1ooC7Kl3pX!~oV zD-JItb`5yBGT2%9gG6WL?VXAS{K)3}s{6JMbART(o&!Mu`uXu#?iIjU4b!kKU&s;>THiUN|=!bm&}?tSowu*~4( zV+Z%3^J+yE5QymNuf9BzPtvYrGl&qA>E|DR!w0w21hUg`LNUw;i1z4>#7l#B->PPL zX@AKJ5g|w$+qh@~N-N#AIGnF_`fCzUBJm_WZ^t2`$)8_zDup<=O+dalwhGj{qgu@< zZWrGcO?(pzOKHiTNOH_)oLT!h7mG?|Adg@+0M&s0`b0?PfY0(*L;M;J%9CxGp8BPK%vhPV7Z@T3V`#p-b7N`9@Fu9 z$C(r2^9m9O$P>#%=!LR2Yo%WQIVb~)EX^z9C2nKv9sw)yr$6bApe$|Lu9mj8ln+dw zPJJ4eq}P(65+~wJV^VVjti%I(wIJGsaC!sLq}jU&$pr`JOv1u7wA_A#uBG-itTCeE yqz1&t073Gxx7p@_lLrR;D=LmH_Ko#|M&LgMUQn{E8Gii$0000F delta 1460 zcmV;l1xxz(710wRiBL{Q4GJ0x0000DNk~Le000150000a2nGNE011FCv#}vE1b+o+ zNklNP-&H|gk7TchoZ6@C8Aj&&)oZ*bMMT&tJHm|O$IKVT7Ouo&6(Bqtm=KH*ZuaifZQVohkQa3eUPx3i+-p} zbS#L2MKlNinaf{jRg% zk5|HQPv1Go`GxgrcUV%qK^llgklOqDQ>wmkL3lo@sbh-~V>y%!_kUW##NdLz3C|X-P5?_W37^0}SktG*U}D z4D)8<`OJci1Y?Xk>{2Qz7_}h7>rW4;J0pF8&+QZ6D_m(sC#)QVBr#EJ(_oniI}n6s zNf@6y*kKS90rdblLOK8L3jKBP^{q{l~E`K}(N%jNJE>XB3 zwCPUFpCTs=%Wj%>T@#DeR}7*VgmVuSiAn~!yqaJ8$~e>MA8w17u$CRYv1^y4yL_EQ zgSd5*ztjAIa9r~bo(uDt*e_bbuu~!O_(&vS)WMmhH@|Ky{W9>EdVJ2500(`@v97NRr_IqCxQa-S4R7pYGKfwx^1>Qf5H5Zqi5}>EEbs?G zc}NiwhF!$M0VmMeM;o=vB8k59aOL3#FcJhktrRU`a{VM&+Nk5<%?CJa7SXPwp_+;= zLc+qNkxaDmL4Pl~yW#Yws58N z3DdHp*RW^lAYmw@!c0AYS@J=|xKzkAbN5#@SCB3;#dzuD>_F*mg9%Fmr0j8 z$)R6di-c|7_q^d!&734q5>9MIOQ34?tmH)9m(>EI(^fVy<(z0slQ_os;EZcUb7E+- zEJ(&vC*kZTwJuVUVqD{CamIz{w3BizjJ7CG4QCNB5I46?T$jN4nXIvgQd0=2ZdEszv_uDaI;6L5Q(*BlO${PRx O00{s|MNUMnLSTZ=@x?6w diff --git a/desktop/resources/ego/squat.pxa/3.pxi b/desktop/resources/ego/squat.pxa/3.pxi index 6c6c8de1165e023ebd184c652ed70efb5faec2d5..763e89b2f9f9c4f4e2f6bc214e5048520a0eb324 100644 GIT binary patch delta 1854 zcmZ9~32+lt7zgm(>RN>m>tn5*vbH`68m{>Tath{2nX@+^; z0=s+3(q%0#uJ7F3^@gu!*WN?#_aE(it~foG@^mCMsJU|yd}K^@xhca@yU=QJyL?g6 zl%o+eZRnkE;sApt)#wHCL7dO(s1uiR9Xm^tp!e}=;>Bh%m9$3+>Wjvu)&+#gTX&oPQFx3%uE#a>+Q;a99&wQ9AOO5qAp zlb%ZBXwn6KO z#8(Rp^lcF2x39E!lx1b)+&^*|s;g0ln(U%$0TwY4Y3rSiC5?5MyG4?2D@a7pt6N`t zecN_H(sIO+*c!*LeX|?Yl4(kfI;7Yxx*wgjW2dy2BT>q?-hKyj5JpOKIiib2!rkwp zl+pa4NTH)~zOCN3N08zOiBRo(ub1!Jf8e0>3?T-7I2}RLM8{04u) zKkzTyg#X|+!>~$*@v=h@XkaLWLnLS+7UDqIkZAM<0b4?1lwRI?1p|g3a8*RI1OjuDqMp<;TA&_ECd4&VGs{`NQ7ia z1p{QlXc!B*Fb?uzJQR3wDuhW;0;Nz6MyP^nm;>`b1PfT9o>3_pU-28KcmBtRyNf-#T-c~A(&PzJMME;wNsw8LiD1;^lP z_zC`IR73&6fPw@C3F;9&q(DBS@)9H_)qoul?1p#&$%q7d;1HaIGjIvMgCF2BT!HIw u3vM$iWf1Uy%_t)v7O){@8e~8&Oo39EhM$mOv}k4^V3UaRDsX%6*Dm5rxe-Cn6M;n=qs>Cbp#_P$;&bRL3}zIp*d- zgi$ARO3^s87?VvU%i_pxUzTh!0?Eb)lU=?n%Vu^-mSxGdf9s6dll+bONSuBgPqG}P5Gr{q=yxg29U3^m3W0r#TMO&WQTC%O8vZ{J_U45hd zK+nOx{^ySkpLp%{GjE(5Z!ceyAoL_W5R3301@{CF@gC z)6z|=Gcw1Qvs1DY^f_zHjm+wD`F*pwd5?++5hC-PV8+u8jkUJ$*We!OgLKK(q;GzvrDbpHzQCxWYh7m&i6V7T??`pFx%Rg= zIqc4^Qjgo?ZE%L3B1Nnc$s%c?qf_7I?hYiWy5v?P#XY_3Cp~b4MHwov6P2h&BU<2;G`Ryk@Z%W9a2nINfNOXUAK(_|C2dIllw=uq@dJLv zANWVo6a_Je$68dN5gr_b5B)d{nkqC^PJ*V&B&Ki%XEB2-xQX|{CX`#!kfwZ0@;Sc1 zBEH4<_!ECin)(QmVL>^bMJEPv0;fPjm4+$})wgjK989II`VD@TG)+b%sHLT$5Ss^h z>_P(^;2Jd-+QD^dy%@%EjA8duration 1 + + duration + 1 + + + duration + 1 + diff --git a/desktop/settings.edn b/desktop/settings.edn index 61ad08f4..3922b2b0 100644 --- a/desktop/settings.edn +++ b/desktop/settings.edn @@ -1 +1 @@ -{:sound-volume 0.0, :music-volume 0.0} \ No newline at end of file +{:sound-volume 56.0, :music-volume 30.0} \ No newline at end of file diff --git a/desktop/src-common/advent/screens/rooms/outside_house.clj b/desktop/src-common/advent/screens/rooms/outside_house.clj index 41be2501..1e3a9c14 100644 --- a/desktop/src-common/advent/screens/rooms/outside_house.clj +++ b/desktop/src-common/advent/screens/rooms/outside_house.clj @@ -36,6 +36,13 @@ (actions/has-obtained? entities :money) (not (actions/has-item? entities :money)))) +(defn walk-to-sheep [entities] + (actions/walk-to entities :ego [154 133]) + (actions/walk-straight-to entities :ego [119 134] :update-baseline? false)) + +(defn leave-sheep [entities] + (actions/walk-straight-to entities :ego [154 133] :update-baseline? false)) + (defn put-something-in-cauldron [item] (condp = item :money (actions/get-script entities @@ -337,13 +344,13 @@ (if (actions/has-item? entities :wool) (actions/talk entities :ego "The sheep has given me enough wool.") (if (is-sheep-close? @entities) - (do (actions/walk-to entities :ego ego-sheep-loc :face :left) + (do (walk-to-sheep entities) (actions/play-animation entities :ego :reach) (actions/give entities :wool) - (actions/talk entities :ego "I guess her wool is shedding.")) + (actions/talk entities :ego "I guess her wool is shedding.") + (leave-sheep entities)) (do (actions/talk entities :ego "Come here mama sheep!") - (actions/glad entities) (actions/play-animation entities :ego :sigh) (actions/talk entities :ego "She's too far away for me to pet her."))))) @@ -351,31 +358,34 @@ :wool (actions/get-script entities (actions/talk entities :ego "She doesn't need it back.")) :grass (actions/get-script entities - (actions/walk-to entities :ego ego-sheep-loc :face :left) + (walk-to-sheep entities) (actions/talk entities :ego "Come on girl, get the grass!") (actions/play-animation entities :ego :reach) (actions/talk entities :ego "I think she's not interested.")) :carrot (actions/get-script entities - (actions/walk-to entities :ego ego-sheep-loc :face :left) + (walk-to-sheep entities) (actions/talk entities :ego "Come on girl, get the carrot!") (actions/walk-straight-to entities :sheep [90 138] :update-baseline? false) (actions/play-animation entities :ego :reach) (actions/remove-item entities :carrot) - (actions/update-state entities (fn [s] (assoc s :coaxed-sheep? true)))) + (actions/update-state entities (fn [s] (assoc s :coaxed-sheep? true))) + (leave-sheep entities)) :flask-1 (actions/get-script entities (if (is-sheep-close? @entities) - (do (actions/walk-to entities :ego ego-sheep-loc :face :left) - (actions/play-animation entities :ego :reach) + (do (walk-to-sheep entities) + (actions/play-animation entities :ego :milk) (actions/remove-item entities :flask-1) (actions/give entities :flask-1-with-milk) - (actions/talk entities :ego "Sheeps milk.")) + (actions/talk entities :ego "Sheeps milk.") + (leave-sheep entities)) (actions/talk entities :ego "She's too far away."))) :flask-1-with-mushrooms (actions/get-script entities (if (is-sheep-close? @entities) - (do (actions/walk-to entities :ego ego-sheep-loc :face :left) - (actions/play-animation entities :ego :reach) - (items/make-cream-of-mushroom entities)) + (do (walk-to-sheep entities) + (actions/play-animation entities :ego :milk) + (items/make-cream-of-mushroom entities) + (leave-sheep entities)) (actions/talk entities :ego "She's too far away."))) nil) :left {:walk (utils/flip sheep-walk) diff --git a/desktop/src-common/advent/screens/safe.clj b/desktop/src-common/advent/screens/safe.clj index bd064115..104e3fd9 100644 --- a/desktop/src-common/advent/screens/safe.clj +++ b/desktop/src-common/advent/screens/safe.clj @@ -18,6 +18,7 @@ (def start-y 83) (defn close [entities] + (screen! @(resolve 'advent.screens.scene/scene) :on-reactivate) (-> entities (assoc :shown? false) @@ -69,6 +70,7 @@ entities)) :show-screen (fn [{:keys [success failure]} [entities]] + (sound! (sound "inside-house/open-safe.ogg") :play (utils/current-sound-volume)) (assoc entities :start-showing? true :button-choices [] @@ -103,7 +105,9 @@ (> x (+ start-x 200)) (< y start-y) (> y (+ start-y 75))) - (close entities)))))) + (do + (sound! (sound "inside-house/close-safe.ogg") :play (utils/current-sound-volume)) + (close entities))))))) :on-resize (fn [{:keys [width height viewport]} entities] (.update viewport width height))) diff --git a/desktop/src-common/advent/screens/scene.clj b/desktop/src-common/advent/screens/scene.clj index 16c03a91..9bbbc506 100644 --- a/desktop/src-common/advent/screens/scene.clj +++ b/desktop/src-common/advent/screens/scene.clj @@ -198,6 +198,7 @@ scared-walk (utils/make-anim "ego/scared-walk.png" [16 36] 0.05 (range 6)) sigh (utils/make-anim "ego/sigh.png" [18 36] 0.08 [0 0 0 0 1 1 1 2 3 4 5 6 7 8 8 8 8 8 8 8 8 8 0 0 0 0 ]) glad (utils/make-anim "ego/glad.png" [20 46] 0.04 (flatten [0 1 2 3 4 (repeat 8 [5 5 5]) (repeat 20 0)])) + milk (utils/make-anim "ego/squat.png" [18 36] 0.05 [0 1 2 2 3 3 3 3 3 3 6 5 6 5 6 5 6 5 6 5 6 5 6 5 6 5 6 5 6 5 3 3 3 3 3 3 3 3 3 3 3 2 1 0]) ego {:right {:walk walk-right :stand stand-anim @@ -233,7 +234,8 @@ :scared-talk scared-talk :scared-walk scared-walk :sigh sigh - :glad glad} + :glad glad + :milk milk} :left {:walk (utils/flip walk-right) :stand (utils/flip stand-anim) :talk (utils/flip talk-anim) @@ -259,12 +261,14 @@ :spear (utils/flip spear) :pant (utils/flip pant) :sigh (utils/flip sigh) - :glad (utils/flip glad)} + :glad (utils/flip glad) + :milk (utils/flip milk)} :baseline (- 240 (last start-pos)) :facing :right :origin-x 9 :origin-y 0 :scaled true + :milk-sound (sound "outsidehouse/milk.ogg") :step-sound-1 (sound "ego/step-1.ogg") :step-sound-2 (sound "ego/step-2.ogg") :sigh-sound (sound "ego/sigh.ogg") @@ -338,7 +342,10 @@ 143 [:blink 0.15] 176 [:blink 0.15]} (get-in ego [:left :sigh]) {1 [:sigh-sound 0.4]} - (get-in ego [:right :sigh]) {1 [:sigh-sound 0.4]}} + (get-in ego [:right :sigh]) {1 [:sigh-sound 0.4]} + (get-in ego [:left :milk]) {8 [:milk-sound 1.0]} + (get-in ego [:right :milk]) {8 [:milk-sound 1.0]} + } :anim-merges {(get-in ego [:right :shock]) {:origin-x 15} :default {:origin-x 9}})] (actions/start-animation screen