better owl situation for strength potion and empty flask.

This commit is contained in:
Bryce Covert
2016-06-30 08:40:48 -07:00
parent 0c5617d500
commit 294843080c
3 changed files with 210 additions and 82 deletions

View File

@@ -260,6 +260,7 @@
owl-stand (utils/make-anim "cat-tree/owl.png" [21 30] 0.2 [0 0 0 0 0 0 0 2])
owl-talk (utils/make-anim "cat-tree/owl.png" [21 30] 0.2 [1 0 1 0 1 0 0 0 2 0])
owl-puke (utils/make-anim "cat-tree/owl.png" [21 30] 0.10 [0 0 2 2 3 2 2 3 3 2 3 3 3 4 5 6 7 4 4 3 3 2 2 2 2 2])
owl-eye (utils/make-anim-seq "cat-tree/eye" [44 48] 0.10 [0 0 1 1 2 2 2 2 2 2 2 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 4 4 4 3 4 4 4 5 6 7 8 9 9 9 9 9 9 9 9 9 10 11 12 12 11 10 9 9 9 9 9 9 9 9 10 11 12 12 12 11 10 9 9 9 9 9 8 7 6 5])
puke (particle-effect "particles/puke")]
(rooms/make :music {:day :town-2 :night :night}
:name "Tree"
@@ -423,6 +424,7 @@
:stand owl-stand
:talk owl-talk
:puke owl-puke
:eye owl-eye
:talk-color (color 0.5 0.5 1.0 1.0)
:anim owl-stand
:anim-start 0
@@ -430,8 +432,43 @@
:puke-sound (utils/load-sound "cat-tree/owl-puke.ogg")
:script (actions/get-script entities (talk-to-owl entities))
:anim-sound-frames {owl-puke {9 [:puke-sound (constantly 0.6)]}}
:anim-merges {owl-stand {:origin-x 0}
owl-eye {:origin-x 11}}
:scripts #(condp = %
:monocle (actions/get-script entities (give-monocle entities))
:flask-2 (actions/get-script entities
(cond
(get-in @entities [:state :knows-owl-trouble?])
(do
(actions/walk-to entities :ego [141 54] :face :right)
(actions/do-dialogue entities
:ego "Could you use this flask as a monocle?"
:owl "I don't think it matches my prescription.")
(do-puke entities))
:else
(actions/talk entities :ego "Why would an owl want that?")))
:flask-1-strength (actions/get-script entities
(cond
(get-in @entities [:state :knows-owl-trouble?])
(do
(actions/walk-to entities :ego [141 54] :face :right)
(actions/do-dialogue entities
:ego "Try this strength potion."
:ego "Maybe it'll cure your eye.")
(when (get-in @entities [:state :owl-tried-strength?])
(actions/do-dialogue entities :owl "Again?"))
(actions/do-dialogue entities
:owl "Okay, just a drop.")
(actions/play-animation entities :owl :eye)
(actions/do-dialogue entities
:owl "I don't think that helped that much.")
(when (actions/has-obtained? entities :feather)
(actions/do-dialogue entities :owl "I think I'll just stick to the monocle."))
(actions/update-state entities (fn [s] (assoc s :owl-tried-strength? true))))
:else
(actions/talk entities :ego "Why would an owl want that?")))
:monocle (actions/get-script entities
(give-monocle entities))
(actions/get-script entities
(if (get-in @entities [:state :knows-owl-trouble?])
(do (actions/do-dialogue entities :ego "Is this your monocle?")