Turns tablecrafting into personal crafting (#17341)

* Converts tablecrafting to datums

* Adds crafting.dm

Adds crafting.dm

* Fix merge conflicts

Fix merge conflicts

* Fixes dme

* Fixes returns

Fixes returns

* Only check hands and remove old paths

Only check hands and remove old paths

* Recipe fixes

Recipe fixes

* Removed action button

Removed action button
Added small ui button to inventory near the intent wheel
Removed debug
href_list is not longer /list

* Added adjucent checks

Added adjucent checks

* Snacks now get chems from parts

Snacks now get chems from parts

* Complex food fuckery fixed

Complex food fuckery fixed

* Fixes old recipe

Fixes old recipe

* Fix to infinite loops in reagent extraction

Fix to infinite loops in reagent extraction
It was finding old empty containers and tries to extract from them

* Fixes hands not checking

Fixes hands not checking

* Fixes reagents fucking up

Fixes reagents fucking up

* Even more reagent fuck ups fixed and comments

Even more reagent fuck ups fixed and comments

* Fixes all the shit i could find

Fixes all the shit i could find

* Removes debug and mechs

Removes debug and mechs

* Argument renaming

Argument renaming

* Fixes all argument names

Fixes all argument names

* Final fix of arguments

Final fix of arguments
This commit is contained in:
Razharas
2016-05-09 19:14:48 +03:00
committed by phil235
parent 63fd8b2769
commit 0a3ddc886c
52 changed files with 666 additions and 554 deletions
+345
View File
@@ -0,0 +1,345 @@
/datum/personal_crafting
var/busy
var/viewing_category = 1 //typical powergamer starting on the Weapons tab
var/list/categories = list(CAT_WEAPON,CAT_AMMO,CAT_ROBOT,CAT_FOOD,CAT_MISC,CAT_PRIMAL)
var/datum/action/innate/crafting/button
/* This is what procs do:
get_environment - gets a list of things accessable for crafting by user
get_surroundings - takes a list of things and makes a list of key-types to values-amounts of said type in the list
check_contents - takes a recipe and a key-type list and checks if said recipe can be done with available stuff
check_tools - takes recipe, a key-type list, and a user and checks if there are enough tools to do the stuff, checks bugs one level deep
construct_item - takes a recipe and a user, call all the checking procs, calls do_after, checks all the things again, calls del_reqs, creates result, calls CheckParts of said result with argument being list returned by deel_reqs
del_reqs - takes recipe and a user, loops over the recipes reqs var and tries to find everything in the list make by get_environment and delete it/add to parts list, then returns the said list
*/
/datum/personal_crafting/proc/check_contents(datum/crafting_recipe/R, list/contents)
main_loop:
for(var/A in R.reqs)
var/needed_amount = R.reqs[A]
for(var/B in contents)
if(ispath(B, A))
if(contents[B] >= R.reqs[A])
continue main_loop
else
needed_amount -= contents[B]
if(needed_amount <= 0)
continue main_loop
else
continue
return 0
for(var/A in R.chem_catalysts)
if(contents[A] < R.chem_catalysts[A])
return 0
return 1
/datum/personal_crafting/proc/get_environment(mob/user)
. = list()
. += user.r_hand
. += user.l_hand
if(!istype(user.loc, /turf))
return
var/list/L = block(get_step(user, SOUTHWEST), get_step(user, NORTHEAST))
for(var/A in L)
var/turf/T = A
if(T.Adjacent(user))
. += T.contents
/datum/personal_crafting/proc/get_surroundings(mob/user)
. = list()
for(var/obj/item/I in get_environment(user))
if(istype(I, /obj/item/stack))
var/obj/item/stack/S = I
.[I.type] += S.amount
else
if(istype(I, /obj/item/weapon/reagent_containers))
var/obj/item/weapon/reagent_containers/RC = I
if(RC.flags & OPENCONTAINER)
for(var/datum/reagent/A in RC.reagents.reagent_list)
.[A.type] += A.volume
.[I.type] += 1
/datum/personal_crafting/proc/check_tools(mob/user, datum/crafting_recipe/R, list/contents)
if(!R.tools.len)
return 1
var/list/possible_tools = list()
for(var/obj/item/I in user.contents)
if(istype(I, /obj/item/weapon/storage))
for(var/obj/item/SI in I.contents)
possible_tools += SI.type
possible_tools += I.type
possible_tools += contents
main_loop:
for(var/A in R.tools)
for(var/I in possible_tools)
if(ispath(I,A))
continue main_loop
return 0
return 1
/datum/personal_crafting/proc/construct_item(mob/user, datum/crafting_recipe/R)
for(var/A in R.parts)
var/list/contents = get_surroundings(user)
var/send_feedback = 1
if(check_contents(R, contents))
if(check_tools(user, R, contents))
if(do_after(user, R.time, target = user))
contents = get_surroundings(user)
if(!check_contents(R, contents))
return ", missing component."
if(!check_tools(user, R, contents))
return ", missing tool."
var/list/parts = del_reqs(R, user)
var/atom/movable/I = new R.result (get_turf(user.loc))
I.CheckParts(parts, R)
if(send_feedback)
feedback_add_details("object_crafted","[I.type]")
return 0
return "."
return ", missing tool."
return ", missing component."
/*Del reqs works like this:
Loop over reqs var of the recipe
Set var amt to the value current cycle req is pointing to, its amount of type we need to delete
Get var/surroundings list of things accessable to crafting by get_environment()
Check the type of the current cycle req
If its reagent then do a while loop, inside it try to locate() reagent containers, inside such containers try to locate needed reagent, if there isnt remove thing from surroundings
If there is enough reagent in the search result then delete the needed amount, create the same type of reagent with the same data var and put it into deletion list
If there isnt enough take all of that reagent from the container, put into deletion list, substract the amt var by the volume of reagent, remove the container from surroundings list and keep searching
While doing above stuff check deletion list if it already has such reagnet, if yes merge instead of adding second one
If its stack check if it has enough amount
If yes create new stack with the needed amount and put in into deletion list, substract taken amount from the stack
If no put all of the stack in the deletion list, substract its amount from amt and keep searching
While doing above stuff check deletion list if it already has such stack type, if yes try to merge them instead of adding new one
If its anything else just locate() in in the list in a while loop, each find --s the amt var and puts the found stuff in deletion loop
Then do a loop over parts var of the recipe
Do similar stuff to what we have done above, but now in deletion list, until the parts conditions are satisfied keep taking from the deletion list and putting it into parts list for return
After its done loop over deletion list and delete all the shit that wasnt taken by parts loop
del_reqs return the list of parts resulting object will recieve as argument of CheckParts proc, on the atom level it will add them all to the contents, on all other levels it calls ..() and does whatever is needed afterwards but from contents list already
*/
/datum/personal_crafting/proc/del_reqs(datum/crafting_recipe/R, mob/user)
var/list/surroundings
var/list/Deletion = list()
. = list()
var/data
var/amt
main_loop:
for(var/A in R.reqs)
amt = R.reqs[A]
surroundings = get_environment(user)
surroundings -= Deletion
if(ispath(A, /datum/reagent))
var/datum/reagent/RG = new A
var/datum/reagent/RGNT
while(amt > 0)
var/obj/item/weapon/reagent_containers/RC = locate() in surroundings
RG = RC.reagents.get_reagent(A)
if(RG)
if(!locate(RG.type) in Deletion)
Deletion += new RG.type()
if(RG.volume > amt)
RG.volume -= amt
data = RG.data
RC.reagents.conditional_update(RC)
RG = locate(RG.type) in Deletion
RG.volume = amt
RG.data += data
continue main_loop
else
surroundings -= RC
amt -= RG.volume
RC.reagents.reagent_list -= RG
RC.reagents.conditional_update(RC)
RGNT = locate(RG.type) in Deletion
RGNT.volume += RG.volume
RGNT.data += RG.data
qdel(RG)
else
surroundings -= RC
else if(ispath(A, /obj/item/stack))
var/obj/item/stack/S
var/obj/item/stack/SD
while(amt > 0)
S = locate(A) in surroundings
if(S.amount >= amt)
if(!locate(S.type) in Deletion)
SD = new S.type()
Deletion += SD
S.use(amt)
SD = locate(S.type) in Deletion
SD.amount += amt
continue main_loop
else
amt -= S.amount
if(!locate(S.type) in Deletion)
Deletion += S
else
data = S.amount
S = locate(S.type) in Deletion
S.add(data)
surroundings -= S
else
var/atom/movable/I
while(amt > 0)
I = locate(A) in surroundings
Deletion += I
surroundings -= I
amt--
var/list/partlist = list(R.parts.len)
for(var/M in R.parts)
partlist[M] = R.parts[M]
for(var/A in R.parts)
if(istype(A, /datum/reagent))
var/datum/reagent/RG = locate(A) in Deletion
if(RG.volume > partlist[A])
RG.volume = partlist[A]
. += RG
Deletion -= RG
continue
else if(istype(A, /obj/item/stack))
var/obj/item/stack/ST = locate(A) in Deletion
if(ST.amount > partlist[A])
ST.amount = partlist[A]
. += ST
Deletion -= ST
continue
else
while(partlist[A] > 0)
var/atom/movable/AM = locate(A) in Deletion
. += AM
Deletion -= AM
partlist[A] -= 1
while(Deletion.len)
var/DL = Deletion[Deletion.len]
Deletion.Cut(Deletion.len)
qdel(DL)
/datum/personal_crafting/proc/craft(mob/user)
if(user.incapacitated() || user.lying || istype(user.loc, /obj/mecha))
return
var/list/surroundings = get_surroundings(user)
var/dat = "<h3>Crafting menu</h3>"
if(busy)
dat += "<div class='statusDisplay'>"
dat += "Crafting in progress...</div>"
else
dat += "<A href='?src=\ref[src];backwardCat=1'><--</A>"
dat += " [categories[prev_cat()]] |"
dat += " <B>[categories[viewing_category]]</B> "
dat += "| [categories[next_cat()]] "
dat += "<A href='?src=\ref[src];forwardCat=1'>--></A><BR><BR>"
dat += "<div class='statusDisplay'>"
//Filter the recipes we can craft to the top
var/list/can_craft = list()
var/list/cant_craft = list()
for(var/datum/crafting_recipe/R in crafting_recipes)
if(R.category != categories[viewing_category])
continue
if(check_contents(R, surroundings))
can_craft += R
else
cant_craft += R
for(var/datum/crafting_recipe/R in can_craft)
dat += build_recipe_text(R, surroundings)
for(var/datum/crafting_recipe/R in cant_craft)
dat += build_recipe_text(R, surroundings)
dat += "</div>"
var/datum/browser/popup = new(user, "crafting", "Crafting", 500, 500)
popup.set_content(dat)
popup.open()
return
/datum/personal_crafting/Topic(href, href_list)
if(usr.stat || usr.lying)
return
if(href_list["make"])
var/datum/crafting_recipe/TR = locate(href_list["make"])
busy = 1
craft(usr)
var/fail_msg = construct_item(usr, TR)
if(!fail_msg)
usr << "<span class='notice'>[TR.name] constructed.</span>"
else
usr << "<span class ='warning'>Construction failed[fail_msg]</span>"
busy = 0
craft(usr)
if(href_list["forwardCat"])
viewing_category = next_cat()
usr << "<span class='notice'>Category is now [categories[viewing_category]].</span>"
craft(usr)
if(href_list["backwardCat"])
viewing_category = prev_cat()
usr << "<span class='notice'>Category is now [categories[viewing_category]].</span>"
craft(usr)
//Next works nicely with modular arithmetic
/datum/personal_crafting/proc/next_cat()
. = viewing_category % categories.len + 1
//Previous can go fuck itself
/datum/personal_crafting/proc/prev_cat()
if(viewing_category == categories.len)
. = viewing_category-1
else
. = viewing_category % categories.len - 1
if(. <= 0)
. = categories.len
/datum/personal_crafting/proc/build_recipe_text(datum/crafting_recipe/R, list/contents)
. = ""
var/name_text = ""
var/req_text = ""
var/tool_text = ""
var/catalist_text = ""
if(check_contents(R, contents))
name_text ="<A href='?src=\ref[src];make=\ref[R]'>[R.name]</A>"
else
name_text = "<span class='linkOff'>[R.name]</span>"
if(name_text)
for(var/A in R.reqs)
if(ispath(A, /obj))
var/obj/O = A
req_text += " [R.reqs[A]] [initial(O.name)]"
else if(ispath(A, /datum/reagent))
var/datum/reagent/RE = A
req_text += " [R.reqs[A]] [initial(RE.name)]"
if(R.chem_catalysts.len)
catalist_text += ", Catalysts:"
for(var/C in R.chem_catalysts)
if(ispath(C, /datum/reagent))
var/datum/reagent/RE = C
catalist_text += " [R.chem_catalysts[C]] [initial(RE.name)]"
if(R.tools.len)
tool_text += ", Tools:"
for(var/O in R.tools)
if(ispath(O, /obj))
var/obj/T = O
tool_text += " [R.tools[O]] [initial(T.name)]"
. = "[name_text][req_text][tool_text][catalist_text]<BR>"
+41 -41
View File
@@ -1,5 +1,5 @@
/datum/table_recipe
/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
@@ -10,7 +10,7 @@
var/category = CAT_NONE //where it shows up in the crafting UI
/datum/table_recipe/pin_removal
/datum/crafting_recipe/pin_removal
name = "Pin Removal"
result = /obj/item/weapon/gun
reqs = list(/obj/item/weapon/gun = 1)
@@ -19,7 +19,7 @@
time = 50
category = CAT_WEAPON
/datum/table_recipe/IED
/datum/crafting_recipe/IED
name = "IED"
result = /obj/item/weapon/grenade/iedcasing
reqs = list(/datum/reagent/fuel = 50,
@@ -30,8 +30,8 @@
time = 15
category = CAT_WEAPON
/datum/table_recipe/lance
name = "explosive lance"
/datum/crafting_recipe/lance
name = "explosive lance (grenade)"
result = /obj/item/weapon/twohanded/spear
reqs = list(/obj/item/weapon/twohanded/spear = 1,
/obj/item/weapon/grenade = 1)
@@ -39,8 +39,7 @@
time = 15
category = CAT_WEAPON
/datum/table_recipe/molotov
/datum/crafting_recipe/molotov
name = "Molotov"
result = /obj/item/weapon/reagent_containers/food/drinks/bottle/molotov
reqs = list(/obj/item/weapon/reagent_containers/glass/rag = 1,
@@ -49,7 +48,7 @@
time = 40
category = CAT_WEAPON
/datum/table_recipe/stunprod
/datum/crafting_recipe/stunprod
name = "Stunprod"
result = /obj/item/weapon/melee/baton/cattleprod
reqs = list(/obj/item/weapon/restraints/handcuffs/cable = 1,
@@ -58,7 +57,7 @@
time = 40
category = CAT_WEAPON
/datum/table_recipe/teleprod
/datum/crafting_recipe/teleprod
name = "Teleprod"
result = /obj/item/weapon/melee/baton/cattleprod/teleprod
reqs = list(/obj/item/weapon/restraints/handcuffs/cable = 1,
@@ -68,7 +67,7 @@
time = 40
category = CAT_WEAPON
/datum/table_recipe/bola
/datum/crafting_recipe/bola
name = "Bola"
result = /obj/item/weapon/restraints/legcuffs/bola
reqs = list(/obj/item/weapon/restraints/handcuffs/cable = 1,
@@ -76,7 +75,7 @@
time = 20//15 faster than crafting them by hand!
category= CAT_WEAPON
/datum/table_recipe/tailclub
/datum/crafting_recipe/tailclub
name = "Tail Club"
result = /obj/item/weapon/tailclub
reqs = list(/obj/item/severedtail = 1,
@@ -84,7 +83,7 @@
time = 40
category = CAT_WEAPON
/datum/table_recipe/tailwhip
/datum/crafting_recipe/tailwhip
name = "Liz O' Nine Tails"
result = /obj/item/weapon/melee/chainofcommand/tailwhip
reqs = list(/obj/item/severedtail = 1,
@@ -92,7 +91,7 @@
time = 40
category = CAT_WEAPON
/datum/table_recipe/ed209
/datum/crafting_recipe/ed209
name = "ED209"
result = /mob/living/simple_animal/bot/ed209
reqs = list(/obj/item/robot_parts/robot_suit = 1,
@@ -110,7 +109,7 @@
time = 60
category = CAT_ROBOT
/datum/table_recipe/secbot
/datum/crafting_recipe/secbot
name = "Secbot"
result = /mob/living/simple_animal/bot/secbot
reqs = list(/obj/item/device/assembly/signaler = 1,
@@ -122,7 +121,7 @@
time = 60
category = CAT_ROBOT
/datum/table_recipe/cleanbot
/datum/crafting_recipe/cleanbot
name = "Cleanbot"
result = /mob/living/simple_animal/bot/cleanbot
reqs = list(/obj/item/weapon/reagent_containers/glass/bucket = 1,
@@ -131,7 +130,7 @@
time = 40
category = CAT_ROBOT
/datum/table_recipe/floorbot
/datum/crafting_recipe/floorbot
name = "Floorbot"
result = /mob/living/simple_animal/bot/floorbot
reqs = list(/obj/item/weapon/storage/toolbox/mechanical = 1,
@@ -141,7 +140,7 @@
time = 40
category = CAT_ROBOT
/datum/table_recipe/medbot
/datum/crafting_recipe/medbot
name = "Medbot"
result = /mob/living/simple_animal/bot/medbot
reqs = list(/obj/item/device/healthanalyzer = 1,
@@ -151,7 +150,7 @@
time = 40
category = CAT_ROBOT
/datum/table_recipe/flamethrower
/datum/crafting_recipe/flamethrower
name = "Flamethrower"
result = /obj/item/weapon/flamethrower
reqs = list(/obj/item/weapon/weldingtool = 1,
@@ -163,7 +162,7 @@
time = 10
category = CAT_WEAPON
/datum/table_recipe/meteorshot
/datum/crafting_recipe/meteorshot
name = "Meteorshot Shell"
result = /obj/item/ammo_casing/shotgun/meteorshot
reqs = list(/obj/item/ammo_casing/shotgun/techshell = 1,
@@ -173,7 +172,7 @@
time = 5
category = CAT_AMMO
/datum/table_recipe/pulseslug
/datum/crafting_recipe/pulseslug
name = "Pulse Slug Shell"
result = /obj/item/ammo_casing/shotgun/pulseslug
reqs = list(/obj/item/ammo_casing/shotgun/techshell = 1,
@@ -183,7 +182,7 @@
time = 5
category = CAT_AMMO
/datum/table_recipe/dragonsbreath
/datum/crafting_recipe/dragonsbreath
name = "Dragonsbreath Shell"
result = /obj/item/ammo_casing/shotgun/incendiary/dragonsbreath
reqs = list(/obj/item/ammo_casing/shotgun/techshell = 1,
@@ -192,7 +191,7 @@
time = 5
category = CAT_AMMO
/datum/table_recipe/frag12
/datum/crafting_recipe/frag12
name = "FRAG-12 Shell"
result = /obj/item/ammo_casing/shotgun/frag12
reqs = list(/obj/item/ammo_casing/shotgun/techshell = 1,
@@ -203,7 +202,7 @@
time = 5
category = CAT_AMMO
/datum/table_recipe/ionslug
/datum/crafting_recipe/ionslug
name = "Ion Scatter Shell"
result = /obj/item/ammo_casing/shotgun/ion
reqs = list(/obj/item/ammo_casing/shotgun/techshell = 1,
@@ -213,7 +212,7 @@
time = 5
category = CAT_AMMO
/datum/table_recipe/improvisedslug
/datum/crafting_recipe/improvisedslug
name = "Improvised Shotgun Shell"
result = /obj/item/ammo_casing/shotgun/improvised
reqs = list(/obj/item/weapon/grenade/chem_grenade = 1,
@@ -224,7 +223,7 @@
time = 5
category = CAT_AMMO
/datum/table_recipe/improvisedslugoverload
/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,
@@ -234,7 +233,7 @@
time = 5
category = CAT_AMMO
/datum/table_recipe/laserslug
/datum/crafting_recipe/laserslug
name = "Laser Slug Shell"
result = /obj/item/ammo_casing/shotgun/laserslug
reqs = list(/obj/item/ammo_casing/shotgun/techshell = 1,
@@ -244,7 +243,7 @@
time = 5
category = CAT_AMMO
/datum/table_recipe/ishotgun
/datum/crafting_recipe/ishotgun
name = "Improvised Shotgun"
result = /obj/item/weapon/gun/projectile/revolver/doublebarrel/improvised
reqs = list(/obj/item/weaponcrafting/reciever = 1,
@@ -255,7 +254,7 @@
time = 100
category = CAT_WEAPON
/datum/table_recipe/chainsaw
/datum/crafting_recipe/chainsaw
name = "Chainsaw"
result = /obj/item/weapon/twohanded/required/chainsaw
reqs = list(/obj/item/weapon/circular_saw = 1,
@@ -265,7 +264,7 @@
time = 50
category = CAT_WEAPON
/datum/table_recipe/spooky_camera
/datum/crafting_recipe/spooky_camera
name = "Camera Obscura"
result = /obj/item/device/camera/spooky
time = 15
@@ -274,21 +273,21 @@
parts = list(/obj/item/device/camera = 1)
category = CAT_MISC
/datum/table_recipe/lizardhat
/datum/crafting_recipe/lizardhat
name = "Lizard Cloche Hat"
result = /obj/item/clothing/head/lizard
time = 10
reqs = list(/obj/item/severedtail = 1)
category = CAT_MISC
/datum/table_recipe/lizardhat_alternate
/datum/crafting_recipe/lizardhat_alternate
name = "Lizard Cloche Hat"
result = /obj/item/clothing/head/lizard
time = 10
reqs = list(/obj/item/stack/sheet/animalhide/lizard = 1)
category = CAT_MISC
/datum/table_recipe/skateboard
/datum/crafting_recipe/skateboard
name = "Skateboard"
result = /obj/vehicle/scooter/skateboard
time = 60
@@ -296,7 +295,7 @@
/obj/item/stack/rods = 10)
category = CAT_MISC
/datum/table_recipe/scooter
/datum/crafting_recipe/scooter
name = "Scooter"
result = /obj/vehicle/scooter
time = 65
@@ -304,14 +303,15 @@
/obj/item/stack/rods = 12)
category = CAT_MISC
/datum/table_recipe/papersack
/datum/crafting_recipe/papersack
name = "Paper Sack"
result = /obj/item/weapon/storage/box/papersack
time = 10
reqs = list(/obj/item/weapon/paper = 5)
category = CAT_MISC
/datum/table_recipe/chemical_payload
/datum/crafting_recipe/chemical_payload
name = "Chemical Payload (C4)"
result = /obj/item/weapon/bombcore/chemical
reqs = list(
@@ -323,7 +323,7 @@
time = 30
category = CAT_WEAPON
/datum/table_recipe/chemical_payload2
/datum/crafting_recipe/chemical_payload2
name = "Chemical Payload (gibtonite)"
result = /obj/item/weapon/bombcore/chemical
reqs = list(
@@ -335,14 +335,14 @@
time = 50
category = CAT_WEAPON
/datum/table_recipe/bonearmor
/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/table_recipe/bonetalisman
/datum/crafting_recipe/bonetalisman
name = "Bone Talisman"
result = /obj/item/clothing/tie/talisman
time = 20
@@ -350,7 +350,7 @@
/obj/item/stack/sheet/sinew = 1)
category = CAT_PRIMAL
/datum/table_recipe/bracers
/datum/crafting_recipe/bracers
name = "Bone Bracers"
result = /obj/item/clothing/gloves/bracer
time = 20
@@ -358,14 +358,14 @@
/obj/item/stack/sheet/sinew = 1)
category = CAT_PRIMAL
/datum/table_recipe/skullhelm
/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/table_recipe/drakecloak
/datum/crafting_recipe/drakecloak
name = "Ash Drake Cloak"
result = /obj/item/clothing/suit/hooded/cloak/drake
time = 60
-295
View File
@@ -1,295 +0,0 @@
/obj/structure/table
mouse_drag_pointer = MOUSE_ACTIVE_POINTER
var/list/table_contents = list()
var/viewing_category = 1 //typical powergamer starting on the Weapons tab
var/list/categories = list(CAT_WEAPON,CAT_AMMO,CAT_ROBOT,CAT_FOOD,CAT_MISC,CAT_PRIMAL)
/obj/structure/table/MouseDrop(mob/living/user)
if(!istype(user))
return
if(!user.IsAdvancedToolUser())
return
tablecraft(user)
/obj/structure/table/proc/check_contents(datum/table_recipe/R)
check_table()
main_loop:
for(var/A in R.reqs)
var/needed_amount = R.reqs[A]
for(var/B in table_contents)
if(ispath(B, A))
if(table_contents[B] >= R.reqs[A])
continue main_loop
else
needed_amount -= table_contents[B]
if(needed_amount <= 0)
continue main_loop
else
continue
return 0
for(var/A in R.chem_catalysts)
if(table_contents[A] < R.chem_catalysts[A])
return 0
return 1
/obj/structure/table/proc/check_table()
table_contents = list()
for(var/obj/item/I in loc)
if(istype(I, /obj/item/stack))
var/obj/item/stack/S = I
table_contents[I.type] += S.amount
else
if(istype(I, /obj/item/weapon/reagent_containers))
var/obj/item/weapon/reagent_containers/RC = I
if(RC.flags & OPENCONTAINER)
for(var/datum/reagent/A in RC.reagents.reagent_list)
table_contents[A.type] += A.volume
table_contents[I.type] += 1
/obj/structure/table/proc/check_tools(mob/user, datum/table_recipe/R)
if(!R.tools.len)
return 1
var/list/possible_tools = list()
for(var/obj/item/I in user.contents)
if(istype(I, /obj/item/weapon/storage))
for(var/obj/item/SI in I.contents)
possible_tools += SI.type
else
possible_tools += I.type
possible_tools += table_contents
main_loop:
for(var/A in R.tools)
for(var/I in possible_tools)
if(ispath(I,A))
possible_tools -= I
continue main_loop
return 0
return 1
/obj/structure/table/proc/construct_item(mob/user, datum/table_recipe/R)
check_table()
var/send_feedback = 1
if(check_contents(R))
if(check_tools(user, R))
if(do_after(user, R.time, target = src))
if(!check_contents(R))
return ", missing component."
if(!check_tools(user, R))
return ", missing tool."
var/atom/movable/I = new R.result (loc)
if(istype(I, /obj/item/weapon/reagent_containers/food/snacks))
var/obj/item/weapon/reagent_containers/food/snacks/S = I
S.create_reagents(S.volume)
feedback_add_details("food_made","[S.type]")
send_feedback = 0
var/list/parts = del_reqs(R, I)
for(var/A in parts)
if(istype(A, /obj/item))
var/atom/movable/B = A
B.loc = I
B.pixel_x = initial(B.pixel_x)
B.pixel_y = initial(B.pixel_y)
else
if(!I.reagents)
I.reagents = new /datum/reagents()
I.reagents.reagent_list.Add(A)
I.CheckParts()
if(send_feedback)
feedback_add_details("object_crafted","[I.type]")
return 0
return "."
return ", missing tool."
return ", missing component."
/obj/structure/table/proc/del_reqs(datum/table_recipe/R, atom/movable/resultobject)
var/list/Deletion = list()
var/amt
var/reagenttransfer = 0
if(istype(resultobject,/obj/item/weapon/reagent_containers))
reagenttransfer = 1
for(var/A in R.reqs)
amt = R.reqs[A]
if(ispath(A, /obj/item/stack))
var/obj/item/stack/S
stack_loop:
for(var/B in table_contents)
if(ispath(B, A))
while(amt > 0)
S = locate(B) in loc
if(S.amount >= amt)
S.use(amt)
break stack_loop
else
amt -= S.amount
qdel(S)
else if(ispath(A, /obj/item))
var/obj/item/I
item_loop:
for(var/B in table_contents)
if(ispath(B, A))
var/item_amount = table_contents[B]
while(item_amount > 0)
I = locate(B) in loc
Deletion.Add(I)
I.loc = null //remove it from the table loc so that we don't locate the same item every time (will be relocated inside the crafted item in construct_item())
amt--
item_amount--
if(reagenttransfer && istype(I,/obj/item/weapon/reagent_containers))
var/obj/item/weapon/reagent_containers/RC = I
RC.reagents.trans_to(resultobject, RC.reagents.total_volume)
if(amt <= 0)
break item_loop
else
var/datum/reagent/RG = new A
reagent_loop:
for(var/B in table_contents)
if(ispath(B, /obj/item/weapon/reagent_containers))
var/obj/item/RC = locate(B) in loc
if(RC.reagents.has_reagent(RG.id, amt))
if(reagenttransfer)
RC.reagents.trans_id_to(resultobject,RG.id, amt)
else
RC.reagents.remove_reagent(RG.id, amt)
RG.volume = amt
Deletion.Add(RG)
break reagent_loop
else if(RC.reagents.has_reagent(RG.id))
Deletion.Add(RG)
RG.volume += RC.reagents.get_reagent_amount(RG.id)
amt -= RC.reagents.get_reagent_amount(RG.id)
if(reagenttransfer)
RC.reagents.trans_id_to(resultobject,RG.id, RG.volume)
else
RC.reagents.del_reagent(RG.id)
var/list/partlist = list(R.parts.len)
for(var/M in R.parts)
partlist[M] = R.parts[M]
deletion_loop:
for(var/B in Deletion)
for(var/A in R.parts)
if(istype(B, A))
if(partlist[A] > 0) //do we still need a part like that?
partlist[A] -= 1
continue deletion_loop
Deletion.Remove(B)
qdel(B)
return Deletion
/obj/structure/table/proc/tablecraft(mob/user)
if(user.incapacitated() || user.lying || !Adjacent(user))
return
check_table()
user.face_atom(src)
var/dat = "<h3>Crafting menu</h3>"
if(busy)
dat += "<div class='statusDisplay'>"
dat += "Crafting in progress...</div>"
else
dat += "<A href='?src=\ref[src];backwardCat=1'><--</A>"
dat += " [categories[prev_cat()]] |"
dat += " <B>[categories[viewing_category]]</B> "
dat += "| [categories[next_cat()]] "
dat += "<A href='?src=\ref[src];forwardCat=1'>--></A><BR><BR>"
dat += "<div class='statusDisplay'>"
//Filter the recipes we can craft to the top
var/list/can_craft = list()
var/list/cant_craft = list()
for(var/datum/table_recipe/R in table_recipes)
if(R.category != categories[viewing_category])
continue
if(check_contents(R))
can_craft += R
else
cant_craft += R
for(var/datum/table_recipe/R in can_craft)
dat += build_recipe_text(R)
for(var/datum/table_recipe/R in cant_craft)
dat += build_recipe_text(R)
dat += "</div>"
var/datum/browser/popup = new(user, "table", "Table", 500, 500)
popup.set_content(dat)
popup.open()
return
/obj/structure/table/Topic(href, href_list)
if(usr.stat || !Adjacent(usr) || usr.lying)
return
if(href_list["make"])
var/datum/table_recipe/TR = locate(href_list["make"])
busy = 1
tablecraft(usr)
var/fail_msg = construct_item(usr, TR)
if(!fail_msg)
usr << "<span class='notice'>[TR.name] constructed.</span>"
else
usr << "<span class ='warning'>Construction failed[fail_msg]</span>"
busy = 0
tablecraft(usr)
if(href_list["forwardCat"])
viewing_category = next_cat()
usr << "<span class='notice'>Category is now [categories[viewing_category]].</span>"
tablecraft(usr)
if(href_list["backwardCat"])
viewing_category = prev_cat()
usr << "<span class='notice'>Category is now [categories[viewing_category]].</span>"
tablecraft(usr)
//Next works nicely with modular arithmetic
/obj/structure/table/proc/next_cat()
. = viewing_category % categories.len + 1
//Previous can go fuck itself
/obj/structure/table/proc/prev_cat()
if(viewing_category == categories.len)
. = viewing_category-1
else
. = viewing_category % categories.len - 1
if(. <= 0)
. = categories.len
/obj/structure/table/proc/build_recipe_text(datum/table_recipe/R)
. = ""
var/name_text = ""
var/req_text = ""
var/tool_text = ""
var/catalist_text = ""
if(check_contents(R))
name_text ="<A href='?src=\ref[src];make=\ref[R]'>[R.name]</A>"
else
name_text = "<span class='linkOff'>[R.name]</span>"
if(name_text)
for(var/A in R.reqs)
if(ispath(A, /obj))
var/obj/O = A
req_text += " [R.reqs[A]] [initial(O.name)]"
else if(ispath(A, /datum/reagent))
var/datum/reagent/RE = A
req_text += " [R.reqs[A]] [initial(RE.name)]"
if(R.chem_catalysts.len)
catalist_text += ", Catalysts:"
for(var/C in R.chem_catalysts)
if(ispath(C, /datum/reagent))
var/datum/reagent/RE = C
catalist_text += " [R.chem_catalysts[C]] [initial(RE.name)]"
if(R.tools.len)
tool_text += ", Tools:"
for(var/O in R.tools)
if(ispath(O, /obj))
var/obj/T = O
tool_text += " [R.tools[O]] [initial(T.name)]"
. = "[name_text][req_text][tool_text][catalist_text]<BR>"
@@ -333,7 +333,8 @@
/datum/reagent/napalm,/datum/reagent/hellwater,/datum/reagent/toxin/plasma,/datum/reagent/toxin/spore_burning)
var/active = 0
/obj/item/weapon/reagent_containers/food/drinks/bottle/molotov/CheckParts()
/obj/item/weapon/reagent_containers/food/drinks/bottle/molotov/CheckParts(list/parts_list)
..()
var/obj/item/weapon/reagent_containers/food/drinks/bottle/B = locate() in contents
if(B)
icon_state = B.icon_state
+13 -1
View File
@@ -19,6 +19,7 @@
var/customfoodfilling = 1 // whether it can be used as filling in custom food
//Placeholder for effect that trigger on eating that aren't tied to reagents.
/obj/item/weapon/reagent_containers/food/snacks/proc/On_Consume()
if(!usr)
return
@@ -153,7 +154,18 @@
return 1
//Called when you finish tablecrafting a snack.
/obj/item/weapon/reagent_containers/food/snacks/CheckParts()
/obj/item/weapon/reagent_containers/food/snacks/CheckParts(list/parts_list, datum/crafting_recipe/R)
..()
reagents.reagent_list.Cut()
for(var/obj/item/weapon/reagent_containers/RC in contents)
RC.reagents.trans_to(reagents, RC.reagents.maximum_volume)
contents_loop:
for(var/A in contents)
for(var/B in initial(R.parts))
if(istype(A, B))
continue contents_loop
qdel(A)
feedback_add_details("food_made","[type]")
if(bonus_reagents.len)
for(var/r_id in bonus_reagents)
var/amount = bonus_reagents[r_id]
@@ -18,7 +18,8 @@
desc = "A bloody burger."
bonus_reagents = list("vitamin" = 4)
/obj/item/weapon/reagent_containers/food/snacks/burger/human/CheckParts()
/obj/item/weapon/reagent_containers/food/snacks/burger/human/CheckParts(list/parts_list)
..()
var/obj/item/weapon/reagent_containers/food/snacks/meat/M = locate(/obj/item/weapon/reagent_containers/food/snacks/meat/steak/plain/human) in contents
if(M)
subjectname = M.subjectname
@@ -29,8 +30,6 @@
name = "[subjectjob] burger"
qdel(M)
..()
/obj/item/weapon/reagent_containers/food/snacks/burger/corgi
name = "corgi burger"
@@ -1,3 +1,5 @@
/datum/crafting_recipe/food/New()
parts |= reqs
//////////////////////////////////////////FOOD MIXTURES////////////////////////////////////
@@ -3,7 +3,7 @@
////////////////////////////////////////////////BREAD////////////////////////////////////////////////
/datum/table_recipe/meatbread
/datum/crafting_recipe/food/meatbread
name = "Meat bread"
reqs = list(
/obj/item/weapon/reagent_containers/food/snacks/store/bread/plain = 1,
@@ -13,7 +13,7 @@
result = /obj/item/weapon/reagent_containers/food/snacks/store/bread/meat
category = CAT_FOOD
/datum/table_recipe/xenomeatbread
/datum/crafting_recipe/food/xenomeatbread
name = "Xenomeat bread"
reqs = list(
/obj/item/weapon/reagent_containers/food/snacks/store/bread/plain = 1,
@@ -23,7 +23,7 @@
result = /obj/item/weapon/reagent_containers/food/snacks/store/bread/xenomeat
category = CAT_FOOD
/datum/table_recipe/spidermeatbread
/datum/crafting_recipe/food/spidermeatbread
name = "Spidermeat bread"
reqs = list(
/obj/item/weapon/reagent_containers/food/snacks/store/bread/plain = 1,
@@ -33,7 +33,7 @@
result = /obj/item/weapon/reagent_containers/food/snacks/store/bread/spidermeat
category = CAT_FOOD
/datum/table_recipe/banananutbread
/datum/crafting_recipe/food/banananutbread
name = "Banana nut bread"
reqs = list(
/datum/reagent/consumable/milk = 5,
@@ -44,7 +44,7 @@
result = /obj/item/weapon/reagent_containers/food/snacks/store/bread/banana
category = CAT_FOOD
/datum/table_recipe/tofubread
/datum/crafting_recipe/food/tofubread
name = "Tofu bread"
reqs = list(
/obj/item/weapon/reagent_containers/food/snacks/store/bread/plain = 1,
@@ -54,7 +54,7 @@
result = /obj/item/weapon/reagent_containers/food/snacks/store/bread/tofu
category = CAT_FOOD
/datum/table_recipe/creamcheesebread
/datum/crafting_recipe/food/creamcheesebread
name = "Cream cheese bread"
reqs = list(
/datum/reagent/consumable/milk = 5,
@@ -64,7 +64,7 @@
result = /obj/item/weapon/reagent_containers/food/snacks/store/bread/creamcheese
category = CAT_FOOD
/datum/table_recipe/mimanabread
/datum/crafting_recipe/food/mimanabread
name = "Mimana bread"
reqs = list(
/datum/reagent/consumable/soymilk = 5,
@@ -4,7 +4,7 @@
////////////////////////////////////////////////BURGERS////////////////////////////////////////////////
/datum/table_recipe/humanburger
/datum/crafting_recipe/food/humanburger
name = "Human burger"
reqs = list(
/obj/item/weapon/reagent_containers/food/snacks/bun = 1,
@@ -16,7 +16,7 @@
result = /obj/item/weapon/reagent_containers/food/snacks/burger/human
category = CAT_FOOD
/datum/table_recipe/burger
/datum/crafting_recipe/food/burger
name = "Burger"
reqs = list(
/obj/item/weapon/reagent_containers/food/snacks/meat/steak/plain = 1,
@@ -26,7 +26,7 @@
result = /obj/item/weapon/reagent_containers/food/snacks/burger/plain
category = CAT_FOOD
/datum/table_recipe/corgiburger
/datum/crafting_recipe/food/corgiburger
name = "Corgi burger"
reqs = list(
/obj/item/weapon/reagent_containers/food/snacks/meat/slab/corgi = 1,
@@ -36,7 +36,7 @@
result = /obj/item/weapon/reagent_containers/food/snacks/burger/corgi
category = CAT_FOOD
/datum/table_recipe/appendixburger
/datum/crafting_recipe/food/appendixburger
name = "Appendix burger"
reqs = list(
/obj/item/organ/appendix = 1,
@@ -45,7 +45,7 @@
result = /obj/item/weapon/reagent_containers/food/snacks/burger/appendix
category = CAT_FOOD
/datum/table_recipe/brainburger
/datum/crafting_recipe/food/brainburger
name = "Brain burger"
reqs = list(
/obj/item/organ/brain = 1,
@@ -54,7 +54,7 @@
result = /obj/item/weapon/reagent_containers/food/snacks/burger/brain
category = CAT_FOOD
/datum/table_recipe/xenoburger
/datum/crafting_recipe/food/xenoburger
name = "Xeno burger"
reqs = list(
/obj/item/weapon/reagent_containers/food/snacks/meat/steak/xeno = 1,
@@ -63,7 +63,7 @@
result = /obj/item/weapon/reagent_containers/food/snacks/burger/xeno
category = CAT_FOOD
/datum/table_recipe/bearger
/datum/crafting_recipe/food/bearger
name = "Bearger"
reqs = list(
/obj/item/weapon/reagent_containers/food/snacks/meat/steak/bear = 1,
@@ -72,7 +72,7 @@
result = /obj/item/weapon/reagent_containers/food/snacks/burger/bearger
category = CAT_FOOD
/datum/table_recipe/fishburger
/datum/crafting_recipe/food/fishburger
name = "Fish burger"
reqs = list(
/obj/item/weapon/reagent_containers/food/snacks/carpmeat = 1,
@@ -81,7 +81,7 @@
result = /obj/item/weapon/reagent_containers/food/snacks/burger/fish
category = CAT_FOOD
/datum/table_recipe/tofuburger
/datum/crafting_recipe/food/tofuburger
name = "Tofu burger"
reqs = list(
/obj/item/weapon/reagent_containers/food/snacks/tofu = 1,
@@ -90,7 +90,7 @@
result = /obj/item/weapon/reagent_containers/food/snacks/burger/tofu
category = CAT_FOOD
/datum/table_recipe/ghostburger
/datum/crafting_recipe/food/ghostburger
name = "Ghost burger"
reqs = list(
/obj/item/weapon/ectoplasm = 1,
@@ -99,7 +99,7 @@
result = /obj/item/weapon/reagent_containers/food/snacks/burger/ghost
category = CAT_FOOD
/datum/table_recipe/clownburger
/datum/crafting_recipe/food/clownburger
name = "Clown burger"
reqs = list(
/obj/item/clothing/mask/gas/clown_hat = 1,
@@ -108,7 +108,7 @@
result = /obj/item/weapon/reagent_containers/food/snacks/burger/clown
category = CAT_FOOD
/datum/table_recipe/mimeburger
/datum/crafting_recipe/food/mimeburger
name = "Mime burger"
reqs = list(
/obj/item/clothing/mask/gas/mime = 1,
@@ -117,7 +117,7 @@
result = /obj/item/weapon/reagent_containers/food/snacks/burger/mime
category = CAT_FOOD
/datum/table_recipe/redburger
/datum/crafting_recipe/food/redburger
name = "Red burger"
reqs = list(
/obj/item/weapon/reagent_containers/food/snacks/meat/steak/plain = 1,
@@ -127,7 +127,7 @@
result = /obj/item/weapon/reagent_containers/food/snacks/burger/red
category = CAT_FOOD
/datum/table_recipe/orangeburger
/datum/crafting_recipe/food/orangeburger
name = "Orange burger"
reqs = list(
/obj/item/weapon/reagent_containers/food/snacks/meat/steak/plain = 1,
@@ -137,7 +137,7 @@
result = /obj/item/weapon/reagent_containers/food/snacks/burger/orange
category = CAT_FOOD
/datum/table_recipe/yellowburger
/datum/crafting_recipe/food/yellowburger
name = "Yellow burger"
reqs = list(
/obj/item/weapon/reagent_containers/food/snacks/meat/steak/plain = 1,
@@ -147,7 +147,7 @@
result = /obj/item/weapon/reagent_containers/food/snacks/burger/yellow
category = CAT_FOOD
/datum/table_recipe/greenburger
/datum/crafting_recipe/food/greenburger
name = "Green burger"
reqs = list(
/obj/item/weapon/reagent_containers/food/snacks/meat/steak/plain = 1,
@@ -157,7 +157,7 @@
result = /obj/item/weapon/reagent_containers/food/snacks/burger/green
category = CAT_FOOD
/datum/table_recipe/blueburger
/datum/crafting_recipe/food/blueburger
name = "Blue burger"
reqs = list(
/obj/item/weapon/reagent_containers/food/snacks/meat/steak/plain = 1,
@@ -167,7 +167,7 @@
result = /obj/item/weapon/reagent_containers/food/snacks/burger/blue
category = CAT_FOOD
/datum/table_recipe/purpleburger
/datum/crafting_recipe/food/purpleburger
name = "Purple burger"
reqs = list(
/obj/item/weapon/reagent_containers/food/snacks/meat/steak/plain = 1,
@@ -177,15 +177,15 @@
result = /obj/item/weapon/reagent_containers/food/snacks/burger/purple
category = CAT_FOOD
/datum/table_recipe/spellburger
/datum/crafting_recipe/food/spellburger
name = "Spell burger"
reqs = list(
/obj/item/clothing/head/wizard/fake,
/obj/item/clothing/head/wizard/fake = 1,
)
result = /obj/item/weapon/reagent_containers/food/snacks/burger/spell
category = CAT_FOOD
/datum/table_recipe/spellburger2
/datum/crafting_recipe/food/spellburger2
name = "Spell burger"
reqs = list(
/obj/item/clothing/head/wizard = 1,
@@ -194,7 +194,7 @@
result = /obj/item/weapon/reagent_containers/food/snacks/burger/spell
category = CAT_FOOD
/datum/table_recipe/bigbiteburger
/datum/crafting_recipe/food/bigbiteburger
name = "Big bite burger"
reqs = list(
/obj/item/weapon/reagent_containers/food/snacks/meat/steak/plain = 3,
@@ -203,7 +203,7 @@
result = /obj/item/weapon/reagent_containers/food/snacks/burger/bigbite
category = CAT_FOOD
/datum/table_recipe/superbiteburger
/datum/crafting_recipe/food/superbiteburger
name = "Super bite burger"
reqs = list(
/datum/reagent/consumable/sodiumchloride = 5,
@@ -218,7 +218,7 @@
result = /obj/item/weapon/reagent_containers/food/snacks/burger/superbite
category = CAT_FOOD
/datum/table_recipe/slimeburger
/datum/crafting_recipe/food/slimeburger
name = "Jelly burger"
reqs = list(
/datum/reagent/toxin/slimejelly = 5,
@@ -227,7 +227,7 @@
result = /obj/item/weapon/reagent_containers/food/snacks/burger/jelly/slime
category = CAT_FOOD
/datum/table_recipe/jellyburger
/datum/crafting_recipe/food/jellyburger
name = "Jelly burger"
reqs = list(
/datum/reagent/consumable/cherryjelly = 5,
@@ -236,7 +236,7 @@
result = /obj/item/weapon/reagent_containers/food/snacks/burger/jelly/cherry
category = CAT_FOOD
/datum/table_recipe/fivealarmburger
/datum/crafting_recipe/food/fivealarmburger
name = "Five alarm burger"
reqs = list(
/obj/item/weapon/reagent_containers/food/snacks/grown/ghost_chili = 2,
@@ -245,7 +245,7 @@
result = /obj/item/weapon/reagent_containers/food/snacks/burger/fivealarm
category = CAT_FOOD
/datum/table_recipe/ratburger
/datum/crafting_recipe/food/ratburger
name = "Rat burger"
reqs = list(
/obj/item/trash/deadmouse = 1,
@@ -3,7 +3,7 @@
////////////////////////////////////////////////CAKE////////////////////////////////////////////////
/datum/table_recipe/carrotcake
/datum/crafting_recipe/food/carrotcake
name = "Carrot cake"
reqs = list(
/obj/item/weapon/reagent_containers/food/snacks/store/cake/plain = 1,
@@ -12,7 +12,7 @@
result = /obj/item/weapon/reagent_containers/food/snacks/store/cake/carrot
category = CAT_FOOD
/datum/table_recipe/cheesecake
/datum/crafting_recipe/food/cheesecake
name = "Cheese cake"
reqs = list(
/obj/item/weapon/reagent_containers/food/snacks/store/cake/plain = 1,
@@ -21,7 +21,7 @@
result = /obj/item/weapon/reagent_containers/food/snacks/store/cake/cheese
category = CAT_FOOD
/datum/table_recipe/applecake
/datum/crafting_recipe/food/applecake
name = "Apple cake"
reqs = list(
/obj/item/weapon/reagent_containers/food/snacks/store/cake/plain = 1,
@@ -30,7 +30,7 @@
result = /obj/item/weapon/reagent_containers/food/snacks/store/cake/apple
category = CAT_FOOD
/datum/table_recipe/orangecake
/datum/crafting_recipe/food/orangecake
name = "Orange cake"
reqs = list(
/obj/item/weapon/reagent_containers/food/snacks/store/cake/plain = 1,
@@ -39,7 +39,7 @@
result = /obj/item/weapon/reagent_containers/food/snacks/store/cake/orange
category = CAT_FOOD
/datum/table_recipe/limecake
/datum/crafting_recipe/food/limecake
name = "Lime cake"
reqs = list(
/obj/item/weapon/reagent_containers/food/snacks/store/cake/plain = 1,
@@ -48,7 +48,7 @@
result = /obj/item/weapon/reagent_containers/food/snacks/store/cake/lime
category = CAT_FOOD
/datum/table_recipe/lemoncake
/datum/crafting_recipe/food/lemoncake
name = "Lemon cake"
reqs = list(
/obj/item/weapon/reagent_containers/food/snacks/store/cake/plain = 1,
@@ -57,7 +57,7 @@
result = /obj/item/weapon/reagent_containers/food/snacks/store/cake/lemon
category = CAT_FOOD
/datum/table_recipe/chocolatecake
/datum/crafting_recipe/food/chocolatecake
name = "Chocolate cake"
reqs = list(
/obj/item/weapon/reagent_containers/food/snacks/store/cake/plain = 1,
@@ -66,7 +66,7 @@
result = /obj/item/weapon/reagent_containers/food/snacks/store/cake/chocolate
category = CAT_FOOD
/datum/table_recipe/birthdaycake
/datum/crafting_recipe/food/birthdaycake
name = "Birthday cake"
reqs = list(
/obj/item/clothing/head/hardhat/cakehat = 1,
@@ -75,7 +75,7 @@
result = /obj/item/weapon/reagent_containers/food/snacks/store/cake/birthday
category = CAT_FOOD
/datum/table_recipe/braincake
/datum/crafting_recipe/food/braincake
name = "Brain cake"
reqs = list(
/obj/item/organ/brain = 1,
@@ -84,7 +84,7 @@
result = /obj/item/weapon/reagent_containers/food/snacks/store/cake/brain
category = CAT_FOOD
/datum/table_recipe/slimecake
/datum/crafting_recipe/food/slimecake
name = "Slime cake"
reqs = list(
/obj/item/slime_extract = 1,
@@ -93,7 +93,7 @@
result = /obj/item/weapon/reagent_containers/food/snacks/store/cake/slimecake
category = CAT_FOOD
/datum/table_recipe/pumpkinspicecake
/datum/crafting_recipe/food/pumpkinspicecake
name = "Pumpkin spice cake"
reqs = list(
/obj/item/weapon/reagent_containers/food/snacks/store/cake/plain = 1,
@@ -3,7 +3,7 @@
////////////////////////////////////////////////EGG RECIPE's////////////////////////////////////////////////
/datum/table_recipe/friedegg
/datum/crafting_recipe/food/friedegg
name = "Fried egg"
reqs = list(
/datum/reagent/consumable/sodiumchloride = 1,
@@ -13,7 +13,7 @@
result = /obj/item/weapon/reagent_containers/food/snacks/friedegg
category = CAT_FOOD
/datum/table_recipe/omelette
/datum/crafting_recipe/food/omelette
name = "omelette"
reqs = list(
/obj/item/weapon/reagent_containers/food/snacks/boiledegg = 2,
@@ -22,7 +22,7 @@
result = /obj/item/weapon/reagent_containers/food/snacks/omelette
category = CAT_FOOD
/datum/table_recipe/chocolateegg
/datum/crafting_recipe/food/chocolateegg
name = "Chocolate egg"
reqs = list(
/obj/item/weapon/reagent_containers/food/snacks/boiledegg = 1,
@@ -31,7 +31,7 @@
result = /obj/item/weapon/reagent_containers/food/snacks/chocolateegg
category = CAT_FOOD
/datum/table_recipe/eggsbenedict
/datum/crafting_recipe/food/eggsbenedict
name = "Eggs benedict"
reqs = list(
/obj/item/weapon/reagent_containers/food/snacks/friedegg = 1,
@@ -2,7 +2,7 @@
////////////////////////////////////////////////KEBABS////////////////////////////////////////////////
/datum/table_recipe/humankebab
/datum/crafting_recipe/food/humankebab
name = "Human kebab"
reqs = list(
/obj/item/stack/rods = 1,
@@ -11,7 +11,7 @@
result = /obj/item/weapon/reagent_containers/food/snacks/kebab/human
category = CAT_FOOD
/datum/table_recipe/kebab
/datum/crafting_recipe/food/kebab
name = "Kebab"
reqs = list(
/obj/item/stack/rods = 1,
@@ -20,7 +20,7 @@
result = /obj/item/weapon/reagent_containers/food/snacks/kebab/monkey
category = CAT_FOOD
/datum/table_recipe/tofukebab
/datum/crafting_recipe/food/tofukebab
name = "Tofu kebab"
reqs = list(
/obj/item/stack/rods = 1,
@@ -29,7 +29,7 @@
result = /obj/item/weapon/reagent_containers/food/snacks/kebab/tofu
category = CAT_FOOD
/datum/table_recipe/tailkebab
/datum/crafting_recipe/food/tailkebab
name = "Lizard tail kebab"
reqs = list(
/obj/item/stack/rods = 1,
@@ -42,7 +42,7 @@
////////////////////////////////////////////////FISH////////////////////////////////////////////////
/datum/table_recipe/cubancarp
/datum/crafting_recipe/food/cubancarp
name = "Cuban carp"
reqs = list(
/datum/reagent/consumable/flour = 5,
@@ -52,7 +52,7 @@
result = /obj/item/weapon/reagent_containers/food/snacks/cubancarp
category = CAT_FOOD
/datum/table_recipe/fishandchips
/datum/crafting_recipe/food/fishandchips
name = "Fish and chips"
reqs = list(
/obj/item/weapon/reagent_containers/food/snacks/fries = 1,
@@ -61,7 +61,7 @@
result = /obj/item/weapon/reagent_containers/food/snacks/fishandchips
category = CAT_FOOD
/datum/table_recipe/fishfingers
/datum/crafting_recipe/food/fishfingers
name = "Fish fingers"
reqs = list(
/datum/reagent/consumable/flour = 5,
@@ -71,7 +71,7 @@
result = /obj/item/weapon/reagent_containers/food/snacks/fishfingers
category = CAT_FOOD
/datum/table_recipe/sashimi
/datum/crafting_recipe/food/sashimi
name = "Sashimi"
reqs = list(
/datum/reagent/consumable/soysauce = 5,
@@ -83,7 +83,7 @@
////////////////////////////////////////////////MR SPIDER////////////////////////////////////////////////
/datum/table_recipe/spidereggsham
/datum/crafting_recipe/food/spidereggsham
name = "Spider eggs ham"
reqs = list(
/datum/reagent/consumable/sodiumchloride = 1,
@@ -95,7 +95,7 @@
////////////////////////////////////////////////MISC RECIPE's////////////////////////////////////////////////
/datum/table_recipe/cornedbeef
/datum/crafting_recipe/food/cornedbeef
name = "Corned beef"
reqs = list(
/datum/reagent/consumable/sodiumchloride = 5,
@@ -105,7 +105,7 @@
result = /obj/item/weapon/reagent_containers/food/snacks/cornedbeef
category = CAT_FOOD
/datum/table_recipe/bearsteak
/datum/crafting_recipe/food/bearsteak
name = "Filet migrawr"
reqs = list(
/datum/reagent/consumable/ethanol/manly_dorf = 5,
@@ -115,7 +115,7 @@
result = /obj/item/weapon/reagent_containers/food/snacks/bearsteak
category = CAT_FOOD
/datum/table_recipe/enchiladas
/datum/crafting_recipe/food/enchiladas
name = "Enchiladas"
reqs = list(
/obj/item/weapon/reagent_containers/food/snacks/meat/cutlet = 2,
@@ -125,7 +125,7 @@
result = /obj/item/weapon/reagent_containers/food/snacks/enchiladas
category = CAT_FOOD
/datum/table_recipe/stewedsoymeat
/datum/crafting_recipe/food/stewedsoymeat
name = "Stewed soymeat"
reqs = list(
/obj/item/weapon/reagent_containers/food/snacks/soydope = 2,
@@ -135,7 +135,7 @@
result = /obj/item/weapon/reagent_containers/food/snacks/stewedsoymeat
category = CAT_FOOD
/datum/table_recipe/sausage
/datum/crafting_recipe/food/sausage
name = "Sausage"
reqs = list(
/obj/item/weapon/reagent_containers/food/snacks/faggot = 1,
@@ -144,7 +144,7 @@
result = /obj/item/weapon/reagent_containers/food/snacks/sausage
category = CAT_FOOD
/datum/table_recipe/nugget
/datum/crafting_recipe/food/nugget
name = "Chicken nugget"
reqs = list(
/obj/item/weapon/reagent_containers/food/snacks/meat/cutlet = 1
@@ -3,7 +3,7 @@
// MISC
/datum/table_recipe/candiedapple
/datum/crafting_recipe/food/candiedapple
name = "Candied apple"
reqs = list(/datum/reagent/water = 5,
/datum/reagent/consumable/sugar = 5,
@@ -12,7 +12,7 @@
result = /obj/item/weapon/reagent_containers/food/snacks/candiedapple
category = CAT_FOOD
/datum/table_recipe/chococoin
/datum/crafting_recipe/food/chococoin
name = "Choco coin"
reqs = list(
/obj/item/weapon/coin = 1,
@@ -21,7 +21,7 @@
result = /obj/item/weapon/reagent_containers/food/snacks/chococoin
category = CAT_FOOD
/datum/table_recipe/fudgedice
/datum/crafting_recipe/food/fudgedice
name = "Fudge dice"
reqs = list(
/obj/item/weapon/dice = 1,
@@ -30,7 +30,7 @@
result = /obj/item/weapon/reagent_containers/food/snacks/fudgedice
category = CAT_FOOD
/datum/table_recipe/chocoorange
/datum/crafting_recipe/food/chocoorange
name = "Choco orange"
reqs = list(
/obj/item/weapon/reagent_containers/food/snacks/grown/citrus/orange = 1,
@@ -39,7 +39,7 @@
result = /obj/item/weapon/reagent_containers/food/snacks/chocoorange
category = CAT_FOOD
/datum/table_recipe/loadedbakedpotato
/datum/crafting_recipe/food/loadedbakedpotato
name = "Loaded baked potato"
time = 40
reqs = list(
@@ -49,7 +49,7 @@
result = /obj/item/weapon/reagent_containers/food/snacks/loadedbakedpotato
category = CAT_FOOD
/datum/table_recipe/cheesyfries
/datum/crafting_recipe/food/cheesyfries
name = "Cheesy fries"
reqs = list(
/obj/item/weapon/reagent_containers/food/snacks/fries = 1,
@@ -58,7 +58,7 @@
result = /obj/item/weapon/reagent_containers/food/snacks/cheesyfries
category = CAT_FOOD
/datum/table_recipe/wrap
/datum/crafting_recipe/food/wrap
name = "Wrap"
reqs = list(/datum/reagent/consumable/soysauce = 10,
/obj/item/weapon/reagent_containers/food/snacks/friedegg = 1,
@@ -67,7 +67,7 @@
result = /obj/item/weapon/reagent_containers/food/snacks/eggwrap
category = CAT_FOOD
/datum/table_recipe/beans
/datum/crafting_recipe/food/beans
name = "Beans"
time = 40
reqs = list(/datum/reagent/consumable/ketchup = 5,
@@ -76,7 +76,7 @@
result = /obj/item/weapon/reagent_containers/food/snacks/beans
category = CAT_FOOD
/datum/table_recipe/eggplantparm
/datum/crafting_recipe/food/eggplantparm
name ="Eggplant parmigiana"
reqs = list(
/obj/item/weapon/reagent_containers/food/snacks/cheesewedge = 2,
@@ -85,7 +85,7 @@
result = /obj/item/weapon/reagent_containers/food/snacks/eggplantparm
category = CAT_FOOD
/datum/table_recipe/baguette
/datum/crafting_recipe/food/baguette
name = "Baguette"
time = 40
reqs = list(/datum/reagent/consumable/sodiumchloride = 1,
@@ -97,7 +97,7 @@
////////////////////////////////////////////////TOAST////////////////////////////////////////////////
/datum/table_recipe/slimetoast
/datum/crafting_recipe/food/slimetoast
name = "Slime toast"
reqs = list(
/datum/reagent/toxin/slimejelly = 5,
@@ -106,7 +106,7 @@
result = /obj/item/weapon/reagent_containers/food/snacks/jelliedtoast/slime
category = CAT_FOOD
/datum/table_recipe/jelliedyoast
/datum/crafting_recipe/food/jelliedyoast
name = "Jellied toast"
reqs = list(
/datum/reagent/consumable/cherryjelly = 5,
@@ -115,7 +115,7 @@
result = /obj/item/weapon/reagent_containers/food/snacks/jelliedtoast/cherry
category = CAT_FOOD
/datum/table_recipe/twobread
/datum/crafting_recipe/food/twobread
name = "Two bread"
reqs = list(
/datum/reagent/consumable/ethanol/wine = 5,
@@ -124,7 +124,7 @@
result = /obj/item/weapon/reagent_containers/food/snacks/twobread
category = CAT_FOOD
/datum/table_recipe/burrito
/datum/crafting_recipe/food/burrito
name ="Burrito"
reqs = list(
/obj/item/weapon/reagent_containers/food/snacks/tortilla = 1,
@@ -133,7 +133,7 @@
result = /obj/item/weapon/reagent_containers/food/snacks/burrito
category = CAT_FOOD
/datum/table_recipe/cheesyburrito
/datum/crafting_recipe/food/cheesyburrito
name ="Cheesy burrito"
reqs = list(
/obj/item/weapon/reagent_containers/food/snacks/tortilla = 1,
@@ -143,7 +143,7 @@
result = /obj/item/weapon/reagent_containers/food/snacks/cheesyburrito
category = CAT_FOOD
/datum/table_recipe/carneburrito
/datum/crafting_recipe/food/carneburrito
name ="Carne de asada burrito"
reqs = list(
/obj/item/weapon/reagent_containers/food/snacks/tortilla = 1,
@@ -153,7 +153,7 @@
result = /obj/item/weapon/reagent_containers/food/snacks/carneburrito
category = CAT_FOOD
/datum/table_recipe/fuegoburrito
/datum/crafting_recipe/food/fuegoburrito
name ="Fuego plasma burrito"
reqs = list(
/obj/item/weapon/reagent_containers/food/snacks/tortilla = 1,
@@ -163,7 +163,7 @@
result = /obj/item/weapon/reagent_containers/food/snacks/fuegoburrito
category = CAT_FOOD
/datum/table_recipe/melonfruitbowl
/datum/crafting_recipe/food/melonfruitbowl
name ="Melon fruit bowl"
reqs = list(
/obj/item/weapon/reagent_containers/food/snacks/grown/watermelon = 1,
@@ -176,7 +176,7 @@
result = /obj/item/weapon/reagent_containers/food/snacks/melonfruitbowl
category = CAT_FOOD
/datum/table_recipe/spacefreezy
/datum/crafting_recipe/food/spacefreezy
name ="Space freezy"
reqs = list(
/datum/reagent/consumable/bluecherryjelly = 5,
@@ -186,7 +186,7 @@
result = /obj/item/weapon/reagent_containers/food/snacks/spacefreezy
category = CAT_FOOD
/datum/table_recipe/sundae
/datum/crafting_recipe/food/sundae
name ="Sundae"
reqs = list(
/datum/reagent/consumable/cream = 5,
@@ -197,7 +197,7 @@
result = /obj/item/weapon/reagent_containers/food/snacks/sundae
category = CAT_FOOD
/datum/table_recipe/honkdae
/datum/crafting_recipe/food/honkdae
name ="Honkdae"
reqs = list(
/datum/reagent/consumable/cream = 5,
@@ -209,7 +209,7 @@
result = /obj/item/weapon/reagent_containers/food/snacks/honkdae
category = CAT_FOOD
/datum/table_recipe/nachos
/datum/crafting_recipe/food/nachos
name ="Nachos"
reqs = list(
/datum/reagent/consumable/sodiumchloride = 1,
@@ -218,7 +218,7 @@
result = /obj/item/weapon/reagent_containers/food/snacks/nachos
category = CAT_FOOD
/datum/table_recipe/cheesynachos
/datum/crafting_recipe/food/cheesynachos
name ="Cheesy nachos"
reqs = list(
/datum/reagent/consumable/sodiumchloride = 1,
@@ -228,7 +228,7 @@
result = /obj/item/weapon/reagent_containers/food/snacks/cheesynachos
category = CAT_FOOD
/datum/table_recipe/cubannachos
/datum/crafting_recipe/food/cubannachos
name ="Cuban nachos"
reqs = list(
/datum/reagent/consumable/ketchup = 5,
@@ -238,7 +238,7 @@
result = /obj/item/weapon/reagent_containers/food/snacks/cubannachos
category = CAT_FOOD
/datum/table_recipe/melonkeg
/datum/crafting_recipe/food/melonkeg
name ="Melon keg"
reqs = list(
/datum/reagent/consumable/ethanol/vodka = 25,
@@ -249,7 +249,7 @@
result = /obj/item/weapon/reagent_containers/food/snacks/melonkeg
category = CAT_FOOD
/datum/table_recipe/honeybar
/datum/crafting_recipe/food/honeybar
name = "Honey nut bar"
reqs = list(
/obj/item/weapon/reagent_containers/food/snacks/grown/oat = 1,
@@ -259,7 +259,7 @@
category = CAT_FOOD
/datum/table_recipe/stuffedlegion
/datum/crafting_recipe/stuffedlegion
name = "Stuffed legion"
time = 40
reqs = list(
@@ -3,7 +3,7 @@
////////////////////////////////////////////////DONUTS////////////////////////////////////////////////
/datum/table_recipe/chaosdonut
/datum/crafting_recipe/food/chaosdonut
name = "Chaos donut"
reqs = list(
/datum/reagent/consumable/frostoil = 5,
@@ -13,7 +13,7 @@
result = /obj/item/weapon/reagent_containers/food/snacks/donut/chaos
category = CAT_FOOD
/datum/table_recipe/donut
/datum/crafting_recipe/food/donut
time = 15
name = "Donut"
reqs = list(
@@ -23,7 +23,7 @@
result = /obj/item/weapon/reagent_containers/food/snacks/donut
category = CAT_FOOD
/datum/table_recipe/jellydonut
/datum/crafting_recipe/food/jellydonut
name = "Jelly donut"
reqs = list(
/datum/reagent/consumable/berryjuice = 5,
@@ -32,7 +32,7 @@
result = /obj/item/weapon/reagent_containers/food/snacks/donut/jelly
category = CAT_FOOD
/datum/table_recipe/cherryjellydonut
/datum/crafting_recipe/food/cherryjellydonut
name = "Cherry jelly donut"
reqs = list(
/datum/reagent/consumable/cherryjelly = 5,
@@ -41,7 +41,7 @@
result = /obj/item/weapon/reagent_containers/food/snacks/donut/jelly/cherryjelly
category = CAT_FOOD
/datum/table_recipe/slimejellydonut
/datum/crafting_recipe/food/slimejellydonut
name = "Slime jelly donut"
reqs = list(
/datum/reagent/toxin/slimejelly = 5,
@@ -52,7 +52,7 @@
////////////////////////////////////////////////WAFFLES////////////////////////////////////////////////
/datum/table_recipe/waffles
/datum/crafting_recipe/food/waffles
time = 15
name = "Waffles"
reqs = list(
@@ -62,7 +62,7 @@
category = CAT_FOOD
/datum/table_recipe/soylenviridians
/datum/crafting_recipe/food/soylenviridians
name = "Soylent viridians"
reqs = list(
/obj/item/weapon/reagent_containers/food/snacks/pastrybase = 2,
@@ -71,7 +71,7 @@
result = /obj/item/weapon/reagent_containers/food/snacks/soylenviridians
category = CAT_FOOD
/datum/table_recipe/soylentgreen
/datum/crafting_recipe/food/soylentgreen
name = "Soylent green"
reqs = list(
/obj/item/weapon/reagent_containers/food/snacks/pastrybase = 2,
@@ -81,7 +81,7 @@
category = CAT_FOOD
/datum/table_recipe/rofflewaffles
/datum/crafting_recipe/food/rofflewaffles
name = "Roffle waffles"
reqs = list(
/datum/reagent/mushroomhallucinogen = 5,
@@ -92,7 +92,7 @@
////////////////////////////////////////////////DONKPOCCKETS////////////////////////////////////////////////
/datum/table_recipe/donkpocket
/datum/crafting_recipe/food/donkpocket
time = 15
name = "Donkpocket"
reqs = list(
@@ -105,7 +105,7 @@
////////////////////////////////////////////////MUFFINS////////////////////////////////////////////////
/datum/table_recipe/muffin
/datum/crafting_recipe/food/muffin
time = 15
name = "Muffin"
reqs = list(
@@ -115,7 +115,7 @@
result = /obj/item/weapon/reagent_containers/food/snacks/muffin
category = CAT_FOOD
/datum/table_recipe/berrymuffin
/datum/crafting_recipe/food/berrymuffin
name = "Berry muffin"
reqs = list(
/datum/reagent/consumable/milk = 5,
@@ -125,7 +125,7 @@
result = /obj/item/weapon/reagent_containers/food/snacks/muffin/berry
category = CAT_FOOD
/datum/table_recipe/booberrymuffin
/datum/crafting_recipe/food/booberrymuffin
name = "Booberry muffin"
reqs = list(
/datum/reagent/consumable/milk = 5,
@@ -136,7 +136,7 @@
result = /obj/item/weapon/reagent_containers/food/snacks/muffin/booberry
category = CAT_FOOD
/datum/table_recipe/chawanmushi
/datum/crafting_recipe/food/chawanmushi
name = "Chawanmushi"
reqs = list(
/datum/reagent/water = 5,
@@ -149,7 +149,7 @@
////////////////////////////////////////////OTHER////////////////////////////////////////////
/datum/table_recipe/hotdog
/datum/crafting_recipe/food/hotdog
name = "Hot dog"
reqs = list(
/datum/reagent/consumable/ketchup = 5,
@@ -159,7 +159,7 @@
result = /obj/item/weapon/reagent_containers/food/snacks/hotdog
category = CAT_FOOD
/datum/table_recipe/meatbun
/datum/crafting_recipe/food/meatbun
name = "Meat bun"
reqs = list(
/datum/reagent/consumable/soysauce = 5,
@@ -170,7 +170,7 @@
result = /obj/item/weapon/reagent_containers/food/snacks/meatbun
category = CAT_FOOD
/datum/table_recipe/sugarcookie
/datum/crafting_recipe/food/sugarcookie
time = 15
name = "Sugar cookie"
reqs = list(
@@ -180,7 +180,7 @@
result = /obj/item/weapon/reagent_containers/food/snacks/sugarcookie
category = CAT_FOOD
/datum/table_recipe/fortunecookie
/datum/crafting_recipe/food/fortunecookie
time = 15
name = "Fortune cookie"
reqs = list(
@@ -193,7 +193,7 @@
result = /obj/item/weapon/reagent_containers/food/snacks/fortunecookie
category = CAT_FOOD
/datum/table_recipe/poppypretzel
/datum/crafting_recipe/food/poppypretzel
time = 15
name = "Poppy pretzel"
reqs = list(
@@ -203,7 +203,7 @@
result = /obj/item/weapon/reagent_containers/food/snacks/poppypretzel
category = CAT_FOOD
/datum/table_recipe/plumphelmetbiscuit
/datum/crafting_recipe/food/plumphelmetbiscuit
time = 15
name = "Plumphelmet biscuit"
reqs = list(
@@ -213,7 +213,7 @@
result = /obj/item/weapon/reagent_containers/food/snacks/plumphelmetbiscuit
category = CAT_FOOD
/datum/table_recipe/cracker
/datum/crafting_recipe/food/cracker
time = 15
name = "Cracker"
reqs = list(
@@ -223,7 +223,7 @@
result = /obj/item/weapon/reagent_containers/food/snacks/cracker
category = CAT_FOOD
/datum/table_recipe/chococornet
/datum/crafting_recipe/food/chococornet
name = "Choco cornet"
reqs = list(
/datum/reagent/consumable/sodiumchloride = 1,
@@ -233,7 +233,7 @@
result = /obj/item/weapon/reagent_containers/food/snacks/chococornet
category = CAT_FOOD
/datum/table_recipe/oatmealcookie
/datum/crafting_recipe/food/oatmealcookie
name = "Oatmeal cookie"
reqs = list(
/obj/item/weapon/reagent_containers/food/snacks/pastrybase = 1,
@@ -241,7 +241,7 @@
)
result = /obj/item/weapon/reagent_containers/food/snacks/oatmealcookie
/datum/table_recipe/raisincookie
/datum/crafting_recipe/food/raisincookie
name = "Raisin cookie"
reqs = list(
/obj/item/weapon/reagent_containers/food/snacks/no_raisin = 1,
@@ -251,7 +251,7 @@
result = /obj/item/weapon/reagent_containers/food/snacks/raisincookie
category = CAT_FOOD
/datum/table_recipe/cherrycupcake
/datum/crafting_recipe/food/cherrycupcake
name = "Cherry cupcake"
reqs = list(
/obj/item/weapon/reagent_containers/food/snacks/pastrybase = 1,
@@ -260,7 +260,7 @@
result = /obj/item/weapon/reagent_containers/food/snacks/cherrycupcake
category = CAT_FOOD
/datum/table_recipe/bluecherrycupcake
/datum/crafting_recipe/food/bluecherrycupcake
name = "Blue cherry cupcake"
reqs = list(
/obj/item/weapon/reagent_containers/food/snacks/pastrybase = 1,
@@ -269,7 +269,7 @@
result = /obj/item/weapon/reagent_containers/food/snacks/bluecherrycupcake
category = CAT_FOOD
/datum/table_recipe/honeybun
/datum/crafting_recipe/food/honeybun
name = "Honey bun"
reqs = list(
/obj/item/weapon/reagent_containers/food/snacks/pastrybase = 1,
@@ -3,7 +3,7 @@
////////////////////////////////////////////////PIES////////////////////////////////////////////////
/datum/table_recipe/bananacreampie
/datum/crafting_recipe/food/bananacreampie
name = "Banana cream pie"
reqs = list(
/datum/reagent/consumable/milk = 5,
@@ -13,7 +13,7 @@
result = /obj/item/weapon/reagent_containers/food/snacks/pie/cream
category = CAT_FOOD
/datum/table_recipe/meatpie
/datum/crafting_recipe/food/meatpie
name = "Meat pie"
reqs = list(
/datum/reagent/consumable/blackpepper = 1,
@@ -24,7 +24,7 @@
result = /obj/item/weapon/reagent_containers/food/snacks/pie/meatpie
category = CAT_FOOD
/datum/table_recipe/tofupie
/datum/crafting_recipe/food/tofupie
name = "Tofu pie"
reqs = list(
/obj/item/weapon/reagent_containers/food/snacks/pie/plain = 1,
@@ -33,7 +33,7 @@
result = /obj/item/weapon/reagent_containers/food/snacks/pie/tofupie
category = CAT_FOOD
/datum/table_recipe/xenopie
/datum/crafting_recipe/food/xenopie
name = "Xeno pie"
reqs = list(
/obj/item/weapon/reagent_containers/food/snacks/pie/plain = 1,
@@ -42,7 +42,7 @@
result = /obj/item/weapon/reagent_containers/food/snacks/pie/xemeatpie
category = CAT_FOOD
/datum/table_recipe/cherrypie
/datum/crafting_recipe/food/cherrypie
name = "Cherry pie"
reqs = list(
/obj/item/weapon/reagent_containers/food/snacks/pie/plain = 1,
@@ -51,7 +51,7 @@
result = /obj/item/weapon/reagent_containers/food/snacks/pie/cherrypie
category = CAT_FOOD
/datum/table_recipe/berryclafoutis
/datum/crafting_recipe/food/berryclafoutis
name = "Berry clafoutis"
reqs = list(
/obj/item/weapon/reagent_containers/food/snacks/pie/plain = 1,
@@ -60,7 +60,7 @@
result = /obj/item/weapon/reagent_containers/food/snacks/pie/berryclafoutis
category = CAT_FOOD
/datum/table_recipe/bearypie
/datum/crafting_recipe/food/bearypie
name = "Beary Pie"
reqs = list(
/obj/item/weapon/reagent_containers/food/snacks/pie/plain = 1,
@@ -70,7 +70,7 @@
result = /obj/item/weapon/reagent_containers/food/snacks/pie/bearypie
category = CAT_FOOD
/datum/table_recipe/amanitapie
/datum/crafting_recipe/food/amanitapie
name = "Amanita pie"
reqs = list(
/obj/item/weapon/reagent_containers/food/snacks/pie/plain = 1,
@@ -79,7 +79,7 @@
result = /obj/item/weapon/reagent_containers/food/snacks/pie/amanita_pie
category = CAT_FOOD
/datum/table_recipe/plumppie
/datum/crafting_recipe/food/plumppie
name = "Plump pie"
reqs = list(
/obj/item/weapon/reagent_containers/food/snacks/pie/plain = 1,
@@ -88,7 +88,7 @@
result = /obj/item/weapon/reagent_containers/food/snacks/pie/plump_pie
category = CAT_FOOD
/datum/table_recipe/applepie
/datum/crafting_recipe/food/applepie
name = "Apple pie"
reqs = list(
/obj/item/weapon/reagent_containers/food/snacks/pie/plain = 1,
@@ -97,7 +97,7 @@
result = /obj/item/weapon/reagent_containers/food/snacks/pie/applepie
category = CAT_FOOD
/datum/table_recipe/pumpkinpie
/datum/crafting_recipe/food/pumpkinpie
name = "Pumpkin pie"
reqs = list(
/datum/reagent/consumable/milk = 5,
@@ -108,7 +108,7 @@
result = /obj/item/weapon/reagent_containers/food/snacks/pie/pumpkinpie
category = CAT_FOOD
/datum/table_recipe/goldenappletart
/datum/crafting_recipe/food/goldenappletart
name = "Golden apple tart"
reqs = list(
/datum/reagent/consumable/milk = 5,
@@ -119,7 +119,7 @@
result = /obj/item/weapon/reagent_containers/food/snacks/pie/appletart
category = CAT_FOOD
/datum/table_recipe/grapetart
/datum/crafting_recipe/food/grapetart
name = "Grape tart"
reqs = list(
/datum/reagent/consumable/milk = 5,
@@ -130,7 +130,7 @@
result = /obj/item/weapon/reagent_containers/food/snacks/pie/grapetart
category = CAT_FOOD
/datum/table_recipe/blumpkinpie
/datum/crafting_recipe/food/blumpkinpie
name = "Blumpkin pie"
reqs = list(
/datum/reagent/consumable/milk = 5,
@@ -141,7 +141,7 @@
result = /obj/item/weapon/reagent_containers/food/snacks/pie/blumpkinpie
category = CAT_FOOD
/datum/table_recipe/dulcedebatata
/datum/crafting_recipe/food/dulcedebatata
name = "Dulce de batata"
reqs = list(
/datum/reagent/consumable/vanilla = 5,
@@ -151,7 +151,7 @@
result = /obj/item/weapon/reagent_containers/food/snacks/pie/dulcedebatata
category = CAT_FOOD
/datum/table_recipe/frostypie
/datum/crafting_recipe/food/frostypie
name = "Frosty pie"
reqs = list(
/obj/item/weapon/reagent_containers/food/snacks/pie/plain = 1,
@@ -3,7 +3,7 @@
////////////////////////////////////////////////PIZZA!!!////////////////////////////////////////////////
/datum/table_recipe/margheritapizza
/datum/crafting_recipe/food/margheritapizza
name = "Margherita pizza"
reqs = list(
/obj/item/weapon/reagent_containers/food/snacks/pizzabread = 1,
@@ -13,7 +13,7 @@
result = /obj/item/weapon/reagent_containers/food/snacks/pizza/margherita
category = CAT_FOOD
/datum/table_recipe/meatpizza
/datum/crafting_recipe/food/meatpizza
name = "Meat pizza"
reqs = list(
/obj/item/weapon/reagent_containers/food/snacks/pizzabread = 1,
@@ -24,7 +24,7 @@
result = /obj/item/weapon/reagent_containers/food/snacks/pizza/meat
category = CAT_FOOD
/datum/table_recipe/mushroompizza
/datum/crafting_recipe/food/mushroompizza
name = "Mushroom pizza"
reqs = list(
/obj/item/weapon/reagent_containers/food/snacks/pizzabread = 1,
@@ -33,7 +33,7 @@
result = /obj/item/weapon/reagent_containers/food/snacks/pizza/mushroom
category = CAT_FOOD
/datum/table_recipe/vegetablepizza
/datum/crafting_recipe/food/vegetablepizza
name = "Vegetable pizza"
reqs = list(
/obj/item/weapon/reagent_containers/food/snacks/pizzabread = 1,
@@ -45,7 +45,7 @@
result = /obj/item/weapon/reagent_containers/food/snacks/pizza/vegetable
category = CAT_FOOD
/datum/table_recipe/donpocketpizza
/datum/crafting_recipe/food/donpocketpizza
name = "Donkpocket pizza"
reqs = list(
/obj/item/weapon/reagent_containers/food/snacks/pizzabread = 1,
@@ -56,7 +56,7 @@
result = /obj/item/weapon/reagent_containers/food/snacks/pizza/donkpocket
category = CAT_FOOD
/datum/table_recipe/dankpizza
/datum/crafting_recipe/food/dankpizza
name = "Dank pizza"
reqs = list(
/obj/item/weapon/reagent_containers/food/snacks/pizzabread = 1,
@@ -67,7 +67,7 @@
result = /obj/item/weapon/reagent_containers/food/snacks/pizza/dank
category = CAT_FOOD
/datum/table_recipe/sassysagepizza
/datum/crafting_recipe/food/sassysagepizza
name = "Sassysage pizza"
reqs = list(
/obj/item/weapon/reagent_containers/food/snacks/pizzabread = 1,
@@ -3,7 +3,7 @@
////////////////////////////////////////////////SALADS////////////////////////////////////////////////
/datum/table_recipe/herbsalad
/datum/crafting_recipe/food/herbsalad
name = "Herb salad"
reqs = list(
/obj/item/weapon/reagent_containers/glass/bowl = 1,
@@ -13,7 +13,7 @@
result = /obj/item/weapon/reagent_containers/food/snacks/salad/herbsalad
category = CAT_FOOD
/datum/table_recipe/aesirsalad
/datum/crafting_recipe/food/aesirsalad
name = "Aesir salad"
reqs = list(
/obj/item/weapon/reagent_containers/glass/bowl = 1,
@@ -23,7 +23,7 @@
result = /obj/item/weapon/reagent_containers/food/snacks/salad/aesirsalad
category = CAT_FOOD
/datum/table_recipe/validsalad
/datum/crafting_recipe/food/validsalad
name = "Valid salad"
reqs = list(
/obj/item/weapon/reagent_containers/glass/bowl = 1,
@@ -34,7 +34,7 @@
result = /obj/item/weapon/reagent_containers/food/snacks/salad/validsalad
category = CAT_FOOD
/datum/table_recipe/monkeysdelight
/datum/crafting_recipe/food/monkeysdelight
name = "Monkeys delight"
reqs = list(
/datum/reagent/consumable/flour = 5,
@@ -47,7 +47,7 @@
result = /obj/item/weapon/reagent_containers/food/snacks/soup/monkeysdelight
category = CAT_FOOD
/datum/table_recipe/oatmeal
/datum/crafting_recipe/food/oatmeal
name = "Oatmeal"
reqs = list(
/datum/reagent/consumable/milk = 10,
@@ -57,7 +57,7 @@
result = /obj/item/weapon/reagent_containers/food/snacks/salad/oatmeal
category = CAT_FOOD
/datum/table_recipe/fruitsalad
/datum/crafting_recipe/food/fruitsalad
name = "Fruit salad"
reqs = list(
/obj/item/weapon/reagent_containers/glass/bowl = 1,
@@ -70,7 +70,7 @@
result = /obj/item/weapon/reagent_containers/food/snacks/salad/fruit
category = CAT_FOOD
/datum/table_recipe/junglesalad
/datum/crafting_recipe/food/junglesalad
name = "Jungle salad"
reqs = list(
/obj/item/weapon/reagent_containers/glass/bowl = 1,
@@ -83,7 +83,7 @@
result = /obj/item/weapon/reagent_containers/food/snacks/salad/jungle
category = CAT_FOOD
/datum/table_recipe/citrusdelight
/datum/crafting_recipe/food/citrusdelight
name = "Citrus delight"
reqs = list(
/obj/item/weapon/reagent_containers/glass/bowl = 1,
@@ -95,7 +95,7 @@
result = /obj/item/weapon/reagent_containers/food/snacks/salad/citrusdelight
category = CAT_FOOD
/datum/table_recipe/ricepork
/datum/crafting_recipe/food/ricepork
name = "Rice and pork"
reqs = list(
/obj/item/weapon/reagent_containers/food/snacks/salad/boiledrice = 1,
@@ -104,7 +104,7 @@
result = /obj/item/weapon/reagent_containers/food/snacks/salad/ricepork
category = CAT_FOOD
/datum/table_recipe/eggbowl
/datum/crafting_recipe/food/eggbowl
name = "Egg bowl"
reqs = list(
/obj/item/weapon/reagent_containers/food/snacks/salad/boiledrice = 1,
@@ -115,7 +115,7 @@
result = /obj/item/weapon/reagent_containers/food/snacks/salad/eggbowl
category = CAT_FOOD
/datum/table_recipe/ricepudding
/datum/crafting_recipe/food/ricepudding
name = "Rice pudding"
reqs = list(
/datum/reagent/consumable/milk = 5,
@@ -6,7 +6,7 @@
////////////////////////////////////////////////SANDWICHES////////////////////////////////////////////////
/datum/table_recipe/sandwich
/datum/crafting_recipe/food/sandwich
name = "Sandwich"
reqs = list(
/obj/item/weapon/reagent_containers/food/snacks/breadslice/plain = 2,
@@ -16,7 +16,7 @@
result = /obj/item/weapon/reagent_containers/food/snacks/sandwich
category = CAT_FOOD
/datum/table_recipe/grilledcheesesandwich
/datum/crafting_recipe/food/grilledcheesesandwich
name = "Grilled cheese sandwich"
reqs = list(
/obj/item/weapon/reagent_containers/food/snacks/breadslice/plain = 2,
@@ -25,7 +25,7 @@
result = /obj/item/weapon/reagent_containers/food/snacks/grilledcheese
category = CAT_FOOD
/datum/table_recipe/slimesandwich
/datum/crafting_recipe/food/slimesandwich
name = "Jelly sandwich"
reqs = list(
/datum/reagent/toxin/slimejelly = 5,
@@ -34,7 +34,7 @@
result = /obj/item/weapon/reagent_containers/food/snacks/jellysandwich/slime
category = CAT_FOOD
/datum/table_recipe/cherrysandwich
/datum/crafting_recipe/food/cherrysandwich
name = "Jelly sandwich"
reqs = list(
/datum/reagent/consumable/cherryjelly = 5,
@@ -43,7 +43,7 @@
result = /obj/item/weapon/reagent_containers/food/snacks/jellysandwich/cherry
category = CAT_FOOD
/datum/table_recipe/icecreamsandwich
/datum/crafting_recipe/food/icecreamsandwich
name = "Icecream sandwich"
reqs = list(
/datum/reagent/consumable/cream = 5,
@@ -53,7 +53,7 @@
result = /obj/item/weapon/reagent_containers/food/snacks/icecreamsandwich
category = CAT_FOOD
/datum/table_recipe/notasandwich
/datum/crafting_recipe/food/notasandwich
name = "Not a sandwich"
reqs = list(
/obj/item/weapon/reagent_containers/food/snacks/breadslice/plain = 2,
@@ -3,7 +3,7 @@
////////////////////////////////////////////////SOUP////////////////////////////////////////////////
/datum/table_recipe/meatballsoup
/datum/crafting_recipe/food/meatballsoup
name = "Meatball soup"
reqs = list(
/datum/reagent/water = 10,
@@ -15,7 +15,7 @@
result = /obj/item/weapon/reagent_containers/food/snacks/soup/meatball
category = CAT_FOOD
/datum/table_recipe/vegetablesoup
/datum/crafting_recipe/food/vegetablesoup
name = "Vegetable soup"
reqs = list(
/datum/reagent/water = 10,
@@ -28,7 +28,7 @@
result = /obj/item/weapon/reagent_containers/food/snacks/soup/vegetable
category = CAT_FOOD
/datum/table_recipe/nettlesoup
/datum/crafting_recipe/food/nettlesoup
name = "Nettle soup"
reqs = list(
/datum/reagent/water = 10,
@@ -40,7 +40,7 @@
result = /obj/item/weapon/reagent_containers/food/snacks/soup/nettle
category = CAT_FOOD
/datum/table_recipe/wingfangchu
/datum/crafting_recipe/food/wingfangchu
name = "Wingfangchu"
reqs = list(
/obj/item/weapon/reagent_containers/glass/bowl = 1,
@@ -50,7 +50,7 @@
result = /obj/item/weapon/reagent_containers/food/snacks/soup/wingfangchu
category = CAT_FOOD
/datum/table_recipe/wishsoup
/datum/crafting_recipe/food/wishsoup
name = "Wish soup"
reqs = list(
/datum/reagent/water = 20,
@@ -59,7 +59,7 @@
result= /obj/item/weapon/reagent_containers/food/snacks/soup/wish
category = CAT_FOOD
/datum/table_recipe/hotchili
/datum/crafting_recipe/food/hotchili
name = "Hot chili"
reqs = list(
/obj/item/weapon/reagent_containers/glass/bowl = 1,
@@ -70,7 +70,7 @@
result = /obj/item/weapon/reagent_containers/food/snacks/soup/hotchili
category = CAT_FOOD
/datum/table_recipe/coldchili
/datum/crafting_recipe/food/coldchili
name = "Cold chili"
reqs = list(
/obj/item/weapon/reagent_containers/glass/bowl = 1,
@@ -81,7 +81,7 @@
result = /obj/item/weapon/reagent_containers/food/snacks/soup/coldchili
category = CAT_FOOD
/datum/table_recipe/tomatosoup
/datum/crafting_recipe/food/tomatosoup
name = "Tomato soup"
reqs = list(
/datum/reagent/water = 10,
@@ -91,7 +91,7 @@
result = /obj/item/weapon/reagent_containers/food/snacks/soup/tomato
category = CAT_FOOD
/datum/table_recipe/milosoup
/datum/crafting_recipe/food/milosoup
name = "Milo soup"
reqs = list(
/datum/reagent/water = 10,
@@ -102,7 +102,7 @@
result = /obj/item/weapon/reagent_containers/food/snacks/soup/milo
category = CAT_FOOD
/datum/table_recipe/bloodsoup
/datum/crafting_recipe/food/bloodsoup
name = "Blood soup"
reqs = list(
/datum/reagent/blood = 10,
@@ -112,7 +112,7 @@
result = /obj/item/weapon/reagent_containers/food/snacks/soup/blood
category = CAT_FOOD
/datum/table_recipe/slimesoup
/datum/crafting_recipe/food/slimesoup
name = "Slime soup"
reqs = list(
/datum/reagent/water = 10,
@@ -122,7 +122,7 @@
result = /obj/item/weapon/reagent_containers/food/snacks/soup/slime
category = CAT_FOOD
/datum/table_recipe/clownstears
/datum/crafting_recipe/food/clownstears
name = "Clowns tears"
reqs = list(
/datum/reagent/water = 10,
@@ -133,7 +133,7 @@
result = /obj/item/weapon/reagent_containers/food/snacks/soup/clownstears
category = CAT_FOOD
/datum/table_recipe/mysterysoup
/datum/crafting_recipe/food/mysterysoup
name = "Mystery soup"
reqs = list(
/datum/reagent/water = 10,
@@ -146,7 +146,7 @@
result = /obj/item/weapon/reagent_containers/food/snacks/soup/mystery
category = CAT_FOOD
/datum/table_recipe/mushroomsoup
/datum/crafting_recipe/food/mushroomsoup
name = "Mushroom soup"
reqs = list(
/datum/reagent/consumable/milk = 5,
@@ -157,7 +157,7 @@
result = /obj/item/weapon/reagent_containers/food/snacks/soup/mushroom
category = CAT_FOOD
/datum/table_recipe/beetsoup
/datum/crafting_recipe/food/beetsoup
name = "Beet soup"
reqs = list(
/datum/reagent/water = 10,
@@ -168,7 +168,7 @@
result = /obj/item/weapon/reagent_containers/food/snacks/soup/beet
category = CAT_FOOD
/datum/table_recipe/stew
/datum/crafting_recipe/food/stew
name = "Stew"
reqs = list(
/datum/reagent/water = 10,
@@ -183,7 +183,7 @@
result = /obj/item/weapon/reagent_containers/food/snacks/soup/stew
category = CAT_FOOD
/datum/table_recipe/spacylibertyduff
/datum/crafting_recipe/food/spacylibertyduff
name = "Spacy liberty duff"
reqs = list(
/datum/reagent/consumable/ethanol/vodka = 5,
@@ -193,7 +193,7 @@
result = /obj/item/weapon/reagent_containers/food/snacks/soup/spacylibertyduff
category = CAT_FOOD
/datum/table_recipe/amanitajelly
/datum/crafting_recipe/food/amanitajelly
name = "Amanita jelly"
reqs = list(
/datum/reagent/consumable/ethanol/vodka = 5,
@@ -203,7 +203,7 @@
result = /obj/item/weapon/reagent_containers/food/snacks/soup/amanitajelly
category = CAT_FOOD
/datum/table_recipe/sweetpotatosoup
/datum/crafting_recipe/food/sweetpotatosoup
name = "Sweet potato soup"
reqs = list(
/datum/reagent/water = 10,
@@ -214,7 +214,7 @@
result = /obj/item/weapon/reagent_containers/food/snacks/soup/sweetpotato
category = CAT_FOOD
/datum/table_recipe/redbeetsoup
/datum/crafting_recipe/food/redbeetsoup
name = "Red beet soup"
reqs = list(
/datum/reagent/water = 10,
@@ -3,7 +3,7 @@
////////////////////////////////////////////////SPAGHETTI////////////////////////////////////////////////
/datum/table_recipe/tomatopasta
/datum/crafting_recipe/food/tomatopasta
name = "Tomato pasta"
reqs = list(
/obj/item/weapon/reagent_containers/food/snacks/boiledspaghetti = 1,
@@ -12,7 +12,7 @@
result = /obj/item/weapon/reagent_containers/food/snacks/pastatomato
category = CAT_FOOD
/datum/table_recipe/copypasta
/datum/crafting_recipe/food/copypasta
name = "Copypasta"
reqs = list(
/obj/item/weapon/reagent_containers/food/snacks/pastatomato = 2
@@ -20,7 +20,7 @@
result = /obj/item/weapon/reagent_containers/food/snacks/copypasta
category = CAT_FOOD
/datum/table_recipe/spaghettimeatball
/datum/crafting_recipe/food/spaghettimeatball
name = "Spaghetti meatball"
reqs = list(
/obj/item/weapon/reagent_containers/food/snacks/boiledspaghetti = 1,
@@ -29,7 +29,7 @@
result = /obj/item/weapon/reagent_containers/food/snacks/meatballspaghetti
category = CAT_FOOD
/datum/table_recipe/spesslaw
/datum/crafting_recipe/food/spesslaw
name = "Spesslaw"
reqs = list(
/obj/item/weapon/reagent_containers/food/snacks/boiledspaghetti = 1,
@@ -38,7 +38,7 @@
result = /obj/item/weapon/reagent_containers/food/snacks/spesslaw
category = CAT_FOOD
/datum/table_recipe/beefnoodle
/datum/crafting_recipe/food/beefnoodle
name = "Beef noodle"
reqs = list(
/obj/item/weapon/reagent_containers/glass/bowl = 1,
@@ -49,7 +49,7 @@
result = /obj/item/weapon/reagent_containers/food/snacks/beefnoodle
category = CAT_FOOD
/datum/table_recipe/chowmein
/datum/crafting_recipe/food/chowmein
name = "Chowmein"
reqs = list(
/obj/item/weapon/reagent_containers/food/snacks/boiledspaghetti = 1,
+5 -5
View File
@@ -151,7 +151,7 @@
desc = "The Cross represents the Assistants that died for your sins."
icon_state = "hotcrossbun"
/datum/table_recipe/hotcrossbun
/datum/crafting_recipe/food/food/hotcrossbun
name = "Hot-Cross Bun"
reqs = list(
/obj/item/weapon/reagent_containers/food/snacks/store/bread/plain = 1,
@@ -175,7 +175,7 @@
icon_state = "briochecake_slice"
filling_color = "#FFD700"
/datum/table_recipe/briochecake
/datum/crafting_recipe/food/food/briochecake
name = "Brioche cake"
reqs = list(
/obj/item/weapon/reagent_containers/food/snacks/store/cake/plain = 1,
@@ -193,7 +193,7 @@
filling_color = "#FFFFF0"
list_reagents = list("nutriment" = 6)
/datum/table_recipe/scotchegg
/datum/crafting_recipe/food/scotchegg
name = "Scotch egg"
reqs = list(
/datum/reagent/consumable/sodiumchloride = 1,
@@ -211,7 +211,7 @@
bonus_reagents = list("nutriment" = 3, "vitamin" = 1)
list_reagents = list("nutriment" = 8, "vitamin" = 1)
/datum/table_recipe/mammi
/datum/crafting_recipe/food/mammi
name = "Mämmi"
reqs = list(
/obj/item/weapon/reagent_containers/food/snacks/store/bread/plain = 1,
@@ -229,7 +229,7 @@
list_reagents = list("nutriment" = 4, "sugar" = 2, "cocoa" = 2)
filling_color = "#A0522D"
/datum/table_recipe/chocolatebunny
/datum/crafting_recipe/food/chocolatebunny
name = "Chocolate bunny"
reqs = list(
/datum/reagent/consumable/sugar = 2,
@@ -368,14 +368,14 @@
w_class = 3
burn_state = LAVA_PROOF
/datum/table_recipe/oar
/datum/crafting_recipe/oar
name = "goliath bone oar"
result = /obj/item/weapon/oar
reqs = list(/obj/item/stack/sheet/bone = 2)
time = 15
category = CAT_PRIMAL
/datum/table_recipe/boat
/datum/crafting_recipe/boat
name = "goliath hide boat"
result = /obj/vehicle/lavaboat
reqs = list(/obj/item/stack/sheet/animalhide/goliath_hide = 3)
@@ -47,8 +47,13 @@
martial_art = default_martial_art
handcrafting = new()
..()
/mob/living/carbon/human/OpenCraftingMenu()
handcrafting.craft(src)
/mob/living/carbon/human/prepare_data_huds()
//Update med hud images...
..()
@@ -54,3 +54,4 @@ var/global/default_martial_art = new/datum/martial_art
var/heart_attack = 0
var/drunkenness = 0 //Overall drunkenness - check handle_alcohol() in life.dm for effects
var/datum/personal_crafting/handcrafting
+3
View File
@@ -49,6 +49,9 @@ Sorry Giacom. Please don't be mad :(
return QDEL_HINT_HARDDEL_NOW
/mob/living/proc/OpenCraftingMenu()
return
/mob/living/proc/generateStaticOverlay()
staticOverlays.Add(list("static", "blank", "letter", "animal"))
var/image/staticOverlay = image(getStaticIcon(new/icon(icon,icon_state)), loc = src)
@@ -61,7 +61,7 @@
var/seeStatic = 1 //Whether we see static instead of mobs
var/visualAppearence = MAINTDRONE //What we appear as
var/hacked = 0 //If we have laws to destroy the station
var/datum/personal_crafting/handcrafting
/mob/living/simple_animal/drone/New()
..()
@@ -86,6 +86,8 @@
var/datum/action/generic/drone/select_filter/SF = new(src)
SF.Grant(src)
handcrafting = new()
var/datum/atom_hud/data/diagnostic/diag_hud = huds[DATA_HUD_DIAGNOSTIC]
diag_hud.add_to_hud(src)
@@ -103,6 +105,8 @@
else
holder.icon_state = "hudstat"
/mob/living/simple_animal/drone/OpenCraftingMenu()
handcrafting.craft(src)
/mob/living/simple_animal/drone/Destroy()
qdel(access_card) //Otherwise it ends up on the floor!
+2 -1
View File
@@ -117,7 +117,8 @@
var/see_ghosts = 0 //for the spoop of it
/obj/item/device/camera/CheckParts()
/obj/item/device/camera/CheckParts(list/parts_list)
..()
var/obj/item/device/camera/C = locate(/obj/item/device/camera) in contents
if(C)
pictures_max = C.pictures_max
+2 -1
View File
@@ -78,7 +78,8 @@
build_zooming()
/obj/item/weapon/gun/CheckParts()
/obj/item/weapon/gun/CheckParts(list/parts_list)
..()
var/obj/item/weapon/gun/G = locate(/obj/item/weapon/gun) in contents
if(G)
G.loc = loc
@@ -634,6 +634,9 @@ var/const/INJECT = 5 //injection
return trans_data
/datum/reagents/proc/get_reagent(type)
. = locate(type) in reagent_list
///////////////////////////////////////////////////////////////////////////////////