diff --git a/desktop/gametodos.txt b/desktop/gametodos.txt index 8a202401..c6d7b05c 100644 --- a/desktop/gametodos.txt +++ b/desktop/gametodos.txt @@ -4,9 +4,14 @@ + ending + proper save/settings file location + closing should stop all scripts -+ dialogue for coin drop + night gandarf text is bad + descriptions for all items when used on self. + revamp text + gandarf animation -+ ++ alternate solutions to puzzle in jail (strength potion etc) ++ have warden wake up when you drop the cannonball ++ Opening should include dialogue tree + ++ fire mints "Specialty fire mints, hand delivered by Gandarf!" + ++ Test new gandarf dialogue diff --git a/desktop/src-common/advent/screens/rooms/outside_house.clj b/desktop/src-common/advent/screens/rooms/outside_house.clj index 4e7548a6..49bdbc7f 100644 --- a/desktop/src-common/advent/screens/rooms/outside_house.clj +++ b/desktop/src-common/advent/screens/rooms/outside_house.clj @@ -148,7 +148,7 @@ (defn do-frog [entities] - (actions/talk entities :wizard "Grenouille KALA!!!" :anim :talk-angry :stop? false) + (actions/talk entities :wizard "Grenouille CHALA!!!" :anim :talk-angry :stop? false) (particle-effect! (get-in @entities [:room :entities :magic-frog-particle]) :reset) (particle-effect! (get-in @entities [:room :entities :magic-frog-particle]) :start) (actions/begin-animation entities :ego :frog) @@ -166,6 +166,31 @@ (Thread/sleep 1500) (actions/transition-background entities :outside-house [257 90] :face :left)) +(defn do-prophecy [entities] + {:run #(do (actions/respond entities % + :wizard "Well let me remind you." + :wizard "'On the day when it shall be pulled,\nWith much strength a knight will take hold.'")) + :choices + ["Is this almost over?" + {:run #(do (actions/update-state entities (fn [state] (assoc state :convinced-wizard? true))) + (actions/respond entities % + :wizard "Patience, boy." + :wizard "'Courage will he need,\nWisdom he shall heed.'" + :wizard "'A final test remains, behold!'" + :wizard "If this is truely your quest, then I will help you. " + :ego "So you're my friend now, Gandarf?" + :wizard "No."))} + "*cough* *cough* *ahem*" + {:run #(do (actions/update-state entities (fn [state] (assoc state :convinced-wizard? true))) + (actions/respond entities % + :wizard "Excuse you. Moving on..." + :wizard "'Courage will he need,\nWisdom he shall heed.'" + :wizard "'A final test remains, behold!'" + :wizard "If this is truely your quest, then I will help you. " + :ego "So you're my friend now, Gandarf?" + :wizard "No.") + (utils/save @entities))}]}) + (defn wizard-dialogue [entities] (if (get-in @entities [:state :has-met-gandarf?]) (do (actions/do-dialogue entities :ego "Hello again Gandarf!" @@ -243,61 +268,122 @@ "I'm on an important quest!" {:run #(actions/respond entities % :wizard "Eh?" :wizard "Pray tell, what kind of quest?") - :choices ["My good looks?" + :choices ["To leave this house with some of your belongings." {:run #(do (actions/respond entities % - :wizard "You know, handsome looks aren't all they're chocked up to be." - :wizard "Take me for example." - :wizard "When you have a bod like man, you can hardly go to the grocery store without being noticed." - :wizard "But no. Your looks, however good they may be, don't give you the right to teach me a lesson." - ) - (actions/talk entities :wizard "Now leave, before I turn you into a frog!" :anim :talk-angry) + :wizard "My belongings!?") + (actions/talk entities :wizard "Why you little!" :anim :talk-angry :stop? false) + (actions/begin-animation entities :wizard :magic-hands) + (do-frog entities) + (actions/talk entities :ego "Gandarf is such a stingy old toad."))} + "To find you a brand new dragon." + {:run #(do (actions/respond entities % + :wizard "Great idea Tick!" + :wizard "You'd make the perfect base for a dragon-bait stew!" + :wizard "Let me just summon my boy-sized cooking pot.") + (actions/talk entities :wizard "Boildrum Ka...." :anim :talk-angry :stop? false) + (actions/begin-animation entities :wizard :magic-hands) + (actions/do-dialogue entities :ego "On second thought..." + :ego "I realized I have a busy schedule this morning." + :ego "Ciao!") (actions/transition-background entities :outside-house [257 90] :face :left) - (actions/talk entities :ego "Gandarf is pretty upset, but I bet he can be reasoned with."))} - "My good standing within the community?" + (actions/talk entities :ego "That Gandarf can be a real fire under my bum."))} + "To become a knight of the town of Remington." + {:run #(do (actions/respond entities % + :wizard "You are, are you?" + :wizard "And how do you, a mere reckless youth, plan on becoming a knight?")) + :choices ["Well I had this dream..." + {:run #(do (actions/respond entities % + :wizard "I had a dream last night too, Tick." + :ego "You did?" + :wizard "Yes." + :wizard "I dreamed I was an earthworm." + :wizard "And you'd never guess what happened when I woke up." + :ego "What?" + :wizard "I had indigestion." + :wizard "Dreams aren't all they're chocked up to be." + :wizard "Face it boy, it was just a dream. " + :wizard "You'll never be a knight." + :wizard "Now go.") + (actions/transition-background entities :outside-house [257 90] :face :left) + (actions/play-animation entities :ego :sigh))} + "By pulling the Sword of Blergh from its stone!" + {:run #(actions/respond entities % + :wizard "You mean to fulfill the ancient prophecy?" + :wizard "Only one worthy in courage, wisdom, and might can pull it." + :wizard "You'd never measure up!" + :ego "Well maybe you could help me?" + :wizard "I appreciate your spirit, Tick, but why is it so important for you to become a knight?") + :choices ["I want to impress Georgia McGorgeous." + {:run #(do (actions/respond entities % + :ego "You know, win her heart and everything." + :wizard "Well, no man can argue with true love." + :wizard "Me least of all." + :wizard "I'm still a bachelor myself.") + (Thread/sleep 1000) + (actions/do-dialogue entities + :wizard "I have decided." + :wizard "I will help you." + :wizard "Your cause is noble, and your heart is just." + :wizard "Just don't let me catch you stealing my belongings.") + (Thread/sleep 1000) + (actions/do-dialogue entities :wizard "Now Tick, do you know the prophecy of the Sword of Blergh?")) + :choices ["Yes." + (do-prophecy entities) + "No." + (do-prophecy entities)]} + "I want to have the name 'Sir Tick.'" + {:run #(actions/respond entities % + :wizard "'Sir Tick.'" + :ego "It does have a nice ring to it." + :ego "Wouldn't you say?" + :wizard "It does indeed!" + :wizard "But the title comes after the deed, boy." + :wizard "You must have a more noble reason to become a knight." + ) + :choices actions/previous-choices} + "I want to be famous." + {:run #(do (actions/respond entities % + :wizard "Did you ever hear the story of Young Sir Gypsum?" + :ego "I don't think so." + :wizard "Well he went off on many quests, seeking fame and fortune.") + (Thread/sleep 3000) + (actions/do-dialogue entities + :ego "... and?" + :wizard "And what?" + :ego "And what happened to Young Sir Gypsum?" + :wizard "Nobody remembers!" + :wizard "Fame is a fickle friend.")) + :choices actions/previous-choices} + "I wanteth to speaketh like the other knights." + {:run #(actions/respond entities % + :wizard "Oh, dost thou?" + :wizard "Surely thou doth know that thou can speaketh in this manner." + :wizard "Thy tongue requireth neither sword nor title.") + :choices actions/previous-choices}]} + "By besting trap, beast, and long, boring, conversation with old gheezers." + {:run #(do (actions/respond entities % + :wizard "Quite right, quite right.") + (Thread/sleep 1000) + (actions/do-dialogue entities + :wizard "Wait." + :wizard "What 'old gheezer' are you referring to?" + :ego "Umm...") + (actions/talk entities :wizard "You don't happen to be referring to me, do you?" :anim :talk-angry :stop? false) + (actions/begin-animation entities :wizard :magic-hands) + (actions/do-dialogue entities :ego "Well, I..." + :ego "That is to say, I..." + :ego "... Oh boy.") + (do-frog entities) + (actions/play-animation entities :ego :sigh))}]} + "To improve my standing in the community." {:run #(do (actions/respond entities % :wizard "Ha! Good standing?" :wizard "You're the neighborhood cheat and everyone knows it." - :wizard "Now please leave me in peace.") + :wizard "I'm afraid your standing is irreparable." + :wizard "Now leave me to mourn ol' Snaggletooh.") (actions/transition-background entities :outside-house [257 90] :face :left) - (actions/talk entities :ego "Gandarf is pretty upset, but I bet he can be reasoned with."))} - "I'm going to be a knight! That counts for something doesn't it?" - {:run #(do (actions/respond entities % - :wizard "You are, are you?" - :wizard "Pray tell, how do you, a mere reckless youth, plan on becoming a knight?")) - :choices ["By pulling the Sword of Blergh from its stone!" - {:run #(actions/respond entities % - :wizard "Well, well. It sounds like you've turned over a new leaf." - :wizard "But know this, the stone cannot be cheated easily." - :wizard "You must fulfill the age-old prophecy." - :wizard "'In the day when it shall be pulled,\nWith much strength a knight will take hold.'" - ) - :choices ["Is this almost over?" - {:run #(do (actions/update-state entities (fn [state] (assoc state :convinced-wizard? true))) - (actions/respond entities % - :wizard "Patience, boy." - :wizard "'Courage will he need,\nWisdom he shall heed.'" - :wizard "'A final test remains, behold!'" - :wizard "Do you think you're up for that?" - :wizard "If this is truely your quest, then I will help you. " - :ego "So you're my friend now, Gandarf?" - :wizard "No. But I'll help you as best I can."))} - "*cough* *cough* *ahem*" - {:run #(do (actions/update-state entities (fn [state] (assoc state :convinced-wizard? true))) - (actions/respond entities % - :wizard "Excuse you. Moving on..." - :wizard "'Courage will he need,\nWisdom he shall heed.'" - :wizard "'A final test remains, behold!'" - :wizard "Do you think you're up for that?" - :wizard "If this is truely your quest, then I will help you. " - :ego "So you're my friend now, Gandarf?" - :wizard "No. But I'll help you as best I can.") - (utils/save @entities))}]} - "By besting swamp, foe, and the occasional bizarre conversation tree." - {:run #(do (actions/respond entities % - :wizard "While your goal sounds noble, no amount of bizarre conversation tree searching will earn my respect." - :wizard "Now please leave.") - (actions/transition-background entities :outside-house [257 90] :face :left) - (actions/talk entities :ego "If only Gandarf could be tricked into seeing the valiant side of me..."))}]}]} + (actions/play-animation entities :ego :sigh))} + ]} "Snaggletooth deserved a free life, you old gheezer!" {:run #(do (actions/respond entities % :wizard "Why, you..." :wizard "Snaggletooth was my friend!")