From f8147e5a858b3327a677c6d014ec4a12da1143c0 Mon Sep 17 00:00:00 2001 From: Trilbyspaceclone <30435998+Trilbyspaceclone@users.noreply.github.com> Date: Tue, 24 Mar 2020 09:03:31 -0400 Subject: [PATCH 01/10] Ports over Mortars and Pestles (#11546) * 2 ports for the commit of 1! ports -[ready]ghetto grinder #43600 ports - Mortar and Pestle Fixes #48086 Links - https://github.com/tgstation/tgstation/pull/43600 https://github.com/tgstation/tgstation/pull/48086 * what if we didnt have that... * Apply suggestions from code review Co-Authored-By: Ghom <42542238+Ghommie@users.noreply.github.com> Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com> --- .../items/stacks/sheets/sheet_types.dm | 2 + .../reagents/reagent_containers/glass.dm | 64 ++++++++++++++++++ icons/obj/chemical.dmi | Bin 55015 -> 55294 bytes 3 files changed, 66 insertions(+) diff --git a/code/game/objects/items/stacks/sheets/sheet_types.dm b/code/game/objects/items/stacks/sheets/sheet_types.dm index a54d126abb..b596e40e36 100644 --- a/code/game/objects/items/stacks/sheets/sheet_types.dm +++ b/code/game/objects/items/stacks/sheets/sheet_types.dm @@ -120,6 +120,7 @@ GLOBAL_LIST_INIT(metal_recipes, list ( \ )), \ null, \ new/datum/stack_recipe("iron door", /obj/structure/mineral_door/iron, 20, one_per_turf = TRUE, on_floor = TRUE), \ + new/datum/stack_recipe("pestle", /obj/item/pestle, 1, time = 50), \ new/datum/stack_recipe("floodlight frame", /obj/structure/floodlight_frame, 5, one_per_turf = TRUE, on_floor = TRUE), \ )) @@ -255,6 +256,7 @@ GLOBAL_LIST_INIT(wood_recipes, list ( \ new/datum/stack_recipe("apiary", /obj/structure/beebox, 40, time = 50),\ null, \ new/datum/stack_recipe("picture frame", /obj/item/wallframe/picture, 1, time = 10),\ + new/datum/stack_recipe("mortar", /obj/item/reagent_containers/glass/mortar, 3), \ new/datum/stack_recipe("honey frame", /obj/item/honey_frame, 5, time = 10),\ )) diff --git a/code/modules/reagents/reagent_containers/glass.dm b/code/modules/reagents/reagent_containers/glass.dm index 74e99cc326..800d66969d 100644 --- a/code/modules/reagents/reagent_containers/glass.dm +++ b/code/modules/reagents/reagent_containers/glass.dm @@ -388,3 +388,67 @@ /obj/item/reagent_containers/glass/get_belt_overlay() return mutable_appearance('icons/obj/clothing/belt_overlays.dmi', "bottle") + +//Mortar & Pestle + +/obj/item/pestle + name = "pestle" + desc = "An ancient, simple tool used in conjunction with a mortar to grind or juice items." + icon = 'icons/obj/chemical.dmi' + icon_state = "pestle" + force = 4 + +/obj/item/reagent_containers/glass/mortar + name = "mortar" + desc = "A specially formed bowl of ancient design. It is possible to crush or juice items placed in it using a pestle; however the process, unlike modern methods, is slow and physically exhausting. Alt click to eject the item." + icon_state = "mortar" + amount_per_transfer_from_this = 10 + possible_transfer_amounts = list(5, 10, 15, 20, 25, 30, 50) + item_flags = NO_MAT_REDEMPTION + reagent_flags = OPENCONTAINER + spillable = TRUE + var/obj/item/grinded + +/obj/item/reagent_containers/glass/mortar/AltClick(mob/user) + . = ..() + if(grinded) + grinded.forceMove(drop_location()) + grinded = null + to_chat(user, "You eject the item inside.") + return TRUE + +/obj/item/reagent_containers/glass/mortar/attackby(obj/item/I, mob/living/carbon/human/user) + ..() + if(istype(I,/obj/item/pestle)) + if(grinded) + if(IS_STAMCRIT(user)) + to_chat(user, "You are too tired to work!") + return + to_chat(user, "You start grinding...") + if((do_after(user, 25, target = src)) && grinded) + user.adjustStaminaLoss(20) + if(grinded.juice_results) //prioritize juicing + grinded.on_juice() + reagents.add_reagent_list(grinded.juice_results) + to_chat(user, "You juice [grinded] into a fine liquid.") + QDEL_NULL(grinded) + return + grinded.on_grind() + reagents.add_reagent_list(grinded.grind_results) + if(grinded.reagents) //food and pills + grinded.reagents.trans_to(src, grinded.reagents.total_volume) + to_chat(user, "You break [grinded] into powder.") + QDEL_NULL(grinded) + return + return + else + to_chat(user, "There is nothing to grind!") + return + if(grinded) + to_chat(user, "There is something inside already!") + return + if(I.juice_results || I.grind_results) + I.forceMove(src) + grinded = I + return + to_chat(user, "You can't grind this!") diff --git a/icons/obj/chemical.dmi b/icons/obj/chemical.dmi index b13e06e8245a1913bb24c499510189a17b4adf20..76094938e82978d3a12a8675d65e63c1e1514b46 100644 GIT binary patch delta 15254 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 From ebb10d766e443ad30bf45af6b1fe52421dc6d19c Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Tue, 24 Mar 2020 08:03:34 -0500 Subject: [PATCH 02/10] Automatic changelog generation for PR #11546 [ci skip] --- html/changelogs/AutoChangeLog-pr-11546.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-11546.yml diff --git a/html/changelogs/AutoChangeLog-pr-11546.yml b/html/changelogs/AutoChangeLog-pr-11546.yml new file mode 100644 index 0000000000..260204e8e0 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-11546.yml @@ -0,0 +1,4 @@ +author: "Trilbyspaceclone" +delete-after: True +changes: + - rscadd: "Ports over TG's Mortars and Pestles." From b789cd246ad65f9ecc315c9d1824eda659f93b53 Mon Sep 17 00:00:00 2001 From: Timothy Teakettle <59849408+timothyteakettle@users.noreply.github.com> Date: Tue, 24 Mar 2020 19:03:49 +0000 Subject: [PATCH 03/10] frying changes with bad chems (#11580) * Update toxin_reagents.dm * Update snacks_bread.dm * Update toxin_reagents.dm --- .../food_and_drinks/food/snacks_bread.dm | 13 +++++++------ .../chemistry/reagents/toxin_reagents.dm | 18 ++++++++++++++++++ 2 files changed, 25 insertions(+), 6 deletions(-) diff --git a/code/modules/food_and_drinks/food/snacks_bread.dm b/code/modules/food_and_drinks/food/snacks_bread.dm index b18dfc7968..204e5ce455 100644 --- a/code/modules/food_and_drinks/food/snacks_bread.dm +++ b/code/modules/food_and_drinks/food/snacks_bread.dm @@ -189,12 +189,11 @@ GLOBAL_VAR_INIT(frying_hardmode, TRUE) GLOBAL_VAR_INIT(frying_bad_chem_add_volume, TRUE) GLOBAL_LIST_INIT(frying_bad_chems, list( -/datum/reagent/toxin/bad_food = 10, -/datum/reagent/clf3 = 2, +/datum/reagent/toxin/bad_food = 3, /datum/reagent/drug/aranesp = 2, -/datum/reagent/blackpowder = 10, -/datum/reagent/phlogiston = 3, -/datum/reagent/toxin/cyanide = 3, +/datum/reagent/toxin = 2, +/datum/reagent/lithium = 2, +/datum/reagent/mercury = 2, )) /obj/item/reagent_containers/food/snacks/deepfryholder/Initialize(mapload, obj/item/fried) @@ -227,8 +226,10 @@ GLOBAL_LIST_INIT(frying_bad_chems, list( var/bad_chem = GLOB.frying_bad_chems[R] var/bad_chem_amount = GLOB.frying_bad_chems[bad_chem] if(GLOB.frying_bad_chem_add_volume) - reagents.maximum_volume += bad_chem_amount + reagents.maximum_volume += bad_chem_amount + 2 //Added room for condensed cooking oil reagents.add_reagent(bad_chem, bad_chem_amount) + //All fried inedible items also get condensed cooking oil added, which induces minor vomiting and heart damage + reagents.add_reagent(/datum/reagent/toxin/condensed_cooking_oil, 2) /obj/item/reagent_containers/food/snacks/deepfryholder/Destroy() if(trash) diff --git a/code/modules/reagents/chemistry/reagents/toxin_reagents.dm b/code/modules/reagents/chemistry/reagents/toxin_reagents.dm index cfb0588f8f..305d12b3c5 100644 --- a/code/modules/reagents/chemistry/reagents/toxin_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/toxin_reagents.dm @@ -495,6 +495,24 @@ toxpwr = 0.5 taste_description = "bad cooking" +/datum/reagent/toxin/condensed_cooking_oil + name = "Condensed Cooking Oil" + description = "Taste the consequences of your mistakes." + reagent_state = LIQUID + color = "#d6d6d8" + metabolization_rate = 0.25 * REAGENTS_METABOLISM + toxpwr = 0 + taste_mult = -2 + taste_description = "awful cooking" + +/datum/reagent/toxin/condensed_cooking_oil/on_mob_life(mob/living/carbon/M) + if(prob(15)) + M.vomit() + else + if(prob(40)) + M.adjustOrganLoss(ORGAN_SLOT_HEART, 0.5) //For reference, bungotoxin does 3 + ..() + /datum/reagent/toxin/itching_powder name = "Itching Powder" description = "A powder that induces itching upon contact with the skin. Causes the victim to scratch at their itches and has a very low chance to decay into Histamine." From 5089190c837780728d3315fb8c1c052dfca6a3d3 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Tue, 24 Mar 2020 14:03:52 -0500 Subject: [PATCH 04/10] Automatic changelog generation for PR #11580 [ci skip] --- html/changelogs/AutoChangeLog-pr-11580.yml | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-11580.yml diff --git a/html/changelogs/AutoChangeLog-pr-11580.yml b/html/changelogs/AutoChangeLog-pr-11580.yml new file mode 100644 index 0000000000..4dd8e6daf3 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-11580.yml @@ -0,0 +1,5 @@ +author: "timothyteakettle" +delete-after: True +changes: + - rscadd: "new reagent 'Condensed Cooking Oil'" + - tweak: "list of chems that can go into fried non-food items was changed" From 82396c33cf68dbd300e357fb5f3666f65ac2e715 Mon Sep 17 00:00:00 2001 From: zeroisthebiggay <43571008+zeroisthebiggay@users.noreply.github.com> Date: Tue, 24 Mar 2020 15:34:01 -0400 Subject: [PATCH 05/10] i made an oops (#11591) --- code/modules/clothing/masks/boxing.dm | 1 + 1 file changed, 1 insertion(+) diff --git a/code/modules/clothing/masks/boxing.dm b/code/modules/clothing/masks/boxing.dm index bfbd1d519b..f11c89d00c 100644 --- a/code/modules/clothing/masks/boxing.dm +++ b/code/modules/clothing/masks/boxing.dm @@ -24,6 +24,7 @@ w_class = WEIGHT_CLASS_SMALL armor = list("melee" = 10, "bullet" = 5, "laser" = 5,"energy" = 5, "bomb" = 0, "bio" = 0, "rad" = 10, "fire" = 30, "acid" = 30) resistance_flags = FIRE_PROOF | ACID_PROOF + mutantrace_variation = STYLE_MUZZLE var/voice_unknown = TRUE ///This makes it so that your name shows up as unknown when wearing the mask. /obj/item/clothing/mask/luchador From 3fd418295e4a82741250c1373451057af33db473 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Tue, 24 Mar 2020 14:34:04 -0500 Subject: [PATCH 06/10] Automatic changelog generation for PR #11591 [ci skip] --- html/changelogs/AutoChangeLog-pr-11591.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-11591.yml diff --git a/html/changelogs/AutoChangeLog-pr-11591.yml b/html/changelogs/AutoChangeLog-pr-11591.yml new file mode 100644 index 0000000000..f2c06035f1 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-11591.yml @@ -0,0 +1,4 @@ +author: "zeroisthebiggay" +delete-after: True +changes: + - bugfix: "insidious balaclava muzzlepsprite works" From 62d1a1f734c021de21f7abc162e0e920bdfa8bf7 Mon Sep 17 00:00:00 2001 From: Timothy Teakettle <59849408+timothyteakettle@users.noreply.github.com> Date: Tue, 24 Mar 2020 19:39:46 +0000 Subject: [PATCH 07/10] cook now gets to choose their ingredient box + sushi ingredient box (#11590) * Update miscellaneous.dm * Update cook.dm * fixes some bugs * i broke something again and now fix it * fixes remote, edits ingredient box contents * even more wildcard items who doesn't love eggs, grapes and various kinds of human meat? (skeleton meat is a thing for some reason, and thus it goes. IN THE LIST.) * removes a random newline * adds a newline to the end of the file i accidentally removed * why was there a newline here too --- code/game/objects/items/miscellaneous.dm | 19 ++++++++-- code/game/objects/items/storage/boxes.dm | 46 +++++++++++++++++++++++- code/modules/jobs/job_types/cook.dm | 6 +--- 3 files changed, 63 insertions(+), 8 deletions(-) diff --git a/code/game/objects/items/miscellaneous.dm b/code/game/objects/items/miscellaneous.dm index a2145e67ee..c6bb350929 100644 --- a/code/game/objects/items/miscellaneous.dm +++ b/code/game/objects/items/miscellaneous.dm @@ -58,6 +58,21 @@ new /obj/effect/abstract/DPtarget(get_turf(src), pod) +/obj/item/choice_beacon/ingredients + name = "ingredient box delivery beacon" + desc = "Summon a box of ingredients from a wide selection!" + icon_state = "gangtool-red" + +/obj/item/choice_beacon/ingredients/generate_display_names() + var/static/list/ingredientboxes + if(!ingredientboxes) + ingredientboxes = list() + var/list/templist = typesof(/obj/item/storage/box/ingredients) + for(var/V in templist) + var/obj/item/storage/box/ingredients/A = V + ingredientboxes[initial(A.theme_name)] = A + return ingredientboxes + /obj/item/choice_beacon/hero name = "heroic beacon" desc = "To summon heroes from the past to protect the future." @@ -72,7 +87,6 @@ hero_item_list[initial(A.name)] = A return hero_item_list - /obj/item/storage/box/hero name = "Courageous Tomb Raider - 1940's." @@ -115,4 +129,5 @@ icon = 'icons/obj/supermatter.dmi' icon_state = "supermatterspray" w_class = WEIGHT_CLASS_SMALL - var/usesleft = 2 \ No newline at end of file + var/usesleft = 2 + diff --git a/code/game/objects/items/storage/boxes.dm b/code/game/objects/items/storage/boxes.dm index 489704dbd5..a67757a535 100644 --- a/code/game/objects/items/storage/boxes.dm +++ b/code/game/objects/items/storage/boxes.dm @@ -946,12 +946,47 @@ /obj/item/reagent_containers/food/snacks/grown/apple, /obj/item/reagent_containers/food/snacks/chocolatebar, /obj/item/reagent_containers/food/snacks/grown/cherries, + /obj/item/reagent_containers/food/snacks/grown/berries, /obj/item/reagent_containers/food/snacks/grown/banana, /obj/item/reagent_containers/food/snacks/grown/cabbage, /obj/item/reagent_containers/food/snacks/grown/soybeans, /obj/item/reagent_containers/food/snacks/grown/corn, /obj/item/reagent_containers/food/snacks/grown/mushroom/plumphelmet, - /obj/item/reagent_containers/food/snacks/grown/mushroom/chanterelle) + /obj/item/reagent_containers/food/snacks/grown/mushroom/chanterelle, + /obj/item/reagent_containers/food/snacks/faggot, + /obj/item/reagent_containers/food/snacks/grown/citrus/orange, + /obj/item/reagent_containers/food/snacks/grown/citrus/lemon, + /obj/item/reagent_containers/food/snacks/grown/citrus/lime, + /obj/item/reagent_containers/food/snacks/grown/bluecherries, + /obj/item/reagent_containers/food/snacks/grown/cocoapod, + /obj/item/reagent_containers/food/snacks/grown/vanillapod, + /obj/item/reagent_containers/food/snacks/grown/grapes, + /obj/item/reagent_containers/food/snacks/grown/strawberry, + /obj/item/reagent_containers/food/snacks/grown/whitebeet, + /obj/item/reagent_containers/food/snacks/meat/slab/bear, + /obj/item/reagent_containers/food/snacks/meat/slab/spider, + /obj/item/reagent_containers/food/snacks/spidereggs, + /obj/item/reagent_containers/food/snacks/carpmeat, + /obj/item/reagent_containers/food/snacks/meat/slab/xeno, + /obj/item/reagent_containers/food/snacks/meat/slab/corgi, + /obj/item/reagent_containers/food/snacks/grown/oat, + /obj/item/reagent_containers/food/snacks/grown/wheat, + /obj/item/reagent_containers/honeycomb, + /obj/item/reagent_containers/food/snacks/grown/watermelon, + /obj/item/reagent_containers/food/snacks/grown/onion, + /obj/item/reagent_containers/food/snacks/grown/peach, + /obj/item/reagent_containers/food/snacks/grown/peanut, + /obj/item/reagent_containers/food/snacks/grown/pineapple, + /obj/item/reagent_containers/food/snacks/grown/pumpkin, + /obj/item/reagent_containers/food/snacks/meat/rawcrab, + /obj/item/reagent_containers/food/snacks/meat/slab/goliath, + /obj/item/reagent_containers/food/snacks/meat/slab/chicken, + /obj/item/reagent_containers/food/snacks/meat/slab/human/mutant/slime, + /obj/item/reagent_containers/food/snacks/meat/slab/human/mutant/golem, + /obj/item/reagent_containers/food/snacks/meat/slab/human/mutant/lizard, + /obj/item/reagent_containers/food/snacks/meat/slab/human/mutant/skeleton, + /obj/item/reagent_containers/food/snacks/egg, + /obj/item/reagent_containers/food/snacks/grown/eggplant) new randomFood(src) /obj/item/storage/box/ingredients/fiesta @@ -1061,6 +1096,15 @@ new /obj/item/reagent_containers/food/snacks/grown/cabbage(src) new /obj/item/reagent_containers/food/snacks/grown/chili(src) +/obj/item/storage/box/ingredients/sushi + theme_name = "sushi" + +/obj/item/storage/box/ingredients/sushi/PopulateContents() + for(var/i in 1 to 3) + new /obj/item/reagent_containers/food/snacks/sea_weed(src) + new /obj/item/reagent_containers/food/snacks/carpmeat(src) + new /obj/item/reagent_containers/food/snacks/meat/rawcrab(src) + /obj/item/storage/box/emptysandbags name = "box of empty sandbags" diff --git a/code/modules/jobs/job_types/cook.dm b/code/modules/jobs/job_types/cook.dm index db76af4d32..b41c0d8505 100644 --- a/code/modules/jobs/job_types/cook.dm +++ b/code/modules/jobs/job_types/cook.dm @@ -27,7 +27,7 @@ suit = /obj/item/clothing/suit/toggle/chef head = /obj/item/clothing/head/chefhat mask = /obj/item/clothing/mask/fakemoustache/italian - backpack_contents = list(/obj/item/sharpener = 1) + backpack_contents = list(/obj/item/sharpener = 1, /obj/item/choice_beacon/ingredients = 1) /datum/outfit/job/cook/pre_equip(mob/living/carbon/human/H, visualsOnly = FALSE, client/preference_source) ..() @@ -43,10 +43,6 @@ ..() if(visualsOnly) return - var/list/possible_boxes = subtypesof(/obj/item/storage/box/ingredients) - var/chosen_box = pick(possible_boxes) - var/obj/item/storage/box/I = new chosen_box(src) - H.equip_to_slot_or_del(I,SLOT_IN_BACKPACK) var/datum/martial_art/cqc/under_siege/justacook = new justacook.teach(H) From 60a88beb70e4ad09c647172abbad5fc9e0853200 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Tue, 24 Mar 2020 14:39:49 -0500 Subject: [PATCH 08/10] Automatic changelog generation for PR #11590 [ci skip] --- html/changelogs/AutoChangeLog-pr-11590.yml | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-11590.yml diff --git a/html/changelogs/AutoChangeLog-pr-11590.yml b/html/changelogs/AutoChangeLog-pr-11590.yml new file mode 100644 index 0000000000..e8241cb0ec --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-11590.yml @@ -0,0 +1,6 @@ +author: "timothyteakettle" +delete-after: True +changes: + - rscadd: "added beacon for cooks to choose an ingredient box, which replaces the random box they used to receive" + - rscadd: "added a new sushi ingredients box" + - rscadd: "added more items to the wildcard box's possible contents" From 0efa6fd065b0367816fce73e3cbb21d5dbedbb7a Mon Sep 17 00:00:00 2001 From: Kraseo Date: Tue, 24 Mar 2020 20:58:41 +0100 Subject: [PATCH 09/10] gimme chokies uwu (#11601) --- code/modules/mob/living/living.dm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/modules/mob/living/living.dm b/code/modules/mob/living/living.dm index 1309fae60c..103e8164f9 100644 --- a/code/modules/mob/living/living.dm +++ b/code/modules/mob/living/living.dm @@ -702,8 +702,8 @@ /mob/living/do_resist_grab(moving_resist, forced, silent = FALSE) . = ..() - if(pulledby.grab_state) - if(CHECK_MOBILITY(src, MOBILITY_STAND) && prob(30/pulledby.grab_state)) + if(pulledby.grab_state > GRAB_PASSIVE) + if(CHECK_MOBILITY(src, MOBILITY_RESIST) && prob(30/pulledby.grab_state)) visible_message("[src] has broken free of [pulledby]'s grip!") pulledby.stop_pulling() return TRUE From 8434670d2124f66fd098fadddfa2269cbf608821 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Tue, 24 Mar 2020 14:58:44 -0500 Subject: [PATCH 10/10] Automatic changelog generation for PR #11601 [ci skip] --- html/changelogs/AutoChangeLog-pr-11601.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-11601.yml diff --git a/html/changelogs/AutoChangeLog-pr-11601.yml b/html/changelogs/AutoChangeLog-pr-11601.yml new file mode 100644 index 0000000000..d327045d12 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-11601.yml @@ -0,0 +1,4 @@ +author: "Kraseo" +delete-after: True +changes: + - bugfix: "You can break out of neckgrabs once more."