better brian interactions.

This commit is contained in:
Bryce Covert
2015-08-07 09:41:07 -07:00
parent 1b8ffafc10
commit 18538c4d3b
2 changed files with 64 additions and 11 deletions

View File

@@ -115,16 +115,55 @@
(defn walk-to-player [entities]
(actions/walk-to entities :ego [210 73] :face :right))
(defn brian-pause-from-work [entities]
(actions/play-animation entities :game-player :pause-from-work :stop? false)
(actions/do-stop entities :game-player :face :right))
(defn brian-get-to-work [entities]
(actions/play-animation entities :game-player :get-to-work :stop? false)
(actions/do-stop entities :game-player :face :left))
(defn do-game-player-dialogue [entities]
(walk-to-player entities)
(actions/do-dialogue entities :ego "You there!")
(actions/talk entities :game-player "What is it? I'm busy!" :anim :talk-down)
(Thread/sleep 200)
(actions/play-animation entities :game-player :pause-from-work :stop? false)
(actions/do-stop entities :game-player :face :right)
(brian-pause-from-work entities)
(actions/talk entities :game-player "Oh, it's you Tick.")
(actions/present-choices entities
{:choices ["Do you know anything about the sword in the stone up there?"
{:choices ["Whatcha doing?"
{:run #(actions/respond entities %
:game-player "I'm writing articles in the fields of mathematics, biology..."
:game-player "... astronomy, physics, archeology ..."
:game-player "... paleontology, engineering, history ..."
:game-player "... anthropology, chemistry, quantum mechanics ..."
:game-player "... literature, physiology, and ...")
:choices ["... and girls?"
{:run #(actions/respond entities %
:game-player "No, of course not."
:game-player "I'm a boy of the books."
:game-player "I have no time for dating or love.")
:choices actions/previous-choices}
"... and knightology?"
{:run #(actions/respond entities %
:game-player "The study of knights?"
:game-player "That area of research hasn't been founded yet."
:ego "Well I can be your first subject!"
:game-player "I'm far too busy."
:game-player "Plus, you're not even a knight!")
:choices actions/previous-choices}
"... and magic?"
{:run #(actions/respond entities %
:game-player "Magic?"
:game-player "Ha!"
:game-player "My research will put magic into its rightful place:"
:game-player "My history books.")
:choices actions/previous-choices}
"... and what?"
{:run #(actions/respond entities % :game-player "Choreography.")
:choices actions/something-else}
]}
"Do you know anything about the sword in the stone up there?"
{:run #(actions/respond entities %
:game-player "It's the Sword of Blergh. "
:game-player "There's a prophecy that says that whoever pulls it will be a great knight!"
@@ -167,8 +206,8 @@
"Nevermind."
{:run #(actions/respond entities % :game-player "See you around.")}]})
(actions/play-animation entities :game-player :get-to-work :stop? false)
(actions/do-stop entities :game-player :face :left))
(brian-get-to-work entities)
)
(defn walk-to-blergh [entities]
(actions/walk-to entities :ego [85 145] :face :right)
@@ -439,9 +478,12 @@
:script (actions/get-script entities
(walk-to-player entities)
(if (= nil (get-in @entities [:state :current-riddle]))
(let [{:keys [run choices]} (nice-trophy-dialogue entities)]
(run "Nice trophy.")
(actions/present-choices entities {:choices choices}))
(do
(brian-pause-from-work entities)
(let [{:keys [run choices]} (nice-trophy-dialogue entities)]
(run "Nice trophy.")
(actions/present-choices entities {:choices choices}))
(brian-get-to-work entities))
(actions/do-dialogue entities :ego "Can't you give me your trophy of wisdom?"
:game-player "If you want my trophy, you'll have to help me with my riddles."))))
:books (assoc (texture "inside-castle/books.png")
@@ -458,30 +500,36 @@
(walk-to-player entities)
(if (= :wool (get-in @entities [:state :current-riddle]))
(do (actions/play-animation entities :ego :idea)
(brian-pause-from-work entities)
(actions/update-state entities (fn [s] (assoc s :current-riddle :balloon)))
(actions/remove-item entities :wool)
(actions/do-dialogue entities
:ego "Wool is white as snow, but it keeps you warm."
:game-player "Good job, Tick! Now for your second riddle:"
:game-player "'Filled with air, light as a feather,\nIf you want to keep it, best have a tether.'"
:ego "Okay. Be back soon."))
:ego "Okay. Be back soon.")
(brian-get-to-work entities))
(actions/do-dialogue entities :ego "What about this?" :game-player "No, that's not the solution. Keep looking.")))
:balloon (actions/get-script entities
(walk-to-player entities)
(if (= :balloon (get-in @entities [:state :current-riddle]))
(do (actions/play-animation entities :ego :idea)
(brian-pause-from-work entities)
(actions/update-state entities (fn [s] (assoc s :current-riddle :frog-legs)))
(actions/remove-item entities :balloon)
(actions/do-dialogue entities
:ego "A balloon is light as a feather."
:game-player "That's right, Tick! Now for your third riddle:"
:game-player "'Hippity-hop, I'd jump so high,\nWithout these springs, can't harm a fly.'"
:ego "Okay. Be back soon."))
:ego "Okay. Be back soon.")
(brian-get-to-work entities))
(actions/do-dialogue entities :ego "What about this?" :game-player "No, that's not the solution. Keep looking.")))
:frog-legs (actions/get-script entities
(walk-to-player entities)
(if (= :frog-legs (get-in @entities [:state :current-riddle]))
(do (actions/play-animation entities :ego :idea)
(brian-pause-from-work entities)
(actions/update-state entities (fn [s] (assoc s :current-riddle :done)))
(actions/remove-item entities :frog-legs)
@@ -495,7 +543,8 @@
(actions/remove-entity entities :trophy)
(actions/glad entities)
(actions/talk entities :ego "Thanks!"))
(actions/do-dialogue entities :ego "What about this?" :game-player "No, that's not the solution. Keep looking.")))
(actions/do-dialogue entities :ego "What about this?" :game-player "No, that's not the solution. Keep looking."))
(brian-get-to-work entities))
:trophy (actions/get-script entities
(walk-to-player entities)
(actions/talk entities :game-player "You can keep the trophy. You've earned it."))