From 70bc84771a89dd1dff217b007bb6e9bbd00e1c77 Mon Sep 17 00:00:00 2001 From: Youbar Date: Mon, 12 Nov 2018 20:56:14 +1300 Subject: [PATCH] Fixes overlay glitch in clipboards and allows mice to be butchered (#41322) As the title suggests, papers no longer disappear once added to a clipboard, and dead mice, the reagent produced as a result of killing them, can now be butchered. The code for the latter did exist, but the functionality did not, as only living mobs can use the butchering proc. cl Youbar fix: clipboards now display held papers properly fix: mice can be butchered /cl --- code/modules/food_and_drinks/food/snacks/meat.dm | 5 +++++ .../mob/living/simple_animal/friendly/mouse.dm | 13 ++++++++++++- code/modules/paperwork/clipboard.dm | 10 ++++++---- 3 files changed, 23 insertions(+), 5 deletions(-) diff --git a/code/modules/food_and_drinks/food/snacks/meat.dm b/code/modules/food_and_drinks/food/snacks/meat.dm index f054511565b..26b159d0c67 100644 --- a/code/modules/food_and_drinks/food/snacks/meat.dm +++ b/code/modules/food_and_drinks/food/snacks/meat.dm @@ -150,6 +150,11 @@ name = "monkey meat" foodtype = RAW | MEAT +/obj/item/reagent_containers/food/snacks/meat/slab/mouse + name = "mouse meat" + desc = "A slab of mouse meat. Best not eat it raw." + foodtype = RAW | MEAT | GROSS + /obj/item/reagent_containers/food/snacks/meat/slab/corgi name = "corgi meat" desc = "Tastes like... well you know..." diff --git a/code/modules/mob/living/simple_animal/friendly/mouse.dm b/code/modules/mob/living/simple_animal/friendly/mouse.dm index 8c6300fab54..2ccaa9fc641 100644 --- a/code/modules/mob/living/simple_animal/friendly/mouse.dm +++ b/code/modules/mob/living/simple_animal/friendly/mouse.dm @@ -13,7 +13,7 @@ see_in_dark = 6 maxHealth = 5 health = 5 - butcher_results = list(/obj/item/reagent_containers/food/snacks/meat/slab = 1) + butcher_results = list(/obj/item/reagent_containers/food/snacks/meat/slab/mouse = 1) response_help = "pets" response_disarm = "gently pushes aside" response_harm = "splats" @@ -113,5 +113,16 @@ foodtype = GROSS | MEAT | RAW grind_results = list("blood" = 20, "liquidgibs" = 5) +/obj/item/reagent_containers/food/snacks/deadmouse/attackby(obj/item/I, mob/user, params) + if(I.is_sharp() && user.a_intent == INTENT_HARM) + if(isturf(loc)) + new /obj/item/reagent_containers/food/snacks/meat/slab/mouse(loc) + to_chat(user, "You butcher [src].") + qdel(src) + else + to_chat(user, "You need to put [src] on a surface to butcher it!") + else + return ..() + /obj/item/reagent_containers/food/snacks/deadmouse/on_grind() reagents.clear_reagents() diff --git a/code/modules/paperwork/clipboard.dm b/code/modules/paperwork/clipboard.dm index 137a87d1e76..f77c0dabee5 100644 --- a/code/modules/paperwork/clipboard.dm +++ b/code/modules/paperwork/clipboard.dm @@ -27,12 +27,14 @@ /obj/item/clipboard/update_icon() cut_overlays() + var/list/dat = list() if(toppaper) - add_overlay(toppaper.icon_state) - copy_overlays(toppaper) + dat += toppaper.icon_state + dat += toppaper.overlays.Copy() if(haspen) - add_overlay("clipboard_pen") - add_overlay("clipboard_over") + dat += "clipboard_pen" + dat += "clipboard_over" + add_overlay(dat) /obj/item/clipboard/attackby(obj/item/W, mob/user, params)