diff --git a/desktop/src-common/advent/screens/rooms/cat_tree.clj b/desktop/src-common/advent/screens/rooms/cat_tree.clj index a625e628..5a00c1df 100644 --- a/desktop/src-common/advent/screens/rooms/cat_tree.clj +++ b/desktop/src-common/advent/screens/rooms/cat_tree.clj @@ -206,6 +206,26 @@ (present-owl-choices entities))) (actions/update-state entities #(assoc % :talked-to-owl? true))) +(defn try-flask [] + (actions/get-script entities + (cond + (actions/has-obtained? entities :feather) + (do (actions/walk-to entities :ego [141 54] :face :right) + (actions/do-dialogue entities + :ego "Could you use this flask as a monocle?" + :owl "You already gave me my monocle, silly boy!")) + + (get-in @entities [:state :wants-monocle?]) + (do + (actions/walk-to entities :ego [141 54] :face :right) + (actions/do-dialogue entities + :ego "Could you use this flask as a monocle?" + :owl "Maybe, but I think it'd make me seasick.") + (do-puke entities)) + + :else + (actions/talk entities :ego "Why would an owl want that?")))) + (defn give-monocle [entities] (actions/walk-to entities :ego [141 54] :face :right) (actions/talk entities :ego "Is this your monocle?") @@ -437,7 +457,12 @@ :scripts #(condp = % :flask-2 (actions/get-script entities (cond - (get-in @entities [:state :knows-owl-trouble?]) + (actions/has-obtained? entities :feather) + (do (actions/walk-to entities :ego [141 54] :face :right) + (actions/do-dialogue entities + :ego "Could you use this flask as a monocle?" + :owl "You already gave me my monocle, silly boy!")) + (get-in @entities [:state :wants-monocle?]) (do (actions/walk-to entities :ego [141 54] :face :right) (actions/do-dialogue entities @@ -447,9 +472,15 @@ :else (actions/talk entities :ego "Why would an owl want that?"))) + :flask-water (try-flask) + :flask-water-ash (try-flask) + :flask-water-flies (try-flask) + :flask-flies-ash (try-flask) + :spell-component (try-flask) + :flask-1-strength (actions/get-script entities (cond - (get-in @entities [:state :knows-owl-trouble?]) + (get-in @entities [:state :wants-monocle?]) (do (actions/walk-to entities :ego [141 54] :face :right) (actions/do-dialogue entities @@ -471,7 +502,7 @@ :monocle (actions/get-script entities (give-monocle entities)) (actions/get-script entities - (if (get-in @entities [:state :knows-owl-trouble?]) + (if (get-in @entities [:state :wants-monocle?]) (do (actions/do-dialogue entities :ego "Is this your monocle?") (if (actions/has-obtained? entities :feather) (actions/talk entities :owl "You already gave me my monocle, silly boy!")