lullaby. better safe experience.

This commit is contained in:
Bryce Covert
2016-06-15 17:50:40 -07:00
parent 3d203a6d3a
commit 0962cd6478
8 changed files with 113 additions and 59 deletions

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.0 KiB

After

Width:  |  Height:  |  Size: 16 KiB

View File

@@ -144,7 +144,21 @@ cat-tree/dot
orig: 1, 1 orig: 1, 1
offset: 0, 0 offset: 0, 0
index: -1 index: -1
wizard/dot inside-jail/dot
rotate: false
xy: 704, 916
size: 1, 1
orig: 1, 1
offset: 0, 0
index: -1
inside-antique/dot
rotate: false
xy: 704, 916
size: 1, 1
orig: 1, 1
offset: 0, 0
index: -1
ego/dot
rotate: false rotate: false
xy: 704, 916 xy: 704, 916
size: 1, 1 size: 1, 1
@@ -165,13 +179,6 @@ outsidehouse/dot
orig: 1, 1 orig: 1, 1
offset: 0, 0 offset: 0, 0
index: -1 index: -1
ego/dot
rotate: false
xy: 704, 916
size: 1, 1
orig: 1, 1
offset: 0, 0
index: -1
dream/dot dream/dot
rotate: false rotate: false
xy: 704, 916 xy: 704, 916
@@ -186,14 +193,7 @@ title/dot
orig: 1, 1 orig: 1, 1
offset: 0, 0 offset: 0, 0
index: -1 index: -1
inside-antique/dot wizard/dot
rotate: false
xy: 704, 916
size: 1, 1
orig: 1, 1
offset: 0, 0
index: -1
inside-jail/dot
rotate: false rotate: false
xy: 704, 916 xy: 704, 916
size: 1, 1 size: 1, 1
@@ -265,7 +265,7 @@ cat-tree/tree-r
index: -1 index: -1
close close
rotate: false rotate: false
xy: 444, 4 xy: 463, 4
size: 16, 16 size: 16, 16
orig: 16, 16 orig: 16, 16
offset: 0, 0 offset: 0, 0
@@ -284,13 +284,6 @@ space/cloud
orig: 15, 15 orig: 15, 15
offset: 0, 0 offset: 0, 0
index: -1 index: -1
cursorr
rotate: false
xy: 462, 4
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
dbh dbh
rotate: false rotate: false
xy: 2, 1086 xy: 2, 1086
@@ -410,6 +403,13 @@ ego/base
orig: 16, 36 orig: 16, 36
offset: 0, 0 offset: 0, 0
index: -1 index: -1
ego/whistle-1
rotate: false
xy: 2021, 96
size: 16, 36
orig: 16, 36
offset: 0, 0
index: -1
ego/burnt ego/burnt
rotate: false rotate: false
xy: 852, 916 xy: 852, 916
@@ -515,6 +515,13 @@ ego/swing-shovel
orig: 630, 70 orig: 630, 70
offset: 0, 0 offset: 0, 0
index: -1 index: -1
ego/whistle-2
rotate: false
xy: 1491, 404
size: 16, 36
orig: 16, 36
offset: 0, 0
index: -1
ending-castle/Untitled ending-castle/Untitled
rotate: false rotate: false
xy: 1767, 109 xy: 1767, 109
@@ -613,14 +620,14 @@ held/dot
orig: 1, 1 orig: 1, 1
offset: 0, 0 offset: 0, 0
index: -1 index: -1
outside-jail/dot space/dot
rotate: false rotate: false
xy: 2007, 468 xy: 2007, 468
size: 1, 1 size: 1, 1
orig: 1, 1 orig: 1, 1
offset: 0, 0 offset: 0, 0
index: -1 index: -1
space/dot outside-jail/dot
rotate: false rotate: false
xy: 2007, 468 xy: 2007, 468
size: 1, 1 size: 1, 1
@@ -650,28 +657,28 @@ inside-antique/beard
index: -1 index: -1
inside-antique/bowl inside-antique/bowl
rotate: false rotate: false
xy: 2031, 1955 xy: 481, 7
size: 14, 13 size: 14, 13
orig: 14, 13 orig: 14, 13
offset: 0, 0 offset: 0, 0
index: -1 index: -1
inside-antique/bowl-0 inside-antique/bowl-0
rotate: false rotate: false
xy: 2031, 1955 xy: 481, 7
size: 14, 13 size: 14, 13
orig: 14, 13 orig: 14, 13
offset: 0, 0 offset: 0, 0
index: -1 index: -1
inside-antique/bowl-1 inside-antique/bowl-1
rotate: false rotate: false
xy: 1696, 4 xy: 2031, 1955
size: 14, 13 size: 14, 13
orig: 14, 13 orig: 14, 13
offset: 0, 0 offset: 0, 0
index: -1 index: -1
inside-antique/bowl-2 inside-antique/bowl-2
rotate: false rotate: false
xy: 480, 7 xy: 1696, 4
size: 14, 13 size: 14, 13
orig: 14, 13 orig: 14, 13
offset: 0, 0 offset: 0, 0
@@ -886,16 +893,9 @@ inside-house/candle-aura
orig: 108, 27 orig: 108, 27
offset: 0, 0 offset: 0, 0
index: -1 index: -1
inside-house/flask
rotate: false
xy: 1491, 401
size: 16, 21
orig: 16, 21
offset: 0, 0
index: -1
inside-house/frog-legs inside-house/frog-legs
rotate: false rotate: false
xy: 1491, 424 xy: 444, 4
size: 17, 16 size: 17, 16
orig: 17, 16 orig: 17, 16
offset: 0, 0 offset: 0, 0
@@ -1431,6 +1431,13 @@ cloudy
orig: 20, 20 orig: 20, 20
offset: 0, 0 offset: 0, 0
index: -1 index: -1
cursorr
rotate: false
xy: 2030, 661
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
dawn dawn
rotate: false rotate: false
xy: 968, 1806 xy: 968, 1806
@@ -1571,6 +1578,20 @@ ego/swing
orig: 288, 75 orig: 288, 75
offset: 0, 0 offset: 0, 0
index: -1 index: -1
ego/whistle-3
rotate: false
xy: 2030, 740
size: 16, 36
orig: 16, 36
offset: 0, 0
index: -1
ego/whistle-4
rotate: false
xy: 2030, 702
size: 16, 36
orig: 16, 36
offset: 0, 0
index: -1
ending-castle/ending-castle2-assets/collision ending-castle/ending-castle2-assets/collision
rotate: false rotate: false
xy: 324, 1322 xy: 324, 1322
@@ -1643,7 +1664,7 @@ inside-antique/open-blinds
index: -1 index: -1
inside-antique/portrait inside-antique/portrait
rotate: false rotate: false
xy: 2030, 706 xy: 2030, 589
size: 16, 16 size: 16, 16
orig: 16, 16 orig: 16, 16
offset: 0, 0 offset: 0, 0
@@ -1657,7 +1678,7 @@ inside-antique/shopkeep
index: -1 index: -1
inside-antique/teddy inside-antique/teddy
rotate: false rotate: false
xy: 2030, 670 xy: 2030, 553
size: 16, 16 size: 16, 16
orig: 16, 16 orig: 16, 16
offset: 0, 0 offset: 0, 0
@@ -1795,6 +1816,13 @@ inside-house/desk
orig: 320, 240 orig: 320, 240
offset: 0, 0 offset: 0, 0
index: -1 index: -1
inside-house/flask
rotate: false
xy: 2030, 679
size: 16, 21
orig: 16, 21
offset: 0, 0
index: -1
inside-house/glow inside-house/glow
rotate: false rotate: false
xy: 968, 1080 xy: 968, 1080
@@ -1881,7 +1909,7 @@ outside-castle/brush-bl
index: -1 index: -1
outside-castle/note outside-castle/note
rotate: false rotate: false
xy: 2030, 760 xy: 2030, 643
size: 16, 16 size: 16, 16
orig: 16, 16 orig: 16, 16
offset: 0, 0 offset: 0, 0
@@ -1965,7 +1993,7 @@ outsidehouse/lamb
index: -1 index: -1
outsidehouse/note outsidehouse/note
rotate: false rotate: false
xy: 2030, 742 xy: 2030, 625
size: 16, 16 size: 16, 16
orig: 16, 16 orig: 16, 16
offset: 0, 0 offset: 0, 0
@@ -1979,14 +2007,14 @@ outsidehouse/sheep-walk
index: -1 index: -1
pathfind-test pathfind-test
rotate: false rotate: false
xy: 2030, 724 xy: 2030, 607
size: 16, 16 size: 16, 16
orig: 16, 16 orig: 16, 16
offset: 0, 0 offset: 0, 0
index: -1 index: -1
save save
rotate: false rotate: false
xy: 2030, 688 xy: 2030, 571
size: 16, 16 size: 16, 16
orig: 16, 16 orig: 16, 16
offset: 0, 0 offset: 0, 0

Binary file not shown.

Before

Width:  |  Height:  |  Size: 673 KiB

After

Width:  |  Height:  |  Size: 673 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 607 KiB

After

Width:  |  Height:  |  Size: 609 KiB

View File

@@ -998,16 +998,19 @@
(map (partial + 16) [5 6 7 8 8 7 6 6 6 6 6]) (map (partial + 16) [5 6 7 8 8 7 6 6 6 6 6])
(repeat 45 22)]) (repeat 45 22)])
[22 22 22 22 22 22 22 22 26 27 28] [22 22 22 22 22 22 22 22 26 27 28 28 28 28 28 28 28 28 28 28 28 28 28 28]
]))] ]))]
(Thread/sleep 200) (wait entities 200)
(begin-animation entities :ego :whistle)
(wait entities 400)
(add-entity entities :safe-song (add-entity entities :safe-song
(rooms/make-entity :safe-song (rooms/make-entity :safe-song
(assoc (utils/get-texture "safe-song/safe-song-1") (assoc (utils/get-texture "safe-song/safe-song-1")
:x 130 :x 130
:y 120 :y 120
:baseline 241 :baseline 241
:night-profile :none
:anim nil :anim nil
:anim-start 0 :anim-start 0
:play safe-song-anim))) :play safe-song-anim)))
@@ -1015,5 +1018,6 @@
(begin-animation entities :safe-song :play) (begin-animation entities :safe-song :play)
(wait entities 100) (wait entities 100)
(play-sound entities "safe-sound.ogg" 0.1 false) (play-sound entities "safe-sound.ogg" 0.1 false)
(wait entities 10000) (wait entities 10800)
(remove-entity entities :safe-song))) (remove-entity entities :safe-song)
(do-stop entities :ego)))

View File

@@ -193,6 +193,8 @@
:flask-1 (actions/get-script entities :flask-1 (actions/get-script entities
(actions/do-dialogue entities (actions/do-dialogue entities
:wizard "You can keep the flask.")) :wizard "You can keep the flask."))
:tune (actions/get-script entities
(actions/talk entities :ego "I think he already has it memorized."))
(actions/get-script entities (actions/get-script entities
(actions/do-dialogue entities (actions/do-dialogue entities
:wizard "No thank you.")))}) :wizard "No thank you.")))})

View File

@@ -27,17 +27,17 @@
(assoc :start-showing? false))) (assoc :start-showing? false)))
(defn button-box [x y] (defn button-box [x y]
(zone/box (+ start-x x) (+ start-y y) (+ start-x x 16) (+ start-y y 16))) (zone/box (+ start-x x) (+ start-y y) (+ start-x x 16) (+ start-y y 20)))
(defn get-button [[x y]] (defn get-button [[x y]]
(first (filter (fn [{:keys [in?] :as button}] (first (filter (fn [{:keys [in?] :as button}]
(when (in? x y) (when (in? x y)
button)) button))
[{:in? (button-box 9 17) :sound (utils/load-sound "inside-house/safe-1.ogg") :id 1 } [{:in? (button-box 9 13) :sound (utils/load-sound "inside-house/safe-1.ogg") :id 1 }
{:in? (button-box 29 17) :sound (utils/load-sound "inside-house/safe-2.ogg") :id 2} {:in? (button-box 29 13) :sound (utils/load-sound "inside-house/safe-2.ogg") :id 2}
{:in? (button-box 49 17) :sound (utils/load-sound "inside-house/safe-3.ogg") :id 3} {:in? (button-box 49 13) :sound (utils/load-sound "inside-house/safe-3.ogg") :id 3}
{:in? (button-box 70 17) :sound (utils/load-sound "inside-house/safe-4.ogg") :id 4} {:in? (button-box 70 13) :sound (utils/load-sound "inside-house/safe-4.ogg") :id 4}
{:in? (button-box 91 17) :sound (utils/load-sound "inside-house/safe-5.ogg") :id 5}]))) {:in? (button-box 91 13) :sound (utils/load-sound "inside-house/safe-5.ogg") :id 5}])))
(defscreen safe-screen (defscreen safe-screen
:on-show :on-show

View File

@@ -317,11 +317,24 @@ void main ()
:tune :tune
(actions/get-script entities (actions/get-script entities
(if (get-in @entities [:room :entities :wizard]) (cond
(get-in @entities [:room :entities :wizard])
(do (do
(actions/talk entities :ego "Better not hum it with Gandarf around!") (actions/talk entities :ego "Better not hum it with Gandarf around!")
(actions/talk entities :wizard "What's that, boy?") (actions/talk entities :wizard "What's that, boy?")
(actions/talk entities :ego "Oh... Erm... Nothing.")) (actions/talk entities :ego "Oh... Erm... Nothing."))
(get-in @entities [:room :entities :warden])
(do
(actions/talk entities :ego "I'll whistle it really quietly.")
(actions/play-safe entities)
(actions/do-dialogue entities :warden "Huh? What was that?"
:warden "Get back in yer cell!")
(common/go-to-jail entities)
(Thread/sleep 500)
(actions/play-animation entities :ego :sigh)
(actions/talk entities :ego "You really are a sucker for punishment, aren't you?")
(steam/set-achievement "FOOLISH_LULLABY"))
:else
(do (do
(actions/talk entities :ego "Ugh! I have Gandarf's MagicSafe 2000 tune stuck in my head.") (actions/talk entities :ego "Ugh! I have Gandarf's MagicSafe 2000 tune stuck in my head.")
(actions/play-safe entities)))) (actions/play-safe entities))))
@@ -498,13 +511,15 @@ void main ()
(texture (aget squat-sheet 0 i)))) (texture (aget squat-sheet 0 i))))
start-squat-2 (animation 0.05 (for [i [0 1 2 3]] start-squat-2 (animation 0.05 (for [i [0 1 2 3]]
(texture (aget squat-sheet 0 i)))) (texture (aget squat-sheet 0 i))))
end-squat (animation 0.05 (for [i [3 2 1 0]] end-squat (animation 0.05 (for [i [3 2 1 0]]
(texture (aget squat-sheet 0 i)))) (texture (aget squat-sheet 0 i))))
squat-anim (animation 0.05 (for [i [0 1 2 3 3 3 3 3 3 3 3 3 3 3 3 2 1] ] squat-anim (animation 0.05 (for [i [0 1 2 3 3 3 3 3 3 3 3 3 3 3 3 2 1]]
(texture (aget squat-sheet 0 i)))) (texture (aget squat-sheet 0 i))))
reach-anim (animation 0.1 (for [i [0 1 2 3 3 3 3 3 3 2 1 0]] reach-anim (animation 0.1 (for [i [0 1 2 3 3 3 3 3 3 2 1 0]]
(texture (aget reach-sheet 0 i)))) (texture (aget reach-sheet 0 i))))
reach-start (animation 0.1 (for [i [0 1 2 3 ]] reach-start (animation 0.1 (for [i [0 1 2 3]]
(texture (aget reach-sheet 0 i)))) (texture (aget reach-sheet 0 i))))
reach-stop (animation 0.1 (for [i [3 2 1 0]] reach-stop (animation 0.1 (for [i [3 2 1 0]]
(texture (aget reach-sheet 0 i)))) (texture (aget reach-sheet 0 i))))
@@ -514,10 +529,11 @@ void main ()
(texture (aget cat-toy-sheet 0 i)))) (texture (aget cat-toy-sheet 0 i))))
cat-toy-last-half (animation 0.1 (for [i [3 3 3 2 1 1 0 0]] cat-toy-last-half (animation 0.1 (for [i [3 3 3 2 1 1 0 0]]
(texture (aget cat-toy-sheet 0 i)))) (texture (aget cat-toy-sheet 0 i))))
shy (animation 0.2 (for [i [0 1 2 2 2 2 2 2 2 2 1 0 0 0 0 0 0 0 ]] shy (animation 0.2 (for [i [0 1 2 2 2 2 2 2 2 2 1 0 0 0 0 0 0 0]]
(texture (aget fire-sheet 0 i)))) (texture (aget fire-sheet 0 i))))
fire-1-anim (animation 0.1 (for [i [0 1 2 2 2 3 2 3 2 2 2 2 2 2 2 2 2 2 1 0]] fire-1-anim (animation 0.1 (for [i [0 1 2 2 2 3 2 3 2 2 2 2 2 2 2 2 2 2 1 0]]
(texture (aget fire-sheet 0 i)))) (texture (aget fire-sheet 0 i))))
fire-2-anim (animation 0.1 (for [i [0 1 2 2 2 3 2 3 2 2 2 2 2 2 2 4 4 4 5 6 7 4 4 4 2 2 2 2 2 2 2 2 1 0]] fire-2-anim (animation 0.1 (for [i [0 1 2 2 2 3 2 3 2 2 2 2 2 2 2 4 4 4 5 6 7 4 4 4 2 2 2 2 2 2 2 2 1 0]]
(texture (aget fire-sheet 0 i)))) (texture (aget fire-sheet 0 i))))
fire-3-anim (animation 0.1 (for [i [0 1 2 2 2 3 2 3 2 2 2 2 2 2 4 4 4 4 4 4 5 6 7 4 4 4 4 4 8 9 10 11 4 4 4 2 2 2 2 2 2 2 2 0]] fire-3-anim (animation 0.1 (for [i [0 1 2 2 2 3 2 3 2 2 2 2 2 2 4 4 4 4 4 4 5 6 7 4 4 4 4 4 8 9 10 11 4 4 4 2 2 2 2 2 2 2 2 0]]
@@ -554,6 +570,7 @@ void main ()
frustrated-talk (utils/make-anim "ego/frustrated-talk.png" [16 36] 0.2 (flatten (range 6))) frustrated-talk (utils/make-anim "ego/frustrated-talk.png" [16 36] 0.2 (flatten (range 6)))
swing-shovel (utils/make-anim "ego/swing-shovel.png" [70 70] 0.1 (range 9)) swing-shovel (utils/make-anim "ego/swing-shovel.png" [70 70] 0.1 (range 9))
love (utils/make-anim-seq "ego/love" [50 70] 0.1 (flatten [0 0 1 1 2 2 3 3 4 4 5 5 6 6 (repeat 10 7) (repeat 5 8) (repeat 5 7) (repeat 5 8) (repeat 5 7) (repeat 10 [23 24 25 24]) (repeat 30 9) 10 11 12 13 14 15 16 17 18 19 20 21 21 21 22 22 22 21 21 21 21 21 21 21 21 22 22 22 22 22 21 21 21 21 22 22 22 22 22 22 21 21 21 21 21 6 6 5 5 4 4 3 3 2 2 1 1 0])) love (utils/make-anim-seq "ego/love" [50 70] 0.1 (flatten [0 0 1 1 2 2 3 3 4 4 5 5 6 6 (repeat 10 7) (repeat 5 8) (repeat 5 7) (repeat 5 8) (repeat 5 7) (repeat 10 [23 24 25 24]) (repeat 30 9) 10 11 12 13 14 15 16 17 18 19 20 21 21 21 22 22 22 21 21 21 21 21 21 21 21 22 22 22 22 22 21 21 21 21 22 22 22 22 22 22 21 21 21 21 21 6 6 5 5 4 4 3 3 2 2 1 1 0]))
whistle (utils/make-anim-seq "ego/whistle" [18 36] 0.2 (flatten [0 1 1 (repeat 200 [2 3])]))
axe (utils/make-anim "ego/axe.png" [60 70] 0.10 (flatten [1 1 1 1 1 0 0 0 1 1 1 1 1 0 0 0 0 (range 7)])) axe (utils/make-anim "ego/axe.png" [60 70] 0.10 (flatten [1 1 1 1 1 0 0 0 1 1 1 1 1 0 0 0 0 (range 7)]))
axe-wood (utils/make-anim "ego/axe-wood.png" [60 70] 0.10 (flatten [1 1 1 1 1 0 0 0 1 1 1 1 1 0 0 0 0 (range 11)])) axe-wood (utils/make-anim "ego/axe-wood.png" [60 70] 0.10 (flatten [1 1 1 1 1 0 0 0 1 1 1 1 1 0 0 0 0 (range 11)]))
suspended (utils/make-anim "ego/suspended.png" [20 36] 0.10 [0]) suspended (utils/make-anim "ego/suspended.png" [20 36] 0.10 [0])
@@ -630,6 +647,7 @@ void main ()
:shy shy :shy shy
:climb climb :climb climb
:poke poke :poke poke
:whistle whistle
} }
:left {:walk (utils/flip walk-right) :left {:walk (utils/flip walk-right)
:stand (utils/flip stand-anim) :stand (utils/flip stand-anim)
@@ -681,6 +699,7 @@ void main ()
:shy (utils/flip shy) :shy (utils/flip shy)
:climb (utils/flip climb) :climb (utils/flip climb)
:poke (utils/flip poke) :poke (utils/flip poke)
:whistle (utils/flip whistle)
} }
:baseline (- 240 (last start-pos)) :baseline (- 240 (last start-pos))
:facing :right :facing :right
@@ -786,6 +805,7 @@ void main ()
(get-in ego [:right :glad]) {:origin-x 11} (get-in ego [:right :glad]) {:origin-x 11}
(get-in ego [:left :climb]) {:origin-x 11} (get-in ego [:left :climb]) {:origin-x 11}
(get-in ego [:right :climb]) {:origin-x 11} (get-in ego [:right :climb]) {:origin-x 11}
(get-in ego [:left :whistle]) {:origin-x 7}
(get-in ego [:right :standup]) {:origin-x 32} (get-in ego [:right :standup]) {:origin-x 32}
(get-in ego [:right :crawl]) {:origin-x 32} (get-in ego [:right :crawl]) {:origin-x 32}
(get-in ego [:right :crawl-hide]) {:origin-x 32} (get-in ego [:right :crawl-hide]) {:origin-x 32}