made a squatting animation
This commit is contained in:
@@ -33,6 +33,7 @@
|
||||
(actions/talk entities :ego "I've already got a junk ton of mushrooms.")
|
||||
(do
|
||||
(actions/walk-to entities :ego [242 75])
|
||||
(actions/play-animation entities :ego :squat)
|
||||
(actions/give entities items/mushrooms)
|
||||
(actions/talk entities :ego "Perfectly ripe mushrooms!"))))}
|
||||
:window {:box [103 44 130 140]
|
||||
|
||||
@@ -36,7 +36,9 @@
|
||||
(actions/talk entities :ego "If I steal any more, I might get caught.")
|
||||
(do
|
||||
(actions/walk-to entities :ego [128 180])
|
||||
(actions/talk entities :ego "Hey! Carrots. No one will notice one missing.")
|
||||
(actions/talk entities :ego "Hey! Carrots.")
|
||||
(actions/play-animation entities :ego :squat)
|
||||
(actions/talk entities :ego "No one will notice one missing.")
|
||||
(actions/give entities items/carrot))))}
|
||||
:peddler {:box [110 90 128 146]
|
||||
:script (actions/get-script
|
||||
|
||||
@@ -47,7 +47,6 @@
|
||||
(let [{:keys [x y]} (input->screen screen {:x (:input-x screen) :y (:input-y screen)})]
|
||||
(if ((:mouse-in? (:inventory entities)) x y)
|
||||
(open-inventory screen entities)
|
||||
|
||||
(let [interaction (first (filter #((:mouse-in? %) entities x y)
|
||||
(get-in entities [:room :interactions])))
|
||||
interacting-entity (first (filter #(and (:mouse-in? %)
|
||||
@@ -79,24 +78,38 @@
|
||||
(let [player-sheet (texture! (texture "player.png") :split 18 36)
|
||||
talk-sheet (texture! (texture "ego/talk.png") :split 18 36)
|
||||
stand-sheet (texture! (texture "ego/stand.png") :split 18 36)
|
||||
squat-sheet (texture! (texture "ego/squat.png") :split 18 36)
|
||||
walk-right (animation 0.075 (for [i (range 8)]
|
||||
(texture (aget player-sheet 0 i))))
|
||||
stand-anim (animation 0.1 (for [i (flatten [(repeat 6 [(repeat 10 0) (repeat 3 1) (repeat 20 0)]) 3 4 5 5 5 6 5 6 5 6 5 4 3 ])]
|
||||
(texture (aget stand-sheet 0 i))))
|
||||
talk-anim (animation 0.2 (for [i (range 8)]
|
||||
(texture (aget talk-sheet 0 i))))
|
||||
squat-anim (animation 0.05 (for [i [0 1 2 3 3 3 3 3 3 3 3 3 3 3 3 2 1] ]
|
||||
(texture (aget squat-sheet 0 i))))
|
||||
ego {:right {:walk walk-right
|
||||
:stand stand-anim
|
||||
:talk talk-anim}
|
||||
:talk talk-anim
|
||||
:squat squat-anim}
|
||||
:left {:walk (utils/flip walk-right)
|
||||
:stand (utils/flip stand-anim)
|
||||
:talk (utils/flip talk-anim)}
|
||||
:talk (utils/flip talk-anim)
|
||||
:squat (utils/flip squat-anim)}
|
||||
:baseline 95
|
||||
:facing :right
|
||||
:origin-x 9
|
||||
:origin-y 0
|
||||
:scaled true
|
||||
|
||||
:mouse-in? (fn [entities x y]
|
||||
(let [{entity-x :x entity-y :y region :object} (get-in entities [:room :entities :ego])
|
||||
width (.getRegionWidth region)
|
||||
height (.getRegionHeight region)]
|
||||
|
||||
((zone/box entity-x entity-y (+ entity-x width) (+ entity-y height)) x y)))
|
||||
:get-script (fn [cursor [x y]]
|
||||
(case cursor
|
||||
items/flask-with-cream-of-mushroom (actions/get-script entities (actions/talk entities :ego "Yuck. I filled it with backwash."))))
|
||||
:x 150 :y 95
|
||||
:id "ego"}]
|
||||
(actions/start-animation screen
|
||||
|
||||
Reference in New Issue
Block a user