fixed ending.
This commit is contained in:
@@ -5,7 +5,6 @@ PROGRAMMING
|
|||||||
+ fight with blergh at end isn't great
|
+ fight with blergh at end isn't great
|
||||||
+ blergh taunts for first fight
|
+ blergh taunts for first fight
|
||||||
+ ending
|
+ ending
|
||||||
+ you can drink the strength potion while in blood clots hand
|
|
||||||
+ proper save/settings file location
|
+ proper save/settings file location
|
||||||
+ Save slots?
|
+ Save slots?
|
||||||
+ descriptions for all items when used on self.
|
+ descriptions for all items when used on self.
|
||||||
|
|||||||
@@ -227,6 +227,7 @@
|
|||||||
|
|
||||||
(-> entities
|
(-> entities
|
||||||
(update-in [:room :entities :bloodclot] #(actions/start-animation screen % :explode))
|
(update-in [:room :entities :bloodclot] #(actions/start-animation screen % :explode))
|
||||||
|
(update-in [:room :entities] dissoc :broken-jewel)
|
||||||
(update-in [:room :entities] dissoc :bloodclot-head)
|
(update-in [:room :entities] dissoc :bloodclot-head)
|
||||||
(assoc-in [:room :entities :ego :facing] :right)
|
(assoc-in [:room :entities :ego :facing] :right)
|
||||||
(update-in [:room :entities :ego] #(actions/start-animation screen % :crawl))))
|
(update-in [:room :entities :ego] #(actions/start-animation screen % :crawl))))
|
||||||
@@ -318,113 +319,112 @@
|
|||||||
(skip-type [this screen entities]
|
(skip-type [this screen entities]
|
||||||
:none)))
|
:none)))
|
||||||
|
|
||||||
|
(defn do-win [entities]
|
||||||
|
(actions/do-dialogue entities
|
||||||
|
:ego "Hey Bloodclot!"
|
||||||
|
:ego "I have this potion which will make me as strong as you!"
|
||||||
|
:bloodclot-head "What?!"
|
||||||
|
:bloodclot-head "Give it here!")
|
||||||
|
(actions/transition-background entities :space [200 45] :between (fn [s e]
|
||||||
|
(-> e
|
||||||
|
(assoc-in [:room :entities :ego :stand-override] :crawl-stand)
|
||||||
|
(update-in [:room :entities :ego] #(actions/start-animation s % :crawl-stand)))
|
||||||
|
))
|
||||||
|
(actions/do-dialogue entities
|
||||||
|
:bloodclot-head "Yes!"
|
||||||
|
:bloodclot-head "Ultimate power is mine!"
|
||||||
|
:bloodclot-head "If I drink this entire bottle, I'll be as powerful as a god!")
|
||||||
|
|
||||||
|
(explode entities)
|
||||||
|
(actions/play-animation entities :ego :standup)
|
||||||
|
(actions/walk-straight-to entities :ego [340 55])
|
||||||
|
(actions/run-action entities
|
||||||
|
(begin [this screen entities]
|
||||||
|
(assoc-in entities [:tweens :later] (tween/tween :later screen [:room :entities :later :opacity] 0.0 1.0 4.0 :ease tween/ease-in-cubic)))
|
||||||
|
|
||||||
|
(continue [this screen entities]
|
||||||
|
entities)
|
||||||
|
|
||||||
|
(done? [this screen entities]
|
||||||
|
(not (get-in entities [:tweens :later])))
|
||||||
|
|
||||||
|
(terminate [this screen entities]
|
||||||
|
entities)
|
||||||
|
(skip-type [this screen entities]
|
||||||
|
:none))
|
||||||
|
(Thread/sleep 2000)
|
||||||
|
(actions/do-stop entities :ego :face :left)
|
||||||
|
(actions/transition-background entities :ending [165 49] :time 4.0)
|
||||||
|
(actions/do-dialogue entities
|
||||||
|
:duke "Ladies and gentlemen."
|
||||||
|
:duke "As the Duke of Remington, I'm pleased to inform you..."
|
||||||
|
:duke "The goblin by the name of Bloodclot has been destroyed!"
|
||||||
|
:duke "Our town is saved."
|
||||||
|
:duke "Thanks to this young boy, Tick."
|
||||||
|
:duke "It is my rightful duty as Duke of Remington to knight you."
|
||||||
|
:duke "You've proven yourself worthy."
|
||||||
|
:duke "Your sword, please.")
|
||||||
|
(actions/walk-straight-to entities :ego [150 49])
|
||||||
|
(actions/play-animation entities :ego :reach-start :stop? false)
|
||||||
|
(actions/play-animation entities :duke :reach :stop? false)
|
||||||
|
(actions/play-animation entities :ego :reach-stop :stop? false)
|
||||||
|
(actions/talk entities :duke "Kneel." :anim :reach-talk :stop? false)
|
||||||
|
(actions/play-animation entities :ego :start-squat-2 :stop? false)
|
||||||
|
(Thread/sleep 1000)
|
||||||
|
(actions/play-animation entities :duke :knight :stop? false)
|
||||||
|
(actions/update-entity entities :duke (fn [d] (assoc d :baseline (- 240 48))))
|
||||||
|
(actions/play-animation entities :duke :knight :stop? false)
|
||||||
|
(actions/talk entities :duke "In honor of your bravery..." :anim :reach-talk :stop? false)
|
||||||
|
(actions/talk entities :duke "I declare you Sir Tick of Remington." :anim :reach-talk)
|
||||||
|
(actions/play-animation entities :ego :end-squat :stop? true)
|
||||||
|
(Thread/sleep 500)
|
||||||
|
(actions/glad entities)
|
||||||
|
(Thread/sleep 200)
|
||||||
|
(actions/do-dialogue entities :ego "Wait...")
|
||||||
|
(Thread/sleep 400)
|
||||||
|
(actions/do-stop entities :ego :face :right)
|
||||||
|
(Thread/sleep 400)
|
||||||
|
(actions/do-stop entities :ego :face :left)
|
||||||
|
(Thread/sleep 400)
|
||||||
|
(actions/do-stop entities :ego :face :right)
|
||||||
|
(Thread/sleep 400)
|
||||||
|
(actions/do-stop entities :ego :face :left)
|
||||||
|
(Thread/sleep 400)
|
||||||
|
(actions/do-dialogue entities :ego "Where's Georgia McGorgeous?")
|
||||||
|
(actions/walk-straight-to entities :gandarf-cloud [215 100] :update-baseline? false)
|
||||||
|
(actions/do-dialogue entities :gandarf "Quickly, boy!")
|
||||||
|
(actions/do-stop entities :ego :face :right)
|
||||||
|
(actions/do-dialogue entities :ego "Gandarf?"
|
||||||
|
:gandarf "Yes, it is I!"
|
||||||
|
:ego "How did you escape?"
|
||||||
|
:gandarf "No time for that!"
|
||||||
|
:gandarf "Georgia McGorgeous has been captured!"
|
||||||
|
:ego "Captured?! By who?"
|
||||||
|
:gandarf "Bloodclot's second-in-command, Swinebreath."
|
||||||
|
:gandarf "I'm afraid that I can't save her."
|
||||||
|
:gandarf "This is a job for a knight."
|
||||||
|
:gandarf "If you are willing, Tick..."
|
||||||
|
:duke "That's 'Sir Tick'..."
|
||||||
|
:gandarf "Quite right, quite right."
|
||||||
|
:gandarf "If you are willing, Sir Tick..."
|
||||||
|
:gandarf "I can transport you to the land where her prision lies."
|
||||||
|
:gandarf "But it is far out of my sight, and I know not what you'll find."
|
||||||
|
:gandarf "Well? What say you?"
|
||||||
|
:ego "I'll do it! "
|
||||||
|
:gandarf "Very good."
|
||||||
|
:gandarf "Prepare yourself.")
|
||||||
|
(Thread/sleep 300)
|
||||||
|
(actions/talk entities :gandarf "Beamium Up!!!" :anim :talk-angry)
|
||||||
|
(particle-effect! (get-in @entities [:room :entities :magic-frog-particle]) :reset)
|
||||||
|
(particle-effect! (get-in @entities [:room :entities :magic-frog-particle]) :start)
|
||||||
|
(disappear entities)
|
||||||
|
(Thread/sleep 2000)
|
||||||
|
(fade-out entities)
|
||||||
|
(on-gl (set-screen! @(resolve 'advent.core/advent) @(resolve 'advent.screens.credits/credits)))
|
||||||
|
)
|
||||||
|
|
||||||
(defn win []
|
(defn win []
|
||||||
|
(actions/get-script entities (do-win entities)))
|
||||||
(actions/get-script entities
|
|
||||||
(actions/do-dialogue entities
|
|
||||||
:ego "Hey Bloodclot!"
|
|
||||||
:ego "I have this potion which will make me as strong as you!"
|
|
||||||
:bloodclot-head "What?!"
|
|
||||||
:bloodclot-head "Give it here!")
|
|
||||||
(actions/transition-background entities :space [200 45] :between (fn [s e]
|
|
||||||
(-> e
|
|
||||||
(assoc-in [:room :entities :ego :stand-override] :crawl-stand)
|
|
||||||
(update-in [:room :entities :ego] #(actions/start-animation s % :crawl-stand)))
|
|
||||||
))
|
|
||||||
(actions/do-dialogue entities
|
|
||||||
:bloodclot-head "Yes!"
|
|
||||||
:bloodclot-head "Ultimate power is mine!"
|
|
||||||
:bloodclot-head "If I drink this entire bottle, I'll be as powerful as a god!")
|
|
||||||
|
|
||||||
(explode entities)
|
|
||||||
(actions/play-animation entities :ego :standup)
|
|
||||||
(actions/walk-straight-to entities :ego [340 55])
|
|
||||||
(actions/run-action entities
|
|
||||||
(begin [this screen entities]
|
|
||||||
(assoc-in entities [:tweens :later] (tween/tween :later screen [:room :entities :later :opacity] 0.0 1.0 4.0 :ease tween/ease-in-cubic)))
|
|
||||||
|
|
||||||
(continue [this screen entities]
|
|
||||||
entities)
|
|
||||||
|
|
||||||
(done? [this screen entities]
|
|
||||||
(not (get-in entities [:tweens :later])))
|
|
||||||
|
|
||||||
(terminate [this screen entities]
|
|
||||||
entities)
|
|
||||||
(skip-type [this screen entities]
|
|
||||||
:none))
|
|
||||||
(Thread/sleep 2000)
|
|
||||||
(actions/do-stop entities :ego :face :left)
|
|
||||||
(actions/transition-background entities :ending [165 49] :time 4.0)
|
|
||||||
(actions/do-dialogue entities
|
|
||||||
:duke "Ladies and gentlemen."
|
|
||||||
:duke "As the Duke of Remington, I'm pleased to inform you..."
|
|
||||||
:duke "The goblin by the name of Bloodclot has been destroyed!"
|
|
||||||
:duke "Our town is saved."
|
|
||||||
:duke "Thanks to this young boy, Tick."
|
|
||||||
:duke "It is my rightful duty as Duke of Remington to knight you."
|
|
||||||
:duke "You've proven yourself worthy."
|
|
||||||
:duke "Your sword, please.")
|
|
||||||
(actions/walk-straight-to entities :ego [150 49])
|
|
||||||
(actions/play-animation entities :ego :reach-start :stop? false)
|
|
||||||
(actions/play-animation entities :duke :reach :stop? false)
|
|
||||||
(actions/play-animation entities :ego :reach-stop :stop? false)
|
|
||||||
(actions/talk entities :duke "Kneel." :anim :reach-talk :stop? false)
|
|
||||||
(actions/play-animation entities :ego :start-squat-2 :stop? false)
|
|
||||||
(Thread/sleep 1000)
|
|
||||||
(actions/play-animation entities :duke :knight :stop? false)
|
|
||||||
(actions/update-entity entities :duke (fn [d] (assoc d :baseline (- 240 48))))
|
|
||||||
(actions/play-animation entities :duke :knight :stop? false)
|
|
||||||
(actions/talk entities :duke "In honor of your bravery..." :anim :reach-talk :stop? false)
|
|
||||||
(actions/talk entities :duke "I declare you Sir Tick of Remington." :anim :reach-talk)
|
|
||||||
(actions/play-animation entities :ego :end-squat :stop? true)
|
|
||||||
(Thread/sleep 500)
|
|
||||||
(actions/glad entities)
|
|
||||||
(Thread/sleep 200)
|
|
||||||
(actions/do-dialogue entities :ego "Wait...")
|
|
||||||
(Thread/sleep 400)
|
|
||||||
(actions/do-stop entities :ego :face :right)
|
|
||||||
(Thread/sleep 400)
|
|
||||||
(actions/do-stop entities :ego :face :left)
|
|
||||||
(Thread/sleep 400)
|
|
||||||
(actions/do-stop entities :ego :face :right)
|
|
||||||
(Thread/sleep 400)
|
|
||||||
(actions/do-stop entities :ego :face :left)
|
|
||||||
(Thread/sleep 400)
|
|
||||||
(actions/do-dialogue entities :ego "Where's Georgia McGorgeous?")
|
|
||||||
(actions/walk-straight-to entities :gandarf-cloud [215 100] :update-baseline? false)
|
|
||||||
(actions/do-dialogue entities :gandarf "Quickly, boy!")
|
|
||||||
(actions/do-stop entities :ego :face :right)
|
|
||||||
(actions/do-dialogue entities :ego "Gandarf?"
|
|
||||||
:gandarf "Yes, it is I!"
|
|
||||||
:ego "How did you escape?"
|
|
||||||
:gandarf "No time for that!"
|
|
||||||
:gandarf "Georgia McGorgeous has been captured!"
|
|
||||||
:ego "Captured?! By who?"
|
|
||||||
:gandarf "Bloodclot's second-in-command, Swinebreath."
|
|
||||||
:gandarf "I'm afraid that I can't save her."
|
|
||||||
:gandarf "This is a job for a knight."
|
|
||||||
:gandarf "If you are willing, Tick..."
|
|
||||||
:duke "That's 'Sir Tick'..."
|
|
||||||
:gandarf "Quite right, quite right."
|
|
||||||
:gandarf "If you are willing, Sir Tick..."
|
|
||||||
:gandarf "I can transport you to the land where her prision lies."
|
|
||||||
:gandarf "But it is far out of my sight, and I know not what you'll find."
|
|
||||||
:gandarf "Well? What say you?"
|
|
||||||
:ego "I'll do it! "
|
|
||||||
:gandarf "Very good."
|
|
||||||
:gandarf "Prepare yourself.")
|
|
||||||
(Thread/sleep 300)
|
|
||||||
(actions/talk entities :gandarf "Beamium Up!!!" :anim :talk-angry)
|
|
||||||
(particle-effect! (get-in @entities [:room :entities :magic-frog-particle]) :reset)
|
|
||||||
(particle-effect! (get-in @entities [:room :entities :magic-frog-particle]) :start)
|
|
||||||
(disappear entities)
|
|
||||||
(Thread/sleep 2000)
|
|
||||||
(fade-out entities)
|
|
||||||
(on-gl (set-screen! @(resolve 'advent.core/advent) @(resolve 'advent.screens.credits/credits)))
|
|
||||||
))
|
|
||||||
|
|
||||||
|
|
||||||
(defn make-outside-particles []
|
(defn make-outside-particles []
|
||||||
|
|||||||
@@ -292,7 +292,7 @@
|
|||||||
:apply-state (fn [_ e]
|
:apply-state (fn [_ e]
|
||||||
(as-> e e
|
(as-> e e
|
||||||
(if (get-in e [:state :broke-jewel?])
|
(if (get-in e [:state :broke-jewel?])
|
||||||
(assoc-in e [:room :entities :broken-jewel] (get-in e [:room :entities :broken-jewel]))
|
(assoc-in e [:room :entities :broken-jewel] (get-in e [:room :broken-jewel]))
|
||||||
e)
|
e)
|
||||||
(if (get-in e [:state :seen-bloodclot?])
|
(if (get-in e [:state :seen-bloodclot?])
|
||||||
(assoc-in e [:room :entities :bloodclot :opacity ] 1.0)
|
(assoc-in e [:room :entities :bloodclot :opacity ] 1.0)
|
||||||
|
|||||||
@@ -285,38 +285,6 @@ void main()
|
|||||||
((:get-script default-interaction) (get-in entities [:cursor :current]) [x y])) entities))
|
((:get-script default-interaction) (get-in entities [:cursor :current]) [x y])) entities))
|
||||||
(assoc-in entities [:cursor :down-target] nil)))
|
(assoc-in entities [:cursor :down-target] nil)))
|
||||||
|
|
||||||
(defn drink-blergh [entities]
|
|
||||||
(actions/walk-straight-to entities :ego [205 45])
|
|
||||||
(sound! (sound "ego/potion.ogg") :play (utils/current-sound-volume))
|
|
||||||
(actions/play-animation entities :ego :grow :stop? false)
|
|
||||||
(actions/do-dialogue entities
|
|
||||||
:blergh "What this? A potion of strength?"
|
|
||||||
:blergh "You're still no match for me."
|
|
||||||
:blergh "Give it to me, or I'll make you regret it!")
|
|
||||||
(actions/present-choices entities {:choices ["Ok."
|
|
||||||
{:run (fn [_]
|
|
||||||
(actions/talk entities :ego "Ok." :anim :grow-talk :stop? false)
|
|
||||||
(actions/talk entities :ego "Here you go." :anim :grow-talk)
|
|
||||||
(actions/do-dialogue entities
|
|
||||||
:blergh "Yes! Now I can drink this whole thing and can become powerful enough to rule the world!"
|
|
||||||
:blergh "[#AAFFAAFF]*gulp*[]"
|
|
||||||
:blergh "What's this? What's happening?")
|
|
||||||
(actions/talk entities :ego "Uh oh." :anim :grow-talk :stop? false)
|
|
||||||
(actions/walk-straight-to entities :ego [100 45] :face :right)
|
|
||||||
(actions/play-animation entities :blergh :grow :stop? false)
|
|
||||||
(actions/do-dialogue entities :ego "'Not more than that do drink,\nOr you'll push your body to the brink.'"
|
|
||||||
:ego "Brilliant! I win!")
|
|
||||||
(actions/walk-straight-to entities :ego [800 75] :face :right)
|
|
||||||
(actions/update-state entities (fn [s] (assoc s :blergh-dead? true))))}
|
|
||||||
"No way!"
|
|
||||||
{:run (fn [_]
|
|
||||||
(actions/talk entities :ego "No way!" :anim :grow-talk)
|
|
||||||
(actions/talk entities :blergh "Then take this!")
|
|
||||||
(actions/play-animation entities :blergh :swing)
|
|
||||||
(actions/walk-straight-to entities :ego [100 45] :anim :squat :override-dir :right :speed 3.0)
|
|
||||||
(actions/do-dialogue entities :ego "Yeow!!"
|
|
||||||
:ego "Even with that potion, I'm not strong enough."))}]}))
|
|
||||||
|
|
||||||
|
|
||||||
(defn get-ego-script [cursor [x y]]
|
(defn get-ego-script [cursor [x y]]
|
||||||
(condp = (:value cursor)
|
(condp = (:value cursor)
|
||||||
@@ -325,9 +293,9 @@ void main()
|
|||||||
|
|
||||||
:flask-1-strength
|
:flask-1-strength
|
||||||
(actions/get-script entities
|
(actions/get-script entities
|
||||||
(cond (and (actions/has-item? entities :magic-slingshot)
|
(cond (= :held
|
||||||
(get-in @entities [:room :blergh]))
|
(get-in @entities [:state :last-room]))
|
||||||
(drink-blergh entities)
|
(common/do-win entities)
|
||||||
|
|
||||||
(get-in @entities [:room :entities :warden])
|
(get-in @entities [:room :entities :warden])
|
||||||
(do
|
(do
|
||||||
|
|||||||
Reference in New Issue
Block a user