diff --git a/desktop/resources/ego/pull-sword.psd b/desktop/resources/ego/pull-sword.psd index 8d25b1e7..8cb51dd6 100644 Binary files a/desktop/resources/ego/pull-sword.psd and b/desktop/resources/ego/pull-sword.psd differ diff --git a/desktop/resources/ego/test.psd b/desktop/resources/ego/test.psd new file mode 100644 index 00000000..f44ce0a6 Binary files /dev/null and b/desktop/resources/ego/test.psd differ diff --git a/desktop/resources/space/Blergh b/desktop/resources/space/Blergh new file mode 100644 index 00000000..68028d33 Binary files /dev/null and b/desktop/resources/space/Blergh differ diff --git a/desktop/resources/space/Blergh.png b/desktop/resources/space/Blergh.png new file mode 100644 index 00000000..9ec7f7d4 Binary files /dev/null and b/desktop/resources/space/Blergh.png differ diff --git a/desktop/resources/space/background.png b/desktop/resources/space/background.png new file mode 100644 index 00000000..d6a8ca93 Binary files /dev/null and b/desktop/resources/space/background.png differ diff --git a/desktop/resources/space/blegh-flex.png b/desktop/resources/space/blegh-flex.png new file mode 100644 index 00000000..417bc5a3 Binary files /dev/null and b/desktop/resources/space/blegh-flex.png differ diff --git a/desktop/resources/space/blegh-talk.png b/desktop/resources/space/blegh-talk.png new file mode 100644 index 00000000..cf990093 Binary files /dev/null and b/desktop/resources/space/blegh-talk.png differ diff --git a/desktop/resources/space/blergh-flex.png b/desktop/resources/space/blergh-flex.png new file mode 100644 index 00000000..4532970c Binary files /dev/null and b/desktop/resources/space/blergh-flex.png differ diff --git a/desktop/resources/space/blergh-stand.png b/desktop/resources/space/blergh-stand.png new file mode 100644 index 00000000..0e1fb4cf Binary files /dev/null and b/desktop/resources/space/blergh-stand.png differ diff --git a/desktop/resources/space/blergh-talk.png b/desktop/resources/space/blergh-talk.png new file mode 100644 index 00000000..b9b83403 Binary files /dev/null and b/desktop/resources/space/blergh-talk.png differ diff --git a/desktop/resources/space/collision.png b/desktop/resources/space/collision.png new file mode 100644 index 00000000..ddde4691 Binary files /dev/null and b/desktop/resources/space/collision.png differ diff --git a/desktop/src-common/advent/screens/rooms/inside_castle.clj b/desktop/src-common/advent/screens/rooms/inside_castle.clj index 5ec025f6..4564426f 100644 --- a/desktop/src-common/advent/screens/rooms/inside_castle.clj +++ b/desktop/src-common/advent/screens/rooms/inside_castle.clj @@ -104,7 +104,28 @@ (actions/play-animation entities :pull-sword :pull-sword) (actions/give entities :sword) (actions/remove-entity entities :sword) - (actions/talk entities :ego "I got it! I will become the greatest knight Remington has ever known!")) + (actions/transition-background entities :space [83 80]) + (actions/do-dialogue entities :ego "Where am I?") + (actions/walk-to entities :ego [65 85] :face :left) + (actions/do-dialogue entities :ego "What's going on?") + (actions/walk-to entities :ego [55 55] :face :left) + (actions/do-dialogue entities :ego "What is this place?" + :blergh "Ahem.") + (actions/walk-to entities :ego [50 55] :face :right) + (actions/do-dialogue entities :ego "Who are YOU?!?!?!" + :blergh "I'm your worst nightmare." + :blergh "I am Blergh, and this is my dimension." + :blergh "The last 100 years I have waited for someone to pull my old sword,\n and give me my chance to escape this prison!" + :blergh "And you are the best you people could send me? HA!" + :ego "Wait a second. I'm just a kid." + :ego "I'm just trying to impress Georgia McGorgeous." + :ego "I just... accidentally pulled the sword!" + :ego "I didn't know I would have to fight!" + :blergh "'Fight he must for one more test,\nHe will die if not the best.'" + :blergh "Ring any bells?" + :blergh "This will be easy." + :blergh "I'll even let you take a free shot at me." + :blergh "Come on! Give it a go!")) (defn try-to-pull-sword [entities missing-items obtained-items] (let [item->proof {:trophy "wisdom" :medal "strength" :kiss "courage"}] diff --git a/desktop/src-common/advent/screens/rooms/space.clj b/desktop/src-common/advent/screens/rooms/space.clj new file mode 100644 index 00000000..fc5be906 --- /dev/null +++ b/desktop/src-common/advent/screens/rooms/space.clj @@ -0,0 +1,29 @@ +(ns advent.screens.rooms.space + (:require [advent.screens.rooms :as rooms] + [advent.actions :as actions] + [advent.screens.items :as items] + [advent.utils :as utils] + [clojure.zip :as zip] + [clojure.set :as set] + [clojure.string :as str] + [play-clj.core :refer :all] + [play-clj.ui :refer :all] + [play-clj.utils :refer :all] + [play-clj.g2d :refer :all])) + +(defn make [screen] + (let [blergh-stand (texture "space/blergh-stand.png") + blergh-talk (texture "space/blergh-talk.png") + blergh-flex (texture "space/blergh-flex.png") + blergh-talk-anim (animation 0.3 [blergh-talk blergh-stand]) + blergh-stand-anim (animation 0.7 [blergh-flex blergh-stand]) + ] + (rooms/make :music :town-1 + :interactions + {} + :layers [(assoc (texture "space/background.png") :x 0 :y 0 :baseline 0)] + + :entities {:blergh (assoc (animation->texture screen blergh-stand-anim) :x 180 :y 50 :baseline 190 :anim blergh-stand-anim :anim-start 0 :stand blergh-stand-anim :talk blergh-talk-anim)} + :collision "space/collision.png" + :scale-fn (constantly 1.5) + :start-pos [43 80]))) diff --git a/desktop/src-common/advent/screens/scene.clj b/desktop/src-common/advent/screens/scene.clj index 890b6b96..22fe6def 100644 --- a/desktop/src-common/advent/screens/scene.clj +++ b/desktop/src-common/advent/screens/scene.clj @@ -21,6 +21,7 @@ [advent.screens.rooms.inside-antique :as rooms.inside-antique] [advent.screens.rooms.behind-house :as rooms.behind-house] [advent.screens.rooms.outside-castle :as rooms.outside-castle] + [advent.screens.rooms.space :as rooms.space] [advent.screens.rooms.cat-tree :as rooms.cat-tree] [advent.screens.dialogue :refer [talking-screen]] [advent.screens.inventory :refer [inventory-screen]] @@ -259,6 +260,7 @@ :behind-house (rooms.behind-house/make screen) :cat-tree (rooms.cat-tree/make screen) :inside-castle (rooms.inside-castle/make screen) + :space (rooms.space/make screen) :inside-cafeteria (rooms.inside-cafeteria/make screen) :inside-antique (rooms.inside-antique/make screen) :outside-castle (rooms.outside-castle/make screen)}