another candle.
This commit is contained in:
BIN
desktop/resources/inside-stash/candle.png
Normal file
BIN
desktop/resources/inside-stash/candle.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 1.2 KiB |
BIN
desktop/resources/inside-stash/candle.pxa/0.pxi
Normal file
BIN
desktop/resources/inside-stash/candle.pxa/0.pxi
Normal file
Binary file not shown.
BIN
desktop/resources/inside-stash/candle.pxa/1.pxi
Normal file
BIN
desktop/resources/inside-stash/candle.pxa/1.pxi
Normal file
Binary file not shown.
BIN
desktop/resources/inside-stash/candle.pxa/2.pxi
Normal file
BIN
desktop/resources/inside-stash/candle.pxa/2.pxi
Normal file
Binary file not shown.
BIN
desktop/resources/inside-stash/candle.pxa/3.pxi
Normal file
BIN
desktop/resources/inside-stash/candle.pxa/3.pxi
Normal file
Binary file not shown.
22
desktop/resources/inside-stash/candle.pxa/CelData.plist
Normal file
22
desktop/resources/inside-stash/candle.pxa/CelData.plist
Normal file
@@ -0,0 +1,22 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<array>
|
||||
<dict>
|
||||
<key>duration</key>
|
||||
<real>1</real>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>duration</key>
|
||||
<real>1</real>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>duration</key>
|
||||
<real>1</real>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>duration</key>
|
||||
<real>1</real>
|
||||
</dict>
|
||||
</array>
|
||||
</plist>
|
||||
@@ -26,7 +26,7 @@
|
||||
(if (= :main cursor)
|
||||
(:script entity)
|
||||
(when-let [scripts (:scripts entity)]
|
||||
(scripts (:value cursor)))))})))
|
||||
(or (scripts (:value cursor)) (scripts :default)))))})))
|
||||
(defn make [& {:keys [collision interactions entities] :as params}]
|
||||
(let [interactions-as-list (for [[id spec] interactions]
|
||||
(merge spec {:mouse-in? (fn [_ x y]
|
||||
@@ -35,7 +35,7 @@
|
||||
(if (= :main cursor)
|
||||
(:script spec)
|
||||
(when-let [scripts (:scripts spec)]
|
||||
(scripts (:value cursor)))))
|
||||
(or (scripts (:value cursor)) (scripts :default)))))
|
||||
:id id}))
|
||||
entities (into {} (for [[id entity] entities]
|
||||
[id (make-entity id entity)]))]
|
||||
|
||||
@@ -24,11 +24,11 @@
|
||||
(defn explore-chest [entities]
|
||||
(cond
|
||||
(actions/has-item? entities :slingshot)
|
||||
(do (actions/walk-to entities :ego [152 95])
|
||||
(do (actions/walk-to entities :ego [152 95] :face :right)
|
||||
(actions/talk entities :ego "It's empty now."))
|
||||
(get-in @entities [:state :broke-lock?])
|
||||
(do
|
||||
(actions/walk-to entities :ego [152 95])
|
||||
(actions/walk-to entities :ego [152 95] :face :right)
|
||||
(actions/talk entities :ego "Let's see what's inside now.")
|
||||
(actions/play-animation entities :ego :reach)
|
||||
(actions/do-dialogue entities
|
||||
@@ -40,7 +40,7 @@
|
||||
(actions/give entities :slingshot))
|
||||
:else
|
||||
(do
|
||||
(actions/walk-to entities :ego [152 95])
|
||||
(actions/walk-to entities :ego [152 95] :face :right)
|
||||
(actions/talk entities :ego "Maybe my stuff is in here...")
|
||||
(actions/play-animation entities :ego :reach)
|
||||
(actions/talk entities :ego "It's locked tight!"))))
|
||||
@@ -48,28 +48,54 @@
|
||||
|
||||
|
||||
(defn make [screen]
|
||||
(rooms/make :music {:day :secret-hideout :night :secret-hideout}
|
||||
:interactions
|
||||
{:left-dir {:box [91 60 125 140]
|
||||
(let [candle-flame (utils/make-anim "inside-stash/candle.png" [4 4] 0.1 (range 4))
|
||||
candle-aura (utils/make-anim (texture "inside-house/candle-aura.png") [27 27] 0.2 [0 1 2 3 2 1] )
|
||||
]
|
||||
(rooms/make :music {:day :secret-hideout :night :secret-hideout}
|
||||
:interactions
|
||||
{:left-dir {:box [91 60 125 140]
|
||||
:script (actions/get-script
|
||||
entities
|
||||
(actions/walk-straight-to entities :ego [118 96])
|
||||
(actions/transition-background entities :outside-jail [200 97])
|
||||
(actions/walk-straight-to entities :ego [167 100]))
|
||||
:cursor :left}
|
||||
:candle {:box [160 130 170 140]
|
||||
:script (actions/get-script
|
||||
entities
|
||||
(actions/walk-straight-to entities :ego [118 96])
|
||||
(actions/transition-background entities :outside-jail [200 97])
|
||||
(actions/walk-straight-to entities :ego [167 100]))
|
||||
:cursor :left}
|
||||
:chest {:box [151 107 180 124]
|
||||
:script (actions/get-script entities (explore-chest entities))
|
||||
:scripts {:sword (actions/get-script entities (actions/talk entities :ego "There's not enough room to swing my sword here."))
|
||||
:crowbar (actions/get-script entities
|
||||
(bust-chest entities))}}}
|
||||
:layers [(assoc (texture "inside-stash/background.png") :x 0 :y 0 :baseline 0 :night-profile :none)]
|
||||
:entities {:lid (assoc (texture "inside-stash/lid.png")
|
||||
:x 156 :y 116 :baseline 125 :night-profile :none)
|
||||
}
|
||||
:collision "inside-stash/collision.png"
|
||||
:scale-fn (utils/scaler-fn-with-baseline 110 0.10 1.00)
|
||||
:start-pos [143 96]
|
||||
:apply-state (fn [_ entities]
|
||||
(if (get-in entities [:state :broke-lock?])
|
||||
(update-in entities [:room :entities] #(dissoc % :lid))
|
||||
entities))))
|
||||
(actions/talk entities :ego "Just a candle."))
|
||||
:scripts {:note-1 (actions/get-script entities
|
||||
(actions/talk entities :ego "Why would I want to burn Gandarf's note?"))
|
||||
:note-2 (actions/get-script entities
|
||||
(actions/talk entities :ego "Why would I want to burn Gandarf's note?"))
|
||||
:recipe (actions/get-script entities
|
||||
(actions/walk-to entities :ego [152 95] :face :right)
|
||||
(actions/play-animation entities :ego :reach)
|
||||
(actions/remove-item entities :recipe)
|
||||
(actions/give entities :ash)
|
||||
(actions/talk entities :ego "It burned up into ash."))
|
||||
:default (actions/get-script entities
|
||||
(actions/talk entities :ego "Momma always told me not to play with fire."))}}
|
||||
:chest {:box [151 107 180 124]
|
||||
:script (actions/get-script entities (explore-chest entities))
|
||||
:scripts {:sword (actions/get-script entities (actions/talk entities :ego "There's not enough room to swing my sword here."))
|
||||
:crowbar (actions/get-script entities
|
||||
(bust-chest entities))}}}
|
||||
:layers [(assoc (texture "inside-stash/background.png") :x 0 :y 0 :baseline 0 :night-profile :none)]
|
||||
:entities {:lid (assoc (texture "inside-stash/lid.png")
|
||||
:x 156 :y 116 :baseline 125 :night-profile :none)
|
||||
:candle-flame (assoc (animation->texture screen candle-flame)
|
||||
:x 165 :y 135 :baseline 1
|
||||
:anim candle-flame
|
||||
:anim-start 0
|
||||
:night-profile :none)
|
||||
|
||||
:candle-aura (assoc (animation->texture screen candle-aura) :x 166 :y 138 :baseline 2 :additive? true :origin-x 13 :origin-y 13 :opacity 0.5 :anim candle-aura :anim-start 0 :night-profile :none)
|
||||
}
|
||||
:collision "inside-stash/collision.png"
|
||||
:scale-fn (utils/scaler-fn-with-baseline 110 0.10 1.00)
|
||||
:start-pos [143 96]
|
||||
:apply-state (fn [_ entities]
|
||||
(if (get-in entities [:state :broke-lock?])
|
||||
(update-in entities [:room :entities] #(dissoc % :lid))
|
||||
entities)))))
|
||||
|
||||
Reference in New Issue
Block a user