From 527c6eefe25c014fc734bc7fe5a8450bac707c6d Mon Sep 17 00:00:00 2001 From: Bryce Covert Date: Sun, 28 Dec 2014 12:54:38 -0800 Subject: [PATCH] made it so you can make the spell componoent. --- desktop/resources/cursor.png | Bin 7692 -> 7843 bytes desktop/src-common/advent/screens/items.clj | 27 +++++++++++++++--- desktop/src-common/advent/screens/rooms.clj | 2 +- .../advent/screens/rooms/outside_castle.clj | 11 ++++++- .../advent/screens/rooms/outside_house.clj | 4 +-- desktop/src-common/advent/utils.clj | 2 +- 6 files changed, 37 insertions(+), 9 deletions(-) diff --git a/desktop/resources/cursor.png b/desktop/resources/cursor.png index 13e09844c6acbb88a38a7e5550d934248bb25b46..32d9db4e4ec2e677792be3e3fa2a6ec7d253f200 100644 GIT binary patch delta 6763 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 diff --git a/desktop/src-common/advent/screens/items.clj b/desktop/src-common/advent/screens/items.clj index 940e8110..7919ea86 100644 --- a/desktop/src-common/advent/screens/items.clj +++ b/desktop/src-common/advent/screens/items.clj @@ -38,6 +38,23 @@ (actions/give entities :flask-water-ash) (actions/talk entities :ego "I added the ashes to the water."))) +(defn make-water-and-flies [] + (actions/get-script entities + (actions/remove-item entities :flask-water) + (actions/remove-item entities :flies) + (actions/give entities :flask-water-flies) + (actions/talk entities :ego "I put those flies in the flask."))) + +(defn make-flies-ash [] + (actions/get-script entities + (actions/remove-item entities :flask-water) + (actions/remove-item entities :flask-water-ash) + (actions/remove-item entities :flask-water-flies) + (actions/remove-item entities :ash) + (actions/remove-item entities :flies) + (actions/give entities :flask-flies-ash) + (actions/talk entities :ego "Now it's got the fountain water, flies, and the ashes in it."))) + (def items {:wool {:name "Wool" :value :wool :cursor :wool :scripts {:stick make-cat-toy}} :mushrooms {:name "Mushrooms" :value :mushrooms :cursor :mushrooms @@ -83,9 +100,11 @@ :rope {:name "Rope" :value :rope :cursor :rope} :crowbar {:name "Crowbar" :value :crowbar :cursor :crowbar} :flask-2 {:name "Flask" :value :flask-2 :cursor :flask} - :flask-water {:name "Water from fountain" :value :flask-water :cursor :flask :scripts {:ash (make-water-and-ash)}} - :flask-water-ash {:name "Water and ashes" :value :flask-water-ash :cursor :flask-with-contents} + :flask-water {:name "Water from fountain" :value :flask-water :cursor :flask :scripts {:ash (make-water-and-ash) :flies (make-water-and-flies)}} + :flask-water-ash {:name "Water and ashes" :value :flask-water-ash :cursor :flask-with-contents :scripts {:flies (make-flies-ash)}} + :flask-water-flies {:name "Water and flies" :value :flask-water-flies :cursor :flask-with-contents :scripts {:ash (make-flies-ash)}} + :flask-flies-ash {:name "Water, flies, and ash" :value :flask-flies-ash :cursor :flask-with-contents} :note-1 {:name "Note from Gandarf" :value :note-1 :cursor :note-1} - :ash {:name "Ashes" :value :ash :cursor :ash :scripts {:flask-water (make-water-and-ash)}} + :ash {:name "Ashes" :value :ash :cursor :ash :scripts {:flask-water (make-water-and-ash) :flask-water-flies (make-flies-ash)}} :sack-lunch {:name "Sack lunch" :value :sack-lunch :cursor :sack-lunch} - }) + :flies {:name "Flies" :value :flies :cursor :flies :scripts {:flask-water (make-water-and-flies) :flask-water-ash (make-flies-ash)}}}) diff --git a/desktop/src-common/advent/screens/rooms.clj b/desktop/src-common/advent/screens/rooms.clj index 176f29cd..efd90aa0 100644 --- a/desktop/src-common/advent/screens/rooms.clj +++ b/desktop/src-common/advent/screens/rooms.clj @@ -8,7 +8,7 @@ width (or width (.getRegionWidth region)) height (or height (.getRegionHeight region))] ((zone/box entity-x entity-y (+ entity-x (* width (or 1 scale-x))) (+ entity-y (* height (or scale-y 1)))) x y)))} - (when (:script entity) + (when (or (:scripts entity) (:script entity)) {:get-script (fn [cursor [x y]] (if (= :main cursor) (:script entity) diff --git a/desktop/src-common/advent/screens/rooms/outside_castle.clj b/desktop/src-common/advent/screens/rooms/outside_castle.clj index ea199869..47a41e8b 100644 --- a/desktop/src-common/advent/screens/rooms/outside_castle.clj +++ b/desktop/src-common/advent/screens/rooms/outside_castle.clj @@ -239,7 +239,16 @@ :y 175 :anim flies-stand :anim-start 0 - :baseline 240)} + :baseline 240 + :scripts {:sack-lunch (actions/get-script entities + (actions/walk-to entities :ego [168 150] :face :right) + (actions/talk entities :ego "Maybe I can catch some of these flies.") + (actions/remove-item entities :sack-lunch) + (actions/play-animation entities :ego :squat) + (actions/talk entities :ego "I think it's working!") + (actions/play-animation entities :ego :squat) + (actions/give entities :flies) + (actions/talk entities :ego "Hopefully they won't fly out of my backpack."))})} :collision "outside-castle/collision.png" :scale-fn (utils/scaler-fn-with-baseline 110 0.10 1.00) :start-pos [310 80] diff --git a/desktop/src-common/advent/screens/rooms/outside_house.clj b/desktop/src-common/advent/screens/rooms/outside_house.clj index 8acbc7c1..59235969 100644 --- a/desktop/src-common/advent/screens/rooms/outside_house.clj +++ b/desktop/src-common/advent/screens/rooms/outside_house.clj @@ -140,12 +140,12 @@ (actions/give entities :flask-2)))) (defn add-wizard-if-necessary [entities] - (if (actions/has-item? entities :flask-water) + (if (actions/has-obtained? entities :flask-water) entities (update-in entities [:room :entities] #(assoc % :wizard (get-in entities [:room :wizard]))))) (defn add-note-if-necessary [entities] - (if (and (actions/has-item? entities :flask-water) + (if (and (actions/has-obtained? entities :flask-water) (not (actions/has-obtained? entities :note-1))) (update-in entities [:room :entities] #(assoc % :note (get-in entities [:room :note]))) entities)) diff --git a/desktop/src-common/advent/utils.clj b/desktop/src-common/advent/utils.clj index 638b200e..48bff919 100644 --- a/desktop/src-common/advent/utils.clj +++ b/desktop/src-common/advent/utils.clj @@ -14,7 +14,7 @@ (let [{:keys [x y]} (input->screen screen {:x (:input-x screen) :y (:input-y screen)})] (println (:input-x screen) (:input-y screen) "->" x y))) -(def +all-cursors+ [:main :wool :mushrooms :carrot :right :down :left :up :flask :flask-with-contents :trophy :ladder :stick :cat-toy :balloon :frog-legs :teddy :portrait :recipe :glass-eye :motivational-tapes :used-earplugs :grass :slobber :flask-with-strength :medal :kiss :sword :hourglass :mandrake :ball-n-chain :key :rope :crowbar :note-1 :ash :sack-lunch]) +(def +all-cursors+ [:main :wool :mushrooms :carrot :right :down :left :up :flask :flask-with-contents :trophy :ladder :stick :cat-toy :balloon :frog-legs :teddy :portrait :recipe :glass-eye :motivational-tapes :used-earplugs :grass :slobber :flask-with-strength :medal :kiss :sword :hourglass :mandrake :ball-n-chain :key :rope :crowbar :note-1 :ash :sack-lunch :flies]) (defn cursor [filename which] (let [scale 2