diff --git a/desktop/resources/dream/background.psd b/desktop/resources/dream/background.psd index cebc7802..cb88c39d 100644 Binary files a/desktop/resources/dream/background.psd and b/desktop/resources/dream/background.psd differ diff --git a/desktop/resources/dream/plaque1.png b/desktop/resources/dream/plaque1.png new file mode 100644 index 00000000..bd675420 Binary files /dev/null and b/desktop/resources/dream/plaque1.png differ diff --git a/desktop/resources/dream/plaque2.png b/desktop/resources/dream/plaque2.png new file mode 100644 index 00000000..ed37ac24 Binary files /dev/null and b/desktop/resources/dream/plaque2.png differ diff --git a/desktop/resources/dream/plaque3.png b/desktop/resources/dream/plaque3.png new file mode 100644 index 00000000..f4086f4f Binary files /dev/null and b/desktop/resources/dream/plaque3.png differ diff --git a/desktop/src-common/advent/screens/rooms/dream.clj b/desktop/src-common/advent/screens/rooms/dream.clj index 740370dc..365f6a80 100644 --- a/desktop/src-common/advent/screens/rooms/dream.clj +++ b/desktop/src-common/advent/screens/rooms/dream.clj @@ -31,7 +31,10 @@ (assoc-in [:room :entities :broom :opacity] tool-opacity) (assoc-in [:room :entities :shovel :opacity] tool-opacity) (assoc-in [:room :entities :fairy-godfather :opacity] opacity) - (assoc-in [:room :entities :sign :opacity] opacity))) + (assoc-in [:room :entities :sign :opacity] opacity) + (assoc-in [:room :entities :plaque-1 :opacity] tool-opacity) + (assoc-in [:room :entities :plaque-2 :opacity] tool-opacity) + (assoc-in [:room :entities :plaque-3 :opacity] tool-opacity))) (defn fade-in [entities] (actions/run-action entities @@ -67,6 +70,58 @@ entities) (can-skip? [this screen entities] false))) + +(defn read-sword-plaque [entities] + (actions/walk-to entities :ego [168 76] :face :left) + (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 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!")) + +(defn read-broom-plaque [entities] + (actions/walk-to entities :ego [267 70] :face :right) + (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." + :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.")) + +(defn read-shovel-plaque [entities] + (actions/walk-to entities :ego [61 72] :face :left) + (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!")) + (defn do-intro [entities] (Thread/sleep 2000) (actions/do-dialogue entities @@ -152,64 +207,25 @@ :sword (assoc (texture "dream/sword.png") :x 144 :y 122 :baseline 139 :script (actions/get-script entities - (actions/walk-to entities :ego [168 76] :face :left) - (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 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!"))) + (read-sword-plaque entities))) :broom (assoc (texture "dream/broom.png") :x 286 :y 122 :path (catmull-rom-spline (map #(apply vector-2* %) [[286 122] [286 128]]) true) :update-fn (partial utils/update-path-location 0.30) :baseline 240 :script (actions/get-script entities - (actions/walk-to entities :ego [267 70] :face :right) - (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." - :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."))) + (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 - (actions/walk-to entities :ego [61 72] :face :left) - (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!"))) + (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))) + :plaque-3 (assoc (texture "dream/plaque3.png") :x 283 :y 98 :baseline 139 :script (actions/get-script entities (read-broom-plaque entities))) :fairy-godfather (assoc (animation->texture screen fairy-godfather-anim) :x 200 :y 130 :baseline 240