all rooms now!
This commit is contained in:
@@ -20,8 +20,8 @@
|
||||
(defn make-night [entities]
|
||||
entities)
|
||||
|
||||
(defn make-coin-flip [screen]
|
||||
(let [coin-flip (utils/make-anim "castle-gate/coinflip.png" [10 10] 0.05 (range 5))]
|
||||
(defn make-coin-flip [screen atlas]
|
||||
(let [coin-flip (utils/make-anim atlas "coinflip" [10 10] 0.05 (range 5))]
|
||||
(assoc (animation->texture screen coin-flip)
|
||||
:x 212 :y 114 :baseline 151
|
||||
:opacity 0.0
|
||||
@@ -40,8 +40,8 @@
|
||||
:walk coin-flip
|
||||
:coinflip coin-flip)))
|
||||
|
||||
(defn make-goon-1 [screen]
|
||||
(let [stand (utils/make-anim "castle-gate/goon-1.png" [13 33] 0.21 [0 0 0 0 0 0 0 0 0 1])]
|
||||
(defn make-goon-1 [screen atlas]
|
||||
(let [stand (utils/make-anim atlas "goon-1" [13 33] 0.21 [0 0 0 0 0 0 0 0 0 1])]
|
||||
(assoc (animation->texture screen stand)
|
||||
:x 244 :y 102 :baseline 138
|
||||
:label "Goon"
|
||||
@@ -53,12 +53,13 @@
|
||||
:anim-start 0
|
||||
:stand stand)))
|
||||
|
||||
(defn make-goon-2 [screen]
|
||||
(let [stand (utils/make-anim "castle-gate/goon-2.png" [12 32] 0.175 [0 0 0 0 0 0 0 0 0 0 0 0 0 1])
|
||||
talk (utils/make-anim "castle-gate/goon-2-talk.png" [12 32] 0.175 (range 2))
|
||||
flip (utils/make-anim "castle-gate/goon-2-flip.png" [12 32] 0.05 [1 2 2 2 3 3 3 3 3 3 3 3 3 3 3 3 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ])
|
||||
search (utils/make-anim "castle-gate/goon-2-search.png" [24 32] 0.3 [0 1 2 3 2 3 2 1 4 5 6 5 6 7 6 7 6 7 6 1 0])
|
||||
walk (utils/flip (utils/make-anim "castle-gate/goon-2-walk.png" [24 34] 0.075 (range 7)))]
|
||||
(defn make-goon-2 [screen atlas]
|
||||
(let [
|
||||
stand (utils/make-anim atlas "goon-2" [12 32] 0.175 [0 0 0 0 0 0 0 0 0 0 0 0 0 1])
|
||||
talk (utils/make-anim atlas "goon-2-talk" [12 32] 0.175 (range 2))
|
||||
flip (utils/make-anim atlas "goon-2-flip" [12 32] 0.05 [1 2 2 2 3 3 3 3 3 3 3 3 3 3 3 3 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ])
|
||||
search (utils/make-anim atlas "goon-2-search" [24 32] 0.3 [0 1 2 3 2 3 2 1 4 5 6 5 6 7 6 7 6 7 6 1 0])
|
||||
walk (utils/flip (utils/make-anim atlas "goon-2-walk" [24 34] 0.075 (range 7)))]
|
||||
(assoc (animation->texture screen stand)
|
||||
:x 214 :y 102 :baseline 151
|
||||
:scale-x 1.4
|
||||
@@ -197,9 +198,11 @@
|
||||
(sign-note entities))}})
|
||||
|
||||
(defn make [screen]
|
||||
(let [throw-walkie (utils/make-anim-seq "castle-gate/throw-walkie" [205 136] 0.1 (flatten [(repeat 55 0) (range 9) (repeat 55 8)]))
|
||||
walkie-visible (animation 1.0 [(utils/get-texture "castle-gate/throw-walkie-9.png")])
|
||||
walkie-invisible (animation 1.0 [(utils/get-texture "castle-gate/throw-walkie-1.png")])]
|
||||
(let [[screen atlas] (utils/acquire-atlas screen "packed/castle-gate.atlas")
|
||||
[screen global-atlas] (utils/acquire-atlas screen "packed/global.atlas")
|
||||
throw-walkie (utils/make-anim-seq atlas "throw-walkie" [205 136] 0.1 (flatten [(repeat 55 0) (range 9) (repeat 55 8)]))
|
||||
walkie-visible (animation 1.0 [(utils/atlas->texture atlas "throw-walkie" 8)])
|
||||
walkie-invisible (animation 1.0 [(utils/atlas->texture atlas "throw-walkie" 0)])]
|
||||
(rooms/make :music {:day :town-2 :night :night}
|
||||
:name "Castle gate"
|
||||
:timers {:taunt [1.0 6.0 flip-coin]}
|
||||
@@ -234,15 +237,15 @@
|
||||
(actions/walk-straight-to entities :ego [285 71]))}}
|
||||
:note (make-note)}
|
||||
|
||||
:layers {:day [(assoc (utils/get-texture "castle-gate/background.png") :x 0 :y 0 :baseline 0)
|
||||
(assoc (utils/get-texture "castle-gate/overlay.png") :x 0 :y 0 :baseline 240)]
|
||||
:night [(assoc (utils/get-texture "castle-gate/background.png") :x 0 :y 0 :baseline 0)
|
||||
(assoc (utils/get-texture "castle-gate/overlay.png") :x 0 :y 0 :baseline 240)]}
|
||||
:entities {:frankie (common/make-frankie screen)
|
||||
:goon-1 (make-goon-1 screen)
|
||||
:goon-2 (make-goon-2 screen)
|
||||
:layers {:day [(assoc (utils/atlas->texture atlas "background") :x 0 :y 0 :baseline 0)
|
||||
(assoc (utils/atlas->texture atlas "overlay") :x 0 :y 0 :baseline 240)]
|
||||
:night [(assoc (utils/atlas->texture atlas "background") :x 0 :y 0 :baseline 0)
|
||||
(assoc (utils/atlas->texture atlas "overlay") :x 0 :y 0 :baseline 240)]}
|
||||
:entities {:frankie (common/make-frankie screen global-atlas)
|
||||
:goon-1 (make-goon-1 screen atlas)
|
||||
:goon-2 (make-goon-2 screen atlas)
|
||||
:outside-particles (common/make-outside-particles)
|
||||
:coin-flip (make-coin-flip screen)
|
||||
:coin-flip (make-coin-flip screen atlas)
|
||||
}
|
||||
:walkie-talkies (rooms/make-entity :walkie-talkies
|
||||
(assoc (animation->texture screen walkie-visible)
|
||||
|
||||
@@ -294,14 +294,14 @@
|
||||
"Nevermind."
|
||||
{:run #(actions/respond entities % :frankie "Come back when you've got some good valuables.")}]}))
|
||||
|
||||
(defn make-frankie [screen]
|
||||
(let [stand (utils/make-anim "castle-gate/frankie.png" [24 35] 0.19 [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1])
|
||||
talk (utils/make-anim "castle-gate/frankie.png" [24 35] 0.2 [2 0 2 0 2 0 2 0 0 1 0])
|
||||
walk (utils/make-anim-seq "castle-gate/frankie-walk" [24 35] 0.2 (range 8))
|
||||
laugh (utils/make-anim "castle-gate/frankie.png" [24 35] 0.1 [1 3 4 3 4 3 4 3 4 3 4 3 4 1 0])
|
||||
glance (utils/make-anim "castle-gate/frankie.png" [24 35] 0.25 [0 6 0 6 5 5 5 6 7 7 7 6 ])
|
||||
reach (utils/make-anim "castle-gate/frankie.png" [24 35] 0.2 [0 8 9 9 9 9 8])
|
||||
flex (utils/make-anim "castle-gate/frankie.png" [24 35] 0.2 [0 10 11 12 12 12 12 11 10])]
|
||||
(defn make-frankie [screen atlas]
|
||||
(let [stand (utils/make-anim atlas "frankie" [24 35] 0.19 [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1])
|
||||
talk (utils/make-anim atlas "frankie" [24 35] 0.2 [2 0 2 0 2 0 2 0 0 1 0])
|
||||
walk (utils/make-anim-seq atlas "frankie-walk" [24 35] 0.2 (range 8))
|
||||
laugh (utils/make-anim atlas "frankie" [24 35] 0.1 [1 3 4 3 4 3 4 3 4 3 4 3 4 1 0])
|
||||
glance (utils/make-anim atlas "frankie" [24 35] 0.25 [0 6 0 6 5 5 5 6 7 7 7 6 ])
|
||||
reach (utils/make-anim atlas "frankie" [24 35] 0.2 [0 8 9 9 9 9 8])
|
||||
flex (utils/make-anim atlas "frankie" [24 35] 0.2 [0 10 11 12 12 12 12 11 10])]
|
||||
(assoc (animation->texture screen stand)
|
||||
:x 235 :y 90 :baseline 150
|
||||
:label "Frankie Rockfist"
|
||||
|
||||
@@ -18,39 +18,41 @@
|
||||
(:import [com.badlogic.gdx.graphics Color]))
|
||||
|
||||
(defn make [screen]
|
||||
(let [
|
||||
peddler-sheet (texture! (utils/get-texture "outside-castle/peddler-talk.png" ) :split 18 36)
|
||||
(let [[screen atlas] (utils/acquire-atlas screen "packed/ending-castle.atlas")
|
||||
[screen global-atlas] (utils/acquire-atlas screen "packed/global.atlas")
|
||||
|
||||
peddler-sheet (texture! (utils/atlas->texture atlas "peddler-talk" ) :split 18 36)
|
||||
peddler-stand (utils/flip (animation 0.2 (for [i (flatten [(repeat 8 0) 6 (repeat 8 0) 6 (repeat 5 0) 4 5 4 5 4 5])]
|
||||
(aget peddler-sheet 0 i))))
|
||||
warden-stand (utils/make-anim "ending-castle/warden-2.png" [21 41] 0.21 (flatten [(repeat 7 0) 1]))
|
||||
warden-stand (utils/make-anim atlas "warden-2" [21 41] 0.21 (flatten [(repeat 7 0) 1]))
|
||||
|
||||
game-player-stand (utils/make-anim "ending-castle/game-player.png" [14 39] 0.2 (flatten [(repeat 5 0) 1] ))
|
||||
game-player-stand (utils/make-anim atlas "game-player" [14 39] 0.2 (flatten [(repeat 5 0) 1] ))
|
||||
|
||||
ladder-guard-stand-1 (animation 0.1 [(utils/get-texture "inside-cafeteria/ladder-guard-2.png")])
|
||||
ladder-guard-stand-2 (utils/flip (animation 0.1 [(utils/get-texture "inside-cafeteria/ladder-guard-2.png")]))
|
||||
grandma-stand (utils/make-anim "cat-tree/grandma.png" [25 36] 0.2 [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1])
|
||||
cat-stand (utils/make-anim "cat-tree/cat-stand.png" [22 10] 0.15 (flatten [(repeat 10 0) 1 1 (repeat 10 0) 2 3 4 3 0 0 2 3 4 3 (repeat 10 0) 1 1 (repeat 10 0) 5 5 6 6 7 (repeat 10 [7 8]) 6 5 0]))
|
||||
duke-stand (utils/make-anim "ending-castle/duke.png" [40 48] 0.23 (flatten [(repeat 4 0) 1]))
|
||||
duke-talk (utils/make-anim "ending-castle/duke.png" [40 48] 0.23 [0 2 0 2 1 2])
|
||||
duke-reach (utils/make-anim "ending-castle/duke.png" [40 48] 0.23 [3 4 5 6])
|
||||
duke-reach-talk (utils/make-anim "ending-castle/duke.png" [40 48] 0.23 [6 7])
|
||||
duke-knight (utils/make-anim "ending-castle/duke.png" [40 48] 0.23 [8 9 10 9 8])
|
||||
ladder-guard-stand-1 (animation 0.1 [(utils/atlas->texture atlas "ladder-guard-2")])
|
||||
ladder-guard-stand-2 (utils/flip (animation 0.1 [(utils/atlas->texture atlas "ladder-guard-2")]))
|
||||
grandma-stand (utils/make-anim atlas "grandma" [25 36] 0.2 [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1])
|
||||
cat-stand (utils/make-anim atlas "cat-stand" [22 10] 0.15 (flatten [(repeat 10 0) 1 1 (repeat 10 0) 2 3 4 3 0 0 2 3 4 3 (repeat 10 0) 1 1 (repeat 10 0) 5 5 6 6 7 (repeat 10 [7 8]) 6 5 0]))
|
||||
duke-stand (utils/make-anim atlas "duke" [40 48] 0.23 (flatten [(repeat 4 0) 1]))
|
||||
duke-talk (utils/make-anim atlas "duke" [40 48] 0.23 [0 2 0 2 1 2])
|
||||
duke-reach (utils/make-anim atlas "duke" [40 48] 0.23 [3 4 5 6])
|
||||
duke-reach-talk (utils/make-anim atlas "duke" [40 48] 0.23 [6 7])
|
||||
duke-knight (utils/make-anim atlas "duke" [40 48] 0.23 [8 9 10 9 8])
|
||||
|
||||
georgia-stand (utils/make-anim "georgia/stand.png" [20 43] 0.2 (flatten [(repeat 20 0) 1 (repeat 10 0) 1]))
|
||||
georgia-hand-hold (utils/make-anim "georgia/stand.png" [20 43] 0.2 (flatten [(repeat 3 0) 3 4]))
|
||||
georgia-talk (utils/make-anim "georgia/stand.png" [20 43] 0.2 (flatten [0 2 0 2 0 1 0 0 2]))
|
||||
georgia-kick (utils/make-anim-seq "georgia/kick" [40 43] 0.1 (flatten [(repeat 10 0) (repeat 7 1) (repeat 7 2)
|
||||
georgia-stand (utils/make-anim atlas "georgia/stand" [20 43] 0.2 (flatten [(repeat 20 0) 1 (repeat 10 0) 1]))
|
||||
georgia-hand-hold (utils/make-anim atlas "georgia/stand" [20 43] 0.2 (flatten [(repeat 3 0) 3 4]))
|
||||
georgia-talk (utils/make-anim atlas "georgia/stand" [20 43] 0.2 (flatten [0 2 0 2 0 1 0 0 2]))
|
||||
georgia-kick (utils/make-anim-seq atlas "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])
|
||||
frankie-fall (utils/make-anim-seq atlas "frankie-fall" [40 35] 0.1 (flatten [(range 8) (repeat 20 7) 8 9 10 11 7]))
|
||||
frankie-down (utils/make-anim-seq atlas "frankie-fall" [40 35] 0.1 [0])
|
||||
scaler (utils/scaler-fn-with-baseline 20 1.3 1.30)]
|
||||
(rooms/make :music :dream
|
||||
:sounds {:cloud (utils/load-sound "ending-castle/cloud.ogg")}
|
||||
:name "Ending"
|
||||
:interactions {}
|
||||
:layers [(assoc (utils/get-texture "ending-castle/ending-castle2-assets/background.png") :x 0 :y 0 :origin-x 0 :origin-y 0 :baseline 0)
|
||||
(assoc (utils/get-texture "ending-castle/ending-castle2-assets/foreground.png") :x 160 :y 0 :origin-x 165 :origin-y 5 :baseline 240 :parallax 1.4)]
|
||||
:layers [(assoc (utils/atlas->texture atlas "ending-castle2-assets/background") :x 0 :y 0 :origin-x 0 :origin-y 0 :baseline 0)
|
||||
(assoc (utils/atlas->texture atlas "ending-castle2-assets/foreground") :x 160 :y 0 :origin-x 165 :origin-y 5 :baseline 240 :parallax 1.4)]
|
||||
:apply-state (fn [screen e]
|
||||
(as-> e e
|
||||
(utils/play-sound! screen e :cloud (fn [e]
|
||||
@@ -70,14 +72,14 @@
|
||||
:stand georgia-stand
|
||||
:talk georgia-talk
|
||||
:kick georgia-kick
|
||||
:walk (utils/make-anim "georgia/walk.png" [20 43] 0.2 (range 8))
|
||||
:walk (utils/make-anim atlas "georgia/walk" [20 43] 0.2 (range 8))
|
||||
:hand-hold georgia-hand-hold
|
||||
:kick-sound (utils/load-sound "georgia/kick.ogg")
|
||||
:anim-sound-frames {georgia-kick {27 [:kick-sound (constantly 0.6)]}}
|
||||
:anim-merges {georgia-stand {:origin-x 10 :origin-y 1}
|
||||
:default {:origin-x 10 :origin-y 1}
|
||||
georgia-kick {:origin-x 19 :origin-y 0}}))
|
||||
:entities {:frankie (assoc (common/make-frankie screen)
|
||||
:entities {:frankie (assoc (common/make-frankie screen global-atlas)
|
||||
:x 28 :y 21 :baseline 200
|
||||
:fall frankie-fall
|
||||
:down frankie-down
|
||||
@@ -88,7 +90,7 @@
|
||||
: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 239})
|
||||
:gandarf (assoc (common/make-wizard screen global-atlas {:x 205 :y 400 :baseline 239})
|
||||
:update-fn (fn [screen entities gandarf]
|
||||
(assoc gandarf :y (or (get-in entities [:gandarf-cloud :y])
|
||||
(:y gandarf)))))
|
||||
@@ -119,22 +121,22 @@
|
||||
:scale-x 0.65
|
||||
:scale-y 0.65
|
||||
:scaled true)
|
||||
:crowd-left (assoc (utils/get-texture "ending-castle/crowd-left.png")
|
||||
:crowd-left (assoc (utils/atlas->texture atlas "crowd-left")
|
||||
:x 0 :y 0
|
||||
:scale-x 1.3
|
||||
:scale-y 1.3
|
||||
:baseline 239)
|
||||
:crowd-right (assoc (utils/get-texture "ending-castle/crowd-right.png")
|
||||
:crowd-right (assoc (utils/atlas->texture atlas "crowd-right")
|
||||
:x 196 :y 0
|
||||
:scale-x 1.3
|
||||
:scale-y 1.3
|
||||
:baseline 238)
|
||||
:guard-1 (assoc (utils/get-texture "ending-castle/guard-1.png")
|
||||
:guard-1 (assoc (utils/atlas->texture atlas "guard-1")
|
||||
:x 91 :y 73
|
||||
:scale-x 0.9
|
||||
:scale-y 0.9
|
||||
:baseline 140)
|
||||
:guard-2 (assoc (utils/get-texture "ending-castle/guard-2.png")
|
||||
:guard-2 (assoc (utils/atlas->texture atlas "guard-2")
|
||||
:x 182 :y 73
|
||||
:scale-x 0.9
|
||||
:scale-y 0.9
|
||||
|
||||
@@ -57,8 +57,9 @@
|
||||
(actions/talk entities who msg)))
|
||||
|
||||
(defn make [screen]
|
||||
(let [bloodclot-talk (utils/make-anim-seq "held/bloodclot-head" [114 82] 0.1 [0 1 2 1 0 3 3 0 1 2 1 0 3 4 5 6 5 3 3 1 2 1 3 3 3 3 3 0 0 0 7 8 7])
|
||||
bloodclot-stand (utils/make-anim-seq "held/bloodclot-head" [114 82] 0.1 (flatten [(repeat 15 0) 7 8 7]))]
|
||||
(let [[screen atlas] (utils/acquire-atlas screen "packed/held.atlas")
|
||||
bloodclot-talk (utils/make-anim-seq atlas "bloodclot-head" [114 82] 0.1 [0 1 2 1 0 3 3 0 1 2 1 0 3 4 5 6 5 3 3 1 2 1 3 3 3 3 3 0 0 0 7 8 7])
|
||||
bloodclot-stand (utils/make-anim-seq atlas "bloodclot-head" [114 82] 0.1 (flatten [(repeat 15 0) 7 8 7]))]
|
||||
(rooms/make :music :fight
|
||||
:name "Held"
|
||||
:interactions {:bloodclot {:box [182 42 270 196]
|
||||
@@ -81,8 +82,8 @@
|
||||
(actions/talk entities :bloodclot-head "Don't make me laugh, kid!")))
|
||||
}}
|
||||
:timers {:taunt [5.0 1.0 add-second]}
|
||||
:layers [(assoc (utils/get-texture "held/background.png") :x 0 :y 0 :baseline 0)
|
||||
(assoc (utils/get-texture "held/hand.png") :x 0 :y 0 :baseline 240)]
|
||||
:layers [(assoc (utils/atlas->texture atlas "background") :x 0 :y 0 :baseline 0)
|
||||
(assoc (utils/atlas->texture atlas "hand") :x 0 :y 0 :baseline 240)]
|
||||
:entities {:bloodclot-head (assoc (animation->texture screen bloodclot-stand)
|
||||
:x 211 :y 115 :baseline 240
|
||||
:origin-x 57 :origin-y 0
|
||||
|
||||
@@ -547,7 +547,7 @@
|
||||
:cursor :talk
|
||||
:x 257
|
||||
:y 135
|
||||
:baseline 0
|
||||
:baseline 1
|
||||
:night-profile :sprite
|
||||
:script (actions/get-script entities
|
||||
(actions/talk entities :ego "Let's see if this thing works.")
|
||||
|
||||
@@ -55,8 +55,9 @@
|
||||
|
||||
|
||||
(defn make [screen]
|
||||
(let [candle-flame (utils/make-anim "inside-stash/candle.png" [4 4] 0.1 (range 4))
|
||||
candle-aura (utils/make-anim "inside-house/candle-aura.png" [27 27] 0.2 [0 1 2 3 2 1] )
|
||||
(let [[screen atlas] (utils/acquire-atlas screen "packed/inside-stash.atlas")
|
||||
candle-flame (utils/make-anim atlas "candle" [4 4] 0.1 (range 4))
|
||||
candle-aura (utils/make-anim atlas "candle-aura" [27 27] 0.2 [0 1 2 3 2 1] )
|
||||
]
|
||||
(rooms/make :music {:day :secret-hideout :night :secret-hideout}
|
||||
:name "Inside stash"
|
||||
@@ -95,8 +96,8 @@
|
||||
(bust-chest entities))
|
||||
:key (actions/get-script entities
|
||||
(unlock-chest entities))}}}
|
||||
:layers [(assoc (utils/get-texture "inside-stash/background.png") :x 0 :y 0 :baseline 0 :night-profile :none)]
|
||||
:entities {:lid (assoc (utils/get-texture "inside-stash/lid.png")
|
||||
:layers [(assoc (utils/atlas->texture atlas "background") :x 0 :y 0 :baseline 0 :night-profile :none)]
|
||||
:entities {:lid (assoc (utils/atlas->texture atlas "lid")
|
||||
:x 156 :y 116 :baseline 125 :night-profile :none)
|
||||
:candle-flame (assoc (animation->texture screen candle-flame)
|
||||
:x 165 :y 135 :baseline 1
|
||||
|
||||
@@ -80,7 +80,7 @@
|
||||
(skip-type [this screen entities]
|
||||
:none)))
|
||||
|
||||
(defn swing-at-blergh [entities]
|
||||
(defn swing-at-blergh [entities atlas]
|
||||
(let [jump-path (bezier (map #(apply vector-2* %) [[35 45] [110 145] [195 180]]))
|
||||
swing-path (bezier (map #(apply vector-2* %) [[195 180] [205 45]]))
|
||||
jump-dist (utils/dist 35 45 205 45)
|
||||
@@ -94,7 +94,7 @@
|
||||
(utils/play-sound! screen entities :jump (constantly 0.9))
|
||||
|
||||
(-> entities
|
||||
(assoc-in [:room :entities :cloud] (assoc (utils/get-texture "space/cloud.png")
|
||||
(assoc-in [:room :entities :cloud] (assoc (utils/atlas->texture atlas "cloud")
|
||||
:x (- (get-in entities [:room :entities :ego :x]) 10)
|
||||
:y (get-in entities [:room :entities :ego :y])
|
||||
:origin-x 7
|
||||
@@ -183,13 +183,14 @@
|
||||
(* 0.3 (get-in entities [:room :entities :bloodclot :opacity])))
|
||||
|
||||
(defn make [screen]
|
||||
(let [bloodclot-head-talk-anim (utils/make-anim-seq "space/bloodclot-head-talk" [82 75] 0.05 [0 0 1 1 2 2 1 1 0 0 1 1 2 2 1 1 0 0 3 4 4 4 3 0 0 1 1 2 2 1 1 0 0 0 0 5 5 5 6 6 6 7 7 7])
|
||||
bloodclot-head-stand-anim (utils/make-anim-seq "space/bloodclot-head-talk" [82 75] 0.05 [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 4 3])
|
||||
bloodclot-head-shoot-anim (utils/make-anim-seq "space/bloodclot-head-talk" [82 75] 0.05 [8 9 8 9 8 9 8 9 8 9 8 9 8 9 8 9 8 9 8 9 10 11 10 11 10 11 10 11 10 11 10 11])
|
||||
bloodclot-head-keep-shoot-anim (utils/make-anim-seq "space/bloodclot-head-talk" [82 75] 0.05 [12 13])
|
||||
blergh-stand-anim (utils/make-anim "space/bloodclot-stand.png" [106 165] 0.9 [0 1])
|
||||
bloodclot-explode (utils/make-anim-seq "space/bloodclot-explode" [106 165] 0.075 [0 0 0 0 0 0 0 1 1 1 1 2 2 2 2 2 2 2 2 2 2 3 3 3 4 4 4 5 5 5 5 5 5 5 5 5 6 6 6 6 7 7 7 7 7 7 7 7 7 7 7 8 8 8 7 7 7 7 8 8 8 8 8 7 7 7 7 8 8 7 7 7 7 8 8 8 7 8 8 8 8 8 8 8 8 9 8 8 8 8 9 9 8 8 8 8 8 8 8 9 9 9 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 10 9 10 10 8 9 9 9 9 9 10 10 10 10 9 9 9 9 9 9 9 9 9 9 10 10 10 10 9 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 12 13 14 15 16 17 18 19 20 21 22])
|
||||
bullet (utils/make-anim "space/bullet.png" [24 24] 0.0075 [0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 3 3 3 4 4 5 5 6 5 4 7])
|
||||
(let [[screen atlas] (utils/acquire-atlas screen "packed/space.atlas")
|
||||
bloodclot-head-talk-anim (utils/make-anim-seq atlas "bloodclot-head-talk" [82 75] 0.05 [0 0 1 1 2 2 1 1 0 0 1 1 2 2 1 1 0 0 3 4 4 4 3 0 0 1 1 2 2 1 1 0 0 0 0 5 5 5 6 6 6 7 7 7])
|
||||
bloodclot-head-stand-anim (utils/make-anim-seq atlas "bloodclot-head-talk" [82 75] 0.05 [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 4 3])
|
||||
bloodclot-head-shoot-anim (utils/make-anim-seq atlas "bloodclot-head-talk" [82 75] 0.05 [8 9 8 9 8 9 8 9 8 9 8 9 8 9 8 9 8 9 8 9 10 11 10 11 10 11 10 11 10 11 10 11])
|
||||
bloodclot-head-keep-shoot-anim (utils/make-anim-seq atlas "bloodclot-head-talk" [82 75] 0.05 [12 13])
|
||||
blergh-stand-anim (utils/make-anim atlas "bloodclot-stand" [106 165] 0.9 [0 1])
|
||||
bloodclot-explode (utils/make-anim-seq atlas "bloodclot-explode" [106 165] 0.075 [0 0 0 0 0 0 0 1 1 1 1 2 2 2 2 2 2 2 2 2 2 3 3 3 4 4 4 5 5 5 5 5 5 5 5 5 6 6 6 6 7 7 7 7 7 7 7 7 7 7 7 8 8 8 7 7 7 7 8 8 8 8 8 7 7 7 7 8 8 7 7 7 7 8 8 8 7 8 8 8 8 8 8 8 8 9 8 8 8 8 9 9 8 8 8 8 8 8 8 9 9 9 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 10 9 10 10 8 9 9 9 9 9 10 10 10 10 9 9 9 9 9 9 9 9 9 9 10 10 10 10 9 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 12 13 14 15 16 17 18 19 20 21 22])
|
||||
bullet (utils/make-anim atlas "bullet" [24 24] 0.0075 [0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 3 3 3 4 4 5 5 6 5 4 7])
|
||||
effect (particle-effect "particles/appear")
|
||||
blowup-effect (particle-effect "particles/blowup")
|
||||
lightning-effect (particle-effect "particles/lightning")
|
||||
@@ -202,13 +203,13 @@
|
||||
:swing-sword (utils/load-sound "space/swingsword.ogg")}
|
||||
:interactions
|
||||
{}
|
||||
:layers [(assoc (utils/get-texture "space/background.png") :x 0 :y 0 :baseline 0)]
|
||||
:layers [(assoc (utils/atlas->texture atlas "background") :x 0 :y 0 :baseline 0)]
|
||||
:timers {:taunt [10.0 8.0 taunt]
|
||||
:shock [5.0 15.0 shock]}
|
||||
:entities {:appear (assoc effect
|
||||
:x 240 :y 50
|
||||
:baseline 200)
|
||||
:later (assoc (utils/get-texture "space/later.png")
|
||||
:later (assoc (utils/atlas->texture atlas "later")
|
||||
:x 0 :y 0
|
||||
:baseline 240
|
||||
:opacity 0.0)
|
||||
@@ -273,7 +274,7 @@
|
||||
(if (actions/has-item? entities :magic-slingshot)
|
||||
(if (get-in @entities [:state :broke-jewel?])
|
||||
(do
|
||||
(swing-at-blergh entities)
|
||||
(swing-at-blergh entities atlas)
|
||||
(actions/do-dialogue entities
|
||||
:bloodclot-head "Ha ha ha! Still a weakling, I see."
|
||||
:bloodclot-head "But you'll not best me!")
|
||||
@@ -286,7 +287,7 @@
|
||||
(actions/update-entity entities :ego (fn [e]
|
||||
(dissoc e :stand-override :talk-override)))
|
||||
(actions/update-entity entities :ego #(assoc % :get-script (:original-get-script %)))
|
||||
(swing-at-blergh entities)
|
||||
(swing-at-blergh entities atlas)
|
||||
(actions/do-dialogue entities :bloodclot-head "Ha ha ha! Is that the best you can do?"
|
||||
:bloodclot-head "Take this!")
|
||||
|
||||
@@ -338,7 +339,7 @@
|
||||
:bullet (assoc (animation->texture screen bullet)
|
||||
:x 37 :y 85 :baseline 241
|
||||
:walk bullet)
|
||||
:broken-jewel (assoc (utils/get-texture "space/broken-jewel.png")
|
||||
:broken-jewel (assoc (utils/atlas->texture atlas "broken-jewel")
|
||||
:x 225 :y 170 :baseline 240)
|
||||
:collision "space/collision.png"
|
||||
:scale-fn (constantly 1.5)
|
||||
|
||||
Reference in New Issue
Block a user