diff --git a/desktop/resources/cursor.png b/desktop/resources/cursor.png index 782a841a..20ebbf60 100644 Binary files a/desktop/resources/cursor.png and b/desktop/resources/cursor.png differ diff --git a/desktop/resources/ego/grow.png b/desktop/resources/ego/grow.png index e107234b..c0e56787 100644 Binary files a/desktop/resources/ego/grow.png and b/desktop/resources/ego/grow.png differ diff --git a/desktop/resources/ego/grow.pxa/1.pxi b/desktop/resources/ego/grow.pxa/1.pxi index 787e225a..359bd30a 100644 Binary files a/desktop/resources/ego/grow.pxa/1.pxi and b/desktop/resources/ego/grow.pxa/1.pxi differ diff --git a/desktop/resources/ego/grow.pxa/2.pxi b/desktop/resources/ego/grow.pxa/2.pxi index eb2eefa8..787e225a 100644 Binary files a/desktop/resources/ego/grow.pxa/2.pxi and b/desktop/resources/ego/grow.pxa/2.pxi differ diff --git a/desktop/resources/ego/grow.pxa/3.pxi b/desktop/resources/ego/grow.pxa/3.pxi index 5caea141..eb2eefa8 100644 Binary files a/desktop/resources/ego/grow.pxa/3.pxi and b/desktop/resources/ego/grow.pxa/3.pxi differ diff --git a/desktop/resources/ego/grow.pxa/4.pxi b/desktop/resources/ego/grow.pxa/4.pxi new file mode 100644 index 00000000..5caea141 Binary files /dev/null and b/desktop/resources/ego/grow.pxa/4.pxi differ diff --git a/desktop/resources/ego/grow.pxa/CelData.plist b/desktop/resources/ego/grow.pxa/CelData.plist index f0b74d60..1ff35422 100644 --- a/desktop/resources/ego/grow.pxa/CelData.plist +++ b/desktop/resources/ego/grow.pxa/CelData.plist @@ -18,5 +18,9 @@ duration 1 + + duration + 1 + diff --git a/desktop/src-common/advent/screens/items.clj b/desktop/src-common/advent/screens/items.clj index 9e50a60b..5ceb29a1 100644 --- a/desktop/src-common/advent/screens/items.clj +++ b/desktop/src-common/advent/screens/items.clj @@ -70,3 +70,5 @@ (def flask-1-with-cream-of-mushroom {:name "Flask with cream of mushrooms soup" :value :flask-1-with-cream-of-mushroom :cursor :flask-with-contents :scripts {:slobber (make-strength-potion)}}) + +(def medal {:name "Medal of strength" :value :medal :cursor :medal}) diff --git a/desktop/src-common/advent/screens/rooms/inside_cafeteria.clj b/desktop/src-common/advent/screens/rooms/inside_cafeteria.clj index 37eb05af..0fac27b6 100644 --- a/desktop/src-common/advent/screens/rooms/inside_cafeteria.clj +++ b/desktop/src-common/advent/screens/rooms/inside_cafeteria.clj @@ -35,7 +35,21 @@ :warriors "Young esquire, thou art valiant in heart. " :warriors "Departeth henceforth and go hitherto, unto the gym.")} "I challenge you to a arm wrestling match to prove my strength." - {:run #(actions/respond entities % :warriors "[TODO] You lose.")} + {:run (fn [msg] + (actions/respond entities msg :warriors "Prepare thyself, thy task is not for the feint of heart") + (if ((set (get-in @entities [:state :inventory])) items/flask-1-strength) + (do + (actions/do-dialogue entities :ego "One sec.") + (actions/play-animation entities :ego :grow) + (actions/do-dialogue entities + :warriors "[Todo animation here]" + :warriors "Congratulations young master. Thou art worthy in might." + :warriors "Take my medal of strength.") + (actions/give entities items/medal)) + (do + (actions/do-dialogue entities + :warriors "[Todo animation here]" + :warriors "You lost, young master. Go hitherto, unto thy gym."))))} "Something else." {:choices actions/something-else}] } diff --git a/desktop/src-common/advent/screens/scene.clj b/desktop/src-common/advent/screens/scene.clj index 05925a38..b0def159 100644 --- a/desktop/src-common/advent/screens/scene.clj +++ b/desktop/src-common/advent/screens/scene.clj @@ -108,7 +108,7 @@ (texture (aget fire-sheet 0 i)))) fire-3-anim (animation 0.1 (for [i [0 1 2 2 2 2 3 2 3 2 2 2 4 5 6 7 2 2 2 8 9 10 11 2 2 2 2 2 2 2 2 0]] (texture (aget fire-sheet 0 i)))) - grow (animation 0.1 (for [i [0 2 0 0 0 0 2 0 0 0 2 2 0 0 0 1 1 0 0 1 0 0 1 0 1 0 1 0 1 0 1 0 1 2 1 2 1 2 1 2 1 3 2 3 2 3 2 3]] + grow (animation 0.1 (for [i [0 1 1 1 1 1 1 1 1 1 1 0 0 0 0 3 0 0 0 0 3 0 0 0 3 3 0 0 0 2 2 0 0 2 0 0 2 0 2 0 2 0 2 0 2 0 2 3 2 3 2 3 2 3 2 4 3 4 3 4 3 4]] (texture (aget grow-sheet 0 i)))) ego {:right {:walk walk-right :stand stand-anim @@ -153,7 +153,6 @@ items/flask-1-with-cream-of-mushroom (actions/get-script entities (actions/talk entities :ego "Blegh! Gross!")) items/flask-1-strength (actions/get-script entities (actions/talk entities :ego "I'll just take a sip!") - (actions/talk entities :ego "Woah! I feel something!!") (actions/play-animation entities :ego :grow :stop? false)) items/recipe (actions/get-script entities (actions/do-dialogue entities :ego "The recipe says:" @@ -227,7 +226,7 @@ :inside-fangald (make-music "inside-fangald.ogg")} :state {:object nil :active? true - :inventory [items/flask-1-strength] + :inventory [items/grass items/flask-1-strength] :clues #{} :mints-eaten 0} :actions {:object nil diff --git a/desktop/src-common/advent/utils.clj b/desktop/src-common/advent/utils.clj index 0a0d4fda..270d14b2 100644 --- a/desktop/src-common/advent/utils.clj +++ b/desktop/src-common/advent/utils.clj @@ -11,7 +11,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 :stool :stick :cat-toy :balloon :frog-legs :teddy :portrait :recipe :glass-eye :motivational-tapes :used-earplugs :grass :slobber :flask-with-strength]) +(def +all-cursors+ [:main :wool :mushrooms :carrot :right :down :left :up :flask :flask-with-contents :trophy :stool :stick :cat-toy :balloon :frog-legs :teddy :portrait :recipe :glass-eye :motivational-tapes :used-earplugs :grass :slobber :flask-with-strength :medal]) (defn cursor [filename which] (let [scale 2