From 16639ef14c06e48d0333882c1eb6b2e856e6c3e0 Mon Sep 17 00:00:00 2001 From: Bryce Covert Date: Thu, 8 Jan 2015 16:36:27 -0800 Subject: [PATCH] able to get back to blergh. --- desktop/resources/cursor.png | Bin 24928 -> 25870 bytes desktop/resources/outside-castle/note.png | Bin 1369 -> 16130 bytes desktop/src-common/advent/screens/items.clj | 7 +- .../advent/screens/rooms/cat_tree.clj | 4 +- .../advent/screens/rooms/common.clj | 8 +- .../advent/screens/rooms/inside_castle.clj | 38 +++------ .../advent/screens/rooms/outside_castle.clj | 5 +- .../advent/screens/rooms/outside_house.clj | 73 ++++++++++++++---- .../advent/screens/rooms/outside_jail.clj | 38 ++++----- desktop/src-common/advent/screens/scene.clj | 2 +- desktop/src-common/advent/utils.clj | 2 +- 11 files changed, 106 insertions(+), 71 deletions(-) diff --git a/desktop/resources/cursor.png b/desktop/resources/cursor.png index dad7c8e6aa11447c862c56f784d853ba3c2bbcc7..b54c620486b7e5889de58e2e34755a6d2e429374 100644 GIT binary patch delta 9609 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 delta 8653 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 JPDHLkV1j#Le((SQ diff --git a/desktop/src-common/advent/screens/items.clj b/desktop/src-common/advent/screens/items.clj index 6c8b881c..d8912b06 100644 --- a/desktop/src-common/advent/screens/items.clj +++ b/desktop/src-common/advent/screens/items.clj @@ -123,10 +123,11 @@ :spell-component {:name "Spell component" :value :spell-component :cursor :spell-component} :money {:name "Money" :value :money :cursor :money} :watch {:name "Watch" :value :watch :cursor :watch} - :broken-watch {:name "Halved watch" :value :broken-watch :cursor :broken-watch} + :broken-clock {:name "Sliced time-keeping device" :value :broken-clock :cursor :broken-clock} :slingshot {:name "The Slinger's Shot" :value :slingshot :cursor :slingshot} - :note-2 {:name "Another note from Gandarf" :value :note-2 :cursor :note} + :note-2 {:name "Bingo card" :value :note-2 :cursor :note-2} :camera {:name "Image taking device" :value :camera :cursor :camera} :walkie-talkies {:name "Communication devices" :value :walkie-talkies :cursor :walkie-talkies} :walkie-talkie {:name "Communication device" :value :walkie-talkie :cursor :walkie-talkie} - :flashlight {:name "Lighting device" :value :flashlight :cursor :flashlight}}) + :alarm-clock {:name "Time-keeping device" :value :alarm-clock :cursor :alarm-clock} + :magic-slingshot {:name "The Slinger's Shot" :value :magic-slingshot :cursor :magic-slingshot}}) diff --git a/desktop/src-common/advent/screens/rooms/cat_tree.clj b/desktop/src-common/advent/screens/rooms/cat_tree.clj index 4681ad97..1cc34ee7 100644 --- a/desktop/src-common/advent/screens/rooms/cat_tree.clj +++ b/desktop/src-common/advent/screens/rooms/cat_tree.clj @@ -221,9 +221,9 @@ (actions/play-animation entities :ego :squat) (actions/do-dialogue entities :ego "Hey! A little lever." - :ego "I think this is Gandarf's stash of helpful stuff.") + :ego "I think this is Gandarf's secret stash of helpful stuff.") (actions/play-animation entities :ego :squat) - (actions/give entities :flashlight) + (actions/give entities :alarm-clock) (actions/do-dialogue entities :ego "What is this?") (actions/play-animation entities :ego :squat) (actions/give entities :camera) diff --git a/desktop/src-common/advent/screens/rooms/common.clj b/desktop/src-common/advent/screens/rooms/common.clj index b20b21b0..1d514df7 100644 --- a/desktop/src-common/advent/screens/rooms/common.clj +++ b/desktop/src-common/advent/screens/rooms/common.clj @@ -53,19 +53,21 @@ :ego "'And please hurry, because we're being forced into a karaoke competition.'" :ego "'I'm about at my witt's end.'" :ego "'P.S., Guard that slingshot with your life!'" - :ego "'P.P.S., If anything goes wrong, you can look for supplies behind a nearby r...'" + :ego "'P.P.S., If anything goes wrong, you can look for my secret stash of helpful stuff behind a nearby r...'" :ego "It just cuts off there.")) (defn read-note-2 [entities] (actions/do-dialogue entities - :ego "It's another note from Gandarf. It's written on the back of a bingo card. It reads:" + :ego "It's a Bingo card." + :ego "Look's like there's a note on the back." :ego "'Boy, the situation is dire. I don't have much time. Please hurry.'" :ego "'We've been forced into playing bingo for the last 3 hours.'" :ego "'You are almost done with the spell to restore magic to The Slinger's Shot.'" :ego "'You haven't lost it, right?'" :ego "'You need to add the root of all evil to the cauldron.'" :ego "'Also, you'll need to add a split second.'" - :ego "'Then, dip the Slinger's Shot in to complete the spell.'")) + :ego "'Then, dip the Slinger's Shot in to complete the spell.'" + :ego "'Don't forget about my secret stash of helpful stuff.'")) (defn listen-1 [entities] diff --git a/desktop/src-common/advent/screens/rooms/inside_castle.clj b/desktop/src-common/advent/screens/rooms/inside_castle.clj index c74b7379..dae5330e 100644 --- a/desktop/src-common/advent/screens/rooms/inside_castle.clj +++ b/desktop/src-common/advent/screens/rooms/inside_castle.clj @@ -95,6 +95,12 @@ "Nevermind." {:run #(actions/respond entities % :game-player "See you around.")}]})) +(defn walk-to-blergh [entities] + (actions/walk-to entities :ego [85 145] :face :right) + (actions/transition-background entities :space [0 65]) + (actions/walk-straight-to entities :ego [140 55] :face :right) + (actions/play-animation entities :blergh :appear :stop? false) + (actions/transition-music entities :town-1 :fight)) (defn pull-sword [entities] (actions/play-animation entities :ego :reach) @@ -109,12 +115,10 @@ (actions/transition-music entities :pull-sword :town-1) (actions/do-dialogue entities :ego "That was weird." :ego "I have to go show my friends!") - (actions/walk-to entities :ego [85 145] :face :right) - (actions/transition-background entities :space [0 65]) - (actions/walk-straight-to entities :ego [140 55] :face :right) + + + (actions/add-entity entities :blergh (get-in @entities [:room :blergh])) - (actions/play-animation entities :blergh :appear :stop? false) - (actions/transition-music entities :town-1 :fight) (actions/do-dialogue entities :ego "Who are YOU?!?!?!" :blergh "I'm your worst nightmare." :blergh "I am Blergh, and this is now my dimension." @@ -155,16 +159,12 @@ (update-in entities [:room :entities] #(assoc % :monocle (get-in entities [:room :monocle]))) entities)) -(defn add-watch-if-necessary [entities] - (if (not (actions/has-obtained? entities :watch)) - (update-in entities [:room :entities] #(assoc % :watch (get-in entities [:room :watch]))) - entities)) + (defn make-night [entities] (-> entities (update-in [:room :entities] #(dissoc % :game-player)) - add-monocle-if-necessary - add-watch-if-necessary)) + add-monocle-if-necessary)) (defn make [screen] (let [game-player-talk-sheet (texture! (texture "inside-castle/game-player-talk.png") :split 40 44) @@ -349,21 +349,7 @@ (actions/remove-entity entities :monocle) (actions/give entities :monocle) (actions/talk entities :ego "It looks like a monocle."))})) - :watch (rooms/make-entity :watch (assoc (texture "inside-castle/watch.png") - :x 282 :y 62 :baseline 140 - :script (actions/get-script entities - - (actions/talk entities :ego "There's something on that chair.") - (actions/walk-to entities :ego [265 90] :face :right) - (actions/walk-straight-to entities :ego [303 80]) - (actions/walk-straight-to entities :ego [302 48]) - (actions/play-animation entities :ego :squat) - (actions/remove-entity entities :watch) - (actions/give entities :watch) - (actions/do-dialogue entities :ego "It's a watch." - :ego "Brian O'Brainy must have left it behind.") - (actions/walk-straight-to entities :ego [303 80]) - (actions/walk-straight-to entities :ego [265 90])))) + :collision "inside-castle/collision.png" :scale-fn (utils/scaler-fn-from-image "inside-castle/scale.png" 0.25 1.00) :apply-state (fn [entities] diff --git a/desktop/src-common/advent/screens/rooms/outside_castle.clj b/desktop/src-common/advent/screens/rooms/outside_castle.clj index 37c42216..0536a442 100644 --- a/desktop/src-common/advent/screens/rooms/outside_castle.clj +++ b/desktop/src-common/advent/screens/rooms/outside_castle.clj @@ -123,7 +123,8 @@ (defn should-block? [entities] (and (= :night (get-in @entities [:state :time])) - (actions/has-obtained? entities :flask-2))) + (actions/has-obtained? entities :flask-2) + (not (actions/has-item? entities :magic-slingshot)))) (defn frankie-comment-on-item [entities] (cond @@ -370,6 +371,8 @@ :script (actions/get-script entities (actions/walk-to entities :ego [210 79] :face :left) (actions/play-animation entities :ego :squat) + (actions/give entities :note-2) + (actions/remove-entity entities :note) (common/read-note-2 entities)))) :collision "outside-castle/collision.png" :scale-fn (utils/scaler-fn-with-baseline 110 0.10 1.00) diff --git a/desktop/src-common/advent/screens/rooms/outside_house.clj b/desktop/src-common/advent/screens/rooms/outside_house.clj index 4db44395..dc94d370 100644 --- a/desktop/src-common/advent/screens/rooms/outside_house.clj +++ b/desktop/src-common/advent/screens/rooms/outside_house.clj @@ -2,6 +2,8 @@ (:require [advent.screens.items :as items] [advent.screens.rooms :as rooms] [advent.screens.rooms.common :as common] + [advent.screens.rooms.outside-castle :as outside-castle] + [advent.screens.rooms.inside-castle :as inside-castle] [advent.actions :as actions] [advent.utils :as utils] [clojure.zip :as zip] @@ -11,6 +13,12 @@ [play-clj.utils :refer :all] [play-clj.g2d :refer :all])) +(defn walk-to-castle [entities] + (actions/walk-to entities :ego [0 80]) + (actions/walk-straight-to entities :ego [-20 80]) + (actions/transition-background entities :outside-castle [330 80]) + (actions/walk-straight-to entities :ego [310 80])) + (def ego-sheep-loc [132 140]) @@ -21,6 +29,53 @@ (defn is-sheep-close? [entities] (< (dist-to-sheep entities) 45)) +(defn is-ready-for-slingshot [entities] + (and (actions/has-obtained? entities :broken-clock) + (not (actions/has-item? entities :broken-clock)) + (actions/has-obtained? entities :money) + (not (actions/has-item? entities :money)))) + +(defn put-something-in-cauldron [item] + (condp = item + :money (actions/get-script entities + (actions/walk-to entities :ego [141 90] :face :right) + (actions/play-animation entities :ego :reach) + (actions/remove-item entities :money) + (actions/talk entities :ego "I guess that's what you could call 'money in the pot'.")) + :slingshot (actions/get-script entities + (if (is-ready-for-slingshot entities) + (do + (actions/walk-to entities :ego [141 90] :face :right) + (actions/talk entities :ego "Here goes!") + (actions/play-animation entities :ego :reach) + (actions/remove-item entities :slingshot) + (actions/give entities :magic-slingshot) + (actions/do-dialogue entities + :ego "It worked!" + :ego "I now have The Slinger's Shot." + :ego "And just in time, too. It's getting light.") + (walk-to-castle entities) + (outside-castle/go-through-gate entities) + (inside-castle/walk-to-blergh entities)))) + :broken-clock (actions/get-script entities + (actions/walk-to entities :ego [141 90] :face :right) + (actions/play-animation entities :ego :reach) + (actions/remove-item entities :broken-clock) + (actions/talk entities :ego "Just in the nick of time.")) + :recipe (actions/get-script entities + (actions/walk-to entities :ego [151 90] :face :right) + (actions/play-animation entities :ego :squat) + (actions/remove-item entities :recipe) + (actions/give entities :ash) + (actions/talk entities :ego "It burned up into ash.")) + :spell-component (actions/get-script entities + (actions/walk-to entities :ego [141 90] :face :right) + (actions/play-animation entities :ego :reach) + (actions/remove-item entities :spell-component) + (actions/talk entities :ego "I poured it in. Now what?")) + (actions/get-script entities + (actions/talk entities :ego "I don't want to put something in there unless I'm sure I need to.")))) + (defn wizard-dialogue [entities] (actions/do-dialogue entities :ego "Hello there [RED]Gandarf[]!" :wizard "Oh no, not you again!") (actions/present-choices entities @@ -206,10 +261,8 @@ :left-dir {:box [0 40 20 140] :script (actions/get-script entities - (actions/walk-to entities :ego [0 80]) - (actions/walk-straight-to entities :ego [-20 80]) - (actions/transition-background entities :outside-castle [330 80]) - (actions/walk-straight-to entities :ego [310 80]) + (walk-to-castle entities) + ) :cursor :left}} :layers {:day [(assoc (texture "outsidehouse/background.png") :x 0 :y 0 :baseline 0) @@ -290,17 +343,7 @@ :anim cauldron :anim-start 0 :script (actions/get-script entities (actions/talk entities :ego "That's a big cauldron!")) - :scripts {:recipe (actions/get-script entities - (actions/walk-to entities :ego [151 90] :face :right) - (actions/play-animation entities :ego :squat) - (actions/remove-item entities :recipe) - (actions/give entities :ash) - (actions/talk entities :ego "It burned up into ash.")) - :spell-component (actions/get-script entities - (actions/walk-to entities :ego [141 90] :face :right) - (actions/play-animation entities :ego :reach) - (actions/remove-item entities :spell-component) - (actions/talk entities :ego "I poured it in. Now what?"))})) + :scripts put-something-in-cauldron)) :wizard (rooms/make-entity :wizard (common/make-wizard screen {:x 190 :y 78 :baseline 162 :scale-x 1.2 :scale-y 1.2 :script (actions/get-script entities (talk-to-gandarf-outside entities))})) :note (rooms/make-entity :note (assoc (texture "outsidehouse/note.png") diff --git a/desktop/src-common/advent/screens/rooms/outside_jail.clj b/desktop/src-common/advent/screens/rooms/outside_jail.clj index 5efdbb1b..191cd611 100644 --- a/desktop/src-common/advent/screens/rooms/outside_jail.clj +++ b/desktop/src-common/advent/screens/rooms/outside_jail.clj @@ -15,11 +15,11 @@ (assoc-in entities [:room :entities :spear] (get-in entities [:room :spear])) entities)) -(defn add-watch-if-necessary [entities] - (if (and (not (actions/has-obtained? entities :broken-watch)) - (not (actions/has-item? entities :watch)) - (actions/has-obtained? entities :watch)) - (assoc-in entities [:room :entities :watch] (get-in entities [:room :watch])) +(defn add-clock-if-necessary [entities] + (if (and (not (actions/has-obtained? entities :broken-clock)) + (not (actions/has-item? entities :alarm-clock)) + (actions/has-obtained? entities :alarm-clock)) + (assoc-in entities [:room :entities :alarm-clock] (get-in entities [:room :alarm-clock])) entities)) (defn add-rope-if-necessary [entities] @@ -33,7 +33,7 @@ (-> entities (assoc-in [:room :entities :guard] (get-in entities [:room :guard])) add-spear-if-necessary - add-watch-if-necessary + add-clock-if-necessary (assoc-in [:room :entities :stash] (get-in entities [:room :stash])) add-rope-if-necessary)) @@ -131,21 +131,21 @@ :stump {:box [205 68 251 89] :script (actions/get-script entities (actions/do-dialogue entities :ego "It's a stump.")) - :scripts {:watch (actions/get-script entities + :scripts {:alarm-clock (actions/get-script entities (actions/walk-to entities :ego [189 65] :face :right) (actions/play-animation entities :ego :reach) - (actions/remove-item entities :watch) - (actions/add-entity entities :watch (get-in @entities [:room :watch]))) + (actions/remove-item entities :alarm-clock) + (actions/add-entity entities :alarm-clock (get-in @entities [:room :alarm-clock]))) :sword (actions/get-script entities - (when (get-in @entities [:room :entities :watch]) + (when (get-in @entities [:room :entities :alarm-clock]) (actions/walk-to entities :ego [129 65] :face :right) (actions/talk entities :ego "I'll take a big swing!") (actions/walk-straight-to entities :ego [189 65] :face :right :speed 3.5) (actions/play-animation entities :ego :swing) (actions/talk entities :ego "It's split right down the middle!") (actions/play-animation entities :ego :reach) - (actions/remove-entity entities :watch) - (actions/give entities :broken-watch)))}} + (actions/remove-entity entities :alarm-clock) + (actions/give entities :broken-clock)))}} :lever {:box [10 72 17 85] :script (actions/get-script entities (interact-with-lever entities)) @@ -192,13 +192,13 @@ :spear (rooms/make-entity :spear (assoc (texture "outside-jail/spear.png") :x 60 :y 65 :baseline 180 :script (actions/get-script entities (grab-spear entities)))) - :watch (rooms/make-entity :watch (assoc (texture "inside-castle/watch.png") - :x 217 :y 83 :baseline 160 - :script (actions/get-script entities - (actions/walk-to entities :ego [189 65] :face :right) - (actions/play-animation entities :ego :reach) - (actions/remove-entity entities :watch) - (actions/give entities :watch)))) + :alarm-clock (rooms/make-entity :alarm-clock (assoc (texture "outside-jail/alarm-clock.png") + :x 217 :y 83 :baseline 160 + :script (actions/get-script entities + (actions/walk-to entities :ego [189 65] :face :right) + (actions/play-animation entities :ego :reach) + (actions/remove-entity entities :alarm-clock) + (actions/give entities :alarm-clock)))) :stash (rooms/make-entity :stash (assoc (animation->texture screen open-stash) :x 197 :y 94 :baseline 146 diff --git a/desktop/src-common/advent/screens/scene.clj b/desktop/src-common/advent/screens/scene.clj index 3dda50c5..0f75b1ea 100644 --- a/desktop/src-common/advent/screens/scene.clj +++ b/desktop/src-common/advent/screens/scene.clj @@ -259,7 +259,7 @@ :note-1 (actions/get-script entities (common/read-note-1 entities)) :note-2 (actions/get-script entities (common/read-note-2 entities)) :camera (actions/get-script entities (actions/talk entities :ego "It's some sort of magical device that captures images.")) - :flashlight (actions/get-script entities (actions/talk entities :ego "It's a magic device that gives off light.")) + :alarm-clock (actions/get-script entities (actions/talk entities :ego "It's a magic device that tells the time.")) :walkie-talkies (actions/get-script entities (actions/do-dialogue entities :ego "If I talk in one of these devices, I can hear it in the other one!")) :walkie-talkie (actions/get-script entities (common/listen-to-frankie entities)) nil)) diff --git a/desktop/src-common/advent/utils.clj b/desktop/src-common/advent/utils.clj index 8fb3d95a..1ea92a33 100644 --- a/desktop/src-common/advent/utils.clj +++ b/desktop/src-common/advent/utils.clj @@ -14,7 +14,7 @@ (let [{:keys [x y]} (input->screen screen {:x (:input-x screen) :y (:input-y screen)})] (println (:input-x screen) (:input-y screen) "->" x y))) -(def +all-cursors+ [:main :wool :mushrooms :carrot :right :down :left :up :flask :flask-with-contents :trophy :ladder :stick :cat-toy :balloon :frog-legs :teddy :portrait :recipe :glass-eye :motivational-tapes :used-earplugs :grass :slobber :flask-with-strength :medal :kiss :sword :hourglass :mandrake :ball-n-chain :key :rope :crowbar :note-1 :ash :sack-lunch :flies :spear :monocle :feather :spell-component :money :watch :broken-watch :slingshot :camera :walkie-talkies :flashlight :walkie-talkie :flask-water :flask-water-stuff :flask-water-stuff-2]) +(def +all-cursors+ [:main :wool :mushrooms :carrot :right :down :left :up :flask :flask-with-contents :trophy :ladder :stick :cat-toy :balloon :frog-legs :teddy :portrait :recipe :glass-eye :motivational-tapes :used-earplugs :grass :slobber :flask-with-strength :medal :kiss :sword :hourglass :mandrake :ball-n-chain :key :rope :crowbar :note-1 :ash :sack-lunch :flies :spear :monocle :feather :spell-component :money :watch :broken-clock :slingshot :camera :walkie-talkies :alarm-clock :walkie-talkie :flask-water :flask-water-stuff :flask-water-stuff-2 :note-2 :magic-slingshot]) (defn cursor [filename which] (let [scale 2