diff --git a/code/game/objects/items/stacks/sheets/leather.dm b/code/game/objects/items/stacks/sheets/leather.dm index 54bc1e2fce..3076d2dfb8 100644 --- a/code/game/objects/items/stacks/sheets/leather.dm +++ b/code/game/objects/items/stacks/sheets/leather.dm @@ -83,6 +83,30 @@ icon = 'icons/mob/alien.dmi' icon_state = "weed_extract" +//Step one - dehairing. +/obj/item/stack/animalhide/attackby(obj/item/weapon/W as obj, mob/user as mob) + if(has_edge(W) || is_sharp(W)) + //visible message on mobs is defined as visible_message(var/message, var/self_message, var/blind_message) + user.visible_message("\The [user] starts cutting hair off \the [src]", "You start cutting the hair off \the [src]", "You hear the sound of a knife rubbing against flesh") + if(do_after(user,50)) + to_chat(user, "You cut the hair from this [src.singular_name]") + //Try locating an exisitng stack on the tile and add to there if possible + for(var/obj/item/stack/hairlesshide/HS in user.loc) + if(HS.amount < 50 && istype(HS, process_type)) + HS.amount++ + src.use(1) + return + //If it gets to here it means it did not find a suitable stack on the tile. + var/obj/item/stack/HS = new process_type(usr.loc) + if(istype(HS)) + HS.amount = 1 + src.use(1) + else + ..() + + +//Step two - washing..... it's actually in washing machine code, and ere. + /obj/item/stack/hairlesshide name = "hairless hide" desc = "This hide was stripped of it's hair, but still needs tanning." @@ -106,6 +130,19 @@ return +/obj/item/stack/hairlesshide/proc/rapidcure(var/stacknum = 1) + stacknum = min(stacknum, amount) + + while(stacknum) + var/obj/item/stack/wetleather/I = new wet_type(get_turf(src)) + + if(istype(I)) + I.dry() + + use(1) + stacknum -= 1 + +//Step three - drying /obj/item/stack/wetleather name = "wet leather" desc = "This leather has been cleaned but still needs to be dried." @@ -119,31 +156,6 @@ var/dry_type = /obj/item/stack/material/leather -//Step one - dehairing. -/obj/item/stack/animalhide/attackby(obj/item/weapon/W as obj, mob/user as mob) - if(has_edge(W) || is_sharp(W)) - //visible message on mobs is defined as visible_message(var/message, var/self_message, var/blind_message) - usr.visible_message("\The [usr] starts cutting hair off \the [src]", "You start cutting the hair off \the [src]", "You hear the sound of a knife rubbing against flesh") - if(do_after(user,50)) - to_chat(usr, "You cut the hair from this [src.singular_name]") - //Try locating an exisitng stack on the tile and add to there if possible - for(var/obj/item/stack/hairlesshide/HS in usr.loc) - if(HS.amount < 50 && istype(HS, process_type)) - HS.amount++ - src.use(1) - return - //If it gets to here it means it did not find a suitable stack on the tile. - var/obj/item/stack/HS = new process_type(usr.loc) - if(istype(HS)) - HS.amount = 1 - src.use(1) - else - ..() - - -//Step two - washing..... it's actually in washing machine code. - -//Step three - drying /obj/item/stack/wetleather/fire_act(datum/gas_mixture/air, exposed_temperature, exposed_volume) ..() if(exposed_temperature >= drying_threshold_temperature) diff --git a/code/game/objects/structures/watercloset.dm b/code/game/objects/structures/watercloset.dm index 27330786b1..a7037105d2 100644 --- a/code/game/objects/structures/watercloset.dm +++ b/code/game/objects/structures/watercloset.dm @@ -451,6 +451,7 @@ busy = 0 O.clean_blood() + O.water_act(rand(1,10)) user.visible_message( \ "[user] washes \a [I] using \the [src].", \ "You wash \a [I] using \the [src].") diff --git a/code/modules/hydroponics/seed_packets.dm b/code/modules/hydroponics/seed_packets.dm index 3db8840058..35e84e150d 100644 --- a/code/modules/hydroponics/seed_packets.dm +++ b/code/modules/hydroponics/seed_packets.dm @@ -176,6 +176,9 @@ GLOBAL_LIST_BOILERPLATE(all_seed_packs, /obj/item/seeds) /obj/item/seeds/towermycelium seed_type = "towercap" +/obj/item/seeds/redtowermycelium + seed_type = "redcap" + /obj/item/seeds/glowshroom seed_type = "glowshroom" diff --git a/code/modules/hydroponics/seedtypes/eggplant.dm b/code/modules/hydroponics/seedtypes/eggplant.dm index c856f0d382..cadcd3686c 100644 --- a/code/modules/hydroponics/seedtypes/eggplant.dm +++ b/code/modules/hydroponics/seedtypes/eggplant.dm @@ -28,4 +28,4 @@ kitchen_tag = "egg-plant" mutants = null chems = list("nutriment" = list(1,5), "egg" = list(3,12)) - has_item_product = /obj/item/weapon/reagent_containers/food/snacks/egg/purple \ No newline at end of file + has_item_product = /obj/item/weapon/reagent_containers/food/snacks/egg/purple diff --git a/code/modules/hydroponics/seedtypes/mushrooms.dm b/code/modules/hydroponics/seedtypes/mushrooms.dm index ceb6b0a33b..6f3b36c806 100644 --- a/code/modules/hydroponics/seedtypes/mushrooms.dm +++ b/code/modules/hydroponics/seedtypes/mushrooms.dm @@ -131,7 +131,7 @@ seed_name = "tower cap" display_name = "tower caps" chems = list("woodpulp" = list(10,1)) - mutants = null + mutants = list("redcap") has_item_product = /obj/item/stack/material/log /datum/seed/mushroom/towercap/New() @@ -142,6 +142,18 @@ set_trait(TRAIT_PLANT_COLOUR,"#857F41") set_trait(TRAIT_PLANT_ICON,"mushroom8") +/datum/seed/mushroom/towercap/red + name = "redcap" + seed_name = "red cap" + display_name = "red caps" + chems = list("woodpulp" = list(10,1), "tannin" = list(1,10)) + mutants = null + has_item_product = null + +/datum/seed/mushroom/towercap/red/New() + ..() + set_trait(TRAIT_PRODUCT_COLOUR,"#b81414") + /datum/seed/mushroom/glowshroom name = "glowshroom" seed_name = "glowshroom" diff --git a/code/modules/hydroponics/seedtypes/tobacco.dm b/code/modules/hydroponics/seedtypes/tobacco.dm new file mode 100644 index 0000000000..d9550fef8c --- /dev/null +++ b/code/modules/hydroponics/seedtypes/tobacco.dm @@ -0,0 +1,38 @@ +//Tobacco/varieties. +/datum/seed/tobacco + name = "tobacco" + seed_name = "tobacco" + display_name = "tobacco" + kitchen_tag = "tobacco" + mutants = list("stimbush") + chems = list("nutriment" = list(1,15), "nicotine" = list(1,20)) + +/datum/seed/tobacco/New() + ..() + set_trait(TRAIT_HARVEST_REPEAT,1) + set_trait(TRAIT_MATURATION,6) + set_trait(TRAIT_PRODUCTION,6) + set_trait(TRAIT_YIELD,6) + set_trait(TRAIT_POTENCY,5) + set_trait(TRAIT_PRODUCT_ICON,"leafy") + set_trait(TRAIT_PRODUCT_COLOUR,"#6f5648") + set_trait(TRAIT_PLANT_ICON,"ambrosia") + set_trait(TRAIT_IDEAL_LIGHT, 8) + +/datum/seed/tobacco/stimbush + name = "stimbush" + seed_name = "stim-bush" + display_name = "stim-bush" + chems = list("nutriment" = list(1,10), "hyperzine" = list(1,10), "synaptizine" = list(1,5)) + +/datum/seed/tobacco/stimbush/New() + ..() + set_trait(TRAIT_HARVEST_REPEAT,1) + set_trait(TRAIT_MATURATION,6) + set_trait(TRAIT_PRODUCTION,6) + set_trait(TRAIT_YIELD,6) + set_trait(TRAIT_POTENCY,5) + set_trait(TRAIT_PRODUCT_ICON,"leafy") + set_trait(TRAIT_PRODUCT_COLOUR,"#e08a1e") + set_trait(TRAIT_PLANT_ICON,"ambrosia") + set_trait(TRAIT_IDEAL_LIGHT, 10) diff --git a/code/modules/materials/materials.dm b/code/modules/materials/materials.dm index 4c84c501be..c93c872672 100644 --- a/code/modules/materials/materials.dm +++ b/code/modules/materials/materials.dm @@ -1051,6 +1051,7 @@ var/list/name_to_material //TODO PLACEHOLDERS: /datum/material/leather name = MAT_LEATHER + display_name = "plainleather" icon_colour = "#5C4831" stack_type = /obj/item/stack/material/leather stack_origin_tech = list(TECH_MATERIAL = 2, TECH_BIO = 2) diff --git a/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Toxins.dm b/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Toxins.dm index 6b41160d7a..6055ff244b 100644 --- a/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Toxins.dm +++ b/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Toxins.dm @@ -376,6 +376,22 @@ name = "Robust Harvest" id = "robustharvest" +/datum/reagent/toxin/fertilizer/tannin + name = "tannin" + id = "tannin" + description = "A chemical found in some plants as a natural pesticide. It may also aid in regulating growth." + taste_description = "puckering" + taste_mult = 1.2 + reagent_state = LIQUID + strength = 1.5 + color = "#e67819" + +/datum/reagent/toxin/fertilizer/tannin/touch_obj(var/obj/O, var/volume) + if(istype(O, /obj/item/stack/hairlesshide)) + var/obj/item/stack/hairlesshide/HH = O + HH.rapidcure(round(volume)) + ..() + /datum/reagent/toxin/plantbgone name = "Plant-B-Gone" id = "plantbgone" diff --git a/icons/obj/hydroponics_products.dmi b/icons/obj/hydroponics_products.dmi index af1beb5679..cb0e503692 100644 Binary files a/icons/obj/hydroponics_products.dmi and b/icons/obj/hydroponics_products.dmi differ diff --git a/vorestation.dme b/vorestation.dme index db302dfa60..70c247f752 100644 --- a/vorestation.dme +++ b/vorestation.dme @@ -2409,6 +2409,7 @@ #include "code\modules\hydroponics\seedtypes\surik.dm" #include "code\modules\hydroponics\seedtypes\telriis.dm" #include "code\modules\hydroponics\seedtypes\thaadra.dm" +#include "code\modules\hydroponics\seedtypes\tobacco.dm" #include "code\modules\hydroponics\seedtypes\tomatoes.dm" #include "code\modules\hydroponics\seedtypes\vale.dm" #include "code\modules\hydroponics\seedtypes\vanilla.dm"