mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2025-12-28 11:11:52 +00:00
448 lines
14 KiB
Plaintext
448 lines
14 KiB
Plaintext
/datum/crafting_recipe
|
|
var/name = "" //in-game display name
|
|
var/reqs[] = list() //type paths of items consumed associated with how many are needed
|
|
var/result //type path of item resulting from this craft
|
|
var/tools[] = list() //type paths of items needed but not consumed
|
|
var/time = 30 //time in deciseconds
|
|
var/parts[] = list() //type paths of items that will be placed in the result
|
|
var/chem_catalysts[] = list() //like tools but for reagents
|
|
var/category = CAT_NONE // Recipe category
|
|
var/roundstart_enabled = TRUE //Set to FALSE if you don't want a particular crafting recipe to be available all the time
|
|
|
|
/datum/crafting_recipe/proc/AdjustChems(var/obj/resultobj as obj)
|
|
//This proc is to replace the make_food proc of recipes from microwaves and such that are being converted to table crafting recipes.
|
|
//Use it to handle the removal of reagents after the food has been created (like removing toxins from a salad made with ambrosia)
|
|
//If a recipe does not require it's chems adjusted, don't bother declaring this for the recipe, as it will call this placeholder
|
|
return
|
|
|
|
/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/cans = 1)
|
|
parts = list(/obj/item/reagent_containers/food/drinks/cans = 1)
|
|
time = 15
|
|
category = CAT_WEAPON
|
|
|
|
/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_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_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_WEAPON
|
|
|
|
/datum/crafting_recipe/ed209
|
|
name = "ED209"
|
|
result = /mob/living/simple_animal/bot/ed209
|
|
reqs = list(/obj/item/robot_parts/robot_suit = 1,
|
|
/obj/item/clothing/head/helmet = 1,
|
|
/obj/item/clothing/suit/armor/vest = 1,
|
|
/obj/item/robot_parts/l_leg = 1,
|
|
/obj/item/robot_parts/r_leg = 1,
|
|
/obj/item/stack/sheet/metal = 1,
|
|
/obj/item/stack/cable_coil = 1,
|
|
/obj/item/gun/energy/gun/advtaser = 1,
|
|
/obj/item/stock_parts/cell = 1,
|
|
/obj/item/assembly/prox_sensor = 1)
|
|
tools = list(/obj/item/weldingtool, /obj/item/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 = 1,
|
|
/obj/item/melee/baton = 1,
|
|
/obj/item/assembly/prox_sensor = 1,
|
|
/obj/item/robot_parts/r_arm = 1)
|
|
tools = list(/obj/item/weldingtool)
|
|
time = 60
|
|
category = CAT_ROBOT
|
|
|
|
/datum/crafting_recipe/griefsky
|
|
name = "General Griefsky"
|
|
result = /mob/living/simple_animal/bot/secbot/griefsky
|
|
reqs = list(/obj/item/assembly/signaler = 1,
|
|
/obj/item/clothing/head/helmet = 1,
|
|
/obj/item/melee/energy/sword = 4,
|
|
/obj/item/assembly/prox_sensor = 1,
|
|
/obj/item/robot_parts/r_arm = 2,
|
|
/obj/item/robot_parts/l_arm = 2)
|
|
tools = list(/obj/item/weldingtool)
|
|
time = 120
|
|
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/robot_parts/r_arm = 1)
|
|
time = 40
|
|
category = CAT_ROBOT
|
|
|
|
/datum/crafting_recipe/honkbot
|
|
name = "Honkbot"
|
|
result = /mob/living/simple_animal/bot/honkbot
|
|
reqs = list(/obj/item/robot_parts/r_arm = 1,
|
|
/obj/item/bikehorn = 1,
|
|
/obj/item/assembly/prox_sensor = 1,
|
|
/obj/item/storage/box/clown = 1,
|
|
/obj/item/instrument/trombone = 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/robot_parts/r_arm = 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/robot_parts/r_arm = 1)
|
|
time = 40
|
|
category = CAT_ROBOT
|
|
|
|
/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(/obj/item/screwdriver)
|
|
time = 10
|
|
category = CAT_WEAPON
|
|
|
|
/datum/crafting_recipe/meteorshot
|
|
name = "Meteorshot Shell"
|
|
result = /obj/item/ammo_casing/shotgun/meteorshot
|
|
reqs = list(/obj/item/ammo_casing/shotgun/techshell = 1,
|
|
/obj/item/rcd_ammo = 1,
|
|
/obj/item/stock_parts/manipulator = 2)
|
|
tools = list(/obj/item/screwdriver)
|
|
time = 5
|
|
category = 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(/obj/item/screwdriver)
|
|
time = 5
|
|
category = CAT_AMMO
|
|
|
|
/datum/crafting_recipe/dragonsbreath
|
|
name = "Dragonsbreath Shell"
|
|
result = /obj/item/ammo_casing/shotgun/incendiary/dragonsbreath
|
|
reqs = list(/obj/item/ammo_casing/shotgun/techshell = 1,
|
|
/datum/reagent/phosphorus = 5,)
|
|
tools = list(/obj/item/screwdriver)
|
|
time = 5
|
|
category = 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/sacid = 5,
|
|
/datum/reagent/facid = 5,)
|
|
tools = list(/obj/item/screwdriver)
|
|
time = 5
|
|
category = 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(/obj/item/screwdriver)
|
|
time = 5
|
|
category = CAT_AMMO
|
|
|
|
/datum/crafting_recipe/improvisedslug
|
|
name = "Improvised Shotgun Shell"
|
|
result = /obj/item/ammo_casing/shotgun/improvised
|
|
reqs = list(/obj/item/grenade/chem_grenade = 1,
|
|
/obj/item/stack/sheet/metal = 1,
|
|
/obj/item/stack/cable_coil = 1,
|
|
/datum/reagent/fuel = 10)
|
|
tools = list(/obj/item/screwdriver)
|
|
time = 5
|
|
category = CAT_AMMO
|
|
|
|
/datum/crafting_recipe/improvisedslugoverload
|
|
name = "Overload Improvised Shell"
|
|
result = /obj/item/ammo_casing/shotgun/improvised/overload
|
|
reqs = list(/obj/item/ammo_casing/shotgun/improvised = 1,
|
|
/datum/reagent/blackpowder = 10,
|
|
/datum/reagent/plasma_dust = 20)
|
|
tools = list(/obj/item/screwdriver)
|
|
time = 5
|
|
category = CAT_AMMO
|
|
|
|
/datum/crafting_recipe/laserslug
|
|
name = "Laser Slug Shell"
|
|
result = /obj/item/ammo_casing/shotgun/laserslug
|
|
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(/obj/item/screwdriver)
|
|
time = 5
|
|
category = CAT_AMMO
|
|
|
|
/datum/crafting_recipe/ishotgun
|
|
name = "Improvised Shotgun"
|
|
result = /obj/item/gun/projectile/revolver/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(/obj/item/screwdriver)
|
|
time = 100
|
|
category = CAT_WEAPON
|
|
|
|
/datum/crafting_recipe/chainsaw
|
|
name = "Chainsaw"
|
|
result = /obj/item/twohanded/required/chainsaw
|
|
reqs = list(/obj/item/circular_saw = 1,
|
|
/obj/item/stack/cable_coil = 1,
|
|
/obj/item/stack/sheet/plasteel = 1)
|
|
tools = list(/obj/item/weldingtool)
|
|
time = 50
|
|
category = CAT_WEAPON
|
|
|
|
/datum/crafting_recipe/spear
|
|
name = "Spear"
|
|
result = /obj/item/twohanded/spear
|
|
reqs = list(/obj/item/restraints/handcuffs/cable = 1,
|
|
/obj/item/shard = 1,
|
|
/obj/item/stack/rods = 1)
|
|
time = 40
|
|
category = 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/holywater = 10)
|
|
parts = list(/obj/item/camera = 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/sushimat
|
|
name = "Sushi Mat"
|
|
result = /obj/item/kitchen/sushimat
|
|
time = 10
|
|
reqs = list(/obj/item/stack/sheet/wood = 1,
|
|
/obj/item/stack/cable_coil = 2)
|
|
category = CAT_MISC
|
|
|
|
/datum/crafting_recipe/notreallysoap
|
|
name = "Homemade Soap"
|
|
result = /obj/item/soap/ducttape
|
|
time = 50
|
|
reqs = list(/obj/item/stack/tape_roll = 1,
|
|
/datum/reagent/liquidgibs = 10)
|
|
category = CAT_MISC
|
|
|
|
/datum/crafting_recipe/garrote
|
|
name = "Makeshift Garrote"
|
|
result = /obj/item/twohanded/garrote/improvised
|
|
time = 15
|
|
reqs = list(/obj/item/stack/sheet/wood = 1,
|
|
/obj/item/stack/cable_coil = 5)
|
|
tools = list(/obj/item/kitchen/knife) // Gotta carve the wood into handles
|
|
category = CAT_WEAPON
|
|
|
|
/datum/crafting_recipe/makeshift_bolt
|
|
name = "Makeshift Bolt"
|
|
result = /obj/item/arrow/rod
|
|
time = 5
|
|
reqs = list(/obj/item/stack/rods = 1)
|
|
tools = list(/obj/item/weldingtool)
|
|
category = CAT_AMMO
|
|
|
|
/datum/crafting_recipe/crossbow
|
|
name = "Powered Crossbow"
|
|
result = /obj/item/gun/throw/crossbow
|
|
time = 150
|
|
reqs = list(/obj/item/stack/rods = 3,
|
|
/obj/item/stack/cable_coil = 10,
|
|
/obj/item/stack/sheet/plastic = 3,
|
|
/obj/item/stack/sheet/wood = 5)
|
|
tools = list(/obj/item/weldingtool,
|
|
/obj/item/screwdriver)
|
|
category = CAT_WEAPON
|
|
|
|
/datum/crafting_recipe/glove_balloon
|
|
name = "Latex Glove Balloon"
|
|
result = /obj/item/latexballon
|
|
time = 15
|
|
reqs = list(/obj/item/clothing/gloves/color/latex = 1,
|
|
/obj/item/stack/cable_coil = 5)
|
|
category = CAT_MISC
|
|
|
|
/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)
|
|
category = CAT_MISC
|
|
|
|
/datum/crafting_recipe/blackcarpet
|
|
name = "Black Carpet"
|
|
result = /obj/item/stack/tile/carpet/black
|
|
time = 20
|
|
reqs = list(/obj/item/stack/tile/carpet = 1)
|
|
tools = list(/obj/item/toy/crayon)
|
|
category = CAT_MISC
|
|
|
|
/datum/crafting_recipe/showercurtain
|
|
name = "Shower Curtains"
|
|
result = /obj/structure/curtain
|
|
time = 20
|
|
reqs = list(/obj/item/stack/sheet/cloth = 2,
|
|
/obj/item/stack/sheet/plastic = 2,
|
|
/obj/item/stack/rods = 1)
|
|
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/plastic/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_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/twohanded/required/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_WEAPON
|
|
|
|
/datum/crafting_recipe/toxins_payload
|
|
name = "Toxins Payload Casing"
|
|
result = /obj/item/bombcore/toxins
|
|
reqs = list(
|
|
/obj/item/stock_parts/matter_bin = 1,
|
|
/obj/item/assembly/signaler = 1,
|
|
/obj/item/stack/sheet/metal = 2
|
|
)
|
|
category = CAT_WEAPON
|
|
|
|
/datum/crafting_recipe/bonfire
|
|
name = "Bonfire"
|
|
time = 60
|
|
reqs = list(/obj/item/grown/log = 5)
|
|
result = /obj/structure/bonfire
|
|
category = CAT_PRIMAL
|
|
|
|
/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/wood = 20,
|
|
/obj/item/stack/cable_coil = 10)
|
|
tools = list(/obj/item/screwdriver, /obj/item/wrench, /obj/item/weldingtool)
|
|
category = CAT_MISC
|
|
|
|
/datum/crafting_recipe/drill
|
|
name = "Thermal Drill"
|
|
result = /obj/item/thermal_drill
|
|
time = 60
|
|
reqs = list(/obj/item/stack/cable_coil = 5,
|
|
/obj/item/mecha_parts/mecha_equipment/drill = 1,
|
|
/obj/item/stock_parts/cell = 1,
|
|
/obj/item/stack/rods = 2,
|
|
/obj/item/assembly/timer = 1)
|
|
tools = list(/obj/item/screwdriver, /obj/item/wrench)
|
|
category = CAT_MISC
|
|
|
|
/datum/crafting_recipe/d_drill
|
|
name = "Diamond Tipped Thermal Drill"
|
|
result = /obj/item/thermal_drill/diamond_drill
|
|
time = 60
|
|
reqs = list(/obj/item/stack/cable_coil = 5,
|
|
/obj/item/mecha_parts/mecha_equipment/drill/diamonddrill = 1,
|
|
/obj/item/stock_parts/cell = 1,
|
|
/obj/item/stack/rods = 2,
|
|
/obj/item/assembly/prox_sensor = 1) // Not a timer because the system sees a diamond drill as a drill too, letting you make both otherwise.
|
|
tools = list(/obj/item/screwdriver, /obj/item/wrench)
|
|
category = CAT_MISC
|
|
|
|
/datum/crafting_recipe/faketoolbox
|
|
name = "Black and Red toolbox"
|
|
result = /obj/item/storage/toolbox/fakesyndi
|
|
time = 40
|
|
reqs = list(/datum/reagent/paint/red = 10,
|
|
/datum/reagent/paint/black = 30,
|
|
/obj/item/storage/toolbox = 1) //Paint in reagents so it doesnt take the container up, yet still take it from the beaker
|
|
tools = list(/obj/item/reagent_containers/glass/rag = 1) //need something to paint with it
|
|
category = CAT_MISC
|
|
|
|
/datum/crafting_recipe/snowman
|
|
name = "Snowman"
|
|
result = /obj/structure/snowman/built
|
|
reqs = list(/obj/item/snowball = 10,
|
|
/obj/item/reagent_containers/food/snacks/grown/carrot = 1,
|
|
/obj/item/grown/log = 2)
|
|
time = 50
|
|
category = CAT_MISC
|
|
roundstart_enabled = FALSE
|