diff --git a/desktop/resources/packed/pack.atlas b/desktop/resources/packed/pack.atlas index 8b8f902e..23cae635 100644 --- a/desktop/resources/packed/pack.atlas +++ b/desktop/resources/packed/pack.atlas @@ -2895,6 +2895,90 @@ ego/scared orig: 72, 36 offset: 0, 0 index: -1 +ending-castle/frankie-fall-1 + rotate: false + xy: 494, 681 + size: 40, 35 + orig: 40, 35 + offset: 0, 0 + index: -1 +ending-castle/frankie-fall-10 + rotate: false + xy: 170, 13 + size: 40, 35 + orig: 40, 35 + offset: 0, 0 + index: -1 +ending-castle/frankie-fall-11 + rotate: false + xy: 212, 13 + size: 40, 35 + orig: 40, 35 + offset: 0, 0 + index: -1 +ending-castle/frankie-fall-12 + rotate: false + xy: 254, 47 + size: 40, 35 + orig: 40, 35 + offset: 0, 0 + index: -1 +ending-castle/frankie-fall-2 + rotate: false + xy: 494, 644 + size: 40, 35 + orig: 40, 35 + offset: 0, 0 + index: -1 +ending-castle/frankie-fall-3 + rotate: false + xy: 494, 607 + size: 40, 35 + orig: 40, 35 + offset: 0, 0 + index: -1 +ending-castle/frankie-fall-4 + rotate: false + xy: 452, 588 + size: 40, 35 + orig: 40, 35 + offset: 0, 0 + index: -1 +ending-castle/frankie-fall-5 + rotate: false + xy: 494, 570 + size: 40, 35 + orig: 40, 35 + offset: 0, 0 + index: -1 +ending-castle/frankie-fall-6 + rotate: false + xy: 128, 12 + size: 40, 35 + orig: 40, 35 + offset: 0, 0 + index: -1 +ending-castle/frankie-fall-7 + rotate: false + xy: 296, 92 + size: 40, 35 + orig: 40, 35 + offset: 0, 0 + index: -1 +ending-castle/frankie-fall-8 + rotate: false + xy: 170, 50 + size: 40, 35 + orig: 40, 35 + offset: 0, 0 + index: -1 +ending-castle/frankie-fall-9 + rotate: false + xy: 212, 50 + size: 40, 35 + orig: 40, 35 + offset: 0, 0 + index: -1 georgia/kick-10 rotate: false xy: 254, 84 diff --git a/desktop/resources/packed/pack8.png b/desktop/resources/packed/pack8.png index 8cb0fd5a..36d5e35e 100644 Binary files a/desktop/resources/packed/pack8.png and b/desktop/resources/packed/pack8.png differ diff --git a/desktop/src-common/advent/actions.clj b/desktop/src-common/advent/actions.clj index 8fc3e3d6..b7613cb5 100644 --- a/desktop/src-common/advent/actions.clj +++ b/desktop/src-common/advent/actions.clj @@ -235,7 +235,7 @@ (skip-type [this screen entities] :none)))) -(defn play-animation [entities target-id anim & {:keys [stop? continue?]}] +(defn play-animation [entities target-id anim & {:keys [stop? continue? next]}] (run-action entities (begin [this screen entities] (update-in entities [:room :entities target-id] #(start-animation screen % anim) )) @@ -252,7 +252,7 @@ entities (if (or (nil? stop?) stop?) (stop screen entities target-id) - (assoc-in entities [:room :entities target-id :anim] nil)))) + (assoc-in entities [:room :entities target-id :anim] next)))) (skip-type [this screen entities] :none))) diff --git a/desktop/src-common/advent/screens/rooms/common.clj b/desktop/src-common/advent/screens/rooms/common.clj index 8908858d..d782e5aa 100644 --- a/desktop/src-common/advent/screens/rooms/common.clj +++ b/desktop/src-common/advent/screens/rooms/common.clj @@ -478,7 +478,9 @@ (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/resume-camera entities) (actions/do-dialogue entities @@ -525,6 +527,7 @@ :gandarf "I have escaped!" :gandarf "And I brought someone with me!") (Thread/sleep 600) + (actions/talk entities :gandarf "Beautius appearium!!" :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) @@ -544,12 +547,11 @@ :frankie "No sense in thanking Dipstick.") (actions/play-animation entities :frankie :laugh) (actions/play-animation entities :georgia :kick) - (actions/walk-straight-to entities :frankie [-41 24] :anim :stand :speed 5.0) - (actions/do-dialogue entities - :georgia "Let's go, Sir Hunk.") + (actions/walk-straight-to entities :georgia [141 35] :anim :stand :speed 1.0) + (actions/play-animation entities :frankie :fall :stop? false) + (actions/do-dialogue entities :georgia "Let's go, Sir Hunk.") (fade-out entities) - (on-gl (set-screen! @(resolve 'advent.core/advent) @(resolve 'advent.screens.credits/credits))) - ) + (on-gl (set-screen! @(resolve 'advent.core/advent) @(resolve 'advent.screens.credits/credits)))) (defn win [] (actions/get-script entities (do-win entities))) diff --git a/desktop/src-common/advent/screens/rooms/ending.clj b/desktop/src-common/advent/screens/rooms/ending.clj index d5714820..dbd617c4 100644 --- a/desktop/src-common/advent/screens/rooms/ending.clj +++ b/desktop/src-common/advent/screens/rooms/ending.clj @@ -41,6 +41,8 @@ georgia-kick (utils/make-anim-seq "georgia/kick" [40 43] 0.1 (flatten [(repeat 10 0) (repeat 7 1) (repeat 7 2) 3 4 5 6 7 8 9 10 11 12 13 (repeat 10 14) 15 16 17 18 19 (repeat 10 0)])) + frankie-fall (utils/make-anim-seq "ending-castle/frankie-fall" [40 35] 0.1 (flatten [(range 8) (repeat 20 7) 8 9 10 11 7])) + frankie-down (utils/make-anim-seq "ending-castle/frankie-fall" [40 35] 0.1 [0]) scaler (utils/scaler-fn-with-baseline 20 0.01 1.20)] (rooms/make :music :dream :name "Ending" @@ -60,8 +62,8 @@ :stand georgia-stand :talk georgia-talk :kick georgia-kick - :anim-merges {georgia-stand {:origin-x 10 :origin-y 0} - georgia-kick {:origin-x 20 :origin-y 0}})) + :anim-merges {georgia-stand {:origin-x 10 :origin-y 1} + georgia-kick {:origin-x 19 :origin-y 0}})) :entities {:peddler (assoc (animation->texture screen peddler-stand) :x 245 :y 46 :baseline 200 :anim peddler-stand @@ -75,8 +77,13 @@ :scale-y 1.1) :frankie (assoc (common/make-frankie screen) :x 28 :y 21 :baseline 200 + :fall frankie-fall + :down frankie-down :scale-x 1.2 - :scale-y 1.2) + :scale-y 1.2 + :anim-merges {:default {:origin-x 12 :origin-y 0} + frankie-fall {:origin-x 22 :origin-y 0} + frankie-down {:origin-x 22 :origin-y 0}}) :gandarf (assoc (common/make-wizard screen {:x 205 :y 400 :baseline 199}) :update-fn (fn [screen entities gandarf] (assoc gandarf :y (or (get-in entities [:gandarf-cloud :y])