ending is beginning to be fun.

This commit is contained in:
Bryce Covert
2018-02-08 22:01:56 -08:00
67 changed files with 982 additions and 651 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.4 KiB

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 KiB

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.7 KiB

After

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.6 KiB

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 KiB

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 685 B

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 649 B

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 KiB

After

Width:  |  Height:  |  Size: 1.3 KiB

View File

@@ -2,7 +2,7 @@
(def packs (into ["do"]
(mapcat (fn [directory]
["run" "-m" "com.badlogic.gdx.tools.texturepacker.TexturePacker" (str "asset-work/" directory) "resources/packed/" (str directory ",")])
["tongue-fight", "global" ]
["tongue-fight", "global" "space" ]
#_["behindhouse" "dream" "georgia" "inside-cafeteria" "inside-jail" "outsidehouse" "safe-song" "title"
"castle-gate" "ego" "held" "inside-castle" "inside-stash" "outside-castle" "screenshots" "wizard"
"cat-tree" "ending-castle" "inside-antique" "inside-house" "outside-jail" "space" ])))

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -116,6 +116,13 @@ wizard/dot
orig: 1, 1
offset: 0, 0
index: -1
ego/fall-small
rotate: false
xy: 1013, 120
size: 9, 16
orig: 9, 16
offset: 0, 0
index: 0
ego/fire
rotate: false
xy: 634, 858
@@ -557,14 +564,14 @@ ego/tongue-hit
orig: 119, 134
offset: 0, 0
index: 0
ego/tongue-stance
ego/tongue-idle
rotate: false
xy: 2, 16
size: 119, 134
orig: 119, 134
offset: 0, 0
index: 0
ego/tongue-idle
ego/tongue-stance
rotate: false
xy: 2, 16
size: 119, 134
@@ -965,7 +972,7 @@ safe-song/safe-song
index: 28
safe/inputed-key
rotate: false
xy: 1013, 125
xy: 1013, 107
size: 9, 11
orig: 9, 11
offset: 0, 0

Binary file not shown.

Before

Width:  |  Height:  |  Size: 178 KiB

After

Width:  |  Height:  |  Size: 178 KiB

View File

@@ -6,358 +6,476 @@ filter: Nearest,Nearest
repeat: none
Blergh
rotate: false
xy: 852, 849
xy: 852, 855
size: 106, 165
orig: 106, 165
offset: 0, 0
index: -1
Untitled
rotate: false
xy: 452, 477
xy: 324, 413
size: 36, 36
orig: 36, 36
offset: 0, 0
index: -1
background
rotate: false
xy: 2, 607
xy: 2, 613
size: 320, 240
orig: 320, 240
offset: 0, 0
index: -1
blergh-flex
rotate: false
xy: 2, 198
xy: 216, 2
size: 106, 165
orig: 106, 165
offset: 0, 0
index: -1
blergh-stand
rotate: false
xy: 2, 198
xy: 216, 2
size: 106, 165
orig: 106, 165
offset: 0, 0
index: -1
blergh-talk
rotate: false
xy: 324, 515
xy: 870, 688
size: 106, 165
orig: 106, 165
offset: 0, 0
index: -1
bloodclot-explode
rotate: false
xy: 538, 682
xy: 870, 521
size: 106, 165
orig: 106, 165
offset: 0, 0
index: 0
bloodclot-explode
rotate: false
xy: 2, 31
xy: 912, 354
size: 106, 165
orig: 106, 165
offset: 0, 0
index: 1
bloodclot-explode
rotate: false
xy: 110, 198
xy: 912, 187
size: 106, 165
orig: 106, 165
offset: 0, 0
index: 2
bloodclot-explode
rotate: false
xy: 432, 515
xy: 912, 20
size: 106, 165
orig: 106, 165
offset: 0, 0
index: 3
bloodclot-explode
bloodclot-grow
rotate: false
xy: 646, 682
size: 106, 165
orig: 106, 165
offset: 0, 0
index: 4
bloodclot-explode
rotate: false
xy: 110, 31
size: 106, 165
orig: 106, 165
offset: 0, 0
index: 5
bloodclot-explode
rotate: false
xy: 540, 515
size: 106, 165
orig: 106, 165
offset: 0, 0
index: 6
bloodclot-explode
rotate: false
xy: 754, 682
size: 106, 165
orig: 106, 165
offset: 0, 0
index: 7
bloodclot-explode
rotate: false
xy: 648, 515
size: 106, 165
orig: 106, 165
offset: 0, 0
index: 8
bloodclot-explode
rotate: false
xy: 218, 198
size: 106, 165
orig: 106, 165
offset: 0, 0
index: 9
bloodclot-explode
rotate: false
xy: 218, 31
size: 106, 165
orig: 106, 165
offset: 0, 0
index: 10
bloodclot-explode
rotate: false
xy: 756, 515
size: 106, 165
orig: 106, 165
offset: 0, 0
index: 11
bloodclot-explode
rotate: false
xy: 862, 682
size: 106, 165
orig: 106, 165
offset: 0, 0
index: 12
bloodclot-explode
rotate: false
xy: 864, 515
size: 106, 165
orig: 106, 165
offset: 0, 0
index: 13
bloodclot-explode
rotate: false
xy: 326, 310
size: 106, 165
orig: 106, 165
offset: 0, 0
index: 14
bloodclot-explode
rotate: false
xy: 326, 143
size: 106, 165
orig: 106, 165
offset: 0, 0
index: 15
bloodclot-explode
rotate: false
xy: 434, 310
size: 106, 165
orig: 106, 165
offset: 0, 0
index: 16
bloodclot-explode
rotate: false
xy: 434, 143
size: 106, 165
orig: 106, 165
offset: 0, 0
index: 17
bloodclot-explode
rotate: false
xy: 542, 348
size: 106, 165
orig: 106, 165
offset: 0, 0
index: 18
bloodclot-explode
rotate: false
xy: 542, 181
size: 106, 165
orig: 106, 165
offset: 0, 0
index: 19
bloodclot-explode
rotate: false
xy: 650, 348
size: 106, 165
orig: 106, 165
offset: 0, 0
index: 20
bloodclot-explode
rotate: false
xy: 650, 181
size: 106, 165
orig: 106, 165
offset: 0, 0
index: 21
bloodclot-explode
rotate: false
xy: 758, 348
size: 106, 165
orig: 106, 165
offset: 0, 0
index: 22
bloodclot-head-talk
rotate: false
xy: 326, 66
size: 82, 75
orig: 82, 75
xy: 324, 653
size: 180, 200
orig: 180, 200
offset: 0, 0
index: 0
bloodclot-head-talk
bloodclot-grow
rotate: false
xy: 758, 271
size: 82, 75
orig: 82, 75
xy: 2, 169
size: 180, 200
orig: 180, 200
offset: 0, 0
index: 1
bloodclot-head-talk
bloodclot-grow
rotate: false
xy: 866, 438
size: 82, 75
orig: 82, 75
xy: 324, 451
size: 180, 200
orig: 180, 200
offset: 0, 0
index: 2
bloodclot-head-talk
bloodclot-grow
rotate: false
xy: 410, 66
size: 82, 75
orig: 82, 75
xy: 506, 653
size: 180, 200
orig: 180, 200
offset: 0, 0
index: 3
bloodclot-head-talk
bloodclot-grow
rotate: false
xy: 758, 194
size: 82, 75
orig: 82, 75
xy: 506, 451
size: 180, 200
orig: 180, 200
offset: 0, 0
index: 4
bloodclot-head-talk
bloodclot-grow
rotate: false
xy: 866, 361
size: 82, 75
orig: 82, 75
xy: 688, 653
size: 180, 200
orig: 180, 200
offset: 0, 0
index: 5
bloodclot-head-talk
bloodclot-grow
rotate: false
xy: 494, 66
size: 82, 75
orig: 82, 75
xy: 688, 451
size: 180, 200
orig: 180, 200
offset: 0, 0
index: 6
bloodclot-head-talk
bloodclot-grow
rotate: false
xy: 578, 104
size: 82, 75
orig: 82, 75
xy: 184, 169
size: 180, 200
orig: 180, 200
offset: 0, 0
index: 7
bloodclot-head-talk
bloodclot-grow
rotate: false
xy: 662, 104
size: 82, 75
orig: 82, 75
xy: 366, 249
size: 180, 200
orig: 180, 200
offset: 0, 0
index: 8
bloodclot-head-talk
bloodclot-grow
rotate: false
xy: 578, 27
size: 82, 75
orig: 82, 75
xy: 548, 249
size: 180, 200
orig: 180, 200
offset: 0, 0
index: 9
bloodclot-head-talk
bloodclot-grow
rotate: false
xy: 662, 27
size: 82, 75
orig: 82, 75
xy: 730, 249
size: 180, 200
orig: 180, 200
offset: 0, 0
index: 10
bloodclot-head-talk
bloodclot-grow
rotate: false
xy: 842, 271
size: 82, 75
orig: 82, 75
xy: 366, 47
size: 180, 200
orig: 180, 200
offset: 0, 0
index: 11
bloodclot-head-talk
bloodclot-grow
rotate: false
xy: 842, 194
size: 82, 75
orig: 82, 75
xy: 548, 47
size: 180, 200
orig: 180, 200
offset: 0, 0
index: 12
bloodclot-head-talk
bloodclot-grow
rotate: false
xy: 758, 117
size: 82, 75
orig: 82, 75
xy: 730, 47
size: 180, 200
orig: 180, 200
offset: 0, 0
index: 13
bloodclot-stand
rotate: false
xy: 324, 682
xy: 2, 2
size: 212, 165
orig: 212, 165
offset: 0, 0
index: -1
bloodclot-talk
rotate: false
xy: 2, 849
xy: 2, 855
size: 848, 165
orig: 848, 165
offset: 0, 0
index: -1
broken-jewel
rotate: false
xy: 746, 165
xy: 324, 153
size: 10, 14
orig: 10, 14
offset: 0, 0
index: -1
bullet
rotate: false
xy: 2, 5
xy: 324, 21
size: 192, 24
orig: 192, 24
offset: 0, 0
index: -1
cloud
rotate: false
xy: 960, 999
xy: 960, 1005
size: 15, 15
orig: 15, 15
offset: 0, 0
index: -1
dot
rotate: false
xy: 2, 2
xy: 870, 518
size: 1, 1
orig: 1, 1
offset: 0, 0
index: -1
later
rotate: false
xy: 2, 365
xy: 2, 371
size: 320, 240
orig: 320, 240
offset: 0, 0
index: -1
susp
rotate: false
xy: 324, 477
xy: 518, 9
size: 126, 36
orig: 126, 36
offset: 0, 0
index: -1
space2.png
size: 1024,1024
format: RGBA8888
filter: Nearest,Nearest
repeat: none
bloodclot-explode
rotate: false
xy: 2, 582
size: 106, 165
orig: 106, 165
offset: 0, 0
index: 4
bloodclot-explode
rotate: false
xy: 184, 784
size: 106, 165
orig: 106, 165
offset: 0, 0
index: 5
bloodclot-explode
rotate: false
xy: 2, 415
size: 106, 165
orig: 106, 165
offset: 0, 0
index: 6
bloodclot-explode
rotate: false
xy: 292, 784
size: 106, 165
orig: 106, 165
offset: 0, 0
index: 7
bloodclot-explode
rotate: false
xy: 2, 248
size: 106, 165
orig: 106, 165
offset: 0, 0
index: 8
bloodclot-explode
rotate: false
xy: 400, 784
size: 106, 165
orig: 106, 165
offset: 0, 0
index: 9
bloodclot-explode
rotate: false
xy: 2, 81
size: 106, 165
orig: 106, 165
offset: 0, 0
index: 10
bloodclot-explode
rotate: false
xy: 508, 784
size: 106, 165
orig: 106, 165
offset: 0, 0
index: 11
bloodclot-explode
rotate: false
xy: 616, 784
size: 106, 165
orig: 106, 165
offset: 0, 0
index: 12
bloodclot-explode
rotate: false
xy: 724, 784
size: 106, 165
orig: 106, 165
offset: 0, 0
index: 13
bloodclot-explode
rotate: false
xy: 832, 784
size: 106, 165
orig: 106, 165
offset: 0, 0
index: 14
bloodclot-explode
rotate: false
xy: 110, 582
size: 106, 165
orig: 106, 165
offset: 0, 0
index: 15
bloodclot-explode
rotate: false
xy: 110, 415
size: 106, 165
orig: 106, 165
offset: 0, 0
index: 16
bloodclot-explode
rotate: false
xy: 110, 248
size: 106, 165
orig: 106, 165
offset: 0, 0
index: 17
bloodclot-explode
rotate: false
xy: 110, 81
size: 106, 165
orig: 106, 165
offset: 0, 0
index: 18
bloodclot-explode
rotate: false
xy: 218, 617
size: 106, 165
orig: 106, 165
offset: 0, 0
index: 19
bloodclot-explode
rotate: false
xy: 218, 450
size: 106, 165
orig: 106, 165
offset: 0, 0
index: 20
bloodclot-explode
rotate: false
xy: 326, 617
size: 106, 165
orig: 106, 165
offset: 0, 0
index: 21
bloodclot-explode
rotate: false
xy: 218, 283
size: 106, 165
orig: 106, 165
offset: 0, 0
index: 22
bloodclot-grow
rotate: false
xy: 2, 749
size: 180, 200
orig: 180, 200
offset: 0, 0
index: 14
bloodclot-head-talk
rotate: false
xy: 940, 874
size: 82, 75
orig: 82, 75
offset: 0, 0
index: 0
bloodclot-head-talk
rotate: false
xy: 940, 797
size: 82, 75
orig: 82, 75
offset: 0, 0
index: 1
bloodclot-head-talk
rotate: false
xy: 940, 720
size: 82, 75
orig: 82, 75
offset: 0, 0
index: 2
bloodclot-head-talk
rotate: false
xy: 326, 540
size: 82, 75
orig: 82, 75
offset: 0, 0
index: 3
bloodclot-head-talk
rotate: false
xy: 218, 206
size: 82, 75
orig: 82, 75
offset: 0, 0
index: 4
bloodclot-head-talk
rotate: false
xy: 434, 707
size: 82, 75
orig: 82, 75
offset: 0, 0
index: 5
bloodclot-head-talk
rotate: false
xy: 326, 463
size: 82, 75
orig: 82, 75
offset: 0, 0
index: 6
bloodclot-head-talk
rotate: false
xy: 218, 129
size: 82, 75
orig: 82, 75
offset: 0, 0
index: 7
bloodclot-head-talk
rotate: false
xy: 434, 630
size: 82, 75
orig: 82, 75
offset: 0, 0
index: 8
bloodclot-head-talk
rotate: false
xy: 518, 707
size: 82, 75
orig: 82, 75
offset: 0, 0
index: 9
bloodclot-head-talk
rotate: false
xy: 326, 386
size: 82, 75
orig: 82, 75
offset: 0, 0
index: 10
bloodclot-head-talk
rotate: false
xy: 518, 630
size: 82, 75
orig: 82, 75
offset: 0, 0
index: 11
bloodclot-head-talk
rotate: false
xy: 602, 707
size: 82, 75
orig: 82, 75
offset: 0, 0
index: 12
bloodclot-head-talk
rotate: false
xy: 326, 309
size: 82, 75
orig: 82, 75
offset: 0, 0
index: 13
bloodclot-steam
rotate: false
xy: 2, 2
size: 134, 77
orig: 134, 77
offset: 0, 0
index: 0

Binary file not shown.

Before

Width:  |  Height:  |  Size: 159 KiB

After

Width:  |  Height:  |  Size: 117 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 125 KiB

View File

@@ -6,405 +6,516 @@ filter: Nearest,Nearest
repeat: none
background
rotate: false
xy: 2, 781
xy: 2, 778
size: 320, 240
orig: 320, 240
offset: 0, 0
index: -1
hair-0
rotate: false
xy: 872, 730
xy: 991, 734
size: 7, 8
orig: 7, 8
offset: 0, 0
index: 0
hair-0
rotate: false
xy: 339, 651
xy: 1000, 734
size: 7, 8
orig: 7, 8
offset: 0, 0
index: 1
hair-0
rotate: false
xy: 374, 701
xy: 1009, 734
size: 7, 8
orig: 7, 8
offset: 0, 0
index: 2
hair-0
rotate: false
xy: 399, 719
xy: 981, 724
size: 7, 8
orig: 7, 8
offset: 0, 0
index: 3
hair-0
rotate: false
xy: 53, 36
xy: 967, 716
size: 7, 8
orig: 7, 8
offset: 0, 0
index: 4
hair-1
rotate: false
xy: 374, 711
xy: 928, 760
size: 23, 16
orig: 23, 16
offset: 0, 0
index: 0
hair-1
rotate: false
xy: 928, 742
size: 23, 16
orig: 23, 16
offset: 0, 0
index: 1
hair-1
rotate: false
xy: 967, 746
size: 23, 16
orig: 23, 16
offset: 0, 0
index: 2
hair-2
rotate: false
xy: 968, 952
size: 47, 66
orig: 47, 66
offset: 0, 0
index: 0
hair-2
rotate: false
xy: 968, 884
size: 47, 66
orig: 47, 66
offset: 0, 0
index: 1
hair-2
rotate: false
xy: 968, 816
size: 47, 66
orig: 47, 66
offset: 0, 0
index: 2
hair-3
rotate: false
xy: 942, 708
size: 7, 8
orig: 7, 8
offset: 0, 0
index: 0
hair-3
rotate: false
xy: 928, 702
size: 7, 8
orig: 7, 8
offset: 0, 0
index: 1
hair-3
rotate: false
xy: 951, 708
size: 7, 8
orig: 7, 8
offset: 0, 0
index: 2
hair-4
rotate: false
xy: 953, 748
size: 12, 28
orig: 12, 28
offset: 0, 0
index: 0
hair-4
rotate: false
xy: 953, 718
size: 12, 28
orig: 12, 28
offset: 0, 0
index: 1
hair-4
rotate: false
xy: 928, 712
size: 12, 28
orig: 12, 28
offset: 0, 0
index: 2
hair-5
rotate: false
xy: 942, 730
size: 8, 10
orig: 8, 10
offset: 0, 0
index: 0
hair-5
rotate: false
xy: 942, 718
size: 8, 10
orig: 8, 10
offset: 0, 0
index: 1
hair-5
rotate: false
xy: 981, 734
size: 8, 10
orig: 8, 10
offset: 0, 0
index: 2
hair-6
rotate: false
xy: 1017, 985
size: 4, 6
orig: 4, 6
offset: 0, 0
index: 0
hair-6
rotate: false
xy: 1017, 977
size: 4, 6
orig: 4, 6
offset: 0, 0
index: 1
hair-6
rotate: false
xy: 1017, 969
size: 4, 6
orig: 4, 6
offset: 0, 0
index: 2
hair-7
rotate: false
xy: 1017, 1011
size: 5, 7
orig: 5, 7
offset: 0, 0
index: 0
hair-7
rotate: false
xy: 1017, 1002
size: 5, 7
orig: 5, 7
offset: 0, 0
index: 1
hair-7
rotate: false
xy: 1017, 993
size: 5, 7
orig: 5, 7
offset: 0, 0
index: 2
hair-8
rotate: false
xy: 990, 726
size: 6, 6
orig: 6, 6
offset: 0, 0
index: 0
hair-8
rotate: false
xy: 998, 726
size: 6, 6
orig: 6, 6
offset: 0, 0
index: 1
hair-8
rotate: false
xy: 1006, 726
size: 6, 6
orig: 6, 6
offset: 0, 0
index: 2
hair-9
rotate: false
xy: 992, 744
size: 12, 18
orig: 12, 18
offset: 0, 0
index: 0
hair-9
rotate: false
xy: 1006, 744
size: 12, 18
orig: 12, 18
offset: 0, 0
index: 1
hair-9
rotate: false
xy: 967, 726
size: 12, 18
orig: 12, 18
offset: 0, 0
index: 2
heart
rotate: false
xy: 968, 790
size: 24, 24
orig: 24, 24
offset: 0, 0
index: 0
heart
rotate: false
xy: 994, 790
size: 24, 24
orig: 24, 24
offset: 0, 0
index: 1
heart
rotate: false
xy: 968, 764
size: 24, 24
orig: 24, 24
offset: 0, 0
index: 2
heart
rotate: false
xy: 994, 764
size: 24, 24
orig: 24, 24
offset: 0, 0
index: 3
penultimate
rotate: false
xy: 324, 778
size: 320, 240
orig: 320, 240
offset: 0, 0
index: -1
penultimate-black
rotate: false
xy: 646, 778
size: 320, 240
orig: 320, 240
offset: 0, 0
index: -1
penultimate-wall
rotate: false
xy: 2, 536
size: 320, 240
orig: 320, 240
offset: 0, 0
index: -1
sword-spin
rotate: false
xy: 324, 538
size: 300, 238
orig: 300, 238
offset: 0, 0
index: 0
sword-spin
rotate: false
xy: 626, 538
size: 300, 238
orig: 300, 238
offset: 0, 0
index: 1
sword-spin
rotate: false
xy: 324, 298
size: 300, 238
orig: 300, 238
offset: 0, 0
index: 2
sword-spin
rotate: false
xy: 2, 296
size: 300, 238
orig: 300, 238
offset: 0, 0
index: 3
sword-spin
rotate: false
xy: 626, 298
size: 300, 238
orig: 300, 238
offset: 0, 0
index: 4
sword-spin
rotate: false
xy: 304, 58
size: 300, 238
orig: 300, 238
offset: 0, 0
index: 5
tongue-attack
rotate: false
xy: 880, 151
size: 135, 145
orig: 135, 145
offset: 0, 0
index: 0
tongue-attack
rotate: false
xy: 880, 4
size: 135, 145
orig: 135, 145
offset: 0, 0
index: 1
tongue-attack-hit
rotate: false
xy: 2, 149
size: 135, 145
orig: 135, 145
offset: 0, 0
index: 0
tongue-attack-hit
rotate: false
xy: 2, 2
size: 23, 16
orig: 23, 16
offset: 0, 0
index: 1
hair-1
rotate: false
xy: 28, 28
size: 23, 16
orig: 23, 16
offset: 0, 0
index: 2
hair-2
rotate: false
xy: 276, 661
size: 47, 66
orig: 47, 66
offset: 0, 0
index: 0
hair-2
rotate: false
xy: 276, 593
size: 47, 66
orig: 47, 66
offset: 0, 0
index: 1
hair-2
rotate: false
xy: 325, 661
size: 47, 66
orig: 47, 66
offset: 0, 0
index: 2
hair-3
rotate: false
xy: 976, 820
size: 7, 8
orig: 7, 8
offset: 0, 0
index: 0
hair-3
rotate: false
xy: 990, 840
size: 7, 8
orig: 7, 8
offset: 0, 0
index: 1
hair-3
rotate: false
xy: 1009, 963
size: 7, 8
orig: 7, 8
offset: 0, 0
index: 2
hair-4
rotate: false
xy: 1009, 993
size: 12, 28
orig: 12, 28
offset: 0, 0
index: 0
hair-4
rotate: false
xy: 276, 563
size: 12, 28
orig: 12, 28
offset: 0, 0
index: 1
hair-4
rotate: false
xy: 325, 631
size: 12, 28
orig: 12, 28
offset: 0, 0
index: 2
hair-5
rotate: false
xy: 276, 551
size: 8, 10
orig: 8, 10
offset: 0, 0
index: 0
hair-5
rotate: false
xy: 290, 581
size: 8, 10
orig: 8, 10
offset: 0, 0
index: 1
hair-5
rotate: false
xy: 325, 619
size: 8, 10
orig: 8, 10
offset: 0, 0
index: 2
hair-6
rotate: false
xy: 1018, 965
size: 4, 6
orig: 4, 6
offset: 0, 0
index: 0
hair-6
rotate: false
xy: 1018, 957
size: 4, 6
orig: 4, 6
offset: 0, 0
index: 1
hair-6
rotate: false
xy: 28, 20
size: 4, 6
orig: 4, 6
offset: 0, 0
index: 2
hair-7
rotate: false
xy: 1002, 867
size: 5, 7
orig: 5, 7
offset: 0, 0
index: 0
hair-7
rotate: false
xy: 276, 542
size: 5, 7
orig: 5, 7
offset: 0, 0
index: 1
hair-7
rotate: false
xy: 290, 572
size: 5, 7
orig: 5, 7
offset: 0, 0
index: 2
hair-8
rotate: false
xy: 316, 773
size: 6, 6
orig: 6, 6
offset: 0, 0
index: 0
hair-8
rotate: false
xy: 316, 765
size: 6, 6
orig: 6, 6
offset: 0, 0
index: 1
hair-8
rotate: false
xy: 316, 757
size: 6, 6
orig: 6, 6
offset: 0, 0
index: 2
hair-9
rotate: false
xy: 976, 830
size: 12, 18
orig: 12, 18
offset: 0, 0
index: 0
hair-9
rotate: false
xy: 302, 761
size: 12, 18
orig: 12, 18
offset: 0, 0
index: 1
hair-9
rotate: false
xy: 1009, 973
size: 12, 18
orig: 12, 18
offset: 0, 0
index: 2
heart
rotate: false
xy: 2, 20
size: 24, 24
orig: 24, 24
offset: 0, 0
index: 0
heart
rotate: false
xy: 976, 850
size: 24, 24
orig: 24, 24
offset: 0, 0
index: 1
heart
rotate: false
xy: 276, 755
size: 24, 24
orig: 24, 24
offset: 0, 0
index: 2
heart
rotate: false
xy: 276, 729
size: 24, 24
orig: 24, 24
offset: 0, 0
index: 3
tongue-attack
rotate: false
xy: 2, 193
size: 135, 145
orig: 135, 145
offset: 0, 0
index: 0
tongue-attack
rotate: false
xy: 139, 340
size: 135, 145
orig: 135, 145
offset: 0, 0
index: 1
tongue-attack
rotate: false
xy: 735, 876
size: 135, 145
orig: 135, 145
offset: 0, 0
index: 2
tongue-attack
rotate: false
xy: 2, 46
size: 135, 145
orig: 135, 145
offset: 0, 0
index: 3
tongue-attack
rotate: false
xy: 139, 193
size: 135, 145
orig: 135, 145
offset: 0, 0
index: 4
tongue-attack
rotate: false
xy: 872, 876
size: 135, 145
orig: 135, 145
offset: 0, 0
index: 5
tongue-attack
rotate: false
xy: 139, 46
size: 135, 145
orig: 135, 145
offset: 0, 0
index: 6
tongue-attack-hit
rotate: false
xy: 2, 634
size: 135, 145
orig: 135, 145
offset: 0, 0
index: 0
tongue-attack-hit
rotate: false
xy: 324, 876
size: 135, 145
orig: 135, 145
offset: 0, 0
index: 1
tongue-attack-hit
rotate: false
xy: 2, 487
xy: 139, 149
size: 135, 145
orig: 135, 145
offset: 0, 0
index: 2
tongue-attack-hit
rotate: false
xy: 139, 634
xy: 139, 2
size: 135, 145
orig: 135, 145
offset: 0, 0
index: 3
tongue-attack-hit
rotate: false
xy: 461, 876
xy: 606, 151
size: 135, 145
orig: 135, 145
offset: 0, 0
index: 4
tongue-attack-hit
rotate: false
xy: 2, 340
xy: 606, 4
size: 135, 145
orig: 135, 145
offset: 0, 0
index: 5
tongue-attack-hit
rotate: false
xy: 139, 487
xy: 743, 151
size: 135, 145
orig: 135, 145
offset: 0, 0
index: 6
tongue-attack-hit
rotate: false
xy: 598, 876
xy: 743, 4
size: 135, 145
orig: 135, 145
offset: 0, 0
index: 7
tongue-fight2.png
size: 1024,512
format: RGBA8888
filter: Nearest,Nearest
repeat: none
falling-bg
rotate: false
xy: 276, 19
size: 128, 128
orig: 128, 128
offset: 0, 0
index: 0
falling-bg
rotate: false
xy: 413, 166
size: 128, 128
orig: 128, 128
offset: 0, 0
index: 1
falling-bg
rotate: false
xy: 550, 313
size: 128, 128
orig: 128, 128
offset: 0, 0
index: 2
falling-bg
rotate: false
xy: 680, 313
size: 128, 128
orig: 128, 128
offset: 0, 0
index: 3
falling-bg
rotate: false
xy: 810, 313
size: 128, 128
orig: 128, 128
offset: 0, 0
index: 4
falling-bg
rotate: false
xy: 413, 36
size: 128, 128
orig: 128, 128
offset: 0, 0
index: 5
tongue-attack
rotate: false
xy: 2, 296
size: 135, 145
orig: 135, 145
offset: 0, 0
index: 2
tongue-attack
rotate: false
xy: 2, 149
size: 135, 145
orig: 135, 145
offset: 0, 0
index: 3
tongue-attack
rotate: false
xy: 139, 296
size: 135, 145
orig: 135, 145
offset: 0, 0
index: 4
tongue-attack
rotate: false
xy: 2, 2
size: 135, 145
orig: 135, 145
offset: 0, 0
index: 5
tongue-attack
rotate: false
xy: 139, 149
size: 135, 145
orig: 135, 145
offset: 0, 0
index: 6
tongue-idle
rotate: false
xy: 872, 740
xy: 543, 160
size: 102, 134
orig: 102, 134
offset: 0, 0
index: 0
tongue-windup
rotate: false
xy: 324, 729
xy: 276, 296
size: 135, 145
orig: 135, 145
offset: 0, 0
index: 0
tongue-windup
rotate: false
xy: 461, 729
xy: 139, 2
size: 135, 145
orig: 135, 145
offset: 0, 0
index: 1
tongue-windup
rotate: false
xy: 598, 729
xy: 276, 149
size: 135, 145
orig: 135, 145
offset: 0, 0
index: 2
tongue-windup
rotate: false
xy: 735, 729
xy: 413, 296
size: 135, 145
orig: 135, 145
offset: 0, 0
index: 3
tongue-fight2.png
tongue-fight3.png
size: 1024,256
format: RGBA8888
filter: Nearest,Nearest

Binary file not shown.

Before

Width:  |  Height:  |  Size: 48 KiB

After

Width:  |  Height:  |  Size: 58 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.1 KiB

After

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.1 KiB

View File

@@ -2,11 +2,11 @@ Untitled
- Delay -
active: false
- Duration -
lowMin: 300.0
lowMax: 300.0
lowMin: 1000.0
lowMax: 1000.0
- Count -
min: 0
max: 300
max: 1000
- Emission -
lowMin: 0.0
lowMax: 0.0
@@ -157,11 +157,11 @@ Untitled
- Delay -
active: false
- Duration -
lowMin: 300.0
lowMax: 300.0
lowMin: 1000.0
lowMax: 1000.0
- Count -
min: 0
max: 500
max: 2000
- Emission -
lowMin: 0.0
lowMax: 0.0

View File

@@ -678,8 +678,9 @@
:none))))
(defn transition-background [entities new-background [x y] & {:keys [transition-music? between time face]}]
(defn transition-background [entities new-background [x y] & {:keys [transition-music? between time face type]}]
(let [transition-music? (if (nil? transition-music?) true transition-music?)
type (or type :fade)
old-music (get-music (get-in @entities [:room-musics (get-in @entities [:state :last-room])]) (get-in @entities [:state :time]))
;; TODO FIX
new-music (get-music (get-in @entities [:room-musics new-background]) (get-in @entities [:state :time]))
@@ -691,7 +692,7 @@
(doseq [[k] (get-in entities [:room :timers])]
(remove-timer! screen k))
(as-> entities e
(assoc-in e [:tweens :fade-out] (tween/tween :fade-out screen [:fade :opacity] 0.0 1.0 time))
(assoc-in e [:tweens :fade-out] (tween/tween :fade-out screen [type :opacity] 0.0 1.0 time))
(if music-changed?
(assoc-in e [:tweens :fade-out-music] (tween/tween :fade-out-music screen [:volume :value] 1.0 0.0 time))
e)))
@@ -700,7 +701,7 @@
entities)
(done? [this screen entities]
(>= (get-in entities [:fade :opacity]) 1.0))
(>= (get-in entities [type :opacity]) 1.0))
(terminate [this screen entities]
(utils/release-resources screen :room)
@@ -732,7 +733,7 @@
(assoc-in e [:current-sounds :value] [])
(if between (between screen e) e)
(assoc-in e [:state :last-room] new-background)
(assoc-in e [:tweens :fade-in] (tween/tween :fade-in screen [:fade :opacity] 1.0 0.0 time))
(assoc-in e [:tweens :fade-in] (tween/tween :fade-in screen [type :opacity] 1.0 0.0 time))
(if-not (get-in entities [:cam :paused?])
(-> e
(update-in [:tweens] dissoc :cam-zoom :cam-x :cam-y)
@@ -764,7 +765,7 @@
entities)
(done? [this screen entities]
(<= (get-in entities [:fade :opacity]) 0.0))
(<= (get-in entities [type :opacity]) 0.0))
(terminate [this screen entities]
(doseq [[k [start time fn]] (get-in entities [:room :timers])]

View File

@@ -390,13 +390,86 @@
:none)))
(defn do-win [entities]
(actions/transition-background entities :space [200 45] :between (fn [s e]
(Thread/sleep 3000)
(actions/update-entities entities (fn [e]
(-> e
(assoc-in [:room :entities :penultimate :opacity] 1)
(assoc-in [:room :entities :penultimate-wall :opacity] 1)
(assoc-in [:cam :paused?] false)
(update-in [:room :entities :ego ] assoc :x 178 :y 166 :baseline 4)
(update-in [:room :entities] dissoc :tongue)
(update-in [:room :entities :ego] actions/start-animation :fall-small))))
(actions/run-action entities
(begin [this screen entities]
(-> entities
(assoc-in [:tweens :ego-x] (tween/tween :ego-x screen [:room :entities :ego :x] 178 153 0.5 :ease tween/ease-linear))
(assoc-in [:tweens :ego-y] (tween/tween :ego-y screen [:room :entities :ego :y] 166 186 0.5 :ease tween/ease-out-cubic))))
(continue [this screen entities]
entities)
(done? [this screen entities]
(= 186 (get-in entities [:room :entities :ego :y])))
(terminate [this screen entities]
entities)
(skip-type [this screen entities]
:none))
(actions/run-action entities
(begin [this screen entities]
(-> entities
(assoc-in [:tweens :ego-x] (tween/tween :ego-x screen [:room :entities :ego :x] 153 53 2 :ease tween/ease-linear))
(assoc-in [:tweens :ego-y] (tween/tween :ego-y screen [:room :entities :ego :y] 186 0 2 :ease tween/ease-in-cubic))))
(continue [this screen entities]
entities)
(done? [this screen entities]
(= 0 (get-in entities [:room :entities :ego :y])))
(terminate [this screen entities]
entities)
(skip-type [this screen entities]
:none))
(Thread/sleep 1000)
(actions/update-entities entities (fn [e]
(-> e
(assoc-in [:room :entities :falling-bg :opacity] 1)
(assoc-in [:room :entities :sword-spin :opacity] 1))))
(Thread/sleep 4000)
(actions/update-entities entities (fn [e]
(-> e
(assoc-in [:room :entities :falling-bg :opacity] 0)
(assoc-in [:room :entities :sword-spin :opacity] 0))))
(Thread/sleep 1000)
(actions/update-entities entities (fn [e]
(-> e
(assoc-in [:room :entities :penultimate-black :opacity] 1))))
(println "doing screen shake?")
(actions/camera-shake entities 15.0)
(println "doing screen shake?")
(actions/transition-background entities :space [55 90] :time 6.0 :type :white-fade :between (fn [s e]
(-> e
(assoc-in [:room :entities :ego :stand-override] :crawl-stand)
(assoc-in [:room :entities :ego :previous-frame-index] -1)
(update-in [:room :entities :ego] #(actions/start-animation s % :crawl-stand)))
))
(update-in [:room :entities :ego] #(actions/start-animation s % :crawl-stand))
(update-in [:room :entities :ego] #(actions/start-animation s % :crawl-stand))
(update-in [:room :entities] dissoc :bloodclot-head)
(assoc-in [:room :entities :bloodclot-smoke] (get-in e [:room :bloodclot-smoke]))
(update-in [:room ] dissoc :broken-jewel)
(update-in [:room :entities :bloodclot] #(actions/start-animation s % :steam))
(update-in [:room :entities :ego] dissoc :stand-override :talk-override )
(update-in [:room :entities :grow-explode] (fn [g]
(particle-effect! g :reset)
(particle-effect! g :start)
g)))))
(Thread/sleep 2000)
(actions/play-animation entities :ego :standup)
(Thread/sleep 1000)
(actions/update-entities entities (fn [e]
@@ -407,7 +480,7 @@
(achievements/set-achievement "BLOODCLOT")
(actions/glad entities)
(actions/walk-straight-to entities :ego [340 55])
(actions/walk-straight-to entities :ego [340 95])
(actions/run-action entities
(begin [this screen entities]
(assoc-in entities [:tweens :later] (tween/tween :later screen [:room :entities :later :opacity] 0.0 1.0 4.0 :ease tween/ease-in-cubic)))

View File

@@ -59,68 +59,37 @@
(defn explode [entities]
(actions/run-action entities
(begin [this screen entities]
(let [start-time (atom nil)]
(actions/run-action entities
(begin [this screen entities]
(reset! start-time (:total-time screen))
(-> entities
(update-in [:room :entities :bloodclot] #(actions/start-animation screen % :explode))
(update-in [:room :entities] dissoc :broken-jewel)
(update-in [:room :entities] dissoc :bloodclot-head)
(assoc-in [:room :entities :ego :facing] :right)
(update-in [:room :entities :ego] #(actions/start-animation screen % :crawl))))
(-> entities
(update-in [:room :entities :bloodclot] #(actions/start-animation screen % :grow))
(update-in [:room :entities] dissoc :broken-jewel)
(update-in [:room :entities] dissoc :bloodclot-head)
(assoc-in [:room :entities :ego :facing] :right)
(update-in [:room :entities :ego] #(actions/start-animation screen % :crawl))))
(continue [this screen entities]
(if (= 185 (get-in entities [:room :entities :bloodclot :current-frame-index]))
(do (particle-effect! (get-in entities [:room :entities :grow-explode]) :reset)
(particle-effect! (get-in entities [:room :entities :grow-explode]) :start)))
(let [move-speed (* 0.17
(/ (:delta-time screen)
(/ 1.0 60.0)))
entities (update-in entities [:room :entities :ego :x] #(max 80 (- % move-speed)))]
(if (= 80 (get-in entities [:room :entities :ego :x]))
(update-in entities [:room :entities :ego] #(actions/start-animation screen % :crawl-hide))
entities )))
(continue [this screen entities]
(let [move-speed (* 0.17
(/ (:delta-time screen)
(/ 1.0 60.0)))
entities (update-in entities [:room :entities :ego :x] #(max 80 (- % move-speed)))]
entities))
(done? [this screen entities]
(= (get-in entities [:room :entities :bloodclot :current-frame-index]) 191))
(done? [this screen entities]
(> (- (:total-time screen) @start-time) 8.7))
(terminate [this screen entities]
(-> entities
(assoc-in [:tweens :flash] (tween/tween :flash screen [:white-fade :opacity] 0.0 1.0 0.2 :ease tween/ease-in-cubic))))
(skip-type [this screen entities]
:none))
(actions/run-action entities
(begin [this screen entities]
entities)
(terminate [this screen entities]
entities
)
(skip-type [this screen entities]
:none))))
(continue [this screen entities]
entities)
(done? [this screen entities]
(not (get-in entities [:tweens :flash])))
(terminate [this screen entities]
entities)
(skip-type [this screen entities]
:none))
(actions/run-action entities
(begin [this screen entities]
(assoc-in entities [:tweens :flash] (tween/tween :flash screen [:white-fade :opacity] 1.0 0.0 4.0 :ease tween/ease-in-cubic)))
(continue [this screen entities]
entities)
(done? [this screen entities]
(not (get-in entities [:tweens :flash])))
(terminate [this screen entities]
(update-in entities [:room :entities :ego] dissoc :stand-override))
(skip-type [this screen entities]
:none)))
(defn give-potion [entities]
(actions/do-dialogue entities
:ego "Hey, Bloodclot!"
@@ -139,12 +108,16 @@
:bloodclot-head "Ultimate power is mine!"
:bloodclot-head "If I drink this entire bottle, I'll be as powerful as a god!"
)
(actions/transition-music entities :tongue-fight)
(explode entities)
(actions/do-dialogue entities
:bloodclot "Now..."
:bloodclot "Where were we?")
(actions/talk entities :bloodclot "Now..."
:stop? false
:anim :big)
(actions/talk entities :bloodclot "Where were we?"
:stop? false
:anim :big)
(actions/transition-background entities :tongue-fight [141 110]))

View File

@@ -189,7 +189,9 @@
bloodclot-head-shoot-anim (utils/make-anim-seq atlas "bloodclot-head-talk" [82 75] 0.05 [8 9 8 9 8 9 8 9 8 9 8 9 8 9 8 9 8 9 8 9 10 11 10 11 10 11 10 11 10 11 10 11])
bloodclot-head-keep-shoot-anim (utils/make-anim-seq atlas "bloodclot-head-talk" [82 75] 0.05 [12 13])
blergh-stand-anim (utils/make-anim atlas "bloodclot-stand" [106 165] 0.9 [0 1])
bloodclot-explode (utils/make-anim-seq atlas "bloodclot-explode" [106 165] 0.075 [0 0 0 0 0 0 0 1 1 1 1 2 2 2 2 2 2 2 2 2 2 3 3 3 4 4 4 5 5 5 5 5 5 5 5 5 6 6 6 6 7 7 7 7 7 7 7 7 7 7 7 8 8 8 7 7 7 7 8 8 8 8 8 7 7 7 7 8 8 7 7 7 7 8 8 8 7 8 8 8 8 8 8 8 8 9 8 8 8 8 9 9 8 8 8 8 8 8 8 9 9 9 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 10 9 10 10 8 9 9 9 9 9 10 10 10 10 9 9 9 9 9 9 9 9 9 9 10 10 10 10 9 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 12 13 14 15 16 17 18 19 20 21 22])
bloodclot-grow (utils/make-anim-seq atlas "bloodclot-grow" [180 200] 0.075 [0 0 0 0 0 0 0 1 1 1 1 2 2 2 2 2 2 2 2 2 2 3 3 3 4 4 4 5 5 5 5 5 5 5 5 5 6 6 6 6 7 7 7 7 7 7 7 7 7 7 7 8 8 8 7 7 7 7 8 8 8 8 8 7 7 7 7 8 8 8 8 7 8 9 9 9 9 8 9 10 10 10 10 9 10 11 11 11 11 10 10 10 11 12 12 12 12 12 12 12 13 13 13 13 13 13 13 14 14 14 14 14 14 14 14 14 14 14 14])
bloodclot-big (utils/make-anim-seq atlas "bloodclot-grow" [180 200] 0.075 [14])
bloodclot-steam (utils/make-anim-seq atlas "bloodclot-steam" [134 77] 0.075 [0])
bullet (utils/make-anim atlas "bullet" [24 24] 0.0075 [0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 3 3 3 4 4 5 5 6 5 4 7])
effect (particle-effect "particles/appear")
blowup-effect (particle-effect "particles/blowup")
@@ -213,7 +215,7 @@
:baseline 240
:opacity 0.0)
:grow-explode (assoc grow-explode
:x 240 :y 130
:x 240 :y 240
:baseline 200)
:blowup (assoc blowup-effect
:x 225 :y 175
@@ -240,12 +242,16 @@
:explode-sound (utils/load-sound "space/bloodclot-explode.ogg")
:anim-sound-frames {blergh-stand-anim {0 [:inhale-sound grunt-vol]
1 [:exhale-sound grunt-vol]}
bloodclot-explode {35 [:grow-sound (constantly 0.5)]
bloodclot-grow {35 [:grow-sound (constantly 0.5)]
181 [:explode-sound (constantly 0.5)]}
bloodclot-big {35 [:grow-sound (constantly 0.5)]
181 [:explode-sound (constantly 0.5)]}}
:opacity 0.0
:anim blergh-stand-anim
:anim-start 0
:explode bloodclot-explode
:grow bloodclot-grow
:big bloodclot-big
:steam bloodclot-steam
:label "Bloodclot"
@@ -340,6 +346,10 @@
:walk bullet)
:broken-jewel (assoc (utils/atlas->texture atlas "broken-jewel")
:x 225 :y 170 :baseline 240)
:bloodclot-smoke (doto (assoc (particle-effect "particles/candle") :x 280 :y 90
:baseline 200)
(particle-effect! :set-position 280 90))
:collision "space/collision.png"
:scale-fn (constantly 1.5)
:start-pos [35 45]

View File

@@ -43,88 +43,89 @@
(update-in entities [:room :entities :ego] #(actions/start-animation screen % :tongue-idle))
entities))
(defn trigger-tongue [screen {{{{:keys [state started anim anim-start]} :tongue
(defn trigger-tongue [screen {{{{:keys [state started anim anim-start] :as tongue} :tongue
{ego-anim :anim ego-anim-start :anim-start {ego-windup :tongue-windup} :left } :ego
} :entities
:keys [ego-hearts tongue-hearts]} :room
:as entities}]
(let [time-in-state (- (:total-time screen) (or started (:total-time screen)))
tongue-finished? (animation! anim
:is-animation-finished
(- (:total-time screen) anim-start))
ego-finished? (animation! ego-anim
:is-animation-finished
(- (:total-time screen) ego-anim-start))
(if tongue
(let [time-in-state (- (:total-time screen) (or started (:total-time screen)))
tongue-finished? (animation! anim
:is-animation-finished
(- (:total-time screen) anim-start))
ego-finished? (animation! ego-anim
:is-animation-finished
(- (:total-time screen) ego-anim-start))
is-player-wound? (= ego-anim ego-windup)
entities (stop-swing-if-necessary screen entities)]
(cond
(and (not (get-in entities [:fg-actions :script-running?]))
(get-in entities [:state :active?])
(= 0 ego-hearts))
(do
((actions/get-script entities (common/do-win entities)) entities)
entities)
is-player-wound? (= ego-anim ego-windup)
entities (stop-swing-if-necessary screen entities)]
(cond
(and (not (get-in entities [:fg-actions :script-running?]))
(get-in entities [:state :active?])
(= 0 ego-hearts))
(do
((common/win)
entities)
entities)
(and (not (get-in entities [:fg-actions :script-running?]))
(get-in entities [:state :active?])
(= 0 tongue-hearts))
(do
((common/win)
entities)
entities)
(and (not (get-in entities [:fg-actions :script-running?]))
(get-in entities [:state :active?])
(= 0 tongue-hearts))
(do
((common/win)
entities)
entities)
(and
(= state :attack)
tongue-finished?)
(-> entities
(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 :heart] #(actions/start-animation screen % :idle)))
(and
(= state :attack)
tongue-finished?)
(-> entities
(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 :heart] #(actions/start-animation screen % :idle)))
(and
(= state :windup)
tongue-finished?
(or (not is-player-wound?)
ego-finished?))
(and
(= state :windup)
tongue-finished?
(or (not is-player-wound?)
ego-finished?))
(-> entities
(update-in [:room :entities :tongue] #(if is-player-wound?
(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?
(actions/start-animation screen % :tongue-swing)
(actions/start-animation screen % :tongue-hit)))
(show-heart screen is-player-wound?))
(-> entities
(update-in [:room :entities :tongue] #(if is-player-wound?
(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?
(actions/start-animation screen % :tongue-swing)
(actions/start-animation screen % :tongue-hit)))
(show-heart screen is-player-wound?))
(and (= state :idle)
is-player-wound?
ego-finished?)
(update-in entities [:room :entities :ego] #(actions/start-animation screen % :tongue-swing))
(and (= state :idle)
is-player-wound?
ego-finished?)
(update-in entities [:room :entities :ego] #(actions/start-animation screen % :tongue-swing))
;; reset timer if you wind up while the tongue is idle
(and (= state :idle)
is-player-wound?)
(assoc-in entities [:room :entities :tongue :started] (:total-time screen))
;; reset timer if you wind up while the tongue is idle
(and (= state :idle)
is-player-wound?)
(assoc-in entities [:room :entities :tongue :started] (:total-time screen))
(and (= state :idle)
(= 1 (rand-int (* 60 2)))
(> time-in-state 2.0)
(not is-player-wound?))
(-> entities
(update-in [:room :entities :tongue] #(actions/start-animation screen % :windup))
(update-in [:room :entities :tongue] assoc :state :windup :started (:total-time screen)))
(and (= state :idle)
(= 1 (rand-int (* 60 2)))
(> time-in-state 2.0)
(not is-player-wound?))
(-> entities
(update-in [:room :entities :tongue] #(actions/start-animation screen % :windup))
(update-in [:room :entities :tongue] assoc :state :windup :started (:total-time screen)))
(not started)
(assoc-in entities [:room :entities :tongue :started] (:total-time screen))
:else
(not started)
(assoc-in entities [:room :entities :tongue :started] (:total-time screen))
:else
entities
)))
entities
))
entities))
(defn make [screen atlas global-atlas]
(let [hair-0 (utils/make-anim-seq atlas "hair-0" [7 8] 0.12 (range 4))
@@ -141,8 +142,12 @@
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-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.12 [ 3 4 5 6])
tongue-attack-hit (utils/make-anim-seq atlas "tongue-attack-hit" [135 145] 0.1 (range 7))]
tongue-attack-hit (utils/make-anim-seq atlas "tongue-attack-hit" [135 145] 0.1 (range 7))
falling-bg (utils/make-anim-seq atlas "falling-bg" [128 128] 0.1 (range 6))
sword-spin (utils/make-anim-seq atlas "sword-spin" [300 238] 0.1 (range 6))]
(rooms/make :name "Tongue Fight"
@@ -150,10 +155,13 @@
:interactions {}
:layers [(assoc (utils/atlas->texture atlas "background") :x 0 :y 0 :baseline 0 :scale-x 1 :scale-y 1)]
:update-fn trigger-tongue
:ego-hearts 5
:tongue-hearts 5
:ego-hearts 1
:tongue-hearts 1
:entities {:hair-0 (assoc (animation->texture screen hair-0)
:entities {:penultimate (assoc (utils/atlas->texture atlas "penultimate") :x 0 :y 0 :baseline 2 :scale-x 1 :scale-y 1 :opacity 0)
:penultimate-wall (assoc (utils/atlas->texture atlas "penultimate-wall") :x 0 :y 0 :baseline 5 :scale-x 1 :scale-y 1 :opacity 0)
:penultimate-black (assoc (utils/atlas->texture atlas "penultimate-black") :x 0 :y 0 :baseline 6 :scale-x 1 :scale-y 1 :opacity 0)
:hair-0 (assoc (animation->texture screen hair-0)
:x 35
:y 46
:width 6
@@ -238,12 +246,36 @@
:y 29
:width 32
:height 32
:baseline 320
:baseline 321
:opacity 0
:anim heart
:idle heart
:beat beat
:anim-start 0)
:falling-bg (assoc (animation->texture screen falling-bg)
:x 0
:y 0
:width 320
:height 240
:baseline 320
:anim falling-bg
:opacity 0
:anim-start 0)
:sword-spin (assoc (animation->texture screen sword-spin)
:x 160
:y 120
:origin-x 150
:origin-y 120
:width 300
:height 238
:baseline 321
:opacity 0
:anim sword-spin
:anim-start 0)
:tongue (assoc (animation->texture screen tongue-idle)
:x 211
:y 40

View File

@@ -145,7 +145,7 @@
(defn left-click [screen entities options]
(println "x y" (:input-x options) (:input-y options))
(let [[x y] (utils/unproject screen options)
_ (log/info (str "clicked " x y))
_ (log/info (str "clicked " x " " y))
interaction (get-interaction entities x y)
interacting-entity (get-interacting-entity entities x y)
current-action (get-in entities [:fg-actions :current])
@@ -489,6 +489,7 @@
(texture (aget grow-sheet 0 i))))
squat-talk (utils/make-anim global-atlas "ego/squat-talk" [18 36] 0.2 [0 1 0 2 1 0 3])
frog (utils/make-anim global-atlas "ego/frog" [16 36] 0.1 [0])
fall-small (utils/make-anim-seq global-atlas "ego/fall-small" [9 16] 0.1 [0])
frog-nod (utils/make-anim global-atlas "ego/frog" [16 36] 0.2 [0 1 0 1 0 1 0 1])
hold-up-to-window (utils/make-anim global-atlas "ego/hold-up-to-window" [18 36] 0.1 [0 1 2 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 2 1 0 0 0 0 0 0])
jump (utils/make-anim global-atlas "ego/swing" [36 75] 0.2 (flatten [[1 2]]))
@@ -562,6 +563,7 @@
:reach-start reach-start
:jump jump
:tongue-swing tongue-swing
:fall-small fall-small
:tongue-hit tongue-hit
:tongue-windup tongue-windup
:tongue-idle tongue-idle
@@ -611,6 +613,7 @@
:start-squat (utils/flip start-squat)
:start-squat-2 (utils/flip start-squat-2)
:end-squat (utils/flip end-squat)
:fall-small fall-small
:squat (utils/flip squat-anim)
:reach (utils/flip reach-anim)
:cat-toy (utils/flip cat-toy-anim)
@@ -776,6 +779,7 @@
(get-in ego [:right :axe]) {:origin-x 17}
(get-in ego [:right :axe-wood]) {:origin-x 17}
(get-in ego [:left :love]) {:origin-x 41}
(get-in ego [:left :fall-small]) {:origin-x 5 :origin-y 0}
(get-in ego [:left :suspended]) {:origin-x 0 :origin-y 0}
(get-in ego [:right :suspended]) {:origin-x 0 :origin-y 0}
(get-in ego [:left :suspended-talk]) {:origin-x 0 :origin-y 0}
@@ -1262,7 +1266,7 @@
:cat-tree {:day :town-2 :night :night :sunrise :night}
:inside-castle {:day :town-1 :night :night :sunrise :night}
:space :fight
:tongue-fight :fight
:tongue-fight :tongue-fight
:held :fight
:inside-cafeteria {:day :town-1 :night :night :sunrise :night}
:inside-antique :inside-antique
@@ -1289,6 +1293,7 @@
:town-1 (utils/make-music "music/town-music-1.ogg")
:town-2 (utils/make-music "music/town-music-2.ogg")
:love (utils/make-music "music/love.ogg")
:tongue-fight (utils/make-music "music/tongue-fight.ogg")
:inside-fangald (utils/make-music "music/inside-fangald.ogg")
:fight (utils/make-music "music/megaboss.mp3")
:pull-sword (utils/make-music "music/pull-sword.ogg")
@@ -1612,6 +1617,7 @@
(let [scene-entities (-> scene :entities deref)]
(and (not (get-in scene-entities [:fg-actions :script-running?]))
(get-in scene-entities [:state :active?])
(not= (get-in scene-entities [:state :last-room]) :tongue-fight)
(= 0.0 (get-in scene-entities [:fade :opacity])))))
(defmulti transition-hud (fn [screen entities new-state state-data]