diff --git a/desktop/src-common/advent/screens/rooms/cat_tree.clj b/desktop/src-common/advent/screens/rooms/cat_tree.clj index 6cfadfc1..923083ac 100644 --- a/desktop/src-common/advent/screens/rooms/cat_tree.clj +++ b/desktop/src-common/advent/screens/rooms/cat_tree.clj @@ -124,7 +124,9 @@ (defn make-night [entities] (-> entities (update-in [:room :entities] #(dissoc % :grandma)) - (utils/remove-interaction :ladder-area) + (utils/remove-interaction :ladder-area-1) + (utils/remove-interaction :ladder-area-2) + (utils/remove-interaction :ladder-area-3) (utils/remove-interaction :grandma) (update-in [:room :entities] #(assoc % :owl (get-in entities [:room :owl]))) remove-rock-if-necessary)) @@ -212,6 +214,17 @@ :owl "I'm sure you can find a use for it." :owl "And without pockets, I don't have much else I can give you." :ego "Thanks, I guess.")) +(defn make-ladder-area [box] + {:box box + :script (actions/get-script entities (actions/talk entities :ego "It's a really big tree!")) + :scripts {:ladder (actions/get-script entities + (actions/talk entities :ego "I'll just set this up.") + (actions/walk-to entities :ego [151 50] :face :left) + (actions/play-animation entities :ego :reach) + (actions/remove-item entities :ladder) + (actions/add-entity entities :ladder (get-in @entities [:room :ladder])) + (actions/walk-straight-to entities :ego [140 85] :face :right :update-baseline? false) + (actions/add-entity entities :blank (get-in @entities [:room :blank])))}}) (defn make [screen] (let [cat-stand-sheet (texture! (utils/get-texture "cat-tree/cat-stand.png") :split 22 10) @@ -253,15 +266,10 @@ (actions/transition-background entities :outside-house [137 204]) (actions/walk-to entities :ego [158 110] :skip-type :end)) :cursor :down} - :ladder-area {:box [134 40 265 190] - :scripts {:ladder (actions/get-script entities - (actions/talk entities :ego "I'll just set this up.") - (actions/walk-to entities :ego [151 50] :face :left) - (actions/play-animation entities :ego :reach) - (actions/remove-item entities :ladder) - (actions/add-entity entities :ladder (get-in @entities [:room :ladder])) - (actions/walk-straight-to entities :ego [140 85] :face :right :update-baseline? false) - (actions/add-entity entities :blank (get-in @entities [:room :blank])))}} + :ladder-area-1 (make-ladder-area [123 100 167 199]) + :ladder-area-2 (make-ladder-area [87 151 227 212]) + :ladder-area-3 (make-ladder-area [133 69 205 92]) + :rock {:box [62 83 101 103] :script (actions/get-script entities (when (and (actions/has-obtained? entities :note-1)