more stash stuff.

This commit is contained in:
2015-01-08 13:23:30 -08:00
parent 9d09e19aec
commit f41a9deae1
2 changed files with 45 additions and 11 deletions

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 1.1 KiB

View File

@@ -9,6 +9,42 @@
[play-clj.utils :refer :all]
[play-clj.g2d :refer :all]))
(defn bust-chest [entities]
(if (get-in @entities [:state :broke-lock?])
(do
(actions/talk entities :ego "I already bust it open."))
(do
(actions/talk entities :ego "Let's see if this can pry this puppy open.")
(actions/walk-straight-to entities :ego [152 95] :face :right)
(actions/play-animation entities :ego :crowbar)
(actions/remove-entity entities :lid)
(actions/update-state entities #(assoc % :broke-lock? true))
(actions/talk entities :ego "Got it!"))))
(defn explore-chest [entities]
(cond
(actions/has-item? entities :slingshot)
(do (actions/walk-to entities :ego [152 95])
(actions/talk entities :ego "It's empty now."))
(get-in @entities [:state :broke-lock?])
(do
(actions/walk-to entities :ego [152 95])
(actions/talk entities :ego "Let's see what's inside now.")
(actions/play-animation entities :ego :reach)
(actions/do-dialogue entities
:ego "Yes! I got my stuff back!"
:ego "Including the Slinger's shot!")
(actions/give entities :flask-1-strength)
(actions/give entities :medal)
(actions/give entities :trophy)
(actions/give entities :slingshot))
:else
(do
(actions/walk-to entities :ego [152 95])
(actions/talk entities :ego "Maybe my stuff is in here...")
(actions/play-animation entities :ego :reach)
(actions/talk entities :ego "It's locked tight!"))))
(defn make [screen]
@@ -22,19 +58,17 @@
(actions/walk-straight-to entities :ego [167 100]))
:cursor :left}
:chest {:box [151 107 180 124]
:script (actions/get-script entities
(actions/walk-to entities :ego [152 95])
(actions/talk entities :ego "Maybe my stuff is in here...")
(actions/play-animation entities :ego :reach)
(actions/talk entities :ego "It's locked tight!"))
:script (actions/get-script entities (explore-chest entities))
:scripts {:sword (actions/get-script entities (actions/talk entities :ego "There's not enough room to swing my sword here."))
:crowbar (actions/get-script entities
(actions/talk entities :ego "Let's see if this can open this puppy up.")
(actions/walk-straight-to entities :ego [152 95] :face :right)
(actions/play-animation entities :ego :crowbar)
)}}}
(bust-chest entities))}}}
:layers [(assoc (texture "inside-stash/background.png") :x 0 :y 0 :baseline 0)]
:entities {}
:entities {:lid (assoc (texture "inside-stash/lid.png")
:x 156 :y 116 :baseline 125)}
:collision "inside-stash/collision.png"
:scale-fn (utils/scaler-fn-with-baseline 110 0.10 1.00)
:start-pos [143 96]))
:start-pos [143 96]
:apply-state (fn [entities]
(if (get-in entities [:state :broke-lock?])
(update-in entities [:room :entities] #(dissoc % :lid))
entities))))