diff --git a/desktop/resources/outsidehouse/dot.png b/desktop/resources/outsidehouse/dot.png new file mode 100644 index 00000000..8802f8e0 Binary files /dev/null and b/desktop/resources/outsidehouse/dot.png differ diff --git a/desktop/resources/outsidehouse/magic b/desktop/resources/outsidehouse/magic new file mode 100644 index 00000000..7c72eaf9 --- /dev/null +++ b/desktop/resources/outsidehouse/magic @@ -0,0 +1,301 @@ +Untitled +- Delay - +active: false +- Duration - +lowMin: 3050.0 +lowMax: 3050.0 +- Count - +min: 0 +max: 200 +- Emission - +lowMin: 500.0 +lowMax: 500.0 +highMin: 70.0 +highMax: 70.0 +relative: false +scalingCount: 2 +scaling0: 1.0 +scaling1: 0.97959185 +timelineCount: 2 +timeline0: 0.0 +timeline1: 0.12328767 +- Life - +lowMin: 0.0 +lowMax: 0.0 +highMin: 1000.0 +highMax: 1000.0 +relative: false +scalingCount: 1 +scaling0: 1.0 +timelineCount: 1 +timeline0: 0.0 +- Life Offset - +active: false +- X Offset - +active: false +- Y Offset - +active: false +- Spawn Shape - +shape: line +- Spawn Width - +lowMin: 0.0 +lowMax: 0.0 +highMin: 20.0 +highMax: 20.0 +relative: false +scalingCount: 1 +scaling0: 1.0 +timelineCount: 1 +timeline0: 0.0 +- Spawn Height - +lowMin: 0.0 +lowMax: 0.0 +highMin: 1.0 +highMax: 1.0 +relative: false +scalingCount: 1 +scaling0: 1.0 +timelineCount: 1 +timeline0: 0.0 +- Scale - +lowMin: 0.0 +lowMax: 0.0 +highMin: 2.0 +highMax: 3.0 +relative: false +scalingCount: 2 +scaling0: 1.0 +scaling1: 1.0 +timelineCount: 2 +timeline0: 0.0 +timeline1: 1.0 +- Velocity - +active: true +lowMin: 3.0 +lowMax: 3.0 +highMin: 10.0 +highMax: 17.0 +relative: false +scalingCount: 4 +scaling0: 0.0 +scaling1: 0.08163265 +scaling2: 1.0 +scaling3: 1.0 +timelineCount: 4 +timeline0: 0.0 +timeline1: 0.7123288 +timeline2: 0.80136985 +timeline3: 0.9794521 +- Angle - +active: true +lowMin: 80.0 +lowMax: 100.0 +highMin: -40.0 +highMax: 40.0 +relative: true +scalingCount: 2 +scaling0: 0.0 +scaling1: 0.9591837 +timelineCount: 2 +timeline0: 0.0 +timeline1: 0.7328767 +- Rotation - +active: true +lowMin: 0.0 +lowMax: 0.0 +highMin: -180.0 +highMax: 180.0 +relative: true +scalingCount: 2 +scaling0: 0.0 +scaling1: 1.0 +timelineCount: 2 +timeline0: 0.0 +timeline1: 1.0 +- Wind - +active: false +- Gravity - +active: false +- Tint - +colorsCount: 3 +colors0: 0.53333336 +colors1: 1.0 +colors2: 0.54509807 +timelineCount: 1 +timeline0: 0.0 +- Transparency - +lowMin: 0.0 +lowMax: 0.0 +highMin: 1.0 +highMax: 1.0 +relative: false +scalingCount: 3 +scaling0: 0.0 +scaling1: 0.7719298 +scaling2: 0.3859649 +timelineCount: 3 +timeline0: 0.0 +timeline1: 0.10958904 +timeline2: 0.93835616 +- Options - +attached: false +continuous: false +aligned: false +additive: true +behind: false +premultipliedAlpha: false +- Image Path - +dot.png + + +Untitled +- Delay - +active: true +lowMin: 2000.0 +lowMax: 2000.0 +- Duration - +lowMin: 50.0 +lowMax: 50.0 +- Count - +min: 0 +max: 1000 +- Emission - +lowMin: 0.0 +lowMax: 0.0 +highMin: 3000.0 +highMax: 3000.0 +relative: false +scalingCount: 4 +scaling0: 1.0 +scaling1: 1.0 +scaling2: 1.0 +scaling3: 1.0 +timelineCount: 4 +timeline0: 0.0 +timeline1: 0.001 +timeline2: 0.38941097 +timeline3: 0.89041096 +- Life - +lowMin: 0.0 +lowMax: 0.0 +highMin: 1500.0 +highMax: 3000.0 +relative: false +scalingCount: 3 +scaling0: 1.0 +scaling1: 1.0 +scaling2: 0.3 +timelineCount: 3 +timeline0: 0.0 +timeline1: 0.66 +timeline2: 1.0 +- Life Offset - +active: false +- X Offset - +active: false +- Y Offset - +active: false +- Spawn Shape - +shape: line +- Spawn Width - +lowMin: 0.0 +lowMax: 0.0 +highMin: 20.0 +highMax: 20.0 +relative: false +scalingCount: 1 +scaling0: 1.0 +timelineCount: 1 +timeline0: 0.0 +- Spawn Height - +lowMin: 0.0 +lowMax: 0.0 +highMin: 0.0 +highMax: 0.0 +relative: false +scalingCount: 1 +scaling0: 1.0 +timelineCount: 1 +timeline0: 0.0 +- Scale - +lowMin: 1.0 +lowMax: 1.0 +highMin: 1.0 +highMax: 1.0 +relative: false +scalingCount: 1 +scaling0: 1.0 +timelineCount: 1 +timeline0: 0.0 +- Velocity - +active: true +lowMin: 0.0 +lowMax: 0.0 +highMin: 30.0 +highMax: 350.0 +relative: false +scalingCount: 3 +scaling0: 1.0 +scaling1: 0.3877551 +scaling2: 0.0 +timelineCount: 3 +timeline0: 0.0 +timeline1: 0.39041096 +timeline2: 1.0 +- Angle - +active: true +lowMin: 90.0 +lowMax: 90.0 +highMin: 45.0 +highMax: 135.0 +relative: false +scalingCount: 3 +scaling0: 1.0 +scaling1: 1.0 +scaling2: 1.0 +timelineCount: 3 +timeline0: 0.0 +timeline1: 0.5068493 +timeline2: 1.0 +- Rotation - +active: false +- Wind - +active: false +- Gravity - +active: false +- Tint - +colorsCount: 6 +colors0: 0.043137256 +colors1: 0.9019608 +colors2: 0.09411765 +colors3: 0.047058824 +colors4: 0.69803923 +colors5: 1.0 +timelineCount: 2 +timeline0: 0.0 +timeline1: 1.0 +- Transparency - +lowMin: 0.0 +lowMax: 0.0 +highMin: 1.0 +highMax: 1.0 +relative: false +scalingCount: 4 +scaling0: 0.0 +scaling1: 1.0 +scaling2: 0.33333334 +scaling3: 0.0 +timelineCount: 4 +timeline0: 0.0 +timeline1: 0.2 +timeline2: 0.63013697 +timeline3: 1.0 +- Options - +attached: false +continuous: false +aligned: false +additive: true +behind: false +premultipliedAlpha: false +- Image Path - +/Users/bryce/dev/playground/advent/desktop/resources/inside-house/dot.png diff --git a/desktop/settings.edn b/desktop/settings.edn index 89142a80..61ad08f4 100644 --- a/desktop/settings.edn +++ b/desktop/settings.edn @@ -1 +1 @@ -{:sound-volume 56.0, :music-volume 17.0} \ No newline at end of file +{:sound-volume 0.0, :music-volume 0.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 ba51a852..3a03e55e 100644 --- a/desktop/src-common/advent/screens/rooms/outside_house.clj +++ b/desktop/src-common/advent/screens/rooms/outside_house.clj @@ -54,6 +54,20 @@ (defn leave-sheep [entities] (actions/walk-straight-to entities :ego [154 133] :update-baseline? false)) +(defn magic [entities] + (actions/run-action entities + (begin [this screen entities] + (doto (get-in entities [:room :entities :magic]) + (particle-effect! :reset) + (particle-effect! :start)) + entities) + (continue [this screen entities] + entities) + (done? [this screen entities] + (particle-effect! (get-in entities [:room :entities :magic]) :is-complete)) + (terminate [this screen entities] + entities))) + (defn put-something-in-cauldron [item] (condp = item :money (actions/get-script entities @@ -66,11 +80,17 @@ (do (actions/walk-to entities :ego [141 90] :face :right) (actions/talk entities :ego "Here goes!") - (actions/play-animation entities :ego :reach) + (actions/play-animation entities :ego :reach-start :stop? false) + (magic entities) + (actions/play-animation entities :ego :reach-stop :stop? true) + (actions/remove-item entities :slingshot) (actions/give entities :magic-slingshot) - (actions/do-dialogue entities - :ego "It worked!" + + (actions/do-dialogue entities :ego "It worked!") + + (actions/glad entities) + (actions/do-dialogue entities :ego "I now have The Slinger's Shot." :ego "And just in time, too. It's getting light.") (actions/update-state entities #(assoc % :next-time :sunrise)) @@ -406,6 +426,10 @@ :stand sheep-stand} :scaled true) sheep-stand) + :magic (assoc (doto (particle-effect "outsidehouse/magic") ) + :x 153 + :y 105 + :baseline 238) :lamb (assoc (texture "outsidehouse/lamb.png") :x 10 :y 163 :baseline 77 :right {:stand (animation 0.1 [lamb-stand])