diff --git a/code/game/objects/buckling.dm b/code/game/objects/buckling.dm index ea692339ac3..8ff0d7cfcf4 100644 --- a/code/game/objects/buckling.dm +++ b/code/game/objects/buckling.dm @@ -35,11 +35,11 @@ return FALSE //procs that handle the actual buckling and unbuckling -/atom/movable/proc/buckle_mob(mob/living/M) - if(!can_buckle || !istype(M) || (M.loc != loc) || M.buckled || M.buckled_mob || buckled_mob || (buckle_requires_restraints && !M.restrained()) || M == src) +/atom/movable/proc/buckle_mob(mob/living/M, force = 0) + if((!can_buckle && !force)|| !istype(M) || (M.loc != loc) || M.buckled || M.buckled_mob || buckled_mob || (buckle_requires_restraints && !M.restrained()) || M == src) return 0 - if(isslime(M) || isAI(M)) + if((isslime(M) || isAI(M)) && !force) if(M == usr) to_chat(M, "You are unable to buckle yourself to the [src]!") else @@ -54,7 +54,7 @@ M.throw_alert("buckled", /obj/screen/alert/restrained/buckled, new_master = src) return 1 -/obj/buckle_mob(mob/living/M) +/obj/buckle_mob(mob/living/M, force = 0) . = ..() if(.) if(burn_state == ON_FIRE) //Sets the mob on fire if you buckle them to a burning atom/movableect diff --git a/code/game/objects/items/stacks/sheets/sheet_types.dm b/code/game/objects/items/stacks/sheets/sheet_types.dm index 509d6adb0a7..dfc16949222 100644 --- a/code/game/objects/items/stacks/sheets/sheet_types.dm +++ b/code/game/objects/items/stacks/sheets/sheet_types.dm @@ -170,13 +170,42 @@ var/global/list/datum/stack_recipe/wood_recipes = list( /* * Cloth */ +var/global/list/datum/stack_recipe/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/black, 2), \ + null, \ + new/datum/stack_recipe("backpack", /obj/item/weapon/storage/backpack, 4), \ + new/datum/stack_recipe("dufflebag", /obj/item/weapon/storage/backpack/duffel, 6), \ + null, \ + new/datum/stack_recipe("plant bag", /obj/item/weapon/storage/bag/plants, 4), \ + new/datum/stack_recipe("book bag", /obj/item/weapon/storage/bag/books, 4), \ + new/datum/stack_recipe("mining satchel", /obj/item/weapon/storage/bag/ore, 4), \ + new/datum/stack_recipe("chemistry bag", /obj/item/weapon/storage/bag/chemistry, 4), \ + new/datum/stack_recipe("bio bag", /obj/item/weapon/storage/bag/bio, 4), \ + null, \ + new/datum/stack_recipe("rag", /obj/item/weapon/reagent_containers/glass/rag, 1), \ + new/datum/stack_recipe("bedsheet", /obj/item/weapon/bedsheet, 3), \ + 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), \ + ) + /obj/item/stack/sheet/cloth name = "cloth" - desc = "This roll of cloth is made from only the finest chemicals and bunny rabbits." + desc = "Is it cotton? Linen? Denim? Burlap? Canvas? You can't tell." singular_name = "cloth roll" icon_state = "sheet-cloth" origin_tech = "materials=2" burn_state = FLAMMABLE + force = 0 + throwforce = 0 + +/obj/item/stack/sheet/cloth/New(loc, amount=null) + recipes = cloth_recipes + ..() + +/obj/item/stack/sheet/cloth/ten + amount = 10 /* * Cardboard diff --git a/code/modules/clothing/head/misc.dm b/code/modules/clothing/head/misc.dm index 691394eb1b4..88638abde76 100644 --- a/code/modules/clothing/head/misc.dm +++ b/code/modules/clothing/head/misc.dm @@ -361,6 +361,11 @@ desc = "A hat with bells, to add some merryness to the suit." icon_state = "jester_hat" +/obj/item/clothing/head/rice_hat + name = "rice hat" + desc = "Welcome to the rice fields, motherfucker." + icon_state = "rice_hat" + /obj/item/clothing/head/griffin name = "griffon head" desc = "Why not 'eagle head'? Who knows." diff --git a/code/modules/clothing/suits/miscellaneous.dm b/code/modules/clothing/suits/miscellaneous.dm index 789e7064375..ef20bbd0362 100644 --- a/code/modules/clothing/suits/miscellaneous.dm +++ b/code/modules/clothing/suits/miscellaneous.dm @@ -773,6 +773,13 @@ adjust_flavour = null burn_state = FIRE_PROOF +/obj/item/clothing/suit/jacket/leather/overcoat + name = "leather overcoat" + desc = "That's a damn fine coat." + icon_state = "leathercoat" + body_parts_covered = UPPER_TORSO|LOWER_TORSO|ARMS|LEGS + cold_protection = UPPER_TORSO|LOWER_TORSO|ARMS|LEGS + /obj/item/clothing/suit/officercoat name = "Clown Officer's Coat" desc = "A classy clown officer's overcoat, also designed by Hugo Boss." diff --git a/code/modules/crafting/recipes.dm b/code/modules/crafting/recipes.dm index e86a08c9f4a..c75efd74929 100644 --- a/code/modules/crafting/recipes.dm +++ b/code/modules/crafting/recipes.dm @@ -307,4 +307,11 @@ time = 20 reqs = list(/obj/item/stack/sheet/mineral/bananium = 5, /obj/item/weapon/bikehorn) - category = CAT_MISC \ No newline at end of file + category = CAT_MISC + +/datum/crafting_recipe/bonfire + name = "Bonfire" + time = 60 + reqs = list(/obj/item/weapon/grown/log = 5) + result = /obj/structure/bonfire + category = CAT_PRIMAL \ No newline at end of file diff --git a/code/modules/events/spacevine.dm b/code/modules/events/spacevine.dm index dc67da123c2..583013f7ea0 100644 --- a/code/modules/events/spacevine.dm +++ b/code/modules/events/spacevine.dm @@ -109,9 +109,10 @@ ChangeTurf(baseturf) /turf/simulated/floor/vines/ChangeTurf(turf/open/floor/T) + . = ..() + //Do this *after* the turf has changed as qdel in spacevines will call changeturf again if it hasn't for(var/obj/effect/spacevine/SV in src) qdel(SV) - return ..() /datum/spacevine_mutation/space_covering var/static/list/coverable_turfs @@ -225,10 +226,10 @@ quality = NEGATIVE /datum/spacevine_mutation/aggressive_spread/on_spread(obj/effect/spacevine/holder, turf/target) - target.ex_act(severity, src) // vine immunity handled at /mob/ex_act + target.ex_act(severity) // vine immunity handled at /mob/ex_act /datum/spacevine_mutation/aggressive_spread/on_buckle(obj/effect/spacevine/holder, mob/living/buckled) - buckled.ex_act(severity, src) + buckled.ex_act(severity) /datum/spacevine_mutation/transparency name = "transparent" @@ -510,7 +511,7 @@ if(!buckled_mob && prob(25)) for(var/mob/living/V in loc) entangle(V) - if(buckled_mob) + if(has_buckled_mobs()) break //only capture one mob at a time diff --git a/code/modules/hydroponics/biogenerator.dm b/code/modules/hydroponics/biogenerator.dm index e30d72a26bb..10b5bd2d029 100644 --- a/code/modules/hydroponics/biogenerator.dm +++ b/code/modules/hydroponics/biogenerator.dm @@ -184,17 +184,17 @@ categories[C] += D dat += "
Biomass: [points] units.

" - dat += "ActivateDetach Container" + dat += "ActivateDetach Container" for(var/cat in categories) dat += "

[cat]:

" dat += "
" for(var/V in categories[cat]) var/datum/design/D = V - dat += "[D.name]: Make" + dat += "[D.name]: Make" if(cat in timesFiveCategories) - dat += "x5" + dat += "x5" if(ispath(D.build_path, /obj/item/stack)) - dat += "x10" + dat += "x10" dat += "([D.materials[MAT_BIOMASS]/efficiency])
" dat += "
" else diff --git a/code/modules/hydroponics/gene_modder.dm b/code/modules/hydroponics/gene_modder.dm index 09853bbc219..9f3ae0c6afa 100644 --- a/code/modules/hydroponics/gene_modder.dm +++ b/code/modules/hydroponics/gene_modder.dm @@ -132,19 +132,19 @@ dat += "[target.get_name()] gene with [disk.gene.get_name()]?
" if("insert") dat += "[disk.gene.get_name()] gene into \the [seed]?
" - dat += "
Confirm " - dat += "Abort
" + dat += "
Confirm " + dat += "Abort
" popup.set_content(dat) popup.open() return dat+= "
" - dat += "
Plant Sample:
" + dat += "" - dat += "
Data Disk:
" + dat += "
Data Disk:
" @@ -182,15 +182,15 @@ var/datum/plant_gene/G = a dat += "[G.get_name()]" if(can_extract) - dat += "Extract" - dat += "Remove" + dat += "Extract" + dat += "Remove" dat += "" dat += "" else dat += "No content-related genes detected in sample.
" dat += "
" if(can_insert && istype(disk.gene, /datum/plant_gene/reagent)) - dat += "Insert: [disk.gene.get_name()]" + dat += "Insert: [disk.gene.get_name()]" dat += "

Trait Genes

" if(trait_genes.len) @@ -199,14 +199,14 @@ var/datum/plant_gene/G = a dat += "[G.get_name()]" if(can_extract) - dat += "Extract" - dat += "Remove" + dat += "Extract" + dat += "Remove" dat += "" dat += "" else dat += "No trait-related genes detected in sample.
" if(can_insert && istype(disk.gene, /datum/plant_gene/trait)) - dat += "Insert: [disk.gene.get_name()]" + dat += "Insert: [disk.gene.get_name()]" dat += "
" else dat += "
No sample found.
Please, insert a plant sample to use this device." diff --git a/code/modules/hydroponics/grown/towercap.dm b/code/modules/hydroponics/grown/towercap.dm index 0af7d6d0732..f5bb061daf1 100644 --- a/code/modules/hydroponics/grown/towercap.dm +++ b/code/modules/hydroponics/grown/towercap.dm @@ -135,7 +135,7 @@ /obj/structure/bonfire/proc/CheckOxygen() var/datum/gas_mixture/G = loc.return_air() // Check if we're standing in an oxygenless environment - if(G.oxygen < 16) + if(G.oxygen > 16) return 1 return 0 @@ -185,6 +185,7 @@ if(..()) M.pixel_y += 13 -/obj/structure/bonfire/unbuckle_mob(mob/living/buckled_mob, force=0) - if(..()) - buckled_mob.pixel_y -= 13 \ No newline at end of file +/obj/structure/bonfire/unbuckle_mob(force=0) + if(buckled_mob) + buckled_mob.pixel_y -= 13 + . = ..() \ No newline at end of file diff --git a/code/modules/hydroponics/hydroponics.dm b/code/modules/hydroponics/hydroponics.dm index b6716ce7ad3..81630ff4b24 100644 --- a/code/modules/hydroponics/hydroponics.dm +++ b/code/modules/hydroponics/hydroponics.dm @@ -27,7 +27,20 @@ var/recent_bee_visit = FALSE //Have we been visited by a bee recently, so bees dont overpollinate one plant var/using_irrigation = FALSE //If the tray is connected to other trays via irrigation hoses var/self_sustaining = FALSE //If the tray generates nutrients and water on its own + hud_possible = list (PLANT_NUTRIENT_HUD, PLANT_WATER_HUD, PLANT_STATUS_HUD, PLANT_HEALTH_HUD, PLANT_TOXIN_HUD, PLANT_PEST_HUD, PLANT_WEED_HUD) +/obj/machinery/hydroponics/New() + ..() + var/datum/atom_hud/data/hydroponic/hydro_hud = huds[DATA_HUD_HYDROPONIC] + prepare_huds() + hydro_hud.add_to_hud(src) + plant_hud_set_nutrient() + plant_hud_set_water() + plant_hud_set_status() + plant_hud_set_health() + plant_hud_set_toxin() + plant_hud_set_pest() + plant_hud_set_weed() /obj/machinery/hydroponics/constructable name = "hydroponics tray" @@ -54,6 +67,8 @@ maxnutri = tmp_capacity * 5 // Up to 30 waterlevel = maxwater nutrilevel = 3 + plant_hud_set_nutrient() + plant_hud_set_water() /obj/machinery/hydroponics/Destroy() if(myseed) diff --git a/code/modules/hydroponics/seed_extractor.dm b/code/modules/hydroponics/seed_extractor.dm index 21f10f63505..a29366a958b 100644 --- a/code/modules/hydroponics/seed_extractor.dm +++ b/code/modules/hydroponics/seed_extractor.dm @@ -114,14 +114,14 @@ var/amount = 0 /datum/seed_pile/New(var/name, var/life, var/endur, var/matur, var/prod, var/yie, var/poten, var/am = 1) - name = name - lifespan = life - endurance = endur - maturation = matur - production = prod - yield = yie - potency = poten - amount = am + src.name = name + src.lifespan = life + src.endurance = endur + src.maturation = matur + src.production = prod + src.yield = yie + src.potency = poten + src.amount = am /obj/machinery/seed_extractor/attack_hand(mob/user) user.set_machine(src) @@ -140,7 +140,7 @@ for (var/datum/seed_pile/O in piles) dat += "[O.name][O.lifespan][O.endurance][O.maturation]" dat += "[O.production][O.yield][O.potency]" - dat += "Vend ([O.amount] left)" + dat += "Vend ([O.amount] left)" dat += "" var/datum/browser/popup = new(user, "seed_ext", name, 700, 400) popup.set_content(dat) diff --git a/code/modules/mob/living/carbon/human/interactive/functions.dm b/code/modules/mob/living/carbon/human/interactive/functions.dm index 92747b54f91..272b95d3577 100644 --- a/code/modules/mob/living/carbon/human/interactive/functions.dm +++ b/code/modules/mob/living/carbon/human/interactive/functions.dm @@ -170,8 +170,8 @@ internalBeaker.reagents.add_reagent("diethylamine", 10) if(HP.nutrilevel < HP.maxnutri) change = 1 - if(!internalBeaker.reagents.has_reagent("eznutrient", 15)) - internalBeaker.reagents.add_reagent("eznutrient", 15) + if(!internalBeaker.reagents.has_reagent("eznutriment", 15)) + internalBeaker.reagents.add_reagent("eznutriment", 15) if(!internalBeaker.reagents.has_reagent("diethylamine", 15)) internalBeaker.reagents.add_reagent("diethylamine", 15) if(HP.waterlevel < HP.maxwater) diff --git a/code/modules/mob/mob.dm b/code/modules/mob/mob.dm index 16488120798..9156fc19379 100644 --- a/code/modules/mob/mob.dm +++ b/code/modules/mob/mob.dm @@ -1263,7 +1263,7 @@ mob/proc/yank_out_object() return // Only living mobs can ventcrawl //You can buckle on mobs if you're next to them since most are dense -/mob/buckle_mob(mob/living/M) +/mob/buckle_mob(mob/living/M, force = 0) if(M.buckled) return 0 var/turf/T = get_turf(src) diff --git a/code/modules/reagents/chemistry/reagents/misc.dm b/code/modules/reagents/chemistry/reagents/misc.dm index a3a04d2a41b..46797d7fd97 100644 --- a/code/modules/reagents/chemistry/reagents/misc.dm +++ b/code/modules/reagents/chemistry/reagents/misc.dm @@ -460,25 +460,40 @@ reagent_state = SOLID color = "#7F8400" // rgb: 127, 132, 0 -//Reagents used for plant fertilizers. -/datum/reagent/toxin/fertilizer - name = "fertilizer" - id = "fertilizer" - description = "A chemical mix good for growing plants with." - reagent_state = LIQUID - color = "#664330" // rgb: 102, 67, 48 +//////////////////////////////////Hydroponics stuff/////////////////////////////// -/datum/reagent/toxin/fertilizer/eznutrient - name = "EZ Nutrient" - id = "eznutrient" +/datum/reagent/plantnutriment + name = "Generic nutriment" + id = "plantnutriment" + description = "Some kind of nutriment. You can't really tell what it is. You should probably report it, along with how you obtained it." + color = "#000000" // RBG: 0, 0, 0 + var/tox_prob = 0 -/datum/reagent/toxin/fertilizer/left4zed - name = "Left-4-Zed" - id = "left4zed" +/datum/reagent/plantnutriment/on_mob_life(mob/living/M) + if(prob(tox_prob)) + M.adjustToxLoss(1*REAGENTS_EFFECT_MULTIPLIER) + ..() -/datum/reagent/toxin/fertilizer/robustharvest +/datum/reagent/plantnutriment/eznutriment + name = "E-Z-Nutrient" + id = "eznutriment" + description = "Cheap and extremely common type of plant nutriment." + color = "#376400" // RBG: 50, 100, 0 + tox_prob = 10 + +/datum/reagent/plantnutriment/left4zednutriment + name = "Left 4 Zed" + id = "left4zednutriment" + description = "Unstable nutriment that makes plants mutate more often than usual." + color = "#1A1E4D" // RBG: 26, 30, 77 + tox_prob = 25 + +/datum/reagent/plantnutriment/robustharvestnutriment name = "Robust Harvest" - id = "robustharvest" + id = "robustharvestnutriment" + description = "Very potent nutriment that prevents plants from mutating." + color = "#9D9D00" // RBG: 157, 157, 0 + tox_prob = 15 ///Alchemical Reagents diff --git a/code/modules/research/designs/biogenerator_designs.dm b/code/modules/research/designs/biogenerator_designs.dm new file mode 100644 index 00000000000..d2931012299 --- /dev/null +++ b/code/modules/research/designs/biogenerator_designs.dm @@ -0,0 +1,212 @@ +/////////////////////////////////// +///////Biogenerator Designs /////// +/////////////////////////////////// + +/datum/design/milk + name = "10 milk" + id = "milk" + build_type = BIOGENERATOR + materials = list(MAT_BIOMASS = 20) + make_reagents = list("milk" = 10) + category = list("initial","Food") + +/datum/design/cream + name = "10 cream" + id = "cream" + build_type = BIOGENERATOR + materials = list(MAT_BIOMASS = 30) + make_reagents = list("cream" = 10) + category = list("initial","Food") + +/datum/design/milk_carton + name = "Milk carton" + id = "milk_carton" + build_type = BIOGENERATOR + materials = list(MAT_BIOMASS = 100) + build_path = /obj/item/weapon/reagent_containers/food/condiment/milk + category = list("initial","Food") + +/datum/design/cream_carton + name = "Cream carton" + id = "cream_carton" + build_type = BIOGENERATOR + materials = list(MAT_BIOMASS = 300) + build_path = /obj/item/weapon/reagent_containers/food/drinks/bottle/cream + category = list("initial","Food") + +/datum/design/black_pepper + name = "10u black pepper" + id = "black_pepper" + build_type = BIOGENERATOR + materials = list(MAT_BIOMASS = 25) + make_reagents = list("blackpepper" = 10) + category = list("initial","Food") + +/datum/design/pepper_mill + name = "Pepper mill" + id = "pepper_mill" + build_type = BIOGENERATOR + materials = list(MAT_BIOMASS = 50) + build_path = /obj/item/weapon/reagent_containers/food/condiment/peppermill + make_reagents = list() + category = list("initial","Food") + +/datum/design/monkey_cube + name = "Monkey cube" + id = "mcube" + build_type = BIOGENERATOR + materials = list(MAT_BIOMASS = 250) + build_path = /obj/item/weapon/reagent_containers/food/snacks/monkeycube + category = list("initial", "Food") + +/datum/design/ez_nut + name = "E-Z-Nutrient" + id = "ez_nut" + build_type = BIOGENERATOR + materials = list(MAT_BIOMASS = 10) + build_path = /obj/item/weapon/reagent_containers/glass/bottle/nutrient/ez + category = list("initial","Botany Chemicals") + +/datum/design/l4z_nut + name = "Left 4 Zed" + id = "l4z_nut" + build_type = BIOGENERATOR + materials = list(MAT_BIOMASS = 20) + build_path = /obj/item/weapon/reagent_containers/glass/bottle/nutrient/l4z + category = list("initial","Botany Chemicals") + +/datum/design/rh_nut + name = "Robust Harvest" + id = "rh_nut" + build_type = BIOGENERATOR + materials = list(MAT_BIOMASS = 25) + build_path = /obj/item/weapon/reagent_containers/glass/bottle/nutrient/rh + category = list("initial","Botany Chemicals") + +/datum/design/weed_killer + name = "Weed Killer" + id = "weed_killer" + build_type = BIOGENERATOR + materials = list(MAT_BIOMASS = 50) + build_path = /obj/item/weapon/reagent_containers/glass/bottle/killer/weedkiller + category = list("initial","Botany Chemicals") + +/datum/design/pest_spray + name = "Pest Killer" + id = "pest_spray" + build_type = BIOGENERATOR + materials = list(MAT_BIOMASS = 50) + build_path = /obj/item/weapon/reagent_containers/glass/bottle/killer/pestkiller + category = list("initial","Botany Chemicals") + +/datum/design/botany_bottle + name = "Empty Bottle" + id = "botany_bottle" + build_type = BIOGENERATOR + materials = list(MAT_BIOMASS = 5) + build_path = /obj/item/weapon/reagent_containers/glass/bottle/nutrient/empty + category = list("initial", "Botany Chemicals") + +/datum/design/cloth + name = "Roll of cloth" + id = "cloth" + build_type = BIOGENERATOR + materials = list(MAT_BIOMASS = 50) + build_path = /obj/item/stack/sheet/cloth + category = list("initial","Leather and Cloth") + +/datum/design/wallet + name = "Wallet" + id = "wallet" + build_type = BIOGENERATOR + materials = list(MAT_BIOMASS = 100) + build_path = /obj/item/weapon/storage/wallet + category = list("initial","Leather and Cloth") + +/datum/design/botany_gloves + name = "Botanical gloves" + id = "botany_gloves" + build_type = BIOGENERATOR + materials = list(MAT_BIOMASS = 150) + build_path = /obj/item/clothing/gloves/botanic_leather + category = list("initial","Leather and Cloth") + +/datum/design/toolbelt + name = "Utility Belt" + id = "toolbelt" + build_type = BIOGENERATOR + materials = list(MAT_BIOMASS = 300) + build_path = /obj/item/weapon/storage/belt/utility + category = list("initial","Leather and Cloth") + +/datum/design/secbelt + name = "Security belt" + id = "secbelt" + build_type = BIOGENERATOR + materials = list(MAT_BIOMASS = 300) + build_path = /obj/item/weapon/storage/belt/security + category = list("initial","Leather and Cloth") + +/datum/design/medbelt + name = "Medical belt" + id = "medbel" + build_type = BIOGENERATOR + materials = list(MAT_BIOMASS = 300) + build_path = /obj/item/weapon/storage/belt/medical + category = list("initial","Leather and Cloth") + +/datum/design/janibelt + name = "Janitorial belt" + id = "janibelt" + build_type = BIOGENERATOR + materials = list(MAT_BIOMASS = 300) + build_path = /obj/item/weapon/storage/belt/janitor + category = list("initial","Leather and Cloth") + +/datum/design/bandolier + name = "Bandolier belt" + id = "bandolier" + build_type = BIOGENERATOR + materials = list(MAT_BIOMASS = 300) + build_path = /obj/item/weapon/storage/belt/bandolier + category = list("initial","Leather and Cloth") + +/datum/design/s_holster + name = "Shoulder holster" + id = "s_holster" + build_type = BIOGENERATOR + materials = list(MAT_BIOMASS = 400) + build_path = /obj/item/weapon/storage/belt/holster + category = list("initial","Leather and Cloth") + +/datum/design/leather_satchel + name = "Leather satchel" + id = "leather_satchel" + build_type = BIOGENERATOR + materials = list(MAT_BIOMASS = 400) + build_path = /obj/item/weapon/storage/backpack/satchel + category = list("initial","Leather and Cloth") + +/datum/design/leather_jacket + name = "Leather jacket" + id = "leather_jacket" + build_type = BIOGENERATOR + materials = list(MAT_BIOMASS = 500) + build_path = /obj/item/clothing/suit/jacket/leather + category = list("initial","Leather and Cloth") + +/datum/design/leather_overcoat + name = "Leather overcoat" + id = "leather_overcoat" + build_type = BIOGENERATOR + materials = list(MAT_BIOMASS = 1000) + build_path = /obj/item/clothing/suit/jacket/leather/overcoat + category = list("initial","Leather and Cloth") + +/datum/design/rice_hat + name = "Rice hat" + id = "rice_hat" + build_type = BIOGENERATOR + materials = list(MAT_BIOMASS = 300) + build_path = /obj/item/clothing/head/rice_hat + category = list("initial","Leather and Cloth") diff --git a/icons/effects/beam.dmi b/icons/effects/beam.dmi index 657a2d43418..b20f8abf0b8 100644 Binary files a/icons/effects/beam.dmi and b/icons/effects/beam.dmi differ diff --git a/icons/mob/head.dmi b/icons/mob/head.dmi index 1156fd33a6c..7d87846ed11 100644 Binary files a/icons/mob/head.dmi and b/icons/mob/head.dmi differ diff --git a/icons/mob/suit.dmi b/icons/mob/suit.dmi index 47e169492a1..8db229893de 100644 Binary files a/icons/mob/suit.dmi and b/icons/mob/suit.dmi differ diff --git a/icons/obj/clothing/hats.dmi b/icons/obj/clothing/hats.dmi index 16ed4ce4b04..81f623ed4c7 100644 Binary files a/icons/obj/clothing/hats.dmi and b/icons/obj/clothing/hats.dmi differ diff --git a/icons/obj/clothing/suits.dmi b/icons/obj/clothing/suits.dmi index 48d76f691aa..08729c9e1ec 100644 Binary files a/icons/obj/clothing/suits.dmi and b/icons/obj/clothing/suits.dmi differ diff --git a/paradise.dme b/paradise.dme index 11fa3cc7e9a..e62e1d4b1b7 100644 --- a/paradise.dme +++ b/paradise.dme @@ -1932,6 +1932,7 @@ #include "code\modules\research\server.dm" #include "code\modules\research\designs\AI_module_designs.dm" #include "code\modules\research\designs\autolathe_designs.dm" +#include "code\modules\research\designs\biogenerator_designs.dm" #include "code\modules\research\designs\bluespace_designs.dm" #include "code\modules\research\designs\comp_board_designs.dm" #include "code\modules\research\designs\equipment_designs.dm"