Adds clothing production for Botany (#40563)
cl MMMiracles add: Botany can now grow cotton to produce cloth for various jumpsuits. add: Cotton can be mutated into a much more durable strand, allowing for the production of crude armor. add: Rainbow flowers, an alternative for clothing dyeing, is obtainable through cargo's exotic seed crate. add: A loom can now be crafted with some planks so you can actually weave that cotton into a usable fabric. add: Fannypacks, softcaps, beanies and scarves are now craftable with cloth and dyeable. /cl [why]: A way to produce clothing and naturally obtain cloth past ripping up other stuff seemed useful and with the economy aspect, might actually have some extra use.
@@ -94,6 +94,10 @@
|
||||
if(istype(WM.color_source, /obj/item/toy/crayon))
|
||||
var/obj/item/toy/crayon/CR = WM.color_source
|
||||
add_atom_colour(CR.paint_color, WASHABLE_COLOUR_PRIORITY)
|
||||
else
|
||||
if(istype(WM.color_source, /obj/item/reagent_containers/food/snacks/grown/rainbow_flower/))
|
||||
var/obj/item/reagent_containers/food/snacks/grown/rainbow_flower/RF = WM.color_source
|
||||
add_atom_colour(RF.color, WASHABLE_COLOUR_PRIORITY)
|
||||
|
||||
/mob/living/simple_animal/pet/dog/corgi/machine_wash(obj/machinery/washing_machine/WM)
|
||||
gib()
|
||||
@@ -129,6 +133,21 @@
|
||||
if(!can_adjust && adjusted) //we deadjust the uniform if it's now unadjustable
|
||||
toggle_jumpsuit_adjust()
|
||||
|
||||
//dyed clothing results//
|
||||
|
||||
/obj/item/storage/belt/fannypack/machine_wash(obj/machinery/washing_machine/WM)
|
||||
if(WM.color_source)
|
||||
var/wash_color = WM.color_source.item_color
|
||||
for(var/T in typesof(/obj/item/storage/belt/fannypack))
|
||||
var/obj/item/storage/belt/fannypack/FP = T
|
||||
if(wash_color == initial(FP.item_color))
|
||||
item_state = initial(FP.item_state)
|
||||
icon_state = initial(FP.icon_state)
|
||||
item_color = wash_color
|
||||
name = initial(FP.name)
|
||||
desc = "The colors are a bit dodgy."
|
||||
break
|
||||
|
||||
/obj/item/clothing/gloves/color/machine_wash(obj/machinery/washing_machine/WM)
|
||||
if(WM.color_source)
|
||||
var/wash_color = WM.color_source.item_color
|
||||
@@ -170,17 +189,29 @@
|
||||
desc = "The colors are a bit dodgy."
|
||||
break
|
||||
|
||||
/obj/item/clothing/head/soft/machine_wash(obj/machinery/washing_machine/WM)
|
||||
/obj/item/clothing/neck/scarf/machine_wash(obj/machinery/washing_machine/WM)
|
||||
if(WM.color_source)
|
||||
var/wash_color = WM.color_source.item_color
|
||||
for(var/T in typesof(/obj/item/clothing/head/soft))
|
||||
var/obj/item/clothing/head/soft/H = T
|
||||
if(wash_color == initial(H.item_color))
|
||||
icon_state = initial(H.icon_state)
|
||||
item_color = wash_color
|
||||
name = initial(H.name)
|
||||
desc = "The colors are a bit dodgy."
|
||||
break
|
||||
if(istype(WM.color_source, /obj/item/toy/crayon))
|
||||
var/obj/item/toy/crayon/CR = WM.color_source
|
||||
add_atom_colour(CR.paint_color, WASHABLE_COLOUR_PRIORITY)
|
||||
else
|
||||
if(istype(WM.color_source, /obj/item/reagent_containers/food/snacks/grown/rainbow_flower/))
|
||||
var/obj/item/reagent_containers/food/snacks/grown/rainbow_flower/RF = WM.color_source
|
||||
add_atom_colour(RF.color, WASHABLE_COLOUR_PRIORITY)
|
||||
name = "dyed scarf"
|
||||
desc = "The colors are a bit dodgy."
|
||||
|
||||
/obj/item/clothing/head/beanie/machine_wash(obj/machinery/washing_machine/WM)
|
||||
if(WM.color_source)
|
||||
if(istype(WM.color_source, /obj/item/toy/crayon))
|
||||
var/obj/item/toy/crayon/CR = WM.color_source
|
||||
add_atom_colour(CR.paint_color, WASHABLE_COLOUR_PRIORITY)
|
||||
else
|
||||
if(istype(WM.color_source, /obj/item/reagent_containers/food/snacks/grown/rainbow_flower/))
|
||||
var/obj/item/reagent_containers/food/snacks/grown/rainbow_flower/RF = WM.color_source
|
||||
add_atom_colour(RF.color, WASHABLE_COLOUR_PRIORITY)
|
||||
name = "dyed beanie"
|
||||
desc = "The colors are a bit dodgy."
|
||||
|
||||
|
||||
/obj/machinery/washing_machine/relaymove(mob/user)
|
||||
@@ -231,7 +262,7 @@
|
||||
to_chat(user, "<span class='warning'>\The [W] is stuck to your hand, you cannot put it in the washing machine!</span>")
|
||||
return 1
|
||||
|
||||
if(istype(W, /obj/item/toy/crayon) || istype(W, /obj/item/stamp))
|
||||
if(istype(W, /obj/item/toy/crayon) || istype(W, /obj/item/stamp) || istype(W, /obj/item/reagent_containers/food/snacks/grown/rainbow_flower))
|
||||
color_source = W
|
||||
update_icon()
|
||||
|
||||
|
||||
@@ -198,6 +198,7 @@ GLOBAL_LIST_INIT(wood_recipes, list ( \
|
||||
new/datum/stack_recipe("ore box", /obj/structure/ore_box, 4, time = 50, one_per_turf = TRUE, on_floor = TRUE),\
|
||||
new/datum/stack_recipe("wooden crate", /obj/structure/closet/crate/wooden, 6, time = 50, one_per_turf = TRUE, on_floor = TRUE),\
|
||||
new/datum/stack_recipe("baseball bat", /obj/item/melee/baseball_bat, 5, time = 15),\
|
||||
new/datum/stack_recipe("loom", /obj/structure/loom, 10, time = 15, one_per_turf = TRUE, on_floor = TRUE), \
|
||||
))
|
||||
|
||||
/obj/item/stack/sheet/mineral/wood
|
||||
@@ -225,8 +226,9 @@ GLOBAL_LIST_INIT(wood_recipes, list ( \
|
||||
* Cloth
|
||||
*/
|
||||
GLOBAL_LIST_INIT(cloth_recipes, list ( \
|
||||
new/datum/stack_recipe("grey jumpsuit", /obj/item/clothing/under/color/grey, 3), \
|
||||
new/datum/stack_recipe("black shoes", /obj/item/clothing/shoes/sneakers/black, 2), \
|
||||
new/datum/stack_recipe("white jumpsuit", /obj/item/clothing/under/color/white, 3), \
|
||||
new/datum/stack_recipe("white shoes", /obj/item/clothing/shoes/sneakers/white, 2), \
|
||||
new/datum/stack_recipe("white scarf", /obj/item/clothing/neck/scarf, 1), \
|
||||
null, \
|
||||
new/datum/stack_recipe("backpack", /obj/item/storage/backpack, 4), \
|
||||
new/datum/stack_recipe("duffel bag", /obj/item/storage/backpack/duffelbag, 6), \
|
||||
@@ -243,7 +245,9 @@ GLOBAL_LIST_INIT(cloth_recipes, list ( \
|
||||
new/datum/stack_recipe("empty sandbag", /obj/item/emptysandbag, 4), \
|
||||
null, \
|
||||
new/datum/stack_recipe("fingerless gloves", /obj/item/clothing/gloves/fingerless, 1), \
|
||||
new/datum/stack_recipe("black gloves", /obj/item/clothing/gloves/color/black, 3), \
|
||||
new/datum/stack_recipe("white gloves", /obj/item/clothing/gloves/color/white, 3), \
|
||||
new/datum/stack_recipe("white softcap", /obj/item/clothing/head/soft/mime, 2), \
|
||||
new/datum/stack_recipe("white beanie", /obj/item/clothing/head/beanie, 2), \
|
||||
null, \
|
||||
new/datum/stack_recipe("blindfold", /obj/item/clothing/glasses/sunglasses/blindfold, 2), \
|
||||
))
|
||||
@@ -259,6 +263,13 @@ GLOBAL_LIST_INIT(cloth_recipes, list ( \
|
||||
throwforce = 0
|
||||
merge_type = /obj/item/stack/sheet/cloth
|
||||
|
||||
/obj/item/stack/sheet/cloth/durathread
|
||||
name = "durathread"
|
||||
desc = "A fabric sown from incredibly durable threads, known for its usefulness in armor production."
|
||||
singular_name = "durathread roll"
|
||||
icon_state = "sheet-durathread"
|
||||
merge_type = /obj/item/stack/sheet/cloth
|
||||
|
||||
/obj/item/stack/sheet/cloth/Initialize(mapload, new_amount, merge = TRUE)
|
||||
recipes = GLOB.cloth_recipes
|
||||
return ..()
|
||||
@@ -266,6 +277,32 @@ GLOBAL_LIST_INIT(cloth_recipes, list ( \
|
||||
/obj/item/stack/sheet/cloth/ten
|
||||
amount = 10
|
||||
|
||||
/obj/item/stack/sheet/cloth/five
|
||||
amount = 5
|
||||
|
||||
/obj/item/stack/sheet/cotton
|
||||
name = "raw cotton bundle"
|
||||
desc = "A bundle of raw cotton ready to be spun on the loom."
|
||||
singular_name = "raw cotton ball"
|
||||
icon_state = "sheet-cotton"
|
||||
is_fabric = TRUE
|
||||
resistance_flags = FLAMMABLE
|
||||
force = 0
|
||||
throwforce = 0
|
||||
merge_type = /obj/item/stack/sheet/cotton
|
||||
pull_effort = 30
|
||||
loom_result = /obj/item/stack/sheet/cloth
|
||||
|
||||
/obj/item/stack/sheet/cotton/durathread
|
||||
name = "raw durathread bundle"
|
||||
desc = "A bundle of raw durathread ready to be spun on the loom."
|
||||
singular_name = "raw durathread ball"
|
||||
icon_state = "sheet-durathreadraw"
|
||||
merge_type = /obj/item/stack/sheet/cotton/durathread
|
||||
pull_effort = 70
|
||||
loom_result = /obj/item/stack/sheet/cloth/durathread
|
||||
|
||||
|
||||
/*
|
||||
* Cardboard
|
||||
*/
|
||||
|
||||
@@ -12,4 +12,7 @@
|
||||
novariants = FALSE
|
||||
var/perunit = MINERAL_MATERIAL_AMOUNT
|
||||
var/sheettype = null //this is used for girders in the creation of walls/false walls
|
||||
var/point_value = 0 //turn-in value for the gulag stacker - loosely relative to its rarity.
|
||||
var/point_value = 0 //turn-in value for the gulag stacker - loosely relative to its rarity.
|
||||
var/is_fabric = FALSE //is this a valid material for the loom?
|
||||
var/loom_result //result from pulling on the loom
|
||||
var/pull_effort = 0 //amount of delay when pulling on the loom
|
||||
@@ -553,6 +553,7 @@
|
||||
desc = "A dorky fannypack for keeping small items in."
|
||||
icon_state = "fannypack_leather"
|
||||
item_state = "fannypack_leather"
|
||||
item_color = "fannypackleather"
|
||||
|
||||
/obj/item/storage/belt/fannypack/ComponentInitialize()
|
||||
. = ..()
|
||||
@@ -564,51 +565,61 @@
|
||||
name = "black fannypack"
|
||||
icon_state = "fannypack_black"
|
||||
item_state = "fannypack_black"
|
||||
item_color = "black"
|
||||
|
||||
/obj/item/storage/belt/fannypack/red
|
||||
name = "red fannypack"
|
||||
icon_state = "fannypack_red"
|
||||
item_state = "fannypack_red"
|
||||
item_color = "red"
|
||||
|
||||
/obj/item/storage/belt/fannypack/purple
|
||||
name = "purple fannypack"
|
||||
icon_state = "fannypack_purple"
|
||||
item_state = "fannypack_purple"
|
||||
item_color = "purple"
|
||||
|
||||
/obj/item/storage/belt/fannypack/blue
|
||||
name = "blue fannypack"
|
||||
icon_state = "fannypack_blue"
|
||||
item_state = "fannypack_blue"
|
||||
item_color = "blue"
|
||||
|
||||
/obj/item/storage/belt/fannypack/orange
|
||||
name = "orange fannypack"
|
||||
icon_state = "fannypack_orange"
|
||||
item_state = "fannypack_orange"
|
||||
item_color = "orange"
|
||||
|
||||
/obj/item/storage/belt/fannypack/white
|
||||
name = "white fannypack"
|
||||
icon_state = "fannypack_white"
|
||||
item_state = "fannypack_white"
|
||||
item_color = "white"
|
||||
|
||||
/obj/item/storage/belt/fannypack/green
|
||||
name = "green fannypack"
|
||||
icon_state = "fannypack_green"
|
||||
item_state = "fannypack_green"
|
||||
item_color = "green"
|
||||
|
||||
/obj/item/storage/belt/fannypack/pink
|
||||
name = "pink fannypack"
|
||||
icon_state = "fannypack_pink"
|
||||
item_state = "fannypack_pink"
|
||||
item_color = "pink"
|
||||
|
||||
/obj/item/storage/belt/fannypack/cyan
|
||||
name = "cyan fannypack"
|
||||
icon_state = "fannypack_cyan"
|
||||
item_state = "fannypack_cyan"
|
||||
item_color = "cyan"
|
||||
|
||||
/obj/item/storage/belt/fannypack/yellow
|
||||
name = "yellow fannypack"
|
||||
icon_state = "fannypack_yellow"
|
||||
item_state = "fannypack_yellow"
|
||||
item_color = "yellow"
|
||||
|
||||
/obj/item/storage/belt/sabre
|
||||
name = "sabre sheath"
|
||||
|
||||
@@ -0,0 +1,19 @@
|
||||
/obj/structure/loom
|
||||
name = "loom"
|
||||
desc = "A simple device used to weave cloth and other thread-based fabrics together into usable material."
|
||||
icon = 'icons/obj/hydroponics/equipment.dmi'
|
||||
icon_state = "loom"
|
||||
density = TRUE
|
||||
anchored = TRUE
|
||||
|
||||
/obj/structure/loom/attackby(obj/item/stack/sheet/W, mob/user)
|
||||
if(W.is_fabric && W.amount > 1)
|
||||
user.show_message("<span class='notice'>You start weaving the [W.name] through the loom..</span>", 1)
|
||||
if(W.use_tool(src, user, W.pull_effort))
|
||||
new W.loom_result(drop_location())
|
||||
user.show_message("<span class='notice'>You weave the [W.name] into a workable fabric.</span>", 1)
|
||||
W.amount = (W.amount - 2)
|
||||
if(W.amount < 1)
|
||||
qdel(W)
|
||||
else
|
||||
user.show_message("<span class='notice'>You need a valid fabric and at least 2 of said fabric before using this.</span>", 1)
|
||||
@@ -1585,9 +1585,10 @@
|
||||
|
||||
/datum/supply_pack/organic/seeds
|
||||
name = "Seeds Crate"
|
||||
desc = "Big things have small beginnings. Contains thirteen different seeds."
|
||||
desc = "Big things have small beginnings. Contains fourteen different seeds."
|
||||
cost = 1000
|
||||
contains = list(/obj/item/seeds/chili,
|
||||
/obj/item/seeds/cotton,
|
||||
/obj/item/seeds/berry,
|
||||
/obj/item/seeds/corn,
|
||||
/obj/item/seeds/eggplant,
|
||||
@@ -1605,7 +1606,7 @@
|
||||
|
||||
/datum/supply_pack/organic/exoticseeds
|
||||
name = "Exotic Seeds Crate"
|
||||
desc = "Any entrepreneuring botanist's dream. Contains twelve different seeds, including three replica-pod seeds and two mystery seeds!"
|
||||
desc = "Any entrepreneuring botanist's dream. Contains fourteen different seeds, including three replica-pod seeds and two mystery seeds!"
|
||||
cost = 1500
|
||||
contains = list(/obj/item/seeds/nettle,
|
||||
/obj/item/seeds/replicapod,
|
||||
@@ -1617,6 +1618,8 @@
|
||||
/obj/item/seeds/reishi,
|
||||
/obj/item/seeds/banana,
|
||||
/obj/item/seeds/eggplant/eggy,
|
||||
/obj/item/seeds/rainbow_bunch,
|
||||
/obj/item/seeds/rainbow_bunch,
|
||||
/obj/item/seeds/random,
|
||||
/obj/item/seeds/random)
|
||||
crate_name = "exotic seeds crate"
|
||||
|
||||
@@ -81,4 +81,4 @@
|
||||
heat_protection = HEAD
|
||||
max_heat_protection_temperature = FIRE_IMMUNITY_MAX_TEMP_PROTECT
|
||||
cold_protection = HEAD
|
||||
min_cold_protection_temperature = FIRE_HELM_MIN_TEMP_PROTECT
|
||||
min_cold_protection_temperature = FIRE_HELM_MIN_TEMP_PROTECT
|
||||
@@ -243,6 +243,14 @@
|
||||
item_state = "skull"
|
||||
strip_delay = 100
|
||||
|
||||
/obj/item/clothing/head/helmet/durathread
|
||||
name = "makeshift helmet"
|
||||
desc = "A hardhat with strips of leather and durathread for additional blunt protection."
|
||||
icon_state = "durathread"
|
||||
item_state = "durathread"
|
||||
armor = list("melee" = 25, "bullet" = 10, "laser" = 20,"energy" = 10, "bomb" = 30, "bio" = 15, "rad" = 20, "fire" = 100, "acid" = 50)
|
||||
strip_delay = 60
|
||||
|
||||
//LightToggle
|
||||
|
||||
/obj/item/clothing/head/helmet/update_icon()
|
||||
|
||||
@@ -92,51 +92,60 @@
|
||||
name = "white scarf"
|
||||
icon_state = "scarf"
|
||||
desc = "A stylish scarf. The perfect winter accessory for those with a keen fashion sense, and those who just can't handle a cold breeze on their necks."
|
||||
item_color = "scarf"
|
||||
item_color = "white"
|
||||
dog_fashion = /datum/dog_fashion/head
|
||||
|
||||
/obj/item/clothing/neck/scarf/black
|
||||
name = "black scarf"
|
||||
item_color = "black"
|
||||
icon_state = "scarf"
|
||||
color = "#4A4A4B" //Grey but it looks black
|
||||
|
||||
/obj/item/clothing/neck/scarf/pink
|
||||
name = "pink scarf"
|
||||
item_color = "pink"
|
||||
icon_state = "scarf"
|
||||
color = "#F699CD" //Pink
|
||||
|
||||
/obj/item/clothing/neck/scarf/red
|
||||
name = "red scarf"
|
||||
item_color = "red"
|
||||
icon_state = "scarf"
|
||||
color = "#D91414" //Red
|
||||
|
||||
/obj/item/clothing/neck/scarf/green
|
||||
name = "green scarf"
|
||||
item_color = "green"
|
||||
icon_state = "scarf"
|
||||
color = "#5C9E54" //Green
|
||||
|
||||
/obj/item/clothing/neck/scarf/darkblue
|
||||
name = "dark blue scarf"
|
||||
item_color = "blue"
|
||||
icon_state = "scarf"
|
||||
color = "#1E85BC" //Blue
|
||||
|
||||
/obj/item/clothing/neck/scarf/purple
|
||||
name = "purple scarf"
|
||||
item_color = "purple"
|
||||
icon_state = "scarf"
|
||||
color = "#9557C5" //Purple
|
||||
|
||||
/obj/item/clothing/neck/scarf/yellow
|
||||
name = "yellow scarf"
|
||||
item_color = "yellow"
|
||||
icon_state = "scarf"
|
||||
color = "#E0C14F" //Yellow
|
||||
|
||||
/obj/item/clothing/neck/scarf/orange
|
||||
name = "orange scarf"
|
||||
item_color = "orange"
|
||||
icon_state = "scarf"
|
||||
color = "#C67A4B" //Orange
|
||||
|
||||
/obj/item/clothing/neck/scarf/cyan
|
||||
name = "cyan scarf"
|
||||
item_color = "cyan"
|
||||
icon_state = "scarf"
|
||||
color = "#54A3CE" //Cyan
|
||||
|
||||
|
||||
@@ -234,3 +234,14 @@
|
||||
/obj/item/clothing/suit/armor/riot/knight/red
|
||||
icon_state = "knight_red"
|
||||
item_state = "knight_red"
|
||||
|
||||
/obj/item/clothing/suit/armor/vest/durathread
|
||||
name = "makeshift vest"
|
||||
desc = "A vest made of durathread with strips of leather acting as trauma plates."
|
||||
icon_state = "durathread"
|
||||
item_state = "durathread"
|
||||
strip_delay = 60
|
||||
equip_delay_other = 40
|
||||
max_integrity = 200
|
||||
resistance_flags = FLAMMABLE
|
||||
armor = list("melee" = 20, "bullet" = 10, "laser" = 30, "energy" = 5, "bomb" = 15, "bio" = 0, "rad" = 0, "fire" = 0, "acid" = 50)
|
||||
|
||||
@@ -635,68 +635,6 @@
|
||||
tools = list(TOOL_SCREWDRIVER, TOOL_WRENCH, TOOL_WELDER)
|
||||
category = CAT_MISC
|
||||
|
||||
/datum/crafting_recipe/hudsunsec
|
||||
name = "Security HUDsunglasses"
|
||||
result = /obj/item/clothing/glasses/hud/security/sunglasses
|
||||
time = 20
|
||||
tools = list(TOOL_SCREWDRIVER, TOOL_WIRECUTTER)
|
||||
reqs = list(/obj/item/clothing/glasses/hud/security = 1,
|
||||
/obj/item/clothing/glasses/sunglasses = 1,
|
||||
/obj/item/stack/cable_coil = 5)
|
||||
category = CAT_CLOTHING
|
||||
|
||||
/datum/crafting_recipe/hudsunsecremoval
|
||||
name = "Security HUD removal"
|
||||
result = /obj/item/clothing/glasses/sunglasses
|
||||
time = 20
|
||||
tools = list(TOOL_SCREWDRIVER, TOOL_WIRECUTTER)
|
||||
reqs = list(/obj/item/clothing/glasses/hud/security/sunglasses = 1)
|
||||
category = CAT_CLOTHING
|
||||
|
||||
/datum/crafting_recipe/hudsunmed
|
||||
name = "Medical HUDsunglasses"
|
||||
result = /obj/item/clothing/glasses/hud/health/sunglasses
|
||||
time = 20
|
||||
tools = list(TOOL_SCREWDRIVER, TOOL_WIRECUTTER)
|
||||
reqs = list(/obj/item/clothing/glasses/hud/health = 1,
|
||||
/obj/item/clothing/glasses/sunglasses = 1,
|
||||
/obj/item/stack/cable_coil = 5)
|
||||
category = CAT_CLOTHING
|
||||
|
||||
/datum/crafting_recipe/hudsunmedremoval
|
||||
name = "Medical HUD removal"
|
||||
result = /obj/item/clothing/glasses/sunglasses
|
||||
time = 20
|
||||
tools = list(TOOL_SCREWDRIVER, TOOL_WIRECUTTER)
|
||||
reqs = list(/obj/item/clothing/glasses/hud/health/sunglasses = 1)
|
||||
category = CAT_CLOTHING
|
||||
|
||||
/datum/crafting_recipe/beergoggles
|
||||
name = "Beer Goggles"
|
||||
result = /obj/item/clothing/glasses/sunglasses/reagent
|
||||
time = 20
|
||||
tools = list(TOOL_SCREWDRIVER, TOOL_WIRECUTTER)
|
||||
reqs = list(/obj/item/clothing/glasses/science = 1,
|
||||
/obj/item/clothing/glasses/sunglasses = 1,
|
||||
/obj/item/stack/cable_coil = 5)
|
||||
category = CAT_CLOTHING
|
||||
|
||||
/datum/crafting_recipe/beergogglesremoval
|
||||
name = "Beer Goggles removal"
|
||||
result = /obj/item/clothing/glasses/sunglasses
|
||||
time = 20
|
||||
tools = list(TOOL_SCREWDRIVER, TOOL_WIRECUTTER)
|
||||
reqs = list(/obj/item/clothing/glasses/sunglasses/reagent = 1)
|
||||
category = CAT_CLOTHING
|
||||
|
||||
/datum/crafting_recipe/ghostsheet
|
||||
name = "Ghost Sheet"
|
||||
result = /obj/item/clothing/suit/ghost_sheet
|
||||
time = 5
|
||||
tools = list(TOOL_WIRECUTTER)
|
||||
reqs = list(/obj/item/bedsheet = 1)
|
||||
category = CAT_CLOTHING
|
||||
|
||||
/datum/crafting_recipe/aitater
|
||||
name = "intelliTater"
|
||||
result = /obj/item/aicard/aitater
|
||||
|
||||
@@ -0,0 +1,86 @@
|
||||
/datum/crafting_recipe/durathread_vest
|
||||
name = "Makeshift Durathread Vest"
|
||||
result = /obj/item/clothing/suit/armor/vest/durathread
|
||||
reqs = list(/obj/item/stack/sheet/cloth/durathread = 5,
|
||||
/obj/item/stack/sheet/leather = 4)
|
||||
time = 50
|
||||
category = CAT_CLOTHING
|
||||
|
||||
/datum/crafting_recipe/durathread_helmet
|
||||
name = "Makeshift Durathread Helmet"
|
||||
result = /obj/item/clothing/head/helmet/durathread
|
||||
reqs = list(/obj/item/stack/sheet/cloth/durathread = 4,
|
||||
/obj/item/stack/sheet/leather = 3,
|
||||
/obj/item/clothing/head/hardhat = 1)
|
||||
time = 40
|
||||
category = CAT_CLOTHING
|
||||
|
||||
/datum/crafting_recipe/fannypack
|
||||
name = "Fannypack"
|
||||
result = /obj/item/storage/belt/fannypack
|
||||
reqs = list(/obj/item/stack/sheet/cloth = 2,
|
||||
/obj/item/stack/sheet/leather = 1)
|
||||
time = 20
|
||||
category = CAT_CLOTHING
|
||||
|
||||
/datum/crafting_recipe/hudsunsec
|
||||
name = "Security HUDsunglasses"
|
||||
result = /obj/item/clothing/glasses/hud/security/sunglasses
|
||||
time = 20
|
||||
tools = list(TOOL_SCREWDRIVER, TOOL_WIRECUTTER)
|
||||
reqs = list(/obj/item/clothing/glasses/hud/security = 1,
|
||||
/obj/item/clothing/glasses/sunglasses = 1,
|
||||
/obj/item/stack/cable_coil = 5)
|
||||
category = CAT_CLOTHING
|
||||
|
||||
/datum/crafting_recipe/hudsunsecremoval
|
||||
name = "Security HUD removal"
|
||||
result = /obj/item/clothing/glasses/sunglasses
|
||||
time = 20
|
||||
tools = list(TOOL_SCREWDRIVER, TOOL_WIRECUTTER)
|
||||
reqs = list(/obj/item/clothing/glasses/hud/security/sunglasses = 1)
|
||||
category = CAT_CLOTHING
|
||||
|
||||
/datum/crafting_recipe/hudsunmed
|
||||
name = "Medical HUDsunglasses"
|
||||
result = /obj/item/clothing/glasses/hud/health/sunglasses
|
||||
time = 20
|
||||
tools = list(TOOL_SCREWDRIVER, TOOL_WIRECUTTER)
|
||||
reqs = list(/obj/item/clothing/glasses/hud/health = 1,
|
||||
/obj/item/clothing/glasses/sunglasses = 1,
|
||||
/obj/item/stack/cable_coil = 5)
|
||||
category = CAT_CLOTHING
|
||||
|
||||
/datum/crafting_recipe/hudsunmedremoval
|
||||
name = "Medical HUD removal"
|
||||
result = /obj/item/clothing/glasses/sunglasses
|
||||
time = 20
|
||||
tools = list(TOOL_SCREWDRIVER, TOOL_WIRECUTTER)
|
||||
reqs = list(/obj/item/clothing/glasses/hud/health/sunglasses = 1)
|
||||
category = CAT_CLOTHING
|
||||
|
||||
/datum/crafting_recipe/beergoggles
|
||||
name = "Beer Goggles"
|
||||
result = /obj/item/clothing/glasses/sunglasses/reagent
|
||||
time = 20
|
||||
tools = list(TOOL_SCREWDRIVER, TOOL_WIRECUTTER)
|
||||
reqs = list(/obj/item/clothing/glasses/science = 1,
|
||||
/obj/item/clothing/glasses/sunglasses = 1,
|
||||
/obj/item/stack/cable_coil = 5)
|
||||
category = CAT_CLOTHING
|
||||
|
||||
/datum/crafting_recipe/beergogglesremoval
|
||||
name = "Beer Goggles removal"
|
||||
result = /obj/item/clothing/glasses/sunglasses
|
||||
time = 20
|
||||
tools = list(TOOL_SCREWDRIVER, TOOL_WIRECUTTER)
|
||||
reqs = list(/obj/item/clothing/glasses/sunglasses/reagent = 1)
|
||||
category = CAT_CLOTHING
|
||||
|
||||
/datum/crafting_recipe/ghostsheet
|
||||
name = "Ghost Sheet"
|
||||
result = /obj/item/clothing/suit/ghost_sheet
|
||||
time = 5
|
||||
tools = list(TOOL_WIRECUTTER)
|
||||
reqs = list(/obj/item/bedsheet = 1)
|
||||
category = CAT_CLOTHING
|
||||
@@ -0,0 +1,79 @@
|
||||
/obj/item/seeds/cotton
|
||||
name = "pack of cotton seeds"
|
||||
desc = "A pack of seeds that'll grow into a cotton plant. Assistants make good free labor if neccesary."
|
||||
icon_state = "seed-cotton"
|
||||
species = "cotton"
|
||||
plantname = "Cotton"
|
||||
icon_harvest = "cotton-harvest"
|
||||
product = /obj/item/grown/cotton
|
||||
lifespan = 35
|
||||
endurance = 25
|
||||
maturation = 15
|
||||
production = 1
|
||||
yield = 2
|
||||
potency = 50
|
||||
growthstages = 3
|
||||
growing_icon = 'icons/obj/hydroponics/growing.dmi'
|
||||
icon_dead = "cotton-dead"
|
||||
mutatelist = list(/obj/item/seeds/cotton/durathread)
|
||||
|
||||
/obj/item/grown/cotton
|
||||
seed = /obj/item/seeds/cotton
|
||||
name = "cotton bundle"
|
||||
desc = "A fluffy bundle of cotton."
|
||||
icon_state = "cotton"
|
||||
force = 0
|
||||
throwforce = 0
|
||||
w_class = WEIGHT_CLASS_TINY
|
||||
throw_speed = 2
|
||||
throw_range = 3
|
||||
attack_verb = list("pomfed")
|
||||
var/cotton_type = /obj/item/stack/sheet/cotton
|
||||
var/cotton_name = "raw cotton"
|
||||
|
||||
/obj/item/grown/cotton/attack_self(mob/user)
|
||||
user.show_message("<span class='notice'>You pull some [cotton_name] out of the [name]!</span>", 1)
|
||||
var/seed_modifier = 0
|
||||
if(seed)
|
||||
seed_modifier = round(seed.potency / 25)
|
||||
var/obj/item/stack/cotton = new cotton_type(user.loc, 1 + seed_modifier)
|
||||
var/old_cotton_amount = cotton.amount
|
||||
for(var/obj/item/stack/ST in user.loc)
|
||||
if(ST != cotton && istype(ST, cotton_type) && ST.amount < ST.max_amount)
|
||||
ST.attackby(cotton, user)
|
||||
if(cotton.amount > old_cotton_amount)
|
||||
to_chat(user, "<span class='notice'>You add the newly-formed [cotton_name] to the stack. It now contains [cotton.amount] [cotton_name].</span>")
|
||||
qdel(src)
|
||||
|
||||
//reinforced mutated variant
|
||||
/obj/item/seeds/cotton/durathread
|
||||
name = "pack of durathread seeds"
|
||||
desc = "A pack of seeds that'll grow into an extremely durable thread that could easily rival plasteel if woven properly."
|
||||
icon_state = "seed-durathread"
|
||||
species = "durathread"
|
||||
plantname = "Durathread"
|
||||
icon_harvest = "durathread-harvest"
|
||||
product = /obj/item/grown/cotton/durathread
|
||||
lifespan = 80
|
||||
endurance = 50
|
||||
maturation = 15
|
||||
production = 1
|
||||
yield = 2
|
||||
potency = 50
|
||||
growthstages = 3
|
||||
growing_icon = 'icons/obj/hydroponics/growing.dmi'
|
||||
icon_dead = "cotton-dead"
|
||||
|
||||
/obj/item/grown/cotton/durathread
|
||||
seed = /obj/item/seeds/cotton/durathread
|
||||
name = "durathread bundle"
|
||||
desc = "A tough bundle of durathread, good luck unraveling this."
|
||||
icon_state = "durathread"
|
||||
force = 5
|
||||
throwforce = 5
|
||||
w_class = WEIGHT_CLASS_NORMAL
|
||||
throw_speed = 2
|
||||
throw_range = 3
|
||||
attack_verb = list("bashed", "battered", "bludgeoned", "whacked")
|
||||
cotton_type = /obj/item/stack/sheet/cotton/durathread
|
||||
cotton_name = "raw durathread"
|
||||
@@ -0,0 +1,77 @@
|
||||
/obj/item/seeds/rainbow_bunch
|
||||
name = "pack of rainbow bunch seeds"
|
||||
desc = "A pack of seeds that'll grow into a beautiful bush of various colored flowers."
|
||||
icon_state = "seed-rainbowbunch"
|
||||
species = "rainbowbunch"
|
||||
plantname = "Rainbow Flowers"
|
||||
icon_harvest = "rainbowbunch-harvest"
|
||||
product = /obj/item/reagent_containers/food/snacks/grown/rainbow_flower
|
||||
lifespan = 25
|
||||
endurance = 10
|
||||
maturation = 6
|
||||
production = 3
|
||||
yield = 5
|
||||
potency = 20
|
||||
growthstages = 4
|
||||
growing_icon = 'icons/obj/hydroponics/growing_flowers.dmi'
|
||||
icon_dead = "rainbowbunch-dead"
|
||||
genes = list(/datum/plant_gene/trait/repeated_harvest)
|
||||
reagents_add = list("nutriment" = 0.05)
|
||||
|
||||
/obj/item/reagent_containers/food/snacks/grown/rainbow_flower
|
||||
seed = /obj/item/seeds/rainbow_bunch
|
||||
name = "rainbow flower"
|
||||
desc = "A beautiful flower capable of being used for most dyeing processes."
|
||||
icon_state = "rainbow_flower"
|
||||
slot_flags = ITEM_SLOT_HEAD
|
||||
force = 0
|
||||
throwforce = 0
|
||||
w_class = WEIGHT_CLASS_TINY
|
||||
throw_speed = 2
|
||||
throw_range = 3
|
||||
attack_verb = list("pompfed")
|
||||
|
||||
/obj/item/reagent_containers/food/snacks/grown/rainbow_flower/Initialize()
|
||||
. = ..()
|
||||
var/flower_color = rand(1,8)
|
||||
switch(flower_color)
|
||||
if(1)
|
||||
item_color = "red"
|
||||
color = "#DA0000"
|
||||
list_reagents = list("redcrayonpowder" = 3)
|
||||
desc += " This one is in a bright red color."
|
||||
if(2)
|
||||
item_color = "orange"
|
||||
color = "#FF9300"
|
||||
list_reagents = list("orangecrayonpowder" = 3)
|
||||
desc += " This one is in a citrus orange color."
|
||||
if(3)
|
||||
item_color = "yellow"
|
||||
color = "#FFF200"
|
||||
list_reagents = list("yellowcrayonpowder" = 3)
|
||||
desc += " This one is in a bright yellow color."
|
||||
if(4)
|
||||
item_color = "green"
|
||||
color = "#A8E61D"
|
||||
list_reagents = list("greencrayonpowder" = 3)
|
||||
desc += " This one is in a grassy green color."
|
||||
if(5)
|
||||
item_color = "blue"
|
||||
color = "#00B7EF"
|
||||
list_reagents = list("bluecrayonpowder" = 3)
|
||||
desc += " This one is in a soothing blue color."
|
||||
if(6)
|
||||
item_color = "purple"
|
||||
color = "#DA00FF"
|
||||
list_reagents = list("purplecrayonpowder" = 3)
|
||||
desc += " This one is in a vibrant purple color."
|
||||
if(7)
|
||||
item_color = "black"
|
||||
color = "#1C1C1C"
|
||||
list_reagents = list("blackcrayonpowder" = 3)
|
||||
desc += " This one is in a midnight black color."
|
||||
if(8)
|
||||
item_color = "white"
|
||||
color = "#FFFFFF"
|
||||
list_reagents = list("whitecrayonpowder" = 3)
|
||||
desc += " This one is in a pure white color."
|
||||
@@ -6,6 +6,7 @@
|
||||
icon_state = "seeds"
|
||||
products = list(/obj/item/seeds/ambrosia = 3,
|
||||
/obj/item/seeds/apple = 3,
|
||||
/obj/item/seeds/cotton = 3,
|
||||
/obj/item/seeds/banana = 3,
|
||||
/obj/item/seeds/berry = 3,
|
||||
/obj/item/seeds/cabbage = 3,
|
||||
@@ -52,4 +53,4 @@
|
||||
resistance_flags = FIRE_PROOF
|
||||
default_price = 25
|
||||
extra_price = 50
|
||||
payment_department = ACCOUNT_SRV
|
||||
payment_department = ACCOUNT_SRV
|
||||
|
||||
|
Before Width: | Height: | Size: 168 KiB After Width: | Height: | Size: 169 KiB |
|
Before Width: | Height: | Size: 43 KiB After Width: | Height: | Size: 43 KiB |
|
Before Width: | Height: | Size: 330 KiB After Width: | Height: | Size: 330 KiB |
|
Before Width: | Height: | Size: 81 KiB After Width: | Height: | Size: 81 KiB |
|
Before Width: | Height: | Size: 114 KiB After Width: | Height: | Size: 114 KiB |
|
Before Width: | Height: | Size: 25 KiB After Width: | Height: | Size: 25 KiB |
|
Before Width: | Height: | Size: 67 KiB After Width: | Height: | Size: 69 KiB |
|
Before Width: | Height: | Size: 13 KiB After Width: | Height: | Size: 15 KiB |
|
Before Width: | Height: | Size: 49 KiB After Width: | Height: | Size: 50 KiB |
|
Before Width: | Height: | Size: 21 KiB After Width: | Height: | Size: 22 KiB |
|
Before Width: | Height: | Size: 36 KiB After Width: | Height: | Size: 40 KiB |
@@ -972,6 +972,7 @@
|
||||
#include "code\game\objects\structures\ladders.dm"
|
||||
#include "code\game\objects\structures\lattice.dm"
|
||||
#include "code\game\objects\structures\life_candle.dm"
|
||||
#include "code\game\objects\structures\loom.dm"
|
||||
#include "code\game\objects\structures\manned_turret.dm"
|
||||
#include "code\game\objects\structures\memorial.dm"
|
||||
#include "code\game\objects\structures\mineral_doors.dm"
|
||||
@@ -1518,6 +1519,7 @@
|
||||
#include "code\modules\crafting\craft.dm"
|
||||
#include "code\modules\crafting\guncrafting.dm"
|
||||
#include "code\modules\crafting\recipes.dm"
|
||||
#include "code\modules\crafting\tailoring.dm"
|
||||
#include "code\modules\detectivework\detective_work.dm"
|
||||
#include "code\modules\detectivework\evidence.dm"
|
||||
#include "code\modules\detectivework\footprints_and_rag.dm"
|
||||
@@ -1684,6 +1686,7 @@
|
||||
#include "code\modules\hydroponics\grown\citrus.dm"
|
||||
#include "code\modules\hydroponics\grown\cocoa_vanilla.dm"
|
||||
#include "code\modules\hydroponics\grown\corn.dm"
|
||||
#include "code\modules\hydroponics\grown\cotton.dm"
|
||||
#include "code\modules\hydroponics\grown\eggplant.dm"
|
||||
#include "code\modules\hydroponics\grown\flowers.dm"
|
||||
#include "code\modules\hydroponics\grown\grass_carpet.dm"
|
||||
@@ -1696,6 +1699,7 @@
|
||||
#include "code\modules\hydroponics\grown\pineapple.dm"
|
||||
#include "code\modules\hydroponics\grown\potato.dm"
|
||||
#include "code\modules\hydroponics\grown\pumpkin.dm"
|
||||
#include "code\modules\hydroponics\grown\rainbow_bunch.dm"
|
||||
#include "code\modules\hydroponics\grown\random.dm"
|
||||
#include "code\modules\hydroponics\grown\replicapod.dm"
|
||||
#include "code\modules\hydroponics\grown\root.dm"
|
||||
|
||||