From 0a268bb3822b8035c07b587f0f150e538e64d787 Mon Sep 17 00:00:00 2001 From: Bryce Covert Date: Thu, 6 Aug 2015 17:48:50 -0700 Subject: [PATCH] more failure interactions. --- desktop/gametodos.txt | 11 +--- .../advent/screens/rooms/outside_house.clj | 22 ++++--- .../advent/screens/rooms/outside_jail.clj | 65 +++++++++++-------- 3 files changed, 54 insertions(+), 44 deletions(-) diff --git a/desktop/gametodos.txt b/desktop/gametodos.txt index 70c22b23..495216f4 100644 --- a/desktop/gametodos.txt +++ b/desktop/gametodos.txt @@ -17,25 +17,17 @@ How do I start over? -"bod like mine" -jail asks about burning but candle isn't lit -Mama sheep and the carrot didn't trigger a few times Should be able to put back or give back antique shops stuff Two wools is a bit confusing, three? Make a "Wool" joke if you try to clean the window Computer cooks when I go in the wizards house Double click scene jump -Don't also object with nothing interactions, makes it hard to tell if -I missed hot spot or it's the wrong solution -Some games you have to try multiple times (make a joke about the multi -click puzzles) -hiding stuff in the hay so you don't get caught with it +Some games you have to try multiple times (make a joke about the multi click puzzles) putting out the candle lighting the hay on fire mark the squeaky board a bit -after the prison break I have no clear goal some nattering noise while talking would be good Didn't have the earplugs, I had the tapes, thief talked about the ear @@ -43,7 +35,6 @@ plugs "wit's end" gang dude should pop the georgia dream -put the clock in caldron before I knew why you can drink the strength potion while in blood clots hand Add color text for wrong interactions diff --git a/desktop/src-common/advent/screens/rooms/outside_house.clj b/desktop/src-common/advent/screens/rooms/outside_house.clj index 3806a1cf..6ac2164d 100644 --- a/desktop/src-common/advent/screens/rooms/outside_house.clj +++ b/desktop/src-common/advent/screens/rooms/outside_house.clj @@ -90,10 +90,13 @@ (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'.")) + (if (actions/has-item? entities :note-2) + (do + (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'.")) + (actions/talk entities :ego "I don't want to put something in there unless I'm sure I need to."))) :slingshot (actions/get-script entities (if (is-ready-for-slingshot entities) (do @@ -128,10 +131,13 @@ (Thread/sleep 500) (actions/walk-straight-to entities :ego [35 45] :override-dir :right :speed 3.0)))) :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.")) + (if (actions/has-item? entities :note-2) + (do + (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.")) + (actions/talk entities :ego "I don't want to put something in there unless I'm sure I need to."))) :recipe (actions/get-script entities (actions/walk-to entities :ego [151 90] :face :right) (actions/play-animation entities :ego :squat) diff --git a/desktop/src-common/advent/screens/rooms/outside_jail.clj b/desktop/src-common/advent/screens/rooms/outside_jail.clj index aff72d7b..c99e8d4a 100644 --- a/desktop/src-common/advent/screens/rooms/outside_jail.clj +++ b/desktop/src-common/advent/screens/rooms/outside_jail.clj @@ -156,38 +156,51 @@ (actions/update-entities entities #(assoc-in % [:room :entities :axe :opacity] 1.0)) (actions/walk-straight-to entities :ego [170 71])) :scripts {:alarm-clock (actions/get-script entities - (actions/walk-to entities :ego [170 71] :face :right) - (actions/walk-straight-to entities :ego [188 71] :face :right) - (actions/play-animation entities :ego :reach) - (actions/remove-item entities :alarm-clock) - (actions/add-entity entities :alarm-clock (get-in @entities [:room :alarm-clock])) - (actions/update-entities entities #(assoc-in % [:room :entities :axe :opacity] 0.0)) - (actions/play-animation entities :ego :axe) - - (actions/talk entities :ego "It's split right down the middle!") - (actions/play-animation entities :ego :reach) - (actions/remove-entity entities :alarm-clock) - (actions/update-entities entities #(assoc-in % [:room :entities :axe :opacity] 1.0)) - (actions/give entities :broken-clock) - (actions/walk-straight-to entities :ego [170 71])) - :sword (actions/get-script entities (actions/talk entities :ego "I can just use the axe."))}} + (if (actions/has-item? entities :note-2) + (do + (actions/walk-to entities :ego [170 71] :face :right) + (actions/walk-straight-to entities :ego [188 71] :face :right) + (actions/play-animation entities :ego :reach) + (actions/remove-item entities :alarm-clock) + (actions/add-entity entities :alarm-clock (get-in @entities [:room :alarm-clock])) + (actions/update-entities entities #(assoc-in % [:room :entities :axe :opacity] 0.0)) + (actions/play-animation entities :ego :axe) + + (actions/talk entities :ego "It's split right down the middle!") + (actions/play-animation entities :ego :reach) + (actions/remove-entity entities :alarm-clock) + (actions/update-entities entities #(assoc-in % [:room :entities :axe :opacity] 1.0)) + (actions/give entities :broken-clock) + (actions/walk-straight-to entities :ego [170 71])) + (actions/talk entities :ego "No reason to chop that!")) + ) + :sword (actions/get-script entities (actions/talk entities :ego "I can just use the axe.")) + :default (actions/get-script entities (actions/talk entities :ego "No reason to chop that!")) + :frog-legs (actions/get-script entities (actions/talk entities :ego "They're already chopped up!"))}} :lever {:box [3 72 20 90] :script (actions/get-script entities (interact-with-lever entities)) :scripts {:rope (actions/get-script entities - (when (get-in @entities [:state :knows-about-stash?]) - (actions/walk-to entities :ego [48 36] :face :left) - (actions/play-animation entities :ego :reach) - (actions/remove-item entities :rope) - (actions/add-entity entities :rope (get-in @entities [:room :rope])))) + (if (get-in @entities [:state :knows-about-stash?]) + (do + (actions/walk-to entities :ego [48 36] :face :left) + (actions/play-animation entities :ego :reach) + (actions/remove-item entities :rope) + (actions/add-entity entities :rope (get-in @entities [:room :rope]))) + (actions/talk entities :ego "Why would I want to burn that?"))) :recipe (actions/get-script entities - (actions/walk-to entities :ego [48 36] :face :left) - (actions/play-animation entities :ego :reach) - (actions/remove-item entities :recipe) - (actions/give entities :ash) - (actions/talk entities :ego "It burned up into ash.")) + (if (= :night (get-in @entities [:state :time])) + (do + (actions/walk-to entities :ego [48 36] :face :left) + (actions/play-animation entities :ego :reach) + (actions/remove-item entities :recipe) + (actions/give entities :ash) + (actions/talk entities :ego "It burned up into ash.")) + (actions/talk entities :ego "The candle's not lit right now."))) :default (actions/get-script entities - (actions/talk entities :ego "Why would I want to burn that?"))}} + (if (= :night (get-in @entities [:state :time])) + (actions/talk entities :ego "Why would I want to burn that?") + (actions/talk entities :ego "The candle's not lit right now.")))}} :end-of-rope {:box [177 101 185 108] :script (actions/get-script entities (try-to-go-in-stash entities))} :fountain {:box [150 126 193 147]