working on fight.

This commit is contained in:
Bryce Covert
2018-01-23 20:12:55 -08:00
parent dc35617281
commit 2257276b97
27 changed files with 434 additions and 325 deletions

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 685 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 649 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 523 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 KiB

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 KiB

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

View File

@@ -2,7 +2,7 @@
(def packs (into ["do"] (def packs (into ["do"]
(mapcat (fn [directory] (mapcat (fn [directory]
["run" "-m" "com.badlogic.gdx.tools.texturepacker.TexturePacker" (str "asset-work/" directory) "resources/packed/" (str directory ",")]) ["run" "-m" "com.badlogic.gdx.tools.texturepacker.TexturePacker" (str "asset-work/" directory) "resources/packed/" (str directory ",")])
["tongue-fight" ] ["tongue-fight", "global" ]
#_["behindhouse" "dream" "georgia" "inside-cafeteria" "inside-jail" "outsidehouse" "safe-song" "title" #_["behindhouse" "dream" "georgia" "inside-cafeteria" "inside-jail" "outsidehouse" "safe-song" "title"
"castle-gate" "ego" "held" "inside-castle" "inside-stash" "outside-castle" "screenshots" "wizard" "castle-gate" "ego" "held" "inside-castle" "inside-stash" "outside-castle" "screenshots" "wizard"
"cat-tree" "ending-castle" "inside-antique" "inside-house" "outside-jail" "space" ]))) "cat-tree" "ending-castle" "inside-antique" "inside-house" "outside-jail" "space" ])))
@@ -49,7 +49,7 @@
[slamhound "1.5.5"] [slamhound "1.5.5"]
[org.clojure/data.csv "0.1.3"]] [org.clojure/data.csv "0.1.3"]]
:warn-on-reflection true} #_#_:warn-on-reflection true}
:mobile-dev { :mobile-dev {
:source-paths ["src" "src-common" "src-dev"] :source-paths ["src" "src-common" "src-dev"]
:jvm-opts ["-Duse-repl=true" "-Dui_scale=1.5" "-Dno-steam=true" "-Dclojure.compiler.direct-linking=true" "-Dis-desktop=true" "-Dplatform=desktop"] :jvm-opts ["-Duse-repl=true" "-Dui_scale=1.5" "-Dno-steam=true" "-Dclojure.compiler.direct-linking=true" "-Dis-desktop=true" "-Dplatform=desktop"]

File diff suppressed because it is too large Load Diff

Binary file not shown.

Before

Width:  |  Height:  |  Size: 184 KiB

After

Width:  |  Height:  |  Size: 178 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 16 KiB

After

Width:  |  Height:  |  Size: 18 KiB

View File

@@ -13,56 +13,56 @@ background
index: -1 index: -1
hair-0 hair-0
rotate: false rotate: false
xy: 735, 366 xy: 687, 72
size: 7, 8 size: 7, 8
orig: 7, 8 orig: 7, 8
offset: 0, 0 offset: 0, 0
index: 0 index: 0
hair-0 hair-0
rotate: false rotate: false
xy: 839, 404 xy: 114, 113
size: 7, 8 size: 7, 8
orig: 7, 8 orig: 7, 8
offset: 0, 0 offset: 0, 0
index: 1 index: 1
hair-0 hair-0
rotate: false rotate: false
xy: 853, 434 xy: 53, 45
size: 7, 8 size: 7, 8
orig: 7, 8 orig: 7, 8
offset: 0, 0 offset: 0, 0
index: 2 index: 2
hair-0 hair-0
rotate: false rotate: false
xy: 888, 472 xy: 791, 96
size: 7, 8 size: 7, 8
orig: 7, 8 orig: 7, 8
offset: 0, 0 offset: 0, 0
index: 3 index: 3
hair-0 hair-0
rotate: false rotate: false
xy: 902, 502 xy: 831, 140
size: 7, 8 size: 7, 8
orig: 7, 8 orig: 7, 8
offset: 0, 0 offset: 0, 0
index: 4 index: 4
hair-1 hair-1
rotate: false rotate: false
xy: 276, 226 xy: 2, 11
size: 23, 16 size: 23, 16
orig: 23, 16 orig: 23, 16
offset: 0, 0 offset: 0, 0
index: 0 index: 0
hair-1 hair-1
rotate: false rotate: false
xy: 2, 11 xy: 28, 37
size: 23, 16 size: 23, 16
orig: 23, 16 orig: 23, 16
offset: 0, 0 offset: 0, 0
index: 1 index: 1
hair-1 hair-1
rotate: false rotate: false
xy: 51, 79 xy: 791, 106
size: 23, 16 size: 23, 16
orig: 23, 16 orig: 23, 16
offset: 0, 0 offset: 0, 0
@@ -76,98 +76,98 @@ hair-2
index: 0 index: 0
hair-2 hair-2
rotate: false rotate: false
xy: 324, 297 xy: 791, 150
size: 47, 66 size: 47, 66
orig: 47, 66 orig: 47, 66
offset: 0, 0 offset: 0, 0
index: 1 index: 1
hair-2 hair-2
rotate: false rotate: false
xy: 839, 444 xy: 51, 55
size: 47, 66 size: 47, 66
orig: 47, 66 orig: 47, 66
offset: 0, 0 offset: 0, 0
index: 2 index: 2
hair-3 hair-3
rotate: false rotate: false
xy: 276, 216 xy: 1009, 452
size: 7, 8 size: 7, 8
orig: 7, 8 orig: 7, 8
offset: 0, 0 offset: 0, 0
index: 0 index: 0
hair-3 hair-3
rotate: false rotate: false
xy: 51, 69 xy: 840, 166
size: 7, 8 size: 7, 8
orig: 7, 8 orig: 7, 8
offset: 0, 0 offset: 0, 0
index: 1 index: 1
hair-3 hair-3
rotate: false rotate: false
xy: 42, 45 xy: 854, 196
size: 7, 8 size: 7, 8
orig: 7, 8 orig: 7, 8
offset: 0, 0 offset: 0, 0
index: 2 index: 2
hair-4 hair-4
rotate: false rotate: false
xy: 373, 335 xy: 1009, 482
size: 12, 28 size: 12, 28
orig: 12, 28 orig: 12, 28
offset: 0, 0 offset: 0, 0
index: 0 index: 0
hair-4 hair-4
rotate: false rotate: false
xy: 839, 414 xy: 840, 188
size: 12, 28 size: 12, 28
orig: 12, 28 orig: 12, 28
offset: 0, 0 offset: 0, 0
index: 1 index: 1
hair-4 hair-4
rotate: false rotate: false
xy: 888, 482 xy: 100, 93
size: 12, 28 size: 12, 28
orig: 12, 28 orig: 12, 28
offset: 0, 0 offset: 0, 0
index: 2 index: 2
hair-5 hair-5
rotate: false rotate: false
xy: 350, 285 xy: 840, 176
size: 8, 10 size: 8, 10
orig: 8, 10 orig: 8, 10
offset: 0, 0 offset: 0, 0
index: 0 index: 0
hair-5 hair-5
rotate: false rotate: false
xy: 373, 323 xy: 854, 206
size: 8, 10 size: 8, 10
orig: 8, 10 orig: 8, 10
offset: 0, 0 offset: 0, 0
index: 1 index: 1
hair-5 hair-5
rotate: false rotate: false
xy: 387, 353 xy: 100, 81
size: 8, 10 size: 8, 10
orig: 8, 10 orig: 8, 10
offset: 0, 0 offset: 0, 0
index: 2 index: 2
hair-6 hair-6
rotate: false rotate: false
xy: 350, 277 xy: 1018, 454
size: 4, 6 size: 4, 6
orig: 4, 6 orig: 4, 6
offset: 0, 0 offset: 0, 0
index: 0 index: 0
hair-6 hair-6
rotate: false rotate: false
xy: 360, 289 xy: 1018, 446
size: 4, 6 size: 4, 6
orig: 4, 6 orig: 4, 6
offset: 0, 0 offset: 0, 0
index: 1 index: 1
hair-6 hair-6
rotate: false rotate: false
xy: 373, 315 xy: 28, 29
size: 4, 6 size: 4, 6
orig: 4, 6 orig: 4, 6
offset: 0, 0 offset: 0, 0
@@ -202,14 +202,14 @@ hair-8
index: 0 index: 0
hair-8 hair-8
rotate: false rotate: false
xy: 324, 263 xy: 316, 254
size: 6, 6 size: 6, 6
orig: 6, 6 orig: 6, 6
offset: 0, 0 offset: 0, 0
index: 1 index: 1
hair-8 hair-8
rotate: false rotate: false
xy: 91, 115 xy: 316, 246
size: 6, 6 size: 6, 6
orig: 6, 6 orig: 6, 6
offset: 0, 0 offset: 0, 0
@@ -223,14 +223,14 @@ hair-9
index: 0 index: 0
hair-9 hair-9
rotate: false rotate: false
xy: 28, 35 xy: 817, 130
size: 12, 18 size: 12, 18
orig: 12, 18 orig: 12, 18
offset: 0, 0 offset: 0, 0
index: 1 index: 1
hair-9 hair-9
rotate: false rotate: false
xy: 77, 103 xy: 1009, 462
size: 12, 18 size: 12, 18
orig: 12, 18 orig: 12, 18
offset: 0, 0 offset: 0, 0
@@ -244,67 +244,137 @@ heart
index: 0 index: 0
heart heart
rotate: false rotate: false
xy: 2, 29 xy: 276, 218
size: 24, 24 size: 24, 24
orig: 24, 24 orig: 24, 24
offset: 0, 0 offset: 0, 0
index: 1 index: 1
heart heart
rotate: false rotate: false
xy: 51, 97 xy: 2, 29
size: 24, 24 size: 24, 24
orig: 24, 24 orig: 24, 24
offset: 0, 0 offset: 0, 0
index: 2 index: 2
heart heart
rotate: false rotate: false
xy: 324, 271 xy: 791, 124
size: 24, 24 size: 24, 24
orig: 24, 24 orig: 24, 24
offset: 0, 0 offset: 0, 0
index: 3 index: 3
tongue-attack tongue-attack
rotate: false rotate: false
xy: 2, 123 xy: 461, 218
size: 135, 145 size: 135, 145
orig: 135, 145 orig: 135, 145
offset: 0, 0 offset: 0, 0
index: 0 index: 0
tongue-attack tongue-attack
rotate: false
xy: 598, 218
size: 135, 145
orig: 135, 145
offset: 0, 0
index: 1
tongue-attack
rotate: false
xy: 735, 218
size: 135, 145
orig: 135, 145
offset: 0, 0
index: 2
tongue-attack-hit
rotate: false
xy: 2, 123
size: 135, 145
orig: 135, 145
offset: 0, 0
index: 0
tongue-attack-hit
rotate: false rotate: false
xy: 324, 365 xy: 324, 365
size: 135, 145 size: 135, 145
orig: 135, 145 orig: 135, 145
offset: 0, 0 offset: 0, 0
index: 1 index: 1
tongue-attack tongue-attack-hit
rotate: false rotate: false
xy: 139, 123 xy: 139, 123
size: 135, 145 size: 135, 145
orig: 135, 145 orig: 135, 145
offset: 0, 0 offset: 0, 0
index: 2 index: 2
tongue-attack-hit
rotate: false
xy: 461, 365
size: 135, 145
orig: 135, 145
offset: 0, 0
index: 3
tongue-attack-hit
rotate: false
xy: 598, 365
size: 135, 145
orig: 135, 145
offset: 0, 0
index: 4
tongue-attack-hit
rotate: false
xy: 735, 365
size: 135, 145
orig: 135, 145
offset: 0, 0
index: 5
tongue-attack-hit
rotate: false
xy: 872, 365
size: 135, 145
orig: 135, 145
offset: 0, 0
index: 6
tongue-attack-hit
rotate: false
xy: 324, 218
size: 135, 145
orig: 135, 145
offset: 0, 0
index: 7
tongue-idle tongue-idle
rotate: false rotate: false
xy: 735, 376 xy: 687, 82
size: 102, 134 size: 102, 134
orig: 102, 134 orig: 102, 134
offset: 0, 0 offset: 0, 0
index: 0 index: 0
tongue-windup tongue-windup
rotate: false rotate: false
xy: 461, 365 xy: 872, 218
size: 135, 145 size: 135, 145
orig: 135, 145 orig: 135, 145
offset: 0, 0 offset: 0, 0
index: 0 index: 0
tongue-windup tongue-windup
rotate: false rotate: false
xy: 598, 365 xy: 276, 71
size: 135, 145 size: 135, 145
orig: 135, 145 orig: 135, 145
offset: 0, 0 offset: 0, 0
index: 1 index: 1
tongue-windup
rotate: false
xy: 413, 71
size: 135, 145
orig: 135, 145
offset: 0, 0
index: 2
tongue-windup
rotate: false
xy: 550, 71
size: 135, 145
orig: 135, 145
offset: 0, 0
index: 3
tongue-fight2.png tongue-fight2.png
size: 1024,256 size: 1024,256

Binary file not shown.

Before

Width:  |  Height:  |  Size: 32 KiB

After

Width:  |  Height:  |  Size: 40 KiB

View File

@@ -17,6 +17,7 @@
[play-clj.g2d :refer :all])) [play-clj.g2d :refer :all]))
(println "loading " *ns*) (println "loading " *ns*)
(defn cause-damage [entities is-player-wound?] (defn cause-damage [entities is-player-wound?]
(if is-player-wound? (if is-player-wound?
(update-in entities [:room :ego-hearts] dec) (update-in entities [:room :ego-hearts] dec)
@@ -84,6 +85,7 @@
tongue-finished?) tongue-finished?)
(-> entities (-> entities
(update-in [:room :entities :tongue] #(actions/start-animation screen % :idle)) (update-in [:room :entities :tongue] #(actions/start-animation screen % :idle))
(update-in [:room :entities :ego] #(actions/start-animation screen % :tongue-idle))
(update-in [:room :entities :tongue] assoc :state :idle :started (:total-time screen)) (update-in [:room :entities :tongue] assoc :state :idle :started (:total-time screen))
(update-in [:room :entities :heart] #(actions/start-animation screen % :idle))) (update-in [:room :entities :heart] #(actions/start-animation screen % :idle)))
@@ -94,11 +96,13 @@
ego-finished?)) ego-finished?))
(-> entities (-> entities
(update-in [:room :entities :tongue] #(actions/start-animation screen % :attack)) (update-in [:room :entities :tongue] #(if is-player-wound?
(update-in [:room :entities :tongue] assoc :state :attack :started (:total-time screen)) (actions/start-animation screen % :attack-hit)
(actions/start-animation screen % :attack)))
(update-in [:room :entities :tongue] assoc :state :attack :started (:total-time screen) )
(update-in [:room :entities :ego] #(if is-player-wound? (update-in [:room :entities :ego] #(if is-player-wound?
(actions/start-animation screen % :tongue-swing) (actions/start-animation screen % :tongue-swing)
%)) (actions/start-animation screen % :tongue-hit)))
(show-heart screen is-player-wound?)) (show-heart screen is-player-wound?))
(and (= state :idle) (and (= state :idle)
@@ -140,8 +144,9 @@
heart (utils/make-anim-seq atlas "heart" [24 24] 0.08 [3]) heart (utils/make-anim-seq atlas "heart" [24 24] 0.08 [3])
beat (utils/make-anim-seq atlas "heart" [24 24] 0.08 [0 1 0 2 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3]) beat (utils/make-anim-seq atlas "heart" [24 24] 0.08 [0 1 0 2 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3])
tongue-idle (utils/make-anim-seq atlas "tongue-idle/tongue-idle" [135 145] 0.16 (range 5)) tongue-idle (utils/make-anim-seq atlas "tongue-idle/tongue-idle" [135 145] 0.16 (range 5))
tongue-windup (utils/make-anim-seq atlas "tongue-windup" [135 145] 0.16 [0 1 0 1 0 1 0 ]) tongue-windup (utils/make-anim-seq atlas "tongue-windup" [135 145] 0.16 [0 1 2 3 2 1 2 3 2 1 0 ])
tongue-attack (utils/make-anim-seq atlas "tongue-attack" [135 145] 0.08 [0 1 2 2 2 2 2 2 2 2 2 2])] tongue-attack (utils/make-anim-seq atlas "tongue-attack" [135 145] 0.08 [0 1 2 2 2 2 2 2 2 2 2 2])
tongue-attack-hit (utils/make-anim-seq atlas "tongue-attack-hit" [135 145] 0.1 (range 7))]
(rooms/make :name "Tongue Fight" (rooms/make :name "Tongue Fight"
@@ -244,21 +249,22 @@
:beat beat :beat beat
:anim-start 0) :anim-start 0)
:tongue (assoc (animation->texture screen tongue-idle) :tongue (assoc (animation->texture screen tongue-idle)
:x 186 :x 211
:y 65 :y 40
:origin-x 23 :origin-x 23
:origin-y 10 :origin-y 10
:width 135 :width 135
:height 145 :height 145
:baseline 2 :baseline 4
:anim tongue-idle :anim tongue-idle
:windup tongue-windup :windup tongue-windup
:idle tongue-idle :idle tongue-idle
:attack tongue-attack :attack tongue-attack
:attack-hit tongue-attack-hit
:anim-merges {tongue-idle {:origin-x 23 :origin-y 10} :anim-merges {tongue-idle {:origin-x 23 :origin-y 10}
tongue-windup {:origin-x 23 :origin-y 10} tongue-windup {:origin-x 23 :origin-y 10}
tongue-attack {:origin-x 119 :origin-y 10} tongue-attack {:origin-x 119 :origin-y 10}
} tongue-attack-hit {:origin-x 100 :origin-y 10}}
:anim-start 0 :anim-start 0
:state :idle :state :idle
:script (actions/get-script :script (actions/get-script
@@ -272,6 +278,7 @@
(-> e (-> e
(update-in [:room :entities :ego] #(actions/start-animation screen % :tongue-idle)) (update-in [:room :entities :ego] #(actions/start-animation screen % :tongue-idle))
(assoc-in [:room :entities :ego :stand-override] :tongue-idle) (assoc-in [:room :entities :ego :stand-override] :tongue-idle)
(assoc-in [:room :entities :ego :baseline] 3)
(assoc-in [:room :entities :ego :x] 141) (assoc-in [:room :entities :ego :x] 141)
(assoc-in [:room :entities :ego :y] 110)))))) (assoc-in [:room :entities :ego :y] 110))))))

View File

@@ -519,8 +519,9 @@
love (utils/make-anim-seq global-atlas "ego/love" [50 70] 0.1 (flatten [0 0 1 1 2 2 3 3 4 4 5 5 6 6 (repeat 10 7) (repeat 5 8) (repeat 5 7) (repeat 5 8) (repeat 5 7) (repeat 10 [23 24 25 24]) (repeat 30 9) 10 11 12 13 14 15 16 17 18 19 20 21 21 21 22 22 22 21 21 21 21 21 21 21 21 22 22 22 22 22 21 21 21 21 22 22 22 22 22 22 21 21 21 21 21 6 6 5 5 4 4 3 3 2 2 1 1 0])) love (utils/make-anim-seq global-atlas "ego/love" [50 70] 0.1 (flatten [0 0 1 1 2 2 3 3 4 4 5 5 6 6 (repeat 10 7) (repeat 5 8) (repeat 5 7) (repeat 5 8) (repeat 5 7) (repeat 10 [23 24 25 24]) (repeat 30 9) 10 11 12 13 14 15 16 17 18 19 20 21 21 21 22 22 22 21 21 21 21 21 21 21 21 22 22 22 22 22 21 21 21 21 22 22 22 22 22 22 21 21 21 21 21 6 6 5 5 4 4 3 3 2 2 1 1 0]))
whistle (utils/make-anim-seq global-atlas "ego/whistle" [18 36] 0.2 (flatten [0 1 1 (repeat 200 [2 3])])) whistle (utils/make-anim-seq global-atlas "ego/whistle" [18 36] 0.2 (flatten [0 1 1 (repeat 200 [2 3])]))
axe (utils/make-anim global-atlas "ego/axe" [60 70] 0.10 (flatten [1 1 1 1 1 0 0 0 1 1 1 1 1 0 0 0 0 (range 7)])) axe (utils/make-anim global-atlas "ego/axe" [60 70] 0.10 (flatten [1 1 1 1 1 0 0 0 1 1 1 1 1 0 0 0 0 (range 7)]))
tongue-windup (utils/make-anim-seq global-atlas "ego/tongue-stance" [119 134] 0.05 [0 1 2 2 2 2 2 2 2 2]) tongue-windup (utils/make-anim-seq global-atlas "ego/tongue-stance" [119 134] 0.05 [0 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2])
tongue-swing (utils/make-anim-seq global-atlas "ego/tongue-stance" [119 134] 0.12 [ 3 4 5 6 ]) tongue-swing (utils/make-anim-seq global-atlas "ego/tongue-stance" [119 134] 0.12 [ 3 4 5 6 ])
tongue-hit (utils/make-anim-seq global-atlas "ego/tongue-hit" [119 134] 0.12 [0 1 2 2 2 2 3])
tongue-idle (utils/make-anim-seq global-atlas "ego/tongue-idle" [119 134] 0.7 [0 1]) tongue-idle (utils/make-anim-seq global-atlas "ego/tongue-idle" [119 134] 0.7 [0 1])
axe-wood (utils/make-anim global-atlas "ego/axe-wood" [60 70] 0.10 (flatten [1 1 1 1 1 0 0 0 1 1 1 1 1 0 0 0 0 (range 11)])) axe-wood (utils/make-anim global-atlas "ego/axe-wood" [60 70] 0.10 (flatten [1 1 1 1 1 0 0 0 1 1 1 1 1 0 0 0 0 (range 11)]))
suspended (utils/make-anim global-atlas "ego/suspended" [20 36] 0.10 [0]) suspended (utils/make-anim global-atlas "ego/suspended" [20 36] 0.10 [0])
@@ -561,6 +562,7 @@
:reach-start reach-start :reach-start reach-start
:jump jump :jump jump
:tongue-swing tongue-swing :tongue-swing tongue-swing
:tongue-hit tongue-hit
:tongue-windup tongue-windup :tongue-windup tongue-windup
:tongue-idle tongue-idle :tongue-idle tongue-idle
:jump-straight jump-straight :jump-straight jump-straight
@@ -623,6 +625,7 @@
:reach-start (utils/flip reach-start) :reach-start (utils/flip reach-start)
:jump-straight (utils/flip jump-straight) :jump-straight (utils/flip jump-straight)
:tongue-swing tongue-swing :tongue-swing tongue-swing
:tongue-hit tongue-hit
:tongue-windup tongue-windup :tongue-windup tongue-windup
:tongue-idle tongue-idle :tongue-idle tongue-idle
:jumping-straight (utils/flip jumping-straight) :jumping-straight (utils/flip jumping-straight)
@@ -750,6 +753,7 @@
(get-in ego [:left :jump-straight]) {:origin-x 9} (get-in ego [:left :jump-straight]) {:origin-x 9}
(get-in ego [:right :jump-straight]) {:origin-x 9} (get-in ego [:right :jump-straight]) {:origin-x 9}
(get-in ego [:left :tongue-swing]) {:origin-x 41 :origin-y 15} (get-in ego [:left :tongue-swing]) {:origin-x 41 :origin-y 15}
(get-in ego [:left :tongue-hit]) {:origin-x 41 :origin-y 15}
(get-in ego [:left :tongue-windup]) {:origin-x 41 :origin-y 15} (get-in ego [:left :tongue-windup]) {:origin-x 41 :origin-y 15}
(get-in ego [:left :tongue-idle]) {:origin-x 41 :origin-y 15} (get-in ego [:left :tongue-idle]) {:origin-x 41 :origin-y 15}