diff --git a/code/defines/obj/hydro.dm b/code/defines/obj/hydro.dm
index c284c6a6da2..9307bdfe497 100644
--- a/code/defines/obj/hydro.dm
+++ b/code/defines/obj/hydro.dm
@@ -1001,761 +1001,9 @@
*/
-
-
-// ***********************************************************
-// Foods that are produced from hydroponics ~~~~~~~~~~
-// Data from the seeds carry over to these grown foods
-// ***********************************************************
-
-//Grown foods
-/obj/item/weapon/reagent_containers/food/snacks/grown/ //New subclass so we can pass on values
- var/seed = ""
- var/plantname = ""
- var/productname = ""
- var/species = ""
- var/lifespan = 0
- var/endurance = 0
- var/maturation = 0
- var/production = 0
- var/yield = 0
- var/potency = -1
- var/plant_type = 0
- icon = 'icons/obj/harvest.dmi'
- New(newloc,newpotency)
- if (!isnull(newpotency))
- potency = newpotency
- ..()
- src.pixel_x = rand(-5.0, 5)
- src.pixel_y = rand(-5.0, 5)
-
-/obj/item/weapon/reagent_containers/food/snacks/grown/attackby(var/obj/item/O as obj, var/mob/user as mob)
- ..()
- if (istype(O, /obj/item/device/analyzer/plant_analyzer))
- var/msg
- msg = "*---------*\n This is \a [src]\n"
- switch(plant_type)
- if(0)
- msg += "- Plant type: Normal plant\n"
- if(1)
- msg += "- Plant type: Weed\n"
- if(2)
- msg += "- Plant type: Mushroom\n"
- msg += "- Potency: [potency]\n"
- msg += "- Yield: [yield]\n"
- msg += "- Maturation speed: [maturation]\n"
- msg += "- Production speed: [production]\n"
- msg += "- Endurance: [endurance]\n"
- msg += "- Healing properties: [reagents.get_reagent_amount("nutriment")]\n"
- msg += "*---------*"
- usr << msg
- return
-
-/obj/item/weapon/grown/attackby(var/obj/item/O as obj, var/mob/user as mob)
- ..()
- if (istype(O, /obj/item/device/analyzer/plant_analyzer))
- var/msg
- msg = "*---------*\n This is \a [src]\n"
- switch(plant_type)
- if(0)
- msg += "- Plant type: Normal plant\n"
- if(1)
- msg += "- Plant type: Weed\n"
- if(2)
- msg += "- Plant type: Mushroom\n"
- msg += "- Acid strength: [potency]\n"
- msg += "- Yield: [yield]\n"
- msg += "- Maturation speed: [maturation]\n"
- msg += "- Production speed: [production]\n"
- msg += "- Endurance: [endurance]\n"
- msg += "*---------*"
- usr << msg
- return
-
-/obj/item/weapon/reagent_containers/food/snacks/grown/corn
- seed = "/obj/item/seeds/cornseed"
- name = "ear of corn"
- desc = "Needs some butter!"
- icon_state = "corn"
- potency = 40
- trash = /obj/item/weapon/corncob
-
- New()
- ..()
- spawn(5) //So potency can be set in the proc that creates these crops
- reagents.add_reagent("nutriment", 1+round((potency / 10), 1))
- bitesize = 1+round(reagents.total_volume / 2, 1)
-
-
-/obj/item/weapon/reagent_containers/food/snacks/grown/poppy
- seed = "/obj/item/seeds/poppyseed"
- name = "poppy"
- desc = "Long-used as a symbol of rest, peace, and death."
- icon_state = "poppy"
- potency = 30
- New()
- ..()
- spawn(5) //So potency can be set in the proc that creates these crops
- reagents.add_reagent("nutriment", 1+round((potency / 20), 1))
- reagents.add_reagent("bicaridine", 1+round((potency / 10), 1))
- bitesize = 1+round(reagents.total_volume / 3, 1)
-
-/obj/item/weapon/reagent_containers/food/snacks/grown/harebell
- seed = "obj/item/seeds/harebellseed"
- name = "harebell"
- desc = "\"I'll sweeten thy sad grave: thou shalt not lack the flower that's like thy face, pale primrose, nor the azured hare-bell, like thy veins; no, nor the leaf of eglantine, whom not to slander, out-sweeten’d not thy breath.\""
- icon_state = "harebell"
- potency = 1
- New()
- ..()
- spawn(5) //So potency can be set in the proc that creates these crops
- reagents.add_reagent("nutriment", 1+round((potency / 20), 1))
- bitesize = 1+round(reagents.total_volume / 3, 1)
-
-/obj/item/weapon/reagent_containers/food/snacks/grown/potato
- seed = "/obj/item/seeds/potatoseed"
- name = "potato"
- desc = "Boil 'em! Mash 'em! Stick 'em in a stew!"
- icon_state = "potato"
- potency = 25
- New()
- ..()
- reagents.add_reagent("nutriment", 1+round((potency / 10), 1))
- spawn(5) //So potency can be set in the proc that creates these crops
- bitesize = reagents.total_volume
-
-/obj/item/weapon/reagent_containers/food/snacks/grown/grapes
- seed = "/obj/item/seeds/grapeseed"
- name = "bunch of grapes"
- desc = "Nutritious!"
- icon_state = "grapes"
- New()
- ..()
- spawn(5) //So potency can be set in the proc that creates these crops
- reagents.add_reagent("nutriment", 1+round((potency / 10), 1))
- reagents.add_reagent("sugar", 1+round((potency / 5), 1))
- bitesize = 1+round(reagents.total_volume / 2, 1)
-
-/obj/item/weapon/reagent_containers/food/snacks/grown/greengrapes
- seed = "/obj/item/seeds/greengrapeseed"
- name = "bunch of green grapes"
- desc = "Nutritious!"
- icon_state = "greengrapes"
- potency = 25
- New()
- ..()
- spawn(5) //So potency can be set in the proc that creates these crops
- reagents.add_reagent("nutriment", 1+round((potency / 10), 1))
- reagents.add_reagent("kelotane", 3+round((potency / 5), 1))
- bitesize = 1+round(reagents.total_volume / 2, 1)
-
-/obj/item/weapon/reagent_containers/food/snacks/grown/cabbage
- seed = "/obj/item/seeds/cabbageseed"
- name = "cabbage"
- desc = "Ewwwwwwwwww. Cabbage."
- icon_state = "cabbage"
- potency = 25
- New()
- ..()
- spawn(5) //So potency can be set in the proc that creates these crops
- reagents.add_reagent("nutriment", 1+round((potency / 10), 1))
- bitesize = reagents.total_volume
-
-/obj/item/weapon/reagent_containers/food/snacks/grown/berries
- seed = "/obj/item/seeds/berryseed"
- name = "bunch of berries"
- desc = "Nutritious!"
- icon_state = "berrypile"
- New()
- ..()
- spawn(5) //So potency can be set in the proc that creates these crops
- reagents.add_reagent("nutriment", 1+round((potency / 10), 1))
- bitesize = 1+round(reagents.total_volume / 2, 1)
-
-/obj/item/weapon/reagent_containers/food/snacks/grown/glowberries
- seed = "/obj/item/seeds/glowberryseed"
- name = "bunch of glow-berries"
- desc = "Nutritious!"
- var/on = 1
- var/brightness_on = 2 //luminosity when on
- icon_state = "glowberrypile"
- New()
- ..()
- spawn(5) //So potency can be set in the proc that creates these crops
- reagents.add_reagent("nutriment", round((potency / 10), 1))
- reagents.add_reagent("radium", 3+round(potency / 5, 1))
- bitesize = 1+round(reagents.total_volume / 2, 1)
-
-/obj/item/weapon/reagent_containers/food/snacks/grown/glowberries/Del()
- if(istype(loc,/mob))
- loc.sd_SetLuminosity(loc.luminosity - potency/5)
- ..()
-
-/obj/item/weapon/reagent_containers/food/snacks/grown/glowberries/pickup(mob/user)
- src.sd_SetLuminosity(0)
- user.total_luminosity += potency/5
-
-/obj/item/weapon/reagent_containers/food/snacks/grown/glowberries/dropped(mob/user)
- user.total_luminosity -= potency/5
- src.sd_SetLuminosity(potency/5)
-
-/obj/item/weapon/reagent_containers/food/snacks/grown/cocoapod
- seed = "/obj/item/seeds/cocoapodseed"
- name = "cocoa pod"
- desc = "Fattening... Mmmmm... chucklate."
- icon_state = "cocoapod"
- potency = 50
- New()
- ..()
- spawn(5) //So potency can be set in the proc that creates these crops
- reagents.add_reagent("nutriment", 1+round((potency / 10), 1))
- reagents.add_reagent("coco", 4+round((potency / 5), 1))
- bitesize = 1+round(reagents.total_volume / 2, 1)
-
-/obj/item/weapon/reagent_containers/food/snacks/grown/sugarcane
- seed = "/obj/item/seeds/sugarcaneseed"
- name = "sugarcane"
- desc = "Sickly sweet."
- icon_state = "sugarcane"
- potency = 50
- New()
- ..()
- spawn(5) //So potency can be set in the proc that creates these crops
- reagents.add_reagent("sugar", 4+round((potency / 5), 1))
-
-/obj/item/weapon/reagent_containers/food/snacks/grown/poisonberries
- seed = "/obj/item/seeds/poisonberryseed"
- name = "bunch of poison-berries"
- desc = "Taste so good, you could die!"
- icon_state = "poisonberrypile"
- gender = PLURAL
- potency = 15
- New()
- ..()
- spawn(5) //So potency can be set in the proc that creates these crops
- reagents.add_reagent("nutriment", 1)
- reagents.add_reagent("toxin", 3+round(potency / 5, 1))
- bitesize = 1+round(reagents.total_volume / 2, 1)
-
-/obj/item/weapon/reagent_containers/food/snacks/grown/deathberries
- seed = "/obj/item/seeds/deathberryseed"
- name = "bunch of death-berries"
- desc = "Taste so good, you could die!"
- icon_state = "deathberrypile"
- gender = PLURAL
- potency = 50
- New()
- ..()
- spawn(5) //So potency can be set in the proc that creates these crops
- reagents.add_reagent("nutriment", 1)
- reagents.add_reagent("toxin", 3+round(potency / 3, 1))
- reagents.add_reagent("lexorin", 1+round(potency / 5, 1))
- bitesize = 1+round(reagents.total_volume / 2, 1)
-
-/obj/item/weapon/reagent_containers/food/snacks/grown/ambrosiavulgaris
- seed = "/obj/item/seeds/ambrosiavulgaris"
- name = "ambrosia vulgaris branch"
- desc = "This is a plant containing various healing chemicals."
- icon_state = "ambrosiavulgaris"
- potency = 10
- New()
- ..()
- spawn(5) //So potency can be set in the proc that creates these crops
- reagents.add_reagent("nutriment", 1)
- reagents.add_reagent("space_drugs", 1+round(potency / 8, 1))
- reagents.add_reagent("kelotane", 1+round(potency / 8, 1))
- reagents.add_reagent("bicaridine", 1+round(potency / 10, 1))
- reagents.add_reagent("toxin", 1+round(potency / 10, 1))
- bitesize = 1+round(reagents.total_volume / 2, 1)
-
-/obj/item/weapon/reagent_containers/food/snacks/grown/ambrosiadeus
- seed = "/obj/item/seeds/ambrosiadeus"
- name = "ambrosia deus branch"
- desc = "Eating this makes you feel immortal!"
- icon_state = "ambrosiadeus"
- potency = 10
- New()
- ..()
- spawn(5) //So potency can be set in the proc that creates these crops
- reagents.add_reagent("nutriment", 1)
- reagents.add_reagent("bicaridine", 1+round(potency / 8, 1))
- reagents.add_reagent("synaptizine", 1+round(potency / 8, 1))
- reagents.add_reagent("hyperzine", 1+round(potency / 10, 1))
- reagents.add_reagent("space_drugs", 1+round(potency / 10, 1))
- bitesize = 1+round(reagents.total_volume / 2, 1)
-
-/obj/item/weapon/reagent_containers/food/snacks/grown/apple
- seed = "/obj/item/seeds/appleseed"
- name = "apple"
- desc = "It's a little piece of Eden."
- icon_state = "apple"
- potency = 15
- New()
- ..()
- spawn(5) //So potency can be set in the proc that creates these crops
- reagents.add_reagent("nutriment", 1+round((potency / 10), 1))
- bitesize = 1+round(reagents.total_volume / 2, 1)
-
-/obj/item/weapon/reagent_containers/food/snacks/grown/goldapple
- seed = "/obj/item/seeds/goldappleseed"
- name = "golden apple"
- desc = "Emblazoned upon the apple is the word 'Kallisti'."
- icon_state = "goldapple"
- potency = 15
- New()
- ..()
- spawn(5) //So potency can be set in the proc that creates these crops
- reagents.add_reagent("nutriment", 1+round((potency / 10), 1))
- reagents.add_reagent("gold", 1+round((potency / 5), 1))
- bitesize = 1+round(reagents.total_volume / 2, 1)
-
-/obj/item/weapon/reagent_containers/food/snacks/grown/mushroom/libertycap/attackby(var/obj/item/O as obj, var/mob/user as mob)
- . = ..()
- if (istype(O, /obj/item/device/analyzer/plant_analyzer))
- user << "- Mineral Content: [reagents.get_reagent_amount("gold")]%"
-
-
-/obj/item/weapon/reagent_containers/food/snacks/grown/watermelon
- seed = "/obj/item/seeds/watermelonseed"
- name = "watermelon"
- desc = "It's full of watery goodness."
- icon_state = "watermelon"
- potency = 10
- New()
- ..()
- spawn(5) //So potency can be set in the proc that creates these crops
- reagents.add_reagent("nutriment", 1+round((potency / 6), 1))
- bitesize = 1+round(reagents.total_volume / 2, 1)
-
-/obj/item/weapon/reagent_containers/food/snacks/grown/pumpkin
- seed = "/obj/item/seeds/pumpkinseed"
- name = "pumpkin"
- desc = "It's large and scary."
- icon_state = "pumpkin"
- potency = 10
- New()
- ..()
- spawn(5) //So potency can be set in the proc that creates these crops
- reagents.add_reagent("nutriment", 1+round((potency / 6), 1))
- bitesize = 1+round(reagents.total_volume / 2, 1)
-
-/obj/item/weapon/reagent_containers/food/snacks/grown/lime
- seed = "/obj/item/seeds/limeseed"
- name = "lime"
- desc = "It's so sour, your face will twist."
- icon_state = "lime"
- potency = 20
- New()
- ..()
- spawn(5) //So potency can be set in the proc that creates these crops
- reagents.add_reagent("nutriment", 1+round((potency / 20), 1))
- bitesize = 1+round(reagents.total_volume / 2, 1)
-
-/obj/item/weapon/reagent_containers/food/snacks/grown/lemon
- seed = "/obj/item/seeds/lemonseed"
- name = "lemon"
- desc = "When life gives you lemons, be grateful they aren't limes."
- icon_state = "lemon"
- potency = 20
- New()
- ..()
- spawn(5) //So potency can be set in the proc that creates these crops
- reagents.add_reagent("nutriment", 1+round((potency / 20), 1))
- bitesize = 1+round(reagents.total_volume / 2, 1)
-
-/obj/item/weapon/reagent_containers/food/snacks/grown/orange
- seed = "/obj/item/seeds/orangeseed"
- name = "orange"
- desc = "It's an tangy fruit."
- icon_state = "orange"
- potency = 20
- New()
- ..()
- spawn(5) //So potency can be set in the proc that creates these crops
- reagents.add_reagent("nutriment", 1+round((potency / 20), 1))
- bitesize = 1+round(reagents.total_volume / 2, 1)
-
-/obj/item/weapon/reagent_containers/food/snacks/grown/whitebeet
- seed = "/obj/item/seeds/whitebeetseed"
- name = "white-beet"
- desc = "You can't beat white-beet."
- icon_state = "whitebeet"
- potency = 15
- New()
- ..()
- spawn(5) //So potency can be set in the proc that creates these crops
- reagents.add_reagent("nutriment", round((potency / 20), 1))
- reagents.add_reagent("sugar", 1+round((potency / 5), 1))
- bitesize = 1+round(reagents.total_volume / 2, 1)
-
-/obj/item/weapon/reagent_containers/food/snacks/grown/banana
- seed = "/obj/item/seeds/bananaseed"
- name = "banana"
- desc = "It's an excellent prop for a clown."
- icon = 'icons/obj/items.dmi'
- icon_state = "banana"
- item_state = "banana"
- trash = /obj/item/weapon/bananapeel
-
- New()
- ..()
- spawn(5) //So potency can be set in the proc that creates these crops
- reagents.add_reagent("banana", 1+round((potency / 10), 1))
- bitesize = 5
- src.pixel_x = rand(-5.0, 5)
- src.pixel_y = rand(-5.0, 5)
-
-/obj/item/weapon/reagent_containers/food/snacks/grown/chili
- seed = "/obj/item/seeds/chiliseed"
- name = "chili"
- desc = "It's spicy! Wait... IT'S BURNING ME!!"
- icon_state = "chilipepper"
- New()
- ..()
- spawn(5) //So potency can be set in the proc that creates these crops
- reagents.add_reagent("nutriment", 1+round((potency / 25), 1))
- reagents.add_reagent("capsaicin", 3+round(potency / 5, 1))
- bitesize = 1+round(reagents.total_volume / 2, 1)
-
-/obj/item/weapon/reagent_containers/food/snacks/grown/chili/attackby(var/obj/item/O as obj, var/mob/user as mob)
- . = ..()
- if (istype(O, /obj/item/device/analyzer/plant_analyzer))
- user << "- Capsaicin: [reagents.get_reagent_amount("capsaicin")]%"
-
-/obj/item/weapon/reagent_containers/food/snacks/grown/eggplant
- seed = "/obj/item/seeds/eggplantseed"
- name = "eggplant"
- desc = "Maybe there's a chicken inside?"
- icon_state = "eggplant"
- New()
- ..()
- spawn(5) //So potency can be set in the proc that creates these crops
- reagents.add_reagent("nutriment", 1+round((potency / 10), 1))
- bitesize = 1+round(reagents.total_volume / 2, 1)
-
-/obj/item/weapon/reagent_containers/food/snacks/grown/soybeans
- seed = "/obj/item/seeds/soyaseed"
- name = "soybeans"
- desc = "It's pretty bland, but oh the possibilities..."
- gender = PLURAL
- icon_state = "soybeans"
- New()
- ..()
- spawn(5) //So potency can be set in the proc that creates these crops
- reagents.add_reagent("nutriment", 1+round((potency / 20), 1))
- bitesize = 1+round(reagents.total_volume / 2, 1)
-
-/obj/item/weapon/reagent_containers/food/snacks/grown/tomato
- seed = "/obj/item/seeds/tomatoseed"
- name = "tomato"
- desc = "I say to-mah-to, you say tom-mae-to."
- icon_state = "tomato"
- potency = 10
- New()
- ..()
- spawn(5) //So potency can be set in the proc that creates these crops
- reagents.add_reagent("nutriment", 1+round((potency / 10), 1))
- bitesize = 1+round(reagents.total_volume / 2, 1)
-
- throw_impact(atom/hit_atom)
- ..()
- new/obj/effect/decal/cleanable/tomato_smudge(src.loc)
- src.visible_message("The [src.name] has been squashed.","You hear a smack.")
- del(src)
- return
-
-/obj/item/weapon/reagent_containers/food/snacks/grown/killertomato
- seed = "/obj/item/seeds/killertomatoseed"
- name = "killer-tomato"
- desc = "I say to-mah-to, you say tom-mae-to... OH GOD IT'S EATING MY LEGS!!"
- icon_state = "killertomato"
- potency = 10
- New()
- ..()
- spawn(5) //So potency can be set in the proc that creates these crops
- reagents.add_reagent("nutriment", 1+round((potency / 10), 1))
- bitesize = 1+round(reagents.total_volume / 2, 1)
- if(istype(src.loc,/mob))
- pickup(src.loc)
- lifespan = 120
- endurance = 30
- maturation = 15
- production = 1
- yield = 3
- potency = 30
- plant_type = 2
-
-/obj/item/weapon/reagent_containers/food/snacks/grown/killertomato/attack_self(mob/user as mob)
- if(istype(user.loc,/turf/space))
- return
- new /mob/living/simple_animal/tomato(user.loc)
- del(src)
-
- user << "You plant the killer-tomato."
-
-/obj/item/weapon/reagent_containers/food/snacks/grown/bloodtomato
- seed = "/obj/item/seeds/bloodtomatoseed"
- name = "blood-tomato"
- desc = "So bloody...so...very...bloody....AHHHH!!!!"
- icon_state = "bloodtomato"
- potency = 10
- New()
- ..()
- spawn(5) //So potency can be set in the proc that creates these crops
- reagents.add_reagent("nutriment", 1+round((potency / 10), 1))
- reagents.add_reagent("blood", 1+round((potency / 5), 1))
- bitesize = 1+round(reagents.total_volume / 2, 1)
-
- throw_impact(atom/hit_atom)
- ..()
- new/obj/effect/decal/cleanable/blood/splatter(src.loc)
- src.visible_message("The [src.name] has been squashed.","You hear a smack.")
- src.reagents.reaction(get_turf(hit_atom))
- for(var/atom/A in get_turf(hit_atom))
- src.reagents.reaction(A)
- del(src)
- return
-
-/obj/item/weapon/reagent_containers/food/snacks/grown/bluetomato
- seed = "/obj/item/seeds/bluetomatoseed"
- name = "blue-tomato"
- desc = "I say blue-mah-to, you say blue-mae-to."
- icon_state = "bluetomato"
- potency = 10
- New()
- ..()
- spawn(5) //So potency can be set in the proc that creates these crops
- reagents.add_reagent("nutriment", 1+round((potency / 20), 1))
- reagents.add_reagent("lube", 1+round((potency / 5), 1))
- bitesize = 1+round(reagents.total_volume / 2, 1)
-
- throw_impact(atom/hit_atom)
- ..()
- new/obj/effect/decal/cleanable/oil(src.loc)
- src.visible_message("The [src.name] has been squashed.","You hear a smack.")
- src.reagents.reaction(get_turf(hit_atom))
- for(var/atom/A in get_turf(hit_atom))
- src.reagents.reaction(A)
- del(src)
- return
-
-/obj/item/weapon/reagent_containers/food/snacks/grown/wheat
- seed = "/obj/item/seeds/wheatseed"
- name = "wheat"
- desc = "Sigh... wheat... a-grain?"
- gender = PLURAL
- icon_state = "wheat"
- New()
- ..()
- spawn(5) //So potency can be set in the proc that creates these crops
- reagents.add_reagent("nutriment", 1+round((potency / 25), 1))
- bitesize = 1+round(reagents.total_volume / 2, 1)
-
-/obj/item/weapon/reagent_containers/food/snacks/grown/icepepper
- seed = "/obj/item/seeds/icepepperseed"
- name = "ice-pepper"
- desc = "It's a mutant strain of chili"
- icon_state = "icepepper"
- potency = 20
- New()
- ..()
- spawn(5) //So potency can be set in the proc that creates these crops
- reagents.add_reagent("nutriment", 1+round((potency / 50), 1))
- reagents.add_reagent("frostoil", 3+round(potency / 5, 1))
- bitesize = 1+round(reagents.total_volume / 2, 1)
-
-/obj/item/weapon/reagent_containers/food/snacks/grown/icepepper/attackby(var/obj/item/O as obj, var/mob/user as mob)
- . = ..()
- if (istype(O, /obj/item/device/analyzer/plant_analyzer))
- user << "- Frostoil: [reagents.get_reagent_amount("frostoil")]%"
-
-/obj/item/weapon/reagent_containers/food/snacks/grown/carrot
- seed = "/obj/item/seeds/carrotseed"
- name = "carrot"
- desc = "It's good for the eyes!"
- icon_state = "carrot"
- potency = 10
- New()
- ..()
- spawn(5) //So potency can be set in the proc that creates these crops
- reagents.add_reagent("nutriment", 1+round((potency / 20), 1))
- reagents.add_reagent("imidazoline", 3+round(potency / 5, 1))
- bitesize = 1+round(reagents.total_volume / 2, 1)
-
-/obj/item/weapon/reagent_containers/food/snacks/grown/mushroom/reishi
- seed = "/obj/item/seeds/reishimycelium"
- name = "reishi"
- desc = "Ganoderma lucidum: A special fungus believed to help relieve stress."
- icon_state = "reishi"
- potency = 10
- New()
- ..()
- spawn(5) //So potency can be set in the proc that creates these crops
- reagents.add_reagent("nutriment", 1)
- reagents.add_reagent("stoxin", 3+round(potency / 3, 1))
- reagents.add_reagent("space_drugs", 1+round(potency / 25, 1))
- bitesize = 1+round(reagents.total_volume / 2, 1)
-
-/obj/item/weapon/reagent_containers/food/snacks/grown/mushroom/reishi/attackby(var/obj/item/O as obj, var/mob/user as mob)
- . = ..()
- if (istype(O, /obj/item/device/analyzer/plant_analyzer))
- user << "- Sleep Toxin: [reagents.get_reagent_amount("stoxin")]%"
- user << "- Space Drugs: [reagents.get_reagent_amount("space_drugs")]%"
-
-/obj/item/weapon/reagent_containers/food/snacks/grown/mushroom/amanita
- seed = "/obj/item/seeds/amanitamycelium"
- name = "fly amanita"
- desc = "Amanita Muscaria: Learn poisonous mushrooms by heart. Only pick mushrooms you know."
- icon_state = "amanita"
- potency = 10
- New()
- ..()
- spawn(5) //So potency can be set in the proc that creates these crops
- reagents.add_reagent("nutriment", 1)
- reagents.add_reagent("amatoxin", 3+round(potency / 3, 1))
- reagents.add_reagent("psilocybin", 1+round(potency / 25, 1))
- bitesize = 1+round(reagents.total_volume / 2, 1)
-
-/obj/item/weapon/reagent_containers/food/snacks/grown/mushroom/amanita/attackby(var/obj/item/O as obj, var/mob/user as mob)
- . = ..()
- if (istype(O, /obj/item/device/analyzer/plant_analyzer))
- user << "- Amatoxins: [reagents.get_reagent_amount("amatoxin")]%"
- user << "- Psilocybin: [reagents.get_reagent_amount("psilocybin")]%"
-
-/obj/item/weapon/reagent_containers/food/snacks/grown/mushroom/angel
- seed = "/obj/item/seeds/angelmycelium"
- name = "destroying angel"
- desc = "Amanita Virosa: Deadly poisonous basidiomycete fungus filled with alpha amatoxins."
- icon_state = "angel"
- potency = 35
- New()
- ..()
- spawn(5) //So potency can be set in the proc that creates these crops
- reagents.add_reagent("nutriment", 1+round((potency / 50), 1))
- reagents.add_reagent("amatoxin", 13+round(potency / 3, 1))
- reagents.add_reagent("psilocybin", 1+round(potency / 25, 1))
- bitesize = 1+round(reagents.total_volume / 2, 1)
-
-/obj/item/weapon/reagent_containers/food/snacks/grown/mushroom/angel/attackby(var/obj/item/O as obj, var/mob/user as mob)
- . = ..()
- if (istype(O, /obj/item/device/analyzer/plant_analyzer))
- user << "- Amatoxins: [reagents.get_reagent_amount("amatoxin")]%"
- user << "- Psilocybin: [reagents.get_reagent_amount("psilocybin")]%"
-
-/obj/item/weapon/reagent_containers/food/snacks/grown/mushroom/libertycap
- seed = "/obj/item/seeds/libertymycelium"
- name = "liberty-cap"
- desc = "Psilocybe Semilanceata: Liberate yourself!"
- icon_state = "libertycap"
- potency = 15
- New()
- ..()
- spawn(5) //So potency can be set in the proc that creates these crops
- reagents.add_reagent("nutriment", 1+round((potency / 50), 1))
- reagents.add_reagent("psilocybin", 3+round(potency / 5, 1))
- bitesize = 1+round(reagents.total_volume / 2, 1)
-
-/obj/item/weapon/reagent_containers/food/snacks/grown/mushroom/libertycap/attackby(var/obj/item/O as obj, var/mob/user as mob)
- . = ..()
- if (istype(O, /obj/item/device/analyzer/plant_analyzer))
- user << "- Psilocybin: [reagents.get_reagent_amount("psilocybin")]%"
-
-/obj/item/weapon/reagent_containers/food/snacks/grown/mushroom/plumphelmet
- seed = "/obj/item/seeds/plumpmycelium"
- name = "plump-helmet"
- desc = "Plumus Hellmus: Plump, soft and s-so inviting~"
- icon_state = "plumphelmet"
- New()
- ..()
- spawn(5) //So potency can be set in the proc that creates these crops
- reagents.add_reagent("nutriment", 2+round((potency / 10), 1))
- bitesize = 1+round(reagents.total_volume / 2, 1)
-
-/obj/item/weapon/reagent_containers/food/snacks/grown/mushroom/walkingmushroom
- seed = "/obj/item/seeds/walkingmushroom"
- name = "walking mushroom"
- desc = "Plumus Locomotus: The beginning of the great walk."
- icon_state = "walkingmushroom"
- New()
- ..()
- spawn(5) //So potency can be set in the proc that creates these crops
- reagents.add_reagent("nutriment", 2+round((potency / 10), 1))
- bitesize = 1+round(reagents.total_volume / 2, 1)
- if(istype(src.loc,/mob))
- pickup(src.loc)
- lifespan = 120
- endurance = 30
- maturation = 15
- production = 1
- yield = 3
- potency = 30
- plant_type = 2
-
-/obj/item/weapon/reagent_containers/food/snacks/grown/mushroom/walkingmushroom/attack_self(mob/user as mob)
- if(istype(user.loc,/turf/space))
- return
- new /mob/living/simple_animal/mushroom(user.loc)
- del(src)
-
- user << "You plant the walking mushroom."
-
-/obj/item/weapon/reagent_containers/food/snacks/grown/mushroom/chanterelle
- seed = "/obj/item/seeds/chantermycelium"
- name = "chanterelle cluster"
- desc = "Cantharellus Cibarius: These jolly yellow little shrooms sure look tasty!"
- icon_state = "chanterelle"
- New()
- ..()
- spawn(5) //So potency can be set in the proc that creates these crops
- reagents.add_reagent("nutriment",1+round((potency / 25), 1))
- bitesize = 1+round(reagents.total_volume / 2, 1)
-
-/obj/item/weapon/reagent_containers/food/snacks/grown/mushroom/glowshroom
- seed = "/obj/item/seeds/glowshroom"
- name = "glowshroom cluster"
- desc = "Mycena Bregprox: This species of mushroom glows in the dark. Or does it?"
- icon_state = "glowshroom"
- New()
- ..()
- spawn(5) //So potency can be set in the proc that creates these crops
- reagents.add_reagent("radium",1+round((potency / 20), 1))
- if(istype(src.loc,/mob))
- pickup(src.loc)
- else
- src.sd_SetLuminosity(potency/10)
- lifespan = 120 //ten times that is the delay
- endurance = 30
- maturation = 15
- production = 1
- yield = 3
- potency = 30
- plant_type = 2
-
-/obj/item/weapon/reagent_containers/food/snacks/grown/mushroom/glowshroom/attack_self(mob/user as mob)
- if(istype(user.loc,/turf/space))
- return
- var/obj/effect/glowshroom/planted = new /obj/effect/glowshroom(user.loc)
-
- planted.delay = lifespan * 50
- planted.endurance = endurance
- planted.yield = yield
- planted.potency = potency
- del(src)
-
- user << "You plant the glowshroom."
-
-/obj/item/weapon/reagent_containers/food/snacks/grown/mushroom/glowshroom/Del()
- if(istype(loc,/mob))
- loc.sd_SetLuminosity(loc.luminosity - potency/10)
- ..()
-
-/obj/item/weapon/reagent_containers/food/snacks/grown/mushroom/glowshroom/pickup(mob/user)
- src.sd_SetLuminosity(0)
- user.total_luminosity += potency/10
-
-/obj/item/weapon/reagent_containers/food/snacks/grown/mushroom/glowshroom/dropped(mob/user)
- user.total_luminosity -= potency/10
- src.sd_SetLuminosity(potency/10)
+// *****************oolokitthesefancystars********
+// Grown FOOD types moved to reagents
+// **********************
// **********************
// Other harvested materials from plants (that are not food)
@@ -2071,112 +1319,3 @@
src.pixel_x = rand(-5.0, 5)
src.pixel_y = rand(-5.0, 5)
-
-// *************************************
-// Complex Grown Object Defines -
-// Putting these at the bottom so they don't clutter the list up. -Cheridan
-// *************************************
-
-//This object is just a transition object. All it does is make a grass tile and delete itself.
-/obj/item/weapon/reagent_containers/food/snacks/grown/grass
- seed = "/obj/item/seeds/grassseed"
- name = "grass"
- desc = "Green and lush."
- icon_state = "spawner"
- potency = 20
- New()
- new/obj/item/stack/tile/grass(src.loc)
- spawn(5) //Workaround to keep harvesting from working weirdly.
- del(src)
-
-//This object is just a transition object. All it does is make dosh and delete itself. -Cheridan
-/obj/item/weapon/reagent_containers/food/snacks/grown/money
- seed = "/obj/item/seeds/cashseed"
- name = "dosh"
- desc = "Green and lush."
- icon_state = "spawner"
- potency = 10
- New()
- switch(rand(1,100))//(potency) //It wants to use the default potency instead of the new, so it was always 10. Will try to come back to this later - Cheridan
- if(0 to 10)
- new/obj/item/weapon/spacecash/(src.loc)
- if(11 to 20)
- new/obj/item/weapon/spacecash/c10(src.loc)
- if(21 to 30)
- new/obj/item/weapon/spacecash/c20(src.loc)
- if(31 to 40)
- new/obj/item/weapon/spacecash/c50(src.loc)
- if(41 to 50)
- new/obj/item/weapon/spacecash/c100(src.loc)
- if(51 to 60)
- new/obj/item/weapon/spacecash/c200(src.loc)
- if(61 to 80)
- new/obj/item/weapon/spacecash/c500(src.loc)
- else
- new/obj/item/weapon/spacecash/c1000(src.loc)
- spawn(5) //Workaround to keep harvesting from working weirdly.
- del(src)
-
-/obj/item/weapon/reagent_containers/food/snacks/grown/bluespacetomato
- seed = "/obj/item/seeds/bluespacetomatoseed"
- name = "blue-space tomato"
- desc = "So lubricated, you might slip through space-time."
- icon_state = "bluespacetomato"
- potency = 20
- origin_tech = "bluespace=3"
- New()
- ..()
- spawn(5) //So potency can be set in the proc that creates these crops
- reagents.add_reagent("nutriment", 1+round((potency / 20), 1))
- reagents.add_reagent("singulo", 1+round((potency / 5), 1))
- bitesize = 1+round(reagents.total_volume / 2, 1)
-
- throw_impact(atom/hit_atom)
- ..()
- var/mob/M = usr
- var/outer_teleport_radius = potency/10 //Plant potency determines radius of teleport.
- var/inner_teleport_radius = potency/15
- var/list/turfs = new/list()
- var/datum/effect/effect/system/spark_spread/s = new /datum/effect/effect/system/spark_spread
- if(inner_teleport_radius < 1) //Wasn't potent enough, it just splats.
- new/obj/effect/decal/cleanable/oil(src.loc)
- src.visible_message("The [src.name] has been squashed.","You hear a smack.")
- del(src)
- return
- for(var/turf/T in orange(M,outer_teleport_radius))
- if(T in orange(M,inner_teleport_radius)) continue
- if(istype(T,/turf/space)) continue
- if(T.density) continue
- if(T.x>world.maxx-outer_teleport_radius || T.xworld.maxy-outer_teleport_radius || T.yThe [src.name] has been squashed, causing a distortion in space-time.","You hear a splat and a crackle.")
- del(src)
- return
\ No newline at end of file
diff --git a/code/defines/obj/storage.dm b/code/defines/obj/storage.dm
index 136d3293ec5..c52bd713cd6 100644
--- a/code/defines/obj/storage.dm
+++ b/code/defines/obj/storage.dm
@@ -597,4 +597,4 @@
can_hold = list(
"/obj/item/weapon/ore"
- )
+ )
\ No newline at end of file
diff --git a/code/game/objects/items/robot_items.dm b/code/game/objects/items/robot_items.dm
index 44f263970ed..161d65e3aa7 100644
--- a/code/game/objects/items/robot_items.dm
+++ b/code/game/objects/items/robot_items.dm
@@ -85,132 +85,15 @@
Chemical things
***********************************************************************/
-/obj/item/weapon/reagent_containers/glass/bottle/robot
- amount_per_transfer_from_this = 10
- possible_transfer_amounts = list(5,10,15,25,30,50,100)
- flags = FPRINT | TABLEPASS | OPENCONTAINER
- volume = 60
- var/reagent = ""
-
-
-/obj/item/weapon/reagent_containers/glass/bottle/robot/inaprovaline
- name = "internal inaprovaline bottle"
- desc = "A small bottle. Contains inaprovaline - used to stabilize patients."
- icon = 'icons/obj/chemical.dmi'
- icon_state = "bottle16"
- reagent = "inaprovaline"
-
- New()
- ..()
- reagents.add_reagent("inaprovaline", 60)
- return
-
-
-/obj/item/weapon/reagent_containers/glass/bottle/robot/antitoxin
- name = "internal anti-toxin bottle"
- desc = "A small bottle of Anti-toxins. Counters poisons, and repairs damage, a wonder drug."
- icon = 'icons/obj/chemical.dmi'
- icon_state = "bottle17"
- reagent = "anti_toxin"
-
- New()
- ..()
- reagents.add_reagent("anti_toxin", 60)
- return
+//Moved to modules/chemistry
-/obj/item/weapon/reagent_containers/robodropper
- name = "Industrial Dropper"
- desc = "A larger dropper. Transfers 10 units."
- icon = 'icons/obj/chemical.dmi'
- icon_state = "dropper0"
- amount_per_transfer_from_this = 10
- possible_transfer_amounts = list(1,2,3,4,5,6,7,8,9,10)
- volume = 10
- var/filled = 0
- afterattack(obj/target, mob/user , flag)
- if(!target.reagents) return
-
- if(filled)
-
- if(target.reagents.total_volume >= target.reagents.maximum_volume)
- user << "\red [target] is full."
- return
-
- if(!target.is_open_container() && !ismob(target) && !istype(target,/obj/item/weapon/reagent_containers/food)) //You can inject humans and food but you cant remove the shit.
- user << "\red You cannot directly fill this object."
- return
-
-
- var/trans = 0
-
- if(ismob(target))
- if(istype(target , /mob/living/carbon/human))
- var/mob/living/carbon/human/victim = target
-
- var/obj/item/safe_thing = null
- if( victim.wear_mask )
- if ( victim.wear_mask.flags & MASKCOVERSEYES )
- safe_thing = victim.wear_mask
- if( victim.head )
- if ( victim.head.flags & MASKCOVERSEYES )
- safe_thing = victim.head
- if(victim.glasses)
- if ( !safe_thing )
- safe_thing = victim.glasses
-
- if(safe_thing)
- if(!safe_thing.reagents)
- safe_thing.create_reagents(100)
- trans = src.reagents.trans_to(safe_thing, amount_per_transfer_from_this)
-
- for(var/mob/O in viewers(world.view, user))
- O.show_message(text("\red [] tries to squirt something into []'s eyes, but fails!", user, target), 1)
- spawn(5)
- src.reagents.reaction(safe_thing, TOUCH)
-
-
- user << "\blue You transfer [trans] units of the solution."
- if (src.reagents.total_volume<=0)
- filled = 0
- icon_state = "dropper[filled]"
- return
-
-
- for(var/mob/O in viewers(world.view, user))
- O.show_message(text("\red [] squirts something into []'s eyes!", user, target), 1)
- src.reagents.reaction(target, TOUCH)
-
- trans = src.reagents.trans_to(target, amount_per_transfer_from_this)
- user << "\blue You transfer [trans] units of the solution."
- if (src.reagents.total_volume<=0)
- filled = 0
- icon_state = "dropper[filled]"
-
- else
-
- if(!target.is_open_container() && !istype(target,/obj/structure/reagent_dispensers))
- user << "\red You cannot directly remove reagents from [target]."
- return
-
- if(!target.reagents.total_volume)
- user << "\red [target] is empty."
- return
-
- var/trans = target.reagents.trans_to(src, amount_per_transfer_from_this)
-
- user << "\blue You fill the dropper with [trans] units of the solution."
-
- filled = 1
- icon_state = "dropper[filled]"
-
- return
/**********************************************************************
- Chemical things
+ RCD
***********************************************************************/
/obj/item/borg/rcd
name = "robotic rapid-construction-device"
diff --git a/code/game/objects/items/weapons/clown_items.dm b/code/game/objects/items/weapons/clown_items.dm
index cb14957ec53..26310e1f725 100644
--- a/code/game/objects/items/weapons/clown_items.dm
+++ b/code/game/objects/items/weapons/clown_items.dm
@@ -19,18 +19,6 @@ BIKE HORN
M.Stun(4)
M.Weaken(2)
-/obj/item/weapon/reagent_containers/food/snacks/grown/bluetomato/HasEntered(AM as mob|obj)
- if (istype(AM, /mob/living/carbon))
- var/mob/M = AM
- if (istype(M, /mob/living/carbon/human) && (isobj(M:shoes) && M:shoes.flags&NOSLIP))
- return
-
- M.stop_pulling()
- M << "\blue You slipped on the [name]!"
- playsound(src.loc, 'sound/misc/slip.ogg', 50, 1, -3)
- M.Stun(8)
- M.Weaken(5)
-
/obj/item/weapon/soap/HasEntered(AM as mob|obj) //EXACTLY the same as bananapeel for now, so it makes sense to put it in the same dm -- Urist
if (istype(AM, /mob/living/carbon))
var/mob/M = AM
diff --git a/code/game/objects/items/weapons/hydroponics.dm b/code/game/objects/items/weapons/hydroponics.dm
index a1f945c4390..d5386192989 100644
--- a/code/game/objects/items/weapons/hydroponics.dm
+++ b/code/game/objects/items/weapons/hydroponics.dm
@@ -9,30 +9,6 @@ Craftables (Cob pipes, potato batteries, pumpkinheads)
*/
-// Plant-B-Gone
-/obj/item/weapon/reagent_containers/spray/plantbgone // -- Skie
- name = "Plant-B-Gone"
- desc = "Kills those pesky weeds!"
- icon = 'icons/obj/hydroponics.dmi'
- icon_state = "plantbgone"
- item_state = "plantbgone"
- volume = 100
-
-
-/obj/item/weapon/reagent_containers/spray/plantbgone/New()
- ..()
- reagents.add_reagent("plantbgone", 100)
-
-
-/obj/item/weapon/reagent_containers/spray/plantbgone/afterattack(atom/A as mob|obj, mob/user as mob)
- if (istype(A, /obj/machinery/hydroponics)) // We are targeting hydrotray
- return
-
- if (istype(A, /obj/effect/blob)) // blob damage in blob code
- return
-
- ..()
-
// Sunflower
/obj/item/weapon/grown/sunflower/attack(mob/M as mob, mob/user as mob)
@@ -114,22 +90,3 @@ Craftables (Cob pipes, potato batteries, pumpkinheads)
new /obj/item/clothing/mask/pipe/cobpipe (user.loc)
del(src)
return
-
-/obj/item/weapon/reagent_containers/food/snacks/grown/pumpkin/attackby(obj/item/weapon/W as obj, mob/user as mob)
- ..()
- if(istype(W, /obj/item/weapon/circular_saw) || istype(W, /obj/item/weapon/hatchet) || istype(W, /obj/item/weapon/twohanded/fireaxe) || istype(W, /obj/item/weapon/kitchen/utensil/knife) || istype(W, /obj/item/weapon/kitchenknife) || istype(W, /obj/item/weapon/melee/energy))
- user.show_message("You carve a face into [src]!", 1)
- new /obj/item/clothing/head/pumpkinhead (user.loc)
- del(src)
- return
-
-/obj/item/weapon/reagent_containers/food/snacks/grown/potato/attackby(obj/item/weapon/W as obj, mob/user as mob)
- ..()
- if(istype(W, /obj/item/weapon/cable_coil))
- if(W:amount >= 5)
- W:amount -= 5
- if(!W:amount) del(W)
- user << "You add some cable to the potato and slide it inside the battery encasing."
- new /obj/item/weapon/cell/potato(user.loc)
- del(src)
- return
\ No newline at end of file
diff --git a/code/game/objects/items/weapons/plant_bag.dm b/code/game/objects/items/weapons/plant_bag.dm
index a876734e596..edda9033299 100644
--- a/code/game/objects/items/weapons/plant_bag.dm
+++ b/code/game/objects/items/weapons/plant_bag.dm
@@ -29,24 +29,6 @@
if(0)
usr << "The bag now picks up one plant at a time."
-/obj/item/weapon/reagent_containers/food/snacks/grown/attackby(var/obj/item/O as obj, var/mob/user as mob)
- ..()
- if (istype(O, /obj/item/weapon/plantbag))
- var/obj/item/weapon/plantbag/S = O
- if (S.mode == 1)
- for (var/obj/item/weapon/reagent_containers/food/snacks/grown/G in locate(src.x,src.y,src.z))
- if (S.contents.len < S.capacity)
- S.contents += G;
- else
- user << "\blue The plant bag is full."
- return
- user << "\blue You pick up all the plants."
- else
- if (S.contents.len < S.capacity)
- S.contents += src;
- else
- user << "\blue The plant bag is full."
- return
/obj/machinery/hydroponics/attackby(var/obj/item/O as obj, var/mob/user as mob)
..()
diff --git a/tgstation.dme b/tgstation.dme
index 0da7569a678..340fa0b0613 100644
--- a/tgstation.dme
+++ b/tgstation.dme
@@ -5,6 +5,212 @@
// END_INTERNALS
// BEGIN_FILE_DIR
#define FILE_DIR .
+#define FILE_DIR "code"
+#define FILE_DIR "code/ATMOSPHERICS"
+#define FILE_DIR "code/ATMOSPHERICS/components"
+#define FILE_DIR "code/ATMOSPHERICS/components/binary_devices"
+#define FILE_DIR "code/ATMOSPHERICS/components/trinary_devices"
+#define FILE_DIR "code/ATMOSPHERICS/components/unary"
+#define FILE_DIR "code/datums"
+#define FILE_DIR "code/datums/diseases"
+#define FILE_DIR "code/datums/helper_datums"
+#define FILE_DIR "code/datums/spells"
+#define FILE_DIR "code/defines"
+#define FILE_DIR "code/defines/area"
+#define FILE_DIR "code/defines/mob"
+#define FILE_DIR "code/defines/mob/dead"
+#define FILE_DIR "code/defines/mob/living"
+#define FILE_DIR "code/defines/mob/living/carbon"
+#define FILE_DIR "code/defines/mob/living/silicon"
+#define FILE_DIR "code/defines/obj"
+#define FILE_DIR "code/defines/procs"
+#define FILE_DIR "code/defines/tanning"
+#define FILE_DIR "code/FEA"
+#define FILE_DIR "code/game"
+#define FILE_DIR "code/game/area"
+#define FILE_DIR "code/game/asteroid"
+#define FILE_DIR "code/game/gamemodes"
+#define FILE_DIR "code/game/gamemodes/blob"
+#define FILE_DIR "code/game/gamemodes/blob/blobs"
+#define FILE_DIR "code/game/gamemodes/changeling"
+#define FILE_DIR "code/game/gamemodes/cult"
+#define FILE_DIR "code/game/gamemodes/events"
+#define FILE_DIR "code/game/gamemodes/events/holidays"
+#define FILE_DIR "code/game/gamemodes/extended"
+#define FILE_DIR "code/game/gamemodes/malfunction"
+#define FILE_DIR "code/game/gamemodes/meteor"
+#define FILE_DIR "code/game/gamemodes/nuclear"
+#define FILE_DIR "code/game/gamemodes/revolution"
+#define FILE_DIR "code/game/gamemodes/sandbox"
+#define FILE_DIR "code/game/gamemodes/traitor"
+#define FILE_DIR "code/game/gamemodes/wizard"
+#define FILE_DIR "code/game/jobs"
+#define FILE_DIR "code/game/jobs/job"
+#define FILE_DIR "code/game/machinery"
+#define FILE_DIR "code/game/machinery/atmoalter"
+#define FILE_DIR "code/game/machinery/bots"
+#define FILE_DIR "code/game/machinery/computer"
+#define FILE_DIR "code/game/machinery/doors"
+#define FILE_DIR "code/game/machinery/embedded_controller"
+#define FILE_DIR "code/game/machinery/kitchen"
+#define FILE_DIR "code/game/machinery/pipe"
+#define FILE_DIR "code/game/machinery/telecomms"
+#define FILE_DIR "code/game/magic"
+#define FILE_DIR "code/game/magic/cultist"
+#define FILE_DIR "code/game/mecha"
+#define FILE_DIR "code/game/mecha/combat"
+#define FILE_DIR "code/game/mecha/equipment"
+#define FILE_DIR "code/game/mecha/equipment/tools"
+#define FILE_DIR "code/game/mecha/equipment/weapons"
+#define FILE_DIR "code/game/mecha/medical"
+#define FILE_DIR "code/game/mecha/working"
+#define FILE_DIR "code/game/objects"
+#define FILE_DIR "code/game/objects/alien"
+#define FILE_DIR "code/game/objects/closets"
+#define FILE_DIR "code/game/objects/closets/secure"
+#define FILE_DIR "code/game/objects/devices"
+#define FILE_DIR "code/game/objects/devices/PDA"
+#define FILE_DIR "code/game/objects/grenades"
+#define FILE_DIR "code/game/objects/items"
+#define FILE_DIR "code/game/objects/items/weapons"
+#define FILE_DIR "code/game/objects/items/weapons/implants"
+#define FILE_DIR "code/game/objects/radio"
+#define FILE_DIR "code/game/objects/secstorage"
+#define FILE_DIR "code/game/objects/stacks"
+#define FILE_DIR "code/game/objects/storage"
+#define FILE_DIR "code/game/objects/tanks"
+#define FILE_DIR "code/game/vehicles"
+#define FILE_DIR "code/game/vehicles/airtight"
+#define FILE_DIR "code/game/verbs"
+#define FILE_DIR "code/js"
+#define FILE_DIR "code/modules"
+#define FILE_DIR "code/modules/admin"
+#define FILE_DIR "code/modules/admin/DB ban"
+#define FILE_DIR "code/modules/admin/verbs"
+#define FILE_DIR "code/modules/assembly"
+#define FILE_DIR "code/modules/client"
+#define FILE_DIR "code/modules/clothing"
+#define FILE_DIR "code/modules/clothing/glasses"
+#define FILE_DIR "code/modules/clothing/gloves"
+#define FILE_DIR "code/modules/clothing/head"
+#define FILE_DIR "code/modules/clothing/masks"
+#define FILE_DIR "code/modules/clothing/shoes"
+#define FILE_DIR "code/modules/clothing/spacesuits"
+#define FILE_DIR "code/modules/clothing/suits"
+#define FILE_DIR "code/modules/clothing/under"
+#define FILE_DIR "code/modules/clothing/under/jobs"
+#define FILE_DIR "code/modules/critters"
+#define FILE_DIR "code/modules/critters/hivebots"
+#define FILE_DIR "code/modules/detectivework"
+#define FILE_DIR "code/modules/flufftext"
+#define FILE_DIR "code/modules/food"
+#define FILE_DIR "code/modules/maps"
+#define FILE_DIR "code/modules/mining"
+#define FILE_DIR "code/modules/mob"
+#define FILE_DIR "code/modules/mob/dead"
+#define FILE_DIR "code/modules/mob/dead/observer"
+#define FILE_DIR "code/modules/mob/living"
+#define FILE_DIR "code/modules/mob/living/blob"
+#define FILE_DIR "code/modules/mob/living/carbon"
+#define FILE_DIR "code/modules/mob/living/carbon/alien"
+#define FILE_DIR "code/modules/mob/living/carbon/alien/humanoid"
+#define FILE_DIR "code/modules/mob/living/carbon/alien/humanoid/caste"
+#define FILE_DIR "code/modules/mob/living/carbon/alien/larva"
+#define FILE_DIR "code/modules/mob/living/carbon/brain"
+#define FILE_DIR "code/modules/mob/living/carbon/human"
+#define FILE_DIR "code/modules/mob/living/carbon/metroid"
+#define FILE_DIR "code/modules/mob/living/carbon/monkey"
+#define FILE_DIR "code/modules/mob/living/silicon"
+#define FILE_DIR "code/modules/mob/living/silicon/ai"
+#define FILE_DIR "code/modules/mob/living/silicon/decoy"
+#define FILE_DIR "code/modules/mob/living/silicon/pai"
+#define FILE_DIR "code/modules/mob/living/silicon/robot"
+#define FILE_DIR "code/modules/mob/living/simple_animal"
+#define FILE_DIR "code/modules/mob/new_player"
+#define FILE_DIR "code/modules/mob/organ"
+#define FILE_DIR "code/modules/paperwork"
+#define FILE_DIR "code/modules/power"
+#define FILE_DIR "code/modules/power/antimatter"
+#define FILE_DIR "code/modules/power/singularity"
+#define FILE_DIR "code/modules/power/singularity/particle_accelerator"
+#define FILE_DIR "code/modules/projectiles"
+#define FILE_DIR "code/modules/projectiles/ammunition"
+#define FILE_DIR "code/modules/projectiles/guns"
+#define FILE_DIR "code/modules/projectiles/guns/energy"
+#define FILE_DIR "code/modules/projectiles/guns/projectile"
+#define FILE_DIR "code/modules/projectiles/projectile"
+#define FILE_DIR "code/modules/reagents"
+#define FILE_DIR "code/modules/reagents/reagent_container"
+#define FILE_DIR "code/modules/reagents/reagent_containers"
+#define FILE_DIR "code/modules/reagents/reagent_containers/food"
+#define FILE_DIR "code/modules/reagents/reagent_containers/food/drinks"
+#define FILE_DIR "code/modules/reagents/reagent_containers/food/drinks/bottle"
+#define FILE_DIR "code/modules/reagents/reagent_containers/food/snacks"
+#define FILE_DIR "code/modules/reagents/reagent_containers/glass"
+#define FILE_DIR "code/modules/reagents/reagent_containers/glass/bottle"
+#define FILE_DIR "code/modules/recycling"
+#define FILE_DIR "code/modules/research"
+#define FILE_DIR "code/modules/scripting"
+#define FILE_DIR "code/modules/scripting/AST"
+#define FILE_DIR "code/modules/scripting/AST/Operators"
+#define FILE_DIR "code/modules/scripting/Implementations"
+#define FILE_DIR "code/modules/scripting/Interpreter"
+#define FILE_DIR "code/modules/scripting/Parser"
+#define FILE_DIR "code/modules/scripting/Scanner"
+#define FILE_DIR "code/modules/security levels"
+#define FILE_DIR "code/unused"
+#define FILE_DIR "code/unused/beast"
+#define FILE_DIR "code/unused/computer2"
+#define FILE_DIR "code/unused/disease2"
+#define FILE_DIR "code/unused/gamemodes"
+#define FILE_DIR "code/unused/hivebot"
+#define FILE_DIR "code/unused/mining"
+#define FILE_DIR "code/unused/optics"
+#define FILE_DIR "code/unused/pda2"
+#define FILE_DIR "code/unused/powerarmor"
+#define FILE_DIR "code/unused/spacecraft"
+#define FILE_DIR "code/WorkInProgress"
+#define FILE_DIR "code/WorkInProgress/carn"
+#define FILE_DIR "code/WorkInProgress/mapload"
+#define FILE_DIR "code/WorkInProgress/organs"
+#define FILE_DIR "code/WorkInProgress/virus2"
+#define FILE_DIR "html"
+#define FILE_DIR "icons"
+#define FILE_DIR "icons/effects"
+#define FILE_DIR "icons/mecha"
+#define FILE_DIR "icons/misc"
+#define FILE_DIR "icons/mob"
+#define FILE_DIR "icons/obj"
+#define FILE_DIR "icons/obj/assemblies"
+#define FILE_DIR "icons/obj/atmospherics"
+#define FILE_DIR "icons/obj/clothing"
+#define FILE_DIR "icons/obj/doors"
+#define FILE_DIR "icons/obj/machines"
+#define FILE_DIR "icons/obj/pipes"
+#define FILE_DIR "icons/pda_icons"
+#define FILE_DIR "icons/spideros_icons"
+#define FILE_DIR "icons/Testing"
+#define FILE_DIR "icons/turf"
+#define FILE_DIR "icons/vehicles"
+#define FILE_DIR "icons/vending_icons"
+#define FILE_DIR "interface"
+#define FILE_DIR "maps"
+#define FILE_DIR "maps/backup"
+#define FILE_DIR "maps/RandomZLevels"
+#define FILE_DIR "sound"
+#define FILE_DIR "sound/AI"
+#define FILE_DIR "sound/ambience"
+#define FILE_DIR "sound/effects"
+#define FILE_DIR "sound/hallucinations"
+#define FILE_DIR "sound/items"
+#define FILE_DIR "sound/machines"
+#define FILE_DIR "sound/mecha"
+#define FILE_DIR "sound/misc"
+#define FILE_DIR "sound/piano"
+#define FILE_DIR "sound/voice"
+#define FILE_DIR "sound/weapons"
+#define FILE_DIR "tools"
+#define FILE_DIR "tools/Redirector"
// END_FILE_DIR
// BEGIN_PREFERENCES
@@ -509,7 +715,6 @@
#include "code\game\objects\items\weapons\plant_bag.dm"
#include "code\game\objects\items\weapons\RCD.dm"
#include "code\game\objects\items\weapons\RSF.dm"
-#include "code\game\objects\items\weapons\spray.dm"
#include "code\game\objects\items\weapons\stunbaton.dm"
#include "code\game\objects\items\weapons\stungloves.dm"
#include "code\game\objects\items\weapons\surgery_tools.dm"
@@ -614,13 +819,6 @@
#include "code\modules\assembly\proximity.dm"
#include "code\modules\assembly\signaler.dm"
#include "code\modules\assembly\timer.dm"
-#include "code\modules\chemical\Chemistry-Colours.dm"
-#include "code\modules\chemical\Chemistry-Holder.dm"
-#include "code\modules\chemical\Chemistry-Machinery.dm"
-#include "code\modules\chemical\Chemistry-Readme.dm"
-#include "code\modules\chemical\Chemistry-Reagents.dm"
-#include "code\modules\chemical\Chemistry-Recipes.dm"
-#include "code\modules\chemical\Chemistry-Tools.dm"
#include "code\modules\client\client defines.dm"
#include "code\modules\client\client procs.dm"
#include "code\modules\clothing\clothing.dm"
@@ -675,8 +873,6 @@
#include "code\modules\flufftext\Dreaming.dm"
#include "code\modules\flufftext\Hallucination.dm"
#include "code\modules\flufftext\TextFilters.dm"
-#include "code\modules\food\food.dm"
-#include "code\modules\food\meat.dm"
#include "code\modules\food\recipes_microwave.dm"
#include "code\modules\maps\dmm_suite.dm"
#include "code\modules\maps\randomZlevel.dm"
@@ -925,6 +1121,36 @@
#include "code\modules\projectiles\projectile\change.dm"
#include "code\modules\projectiles\projectile\energy.dm"
#include "code\modules\projectiles\projectile\special.dm"
+#include "code\modules\reagents\Chemistry-Colours.dm"
+#include "code\modules\reagents\Chemistry-Holder.dm"
+#include "code\modules\reagents\Chemistry-Machinery.dm"
+#include "code\modules\reagents\Chemistry-Readme.dm"
+#include "code\modules\reagents\Chemistry-Reagents.dm"
+#include "code\modules\reagents\Chemistry-Recipes.dm"
+#include "code\modules\reagents\grenade_launcher.dm"
+#include "code\modules\reagents\reagent_containers.dm"
+#include "code\modules\reagents\reagent_dispenser.dm"
+#include "code\modules\reagents\syringe_gun.dm"
+#include "code\modules\reagents\reagent_container\robodropper.dm"
+#include "code\modules\reagents\reagent_containers\borghydro.dm"
+#include "code\modules\reagents\reagent_containers\dropper.dm"
+#include "code\modules\reagents\reagent_containers\food.dm"
+#include "code\modules\reagents\reagent_containers\glass.dm"
+#include "code\modules\reagents\reagent_containers\hypospray.dm"
+#include "code\modules\reagents\reagent_containers\pill.dm"
+#include "code\modules\reagents\reagent_containers\spray.dm"
+#include "code\modules\reagents\reagent_containers\syringes.dm"
+#include "code\modules\reagents\reagent_containers\food\condiment.dm"
+#include "code\modules\reagents\reagent_containers\food\drinks.dm"
+#include "code\modules\reagents\reagent_containers\food\snacks.dm"
+#include "code\modules\reagents\reagent_containers\food\drinks\bottle.dm"
+#include "code\modules\reagents\reagent_containers\food\drinks\drinkingglass.dm"
+#include "code\modules\reagents\reagent_containers\food\drinks\jar.dm"
+#include "code\modules\reagents\reagent_containers\food\drinks\bottle\robot.dm"
+#include "code\modules\reagents\reagent_containers\food\snacks\grown.dm"
+#include "code\modules\reagents\reagent_containers\food\snacks\meat.dm"
+#include "code\modules\reagents\reagent_containers\glass\bottle.dm"
+#include "code\modules\reagents\reagent_containers\glass\bottle\robot.dm"
#include "code\modules\recycling\conveyor2.dm"
#include "code\modules\recycling\disposal-construction.dm"
#include "code\modules\recycling\disposal.dm"