diff --git a/desktop/asset-work/inside-antique/bowl.png b/desktop/asset-work/inside-antique/bowl.png index 94969b56..4c111635 100644 Binary files a/desktop/asset-work/inside-antique/bowl.png and b/desktop/asset-work/inside-antique/bowl.png differ diff --git a/desktop/resources/packed/pack.atlas b/desktop/resources/packed/pack.atlas index af094d2a..c7b9539a 100644 --- a/desktop/resources/packed/pack.atlas +++ b/desktop/resources/packed/pack.atlas @@ -48,7 +48,7 @@ black index: -1 butterfly rotate: false - xy: 481, 13 + xy: 1106, 844 size: 14, 7 orig: 14, 7 offset: 0, 0 @@ -179,21 +179,7 @@ cat-tree/dot orig: 1, 1 offset: 0, 0 index: -1 -wizard/dot - rotate: false - xy: 704, 916 - size: 1, 1 - orig: 1, 1 - offset: 0, 0 - index: -1 -ego/dot - rotate: false - xy: 704, 916 - size: 1, 1 - orig: 1, 1 - offset: 0, 0 - index: -1 -inside-house/dot +dream/dot rotate: false xy: 704, 916 size: 1, 1 @@ -214,13 +200,6 @@ inside-antique/dot orig: 1, 1 offset: 0, 0 index: -1 -dream/dot - rotate: false - xy: 704, 916 - size: 1, 1 - orig: 1, 1 - offset: 0, 0 - index: -1 inside-jail/dot rotate: false xy: 704, 916 @@ -235,6 +214,27 @@ title/dot orig: 1, 1 offset: 0, 0 index: -1 +ego/dot + rotate: false + xy: 704, 916 + size: 1, 1 + orig: 1, 1 + offset: 0, 0 + index: -1 +wizard/dot + rotate: false + xy: 704, 916 + size: 1, 1 + orig: 1, 1 + offset: 0, 0 + index: -1 +inside-house/dot + rotate: false + xy: 704, 916 + size: 1, 1 + orig: 1, 1 + offset: 0, 0 + index: -1 cat-tree/grandma rotate: false xy: 1228, 839 @@ -615,21 +615,21 @@ held/bloodclot-head-1 index: -1 held/dot rotate: false - xy: 707, 916 - size: 1, 1 - orig: 1, 1 - offset: 0, 0 - index: -1 -outside-jail/dot - rotate: false - xy: 707, 916 + xy: 1992, 1733 size: 1, 1 orig: 1, 1 offset: 0, 0 index: -1 space/dot rotate: false - xy: 707, 916 + xy: 1992, 1733 + size: 1, 1 + orig: 1, 1 + offset: 0, 0 + index: -1 +outside-jail/dot + rotate: false + xy: 1992, 1733 size: 1, 1 orig: 1, 1 offset: 0, 0 @@ -657,9 +657,37 @@ inside-antique/beard index: -1 inside-antique/bowl rotate: false - xy: 1842, 1488 - size: 12, 7 - orig: 12, 7 + xy: 1944, 1733 + size: 14, 13 + orig: 14, 13 + offset: 0, 0 + index: -1 +inside-antique/bowl-0 + rotate: false + xy: 1944, 1733 + size: 14, 13 + orig: 14, 13 + offset: 0, 0 + index: -1 +inside-antique/bowl-1 + rotate: false + xy: 1960, 1733 + size: 14, 13 + orig: 14, 13 + offset: 0, 0 + index: -1 +inside-antique/bowl-2 + rotate: false + xy: 1976, 1733 + size: 14, 13 + orig: 14, 13 + offset: 0, 0 + index: -1 +inside-antique/bowl-3 + rotate: false + xy: 481, 7 + size: 14, 13 + orig: 14, 13 offset: 0, 0 index: -1 inside-antique/shopkeep @@ -1266,7 +1294,7 @@ wizard/disappear index: -1 wizard/flame rotate: false - xy: 1106, 841 + xy: 1992, 1736 size: 5, 10 orig: 5, 10 offset: 0, 0 diff --git a/desktop/resources/packed/pack.png b/desktop/resources/packed/pack.png index 5b0350f3..b65a06c9 100644 Binary files a/desktop/resources/packed/pack.png and b/desktop/resources/packed/pack.png differ diff --git a/desktop/src-common/advent/screens/rooms/inside_antique.clj b/desktop/src-common/advent/screens/rooms/inside_antique.clj index 6eb5169d..65cf5457 100644 --- a/desktop/src-common/advent/screens/rooms/inside_antique.clj +++ b/desktop/src-common/advent/screens/rooms/inside_antique.clj @@ -366,6 +366,10 @@ :baseline 240) (particle-effect! :set-position 162 104)) :bowl (assoc (utils/get-texture "inside-antique/bowl.png") + :images [(utils/get-texture "inside-antique/bowl-0.png") + (utils/get-texture "inside-antique/bowl-1.png") + (utils/get-texture "inside-antique/bowl-2.png") + (utils/get-texture "inside-antique/bowl-3.png")] :x 165 :y 110 :baseline 125 @@ -385,6 +389,15 @@ (actions/talk entities :ego "I'll just try another one of these mints.")) (actions/play-animation entities :ego :reach) (actions/update-state entities (fn [s] (assoc s :mints-eaten (inc (s :mints-eaten))))) + (actions/update-entities entities + (fn [entities] + (update-in entities + [:room :entities :bowl] + (fn [b] + (merge b + (get-in b [:images (- 3 + (get-in entities [:state :mints-eaten] 0))]) + ))))) (actions/play-sound entities (keyword (str "fire-" (get-in @entities [:state :mints-eaten]))) 0.8) (cond @@ -412,16 +425,22 @@ :teddy (rooms/make-entity :teddy teddy) :collision "inside-antique/collision.png" :apply-state (fn [_ entities] - (as-> entities entities - (if (or (actions/has-item? entities :teddy) - (actions/has-obtained? entities :balloon)) - (update-in entities [:room :entities] #(dissoc % :teddy)) - entities) - - (if (actions/has-item? entities :portrait ) - entities - (assoc-in entities [:room :entities :portrait] (get-in entities [:room :portrait]))) - (choose-correct-blind-state entities) - )) + (let [mints-eaten (get-in entities [:state :mints-eaten] 0)] + (as-> entities entities + (if (or (actions/has-item? entities :teddy) + (actions/has-obtained? entities :balloon)) + (update-in entities [:room :entities] #(dissoc % :teddy)) + entities) + + (update-in entities + [:room :entities :bowl] + (fn [b] + (merge b (get-in b [:images (- 3 mints-eaten)])))) + + (if (actions/has-item? entities :portrait ) + entities + (assoc-in entities [:room :entities :portrait] (get-in entities [:room :portrait]))) + (choose-correct-blind-state entities) + ))) :scale-fn (utils/scaler-fn-with-baseline 110 0.10 1.75) :start-pos [222 3])))