58 lines
3.2 KiB
Clojure
58 lines
3.2 KiB
Clojure
(ns advent.screens.items
|
|
(:require [advent.actions :as actions]))
|
|
|
|
|
|
(declare stick)
|
|
(declare wool)
|
|
(declare cat-toy)
|
|
(declare flask-1-with-milk)
|
|
(def make-cat-toy
|
|
(actions/get-script entities
|
|
(actions/remove-item entities stick)
|
|
(actions/remove-item entities wool)
|
|
(actions/give entities cat-toy)
|
|
(actions/talk entities :ego "It makes a little cat toy!")))
|
|
|
|
(def wool {:name "Wool" :value :wool :cursor :wool :scripts {:stick make-cat-toy}})
|
|
(def mushrooms {:name "Mushrooms" :value :mushrooms :cursor :mushrooms})
|
|
(def carrot {:name "Carrot" :value :carrot :cursor :carrot})
|
|
|
|
(def flask-1-with-mushrooms {:name "Flask with mushrooms" :value :flask-1-with-mushrooms :cursor :flask-with-contents})
|
|
(def flask-1-with-cream-of-mushroom {:name "Flask with cream of mushrooms soup" :value :flask-1-with-cream-of-mushroom :cursor :flask-with-contents})
|
|
|
|
|
|
(defn make-cream-of-mushroom []
|
|
(actions/get-script entities
|
|
(actions/remove-item entities flask-1-with-mushrooms)
|
|
(actions/remove-item entities flask-1-with-milk)
|
|
(actions/remove-item entities mushrooms)
|
|
(actions/give entities flask-1-with-cream-of-mushroom)
|
|
(actions/talk entities :ego "It's just like cream of mushroom soup.")))
|
|
|
|
(def flask-1-with-milk {:name "Flask with milk" :value :flask-1-with-milk :cursor :flask-with-contents
|
|
:scripts {:mushrooms (make-cream-of-mushroom)}})
|
|
|
|
(def flask-1-strength {:name "Strength potion" :value :flask-1-strength :cursor :flask-with-contents})
|
|
(def flask-1 {:name "Flask" :value :flask-1 :cursor :flask
|
|
:scripts {:mushrooms (actions/get-script entities
|
|
(actions/remove-item entities flask-1)
|
|
(actions/remove-item entities mushrooms)
|
|
(actions/give entities flask-1-with-mushrooms)
|
|
(actions/talk entities :ego "I'll just put a few of these in here."))}})
|
|
|
|
(def trophy {:name "Trophy of wisdom" :value :trophy :cursor :trophy})
|
|
(def cheat-deck {:name "Warlock's Tower cheat deck" :value :cheat-deck :cursor :cheat-deck})
|
|
|
|
(def cat-toy {:name "Cat toy" :value :cat-toy :cursor :cat-toy})
|
|
(def stick {:name "Stick" :value :stick :cursor :stick :scripts {:wool make-cat-toy}})
|
|
(def balloon {:name "Choicest of balloons" :value :balloon :cursor :balloon})
|
|
(def frog-legs {:name "Frog legs" :value :frog-legs :cursor :frog-legs})
|
|
(def stool {:name "Stool" :value :stool :cursor :stool})
|
|
(def teddy {:name "Teddy Bear" :value :teddy :cursor :teddy})
|
|
(def portrait {:name "Portrait" :value :portrait :cursor :portrait})
|
|
(def recipe {:name "Strength potion recipe" :value :recipe :cursor :recipe})
|
|
|
|
(def glass-eye {:name "Choicest of glass eyes" :value :glass-eye :cursor :glass-eye})
|
|
(def motivational-tapes {:name "Choicest motivational tapes" :value :motivational-tapes :cursor :motivational-tapes})
|
|
(def used-earplugs {:name "Choicest used earplugs" :value :used-earplugs :cursor :used-earplugs})
|