From f528688f8ca9e6792edf4d0a4f12bdd8ae9bdd21 Mon Sep 17 00:00:00 2001 From: Bryce Covert Date: Tue, 24 Mar 2015 16:22:54 -0700 Subject: [PATCH] started making interaction. --- .../src-common/advent/screens/rooms/dream.clj | 27 +++++++++++++++---- desktop/src-common/advent/screens/scene.clj | 1 + 2 files changed, 23 insertions(+), 5 deletions(-) diff --git a/desktop/src-common/advent/screens/rooms/dream.clj b/desktop/src-common/advent/screens/rooms/dream.clj index 365f6a80..8c8e8c70 100644 --- a/desktop/src-common/advent/screens/rooms/dream.clj +++ b/desktop/src-common/advent/screens/rooms/dream.clj @@ -89,7 +89,8 @@ :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!")) + :fairy-godfather "And you're just not cut out for it!") + (actions/update-state entities #(update-in % [:plaques-read] conj :sword))) (defn read-broom-plaque [entities] (actions/walk-to entities :ego [267 70] :face :right) @@ -106,7 +107,8 @@ :fairy-godfather "This weapon is used to fight a more persistent foe." :fairy-godfather "Dust and grime!" :fairy-godfather "Take the broom, and cast it into the pit of fate." - :fairy-godfather "Then you can fulfill your fate as a janitor.")) + :fairy-godfather "Then you can fulfill your fate as a janitor.") + (actions/update-state entities #(update-in % [:plaques-read] conj :broom))) (defn read-shovel-plaque [entities] (actions/walk-to entities :ego [61 72] :face :left) @@ -120,7 +122,8 @@ (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!")) + :ego "But it sounds so dull!") + (actions/update-state entities #(update-in % [:plaques-read] conj :shovel))) (defn do-intro [entities] (Thread/sleep 2000) @@ -214,14 +217,28 @@ :update-fn (partial utils/update-path-location 0.30) :baseline 240 :script (actions/get-script entities - (read-broom-plaque entities))) + (if ((get-in @entities [:state :plaques-read]) :broom) + (do + (actions/walk-to entities :ego [267 70] :face :right) + (actions/play-animation entities :ego :sigh) + (actions/play-animation entities :ego :reach) + (actions/remove-entity entities :broom)) + + (read-broom-plaque entities)))) :shovel (assoc (texture "dream/shovel.png") :x 33 :y 122 :path (catmull-rom-spline (map #(apply vector-2* %) [[22 122] [22 128]]) true) :update-fn (partial utils/update-path-location 0.33) :baseline 240 :script (actions/get-script entities - (read-shovel-plaque entities))) + (if ((get-in @entities [:state :plaques-read]) :shovel) + (do + (actions/walk-to entities :ego [61 72] :face :left) + (actions/play-animation entities :ego :sigh) + (actions/play-animation entities :ego :reach) + (actions/remove-entity entities :shovel)) + + (read-shovel-plaque entities)))) :sign (assoc (texture "dream/sign.png") :x 229 :y 33 :baseline 207) :plaque-1 (assoc (texture "dream/plaque1.png") :x 39 :y 99 :baseline 139 :script (actions/get-script entities (read-shovel-plaque entities))) :plaque-2 (assoc (texture "dream/plaque2.png") :x 147 :y 104 :baseline 139 :script (actions/get-script entities (read-sword-plaque entities))) diff --git a/desktop/src-common/advent/screens/scene.clj b/desktop/src-common/advent/screens/scene.clj index 5288d8b7..fbc55907 100644 --- a/desktop/src-common/advent/screens/scene.clj +++ b/desktop/src-common/advent/screens/scene.clj @@ -415,6 +415,7 @@ :time :day :obtained-items #{} :inventory [] + :plaques-read #{} :clues #{} :mints-eaten 0 :seen-intro? false}))