more stash stuff.
This commit is contained in:
Binary file not shown.
|
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 1.1 KiB |
@@ -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))))
|
||||
|
||||
Reference in New Issue
Block a user