(ns advent.screens.items
  (:require [advent.actions :as actions]))

(def wool {:name "Wool" :value :wool :cursor :wool})
(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-from [from]
  (actions/get-script entities
                      (actions/remove-item entities from)
                      (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-from flask-1-with-milk)}}) 

(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/give entities flask-1-with-mushrooms)
                                                      (actions/talk entities :ego "I'll just put a few of these in here."))}})

(def cards {:name "Warlock's Tower cards" :value :cards :cursor :cards})
(def cheat-deck {:name "Warlock's Tower cheat deck" :value :cheat-deck :cursor :cheat-deck})
