give hints.

This commit is contained in:
Bryce Covert
2015-08-05 18:17:24 -07:00
parent acea1c7784
commit 9a8078c183
2 changed files with 37 additions and 15 deletions

View File

@@ -18,7 +18,11 @@
(actions/update-state entities #(assoc % :chest-contents (concat (remove #{:key :ladder} (:inventory %)) (:chest-contents %)))) (actions/update-state entities #(assoc % :chest-contents (concat (remove #{:key :ladder} (:inventory %)) (:chest-contents %))))
(actions/update-state entities #(assoc % :inventory [])) (actions/update-state entities #(assoc % :inventory []))
(actions/update-state entities #(assoc % :opened-bars? false)) (actions/update-state entities #(assoc % :opened-bars? false))
(actions/transition-background entities :inside-jail [130 85] :between #(assoc-in %2 [:state :time] :night))) (actions/transition-background entities :inside-jail [130 85] :between (fn [s e]
(-> e
(assoc-in [:state :time] :night)
(update-in [:room :entities :ego] #(actions/start-animation s % :crawl-stand)))))
(actions/play-animation entities :ego :standup))
(defn make-wizard [screen wizard-spec] (defn make-wizard [screen wizard-spec]
(let [wizard-sheet (texture! (texture "wizard/talk.png") :split 20 46) (let [wizard-sheet (texture! (texture "wizard/talk.png") :split 20 46)

View File

@@ -136,11 +136,11 @@
:ego "I get to just take the key and leave?" :ego "I get to just take the key and leave?"
:ego "Seems like a pretty sorry excuse for a puzzle.")))) :ego "Seems like a pretty sorry excuse for a puzzle."))))
(defn tie-up-warden [entities] (defn tie-up-warden [entities message]
(actions/play-animation entities :ego :idea) (actions/play-animation entities :ego :idea)
(actions/do-dialogue entities (actions/do-dialogue entities
:ego "I know!" :ego "I know!"
:ego "I'll tie him up.") :ego message)
(actions/walk-to entities :ego [91 61] :face :left) (actions/walk-to entities :ego [91 61] :face :left)
(actions/play-animation entities :ego :reach) (actions/play-animation entities :ego :reach)
(actions/do-dialogue entities (actions/do-dialogue entities
@@ -182,15 +182,20 @@
(if (chest-full? entities) (if (chest-full? entities)
(actions/talk entities :ego "I probably shouldn't leave without my belongings.") (actions/talk entities :ego "I probably shouldn't leave without my belongings.")
(do (actions/transition-background entities :outside-jail [50 46] :face :right) (do (actions/transition-background entities :outside-jail [50 46] :face :right)
(when (not (get-in @entities [:state :dropped-ball?])) (if (get-in @entities [:state :dropped-ball?])
(actions/do-dialogue entities :ego "Yes I made it!" (actions/do-dialogue entities :ego "Yes I made it!"
:guard "Hmm?" :ego "But what now?"
:guard "Halt! Thou art under arrest!" :ego "I have till sunrise before Bloodclot comes and destroys the town."
:guard "Thou wilst be putteth back into thy cell.") :ego "Maybe Gandarf can help me!")
(actions/play-animation entities :ego :sigh) (do
(actions/do-dialogue entities :ego "Yes I made it!"
:guard "Hmm?"
:guard "Halt! Thou art under arrest!"
:guard "Thou wilst be putteth back into thy cell.")
(actions/play-animation entities :ego :sigh)
(common/go-to-jail entities) (common/go-to-jail entities)
(actions/do-dialogue entities :ego "Dang! I was so close to freedom, I could taste it!"))))) (actions/do-dialogue entities :ego "Dang! I was so close to freedom, I could taste it!"))))))
(actions/talk entities :ego "Do you really think I can walk down those steps while I'm locked up?"))) (actions/talk entities :ego "Do you really think I can walk down those steps while I'm locked up?")))
@@ -247,7 +252,8 @@
(Thread/sleep 300) (Thread/sleep 300)
(actions/play-animation entities :warden :fall-asleep :stop? false) (actions/play-animation entities :warden :fall-asleep :stop? false)
(actions/begin-animation entities :warden :sleep) (actions/begin-animation entities :warden :sleep)
(actions/remove-item entities :ball-n-chain)) (actions/remove-item entities :ball-n-chain)
(actions/talk entities :ego "Phew! That was close!"))
(actions/do-dialogue entities :ego "I don't know what to do with that."))) (actions/do-dialogue entities :ego "I don't know what to do with that.")))
:sword (actions/get-script entities (actions/talk entities :ego "I wouldn't want to accidentally break the Sword of Blergh.")) :sword (actions/get-script entities (actions/talk entities :ego "I wouldn't want to accidentally break the Sword of Blergh."))
:rope (actions/get-script entities (if (get-in @entities [:state :bent-bars?]) :rope (actions/get-script entities (if (get-in @entities [:state :bent-bars?])
@@ -259,10 +265,21 @@
:ego "I had better not, or else I'd get caught.")) :ego "I had better not, or else I'd get caught."))
(actions/do-dialogue entities :ego "Good thinking." (actions/do-dialogue entities :ego "Good thinking."
:ego "But I can't fit out that window." :ego "But I can't fit out that window."
:ego "And the bars are made of steel!")))}} :ego "And the bars are made of steel!")))
:key (actions/get-script entities (actions/walk-to entities :ego [102 88] :face :right)
(actions/do-dialogue entities :ego "Here goes."
:ego "Wait..."
:ego "The door locks without a key."
:ego "If I get caught, I won't be able to get out."))}}
:hay {:box [130 86 177 102] :hay {:box [130 86 177 102]
:script (actions/get-script entities :script (actions/get-script entities
(search-hay entities))} (search-hay entities))
:scripts {:default (actions/get-script entities
(actions/talk entities :ego "Finding it again will be like finding a needle in a haystack!"))
:key (actions/get-script entities
(actions/do-dialogue entities :ego "I'm trying to escape."
:ego "Not help the next bloke who gets trapped here."))}}
:chest {:box [194 62 228 99] :chest {:box [194 62 228 99]
:script (actions/get-script entities (touch-chest entities))} :script (actions/get-script entities (touch-chest entities))}
:door {:box [257 62 301 152] :door {:box [257 62 301 152]
@@ -328,7 +345,8 @@
:scripts {:sword (actions/get-script entities (actions/do-dialogue entities :scripts {:sword (actions/get-script entities (actions/do-dialogue entities
:ego "That's pretty gruesome." :ego "That's pretty gruesome."
:ego "I can't kill him just for doing his job.")) :ego "I can't kill him just for doing his job."))
:rope (actions/get-script entities (tie-up-warden entities))}) :rope (actions/get-script entities (tie-up-warden entities "I'll tie him up."))
:ball-n-chain (actions/get-script entities (tie-up-warden entities "I'll lock him up."))})
:chest-top (assoc (texture "inside-jail/chest-top.png") :chest-top (assoc (texture "inside-jail/chest-top.png")
:x 193 :y (- 240 165) :baseline 166 :x 193 :y (- 240 165) :baseline 166
:origin-x 0 :origin-y 0 :origin-x 0 :origin-y 0