From 78f183d147c6b1d4927c1cd4b77bc3d14e62a74f Mon Sep 17 00:00:00 2001 From: Bryce Covert Date: Sat, 27 Dec 2014 14:22:38 -0800 Subject: [PATCH] more of the escape put into place. --- .../resources/inside-jail/collision-free.png | Bin 0 -> 22610 bytes .../inside-jail/collision-locked.png | Bin 0 -> 2349 bytes .../resources/inside-jail/moveable-bars.png | Bin 0 -> 1768 bytes .../advent/screens/rooms/inside_jail.clj | 54 +++++++++++++----- 4 files changed, 41 insertions(+), 13 deletions(-) create mode 100644 desktop/resources/inside-jail/collision-free.png create mode 100644 desktop/resources/inside-jail/collision-locked.png create mode 100644 desktop/resources/inside-jail/moveable-bars.png diff --git a/desktop/resources/inside-jail/collision-free.png b/desktop/resources/inside-jail/collision-free.png new file mode 100644 index 0000000000000000000000000000000000000000..5fb71cfe383da892ff67498ab02008f439ae674b GIT binary patch literal 22610 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 literal 0 HcmV?d00001 diff --git a/desktop/resources/inside-jail/moveable-bars.png b/desktop/resources/inside-jail/moveable-bars.png new file mode 100644 index 0000000000000000000000000000000000000000..2ef228bd4fc33c5a6c0f048944466b1d4f0b3f6a GIT binary patch literal 1768 zcmaJ?c~BEq91c;m4=NQY-z&*Dg_%CMHiBV zS{|rWElq<#X__cPo|YhIC~%xWAVAMV1=JuS1N7=djgF~jNUshT<##*}&!T*cI}1Wm~$ zp}~+$?fqA~Cr#)KnYJH?7d?C&e^7(YJd6%^X?#Z_dS_OK@q;4tz0b;83%kj-TkI45 z5(I~4au4yMfK5!i?HsXNyE!-2(t9t+F5qr$YX{kC_P)O6RHUbt zpSU8cZtg2+Ji+PI2RvBbRo>UyMc-Vh?(!Il!L{Yi`+ks~yYQZ%b8Pf!sB}AK?AMlz zjiaFTi|)rhO~f^@E$}`|>u{`f^SiXyBfU3SM}uzVY#lSJKjqXp`y$qAhHG)|j)P;m z#DQm*j5iJYD%v=kA3w>cX$Z1*_VuqK*o+K6zHt9#!)%e%e!kVIoS!S#v~X(3Nw9JO zl(!M5e2mWY&LvzLbH2Q6Ec$Tixu{ZW< z#IbcN_K7T-Xc$r51-s+ybZ)p=QzNZ8E;H6^h-~nzO>MV~8xcFGH?-H3`mUnyv2(6o zR#I2P*j5(zi=QBJaNoSdUBtVCw%KuR68nS9>a$jjG;m`p9DYmUSR>({TkBYS>84|( za1V{umg7xbHpAe;dpp0clHIuNILD(Q(A>MT+Owfz6Ed22$*C-H_eDa4*~=mEk6jsF zaC-L{eW;lu?T>6l?Rf&;X1CW@oQ0ae`jv(aHNTO&YG-vjgJBOVib9%8}V1nU| z@XXAX^u=TKhuw#tG{^K{XGK{ncgc#XI*9$lO8X?3;O%=byT#sgS~ z!u`Wd3u03SbecmYd84j7u--@oCGZ=77=DN;Oxu3?fu5-)q*$+q8TP7Roa21;5 zEDvYz7mqj(SWbCIJZBnxQ&`ybUp)M~^M>CXWn$pcQm46I)yXHzPu+{yrP{Mr`sE;S zw`Z)$d^BU3eVo@ZGXjQiD7tX#Ypi!dwzb``Tg=Pg=j5R~i_W>Pdtngcp_x{dYx|dM jJw1oCx+d#Y=oT{!zF<9MbYA|%^zR81i1^2Y*Jb?!=fbVO literal 0 HcmV?d00001 diff --git a/desktop/src-common/advent/screens/rooms/inside_jail.clj b/desktop/src-common/advent/screens/rooms/inside_jail.clj index 3099f43e..8ec11f5e 100644 --- a/desktop/src-common/advent/screens/rooms/inside_jail.clj +++ b/desktop/src-common/advent/screens/rooms/inside_jail.clj @@ -3,11 +3,42 @@ [advent.actions :as actions] [advent.screens.items :as items] [advent.utils :as utils] + [advent.pathfind] [clojure.zip :as zip] [play-clj.core :refer :all] [play-clj.ui :refer :all] [play-clj.utils :refer :all] [play-clj.g2d :refer :all])) +(defn remove-lock [entities] + (-> entities + (update-in [:room :interactions] + (fn [i] (remove #(= :lock (:id %)) i))) + (assoc-in [:room :collision] (get-in entities [:room :collision-free])))) + +(defn open-lock [entities] + (actions/walk-to entities :ego [174 80] :face :right) + (actions/play-animation entities :ego :reach) + (actions/talk entities :ego "Yes, that's it!") + (actions/walk-straight-to entities :moveable-bars [60 77]) + (actions/update-entities entities #(remove-lock %)) + (actions/update-state entities #(assoc % :opened-bars? true))) + +(defn touch-chest [entities] + (if (get-in @entities [:state :opened-bars?]) + (do (actions/walk-to entities :ego [192 66] :face :right) + (actions/play-animation entities :ego :reach) + (actions/do-dialogue entities + :ego "Hey!" + :ego "All my possessions are in here!") + (when (not (actions/has-obtained? entities :rope)) + (actions/do-dialogue entities :ego "Looks like there's some rope in here too."))) + + (do (actions/walk-to entities :ego [179 81] :face :right) + (actions/play-animation entities :ego :reach) + (actions/do-dialogue entities :ego "I can't reach it!") + (when (not (get-in @entities [:state :warden-sleeping?])) + (actions/do-dialogue entities :warden "Quit yer yappin'!" + :warden "You're not escaping while I'm on watch, so just give it up."))))) (defn do-warden-dialogue [entities] @@ -90,9 +121,7 @@ :ego "Maybe you should give it a rest."))) (actions/update-state entities #(assoc % :hay-searches (inc hay-searches))))) -(defn remove-lock [entities] - (update-in entities [:room :interactions] - (fn [i] (remove #(= :lock (:id %)) i)))) + (defn make [screen] (let [warden-sheet (texture! (texture "inside-jail/warden.png") :split 43 58) @@ -111,13 +140,7 @@ (actions/walk-to entities :ego [174 80] :face :right) (actions/play-animation entities :ego :reach) (actions/talk entities :ego "There's no helping it. It's locked.")) - :scripts {:key (actions/get-script entities - (actions/walk-to entities :ego [174 80] :face :right) - (actions/play-animation entities :ego :reach) - (actions/talk entities :ego "Yes, that's it!") - (actions/walk-straight-to entities :moveable-bars [60 77]) - (actions/update-entities entities #(remove-lock %)) - (actions/update-state entities #(assoc % :opened-bars? true)))}} + :scripts {:key (actions/get-script entities (open-lock entities))}} :window {:box [98 110 118 140] :script (actions/get-script entities (actions/walk-to entities :ego [102 88] :face :right) @@ -127,7 +150,9 @@ :ego "I have to find a way out of here!"))} :hay {:box [130 86 177 102] :script (actions/get-script entities - (search-hay entities))}} + (search-hay entities))} + :chest {:box [194 62 228 99] + :script (actions/get-script entities (touch-chest entities))}} :layers [(assoc (texture "inside-jail/background.png") :x 0 :y 0 :baseline 0) (assoc (texture "inside-jail/bars.png") :x 0 :y 0 :baseline 165) (assoc (texture "inside-jail/glow.png") :x 0 :y 0 :baseline 240)] @@ -161,7 +186,8 @@ (actions/give entities :ball-n-chain))) :moveable-bars (assoc (texture "inside-jail/moveable-bars.png") :x 132 :y 77 :baseline 163)} - :collision "inside-jail/collision.png" + :collision "inside-jail/collision-locked.png" + :collision-free (advent.pathfind/map-from-resource "inside-jail/collision-free.png") :scale-fn (utils/scaler-fn-with-baseline 0 0.50 1.5) :start-pos [130 85] :apply-state (fn [entities] @@ -173,5 +199,7 @@ (update-in entities [:room :entities :warden] #(actions/start-animation % :sleep)) entities) (if (get-in entities [:state :opened-bars?]) - (remove-lock entities) + (update-in (remove-lock entities) + [:room :entities :moveable-bars] + #(assoc % :x 60 :y 77)) entities))))))