From dea78e749b4dabd64f1ab46489cf43515a694267 Mon Sep 17 00:00:00 2001 From: Twinmold Date: Wed, 5 Apr 2017 04:59:48 -0500 Subject: [PATCH] Lethal Kitchen How metal can the chef get? Adds attacks for aggressive grips on people for the deep fryer, grill, and oven. Deep Fryer does burn damage to the head and disfigures the face. Grill does burn damage over the head, chest, and arms. Oven does light burn and some brute damage while weakening target. :cl:Twinmold Add: Adds attack options for deep fryers, grills, and ovens. Those breaking into the kitchen beware. /:cl: --- .../kitchen_machinery/cooker.dm | 28 +++++++++++ .../kitchen_machinery/kitchen_machine.dm | 49 ++++++++++++++++++- 2 files changed, 76 insertions(+), 1 deletion(-) diff --git a/code/modules/food_and_drinks/kitchen_machinery/cooker.dm b/code/modules/food_and_drinks/kitchen_machinery/cooker.dm index 381525a13ae..ea54e8984ad 100644 --- a/code/modules/food_and_drinks/kitchen_machinery/cooker.dm +++ b/code/modules/food_and_drinks/kitchen_machinery/cooker.dm @@ -41,6 +41,8 @@ return 0 if(istype(check, /obj/item/weapon/reagent_containers/food/snacks)) return 1 + if(istype(check, /obj/item/weapon/grab)) + return 0 to_chat(user, "You can only process food!") return 0 @@ -111,6 +113,32 @@ to_chat(user, "Close the panel first!") return if(!checkValid(I, user)) + if(istype(I, /obj/item/weapon/grab)) + var/obj/item/weapon/grab/G = I + if(!iscarbon(G.affecting)) + to_chat(user, "You can only harm carbon-based creatures this way!") + return +// if(G.affecting.stat == DEAD) +// to_chat(user, "[G.affecting] is dead!") +// return + if(G.state < GRAB_AGGRESSIVE) + to_chat(user, "You need a better grip to do that!") + return + var/mob/living/carbon/human/C = G.affecting + var/obj/item/organ/external/head/head = C.get_organ("head") + if(!head) + to_chat(user, "This person doesn't have a head!") + return + if(istype(src, /obj/machinery/cooker/deepfryer)) + C.visible_message("[user] dunks [C]'s face into [src]!", \ + "[user] dunks your face into [src]!") + if(!C.stat) + C.emote("scream") + user.changeNext_move(CLICK_CD_MELEE) + C.apply_damage(25, BURN, "head") //25 fire damage and disfigurement because your face was just deep fried! + head.disfigure("burn") + add_logs(G.assailant, G.affecting, "deep-fried face") + qdel(I) //Removes the grip so the person MIGHT have a small chance to run the fuck away and to prevent rapid dunks. return if(!burns) if(istype(I, /obj/item/weapon/reagent_containers/food/snacks)) diff --git a/code/modules/food_and_drinks/kitchen_machinery/kitchen_machine.dm b/code/modules/food_and_drinks/kitchen_machinery/kitchen_machine.dm index a69b0a718ef..a2bcc66bbfe 100644 --- a/code/modules/food_and_drinks/kitchen_machinery/kitchen_machine.dm +++ b/code/modules/food_and_drinks/kitchen_machinery/kitchen_machine.dm @@ -156,7 +156,54 @@ //G.reagents.trans_to(src,G.amount_per_transfer_from_this) else if(istype(O,/obj/item/weapon/grab)) var/obj/item/weapon/grab/G = O - to_chat(user, "This is ridiculous. You can not fit \the [G.affecting] in this [src].") + if(!istype(src, /obj/machinery/kitchen_machine/oven) && !istype(src, /obj/machinery/kitchen_machine/grill)) + to_chat(user, "This is ridiculous. You can not fit \the [G.affecting] in this [src].") + return 1 + if(!iscarbon(G.affecting)) + to_chat(user, "You can only harm carbon-based creatures this way!") + return 1 +// if(G.affecting.stat == DEAD) +// to_chat(user, "[G.affecting] is dead!") +// return 1 + if(G.state < GRAB_AGGRESSIVE) + to_chat(user, "You need a better grip to do that!") + return 1 + var/mob/living/carbon/human/C = G.affecting + var/obj/item/organ/external/head/head = C.get_organ("head") + if(!head) + to_chat(user, "This person doesn't have a head!") + return 1 + if(istype(src, /obj/machinery/kitchen_machine/oven)) + if(G.state < GRAB_AGGRESSIVE) + to_chat(user, "You need a better grip to do that!") + return 1 + C.visible_message("[user] bashes [C]'s head in [src]'s door!", \ + "[user] bashes your head in [src]'s door! It feels rather hot in the oven!") + if(!C.stat) + C.emote("scream") + user.changeNext_move(CLICK_CD_MELEE) + C.apply_damage(5, BURN, "head") //5 fire damage, 15 brute damage, and weakening because your head was just in a hot oven with the door bashing into your neck! + C.apply_damage(15, BRUTE, "head") + C.Weaken(2) + add_logs(G.assailant, G.affecting, "head smashed in oven") + qdel(O) //Removes the grip to prevent rapid bashes. With the weaken, you PROBABLY can't run unless they are slow to grab you again... + return 1 + if(istype(src, /obj/machinery/kitchen_machine/grill)) + if(G.state < GRAB_AGGRESSIVE) + to_chat(user, "You need a better grip to do that!") + return 1 + C.visible_message("[user] forces [C] onto [src], searing [C]'s upper body!", \ + "[user] forces you onto [src]! It burns!") + if(!C.stat) + C.emote("scream") + user.changeNext_move(CLICK_CD_MELEE) + C.apply_damage(10, BURN, "head") //30 overall upper body damage because your body was just placed over a hot grill! + C.apply_damage(10, BURN, "chest") + C.apply_damage(5, BURN, "l_arm") + C.apply_damage(5, BURN, "r_arm") + add_logs(G.assailant, G.affecting, "burns on a grill") + qdel(O) //Removes the grip to prevent rapid sears and give you a chance to run + return 1 return 1 else to_chat(user, "You have no idea what you can cook with this [O].")