diff --git a/desktop/src-common/advent/screens/rooms/dream.clj b/desktop/src-common/advent/screens/rooms/dream.clj index bcdcd81a..e2791b99 100644 --- a/desktop/src-common/advent/screens/rooms/dream.clj +++ b/desktop/src-common/advent/screens/rooms/dream.clj @@ -103,11 +103,12 @@ (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." - :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.") + (when-not (get-in @entities [:room :entities :fairy-godfather :distracted?]) + (actions/do-dialogue entities :fairy-godfather "Not quite, young Tick." + :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.")) (actions/update-state entities #(update-in % [:plaques-read] conj :broom))) (defn read-shovel-plaque [entities] @@ -119,10 +120,11 @@ :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!") + (when-not (get-in @entities [:room :entities :fairy-godfather :distracted?]) + (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!")) (actions/update-state entities #(update-in % [:plaques-read] conj :shovel))) (defn do-intro [entities] @@ -162,22 +164,22 @@ :ego "Soo, I've been destined to be a shovel since the dawn of time?" :fairy-godfather "No, no, no!") (actions/update-entities entities #(update-in % [:room :entities :fairy-godfather] dissoc :path)) - (actions/walk-straight-to entities :fairy-godfather [60 120] :speed 3.0 :update-baseline? false) - (actions/update-entities entities (fn [e] (update-in e [:room :entities :fairy-godfather] assoc :path (catmull-rom-spline (map #(apply vector-2* %) [[60 120] [60 124]]) true)))) + (actions/walk-straight-to entities :fairy-godfather [87 120] :speed 3.0 :update-baseline? false) + (actions/update-entities entities (fn [e] (update-in e [:room :entities :fairy-godfather] assoc :path (catmull-rom-spline (map #(apply vector-2* %) [[87 120] [87 124]]) true)))) (actions/do-dialogue entities :fairy-godfather "This shovel represents the job of grave-digger." :fairy-godfather "A simple job, for a simple fellow." :ego "Hey! " :ego "I'm not simple.") (actions/update-entities entities #(update-in % [:room :entities :fairy-godfather] dissoc :path)) - (actions/walk-straight-to entities :fairy-godfather [240 120] :speed 3.0 :update-baseline? false) - (actions/update-entities entities (fn [e] (update-in e [:room :entities :fairy-godfather] assoc :path (catmull-rom-spline (map #(apply vector-2* %) [[240 120] [240 124]]) true)))) + (actions/walk-straight-to entities :fairy-godfather [260 120] :speed 3.0 :update-baseline? false) + (actions/update-entities entities (fn [e] (update-in e [:room :entities :fairy-godfather] assoc :path (catmull-rom-spline (map #(apply vector-2* %) [[260 120] [260 124]]) true)))) (actions/do-dialogue entities :fairy-godfather "Next, we have the broom, representing the humble job of a janitor." :ego "I'm not going to be a janitor!" :ego "I'm going to take the sword and be a knight?" :fairy-godfather "Hmm? Sword?") (actions/update-entities entities #(update-in % [:room :entities :fairy-godfather] dissoc :path)) - (actions/walk-straight-to entities :fairy-godfather [170 120] :speed 3.0 :update-baseline? false) - (actions/update-entities entities (fn [e] (update-in e [:room :entities :fairy-godfather] assoc :path (catmull-rom-spline (map #(apply vector-2* %) [[170 120] [170 124]]) true)))) + (actions/walk-straight-to entities :fairy-godfather [192 120] :speed 3.0 :update-baseline? false) + (actions/update-entities entities (fn [e] (update-in e [:room :entities :fairy-godfather] assoc :path (catmull-rom-spline (map #(apply vector-2* %) [[192 118] [192 124]]) true)))) (actions/do-dialogue entities :fairy-godfather "Sword...?" :fairy-godfather "Uh, oh. That's not right."