From fbec0dc46d0d4f636896b53cc973093d3e853a1a Mon Sep 17 00:00:00 2001 From: Remington Covert Date: Fri, 13 Mar 2015 19:09:58 -0700 Subject: [PATCH] changes --- desktop/ready-for-magic-slingshot.edn | 2 +- desktop/ready-to-pull-sword.edn | 2 +- desktop/resources/dream/magic | 16 +- desktop/resources/ego/dot.png | Bin 1142 -> 1140 bytes desktop/resources/ego/glad-jump | 163 ++++++++++++++++++ desktop/resources/ego/glad.png | Bin 0 -> 3273 bytes desktop/resources/ego/glad.pxa/0.pxi | Bin 0 -> 264093 bytes desktop/resources/ego/glad.pxa/1.pxi | Bin 0 -> 264093 bytes desktop/resources/ego/glad.pxa/2.pxi | Bin 0 -> 264093 bytes desktop/resources/ego/glad.pxa/3.pxi | Bin 0 -> 264093 bytes desktop/resources/ego/glad.pxa/4.pxi | Bin 0 -> 264093 bytes desktop/resources/ego/glad.pxa/5.pxi | Bin 0 -> 264093 bytes desktop/resources/ego/glad.pxa/6.pxi | Bin 0 -> 264093 bytes desktop/resources/ego/glad.pxa/CelData.plist | 34 ++++ .../src-common/advent/screens/rooms/dream.clj | 46 +++-- .../advent/screens/rooms/outside_house.clj | 76 +++++++- desktop/src-common/advent/screens/scene.clj | 7 +- desktop/src-common/advent/tween.clj | 8 + 18 files changed, 329 insertions(+), 25 deletions(-) create mode 100644 desktop/resources/ego/glad-jump create mode 100644 desktop/resources/ego/glad.png create mode 100644 desktop/resources/ego/glad.pxa/0.pxi create mode 100644 desktop/resources/ego/glad.pxa/1.pxi create mode 100644 desktop/resources/ego/glad.pxa/2.pxi create mode 100644 desktop/resources/ego/glad.pxa/3.pxi create mode 100644 desktop/resources/ego/glad.pxa/4.pxi create mode 100644 desktop/resources/ego/glad.pxa/5.pxi create mode 100644 desktop/resources/ego/glad.pxa/6.pxi create mode 100644 desktop/resources/ego/glad.pxa/CelData.plist diff --git a/desktop/ready-for-magic-slingshot.edn b/desktop/ready-for-magic-slingshot.edn index fe34c5b2..0964a8b1 100644 --- a/desktop/ready-for-magic-slingshot.edn +++ b/desktop/ready-for-magic-slingshot.edn @@ -1 +1 @@ -{:active? true, :seen-frankie? true, :knows-about-stash? true, :convinced-wizard? true, :time :night, :broke-lock? true, :opened-bars? true, :inventory (:slingshot :trophy :medal :flask-1-strength :walkie-talkie :note-2 :spear :camera :note-1 :key :crowbar :ladder :grass :kiss :sword), :wizard-left? false, :dropped-ball? true, :hay-searches 4, :clues #{}, :stop? false, :warden-sleeping? true, :current-riddle :wool, :warden-fast-asleep? true, :last-room :outside-castle, :wants-toy true, :bent-bars? true, :chest-contents [], :mints-eaten 0, :object nil, :talked-to-owl? true, :obtained-items #{:money :flask-2 :key :slingshot :flies :rope :kiss :spear :medal :sword :magic-slingshot :flask-flies-ash :flask-1 :flask-1-strength :flask-water-flies :walkie-talkies :ash :grass :camera :sack-lunch :ladder :walkie-talkie :trophy :broken-clock :monocle :alarm-clock :crowbar :note-1 :flask-water :note-2 :ball-n-chain :feather :spell-component}} +{:active? true, :seen-intro? true, :seen-frankie? true, :knows-about-stash? true, :convinced-wizard? true, :time :night, :broke-lock? true, :opened-bars? true, :inventory (:slingshot :trophy :medal :flask-1-strength :walkie-talkie :note-2 :spear :camera :note-1 :key :crowbar :ladder :grass :kiss :sword), :wizard-left? false, :dropped-ball? true, :hay-searches 4, :clues #{}, :stop? false, :warden-sleeping? true, :current-riddle :wool, :warden-fast-asleep? true, :last-room :outside-castle, :wants-toy true, :bent-bars? true, :chest-contents [], :mints-eaten 0, :object nil, :talked-to-owl? true, :obtained-items #{:money :flask-2 :key :slingshot :flies :rope :kiss :spear :medal :sword :magic-slingshot :flask-flies-ash :flask-1 :flask-1-strength :flask-water-flies :walkie-talkies :ash :grass :camera :sack-lunch :ladder :walkie-talkie :trophy :broken-clock :monocle :alarm-clock :crowbar :note-1 :flask-water :note-2 :ball-n-chain :feather :spell-component}} diff --git a/desktop/ready-to-pull-sword.edn b/desktop/ready-to-pull-sword.edn index ca3f4bff..5fe20ff6 100644 --- a/desktop/ready-to-pull-sword.edn +++ b/desktop/ready-to-pull-sword.edn @@ -1 +1 @@ -{:active? true, :convinced-wizard? true, :inventory [:ladder :glass-eye :recipe :grass :medal :kiss :trophy :flask-1-strength], :wizard-left? false, :clues #{}, :current-riddle :wool, :last-room :inside-castle, :wants-toy true, :mints-eaten 0, :object nil, :obtained-items #{:kiss :medal :flask-1 :grass :ladder :trophy} :time :day} +{:active? true, :seen-intro? true :convinced-wizard? true, :inventory [:ladder :glass-eye :recipe :grass :medal :kiss :trophy :flask-1-strength], :wizard-left? false, :clues #{}, :current-riddle :wool, :last-room :inside-castle, :wants-toy true, :mints-eaten 0, :object nil, :obtained-items #{:kiss :medal :flask-1 :grass :ladder :trophy} :time :day} diff --git a/desktop/resources/dream/magic b/desktop/resources/dream/magic index 4b0bb994..3f4b7d1e 100644 --- a/desktop/resources/dream/magic +++ b/desktop/resources/dream/magic @@ -74,16 +74,16 @@ active: true lowMin: 0.0 lowMax: 0.0 highMin: 100.0 -highMax: 200.0 +highMax: 250.0 relative: false scalingCount: 3 scaling0: 1.0 -scaling1: 0.7755102 -scaling2: 0.36734694 +scaling1: 1.0 +scaling2: 0.1632653 timelineCount: 3 timeline0: 0.0 -timeline1: 0.45890412 -timeline2: 0.7808219 +timeline1: 0.46575344 +timeline2: 0.6917808 - Angle - active: true lowMin: 270.0 @@ -107,8 +107,8 @@ active: false active: true lowMin: -50.0 lowMax: -50.0 -highMin: -120.0 -highMax: -120.0 +highMin: -180.0 +highMax: -180.0 relative: false scalingCount: 2 scaling0: 0.0 @@ -160,7 +160,7 @@ scaling2: 0.75 scaling3: 0.0 timelineCount: 4 timeline0: 0.0 -timeline1: 0.2 +timeline1: 0.04109589 timeline2: 0.8 timeline3: 1.0 - Options - diff --git a/desktop/resources/ego/dot.png b/desktop/resources/ego/dot.png index 9b630c4733cad3bf263e8fd128660598d0355c8b..8802f8e036c6a9fb2087205859f6aff9bc78156f 100644 GIT binary patch delta 40 ucmeyy@r7eU2#W%@r;B3eijDK-^_n`c1J&F00K`}KbLh*2~7YD8Vuq9 delta 42 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 Hu0mjfsMb_z literal 0 HcmV?d00001 diff --git a/desktop/resources/ego/glad.pxa/0.pxi b/desktop/resources/ego/glad.pxa/0.pxi new file mode 100644 index 0000000000000000000000000000000000000000..50773413cc9597df1b62af1e3159fbe5b526b71b GIT binary patch literal 264093 zcmeI(Ym8iF83*v)?r3#h~ZA224~LPSZ7i3vBOArTe$VvHCsi7_ViIa>}brPMFeFf_ku z{(H`xGxNUB`JH{vnccSi8!F||dS~Ygt&`ev2OK!Qt#e;_%4T z^^Mnk?)op>de_(Q`R4sAJ4QBED!-Y0$f50r9X=&Lb=ve9eU;)^%u(ncT3j8uqC9l@ zhFWP;xwN^ryrtCFF;FRvj;nVFoJoRl1&Z+mWL`;oIR>+YTZMsW|$ zO4^bsFCN`~%(2JKnS1;R^HxdK&s!iq5a(|_i%t($%a>?|` z&!0H6{iF}fUlqe#RT>-JcJlk)pB#`Jm>jh2gQuLD9Gv8nsmZjJ^>U>&x^i=Qus+;3 zTq+L@*JJY2XFqsGGC7%&4sqs3&lx}KBgrAjq2p(NENM>;OAaqossqJ(=&cwm){A{x zJ5QP0dF}FPEx8sC0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5ZFfouRe3;_I)(8VF?guLV^2g)3@)MCM;1&1PC-hAick*y`C+zzVGjy zx;;$;rZ5Bn0!=88_4@A1uJh)+dH-+1vXw-DKm!EQzEAJ*X}|w*+ojuI`_avBO9Q4c z1OWm~D3IOvv))gy1L-y3_1``{aZO0qo3Lyp5g^b2fwcd#-cNfzP1gU}XMqMxV+aBS znouC^|38df^tR9ZS?|05H{nTB5`hK@q@VY9|Jgsi9_)HeXwX!KAwZx>1=9O`_H)3l z_x^NSla{P30t6Z;klpvwp3l<2;SEKAKobirx$)46&;8kT;E3fN?)^=CzLZ9wQ391G zW^GUVKV4=?pQmZm9L6C)p!o!{-p~3!U3MIK-Nbbu+tz$ltB3%BMhK)m{!U4M21xfc zVjg1HgnnZQ~JWE`hA?v!(uTuJfZB0{c=R>-%iEd;h2Z z9%x_AZ)^et-d%z0-~8>``{{c2e*xaz>da1nz`hj7`n>P*m$vVkeL1JG2@q%=fnEDP zT~GfGpn0lO2>}B8QXuR9Y!3aONmvrt{{_0{Z>Ed+tTHjSQ{I^psUc`yS)F((m*}lvGk&~-Mz~;){Fg>()qPoactYti@R2J_fD+mXXNL{ zYnJz{%TIsvRXc~;w)}#w%a#?(BXch)j+JWj&Re~sw0O&km8*IR6I;joy0X<53#;2N zyL`=>wd+0|0~RawQf;JIFD)t#Ts2gyZX6k0mp|&wtv$8UrgCZX&Yf%5$4on)uFD^h zZg|_vl9u>0H#ssn_J#KTV+RIHR}8K0j~NzME7jV{f%I!~OfoAuIyvh3@|EpZRo2JR zt{N`aOTjepqTUU~fzqM{E%~-&b{tA|L%d*O$9T0XeM_yfep%=Ih1uiGmSpz2{IuR+ zA1)2f-C1G0chlzB(^Ht(H@0)nx33x7vh_39cI|Oz(DW3RY^>I+BX6OZ(NkDf9ocR3 znx4YWVb|sJ-MxK*wzxV{uT?9RQtk5Y-b+iP8>%CNrP}iY$F`S}&&IJIm&{q0pK@WP zSbuA|H{7@`zsG4FzUlKfr{(T(=l`oA9B%pI#G&piH7dNKJT(5L9R#~?f8oow-QGU$ zt9RVFcBob!>>aLdtPC!x6*sR=pH7^LHR;;Qk#fDayrncbIU$*sbfo9zYnAoO^ZCyC zr*-aloIba6{)giP6}B!|c*@)b3$Kl0zHx6~PoXQ`KYm}=8*8h#p4Az<&pIRB|E&iK zJ%z=^kxj+X@dvx!To1AC-iu3PrNQ%S1HM`B~)Wk!K>$Mt&E0 zIr3`cFOk1S{ucRrgJQevx~`9b7|k*Hx()G+Dk$gd*5j=UIoCGuM2KauS%xwaXRVc6k#i!K zMEW8Fkuc0%5gCqzW$x<84UwB7w?*!Z#IfY=k31ZCJo04ZCy}ts{W21kx!*@#iSL1U Tk|^g=0@(n1&T0(A>m@Pa^FSh;k&vhD7))YjSEVRvAFg zmI^t_MMM!45Rr;>3#h~Ze_%|!g@}?E6BBMmLn12hk1=ArB*vK3_iUMVS&D#Nl4*IS z`SqMRXXg9f^PGLpnc22ys8k%TwzfXoIHf7G-~OZ9axEJRmEmG}FxOJpp+WonO2A8~3hk8Qf4R{raGT4{1L1u&LQ;(`U@=D&3!lusR)rGE>-co*ectwAu*w_7PCCQXzR&qjeVsc!z>FHU`M;y7jy>r2<#ciFP zG$m7?JG%LpImgbOcii#wyURoQ-ePrRWpRDJzp!F3zrN7Du{d1pDHW2L$>B*RnQ_oF zC(LR-@qG)rW0)%nBg5NHde3{4{gVBY1Gc^Y++0RnX-u%$9%`}ovRX-XkLU=jt=`+M5!wPmgEdpf6WPcw;A z8HxabIufY$`ov}1Idga3|Ldq+r4S%6i2`Zgr}y}@-~X`flI<`5@TS*g5~nj10RnX- zP`mG^z5n}>3&*Yl={4Y$-#jt4o^Gq7a+N}Wz$6N!{a?H9r#+vh*8jE70+TqMp$HJD zBZ0L4(|dfa*LSz9qjHr(fWRaQq~H4|e)mtW2ji~^lQ^BB2oR`4f%Lv#`yMd$T@;|GNfE60%_k)S*DF*K7TsE?bVccI;Y^_I~a60d-iqk_ZskLxJ&qKXE;S5(H{JKe7L7+tVrZ|0F;gf%J50n@8`c2)w%m-l+dw z1K!;~7mohjA)wFS9p~9m64;$U+W)QryOXhv009C72oNAZfWY1>@br?U=bgX0rMHwH z9v;lEFXVQt7KYcfcP=gVR*U7qd}U=klJ*3%%8N#|0OzZSP#Rp_=b070#_x z@*~?WxTvkWy>o0mJ2Sf=UbDPoU3SLKSM3^V+w$|;RxisJ2j^X!A1PGkpR;NQUc6<+ z%I=Qb*w)dmw%Y1*xmC@pFI}@{?Yd9Jfca9jP#Mfu3ybr;SM*oP8wUH&@q)1(qvf{rEtS&x zWvvSq)gEUwBuB2xPVWr%fkNNBT@}WAH*ShO9l5c6BfIu|>#C8fH-Gw?w%zUwnvUGk z4drTi@HI3uJ95j)gA+Ed>B#LGc3n2x-q{ssOUi@QO1V@jR4#4ryreKZR37XrRG#Ub z(_BbC6UTmRGIw2e>iMO7^|j?*f5W=$Zl`(R#?Rf9mb=@XZ&pJ%-28>HL)}$sRCrmj zfAotx2qtcS_Di?k);#|!x8Je0zf$b$94K!n^)0RBH?2yaj-84%>DtP{Vzsk)b>X1o z_+)<4lAfEdmew!NW?L7W+PdR$+Pu~UAB+=}+q`hm$@3O2x+aSG`aNA8xwd%!=$5uu z*H&#lvo&^~d3w74oA>29a!c}q8}q}XTibT7hgf^(MTL<<-?^3Ef#SwO<*EB0SWzjL zt4U-0+#eX37C9<1KXOXs)W{i;e55~8jckrwAGs}ZS7b}%{>X!oZ$}=Ad^hrNl-W+G8r

U$YGJ`k(rTM zk=c=`xp7|P#7NZL7ms*BZjWqhk`c`Wjy$WJ1VM}8i8KJr53Pm#Yz{?(9~(hzBi91@uoIXQAcBo`Tq zR3g>L#>iEXm~%?ZIpvl}%sJ)G$X$`UBlko`BM(KsANfHfYM2r=OnD;m%gC=H&qZF0 zyd3#=WP3xVX=db@$ihflWNqY%$hDE1BVUfhd`&T5Q_R=&oyfzHIIgA`x9N|OR~j;L zK$*+|kr*p8H*$L9tjNWYu1Ier3^SKS1|ngZxiWHnff2n%l`!+0OS_{ literal 0 HcmV?d00001 diff --git a/desktop/resources/ego/glad.pxa/2.pxi b/desktop/resources/ego/glad.pxa/2.pxi new file mode 100644 index 0000000000000000000000000000000000000000..02d83850a719432a4c42e6dfcec37a0ca386d224 GIT binary patch literal 264093 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 K{oh>f)&Bsm-3yEW literal 0 HcmV?d00001 diff --git a/desktop/resources/ego/glad.pxa/3.pxi b/desktop/resources/ego/glad.pxa/3.pxi new file mode 100644 index 0000000000000000000000000000000000000000..5f37745024888665578701c51c8b2947bb5153ec GIT binary patch literal 264093 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 CDGv1j literal 0 HcmV?d00001 diff --git a/desktop/resources/ego/glad.pxa/6.pxi b/desktop/resources/ego/glad.pxa/6.pxi new file mode 100644 index 0000000000000000000000000000000000000000..4782ca3c92ee183c22aad9c87e9d06eec2d98518 GIT binary patch literal 264093 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 Cq!E|^ literal 0 HcmV?d00001 diff --git a/desktop/resources/ego/glad.pxa/CelData.plist b/desktop/resources/ego/glad.pxa/CelData.plist new file mode 100644 index 00000000..4a0bd0e8 --- /dev/null +++ b/desktop/resources/ego/glad.pxa/CelData.plist @@ -0,0 +1,34 @@ + + + + + + duration + 2 + + + duration + 0.039999999105930328 + + + duration + 0.039999999105930328 + + + duration + 0.039999999105930328 + + + duration + 0.039999999105930328 + + + duration + 1 + + + duration + 1 + + + diff --git a/desktop/src-common/advent/screens/rooms/dream.clj b/desktop/src-common/advent/screens/rooms/dream.clj index 260aa864..740370dc 100644 --- a/desktop/src-common/advent/screens/rooms/dream.clj +++ b/desktop/src-common/advent/screens/rooms/dream.clj @@ -153,14 +153,23 @@ :x 144 :y 122 :baseline 139 :script (actions/get-script entities (actions/walk-to entities :ego [168 76] :face :left) - (actions/do-dialogue entities :ego "Awesome! I'll take this sword and become a knight.") + (actions/talk entities :ego "There's a plaque here.") + (actions/play-animation entities :ego :squat) + (actions/do-dialogue entities + :ego "'A noble choice to be a knight,\nBe a hero, do what's right.'" + :ego "'There's no need to shove,\nTo find your true love,'" + :ego "'Because maidens love guys with might.'" + :ego "Awesome!" + :ego "If I become a knight, maybe Georgia McGorgeous will love me!") (actions/stop-walking entities :ego :face :right) (actions/do-dialogue entities - :fairy-godfather "Tick, I'm not sure that being a knight is right for you." - :fairy-godfather "I think you'd be better suited for a more menial job." - :ego "Hey! Why can't I be a knight! It's my destiny!" - :ego "And plus, knights get all the chicks!" - :ego "And this plaque here says that chicks dig knights."))) + :fairy-godfather "Tick, I told you that you can't be a knight." + :fairy-godfather "I think you'd be much better suited for a more menial job." + :ego "Hey! Why can't I be a knight? It's my destiny!" + :ego "And plus, it's the only way to get Georgia McGorgeous to love me!" + :ego "And this plaque here says that maidens love knights." + :fairy-godfather "As long as you're under my watch, Tick, I forbid it!" + :fairy-godfather "And you're just not cut out for it!"))) :broom (assoc (texture "dream/broom.png") :x 286 :y 122 :path (catmull-rom-spline (map #(apply vector-2* %) [[286 122] [286 128]]) true) @@ -168,7 +177,14 @@ :baseline 240 :script (actions/get-script entities (actions/walk-to entities :ego [267 70] :face :right) - (actions/talk entities :ego "So do I kill ghouls with this broom?") + (actions/talk entities :ego "There's a plaque here.") + (actions/play-animation entities :ego :squat) + (actions/do-dialogue entities + :ego "'Grab the broom, and sweep that dirt!\nSweep, and mop till your arms hurt.'" + :ego "'You'll smell like a hog,\nwith stench like a fog,'" + :ego "'So with you, no girl will flirt.'") + (actions/play-animation entities :ego :sigh) + (actions/talk entities :ego "So can I at least slay ghouls with this broom?") (actions/stop-walking entities :ego :face :left) (actions/do-dialogue entities :fairy-godfather "Not quite, young Tick." :fairy-godfather "This weapon is used to fight a more persistent foe." @@ -182,11 +198,17 @@ :baseline 240 :script (actions/get-script entities (actions/walk-to entities :ego [61 72] :face :left) - (actions/talk entities :ego "A shovel?") - (actions/stop-walking entities :ego :face :right) - (actions/do-dialogue entities :fairy-godfather "That's right, young Tick!" - :fairy-godfather "A grave-digger is a noble profession!" - :fairy-godfather "Take the shovel, and cast it into the pit of fate."))) + (actions/talk entities :ego "There's a plaque here.") + (actions/play-animation entities :ego :squat) + (actions/do-dialogue entities + :ego "'Choose the shovel, dig some holes,\ntis the boringest of roles,'" + :ego "'You can work by night,\nBut suffer a plight:'" + :ego "'Gals dislike guys who bury souls.'") + (actions/play-animation entities :ego :sigh) + (actions/do-dialogue entities + :fairy-godfather "Don't be dismayed, young Tick." + :fairy-godfather "Remember, these destinies can't be mistaken." + :ego "But it sounds so dull!"))) :sign (assoc (texture "dream/sign.png") :x 229 :y 33 :baseline 207) :fairy-godfather (assoc (animation->texture screen fairy-godfather-anim) :x 200 :y 130 diff --git a/desktop/src-common/advent/screens/rooms/outside_house.clj b/desktop/src-common/advent/screens/rooms/outside_house.clj index 80842949..15cef355 100644 --- a/desktop/src-common/advent/screens/rooms/outside_house.clj +++ b/desktop/src-common/advent/screens/rooms/outside_house.clj @@ -5,6 +5,7 @@ [advent.screens.rooms.outside-castle :as outside-castle] [advent.screens.rooms.inside-castle :as inside-castle] [advent.actions :as actions] + [advent.tween :as tween] [advent.utils :as utils] [clojure.zip :as zip] [play-clj.core :refer :all] @@ -256,6 +257,78 @@ (assoc-in entities [:room :entities :lamb :target-x] (rand-nth [30 10 60 70])) entities))) + +(defn glad [entities] + (actions/run-action entities + (begin [this screen entities] + (let [current-y (get-in entities [:room :entities :ego :y]) + to-y (+ current-y 15)] + (-> entities + (update-in [:room :entities :ego] #(actions/start-animation screen % :glad) ) + (assoc-in [:tweens :jump] (tween/tween :jump screen [:room :entities :ego :y] current-y to-y 0.3 :ease tween/ease-out-cubic)) + (assoc-in [:room :entities :glad-jump] (doto (assoc (particle-effect "ego/glad-jump") + :x (get-in entities [:room :entities :ego :x]) + :y (get-in entities [:room :entities :ego :y]) + :baseline (get-in entities [:room :entities :ego :baseline])) + (particle-effect! :reset) (particle-effect! :start))) + (assoc-in [:room :entities :cloud] (assoc (texture "space/cloud.png") + :x (get-in entities [:room :entities :ego :x]) + :y (get-in entities [:room :entities :ego :y]) + :origin-x 7 + :origin-y 7 + :scale-x 0.5 + :scale-y 0.5 + :opacity 0.5 + :baseline 240)) + (assoc-in [:tweens :cloud-up] (tween/tween :cloud-up screen [:room :entities :cloud :y] + (get-in entities [:room :entities :ego :y]) + (+ (get-in entities [:room :entities :ego :y]) 10) + 1.0)) + (assoc-in [:tweens :cloud-fade] (tween/tween :cloud-fade screen [:room :entities :cloud :opacity] + 0.5 + 0.0 + 1.0)) + (assoc-in [:tweens :cloud-grow] (tween/tween :cloud-grow screen [:room :entities :cloud :scale-y] + 0.5 + 1.0 + 1.0)) + (assoc-in [:tweens :cloud-grow-2] (tween/tween :cloud-grow-2 screen [:room :entities :cloud :scale-x] + 0.5 + 1.0 + 1.0))))) + + (continue [this screen entities] + (assoc-in entities [:room :entities :glad-jump :y] (+ (get-in entities [:room :entities :ego :y]) 5)) + ) + + (done? [this screen entities] + (nil? (get-in entities [:tweens :jump]))) + + (terminate [this screen entities] + entities) + (can-skip? [this screen entities] + false)) + (Thread/sleep 800) + (actions/run-action entities + (begin [this screen entities] + (let [current-y (get-in entities [:room :entities :ego :y]) + to-y (- current-y 15)] + (-> entities + (assoc-in [:tweens :jump] (tween/tween :jump screen [:room :entities :ego :y] current-y to-y 0.3 :ease tween/ease-in-cubic))))) + + (continue [this screen entities] entities) + + (done? [this screen entities] + (and (nil? (get-in entities [:tweens :jump])) + (animation! (actions/find-animation (get-in entities [:room :entities :ego ]) :glad) + :is-animation-finished + (- (:total-time screen) (get-in entities [:room :entities :ego :anim-start]))))) + + (terminate [this screen entities] + entities) + (can-skip? [this screen entities] + false))) + (defn make [screen] (let [sheep-stand-sheet (texture! (texture "outsidehouse/sheep-anim.png") :split 33 21) sheep-walk-sheet (texture! (texture "outsidehouse/sheep-walk.png") :split 33 21) @@ -339,7 +412,8 @@ (actions/talk entities :ego "I guess her wool is shedding.")) (do (actions/talk entities :ego "Come here mama sheep!") - (actions/play-animation entities :ego :sigh) + (glad entities) + (actions/talk entities :ego "She's too far away for me to pet her."))))) :scripts #(condp = % :wool (actions/get-script entities diff --git a/desktop/src-common/advent/screens/scene.clj b/desktop/src-common/advent/screens/scene.clj index da833b38..51ffd062 100644 --- a/desktop/src-common/advent/screens/scene.clj +++ b/desktop/src-common/advent/screens/scene.clj @@ -197,6 +197,7 @@ scared-talk (utils/make-anim "ego/scared.png" [18 36] 0.05 [0 1 0 1 0 1 0 1 2 3 2 3 2 3 2 3]) 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 10 [5 5 6]) (repeat 20 0)])) ego {:right {:walk walk-right :stand stand-anim @@ -231,7 +232,8 @@ :scared scared :scared-talk scared-talk :scared-walk scared-walk - :sigh sigh} + :sigh sigh + :glad glad} :left {:walk (utils/flip walk-right) :stand (utils/flip stand-anim) :talk (utils/flip talk-anim) @@ -256,7 +258,8 @@ [:fire 3] (utils/flip fire-3-anim) :spear (utils/flip spear) :pant (utils/flip pant) - :sigh (utils/flip sigh)} + :sigh (utils/flip sigh) + :glad (utils/flip glad)} :baseline (- 240 (last start-pos)) :facing :right :origin-x 9 diff --git a/desktop/src-common/advent/tween.clj b/desktop/src-common/advent/tween.clj index e950293a..312ab24a 100644 --- a/desktop/src-common/advent/tween.clj +++ b/desktop/src-common/advent/tween.clj @@ -35,6 +35,14 @@ (- (* t t t t) 2)) start))))) +(defn ease-out-quadratic [t start delta duration] + (let [t (/ t duration)] + (+ (* (- delta) t (- t 2)) start))) + +(defn ease-out-cubic [t start delta duration] + (let [t (dec (/ t duration))] + (+ (* delta (inc (* t t t))) start))) + (defn tween [id screen path start end duration & {:keys [finish ease]}] (let [ease (or ease ease-linear) finish (or finish identity)