From bbfc1a6fece4558702a30b8ff041b69c49cc645f Mon Sep 17 00:00:00 2001 From: Remington Covert Date: Wed, 10 Dec 2014 19:12:34 -0800 Subject: [PATCH] more detail with antique shop and sword. --- desktop/resources/cursor.png | Bin 5687 -> 5776 bytes desktop/src-common/advent/screens/items.clj | 1 + .../advent/screens/rooms/inside_antique.clj | 56 +++++++++++++++--- .../advent/screens/rooms/inside_castle.clj | 3 +- desktop/src-common/advent/utils.clj | 2 +- 5 files changed, 50 insertions(+), 12 deletions(-) diff --git a/desktop/resources/cursor.png b/desktop/resources/cursor.png index 6be25ca1bacb0dfa5de01da0436d4f679ba8699e..8de2224311bcbb93df7ca0a5382aaec9784c9800 100644 GIT binary patch delta 4713 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 delta 4624 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 GLSTZ1sTG+3 diff --git a/desktop/src-common/advent/screens/items.clj b/desktop/src-common/advent/screens/items.clj index 02457fff..63d9b0af 100644 --- a/desktop/src-common/advent/screens/items.clj +++ b/desktop/src-common/advent/screens/items.clj @@ -109,4 +109,5 @@ :scripts {:slobber (make-strength-potion)}} :medal {:name "Medal of strength" :value :medal :cursor :medal} :certificate {:name "Certificate of courage" :value :certificate :cursor :certificate} + :sword {:name "Sword of Blergh" :value :sword :cursor :sword} }) diff --git a/desktop/src-common/advent/screens/rooms/inside_antique.clj b/desktop/src-common/advent/screens/rooms/inside_antique.clj index f28d9e13..14058032 100644 --- a/desktop/src-common/advent/screens/rooms/inside_antique.clj +++ b/desktop/src-common/advent/screens/rooms/inside_antique.clj @@ -39,7 +39,8 @@ :choices actions/previous-choices} "Something else" {:choices actions/something-else}]} - (when (get-in @entities [:state :wants-toy]) + (when (and (get-in @entities [:state :wants-toy]) + (not (get-in @entities [:state :allowed-to-keep-teddy?]))) "Listen, I really need that teddy bear you have.") {:run #(actions/respond entities % :shopkeep "Why?" @@ -67,7 +68,8 @@ :shopkeep "Yes, that's it!" :shopkeep "You must have really met my son!" :shopkeep "Of course you can keep the teddy bear.") - (actions/give entities :teddy))}]}]} + + (actions/update-state entities (fn [s] (assoc s :allowed-to-keep-teddy? true))))}]}]} "How's life in the antique shop biz?" {:run #(actions/respond entities % :shopkeep "Pretty lonely." @@ -78,6 +80,10 @@ "Nevermind." {:run #(actions/respond entities % :shopkeep "Feel free to look around.")}]})) +(defn has-to-return-teddy? [entities] + (and (actions/has-item? entities :teddy) + (not (get-in @entities [:state :allowed-to-keep-teddy?])))) + (defn make [screen] (let [shopkeep-sheet (texture! (texture "inside-antique/shopkeep-talk.png") :split 18 21) shopkeep-stand (animation 0.1 (for [i (flatten [(repeat 30 0) 1 (repeat 50 0) 1 0 1 0 1])] @@ -93,19 +99,41 @@ (actions/play-animation entities :ego :reach) (actions/talk entities :ego "It's a portrait. There's something on the back but I can't read it.") (actions/remove-entity entities :portrait) - (actions/give entities :portrait))))] + (actions/give entities :portrait)))) + teddy (assoc (texture "inside-antique/teddy.png") + :x 250 + :y 80 + :baseline 160 + :script (actions/get-script entities + (actions/walk-to entities :ego [220 35] :face :right) + (actions/play-animation entities :ego :reach) + (actions/give entities :teddy) + (actions/remove-entity entities :teddy) + (when (not (get-in @entities [:state :allowed-to-keep-teddy?])) + (actions/do-dialogue entities + :ego "Aww, a cute teddy bear!" + :shopkeep "Don't get any fast ideas." + :shopkeep "That teddy bear does not leave my store."))))] (rooms/make :music :inside-antique :interactions {:down {:box [60 0 290 25] :cursor :down :script (actions/get-script entities - (when (actions/has-item? entities :portrait) + (when (or (actions/has-item? entities :portrait) + (has-to-return-teddy? entities)) (actions/walk-to entities :ego [222 3]) (actions/talk entities :shopkeep "Excuse me sonny. Please return my belongings before you leave.") - (actions/walk-to entities :ego [136 80] :face :left) - (actions/play-animation entities :ego :reach) - (actions/add-entity entities :portrait portrait) - (actions/remove-item entities :portrait)) + (when (actions/has-item? entities :portrait) + (actions/walk-to entities :ego [136 80] :face :left) + (actions/play-animation entities :ego :reach) + (actions/add-entity entities :portrait portrait) + (actions/remove-item entities :portrait)) + (when (has-to-return-teddy? entities) + (actions/walk-to entities :ego [220 35] :face :right) + (actions/play-animation entities :ego :reach) + (actions/add-entity entities :teddy teddy) + (actions/remove-item entities :teddy))) + (actions/walk-to entities :ego [222 3]) (actions/transition-background entities :inside-castle [182 90]))} :window {:box [212 130 256 180] @@ -121,6 +149,10 @@ :stand shopkeep-stand :talk shopkeep-talk :script (actions/get-script entities (do-antique-dialogue entities)) + :scripts {:teddy (actions/get-script entities + (if (get-in @entities [:state :allowed-to-keep-teddy?]) + (actions/talk entities :shopkeep "Please give the teddy bear to Herb when you see him.") + (actions/talk entities :shopkeep "That belonged to my long lost son.")))} ) :stand) :portrait portrait @@ -142,7 +174,13 @@ (actions/talk entities :ego "WOWZA! Those are hot.") (when (= 3 (get-in @entities [:state :mints-eaten])) (actions/talk entities :shopkeep "You brat! You ate the last mint.") - (actions/talk entities :shopkeep "Since you ate the last one, you have to go tell Gandarf to bring me some more."))))))} + (actions/talk entities :shopkeep "Since you ate the last one, you have to go tell Gandarf to bring me some more.")))))) + :teddy teddy} :collision "inside-antique/collision.png" + :apply-state (fn [entities] + (as-> entities entities + (if (actions/has-obtained? entities :teddy) + (update-in entities [:room :entities] #(dissoc % :teddy)) + entities))) :scale-fn (utils/scaler-fn-with-baseline 110 0.10 1.50) :start-pos [222 3]))) diff --git a/desktop/src-common/advent/screens/rooms/inside_castle.clj b/desktop/src-common/advent/screens/rooms/inside_castle.clj index 284e8366..150640e8 100644 --- a/desktop/src-common/advent/screens/rooms/inside_castle.clj +++ b/desktop/src-common/advent/screens/rooms/inside_castle.clj @@ -101,11 +101,10 @@ (defn pull-sword [entities] (actions/play-animation entities :ego :reach) + (actions/give entities :sword) (actions/talk entities :ego "I got it! I will become the greatest knight Remington has ever known!")) (defn try-to-pull-sword [entities missing-items obtained-items] - (actions/give entities :certificate) - (actions/give entities :medal) (let [item->proof {:trophy "wisdom" :medal "strength" :certificate "courage"}] (actions/play-animation entities :ego :reach) (actions/do-dialogue entities diff --git a/desktop/src-common/advent/utils.clj b/desktop/src-common/advent/utils.clj index f524bbeb..e3db4a0d 100644 --- a/desktop/src-common/advent/utils.clj +++ b/desktop/src-common/advent/utils.clj @@ -13,7 +13,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 :certificate]) +(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 :certificate :sword]) (defn cursor [filename which] (let [scale 2