(ns advent.screens.items (:require [advent.actions :as actions])) (declare stick) (declare wool) (declare cat-toy) (declare flask-1-with-milk) (declare slobber) (declare flask-1-strength) (declare flask-1-with-cream-of-mushroom) (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}) (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-strength}) (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 ladder {:name "ladder" :value :ladder :cursor :ladder}) (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}) (def grass {:name "Huge grass" :value :grass :cursor :grass}) (defn make-strength-potion [] (actions/get-script entities (actions/remove-item entities :flask-1-with-cream-of-mushroom) (actions/remove-item entities :slobber) (actions/give entities :flask-1-strength) (actions/talk entities :ego "It's the completed potion of strength!"))) (def slobber {:name "Bull slobber" :value :slobber :cursor :slobber :scripts {:flask-1-with-cream-of-mushroom (make-strength-potion)}}) (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 :scripts {:slobber (make-strength-potion)}}) (def medal {:name "Medal of strength" :value :medal :cursor :medal}) (def items {:wool {:name "Wool" :value :wool :cursor :wool :scripts {:stick make-cat-toy}} :mushrooms {:name "Mushrooms" :value :mushrooms :cursor :mushrooms} :carrot {:name "Carrot" :value :carrot :cursor :carrot} :flask-1-with-mushrooms {:name "Flask with mushrooms" :value :flask-1-with-mushrooms :cursor :flask-with-contents} :flask-1-with-milk {:name "Flask with milk" :value :flask-1-with-milk :cursor :flask-with-contents :scripts {:mushrooms (make-cream-of-mushroom)}} :flask-1-strength {:name "Strength potion" :value :flask-1-strength :cursor :flask-with-strength} :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."))}} :trophy {:name "Trophy of wisdom" :value :trophy :cursor :trophy} :cheat-deck {:name "Warlock's Tower cheat deck" :value :cheat-deck :cursor :cheat-deck} :cat-toy {:name "Cat toy" :value :cat-toy :cursor :cat-toy} :stick {:name "Stick" :value :stick :cursor :stick :scripts {:wool make-cat-toy}} :balloon {:name "Choicest of balloons" :value :balloon :cursor :balloon} :frog-legs {:name "Frog legs" :value :frog-legs :cursor :frog-legs} :ladder {:name "ladder" :value :ladder :cursor :ladder} :teddy {:name "Teddy Bear" :value :teddy :cursor :teddy} :portrait {:name "Portrait" :value :portrait :cursor :portrait} :recipe {:name "Strength potion recipe" :value :recipe :cursor :recipe} :glass-eye {:name "Choicest of glass eyes" :value :glass-eye :cursor :glass-eye} :motivational-tapes {:name "Choicest motivational tapes" :value :motivational-tapes :cursor :motivational-tapes} :used-earplugs {:name "Choicest used earplugs" :value :used-earplugs :cursor :used-earplugs} :grass {:name "Huge grass" :value :grass :cursor :grass} :slobber {:name "Bull slobber" :value :slobber :cursor :slobber :scripts {:flask-1-with-cream-of-mushroom (make-strength-potion)}} :flask-1-with-cream-of-mushroom {:name "Flask with cream of mushrooms soup" :value :flask-1-with-cream-of-mushroom :cursor :flask-with-contents :scripts {:slobber (make-strength-potion)}} :medal {:name "Medal of strength" :value :medal :cursor :medal} :kiss {:name "Kiss for courage" :value :kiss :cursor :kiss} :sword {:name "Sword of Blergh" :value :sword :cursor :sword} })