diff --git a/desktop/gametodos.txt b/desktop/gametodos.txt
index fa7b1877..d5177a5a 100644
--- a/desktop/gametodos.txt
+++ b/desktop/gametodos.txt
@@ -1,4 +1,3 @@
-+ Grandma cry?
+ More ways to burn paper
+ drool icon
+ loop sounds update every frame instead of each play
@@ -11,4 +10,3 @@
+ secret lever
+ shopkeep sigh
+ proper save/settings file location
-+ grandma visual glitches
diff --git a/desktop/resources/cat-tree/grandma-cry.png b/desktop/resources/cat-tree/grandma-cry.png
new file mode 100644
index 00000000..da2a99ec
Binary files /dev/null and b/desktop/resources/cat-tree/grandma-cry.png differ
diff --git a/desktop/resources/cat-tree/grandma-cry.pxa/0.pxi b/desktop/resources/cat-tree/grandma-cry.pxa/0.pxi
index b04a6067..83880a75 100644
Binary files a/desktop/resources/cat-tree/grandma-cry.pxa/0.pxi and b/desktop/resources/cat-tree/grandma-cry.pxa/0.pxi differ
diff --git a/desktop/resources/cat-tree/grandma-cry.pxa/1.pxi b/desktop/resources/cat-tree/grandma-cry.pxa/1.pxi
index 0f83d8bc..6a710221 100644
Binary files a/desktop/resources/cat-tree/grandma-cry.pxa/1.pxi and b/desktop/resources/cat-tree/grandma-cry.pxa/1.pxi differ
diff --git a/desktop/resources/cat-tree/grandma-cry.pxa/10.pxi b/desktop/resources/cat-tree/grandma-cry.pxa/10.pxi
index 0757558c..a8d2ce2d 100644
Binary files a/desktop/resources/cat-tree/grandma-cry.pxa/10.pxi and b/desktop/resources/cat-tree/grandma-cry.pxa/10.pxi differ
diff --git a/desktop/resources/cat-tree/grandma-cry.pxa/11.pxi b/desktop/resources/cat-tree/grandma-cry.pxa/11.pxi
index 1c313cce..baf3f73b 100644
Binary files a/desktop/resources/cat-tree/grandma-cry.pxa/11.pxi and b/desktop/resources/cat-tree/grandma-cry.pxa/11.pxi differ
diff --git a/desktop/resources/cat-tree/grandma-cry.pxa/12.pxi b/desktop/resources/cat-tree/grandma-cry.pxa/12.pxi
index 02511249..3d94abec 100644
Binary files a/desktop/resources/cat-tree/grandma-cry.pxa/12.pxi and b/desktop/resources/cat-tree/grandma-cry.pxa/12.pxi differ
diff --git a/desktop/resources/cat-tree/grandma-cry.pxa/13.pxi b/desktop/resources/cat-tree/grandma-cry.pxa/13.pxi
index 236578d0..6cdaf192 100644
Binary files a/desktop/resources/cat-tree/grandma-cry.pxa/13.pxi and b/desktop/resources/cat-tree/grandma-cry.pxa/13.pxi differ
diff --git a/desktop/resources/cat-tree/grandma-cry.pxa/14.pxi b/desktop/resources/cat-tree/grandma-cry.pxa/14.pxi
index ad2df197..44f57265 100644
Binary files a/desktop/resources/cat-tree/grandma-cry.pxa/14.pxi and b/desktop/resources/cat-tree/grandma-cry.pxa/14.pxi differ
diff --git a/desktop/resources/cat-tree/grandma-cry.pxa/15.pxi b/desktop/resources/cat-tree/grandma-cry.pxa/15.pxi
index bed7ccd3..6629c8cf 100644
Binary files a/desktop/resources/cat-tree/grandma-cry.pxa/15.pxi and b/desktop/resources/cat-tree/grandma-cry.pxa/15.pxi differ
diff --git a/desktop/resources/cat-tree/grandma-cry.pxa/16.pxi b/desktop/resources/cat-tree/grandma-cry.pxa/16.pxi
index 2a827aaa..072e9d57 100644
Binary files a/desktop/resources/cat-tree/grandma-cry.pxa/16.pxi and b/desktop/resources/cat-tree/grandma-cry.pxa/16.pxi differ
diff --git a/desktop/resources/cat-tree/grandma-cry.pxa/17.pxi b/desktop/resources/cat-tree/grandma-cry.pxa/17.pxi
new file mode 100644
index 00000000..d5e0b975
Binary files /dev/null and b/desktop/resources/cat-tree/grandma-cry.pxa/17.pxi differ
diff --git a/desktop/resources/cat-tree/grandma-cry.pxa/18.pxi b/desktop/resources/cat-tree/grandma-cry.pxa/18.pxi
new file mode 100644
index 00000000..b7deef07
Binary files /dev/null and b/desktop/resources/cat-tree/grandma-cry.pxa/18.pxi differ
diff --git a/desktop/resources/cat-tree/grandma-cry.pxa/19.pxi b/desktop/resources/cat-tree/grandma-cry.pxa/19.pxi
new file mode 100644
index 00000000..9172a244
Binary files /dev/null and b/desktop/resources/cat-tree/grandma-cry.pxa/19.pxi differ
diff --git a/desktop/resources/cat-tree/grandma-cry.pxa/2.pxi b/desktop/resources/cat-tree/grandma-cry.pxa/2.pxi
index d2b3013e..7613907f 100644
Binary files a/desktop/resources/cat-tree/grandma-cry.pxa/2.pxi and b/desktop/resources/cat-tree/grandma-cry.pxa/2.pxi differ
diff --git a/desktop/resources/cat-tree/grandma-cry.pxa/3.pxi b/desktop/resources/cat-tree/grandma-cry.pxa/3.pxi
index 7f8090be..b81b8714 100644
Binary files a/desktop/resources/cat-tree/grandma-cry.pxa/3.pxi and b/desktop/resources/cat-tree/grandma-cry.pxa/3.pxi differ
diff --git a/desktop/resources/cat-tree/grandma-cry.pxa/4.pxi b/desktop/resources/cat-tree/grandma-cry.pxa/4.pxi
index 659f767d..bb444f0f 100644
Binary files a/desktop/resources/cat-tree/grandma-cry.pxa/4.pxi and b/desktop/resources/cat-tree/grandma-cry.pxa/4.pxi differ
diff --git a/desktop/resources/cat-tree/grandma-cry.pxa/5.pxi b/desktop/resources/cat-tree/grandma-cry.pxa/5.pxi
index 10c9fb0a..0af63e84 100644
Binary files a/desktop/resources/cat-tree/grandma-cry.pxa/5.pxi and b/desktop/resources/cat-tree/grandma-cry.pxa/5.pxi differ
diff --git a/desktop/resources/cat-tree/grandma-cry.pxa/6.pxi b/desktop/resources/cat-tree/grandma-cry.pxa/6.pxi
index f710aa88..84bac9c6 100644
Binary files a/desktop/resources/cat-tree/grandma-cry.pxa/6.pxi and b/desktop/resources/cat-tree/grandma-cry.pxa/6.pxi differ
diff --git a/desktop/resources/cat-tree/grandma-cry.pxa/7.pxi b/desktop/resources/cat-tree/grandma-cry.pxa/7.pxi
index d0bda4b0..774bde42 100644
Binary files a/desktop/resources/cat-tree/grandma-cry.pxa/7.pxi and b/desktop/resources/cat-tree/grandma-cry.pxa/7.pxi differ
diff --git a/desktop/resources/cat-tree/grandma-cry.pxa/8.pxi b/desktop/resources/cat-tree/grandma-cry.pxa/8.pxi
index 79e8bb26..a82c65ee 100644
Binary files a/desktop/resources/cat-tree/grandma-cry.pxa/8.pxi and b/desktop/resources/cat-tree/grandma-cry.pxa/8.pxi differ
diff --git a/desktop/resources/cat-tree/grandma-cry.pxa/9.pxi b/desktop/resources/cat-tree/grandma-cry.pxa/9.pxi
index f6511912..c183d073 100644
Binary files a/desktop/resources/cat-tree/grandma-cry.pxa/9.pxi and b/desktop/resources/cat-tree/grandma-cry.pxa/9.pxi differ
diff --git a/desktop/resources/cat-tree/grandma-cry.pxa/CelData.plist b/desktop/resources/cat-tree/grandma-cry.pxa/CelData.plist
index 4431aeeb..cfd9a6e6 100644
--- a/desktop/resources/cat-tree/grandma-cry.pxa/CelData.plist
+++ b/desktop/resources/cat-tree/grandma-cry.pxa/CelData.plist
@@ -70,5 +70,17 @@
duration
0.10000000149011612
+
+ duration
+ 0.10000000149011612
+
+
+ duration
+ 0.10000000149011612
+
+
+ duration
+ 0.10000000149011612
+
diff --git a/desktop/resources/cat-tree/grandma.png b/desktop/resources/cat-tree/grandma.png
index 274af61c..f7ed2c19 100644
Binary files a/desktop/resources/cat-tree/grandma.png and b/desktop/resources/cat-tree/grandma.png differ
diff --git a/desktop/resources/cat-tree/grandma.pxa/0.pxi b/desktop/resources/cat-tree/grandma.pxa/0.pxi
index e4253d90..2d934f0c 100644
Binary files a/desktop/resources/cat-tree/grandma.pxa/0.pxi and b/desktop/resources/cat-tree/grandma.pxa/0.pxi differ
diff --git a/desktop/resources/cat-tree/grandma.pxa/1.pxi b/desktop/resources/cat-tree/grandma.pxa/1.pxi
index 19cebc69..bc382196 100644
Binary files a/desktop/resources/cat-tree/grandma.pxa/1.pxi and b/desktop/resources/cat-tree/grandma.pxa/1.pxi differ
diff --git a/desktop/resources/cat-tree/grandma.pxa/10.pxi b/desktop/resources/cat-tree/grandma.pxa/10.pxi
index 71acf437..ca2a3929 100644
Binary files a/desktop/resources/cat-tree/grandma.pxa/10.pxi and b/desktop/resources/cat-tree/grandma.pxa/10.pxi differ
diff --git a/desktop/resources/cat-tree/grandma.pxa/2.pxi b/desktop/resources/cat-tree/grandma.pxa/2.pxi
index e13f53d1..9689c876 100644
Binary files a/desktop/resources/cat-tree/grandma.pxa/2.pxi and b/desktop/resources/cat-tree/grandma.pxa/2.pxi differ
diff --git a/desktop/resources/cat-tree/grandma.pxa/3.pxi b/desktop/resources/cat-tree/grandma.pxa/3.pxi
index c172e8f3..ae7dd922 100644
Binary files a/desktop/resources/cat-tree/grandma.pxa/3.pxi and b/desktop/resources/cat-tree/grandma.pxa/3.pxi differ
diff --git a/desktop/resources/cat-tree/grandma.pxa/4.pxi b/desktop/resources/cat-tree/grandma.pxa/4.pxi
index 9e9ea1a3..f85fa0ca 100644
Binary files a/desktop/resources/cat-tree/grandma.pxa/4.pxi and b/desktop/resources/cat-tree/grandma.pxa/4.pxi differ
diff --git a/desktop/resources/cat-tree/grandma.pxa/5.pxi b/desktop/resources/cat-tree/grandma.pxa/5.pxi
index 0c7c7766..8b652abf 100644
Binary files a/desktop/resources/cat-tree/grandma.pxa/5.pxi and b/desktop/resources/cat-tree/grandma.pxa/5.pxi differ
diff --git a/desktop/resources/cat-tree/grandma.pxa/6.pxi b/desktop/resources/cat-tree/grandma.pxa/6.pxi
index 13c518ea..637d10c5 100644
Binary files a/desktop/resources/cat-tree/grandma.pxa/6.pxi and b/desktop/resources/cat-tree/grandma.pxa/6.pxi differ
diff --git a/desktop/resources/cat-tree/grandma.pxa/7.pxi b/desktop/resources/cat-tree/grandma.pxa/7.pxi
index aab57466..82e27dd5 100644
Binary files a/desktop/resources/cat-tree/grandma.pxa/7.pxi and b/desktop/resources/cat-tree/grandma.pxa/7.pxi differ
diff --git a/desktop/resources/cat-tree/grandma.pxa/8.pxi b/desktop/resources/cat-tree/grandma.pxa/8.pxi
index 3d64d2cf..5d02299b 100644
Binary files a/desktop/resources/cat-tree/grandma.pxa/8.pxi and b/desktop/resources/cat-tree/grandma.pxa/8.pxi differ
diff --git a/desktop/resources/cat-tree/grandma.pxa/9.pxi b/desktop/resources/cat-tree/grandma.pxa/9.pxi
index 79d4f7c2..ccbaf10f 100644
Binary files a/desktop/resources/cat-tree/grandma.pxa/9.pxi and b/desktop/resources/cat-tree/grandma.pxa/9.pxi differ
diff --git a/desktop/resources/title/particle-clouds b/desktop/resources/title/particle-clouds
index 227c8628..81faf792 100644
--- a/desktop/resources/title/particle-clouds
+++ b/desktop/resources/title/particle-clouds
@@ -218,12 +218,12 @@ lowMin: 3000.0
lowMax: 3000.0
- Count -
min: 0
-max: 5
+max: 10
- Emission -
lowMin: 0.0
lowMax: 0.0
-highMin: 1.0
-highMax: 1.0
+highMin: 2.0
+highMax: 2.0
relative: false
scalingCount: 1
scaling0: 1.0
@@ -254,7 +254,7 @@ timelineCount: 1
timeline0: 0.0
- Y Offset -
active: true
-lowMin: 220.0
+lowMin: 480.0
lowMax: 70.0
highMin: 0.0
highMax: 0.0
@@ -396,12 +396,12 @@ lowMin: 3000.0
lowMax: 3000.0
- Count -
min: 0
-max: 5
+max: 10
- Emission -
lowMin: 0.0
lowMax: 0.0
-highMin: 1.0
-highMax: 1.0
+highMin: 2.0
+highMax: 2.0
relative: false
scalingCount: 1
scaling0: 1.0
@@ -432,7 +432,7 @@ timelineCount: 1
timeline0: 0.0
- Y Offset -
active: true
-lowMin: 220.0
+lowMin: 480.0
lowMax: 70.0
highMin: 0.0
highMax: 0.0
diff --git a/desktop/src-common/advent/screens/rooms/cat_tree.clj b/desktop/src-common/advent/screens/rooms/cat_tree.clj
index 3596ad3f..e54daa1d 100644
--- a/desktop/src-common/advent/screens/rooms/cat_tree.clj
+++ b/desktop/src-common/advent/screens/rooms/cat_tree.clj
@@ -36,6 +36,7 @@
(actions/do-dialogue entities
:grandma "Oh, good, a strapping young lad!"
:grandma "Are you here to help this damsel in distress?")
+ (actions/play-animation entities :grandma :cry)
(actions/present-choices entities {:choices
["Damsel in distress?"
{:run #(actions/respond entities %
@@ -43,12 +44,14 @@
:ego "Don't you have to be young to be a damsel?"
:grandma "I'm 113 years young! I'm practically a baby!")
:choices ["What's your distress?"
- {:run #(actions/respond entities %
- :grandma "It's my Smuffle Wuffles!"
- :grandma "We were on a pleasant walk through the woods."
- :grandma "Then we got in argument, and so he ran up into that tree!"
- :ego "An argument? With a cat?"
- :grandma "Yes of course! We were arguing about politics!")
+ {:run #(do (actions/respond entities %
+ :grandma "It's my Smuffle Wuffles!"
+ :grandma "We were on a pleasant walk through the woods."
+ :grandma "Then we got in argument, and so he ran up into that tree!")
+ (actions/play-animation entities :grandma :cry)
+ (actions/do-dialogue entities
+ :ego "An argument? With a cat?"
+ :grandma "Yes of course! We were arguing about politics!"))
:choices ["So you want me to get your cat down?"
{:run #(actions/respond entities %
:grandma "Yes! I need a courageous hero to rescue Smuffle Wuffles for me."
@@ -76,10 +79,11 @@
"Something else."
{:choices actions/something-else}]}
"What are you doing way out here?"
- {:run #(actions/respond entities %
- :grandma "Me and my cat, Smuffle Wuffles were on a nice, leisurely stroll."
- :grandma "Then he ran up that tree!"
- :grandma "So I've been camped out here for the last two days.")
+ {:run #(do (actions/respond entities %
+ :grandma "Me and my cat, Smuffle Wuffles were on a nice, leisurely stroll."
+ :grandma "Then he ran up that tree!"
+ :grandma "So I've been camped out here for the last two days.")
+ (actions/play-animation entities :grandma :cry))
:choices actions/previous-choices}
"Do you know how I can pull the Sword of Blergh, and become a knight?"
{:run #(actions/respond entities %
@@ -89,10 +93,12 @@
:grandma "How about proving your courage by helping rescue Smuffle Wuffles?")
:choices actions/previous-choices}
"Later."
- {:run #(actions/respond entities %
- :grandma "Please come back soon and help me rescue Smuffle Wuffles!")}]}))
+ {:run #(do (actions/respond entities %
+ :grandma "Please come back soon and help me rescue Smuffle Wuffles!")
+ (actions/play-animation entities :grandma :cry))}]}))
(defn do-grandma-dialogue [entities]
+
(if (actions/has-obtained? entities :kiss)
(do-saved-grandma-dialogue entities)
(do-grandma-dialogue-with-cat entities)))
@@ -194,6 +200,7 @@
grandma-squat-2 (utils/make-anim "cat-tree/grandma.png" [25 36] 0.2 [5 5 4 3])
grandma-talk (utils/make-anim "cat-tree/grandma.png" [25 36] 0.2 [0 2 0 2 0 2 0 2 0 2 0 1 0 2 0 0])
grandma-kiss (utils/make-anim "cat-tree/grandma.png" [25 36] 0.2 [0 8 9 10 9 10 9 10 9 8 0])
+ grandma-cry (utils/make-anim "cat-tree/grandma-cry.png" [58 40] 0.15 (flatten [(range 20) 0 0 0 0 0 0 0 0 0]))
owl-stand (utils/make-anim "cat-tree/owl.png" [19 28] 0.2 [0 0 0 0 0 0 0 2])
owl-talk (utils/make-anim "cat-tree/owl.png" [19 28] 0.2 [1 0 1 0 1 0 0 0 2 0])
owl-puke (utils/make-anim "cat-tree/owl.png" [19 28] 0.10 [0 0 2 2 3 2 2 3 3 2 3 3 3 4 5 6 7 4 4 3 3 2 2 2 2 2])
@@ -308,21 +315,24 @@
:ego "Sounds like the game designer was running out of good ideas."))
(actions/talk entities :ego "I guess I'm too far away.")))})
cat-stand)
- :grandma (assoc (animation->texture screen grandma-stand)
- :x 130 :y 37 :baseline 200
- :anim grandma-stand
- :anim-start 0
- :talk grandma-talk
- :kiss grandma-kiss
- :stand grandma-stand
- :squat-1 grandma-squat-1
- :squat-2 grandma-squat-2
+ :grandma (let [gma (assoc (animation->texture screen grandma-stand)
+ :x 130 :y 37 :baseline 200
+ :anim grandma-stand
+ :anim-start 0
+ :talk grandma-talk
+ :kiss grandma-kiss
+ :cry grandma-cry
+ :stand grandma-stand
+ :squat-1 grandma-squat-1
+ :squat-2 grandma-squat-2
- :talk-color (color 1.0 0.4 0.9 1.0)
- :origin-x 12
- :origin-y 0
- :scale-x 1.45
- :scale-y 1.45)
+ :talk-color (color 1.0 0.4 0.9 1.0)
+ :origin-x 13
+ :origin-y 0
+ :scale-x 1.45
+ :scale-y 1.45)]
+ (assoc gma :anim-merges {(:cry gma) {:origin-x 35 :origin-y 4}
+ :default {:origin-x 13 :origin-y 0}}))
:puke (assoc puke
:x 194 :y 188 :baseline 241)}
:owl (rooms/make-entity :owl (assoc (animation->texture screen owl-stand)