mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-08-29 15:08:02 +01:00
Makes gauze/ointment craftable; refactors a bit of crafting code (#23127)
* the features * smartfridge * whoops * Update code/modules/crafting/recipes.dm Co-authored-by: DGamerL <108773801+DGamerL@users.noreply.github.com> --------- Co-authored-by: DGamerL <108773801+DGamerL@users.noreply.github.com>
This commit is contained in:
@@ -195,8 +195,8 @@
|
||||
/datum/personal_crafting/proc/requirements_deletion(datum/crafting_recipe/recipe, mob/user)
|
||||
var/list/surroundings = get_environment(user)
|
||||
var/list/parts_used = list()
|
||||
var/list/reagent_containers_for_deletion = list()
|
||||
var/list/item_stacks_for_deletion = list()
|
||||
var/list/reagent_list_for_deletion = list()
|
||||
|
||||
for(var/thing in recipe.reqs)
|
||||
var/needed_amount = recipe.reqs[thing]
|
||||
@@ -206,13 +206,13 @@
|
||||
part_reagent = new thing()
|
||||
parts_used += part_reagent
|
||||
|
||||
for(var/obj/item/reagent_containers/container in (surroundings - reagent_containers_for_deletion))
|
||||
for(var/obj/item/reagent_containers/container in surroundings)
|
||||
var/datum/reagent/contained_reagent = container.reagents.get_reagent(thing)
|
||||
if(!contained_reagent)
|
||||
continue
|
||||
|
||||
var/extracted_amount = min(contained_reagent.volume, needed_amount)
|
||||
reagent_containers_for_deletion[container] = list(contained_reagent, extracted_amount)
|
||||
reagent_list_for_deletion[thing] += list(list(container, extracted_amount))
|
||||
part_reagent.volume += extracted_amount
|
||||
part_reagent.data += contained_reagent.data
|
||||
needed_amount -= extracted_amount
|
||||
@@ -258,16 +258,12 @@
|
||||
continue
|
||||
parts_used += part_atom
|
||||
|
||||
for(var/obj/item/reagent_containers/container_to_clear as anything in reagent_containers_for_deletion)
|
||||
var/datum/reagent/reagent_to_delete = reagent_containers_for_deletion[container_to_clear][1]
|
||||
var/amount_to_delete = reagent_containers_for_deletion[container_to_clear][2]
|
||||
for(var/datum/reagent/reagent_to_delete as anything in reagent_list_for_deletion)
|
||||
for(var/list/reagent_info in reagent_list_for_deletion[reagent_to_delete])
|
||||
var/obj/item/reagent_containers/container = reagent_info[1]
|
||||
var/amount_to_delete = reagent_info[2]
|
||||
|
||||
if(amount_to_delete < reagent_to_delete.volume)
|
||||
reagent_to_delete.volume -= amount_to_delete
|
||||
else
|
||||
container_to_clear.reagents.reagent_list -= reagent_to_delete
|
||||
container_to_clear.reagents.conditional_update(container_to_clear)
|
||||
container_to_clear.update_icon()
|
||||
container.reagents.remove_reagent(reagent_to_delete.id, amount_to_delete)
|
||||
|
||||
for(var/obj/item/stack/stack_to_delete as anything in item_stacks_for_deletion)
|
||||
var/amount_to_delete = item_stacks_for_deletion[stack_to_delete]
|
||||
|
||||
@@ -1352,3 +1352,22 @@
|
||||
/obj/item/toy/crayon/red)
|
||||
category = CAT_DECORATIONS
|
||||
subcategory = CAT_LARGE_DECORATIONS
|
||||
|
||||
/datum/crafting_recipe/gauze
|
||||
name = "Treated gauze"
|
||||
time = 3 SECONDS
|
||||
result = list(/obj/item/stack/medical/bruise_pack)
|
||||
reqs = list(/obj/item/stack/medical/bruise_pack/improvised = 6,
|
||||
/datum/reagent/medicine/styptic_powder = 30,
|
||||
/datum/reagent/medicine/sterilizine = 10)
|
||||
category = CAT_MISC
|
||||
|
||||
/datum/crafting_recipe/ointment
|
||||
name = "Ointment"
|
||||
time = 3 SECONDS
|
||||
result = list(/obj/item/stack/medical/ointment)
|
||||
reqs = list(/obj/item/stack/sheet/plastic = 2,
|
||||
/datum/reagent/water = 10,
|
||||
/datum/reagent/medicine/silver_sulfadiazine = 30,
|
||||
/datum/reagent/medicine/sterilizine = 10)
|
||||
category = CAT_MISC
|
||||
|
||||
@@ -581,6 +581,7 @@
|
||||
/obj/item/reagent_containers/applicator,
|
||||
/obj/item/storage/pill_bottle,
|
||||
/obj/item/reagent_containers/food/pill,
|
||||
/obj/item/stack/medical
|
||||
))
|
||||
|
||||
/**
|
||||
@@ -620,6 +621,7 @@
|
||||
/obj/item/reagent_containers/applicator,
|
||||
/obj/item/storage/pill_bottle,
|
||||
/obj/item/reagent_containers/food/pill,
|
||||
/obj/item/stack/medical
|
||||
))
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user