some ending goodness
This commit is contained in:
BIN
desktop/resources/space/later.png
Normal file
BIN
desktop/resources/space/later.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 4.0 KiB |
BIN
desktop/resources/the-end.png
Normal file
BIN
desktop/resources/the-end.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 3.9 KiB |
@@ -137,7 +137,32 @@ timeline5: 0.65068495
|
|||||||
timeline6: 0.82191783
|
timeline6: 0.82191783
|
||||||
timeline7: 0.9589041
|
timeline7: 0.9589041
|
||||||
- Gravity -
|
- Gravity -
|
||||||
active: false
|
active: true
|
||||||
|
lowMin: -5.0
|
||||||
|
lowMax: -5.0
|
||||||
|
highMin: 10.0
|
||||||
|
highMax: 10.0
|
||||||
|
relative: false
|
||||||
|
scalingCount: 9
|
||||||
|
scaling0: 0.0
|
||||||
|
scaling1: 0.97959185
|
||||||
|
scaling2: 0.0
|
||||||
|
scaling3: 1.0
|
||||||
|
scaling4: 0.0
|
||||||
|
scaling5: 1.0
|
||||||
|
scaling6: 0.0
|
||||||
|
scaling7: 1.0
|
||||||
|
scaling8: 0.0
|
||||||
|
timelineCount: 9
|
||||||
|
timeline0: 0.0
|
||||||
|
timeline1: 0.15753424
|
||||||
|
timeline2: 0.25342464
|
||||||
|
timeline3: 0.36301368
|
||||||
|
timeline4: 0.47260273
|
||||||
|
timeline5: 0.6164383
|
||||||
|
timeline6: 0.72602737
|
||||||
|
timeline7: 0.82191783
|
||||||
|
timeline8: 1.0
|
||||||
- Tint -
|
- Tint -
|
||||||
colorsCount: 6
|
colorsCount: 6
|
||||||
colors0: 0.6039216
|
colors0: 0.6039216
|
||||||
@@ -184,12 +209,12 @@ lowMin: 5000.0
|
|||||||
lowMax: 5000.0
|
lowMax: 5000.0
|
||||||
- Count -
|
- Count -
|
||||||
min: 5
|
min: 5
|
||||||
max: 10
|
max: 150
|
||||||
- Emission -
|
- Emission -
|
||||||
lowMin: 0.0
|
lowMin: 0.0
|
||||||
lowMax: 0.0
|
lowMax: 0.0
|
||||||
highMin: 5.0
|
highMin: 25.0
|
||||||
highMax: 5.0
|
highMax: 25.0
|
||||||
relative: false
|
relative: false
|
||||||
scalingCount: 1
|
scalingCount: 1
|
||||||
scaling0: 1.0
|
scaling0: 1.0
|
||||||
@@ -198,19 +223,21 @@ timeline0: 0.0
|
|||||||
- Life -
|
- Life -
|
||||||
lowMin: 0.0
|
lowMin: 0.0
|
||||||
lowMax: 0.0
|
lowMax: 0.0
|
||||||
highMin: 1000.0
|
highMin: 1500.0
|
||||||
highMax: 1000.0
|
highMax: 1500.0
|
||||||
relative: false
|
relative: false
|
||||||
scalingCount: 1
|
scalingCount: 2
|
||||||
scaling0: 1.0
|
scaling0: 1.0
|
||||||
timelineCount: 1
|
scaling1: 1.0
|
||||||
|
timelineCount: 2
|
||||||
timeline0: 0.0
|
timeline0: 0.0
|
||||||
|
timeline1: 0.0890411
|
||||||
- Life Offset -
|
- Life Offset -
|
||||||
active: false
|
active: false
|
||||||
- X Offset -
|
- X Offset -
|
||||||
active: true
|
active: true
|
||||||
lowMin: -10.0
|
lowMin: 0.0
|
||||||
lowMax: 10.0
|
lowMax: 0.0
|
||||||
highMin: 0.0
|
highMin: 0.0
|
||||||
highMax: 0.0
|
highMax: 0.0
|
||||||
relative: false
|
relative: false
|
||||||
@@ -219,7 +246,16 @@ scaling0: 1.0
|
|||||||
timelineCount: 1
|
timelineCount: 1
|
||||||
timeline0: 0.0
|
timeline0: 0.0
|
||||||
- Y Offset -
|
- Y Offset -
|
||||||
active: false
|
active: true
|
||||||
|
lowMin: 5.0
|
||||||
|
lowMax: 5.0
|
||||||
|
highMin: 0.0
|
||||||
|
highMax: 0.0
|
||||||
|
relative: false
|
||||||
|
scalingCount: 1
|
||||||
|
scaling0: 1.0
|
||||||
|
timelineCount: 1
|
||||||
|
timeline0: 0.0
|
||||||
- Spawn Shape -
|
- Spawn Shape -
|
||||||
shape: point
|
shape: point
|
||||||
- Spawn Width -
|
- Spawn Width -
|
||||||
@@ -256,8 +292,8 @@ timeline0: 0.0
|
|||||||
active: true
|
active: true
|
||||||
lowMin: 0.0
|
lowMin: 0.0
|
||||||
lowMax: 5.0
|
lowMax: 5.0
|
||||||
highMin: 5.0
|
highMin: 15.0
|
||||||
highMax: 5.0
|
highMax: 15.0
|
||||||
relative: false
|
relative: false
|
||||||
scalingCount: 2
|
scalingCount: 2
|
||||||
scaling0: 1.0
|
scaling0: 1.0
|
||||||
@@ -280,8 +316,8 @@ timeline0: 0.0
|
|||||||
active: true
|
active: true
|
||||||
lowMin: 0.0
|
lowMin: 0.0
|
||||||
lowMax: 0.0
|
lowMax: 0.0
|
||||||
highMin: -15.0
|
highMin: -30.0
|
||||||
highMax: 15.0
|
highMax: 30.0
|
||||||
relative: false
|
relative: false
|
||||||
scalingCount: 1
|
scalingCount: 1
|
||||||
scaling0: 1.0
|
scaling0: 1.0
|
||||||
@@ -306,13 +342,13 @@ highMax: 1.0
|
|||||||
relative: false
|
relative: false
|
||||||
scalingCount: 4
|
scalingCount: 4
|
||||||
scaling0: 0.0
|
scaling0: 0.0
|
||||||
scaling1: 0.5263158
|
scaling1: 0.2631579
|
||||||
scaling2: 0.50877196
|
scaling2: 0.0877193
|
||||||
scaling3: 0.0
|
scaling3: 0.0
|
||||||
timelineCount: 4
|
timelineCount: 4
|
||||||
timeline0: 0.0
|
timeline0: 0.0
|
||||||
timeline1: 0.34931508
|
timeline1: 0.17123288
|
||||||
timeline2: 0.8835617
|
timeline2: 0.25342464
|
||||||
timeline3: 0.9931507
|
timeline3: 0.9931507
|
||||||
- Options -
|
- Options -
|
||||||
attached: false
|
attached: false
|
||||||
@@ -464,7 +500,28 @@ timeline5: 0.65068495
|
|||||||
timeline6: 0.82191783
|
timeline6: 0.82191783
|
||||||
timeline7: 0.9589041
|
timeline7: 0.9589041
|
||||||
- Gravity -
|
- Gravity -
|
||||||
active: false
|
active: true
|
||||||
|
lowMin: -5.0
|
||||||
|
lowMax: -5.0
|
||||||
|
highMin: 5.0
|
||||||
|
highMax: 5.0
|
||||||
|
relative: false
|
||||||
|
scalingCount: 7
|
||||||
|
scaling0: 0.0
|
||||||
|
scaling1: 0.93877554
|
||||||
|
scaling2: 0.0
|
||||||
|
scaling3: 1.0
|
||||||
|
scaling4: 0.0
|
||||||
|
scaling5: 1.0
|
||||||
|
scaling6: 0.0
|
||||||
|
timelineCount: 7
|
||||||
|
timeline0: 0.0
|
||||||
|
timeline1: 0.11643836
|
||||||
|
timeline2: 0.28767124
|
||||||
|
timeline3: 0.36301368
|
||||||
|
timeline4: 0.5753425
|
||||||
|
timeline5: 0.77397263
|
||||||
|
timeline6: 0.8835617
|
||||||
- Tint -
|
- Tint -
|
||||||
colorsCount: 6
|
colorsCount: 6
|
||||||
colors0: 0.047058824
|
colors0: 0.047058824
|
||||||
|
|||||||
@@ -347,7 +347,7 @@
|
|||||||
(do-stop entities :ego :face face))))
|
(do-stop entities :ego :face face))))
|
||||||
|
|
||||||
(defn get-text-duration [text]
|
(defn get-text-duration [text]
|
||||||
(max 1.5 (* (count (s/split text #" ")) 0.5)))
|
(max 1.5 (* (count (s/split text #"[ \-]")) 0.5)))
|
||||||
|
|
||||||
(defn talk [entities target-id text & {:keys [stop? animate? anim wait] :or {wait true}}]
|
(defn talk [entities target-id text & {:keys [stop? animate? anim wait] :or {wait true}}]
|
||||||
(let [initial-time (atom nil)
|
(let [initial-time (atom nil)
|
||||||
|
|||||||
@@ -6,6 +6,7 @@
|
|||||||
[advent.screens.scene :as scene]
|
[advent.screens.scene :as scene]
|
||||||
[advent.screens.dialogue :as dialogue]
|
[advent.screens.dialogue :as dialogue]
|
||||||
[advent.screens.title :as title]
|
[advent.screens.title :as title]
|
||||||
|
[advent.screens.credits :as credits]
|
||||||
[advent.screens.inventory :as inventory]
|
[advent.screens.inventory :as inventory]
|
||||||
[advent.screens.test :as test]
|
[advent.screens.test :as test]
|
||||||
[advent.screens.safe :as safe]
|
[advent.screens.safe :as safe]
|
||||||
|
|||||||
47
desktop/src-common/advent/screens/credits.clj
Normal file
47
desktop/src-common/advent/screens/credits.clj
Normal file
@@ -0,0 +1,47 @@
|
|||||||
|
(ns advent.screens.credits
|
||||||
|
(:require [play-clj.core :refer :all]
|
||||||
|
[play-clj.ui :refer :all]
|
||||||
|
[play-clj.utils :refer :all]
|
||||||
|
[play-clj.g2d :refer :all]
|
||||||
|
[clojure.pprint]
|
||||||
|
[advent.pathfind]
|
||||||
|
[advent.tween :as tween]
|
||||||
|
[advent.zone :as zone]
|
||||||
|
[advent.utils :as utils])
|
||||||
|
(:import [com.badlogic.gdx.graphics Pixmap Pixmap$Filter Texture Texture$TextureFilter]
|
||||||
|
[com.badlogic.gdx.graphics.g2d TextureRegion]
|
||||||
|
[com.badlogic.gdx.scenes.scene2d.utils Align]
|
||||||
|
[com.badlogic.gdx Application Audio Files Game Gdx Graphics Input
|
||||||
|
InputMultiplexer InputProcessor Net Preferences Screen]))
|
||||||
|
|
||||||
|
|
||||||
|
(defscreen credits
|
||||||
|
:on-show
|
||||||
|
(fn [screen entities]
|
||||||
|
(utils/setup-viewport screen 320 240)
|
||||||
|
(input! :set-cursor-image (utils/cursor "cursor.png" :main) 0 0)
|
||||||
|
{:fade (assoc (texture "black.png")
|
||||||
|
:scale-x 80
|
||||||
|
:scale-y 80
|
||||||
|
:opacity 0.0
|
||||||
|
:origin-x 0
|
||||||
|
:origin-y 0)
|
||||||
|
:the-end (assoc (texture "the-end.png") :x 0 :y 0)
|
||||||
|
:tweens {:fade-in
|
||||||
|
(tween/tween :fade-in screen [:fade :opacity] 1.0 0.0 5.0 :ease tween/ease-out-cubic)}}
|
||||||
|
)
|
||||||
|
|
||||||
|
:on-render
|
||||||
|
(fn [screen [entities]]
|
||||||
|
(let [entities (utils/apply-tweens screen entities (:tweens entities))]
|
||||||
|
|
||||||
|
(render! screen [(:the-end entities) (:fade entities)])
|
||||||
|
entities))
|
||||||
|
|
||||||
|
|
||||||
|
:on-touch-up (fn [screen [entities]]
|
||||||
|
(set-screen! @(resolve 'advent.core/advent) @(resolve 'advent.screens.title/title-screen)))
|
||||||
|
|
||||||
|
:on-resize (fn [{:keys [width height viewport]} entities]
|
||||||
|
(.update viewport width height)))
|
||||||
|
|
||||||
1
desktop/src-common/advent/screens/rooms/.#ending.clj
Symbolic link
1
desktop/src-common/advent/screens/rooms/.#ending.clj
Symbolic link
@@ -0,0 +1 @@
|
|||||||
|
brycecovert@brometheus.local.2657
|
||||||
@@ -171,8 +171,46 @@
|
|||||||
(update-in entities [:room :entities :ego] dissoc :stand-override))
|
(update-in entities [:room :entities :ego] dissoc :stand-override))
|
||||||
(skip-type [this screen entities]
|
(skip-type [this screen entities]
|
||||||
:none)))
|
:none)))
|
||||||
|
(defn disappear [entities]
|
||||||
|
(actions/run-action entities
|
||||||
|
(begin [this screen entities]
|
||||||
|
(-> entities
|
||||||
|
|
||||||
|
(assoc-in [:tweens :disappear-ego]
|
||||||
|
(tween/tween :disappear-ego screen [:room :entities :ego :opacity] 1.0 0.0 0.5 :ease tween/ease-in-out-quintic))))
|
||||||
|
|
||||||
|
(continue [this screen entities]
|
||||||
|
entities)
|
||||||
|
|
||||||
|
(done? [this screen entities]
|
||||||
|
(= 0.0 (get-in entities [:room :entities :ego :opacity])))
|
||||||
|
|
||||||
|
(terminate [this screen entities]
|
||||||
|
entities)
|
||||||
|
(skip-type [this screen entities]
|
||||||
|
:none)))
|
||||||
|
|
||||||
|
(defn fade-out [entities]
|
||||||
|
(actions/run-action entities
|
||||||
|
(begin [this screen entities]
|
||||||
|
(-> entities
|
||||||
|
(assoc-in [:tweens :fade-out]
|
||||||
|
(tween/tween :fade-out screen [:fade :opacity] 0.0 1.0 3.5 :ease tween/ease-in-out-quintic))))
|
||||||
|
(continue [this screen entities]
|
||||||
|
entities)
|
||||||
|
|
||||||
|
(done? [this screen entities]
|
||||||
|
(= 1.0 (get-in entities [:fade :opacity])))
|
||||||
|
|
||||||
|
(terminate [this screen entities]
|
||||||
|
entities)
|
||||||
|
(skip-type [this screen entities]
|
||||||
|
:none)))
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
(defn win []
|
(defn win []
|
||||||
|
|
||||||
(actions/get-script entities
|
(actions/get-script entities
|
||||||
(actions/do-dialogue entities
|
(actions/do-dialogue entities
|
||||||
:ego "Hey Bloodclot!"
|
:ego "Hey Bloodclot!"
|
||||||
@@ -191,7 +229,93 @@
|
|||||||
|
|
||||||
(explode entities)
|
(explode entities)
|
||||||
(actions/play-animation entities :ego :standup)
|
(actions/play-animation entities :ego :standup)
|
||||||
(Thread/sleep 15000)
|
(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/transition-background entities :ending [165 49] :time 4.0)
|
||||||
|
(actions/do-stop entities :ego :face :left)
|
||||||
|
(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-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)
|
||||||
|
(fade-out entities)
|
||||||
|
(on-gl (set-screen! @(resolve 'advent.core/advent) @(resolve 'advent.screens.credits/credits)))
|
||||||
))
|
))
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -16,6 +16,42 @@
|
|||||||
[play-clj.utils :refer :all]
|
[play-clj.utils :refer :all]
|
||||||
[play-clj.g2d :refer :all]))
|
[play-clj.g2d :refer :all]))
|
||||||
|
|
||||||
|
(defn disappear [entities]
|
||||||
|
(actions/run-action entities
|
||||||
|
(begin [this screen entities]
|
||||||
|
(-> entities
|
||||||
|
|
||||||
|
(assoc-in [:tweens :disappear-ego]
|
||||||
|
(tween/tween :disappear-ego screen [:room :entities :ego :opacity] 1.0 0.0 0.5 :ease tween/ease-in-out-quintic))))
|
||||||
|
|
||||||
|
(continue [this screen entities]
|
||||||
|
entities)
|
||||||
|
|
||||||
|
(done? [this screen entities]
|
||||||
|
(= 0.0 (get-in entities [:room :entities :ego :opacity])))
|
||||||
|
|
||||||
|
(terminate [this screen entities]
|
||||||
|
entities)
|
||||||
|
(skip-type [this screen entities]
|
||||||
|
:none)))
|
||||||
|
|
||||||
|
(defn fade-out [entities]
|
||||||
|
(actions/run-action entities
|
||||||
|
(begin [this screen entities]
|
||||||
|
(-> entities
|
||||||
|
(assoc-in [:tweens :fade-out]
|
||||||
|
(tween/tween :fade-out screen [:fade :opacity] 0.0 1.0 3.5 :ease tween/ease-in-out-quintic))))
|
||||||
|
(continue [this screen entities]
|
||||||
|
entities)
|
||||||
|
|
||||||
|
(done? [this screen entities]
|
||||||
|
(= 1.0 (get-in entities [:fade :opacity])))
|
||||||
|
|
||||||
|
(terminate [this screen entities]
|
||||||
|
entities)
|
||||||
|
(skip-type [this screen entities]
|
||||||
|
:none)))
|
||||||
|
|
||||||
|
|
||||||
(defn make [screen]
|
(defn make [screen]
|
||||||
(let [
|
(let [
|
||||||
@@ -44,8 +80,7 @@
|
|||||||
:x 245 :y 46 :baseline 200
|
:x 245 :y 46 :baseline 200
|
||||||
:anim peddler-stand
|
:anim peddler-stand
|
||||||
:anim-start 0
|
:anim-start 0
|
||||||
:scaled true
|
:scaled true)
|
||||||
)
|
|
||||||
:warden (assoc (animation->texture screen warden-stand)
|
:warden (assoc (animation->texture screen warden-stand)
|
||||||
:x 40 :y 50 :baseline (- 240 50)
|
:x 40 :y 50 :baseline (- 240 50)
|
||||||
:anim warden-stand
|
:anim warden-stand
|
||||||
@@ -53,15 +88,18 @@
|
|||||||
:scale-x 1.1
|
:scale-x 1.1
|
||||||
:scale-y 1.1
|
:scale-y 1.1
|
||||||
)
|
)
|
||||||
:gandarf (common/make-wizard screen {:x 205 :y 130 :baseline 199})
|
:gandarf (assoc (common/make-wizard screen {:x 205 :y 400 :baseline 199})
|
||||||
:gandarf-cloud (doto (assoc (particle-effect "wizard/gandarf-cloud") :x 215 :y 130
|
:update-fn (fn [screen entities gandarf]
|
||||||
|
(assoc gandarf :y (or (get-in entities [:gandarf-cloud :y])
|
||||||
|
(:y gandarf)))))
|
||||||
|
:gandarf-cloud (doto (assoc (particle-effect "wizard/gandarf-cloud") :x 215 :y 400
|
||||||
:baseline 200)
|
:baseline 200)
|
||||||
(particle-effect! :set-position 215 130))
|
(particle-effect! :set-position 215 130))
|
||||||
:duke (assoc (animation->texture screen duke-stand)
|
:duke (assoc (animation->texture screen duke-stand)
|
||||||
:x 117 :y 50 :baseline (- 240 50)
|
:x 117 :y 50 :baseline (- 240 50)
|
||||||
:anim duke-stand
|
:anim duke-stand
|
||||||
:anim-start 0
|
:anim-start 0
|
||||||
:talk-color (color 0.3 0.4 0.9 1.0)
|
:talk-color (color 0.4 0.5 0.94 1.0)
|
||||||
:talk duke-talk
|
:talk duke-talk
|
||||||
:stand duke-stand
|
:stand duke-stand
|
||||||
:reach duke-reach
|
:reach duke-reach
|
||||||
@@ -84,15 +122,63 @@
|
|||||||
(actions/play-animation entities :ego :reach-stop :stop? false)
|
(actions/play-animation entities :ego :reach-stop :stop? false)
|
||||||
(actions/talk entities :duke "Kneel." :anim :reach-talk :stop? false)
|
(actions/talk entities :duke "Kneel." :anim :reach-talk :stop? false)
|
||||||
(actions/play-animation entities :ego :start-squat-2 :stop? false)
|
(actions/play-animation entities :ego :start-squat-2 :stop? false)
|
||||||
|
(Thread/sleep 1000)
|
||||||
(actions/play-animation entities :duke :knight :stop? false)
|
(actions/play-animation entities :duke :knight :stop? false)
|
||||||
(actions/update-entity entities :duke (fn [d] (assoc d :baseline (- 240 48))))
|
(actions/update-entity entities :duke (fn [d] (assoc d :baseline (- 240 48))))
|
||||||
(actions/play-animation entities :duke :knight :stop? false)
|
(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 "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/talk entities :duke "I declare you Sir Tick of Remington." :anim :reach-talk)
|
||||||
(actions/play-animation entities :ego :end-squat :stop? true)
|
(actions/play-animation entities :ego :end-squat :stop? true)
|
||||||
(actions/do-dialogue entities
|
(Thread/sleep 500)
|
||||||
:ego "That's great and everything..."
|
(actions/glad entities)
|
||||||
:ego "But where's Georgia McGorgeous?")))
|
(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-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)
|
||||||
|
(fade-out entities)
|
||||||
|
(on-gl (set-screen! @(resolve 'advent.core/advent) @(resolve 'advent.screens.credits/credits)))))
|
||||||
|
:magic-frog-particle (doto (assoc (particle-effect "inside-house/magic-frog") :x 140 :y 49
|
||||||
|
:baseline 241)
|
||||||
|
(particle-effect! :set-position 150 49))
|
||||||
:ladder-guard-1 (assoc (animation->texture screen ladder-guard-stand-1)
|
:ladder-guard-1 (assoc (animation->texture screen ladder-guard-stand-1)
|
||||||
:x 75 :y 69 :baseline (- 240 69)
|
:x 75 :y 69 :baseline (- 240 69)
|
||||||
:anim ladder-guard-stand-1
|
:anim ladder-guard-stand-1
|
||||||
|
|||||||
@@ -193,6 +193,10 @@
|
|||||||
:entities {:appear (assoc effect
|
:entities {:appear (assoc effect
|
||||||
:x 240 :y 50
|
:x 240 :y 50
|
||||||
:baseline 200)
|
:baseline 200)
|
||||||
|
:later (assoc (texture "space/later.png")
|
||||||
|
:x 0 :y 0
|
||||||
|
:baseline 240
|
||||||
|
:opacity 0.0)
|
||||||
:grow-explode (assoc grow-explode
|
:grow-explode (assoc grow-explode
|
||||||
:x 240 :y 130
|
:x 240 :y 130
|
||||||
:baseline 200)
|
:baseline 200)
|
||||||
|
|||||||
Reference in New Issue
Block a user