20 lines
870 B
Clojure
20 lines
870 B
Clojure
(ns advent.screens.rooms.common
|
|
(:require [clojure.core.async :refer [chan]]
|
|
[advent.screens.rooms :as rooms]
|
|
[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 go-to-jail [entities]
|
|
(actions/update-state entities #(assoc % :time :night))
|
|
(actions/update-state entities #(assoc % :chest-contents (concat (remove #{:key} (:inventory %)) (:chest-contents %))))
|
|
(actions/update-state entities #(assoc % :inventory []))
|
|
(actions/update-state entities #(assoc % :opened-bars? false))
|
|
(actions/transition-background entities :inside-jail [130 85]))
|