diff --git a/code/datums/components/crafting/recipes.dm b/code/datums/components/crafting/recipes.dm index 9ec90bf09eac..ab7a2d4315d7 100644 --- a/code/datums/components/crafting/recipes.dm +++ b/code/datums/components/crafting/recipes.dm @@ -24,1112 +24,3 @@ */ /datum/crafting_recipe/proc/check_requirements(mob/user, list/collected_requirements) return TRUE - -/datum/crafting_recipe/IED - name = "IED" - result = /obj/item/grenade/iedcasing - reqs = list(/datum/reagent/fuel = 50, - /obj/item/stack/cable_coil = 1, - /obj/item/assembly/igniter = 1, - /obj/item/reagent_containers/food/drinks/soda_cans = 1) - parts = list(/obj/item/reagent_containers/food/drinks/soda_cans = 1) - time = 15 - category = CAT_WEAPONRY - subcategory = CAT_WEAPON - -/datum/crafting_recipe/lance - name = "Explosive Lance (Grenade)" - result = /obj/item/spear/explosive - reqs = list(/obj/item/spear = 1, - /obj/item/grenade = 1) - blacklist = list(/obj/item/spear/bonespear) - parts = list(/obj/item/spear = 1, - /obj/item/grenade = 1) - time = 15 - category = CAT_WEAPONRY - subcategory = CAT_WEAPON - -/datum/crafting_recipe/strobeshield - name = "Strobe Shield" - result = /obj/item/shield/riot/flash - reqs = list(/obj/item/wallframe/flasher = 1, - /obj/item/assembly/flash/handheld = 1, - /obj/item/shield/riot = 1) - time = 40 - category = CAT_WEAPONRY - subcategory = CAT_WEAPON - -/datum/crafting_recipe/strobeshield/New() - ..() - blacklist |= subtypesof(/obj/item/shield/riot/) - -/datum/crafting_recipe/molotov - name = "Molotov" - result = /obj/item/reagent_containers/food/drinks/bottle/molotov - reqs = list(/obj/item/reagent_containers/glass/rag = 1, - /obj/item/reagent_containers/food/drinks/bottle = 1) - parts = list(/obj/item/reagent_containers/food/drinks/bottle = 1) - time = 40 - category = CAT_WEAPONRY - subcategory = CAT_WEAPON - -/datum/crafting_recipe/stunprod - name = "Stunprod" - result = /obj/item/melee/baton/cattleprod - reqs = list(/obj/item/restraints/handcuffs/cable = 1, - /obj/item/stack/rods = 1, - /obj/item/assembly/igniter = 1) - time = 40 - category = CAT_WEAPONRY - subcategory = CAT_WEAPON - -/datum/crafting_recipe/teleprod - name = "Teleprod" - result = /obj/item/melee/baton/cattleprod/teleprod - reqs = list(/obj/item/restraints/handcuffs/cable = 1, - /obj/item/stack/rods = 1, - /obj/item/assembly/igniter = 1, - /obj/item/stack/ore/bluespace_crystal = 1) - time = 40 - category = CAT_WEAPONRY - subcategory = CAT_WEAPON - -/datum/crafting_recipe/bola - name = "Bola" - result = /obj/item/restraints/legcuffs/bola - reqs = list(/obj/item/restraints/handcuffs/cable = 1, - /obj/item/stack/sheet/metal = 6) - time = 20//15 faster than crafting them by hand! - category= CAT_WEAPONRY - subcategory = CAT_WEAPON - -/datum/crafting_recipe/gonbola - name = "Gonbola" - result = /obj/item/restraints/legcuffs/bola/gonbola - reqs = list(/obj/item/restraints/handcuffs/cable = 1, - /obj/item/stack/sheet/metal = 6, - /obj/item/stack/sheet/animalhide/gondola = 1) - time = 40 - category= CAT_WEAPONRY - subcategory = CAT_WEAPON - -/datum/crafting_recipe/ed209 - name = "ED209" - result = /mob/living/simple_animal/bot/secbot/ed209 - reqs = list(/obj/item/robot_suit = 1, - /obj/item/clothing/head/helmet = 1, - /obj/item/clothing/suit/armor/vest = 1, - /obj/item/bodypart/leg/left/robot = 1, - /obj/item/bodypart/leg/right/robot = 1, - /obj/item/stack/sheet/metal = 1, - /obj/item/stack/cable_coil = 1, - /obj/item/gun/energy/disabler = 1, - /obj/item/assembly/prox_sensor = 1) - tools = list(TOOL_WELDER, TOOL_SCREWDRIVER) - time = 60 - category = CAT_ROBOT - -/datum/crafting_recipe/secbot - name = "Secbot" - result = /mob/living/simple_animal/bot/secbot - reqs = list(/obj/item/assembly/signaler = 1, - /obj/item/clothing/head/helmet/sec = 1, - /obj/item/melee/baton = 1, - /obj/item/assembly/prox_sensor = 1, - /obj/item/bodypart/r_arm/robot = 1) - tools = list(TOOL_WELDER) - time = 60 - category = CAT_ROBOT - -/datum/crafting_recipe/cleanbot - name = "Cleanbot" - result = /mob/living/simple_animal/bot/cleanbot - reqs = list(/obj/item/reagent_containers/glass/bucket = 1, - /obj/item/assembly/prox_sensor = 1, - /obj/item/bodypart/r_arm/robot = 1) - time = 40 - category = CAT_ROBOT - -/datum/crafting_recipe/floorbot - name = "Floorbot" - result = /mob/living/simple_animal/bot/floorbot - reqs = list(/obj/item/storage/toolbox = 1, - /obj/item/stack/tile/plasteel = 10, - /obj/item/assembly/prox_sensor = 1, - /obj/item/bodypart/r_arm/robot = 1) - time = 40 - category = CAT_ROBOT - -/datum/crafting_recipe/medbot - name = "Medbot" - result = /mob/living/simple_animal/bot/medbot - reqs = list(/obj/item/healthanalyzer = 1, - /obj/item/storage/firstaid = 1, - /obj/item/assembly/prox_sensor = 1, - /obj/item/bodypart/r_arm/robot = 1) - time = 40 - category = CAT_ROBOT - -/datum/crafting_recipe/honkbot - name = "Honkbot" - result = /mob/living/simple_animal/bot/honkbot - reqs = list(/obj/item/storage/box/clown = 1, - /obj/item/bodypart/r_arm/robot = 1, - /obj/item/assembly/prox_sensor = 1, - /obj/item/bikehorn/ = 1) - time = 40 - category = CAT_ROBOT - -/datum/crafting_recipe/Firebot - name = "Firebot" - result = /mob/living/simple_animal/bot/firebot - reqs = list(/obj/item/extinguisher = 1, - /obj/item/bodypart/r_arm/robot = 1, - /obj/item/assembly/prox_sensor = 1, - /obj/item/clothing/head/hardhat/red = 1) - time = 40 - category = CAT_ROBOT - -/datum/crafting_recipe/Vibebot - name = "Vibebot" - result = /mob/living/simple_animal/bot/vibebot - reqs = list(/obj/item/light/bulb = 2, - /obj/item/bodypart/head/robot = 1, - /obj/item/assembly/prox_sensor = 1, - /obj/item/toy/crayon = 1) - time = 40 - category = CAT_ROBOT - -/datum/crafting_recipe/improvised_pneumatic_cannon //Pretty easy to obtain but - name = "Pneumatic Cannon" - result = /obj/item/pneumatic_cannon/ghetto - tools = list(TOOL_WELDER, TOOL_WRENCH) - reqs = list(/obj/item/stack/sheet/metal = 4, - /obj/item/stack/packageWrap = 8, - /obj/item/pipe = 2) - time = 50 - category = CAT_WEAPONRY - subcategory = CAT_WEAPON - -/datum/crafting_recipe/flamethrower - name = "Flamethrower" - result = /obj/item/flamethrower - reqs = list(/obj/item/weldingtool = 1, - /obj/item/assembly/igniter = 1, - /obj/item/stack/rods = 1) - parts = list(/obj/item/assembly/igniter = 1, - /obj/item/weldingtool = 1) - tools = list(TOOL_SCREWDRIVER) - time = 10 - category = CAT_WEAPONRY - subcategory = CAT_WEAPON - -/datum/crafting_recipe/meteorslug - name = "Meteorslug Shell" - result = /obj/item/ammo_casing/shotgun/meteorslug - reqs = list(/obj/item/ammo_casing/shotgun/techshell = 1, - /obj/item/rcd_ammo = 1, - /obj/item/stock_parts/manipulator = 2) - tools = list(TOOL_SCREWDRIVER) - time = 5 - category = CAT_WEAPONRY - subcategory = CAT_AMMO - -/datum/crafting_recipe/pulseslug - name = "Pulse Slug Shell" - result = /obj/item/ammo_casing/shotgun/pulseslug - reqs = list(/obj/item/ammo_casing/shotgun/techshell = 1, - /obj/item/stock_parts/capacitor/adv = 2, - /obj/item/stock_parts/micro_laser/ultra = 1) - tools = list(TOOL_SCREWDRIVER) - time = 5 - category = CAT_WEAPONRY - subcategory = CAT_AMMO - -/datum/crafting_recipe/dragonsbreath - name = "Dragonsbreath Shell" - result = /obj/item/ammo_casing/shotgun/dragonsbreath - reqs = list(/obj/item/ammo_casing/shotgun/techshell = 1, /datum/reagent/phosphorus = 5) - tools = list(TOOL_SCREWDRIVER) - time = 5 - category = CAT_WEAPONRY - subcategory = CAT_AMMO - -/datum/crafting_recipe/frag12 - name = "FRAG-12 Shell" - result = /obj/item/ammo_casing/shotgun/frag12 - reqs = list(/obj/item/ammo_casing/shotgun/techshell = 1, - /datum/reagent/glycerol = 5, - /datum/reagent/toxin/acid = 5, - /datum/reagent/toxin/acid/fluacid = 5) - tools = list(TOOL_SCREWDRIVER) - time = 5 - category = CAT_WEAPONRY - subcategory = CAT_AMMO - -/datum/crafting_recipe/ionslug - name = "Ion Scatter Shell" - result = /obj/item/ammo_casing/shotgun/ion - reqs = list(/obj/item/ammo_casing/shotgun/techshell = 1, - /obj/item/stock_parts/micro_laser/ultra = 1, - /obj/item/stock_parts/subspace/crystal = 1) - tools = list(TOOL_SCREWDRIVER) - time = 5 - category = CAT_WEAPONRY - subcategory = CAT_AMMO - -/datum/crafting_recipe/improvisedslug - name = "Improvised Shotgun Shell" - result = /obj/item/ammo_casing/shotgun/improvised - reqs = list(/obj/item/stack/sheet/metal = 2, - /obj/item/stack/cable_coil = 1, - /datum/reagent/fuel = 10) - tools = list(TOOL_SCREWDRIVER) - time = 12 - category = CAT_WEAPONRY - subcategory = CAT_AMMO - -/datum/crafting_recipe/laserscatter - name = "Scatter Laser Shell" - result = /obj/item/ammo_casing/shotgun/laserscatter - reqs = list(/obj/item/ammo_casing/shotgun/techshell = 1, - /obj/item/stock_parts/capacitor/adv = 1, - /obj/item/stock_parts/micro_laser/high = 1) - tools = list(TOOL_SCREWDRIVER) - time = 5 - category = CAT_WEAPONRY - subcategory = CAT_AMMO - -/datum/crafting_recipe/ishotgun - name = "Improvised Shotgun" - result = /obj/item/gun/ballistic/shotgun/doublebarrel/improvised - reqs = list(/obj/item/weaponcrafting/receiver = 1, - /obj/item/pipe = 1, - /obj/item/weaponcrafting/stock = 1, - /obj/item/stack/packageWrap = 5) - tools = list(TOOL_SCREWDRIVER) - time = 100 - category = CAT_WEAPONRY - subcategory = CAT_WEAPON - -/datum/crafting_recipe/chainsaw - name = "Chainsaw" - result = /obj/item/chainsaw - reqs = list(/obj/item/circular_saw = 1, - /obj/item/stack/cable_coil = 3, - /obj/item/stack/sheet/plasteel = 5) - tools = list(TOOL_WELDER) - time = 50 - category = CAT_WEAPONRY - subcategory = CAT_WEAPON - -/datum/crafting_recipe/spear - name = "Spear" - result = /obj/item/spear - reqs = list(/obj/item/restraints/handcuffs/cable = 1, - /obj/item/shard = 1, - /obj/item/stack/rods = 1) - parts = list(/obj/item/shard = 1) - time = 40 - category = CAT_WEAPONRY - subcategory = CAT_WEAPON - -/datum/crafting_recipe/spooky_camera - name = "Camera Obscura" - result = /obj/item/camera/spooky - time = 15 - reqs = list(/obj/item/camera = 1, - /datum/reagent/water/holywater = 10) - parts = list(/obj/item/camera = 1) - category = CAT_MISC - -/datum/crafting_recipe/skateboard - name = "Skateboard" - result = /obj/vehicle/ridden/scooter/skateboard - time = 60 - reqs = list(/obj/item/stack/sheet/metal = 5, - /obj/item/stack/rods = 10) - category = CAT_MISC - -/datum/crafting_recipe/scooter - name = "Scooter" - result = /obj/vehicle/ridden/scooter - time = 65 - reqs = list(/obj/item/stack/sheet/metal = 5, - /obj/item/stack/rods = 12) - category = CAT_MISC - -/datum/crafting_recipe/wheelchair - name = "Wheelchair" - result = /obj/vehicle/ridden/wheelchair - reqs = list(/obj/item/stack/sheet/metal = 4, - /obj/item/stack/rods = 6) - time = 100 - category = CAT_MISC - -/datum/crafting_recipe/motorized_wheelchair - name = "Motorized Wheelchair" - result = /obj/vehicle/ridden/wheelchair/motorized - reqs = list(/obj/item/stack/sheet/metal = 10, - /obj/item/stack/rods = 8, - /obj/item/stock_parts/manipulator = 2, - /obj/item/stock_parts/capacitor = 1) - parts = list(/obj/item/stock_parts/manipulator = 2, - /obj/item/stock_parts/capacitor = 1) - tools = list(TOOL_WELDER, TOOL_SCREWDRIVER, TOOL_WRENCH) - time = 200 - category = CAT_MISC - -/datum/crafting_recipe/mousetrap - name = "Mouse Trap" - result = /obj/item/assembly/mousetrap - time = 10 - reqs = list(/obj/item/stack/sheet/cardboard = 1, - /obj/item/stack/rods = 1) - category = CAT_MISC - -/datum/crafting_recipe/papersack - name = "Paper Sack" - result = /obj/item/storage/box/papersack - time = 10 - reqs = list(/obj/item/paper = 5) - category = CAT_MISC - - -/datum/crafting_recipe/flashlight_eyes - name = "Flashlight Eyes" - result = /obj/item/organ/eyes/robotic/flashlight - time = 10 - reqs = list( - /obj/item/flashlight = 2, - /obj/item/restraints/handcuffs/cable = 1 - ) - category = CAT_MISC - -/datum/crafting_recipe/paperframes - name = "Paper Frames" - result = /obj/item/stack/sheet/paperframes/five - time = 10 - reqs = list(/obj/item/stack/sheet/mineral/wood = 5, /obj/item/paper = 20) - category = CAT_MISC - -/datum/crafting_recipe/naturalpaper - name = "Hand-Pressed Paper" - time = 30 - reqs = list(/datum/reagent/water = 50, /obj/item/stack/sheet/mineral/wood = 1) - tools = list(/obj/item/hatchet) - result = /obj/item/paper_bin/bundlenatural - category = CAT_MISC - -/datum/crafting_recipe/toysword - name = "Toy Sword" - reqs = list(/obj/item/light/bulb = 1, /obj/item/stack/cable_coil = 1, /obj/item/stack/sheet/plastic = 4) - result = /obj/item/toy/sword - category = CAT_MISC - -/datum/crafting_recipe/blackcarpet - name = "Black Carpet" - reqs = list(/obj/item/stack/tile/carpet = 50, /obj/item/toy/crayon/black = 1) - result = /obj/item/stack/tile/carpet/black/fifty - category = CAT_MISC - -/datum/crafting_recipe/curtain - name = "Curtains" - reqs = list(/obj/item/stack/sheet/cotton/cloth = 4, /obj/item/stack/rods = 1) - result = /obj/structure/curtain/cloth - category = CAT_MISC - -/datum/crafting_recipe/showercurtain - name = "Shower Curtains" - reqs = list(/obj/item/stack/sheet/cotton/cloth = 2, /obj/item/stack/sheet/plastic = 2, /obj/item/stack/rods = 1) - result = /obj/structure/curtain - category = CAT_MISC - -/datum/crafting_recipe/extendohand - name = "Extendo-Hand" - reqs = list(/obj/item/bodypart/r_arm/robot = 1, /obj/item/clothing/gloves/boxing = 1) - result = /obj/item/extendohand - category = CAT_MISC - -/datum/crafting_recipe/chemical_payload - name = "Chemical Payload (C4)" - result = /obj/item/bombcore/chemical - reqs = list( - /obj/item/stock_parts/matter_bin = 1, - /obj/item/grenade/c4 = 1, - /obj/item/grenade/chem_grenade = 2 - ) - parts = list(/obj/item/stock_parts/matter_bin = 1, /obj/item/grenade/chem_grenade = 2) - time = 30 - category = CAT_WEAPONRY - subcategory = CAT_WEAPON - -/datum/crafting_recipe/chemical_payload2 - name = "Chemical Payload (Gibtonite)" - result = /obj/item/bombcore/chemical - reqs = list( - /obj/item/stock_parts/matter_bin = 1, - /obj/item/gibtonite = 1, - /obj/item/grenade/chem_grenade = 2 - ) - parts = list(/obj/item/stock_parts/matter_bin = 1, /obj/item/grenade/chem_grenade = 2) - time = 50 - category = CAT_WEAPONRY - subcategory = CAT_WEAPON - -/datum/crafting_recipe/bonearmor - name = "Bone Armor" - result = /obj/item/clothing/suit/armor/bone - time = 30 - reqs = list(/obj/item/stack/sheet/bone = 6) - category = CAT_PRIMAL - -/datum/crafting_recipe/bonetalisman - name = "Bone Talisman" - result = /obj/item/clothing/accessory/talisman - time = 20 - reqs = list(/obj/item/stack/sheet/bone = 2, - /obj/item/stack/sheet/sinew = 1) - category = CAT_PRIMAL - -/datum/crafting_recipe/bonenecklace - name = "Hunter's Necklace" - result = /obj/item/clothing/accessory/wolftalisman - time = 35 - reqs = list(/obj/item/stack/sheet/bone = 2, - /obj/item/stack/sheet/sinew = 3, - /obj/item/crusher_trophy/wolf_ear = 2, - /obj/item/crusher_trophy/fang = 1) - category = CAT_PRIMAL - -/datum/crafting_recipe/bonecodpiece - name = "Skull Codpiece" - result = /obj/item/clothing/accessory/skullcodpiece - time = 20 - reqs = list(/obj/item/stack/sheet/bone = 2, - /obj/item/crusher_trophy/legion_skull = 1, - /obj/item/stack/sheet/animalhide/goliath_hide = 1) - category = CAT_PRIMAL - -/datum/crafting_recipe/bonestaff - name = "Legion Staff" - result = /obj/item/legion_staff - time = 35 - reqs = list(/obj/item/stack/sheet/bone = 2, - /obj/item/crusher_trophy/legion_skull = 2,\ - /obj/item/crusher_trophy/dwarf_skull = 1, - /obj/item/organ/regenerative_core/legion = 1) - category = CAT_PRIMAL - -/datum/crafting_recipe/skilt - name = "Sinew Kilt" - result = /obj/item/clothing/accessory/skilt - time = 20 - reqs = list(/obj/item/stack/sheet/bone = 1, - /obj/item/stack/sheet/sinew = 2) - category = CAT_PRIMAL - -/datum/crafting_recipe/bracers - name = "Bone Bracers" - result = /obj/item/clothing/gloves/bracer - time = 20 - reqs = list(/obj/item/stack/sheet/bone = 2, - /obj/item/stack/sheet/sinew = 1) - category = CAT_PRIMAL - -/datum/crafting_recipe/skullhelm - name = "Skull Helmet" - result = /obj/item/clothing/head/helmet/skull - time = 30 - reqs = list(/obj/item/stack/sheet/bone = 4) - category = CAT_PRIMAL - -/datum/crafting_recipe/goliathcloak - name = "Goliath Cloak" - result = /obj/item/clothing/suit/hooded/cloak/goliath - time = 50 - reqs = list(/obj/item/stack/sheet/leather = 2, - /obj/item/stack/sheet/sinew = 2, - /obj/item/stack/sheet/animalhide/goliath_hide = 2) //it takes 4 goliaths to make 1 cloak if the plates are skinned - category = CAT_PRIMAL - -/datum/crafting_recipe/drakecloak - name = "Ash Drake Armour" - result = /obj/item/clothing/suit/hooded/cloak/drake - time = 60 - reqs = list(/obj/item/stack/sheet/bone = 10, - /obj/item/stack/sheet/sinew = 2, - /obj/item/stack/sheet/animalhide/ashdrake = 5) - category = CAT_PRIMAL - -/datum/crafting_recipe/firebrand - name = "Firebrand" - result = /obj/item/match/firebrand - time = 100 //Long construction time. Making fire is hard work. - reqs = list(/obj/item/stack/sheet/mineral/wood = 2) - category = CAT_PRIMAL - -/datum/crafting_recipe/gold_horn - name = "Golden Bike Horn" - result = /obj/item/bikehorn/golden - time = 20 - reqs = list(/obj/item/stack/sheet/mineral/bananium = 5, - /obj/item/bikehorn = 1) - category = CAT_MISC - -/datum/crafting_recipe/bonedagger - name = "Bone Dagger" - result = /obj/item/kitchen/knife/combat/bone - time = 20 - reqs = list(/obj/item/stack/sheet/bone = 2) - category = CAT_PRIMAL - -/datum/crafting_recipe/bonespear - name = "Bone Spear" - result = /obj/item/spear/bonespear - time = 30 - reqs = list(/obj/item/stack/sheet/bone = 4, - /obj/item/stack/sheet/sinew = 1) - category = CAT_PRIMAL - -/datum/crafting_recipe/boneaxe - name = "Bone Axe" - result = /obj/item/fireaxe/boneaxe - time = 50 - reqs = list(/obj/item/stack/sheet/bone = 6, - /obj/item/stack/sheet/sinew = 3) - category = CAT_PRIMAL - -/datum/crafting_recipe/bonfire - name = "Bonfire" - time = 60 - reqs = list(/obj/item/grown/log = 5) - parts = list(/obj/item/grown/log = 5) - blacklist = list(/obj/item/grown/log/steel) - result = /obj/structure/bonfire - category = CAT_PRIMAL - -/datum/crafting_recipe/rake //Category resorting incoming - name = "Rake" - time = 30 - reqs = list(/obj/item/stack/sheet/mineral/wood = 5) - result = /obj/item/cultivator/rake - category = CAT_PRIMAL - -/datum/crafting_recipe/woodbucket - name = "Wooden Bucket" - time = 30 - reqs = list(/obj/item/stack/sheet/mineral/wood = 3) - result = /obj/item/reagent_containers/glass/bucket/wooden - category = CAT_PRIMAL - -/datum/crafting_recipe/headpike - name = "Spike Head (Glass Spear)" - time = 65 - reqs = list(/obj/item/spear = 1, - /obj/item/bodypart/head = 1) - parts = list(/obj/item/bodypart/head = 1, - /obj/item/spear = 1) - blacklist = list(/obj/item/spear/explosive, /obj/item/spear/bonespear) - result = /obj/structure/headpike - category = CAT_PRIMAL - -/datum/crafting_recipe/legionpike - name = "Legion on a Spear" - time = 55 - reqs = list(/obj/item/spear = 1, - /obj/item/organ/regenerative_core = 1, - /obj/item/crusher_trophy/legion_skull = 2) - result = /obj/structure/legionpike - category = CAT_PRIMAL - -/datum/crafting_recipe/tribal_torch - name = "Tribal Torch" - result = /obj/item/candle/tribal_torch - time = 30 - reqs = list(/obj/item/stack/sheet/mineral/wood = 4) - category = CAT_PRIMAL - -/datum/crafting_recipe/headpikebone - name = "Spike Head (Bone Spear)" - time = 65 - reqs = list(/obj/item/spear/bonespear = 1, - /obj/item/bodypart/head = 1) - parts = list(/obj/item/bodypart/head = 1, - /obj/item/spear/bonespear = 1) - result = /obj/structure/headpike/bone - category = CAT_PRIMAL - -/datum/crafting_recipe/pressureplate - name = "Pressure Plate" - result = /obj/item/pressure_plate - time = 5 - reqs = list(/obj/item/stack/sheet/metal = 1, - /obj/item/stack/tile/plasteel = 1, - /obj/item/stack/cable_coil = 2, - /obj/item/assembly/igniter = 1) - category = CAT_MISC - - -/datum/crafting_recipe/rcl - name = "Makeshift Rapid Pipe Cleaner Layer" - result = /obj/item/rcl/ghetto - time = 40 - tools = list(TOOL_WELDER, TOOL_SCREWDRIVER, TOOL_WRENCH) - reqs = list(/obj/item/stack/sheet/metal = 15) - category = CAT_MISC - -/datum/crafting_recipe/mummy - name = "Mummification Bandages (Mask)" - result = /obj/item/clothing/mask/mummy - time = 10 - tools = list(/obj/item/nullrod/egyptian) - reqs = list(/obj/item/stack/sheet/cotton/cloth = 2) - category = CAT_CLOTHING - -/datum/crafting_recipe/mummy/body - name = "Mummification Bandages (Body)" - result = /obj/item/clothing/under/costume/mummy - reqs = list(/obj/item/stack/sheet/cotton/cloth = 5) - -/datum/crafting_recipe/chaplain_hood - name = "Follower Hoodie" - result = /obj/item/clothing/suit/hooded/chaplain_hoodie - time = 10 - tools = list(/obj/item/clothing/suit/hooded/chaplain_hoodie, /obj/item/storage/book/bible) - reqs = list(/obj/item/stack/sheet/cotton/cloth = 4) - category = CAT_CLOTHING - -/datum/crafting_recipe/guillotine - name = "Guillotine" - result = /obj/structure/guillotine - time = 150 // Building a functioning guillotine takes time - reqs = list(/obj/item/stack/sheet/plasteel = 3, - /obj/item/stack/sheet/mineral/wood = 20, - /obj/item/stack/cable_coil = 10) - tools = list(TOOL_SCREWDRIVER, TOOL_WRENCH, TOOL_WELDER) - category = CAT_MISC - -/datum/crafting_recipe/aitater - name = "intelliTater" - result = /obj/item/aicard/aitater - time = 30 - tools = list(TOOL_WIRECUTTER) - reqs = list(/obj/item/aicard = 1, - /obj/item/reagent_containers/food/snacks/grown/potato = 1, - /obj/item/stack/cable_coil = 5) - category = CAT_MISC - -/datum/crafting_recipe/aitater/check_requirements(mob/user, list/collected_requirements) - var/obj/item/aicard/aicard = collected_requirements[/obj/item/aicard][1] - if(!aicard.AI) - return TRUE - - to_chat(user, "You can't craft an intelliTater with an AI in the card!") - return FALSE - -/datum/crafting_recipe/aispook - name = "intelliLantern" - result = /obj/item/aicard/aispook - time = 30 - tools = list(TOOL_WIRECUTTER) - reqs = list(/obj/item/aicard = 1, - /obj/item/reagent_containers/food/snacks/grown/pumpkin = 1, - /obj/item/stack/cable_coil = 5) - category = CAT_MISC - -/datum/crafting_recipe/ghettojetpack - name = "Improvised Jetpack" - result = /obj/item/tank/jetpack/improvised - time = 30 - reqs = list(/obj/item/tank/internals/oxygen = 2, /obj/item/extinguisher = 1, /obj/item/pipe = 3, /obj/item/stack/cable_coil = MAXCOIL) - category = CAT_MISC - tools = list(TOOL_WRENCH, TOOL_WELDER, TOOL_WIRECUTTER) - -/datum/crafting_recipe/multiduct - name = "Multi-layer duct" - result = /obj/machinery/duct/multilayered - time = 5 - reqs = list(/obj/item/stack/ducts = 5) - category = CAT_MISC - tools = list(TOOL_WELDER) - -/datum/crafting_recipe/rib - name = "Collosal Rib" - always_availible = FALSE - reqs = list( - /obj/item/stack/sheet/bone = 10, - /datum/reagent/fuel/oil = 5) - result = /obj/structure/statue/bone/rib - subcategory = CAT_PRIMAL - -/datum/crafting_recipe/skull - name = "Skull Carving" - always_availible = FALSE - reqs = list( - /obj/item/stack/sheet/bone = 6, - /datum/reagent/fuel/oil = 5) - result = /obj/structure/statue/bone/skull - category = CAT_PRIMAL - -/datum/crafting_recipe/halfskull - name = "Cracked Skull Carving" - always_availible = FALSE - reqs = list( - /obj/item/stack/sheet/bone = 3, - /datum/reagent/fuel/oil = 5) - result = /obj/structure/statue/bone/skull/half - category = CAT_PRIMAL - -/datum/crafting_recipe/boneshovel - name = "Serrated Bone Shovel" - always_availible = FALSE - reqs = list( - /obj/item/stack/sheet/bone = 4, - /datum/reagent/fuel/oil = 5, - /obj/item/shovel/spade = 1) - result = /obj/item/shovel/serrated - category = CAT_PRIMAL - -/datum/crafting_recipe/lasso - name = "Bone Lasso" - reqs = list( - /obj/item/stack/sheet/bone = 1, - /obj/item/stack/sheet/sinew = 5) - result = /obj/item/key/lasso - category = CAT_PRIMAL - -/datum/crafting_recipe/gripperoffbrand - name = "Improvised Gripper Gloves" - reqs = list( - /obj/item/clothing/gloves/fingerless = 1, - /obj/item/stack/tape = 1) - result = /obj/item/clothing/gloves/tackler/offbrand - category = CAT_CLOTHING - -/*WS edit - Normal BoH -/datum/crafting_recipe/boh - name = "Bag of Holding" - reqs = list( - /obj/item/bag_of_holding_inert = 1, - /obj/item/assembly/signaler/anomaly/bluespace = 1) - result = /obj/item/storage/backpack/holding - category = CAT_CLOTHING -*/ - -/datum/crafting_recipe/ipickaxe - name = "Improvised Pickaxe" - reqs = list( - /obj/item/crowbar = 1, - /obj/item/kitchen/knife = 1, - /obj/item/stack/tape = 1) - result = /obj/item/pickaxe/improvised - category = CAT_MISC - -/datum/crafting_recipe/chem_scanner - name = "Reagent Scanner" - time = 30 - tools = list(TOOL_WIRECUTTER, TOOL_SCREWDRIVER) - reqs = list( - /obj/item/healthanalyzer = 1, - /obj/item/stack/cable_coil = 5, - /obj/item/stock_parts/scanning_module = 1) - result = /obj/item/reagent_scanner - category = CAT_MISC - -/datum/crafting_recipe/filter - name = "Seperatory Funnel" - time = 40 - tools = list(TOOL_WELDER, TOOL_WIRECUTTER) - reqs = list( - /obj/item/stack/cable_coil = 1, - /obj/item/reagent_containers/glass/beaker = 3) - result = /obj/item/reagent_containers/glass/filter - category = CAT_MISC - -/datum/crafting_recipe/dragonspear - name = "Dragonslayer's Spear" - result = /obj/item/spear/dragonspear - time = 45 - reqs = list(/obj/item/crusher_trophy/ash_spike = 1, - /obj/item/crusher_trophy/tail_spike = 2, - /obj/item/stack/sheet/bone = 5, - /obj/item/stack/sheet/sinew = 3) - category = CAT_PRIMAL - -/datum/crafting_recipe/splint - name = "Makeshift Splint" - reqs = list( - /obj/item/stack/rods = 2, - /obj/item/stack/sheet/cotton/cloth = 4) - result = /obj/item/stack/medical/splint/ghetto - category = CAT_MISC - -/datum/crafting_recipe/cwzippo - name = "Clockwork Zippo" - reqs = list( - /obj/item/lighter = 1, - /obj/item/stack/tile/bronze = 5) - result = /obj/item/lighter/clockwork - category = CAT_MISC - -/datum/crafting_recipe/pipebow - name = "Pipe Bow" - result = /obj/item/gun/ballistic/bow/pipe - reqs = list(/obj/item/pipe = 5, - /obj/item/stack/sheet/plastic = 15, - /obj/item/weaponcrafting/silkstring = 10) - time = 450 - category = CAT_WEAPONRY - subcategory = CAT_WEAPON - -/datum/crafting_recipe/arrow - name = "Arrow" - result = /obj/item/ammo_casing/caseless/arrow/wood - time = 30 - reqs = list(/obj/item/stack/sheet/mineral/wood = 1, - /obj/item/stack/sheet/silk = 1, - /obj/item/stack/rods = 1) //1 metal sheet = 2 rods= 2 arrows - category = CAT_WEAPONRY - subcategory = CAT_AMMO - -/datum/crafting_recipe/bone_arrow - name = "Bone Arrow" - result = /obj/item/ammo_casing/caseless/arrow/bone - time = 30 - reqs = list(/obj/item/stack/sheet/bone = 1, - /obj/item/stack/sheet/sinew = 1, - /obj/item/ammo_casing/caseless/arrow/ash = 1) - category = CAT_WEAPONRY - subcategory = CAT_AMMO - -/datum/crafting_recipe/ashen_arrow - name = "Fire hardened arrow" - result = /obj/item/ammo_casing/caseless/arrow/ash - tools = list(TOOL_WELDER) - time = 30 - reqs = list(/obj/item/ammo_casing/caseless/arrow/wood = 1) - category = CAT_WEAPONRY - subcategory = CAT_AMMO - -/datum/crafting_recipe/bronze_arrow - name = "Bronze arrow" - result = /obj/item/ammo_casing/caseless/arrow/bronze - time = 30 - reqs = list(/obj/item/stack/sheet/mineral/wood = 1, - /obj/item/stack/tile/bronze = 1, - /obj/item/stack/sheet/silk = 1) - category = CAT_WEAPONRY - subcategory = CAT_AMMO - -/datum/crafting_recipe/heavybonearmor - name = "Heavy Bone Armor" - result = /obj/item/clothing/suit/hooded/cloak/bone - time = 60 - reqs = list(/obj/item/stack/sheet/bone = 8, - /obj/item/stack/sheet/sinew = 3) - category = CAT_PRIMAL - -/datum/crafting_recipe/watcherbola - name = "Watcher Bola" - result = /obj/item/restraints/legcuffs/bola/watcher - time = 30 - reqs = list(/obj/item/stack/sheet/animalhide/goliath_hide = 2, - /obj/item/restraints/handcuffs/cable/sinew = 1) - category = CAT_PRIMAL - -/datum/crafting_recipe/goliathshield - name = "Goliath shield" - result = /obj/item/shield/riot/goliath - time = 60 - reqs = list(/obj/item/stack/sheet/bone = 4, - /obj/item/stack/sheet/animalhide/goliath_hide = 3) - category = CAT_PRIMAL - -/datum/crafting_recipe/bonesword - name = "Bone Sword" - result = /obj/item/claymore/bone - time = 40 - reqs = list(/obj/item/stack/sheet/bone = 3, - /obj/item/stack/sheet/sinew = 2) - category = CAT_PRIMAL - -/datum/crafting_recipe/hunterbelt - name = "Hunters Belt" - result = /obj/item/storage/belt/mining/primitive - time = 20 - reqs = list(/obj/item/stack/sheet/sinew = 2, - /obj/item/stack/sheet/animalhide/goliath_hide = 2) - category = CAT_PRIMAL - -/datum/crafting_recipe/quiver - name = "Quiver" - result = /obj/item/storage/bag/quiver/empty - time = 80 - reqs = list(/obj/item/stack/sheet/leather = 3, - /obj/item/stack/sheet/sinew = 4) - category = CAT_PRIMAL - -/datum/crafting_recipe/bone_bow - name = "Bone Bow" - result = /obj/item/gun/ballistic/bow/ashen - time = 200 - reqs = list(/obj/item/stack/sheet/bone = 8, - /obj/item/stack/sheet/sinew = 4) - category = CAT_PRIMAL -/datum/crafting_recipe/boneclub - name = "Bone Club" - result = /obj/item/melee/baseball_bat/bone - time = 40 - reqs = list(/obj/item/stack/sheet/bone = 6) - category = CAT_PRIMAL -/datum/crafting_recipe/polarbearcloak - name = "Polar Cloak" - result = /obj/item/clothing/suit/hooded/cloak/goliath/polar - time = 50 - reqs = list(/obj/item/stack/sheet/leather = 2, - /obj/item/stack/sheet/sinew = 2, - /obj/item/stack/sheet/animalhide/goliath_hide/polar_bear_hide = 2) - blacklist = list(/obj/item/stack/sheet/animalhide/goliath_hide) - category = CAT_PRIMAL -/datum/crafting_recipe/portableseedextractor - name = "Portable seed extractor" - reqs = list( - /obj/item/storage/bag/plants = 1, - /obj/item/plant_analyzer = 1, - /obj/item/stock_parts/manipulator = 1, - /obj/item/stack/cable_coil = 2) - result = /obj/item/storage/bag/plants/portaseeder //this will probably mean that you can craft portable seed extractors into themselves, sending the other materials into the void, but we still don't have a solution for recipes involving radios stealing your headset, so this is officially not my problem. "no, Tills-The-Soil, adding more analyzers and micro-manipulators to your portable seed extractor does not make it make more seeds. in fact it does exactly nothing." - time = 20 - tools = list(TOOL_SCREWDRIVER, TOOL_WIRECUTTER) - category = CAT_MISC - -/datum/crafting_recipe/zip_pistol - name = "Zip Pistol" - result = /obj/item/gun/ballistic/automatic/zip_pistol - reqs = list(/obj/item/stack/rods = 4, - /obj/item/pipe = 1, - /obj/item/stack/cable_coil = 15, - /obj/item/weaponcrafting/receiver = 1, - /obj/item/floor_painter = 1, - /obj/item/stack/packageWrap = 10) - tools = list(TOOL_SCREWDRIVER) - time = 100 - category = CAT_WEAPONRY - subcategory = CAT_WEAPON - -/datum/crafting_recipe/scrap_armor - name = "Scrap Armor" - result = /obj/item/clothing/suit/armor/vest/scrap_armor - time = 60 - reqs = list( - /obj/item/stack/sheet/metal = 10, - /obj/item/stack/cable_coil = 20, - ) - category = CAT_CLOTHING - -/datum/crafting_recipe/umbrellared - name = "Red Drink Umbrella" - result = /obj/item/garnish/umbrellared - time = 1 SECONDS - tools = list(/obj/item/toy/crayon/spraycan) - reqs = list( - /obj/item/paper = 1, - /obj/item/stack/rods = 1) - category = CAT_DRINK - -/datum/crafting_recipe/umbrellablue - name = "Blue Drink Umbrella" - result = /obj/item/garnish/umbrellablue - time = 1 SECONDS - tools = list(/obj/item/toy/crayon/spraycan) - reqs = list( - /obj/item/paper = 1, - /obj/item/stack/rods = 1) - category = CAT_DRINK - -/datum/crafting_recipe/umbrellagreen - name = "Green Drink Umbrella" - result = /obj/item/garnish/umbrellagreen - time = 1 SECONDS - tools = list(/obj/item/toy/crayon/spraycan) - reqs = list( - /obj/item/paper = 1, - /obj/item/stack/rods = 1) - category = CAT_DRINK - -/datum/crafting_recipe/ash_garnish - name = "Ash Garnish" - result = /obj/item/garnish/ash - reqs = list(/datum/reagent/ash = 10) - time = 5 - category = CAT_DRINK - -/datum/crafting_recipe/salt_garnish - name = "Salt Garnish" - result = /obj/item/garnish/salt - reqs = list(/datum/reagent/consumable/sodiumchloride = 10) - time = 5 - category = CAT_DRINK - -/datum/crafting_recipe/crystalamulet - name = "Crystal Amulet" - result = /obj/item/clothing/neck/crystal_amulet - time = 4 SECONDS - reqs = list(/obj/item/strange_crystal = 3) - category = CAT_MISC - -/datum/crafting_recipe/crystalspear - name = "Crystal Spear" - result = /obj/item/spear/crystal - time = 4 SECONDS - reqs = list(/obj/item/strange_crystal = 2) - category = CAT_MISC - -/datum/crafting_recipe/freezer - name = "Freezer" - result = /obj/structure/closet/crate/freezer - time = 2 SECONDS - reqs = list(/datum/reagent/consumable/ice = 25, - /obj/item/stack/sheet/metal = 2) - category = CAT_MISC - -/datum/crafting_recipe/aquarium - name = "Aquarium" - result = /obj/structure/aquarium - time = 10 SECONDS - reqs = list(/obj/item/stack/sheet/metal = 15, - /obj/item/stack/sheet/glass = 10, - /obj/item/aquarium_kit = 1) - category = CAT_MISC - -/datum/crafting_recipe/mothplush - name = "Moth Plushie" - result = /obj/item/toy/plush/moth - reqs = list(/obj/item/stack/sheet/animalhide/mothroach = 1, - /obj/item/organ/heart = 1, - /obj/item/stack/sheet/cotton/cloth = 3) - category = CAT_MISC - -/datum/crafting_recipe/breakawayflask - name = "Breakaway Flask" - result = /obj/item/reagent_containers/food/drinks/breakawayflask - time = 5 SECONDS - reqs = list(/obj/item/stack/sheet/glass = 5, - /obj/item/stack/sheet/mineral/plasma = 1) - tools = list(TOOL_WELDER) - category = CAT_DRINK - -/datum/crafting_recipe/fermenting_barrel - name = "Wooden Barrel" - result = /obj/structure/fermenting_barrel - reqs = list(/obj/item/stack/sheet/mineral/wood = 8) - time = 50 - category = CAT_PRIMAL - -/datum/crafting_recipe/distiller - name = "Distiller" - result = /obj/structure/fermenting_barrel/distiller - reqs = list(/obj/item/stack/sheet/mineral/wood = 8, /obj/item/stack/sheet/metal = 5, /datum/reagent/srm_bacteria = 30) - time = 50 - category = CAT_PRIMAL diff --git a/code/datums/components/crafting/tailoring.dm b/code/datums/components/crafting/recipes/clothing.dm similarity index 69% rename from code/datums/components/crafting/tailoring.dm rename to code/datums/components/crafting/recipes/clothing.dm index 4caaa55ded29..95b37502bcaf 100644 --- a/code/datums/components/crafting/tailoring.dm +++ b/code/datums/components/crafting/recipes/clothing.dm @@ -73,14 +73,6 @@ ) 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 @@ -93,14 +85,6 @@ ) 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/hudsundiag name = "Diagnostic HUDsunglasses" result = /obj/item/clothing/glasses/hud/diagnostic/sunglasses @@ -113,14 +97,6 @@ ) category = CAT_CLOTHING -/datum/crafting_recipe/hudsundiagremoval - name = "Diagnostic HUD removal" - result = /obj/item/clothing/glasses/sunglasses - time = 20 - tools = list(TOOL_SCREWDRIVER, TOOL_WIRECUTTER) - reqs = list(/obj/item/clothing/glasses/hud/diagnostic/sunglasses = 1) - category = CAT_CLOTHING - /datum/crafting_recipe/sciencesunglasses name = "Science Sunglasses" result = /obj/item/clothing/glasses/sunglasses/chemical @@ -133,14 +109,6 @@ ) category = CAT_CLOTHING -/datum/crafting_recipe/sciencesunglassesremoval - name = "Science Sunglasses Dissemble" - 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/medhudglasses // The prescription HUD glasses. This long to have them... #Lianvee name = "MedicalHUD Prescription Glasses" result = /obj/item/clothing/glasses/hud/health/prescription @@ -153,14 +121,6 @@ ) category = CAT_CLOTHING -/datum/crafting_recipe/medhudglassesremoval - name = "MedicalHUD Prescription Glasses Disassembly" - result = /obj/item/clothing/glasses/regular - time = 20 - tools = list(TOOL_SCREWDRIVER, TOOL_WIRECUTTER) - reqs = list(/obj/item/clothing/glasses/hud/health/prescription = 1) - category = CAT_CLOTHING - /datum/crafting_recipe/sechudglasses name = "SecurityHUD Prescription Glasses" result = /obj/item/clothing/glasses/hud/security/prescription @@ -173,14 +133,6 @@ ) category = CAT_CLOTHING -/datum/crafting_recipe/sechudglassesremoval - name = "SecurityHUD Prescription Glasses Disassembly" - result = /obj/item/clothing/glasses/regular - time = 20 - tools = list(TOOL_SCREWDRIVER, TOOL_WIRECUTTER) - reqs = list(/obj/item/clothing/glasses/hud/security/prescription = 1) - category = CAT_CLOTHING - /datum/crafting_recipe/mesonglasses name = "Meson Prescription Glasses" result = /obj/item/clothing/glasses/meson/prescription @@ -193,14 +145,6 @@ ) category = CAT_CLOTHING -/datum/crafting_recipe/mesonglassesremoval - name = "Meson Prescription Glasses Disassembly" - result = /obj/item/clothing/glasses/regular - time = 20 - tools = list(TOOL_SCREWDRIVER, TOOL_WIRECUTTER) - reqs = list(/obj/item/clothing/glasses/meson/prescription = 1) - category = CAT_CLOTHING - /datum/crafting_recipe/scienceglasses name = "Science Prescription Glasses" result = /obj/item/clothing/glasses/science/prescription @@ -213,14 +157,6 @@ ) category = CAT_CLOTHING -/datum/crafting_recipe/scienceglassesremoval - name = "Science Prescription Glasses Disassembly" - result = /obj/item/clothing/glasses/regular - time = 20 - tools = list(TOOL_SCREWDRIVER, TOOL_WIRECUTTER) - reqs = list(/obj/item/clothing/glasses/science/prescription = 1) - category = CAT_CLOTHING - // Misc. /datum/crafting_recipe/ghostsheet name = "Ghost Sheet" @@ -236,3 +172,21 @@ reqs = list(/obj/item/stack/sheet/leather = 2) time = 45 category = CAT_CLOTHING + +/datum/crafting_recipe/gripperoffbrand + name = "Improvised Gripper Gloves" + reqs = list( + /obj/item/clothing/gloves/fingerless = 1, + /obj/item/stack/tape = 1) + result = /obj/item/clothing/gloves/tackler/offbrand + category = CAT_CLOTHING + +/datum/crafting_recipe/scrap_armor + name = "Scrap Armor" + result = /obj/item/clothing/suit/armor/vest/scrap_armor + time = 60 + reqs = list( + /obj/item/stack/sheet/metal = 10, + /obj/item/stack/cable_coil = 20, + ) + category = CAT_CLOTHING diff --git a/code/datums/components/crafting/recipes/drink.dm b/code/datums/components/crafting/recipes/drink.dm new file mode 100644 index 000000000000..5ca6d14814c1 --- /dev/null +++ b/code/datums/components/crafting/recipes/drink.dm @@ -0,0 +1,52 @@ +/datum/crafting_recipe/umbrellared + name = "Red Drink Umbrella" + result = /obj/item/garnish/umbrellared + time = 1 SECONDS + tools = list(/obj/item/toy/crayon/spraycan) + reqs = list( + /obj/item/paper = 1, + /obj/item/stack/rods = 1) + category = CAT_DRINK + +/datum/crafting_recipe/umbrellablue + name = "Blue Drink Umbrella" + result = /obj/item/garnish/umbrellablue + time = 1 SECONDS + tools = list(/obj/item/toy/crayon/spraycan) + reqs = list( + /obj/item/paper = 1, + /obj/item/stack/rods = 1) + category = CAT_DRINK + +/datum/crafting_recipe/umbrellagreen + name = "Green Drink Umbrella" + result = /obj/item/garnish/umbrellagreen + time = 1 SECONDS + tools = list(/obj/item/toy/crayon/spraycan) + reqs = list( + /obj/item/paper = 1, + /obj/item/stack/rods = 1) + category = CAT_DRINK + +/datum/crafting_recipe/ash_garnish + name = "Ash Garnish" + result = /obj/item/garnish/ash + reqs = list(/datum/reagent/ash = 10) + time = 5 + category = CAT_DRINK + +/datum/crafting_recipe/salt_garnish + name = "Salt Garnish" + result = /obj/item/garnish/salt + reqs = list(/datum/reagent/consumable/sodiumchloride = 10) + time = 5 + category = CAT_DRINK + +/datum/crafting_recipe/breakawayflask + name = "Breakaway Flask" + result = /obj/item/reagent_containers/food/drinks/breakawayflask + time = 5 SECONDS + reqs = list(/obj/item/stack/sheet/glass = 5, + /obj/item/stack/sheet/mineral/plasma = 1) + tools = list(TOOL_WELDER) + category = CAT_DRINK diff --git a/code/datums/components/crafting/recipes/misc.dm b/code/datums/components/crafting/recipes/misc.dm new file mode 100644 index 000000000000..4df0521bcff3 --- /dev/null +++ b/code/datums/components/crafting/recipes/misc.dm @@ -0,0 +1,213 @@ +/datum/crafting_recipe/skateboard + name = "Skateboard" + result = /obj/vehicle/ridden/scooter/skateboard + time = 60 + reqs = list(/obj/item/stack/sheet/metal = 5, + /obj/item/stack/rods = 10) + category = CAT_MISC + +/datum/crafting_recipe/scooter + name = "Scooter" + result = /obj/vehicle/ridden/scooter + time = 65 + reqs = list(/obj/item/stack/sheet/metal = 5, + /obj/item/stack/rods = 12) + category = CAT_MISC + +/datum/crafting_recipe/wheelchair + name = "Wheelchair" + result = /obj/vehicle/ridden/wheelchair + reqs = list(/obj/item/stack/sheet/metal = 4, + /obj/item/stack/rods = 6) + time = 100 + category = CAT_MISC + +/datum/crafting_recipe/motorized_wheelchair + name = "Motorized Wheelchair" + result = /obj/vehicle/ridden/wheelchair/motorized + reqs = list(/obj/item/stack/sheet/metal = 10, + /obj/item/stack/rods = 8, + /obj/item/stock_parts/manipulator = 2, + /obj/item/stock_parts/capacitor = 1) + parts = list(/obj/item/stock_parts/manipulator = 2, + /obj/item/stock_parts/capacitor = 1) + tools = list(TOOL_WELDER, TOOL_SCREWDRIVER, TOOL_WRENCH) + time = 200 + category = CAT_MISC + +/datum/crafting_recipe/mousetrap + name = "Mouse Trap" + result = /obj/item/assembly/mousetrap + time = 10 + reqs = list(/obj/item/stack/sheet/cardboard = 1, + /obj/item/stack/rods = 1) + category = CAT_MISC + +/datum/crafting_recipe/papersack + name = "Paper Sack" + result = /obj/item/storage/box/papersack + time = 10 + reqs = list(/obj/item/paper = 5) + category = CAT_MISC + +/datum/crafting_recipe/flashlight_eyes + name = "Flashlight Eyes" + result = /obj/item/organ/eyes/robotic/flashlight + time = 10 + reqs = list( + /obj/item/flashlight = 2, + /obj/item/restraints/handcuffs/cable = 1 + ) + category = CAT_MISC + +/datum/crafting_recipe/paperframes + name = "Paper Frames" + result = /obj/item/stack/sheet/paperframes/five + time = 10 + reqs = list(/obj/item/stack/sheet/mineral/wood = 5, /obj/item/paper = 20) + category = CAT_MISC + +/datum/crafting_recipe/naturalpaper + name = "Hand-Pressed Paper" + time = 30 + reqs = list(/datum/reagent/water = 50, /obj/item/stack/sheet/mineral/wood = 1) + tools = list(/obj/item/hatchet) + result = /obj/item/paper_bin/bundlenatural + category = CAT_MISC + +/datum/crafting_recipe/curtain + name = "Curtains" + reqs = list(/obj/item/stack/sheet/cotton/cloth = 4, /obj/item/stack/rods = 1) + result = /obj/structure/curtain/cloth + category = CAT_MISC + +/datum/crafting_recipe/showercurtain + name = "Shower Curtains" + reqs = list(/obj/item/stack/sheet/cotton/cloth = 2, /obj/item/stack/sheet/plastic = 2, /obj/item/stack/rods = 1) + result = /obj/structure/curtain + category = CAT_MISC + +/datum/crafting_recipe/extendohand + name = "Extendo-Hand" + reqs = list(/obj/item/bodypart/r_arm/robot = 1, /obj/item/clothing/gloves/boxing = 1) + result = /obj/item/extendohand + category = CAT_MISC + +/datum/crafting_recipe/pressureplate + name = "Pressure Plate" + result = /obj/item/pressure_plate + time = 5 + reqs = list(/obj/item/stack/sheet/metal = 1, + /obj/item/stack/tile/plasteel = 1, + /obj/item/stack/cable_coil = 2, + /obj/item/assembly/igniter = 1) + category = CAT_MISC + +/datum/crafting_recipe/rcl + name = "Makeshift Rapid Pipe Cleaner Layer" + result = /obj/item/rcl/ghetto + time = 40 + tools = list(TOOL_WELDER, TOOL_SCREWDRIVER, TOOL_WRENCH) + reqs = list(/obj/item/stack/sheet/metal = 15) + category = CAT_MISC + +/datum/crafting_recipe/guillotine + name = "Guillotine" + result = /obj/structure/guillotine + time = 150 // Building a functioning guillotine takes time + reqs = list(/obj/item/stack/sheet/plasteel = 3, + /obj/item/stack/sheet/mineral/wood = 20, + /obj/item/stack/cable_coil = 10) + tools = list(TOOL_SCREWDRIVER, TOOL_WRENCH, TOOL_WELDER) + category = CAT_MISC + +/datum/crafting_recipe/ghettojetpack + name = "Improvised Jetpack" + result = /obj/item/tank/jetpack/improvised + time = 30 + reqs = list(/obj/item/tank/internals/oxygen = 2, /obj/item/extinguisher = 1, /obj/item/pipe = 3, /obj/item/stack/cable_coil = MAXCOIL) + category = CAT_MISC + tools = list(TOOL_WRENCH, TOOL_WELDER, TOOL_WIRECUTTER) + +/datum/crafting_recipe/multiduct + name = "Multi-layer duct" + result = /obj/machinery/duct/multilayered + time = 5 + reqs = list(/obj/item/stack/ducts = 5) + category = CAT_MISC + tools = list(TOOL_WELDER) + +/datum/crafting_recipe/ipickaxe + name = "Improvised Pickaxe" + reqs = list( + /obj/item/crowbar = 1, + /obj/item/kitchen/knife = 1, + /obj/item/stack/tape = 1) + result = /obj/item/pickaxe/improvised + category = CAT_MISC + +/datum/crafting_recipe/chem_scanner + name = "Reagent Scanner" + time = 30 + tools = list(TOOL_WIRECUTTER, TOOL_SCREWDRIVER) + reqs = list( + /obj/item/healthanalyzer = 1, + /obj/item/stack/cable_coil = 5, + /obj/item/stock_parts/scanning_module = 1) + result = /obj/item/reagent_scanner + category = CAT_MISC + +/datum/crafting_recipe/filter + name = "Seperatory Funnel" + time = 40 + tools = list(TOOL_WELDER, TOOL_WIRECUTTER) + reqs = list( + /obj/item/stack/cable_coil = 1, + /obj/item/reagent_containers/glass/beaker = 3) + result = /obj/item/reagent_containers/glass/filter + category = CAT_MISC + +/datum/crafting_recipe/splint + name = "Makeshift Splint" + reqs = list( + /obj/item/stack/rods = 2, + /obj/item/stack/sheet/cotton/cloth = 4) + result = /obj/item/stack/medical/splint/ghetto + category = CAT_MISC + +/datum/crafting_recipe/portableseedextractor + name = "Portable seed extractor" + reqs = list( + /obj/item/storage/bag/plants = 1, + /obj/item/plant_analyzer = 1, + /obj/item/stock_parts/manipulator = 1, + /obj/item/stack/cable_coil = 2) + result = /obj/item/storage/bag/plants/portaseeder //this will probably mean that you can craft portable seed extractors into themselves, sending the other materials into the void, but we still don't have a solution for recipes involving radios stealing your headset, so this is officially not my problem. "no, Tills-The-Soil, adding more analyzers and micro-manipulators to your portable seed extractor does not make it make more seeds. in fact it does exactly nothing." + time = 20 + tools = list(TOOL_SCREWDRIVER, TOOL_WIRECUTTER) + category = CAT_MISC + +/datum/crafting_recipe/freezer + name = "Freezer" + result = /obj/structure/closet/crate/freezer + time = 2 SECONDS + reqs = list(/datum/reagent/consumable/ice = 25, + /obj/item/stack/sheet/metal = 2) + category = CAT_MISC + +/datum/crafting_recipe/aquarium + name = "Aquarium" + result = /obj/structure/aquarium + time = 10 SECONDS + reqs = list(/obj/item/stack/sheet/metal = 15, + /obj/item/stack/sheet/glass = 10, + /obj/item/aquarium_kit = 1) + category = CAT_MISC + +/datum/crafting_recipe/mothplush + name = "Moth Plushie" + result = /obj/item/toy/plush/moth + reqs = list(/obj/item/stack/sheet/animalhide/mothroach = 1, + /obj/item/organ/heart = 1, + /obj/item/stack/sheet/cotton/cloth = 3) + category = CAT_MISC diff --git a/code/datums/components/crafting/recipes/robot.dm b/code/datums/components/crafting/recipes/robot.dm new file mode 100644 index 000000000000..a5558682e86b --- /dev/null +++ b/code/datums/components/crafting/recipes/robot.dm @@ -0,0 +1,86 @@ +/datum/crafting_recipe/ed209 + name = "ED209" + result = /mob/living/simple_animal/bot/secbot/ed209 + reqs = list(/obj/item/robot_suit = 1, + /obj/item/clothing/head/helmet = 1, + /obj/item/clothing/suit/armor/vest = 1, + /obj/item/bodypart/leg/left/robot = 1, + /obj/item/bodypart/leg/right/robot = 1, + /obj/item/stack/sheet/metal = 1, + /obj/item/stack/cable_coil = 1, + /obj/item/gun/energy/disabler = 1, + /obj/item/assembly/prox_sensor = 1) + tools = list(TOOL_WELDER, TOOL_SCREWDRIVER) + time = 60 + category = CAT_ROBOT + +/datum/crafting_recipe/secbot + name = "Secbot" + result = /mob/living/simple_animal/bot/secbot + reqs = list(/obj/item/assembly/signaler = 1, + /obj/item/clothing/head/helmet/sec = 1, + /obj/item/melee/baton = 1, + /obj/item/assembly/prox_sensor = 1, + /obj/item/bodypart/r_arm/robot = 1) + tools = list(TOOL_WELDER) + time = 60 + category = CAT_ROBOT + +/datum/crafting_recipe/cleanbot + name = "Cleanbot" + result = /mob/living/simple_animal/bot/cleanbot + reqs = list(/obj/item/reagent_containers/glass/bucket = 1, + /obj/item/assembly/prox_sensor = 1, + /obj/item/bodypart/r_arm/robot = 1) + time = 40 + category = CAT_ROBOT + +/datum/crafting_recipe/floorbot + name = "Floorbot" + result = /mob/living/simple_animal/bot/floorbot + reqs = list(/obj/item/storage/toolbox = 1, + /obj/item/stack/tile/plasteel = 10, + /obj/item/assembly/prox_sensor = 1, + /obj/item/bodypart/r_arm/robot = 1) + time = 40 + category = CAT_ROBOT + +/datum/crafting_recipe/medbot + name = "Medbot" + result = /mob/living/simple_animal/bot/medbot + reqs = list(/obj/item/healthanalyzer = 1, + /obj/item/storage/firstaid = 1, + /obj/item/assembly/prox_sensor = 1, + /obj/item/bodypart/r_arm/robot = 1) + time = 40 + category = CAT_ROBOT + +/datum/crafting_recipe/honkbot + name = "Honkbot" + result = /mob/living/simple_animal/bot/honkbot + reqs = list(/obj/item/storage/box/clown = 1, + /obj/item/bodypart/r_arm/robot = 1, + /obj/item/assembly/prox_sensor = 1, + /obj/item/bikehorn/ = 1) + time = 40 + category = CAT_ROBOT + +/datum/crafting_recipe/Firebot + name = "Firebot" + result = /mob/living/simple_animal/bot/firebot + reqs = list(/obj/item/extinguisher = 1, + /obj/item/bodypart/r_arm/robot = 1, + /obj/item/assembly/prox_sensor = 1, + /obj/item/clothing/head/hardhat/red = 1) + time = 40 + category = CAT_ROBOT + +/datum/crafting_recipe/Vibebot + name = "Vibebot" + result = /mob/living/simple_animal/bot/vibebot + reqs = list(/obj/item/light/bulb = 2, + /obj/item/bodypart/head/robot = 1, + /obj/item/assembly/prox_sensor = 1, + /obj/item/toy/crayon = 1) + time = 40 + category = CAT_ROBOT diff --git a/code/datums/components/crafting/recipes/tribal.dm b/code/datums/components/crafting/recipes/tribal.dm new file mode 100644 index 000000000000..ec974a563fce --- /dev/null +++ b/code/datums/components/crafting/recipes/tribal.dm @@ -0,0 +1,236 @@ +/datum/crafting_recipe/bonetalisman + name = "Bone Talisman" + result = /obj/item/clothing/accessory/talisman + time = 20 + reqs = list(/obj/item/stack/sheet/bone = 2, + /obj/item/stack/sheet/sinew = 1) + category = CAT_PRIMAL + +/datum/crafting_recipe/bonenecklace + name = "Hunter's Necklace" + result = /obj/item/clothing/accessory/wolftalisman + time = 35 + reqs = list(/obj/item/stack/sheet/bone = 2, + /obj/item/stack/sheet/sinew = 3, + /obj/item/crusher_trophy/wolf_ear = 2, + /obj/item/crusher_trophy/fang = 1) + category = CAT_PRIMAL + +/datum/crafting_recipe/bonecodpiece + name = "Skull Codpiece" + result = /obj/item/clothing/accessory/skullcodpiece + time = 20 + reqs = list(/obj/item/stack/sheet/bone = 2, + /obj/item/crusher_trophy/legion_skull = 1, + /obj/item/stack/sheet/animalhide/goliath_hide = 1) + category = CAT_PRIMAL + +/datum/crafting_recipe/skilt + name = "Sinew Kilt" + result = /obj/item/clothing/accessory/skilt + time = 20 + reqs = list(/obj/item/stack/sheet/bone = 1, + /obj/item/stack/sheet/sinew = 2) + category = CAT_PRIMAL + +/datum/crafting_recipe/bracers + name = "Bone Bracers" + result = /obj/item/clothing/gloves/bracer + time = 20 + reqs = list(/obj/item/stack/sheet/bone = 2, + /obj/item/stack/sheet/sinew = 1) + category = CAT_PRIMAL + +/datum/crafting_recipe/goliathcloak + name = "Goliath Cloak" + result = /obj/item/clothing/suit/hooded/cloak/goliath + time = 50 + reqs = list(/obj/item/stack/sheet/leather = 2, + /obj/item/stack/sheet/sinew = 2, + /obj/item/stack/sheet/animalhide/goliath_hide = 2) //it takes 4 goliaths to make 1 cloak if the plates are skinned + category = CAT_PRIMAL + +/datum/crafting_recipe/drakecloak + name = "Ash Drake Armour" + result = /obj/item/clothing/suit/hooded/cloak/drake + time = 60 + reqs = list(/obj/item/stack/sheet/bone = 10, + /obj/item/stack/sheet/sinew = 2, + /obj/item/stack/sheet/animalhide/ashdrake = 5) + category = CAT_PRIMAL + +/datum/crafting_recipe/bonespear + name = "Bone Spear" + result = /obj/item/spear/bonespear + time = 30 + reqs = list(/obj/item/stack/sheet/bone = 4, + /obj/item/stack/sheet/sinew = 1) + category = CAT_PRIMAL + +/datum/crafting_recipe/boneaxe + name = "Bone Axe" + result = /obj/item/fireaxe/boneaxe + time = 50 + reqs = list(/obj/item/stack/sheet/bone = 6, + /obj/item/stack/sheet/sinew = 3) + category = CAT_PRIMAL + +/datum/crafting_recipe/bonfire + name = "Bonfire" + time = 60 + reqs = list(/obj/item/grown/log = 5) + parts = list(/obj/item/grown/log = 5) + blacklist = list(/obj/item/grown/log/steel) + result = /obj/structure/bonfire + category = CAT_PRIMAL + +/datum/crafting_recipe/headpike + name = "Spike Head (Glass Spear)" + time = 65 + reqs = list(/obj/item/spear = 1, + /obj/item/bodypart/head = 1) + parts = list(/obj/item/bodypart/head = 1, + /obj/item/spear = 1) + blacklist = list(/obj/item/spear/explosive, /obj/item/spear/bonespear) + result = /obj/structure/headpike + category = CAT_PRIMAL + +/datum/crafting_recipe/headpikebone + name = "Spike Head (Bone Spear)" + time = 65 + reqs = list(/obj/item/spear/bonespear = 1, + /obj/item/bodypart/head = 1) + parts = list(/obj/item/bodypart/head = 1, + /obj/item/spear/bonespear = 1) + result = /obj/structure/headpike/bone + category = CAT_PRIMAL + +/datum/crafting_recipe/lasso + name = "Bone Lasso" + reqs = list( + /obj/item/stack/sheet/bone = 1, + /obj/item/stack/sheet/sinew = 5) + result = /obj/item/key/lasso + category = CAT_PRIMAL + +/datum/crafting_recipe/heavybonearmor + name = "Heavy Bone Armor" + result = /obj/item/clothing/suit/hooded/cloak/bone + time = 60 + reqs = list(/obj/item/stack/sheet/bone = 8, + /obj/item/stack/sheet/sinew = 3) + category = CAT_PRIMAL + +/datum/crafting_recipe/watcherbola + name = "Watcher Bola" + result = /obj/item/restraints/legcuffs/bola/watcher + time = 30 + reqs = list(/obj/item/stack/sheet/animalhide/goliath_hide = 2, + /obj/item/restraints/handcuffs/cable/sinew = 1) + category = CAT_PRIMAL + +/datum/crafting_recipe/goliathshield + name = "Goliath shield" + result = /obj/item/shield/riot/goliath + time = 60 + reqs = list(/obj/item/stack/sheet/bone = 4, + /obj/item/stack/sheet/animalhide/goliath_hide = 3) + category = CAT_PRIMAL + +/datum/crafting_recipe/bonesword + name = "Bone Sword" + result = /obj/item/claymore/bone + time = 40 + reqs = list(/obj/item/stack/sheet/bone = 3, + /obj/item/stack/sheet/sinew = 2) + category = CAT_PRIMAL + +/datum/crafting_recipe/hunterbelt + name = "Hunters Belt" + result = /obj/item/storage/belt/mining/primitive + time = 20 + reqs = list(/obj/item/stack/sheet/sinew = 2, + /obj/item/stack/sheet/animalhide/goliath_hide = 2) + category = CAT_PRIMAL + +/datum/crafting_recipe/quiver + name = "Quiver" + result = /obj/item/storage/bag/quiver/empty + time = 80 + reqs = list(/obj/item/stack/sheet/leather = 3, + /obj/item/stack/sheet/sinew = 4) + category = CAT_PRIMAL + +/datum/crafting_recipe/bone_bow + name = "Bone Bow" + result = /obj/item/gun/ballistic/bow/ashen + time = 200 + reqs = list(/obj/item/stack/sheet/bone = 8, + /obj/item/stack/sheet/sinew = 4) + category = CAT_PRIMAL + +/datum/crafting_recipe/polarbearcloak + name = "Polar Cloak" + result = /obj/item/clothing/suit/hooded/cloak/goliath/polar + time = 50 + reqs = list(/obj/item/stack/sheet/leather = 2, + /obj/item/stack/sheet/sinew = 2, + /obj/item/stack/sheet/animalhide/goliath_hide/polar_bear_hide = 2) + blacklist = list(/obj/item/stack/sheet/animalhide/goliath_hide) + category = CAT_PRIMAL + +/datum/crafting_recipe/distiller + name = "Distiller" + result = /obj/structure/fermenting_barrel/distiller + reqs = list(/obj/item/stack/sheet/mineral/wood = 8, /obj/item/stack/sheet/metal = 5, /datum/reagent/srm_bacteria = 30) + time = 50 + category = CAT_PRIMAL + +/datum/crafting_recipe/crystalamulet + name = "Crystal Amulet" + result = /obj/item/clothing/neck/crystal_amulet + time = 4 SECONDS + reqs = list(/obj/item/strange_crystal = 3) + category = CAT_PRIMAL + +/datum/crafting_recipe/crystalspear + name = "Crystal Spear" + result = /obj/item/spear/crystal + time = 4 SECONDS + reqs = list(/obj/item/strange_crystal = 2) + category = CAT_PRIMAL + +/datum/crafting_recipe/mushroom_bowl + name = "Mushroom Bowl" + result = /obj/item/reagent_containers/glass/bowl/mushroom_bowl + reqs = list(/obj/item/reagent_containers/food/snacks/grown/ash_flora/shavings = 5) + time = 30 + category = CAT_PRIMAL + +/datum/crafting_recipe/charcoal_stylus + name = "Charcoal Stylus" + result = /obj/item/pen/charcoal + reqs = list(/obj/item/stack/sheet/mineral/wood = 1, /datum/reagent/ash = 30) + time = 30 + category = CAT_PRIMAL + +/datum/crafting_recipe/mushroom_mortar + name = "Mushroom Mortar" + result = /obj/item/reagent_containers/glass/mortar/mushroom + reqs = list(/obj/item/reagent_containers/food/snacks/grown/ash_flora/shavings = 5) + time = 30 + category = CAT_PRIMAL + +/datum/crafting_recipe/oar + name = "Goliath Bone Oar" + result = /obj/item/oar + reqs = list(/obj/item/stack/sheet/bone = 2) + time = 15 + category = CAT_PRIMAL + +/datum/crafting_recipe/boat + name = "Goliath Hide Boat" + result = /obj/vehicle/ridden/lavaboat + reqs = list(/obj/item/stack/sheet/animalhide/goliath_hide = 3) + time = 50 + category = CAT_PRIMAL diff --git a/code/datums/components/crafting/recipes/weapon.dm b/code/datums/components/crafting/recipes/weapon.dm new file mode 100644 index 000000000000..10f63bede5ce --- /dev/null +++ b/code/datums/components/crafting/recipes/weapon.dm @@ -0,0 +1,310 @@ +/datum/crafting_recipe/IED + name = "IED" + result = /obj/item/grenade/iedcasing + reqs = list(/datum/reagent/fuel = 50, + /obj/item/stack/cable_coil = 1, + /obj/item/assembly/igniter = 1, + /obj/item/reagent_containers/food/drinks/soda_cans = 1) + parts = list(/obj/item/reagent_containers/food/drinks/soda_cans = 1) + time = 15 + category = CAT_WEAPONRY + subcategory = CAT_WEAPON + +/datum/crafting_recipe/lance + name = "Explosive Lance (Grenade)" + result = /obj/item/spear/explosive + reqs = list(/obj/item/spear = 1, + /obj/item/grenade = 1) + blacklist = list(/obj/item/spear/bonespear) + parts = list(/obj/item/spear = 1, + /obj/item/grenade = 1) + time = 15 + category = CAT_WEAPONRY + subcategory = CAT_WEAPON + +/datum/crafting_recipe/strobeshield + name = "Strobe Shield" + result = /obj/item/shield/riot/flash + reqs = list(/obj/item/wallframe/flasher = 1, + /obj/item/assembly/flash/handheld = 1, + /obj/item/shield/riot = 1) + time = 40 + category = CAT_WEAPONRY + subcategory = CAT_WEAPON + +/datum/crafting_recipe/strobeshield/New() + ..() + blacklist |= subtypesof(/obj/item/shield/riot/) + +/datum/crafting_recipe/molotov + name = "Molotov" + result = /obj/item/reagent_containers/food/drinks/bottle/molotov + reqs = list(/obj/item/reagent_containers/glass/rag = 1, + /obj/item/reagent_containers/food/drinks/bottle = 1) + parts = list(/obj/item/reagent_containers/food/drinks/bottle = 1) + time = 40 + category = CAT_WEAPONRY + subcategory = CAT_WEAPON + +/datum/crafting_recipe/stunprod + name = "Stunprod" + result = /obj/item/melee/baton/cattleprod + reqs = list(/obj/item/restraints/handcuffs/cable = 1, + /obj/item/stack/rods = 1, + /obj/item/assembly/igniter = 1) + time = 40 + category = CAT_WEAPONRY + subcategory = CAT_WEAPON + +/datum/crafting_recipe/teleprod + name = "Teleprod" + result = /obj/item/melee/baton/cattleprod/teleprod + reqs = list(/obj/item/restraints/handcuffs/cable = 1, + /obj/item/stack/rods = 1, + /obj/item/assembly/igniter = 1, + /obj/item/stack/ore/bluespace_crystal = 1) + time = 40 + category = CAT_WEAPONRY + subcategory = CAT_WEAPON + +/datum/crafting_recipe/bola + name = "Bola" + result = /obj/item/restraints/legcuffs/bola + reqs = list(/obj/item/restraints/handcuffs/cable = 1, + /obj/item/stack/sheet/metal = 6) + time = 20//15 faster than crafting them by hand! + category= CAT_WEAPONRY + subcategory = CAT_WEAPON + +/datum/crafting_recipe/gonbola + name = "Gonbola" + result = /obj/item/restraints/legcuffs/bola/gonbola + reqs = list(/obj/item/restraints/handcuffs/cable = 1, + /obj/item/stack/sheet/metal = 6, + /obj/item/stack/sheet/animalhide/gondola = 1) + time = 40 + category= CAT_WEAPONRY + subcategory = CAT_WEAPON + +/datum/crafting_recipe/improvised_pneumatic_cannon //Pretty easy to obtain but + name = "Pneumatic Cannon" + result = /obj/item/pneumatic_cannon/ghetto + tools = list(TOOL_WELDER, TOOL_WRENCH) + reqs = list(/obj/item/stack/sheet/metal = 4, + /obj/item/stack/packageWrap = 8, + /obj/item/pipe = 2) + time = 50 + category = CAT_WEAPONRY + subcategory = CAT_WEAPON + +/datum/crafting_recipe/flamethrower + name = "Flamethrower" + result = /obj/item/flamethrower + reqs = list(/obj/item/weldingtool = 1, + /obj/item/assembly/igniter = 1, + /obj/item/stack/rods = 1) + parts = list(/obj/item/assembly/igniter = 1, + /obj/item/weldingtool = 1) + tools = list(TOOL_SCREWDRIVER) + time = 10 + category = CAT_WEAPONRY + subcategory = CAT_WEAPON + +/datum/crafting_recipe/meteorslug + name = "Meteorslug Shell" + result = /obj/item/ammo_casing/shotgun/meteorslug + reqs = list(/obj/item/ammo_casing/shotgun/techshell = 1, + /obj/item/rcd_ammo = 1, + /obj/item/stock_parts/manipulator = 2) + tools = list(TOOL_SCREWDRIVER) + time = 5 + category = CAT_WEAPONRY + subcategory = CAT_AMMO + +/datum/crafting_recipe/pulseslug + name = "Pulse Slug Shell" + result = /obj/item/ammo_casing/shotgun/pulseslug + reqs = list(/obj/item/ammo_casing/shotgun/techshell = 1, + /obj/item/stock_parts/capacitor/adv = 2, + /obj/item/stock_parts/micro_laser/ultra = 1) + tools = list(TOOL_SCREWDRIVER) + time = 5 + category = CAT_WEAPONRY + subcategory = CAT_AMMO + +/datum/crafting_recipe/dragonsbreath + name = "Dragonsbreath Shell" + result = /obj/item/ammo_casing/shotgun/dragonsbreath + reqs = list(/obj/item/ammo_casing/shotgun/techshell = 1, /datum/reagent/phosphorus = 5) + tools = list(TOOL_SCREWDRIVER) + time = 5 + category = CAT_WEAPONRY + subcategory = CAT_AMMO + +/datum/crafting_recipe/frag12 + name = "FRAG-12 Shell" + result = /obj/item/ammo_casing/shotgun/frag12 + reqs = list(/obj/item/ammo_casing/shotgun/techshell = 1, + /datum/reagent/glycerol = 5, + /datum/reagent/toxin/acid = 5, + /datum/reagent/toxin/acid/fluacid = 5) + tools = list(TOOL_SCREWDRIVER) + time = 5 + category = CAT_WEAPONRY + subcategory = CAT_AMMO + +/datum/crafting_recipe/ionslug + name = "Ion Scatter Shell" + result = /obj/item/ammo_casing/shotgun/ion + reqs = list(/obj/item/ammo_casing/shotgun/techshell = 1, + /obj/item/stock_parts/micro_laser/ultra = 1, + /obj/item/stock_parts/subspace/crystal = 1) + tools = list(TOOL_SCREWDRIVER) + time = 5 + category = CAT_WEAPONRY + subcategory = CAT_AMMO + +/datum/crafting_recipe/improvisedslug + name = "Improvised Shotgun Shell" + result = /obj/item/ammo_casing/shotgun/improvised + reqs = list(/obj/item/stack/sheet/metal = 2, + /obj/item/stack/cable_coil = 1, + /datum/reagent/fuel = 10) + tools = list(TOOL_SCREWDRIVER) + time = 12 + category = CAT_WEAPONRY + subcategory = CAT_AMMO + +/datum/crafting_recipe/laserscatter + name = "Scatter Laser Shell" + result = /obj/item/ammo_casing/shotgun/laserscatter + reqs = list(/obj/item/ammo_casing/shotgun/techshell = 1, + /obj/item/stock_parts/capacitor/adv = 1, + /obj/item/stock_parts/micro_laser/high = 1) + tools = list(TOOL_SCREWDRIVER) + time = 5 + category = CAT_WEAPONRY + subcategory = CAT_AMMO + +/datum/crafting_recipe/ishotgun + name = "Improvised Shotgun" + result = /obj/item/gun/ballistic/shotgun/doublebarrel/improvised + reqs = list(/obj/item/weaponcrafting/receiver = 1, + /obj/item/pipe = 1, + /obj/item/weaponcrafting/stock = 1, + /obj/item/stack/packageWrap = 5) + tools = list(TOOL_SCREWDRIVER) + time = 100 + category = CAT_WEAPONRY + subcategory = CAT_WEAPON + +/datum/crafting_recipe/chainsaw + name = "Chainsaw" + result = /obj/item/chainsaw + reqs = list(/obj/item/circular_saw = 1, + /obj/item/stack/cable_coil = 3, + /obj/item/stack/sheet/plasteel = 5) + tools = list(TOOL_WELDER) + time = 50 + category = CAT_WEAPONRY + subcategory = CAT_WEAPON + +/datum/crafting_recipe/spear + name = "Spear" + result = /obj/item/spear + reqs = list(/obj/item/restraints/handcuffs/cable = 1, + /obj/item/shard = 1, + /obj/item/stack/rods = 1) + parts = list(/obj/item/shard = 1) + time = 40 + category = CAT_WEAPONRY + subcategory = CAT_WEAPON + +/datum/crafting_recipe/chemical_payload + name = "Chemical Payload (C4)" + result = /obj/item/bombcore/chemical + reqs = list( + /obj/item/stock_parts/matter_bin = 1, + /obj/item/grenade/c4 = 1, + /obj/item/grenade/chem_grenade = 2 + ) + parts = list(/obj/item/stock_parts/matter_bin = 1, /obj/item/grenade/chem_grenade = 2) + time = 30 + category = CAT_WEAPONRY + subcategory = CAT_WEAPON + +/datum/crafting_recipe/chemical_payload2 + name = "Chemical Payload (Gibtonite)" + result = /obj/item/bombcore/chemical + reqs = list( + /obj/item/stock_parts/matter_bin = 1, + /obj/item/gibtonite = 1, + /obj/item/grenade/chem_grenade = 2 + ) + parts = list(/obj/item/stock_parts/matter_bin = 1, /obj/item/grenade/chem_grenade = 2) + time = 50 + category = CAT_WEAPONRY + subcategory = CAT_WEAPON + +/datum/crafting_recipe/pipebow + name = "Pipe Bow" + result = /obj/item/gun/ballistic/bow/pipe + reqs = list(/obj/item/pipe = 5, + /obj/item/stack/sheet/plastic = 15, + /obj/item/weaponcrafting/silkstring = 10) + time = 450 + category = CAT_WEAPONRY + subcategory = CAT_WEAPON + +/datum/crafting_recipe/arrow + name = "Arrow" + result = /obj/item/ammo_casing/caseless/arrow/wood + time = 30 + reqs = list(/obj/item/stack/sheet/mineral/wood = 1, + /obj/item/stack/sheet/silk = 1, + /obj/item/stack/rods = 1) //1 metal sheet = 2 rods= 2 arrows + category = CAT_WEAPONRY + subcategory = CAT_AMMO + +/datum/crafting_recipe/bone_arrow + name = "Bone Arrow" + result = /obj/item/ammo_casing/caseless/arrow/bone + time = 30 + reqs = list(/obj/item/stack/sheet/bone = 1, + /obj/item/stack/sheet/sinew = 1, + /obj/item/ammo_casing/caseless/arrow/ash = 1) + category = CAT_WEAPONRY + subcategory = CAT_AMMO + +/datum/crafting_recipe/ashen_arrow + name = "Fire hardened arrow" + result = /obj/item/ammo_casing/caseless/arrow/ash + tools = list(TOOL_WELDER) + time = 30 + reqs = list(/obj/item/ammo_casing/caseless/arrow/wood = 1) + category = CAT_WEAPONRY + subcategory = CAT_AMMO + +/datum/crafting_recipe/bronze_arrow + name = "Bronze arrow" + result = /obj/item/ammo_casing/caseless/arrow/bronze + time = 30 + reqs = list(/obj/item/stack/sheet/mineral/wood = 1, + /obj/item/stack/tile/bronze = 1, + /obj/item/stack/sheet/silk = 1) + category = CAT_WEAPONRY + subcategory = CAT_AMMO + +/datum/crafting_recipe/zip_pistol + name = "Zip Pistol" + result = /obj/item/gun/ballistic/automatic/zip_pistol + reqs = list(/obj/item/stack/rods = 4, + /obj/item/pipe = 1, + /obj/item/stack/cable_coil = 15, + /obj/item/weaponcrafting/receiver = 1, + /obj/item/floor_painter = 1, + /obj/item/stack/packageWrap = 10) + tools = list(TOOL_SCREWDRIVER) + time = 100 + category = CAT_WEAPONRY + subcategory = CAT_WEAPON diff --git a/code/game/objects/items/religion.dm b/code/game/objects/items/religion.dm index 5128ff7cb758..e2507dfb911b 100644 --- a/code/game/objects/items/religion.dm +++ b/code/game/objects/items/religion.dm @@ -87,14 +87,6 @@ /obj/item/banner/security/mundane inspiration_available = FALSE -/datum/crafting_recipe/security_banner - name = "Securistan Banner" - result = /obj/item/banner/security/mundane - time = 40 - reqs = list(/obj/item/stack/rods = 2, - /obj/item/clothing/under/rank/security/officer = 1) - category = CAT_MISC - /obj/item/banner/medical name = "meditopia banner" desc = "The banner of Meditopia, generous benefactors that cure wounds and shelter the weak." @@ -111,14 +103,6 @@ /obj/item/banner/medical/check_inspiration(mob/living/carbon/human/H) return H.stat //Meditopia is moved to help those in need -/datum/crafting_recipe/medical_banner - name = "Meditopia Banner" - result = /obj/item/banner/medical/mundane - time = 40 - reqs = list(/obj/item/stack/rods = 2, - /obj/item/clothing/under/rank/medical = 1) - category = CAT_MISC - /obj/item/banner/medical/special_inspiration(mob/living/carbon/human/H) H.adjustToxLoss(-15) H.setOxyLoss(0) @@ -140,14 +124,6 @@ /obj/item/banner/science/check_inspiration(mob/living/carbon/human/H) return H.on_fire //Sciencia is pleased by dedication to the art of Toxins -/datum/crafting_recipe/science_banner - name = "Sciencia Banner" - result = /obj/item/banner/science/mundane - time = 40 - reqs = list(/obj/item/stack/rods = 2, - /obj/item/clothing/under/rank/rnd/scientist = 1) - category = CAT_MISC - /obj/item/banner/cargo name = "cargonia banner" desc = "The banner of the eternal Cargonia, with the mystical power of conjuring any object into existence." @@ -161,14 +137,6 @@ /obj/item/banner/cargo/mundane inspiration_available = FALSE -/datum/crafting_recipe/cargo_banner - name = "Cargonia Banner" - result = /obj/item/banner/cargo/mundane - time = 40 - reqs = list(/obj/item/stack/rods = 2, - /obj/item/clothing/under/rank/cargo/tech = 1) - category = CAT_MISC - /obj/item/banner/engineering name = "engitopia banner" desc = "The banner of Engitopia, wielders of limitless power." @@ -185,14 +153,6 @@ /obj/item/banner/engineering/special_inspiration(mob/living/carbon/human/H) H.radiation = 0 -/datum/crafting_recipe/engineering_banner - name = "Engitopia Banner" - result = /obj/item/banner/engineering/mundane - time = 40 - reqs = list(/obj/item/stack/rods = 2, - /obj/item/clothing/under/rank/engineering/engineer = 1) - category = CAT_MISC - /obj/item/banner/command name = "command banner" desc = "The banner of Command, a staunch and ancient line of bueraucratic kings and queens." diff --git a/code/game/objects/items/stacks/sheets/sheet_types.dm b/code/game/objects/items/stacks/sheets/sheet_types.dm index a80ca9008401..7c28c93200a3 100644 --- a/code/game/objects/items/stacks/sheets/sheet_types.dm +++ b/code/game/objects/items/stacks/sheets/sheet_types.dm @@ -145,6 +145,7 @@ GLOBAL_LIST_INIT(wood_recipes, list ( \ new/datum/stack_recipe("loom", /obj/structure/loom, 10, time = 15, one_per_turf = TRUE, on_floor = TRUE), \ new/datum/stack_recipe("mortar", /obj/item/reagent_containers/glass/mortar, 3), \ new/datum/stack_recipe("firebrand", /obj/item/match/firebrand, 2, time = 100), \ + new/datum/stack_recipe("torch", /obj/item/candle/tribal_torch, 4, time = 30), \ null, \ new/datum/stack_recipe_list("pews", list( new /datum/stack_recipe("pew (middle)", /obj/structure/chair/pew, 3, one_per_turf = TRUE, on_floor = TRUE), diff --git a/code/modules/mining/lavaland/ash_flora.dm b/code/modules/mining/lavaland/ash_flora.dm index 0bade04d3fe8..f9563cc078eb 100644 --- a/code/modules/mining/lavaland/ash_flora.dm +++ b/code/modules/mining/lavaland/ash_flora.dm @@ -432,14 +432,6 @@ user.put_in_hands(result) to_chat(user, "You finish breaking [src]") -//CRAFTING - -/datum/crafting_recipe/mushroom_bowl - name = "Mushroom Bowl" - result = /obj/item/reagent_containers/glass/bowl/mushroom_bowl - reqs = list(/obj/item/reagent_containers/food/snacks/grown/ash_flora/shavings = 5) - time = 30 - category = CAT_PRIMAL /obj/item/reagent_containers/food/snacks/customizable/salad/ashsalad desc = "Very ashy." diff --git a/code/modules/paperwork/pen.dm b/code/modules/paperwork/pen.dm index b289c32e85e0..cd913c57fb0a 100644 --- a/code/modules/paperwork/pen.dm +++ b/code/modules/paperwork/pen.dm @@ -80,13 +80,6 @@ custom_materials = null grind_results = list(/datum/reagent/ash = 5, /datum/reagent/cellulose = 10) -/datum/crafting_recipe/charcoal_stylus - name = "Charcoal Stylus" - result = /obj/item/pen/charcoal - reqs = list(/obj/item/stack/sheet/mineral/wood = 1, /datum/reagent/ash = 30) - time = 30 - category = CAT_PRIMAL - /obj/item/pen/fountain/captain name = "captain's fountain pen" desc = "It's an expensive Oak fountain pen. The nib is quite sharp." diff --git a/code/modules/reagents/reagent_containers/mortar.dm b/code/modules/reagents/reagent_containers/mortar.dm index c139a0b6fb09..a397176b6afa 100644 --- a/code/modules/reagents/reagent_containers/mortar.dm +++ b/code/modules/reagents/reagent_containers/mortar.dm @@ -136,11 +136,3 @@ to accommodate additional materials. /obj/item/reagent_containers/glass/mortar/mushroom icon_state = "mortar_shroom" custom_materials = list(/datum/material/biomass = MINERAL_MATERIAL_AMOUNT) - -// Mushroom recipes are all over the place so I'm just putting it here -/datum/crafting_recipe/mushroom_mortar - name = "Mushroom Mortar" - result = /obj/item/reagent_containers/glass/mortar/mushroom - reqs = list(/obj/item/reagent_containers/food/snacks/grown/ash_flora/shavings = 5) - time = 30 - category = CAT_PRIMAL diff --git a/code/modules/ruins/lavalandruin_code/elephantgraveyard.dm b/code/modules/ruins/lavalandruin_code/elephantgraveyard.dm index 5d29bf9dc2a6..7a26946f0ddc 100644 --- a/code/modules/ruins/lavalandruin_code/elephantgraveyard.dm +++ b/code/modules/ruins/lavalandruin_code/elephantgraveyard.dm @@ -226,21 +226,10 @@ /obj/structure/closet/crate/grave/loot/lead_researcher/PopulateContents() //ADVANCED GRAVEROBBING ..() new /obj/effect/decal/cleanable/blood/gibs/old(src) - new /obj/item/book/granter/crafting_recipe/boneyard_notes(src) /obj/effect/decal/remains/human/grave turf_loc_check = FALSE -/obj/item/book/granter/crafting_recipe/boneyard_notes - name = "The Complete Works of Lavaland Bone Architecture" - desc = "Pried from the lead Archaeologist's cold, dead hands, this seems to explain how ancient bone architecture was erected long ago." - crafting_recipe_types = list(/datum/crafting_recipe/rib, /datum/crafting_recipe/boneshovel, /datum/crafting_recipe/halfskull, /datum/crafting_recipe/skull) - icon = 'icons/obj/library.dmi' - icon_state = "boneworking_learing" - oneuse = FALSE - remarks = list("Who knew you could bend bones that far back?", "I guess that was much easier before the planet heated up...", "So that's how they made those ruins survive the ashstorms. Neat!", "The page is just filled with insane ramblings about some 'legion' thing.", "But why would they need vinegar to polish the bones? And rags too?", "You spend a few moments cleaning dirt and blood off of the page, yeesh.") - - //***Fluff items for lore/intrigue /obj/item/paper/crumpled/muddy/fluff/elephant_graveyard name = "posted warning" diff --git a/code/modules/vehicles/lavaboat.dm b/code/modules/vehicles/lavaboat.dm index 3c893b9bf8a8..547bac91a2f0 100644 --- a/code/modules/vehicles/lavaboat.dm +++ b/code/modules/vehicles/lavaboat.dm @@ -29,21 +29,6 @@ force = 12 w_class = WEIGHT_CLASS_NORMAL resistance_flags = LAVA_PROOF | FIRE_PROOF - -/datum/crafting_recipe/oar - name = "Goliath Bone Oar" - result = /obj/item/oar - reqs = list(/obj/item/stack/sheet/bone = 2) - time = 15 - category = CAT_PRIMAL - -/datum/crafting_recipe/boat - name = "Goliath Hide Boat" - result = /obj/vehicle/ridden/lavaboat - reqs = list(/obj/item/stack/sheet/animalhide/goliath_hide = 3) - time = 50 - category = CAT_PRIMAL - //Dragon Boat diff --git a/shiptest.dme b/shiptest.dme index e012a19140de..00b9456e7a0e 100644 --- a/shiptest.dme +++ b/shiptest.dme @@ -542,7 +542,12 @@ #include "code\datums\components\crafting\crafting.dm" #include "code\datums\components\crafting\guncrafting.dm" #include "code\datums\components\crafting\recipes.dm" -#include "code\datums\components\crafting\tailoring.dm" +#include "code\datums\components\crafting\recipes\clothing.dm" +#include "code\datums\components\crafting\recipes\drink.dm" +#include "code\datums\components\crafting\recipes\misc.dm" +#include "code\datums\components\crafting\recipes\robot.dm" +#include "code\datums\components\crafting\recipes\tribal.dm" +#include "code\datums\components\crafting\recipes\weapon.dm" #include "code\datums\components\fantasy\_fantasy.dm" #include "code\datums\components\fantasy\affix.dm" #include "code\datums\components\fantasy\prefixes.dm"