From 0634635dbf37b8614f106f1c9ae153a67fb97450 Mon Sep 17 00:00:00 2001 From: DrDuckedGoose Date: Fri, 20 Oct 2023 23:36:36 +1100 Subject: [PATCH] tongue - 20 10 23 --- _maps/_basemap.dm | 2 +- .../carbon/human/species_types/pumpkin_man.dm | 10 +++------- .../bodyparts/species_parts/misc_bodyparts.dm | 7 +++++++ code/modules/surgery/organs/tongue.dm | 4 +++- icons/mob/pumpkin_faces.dmi | Bin 398 -> 388 bytes 5 files changed, 14 insertions(+), 9 deletions(-) diff --git a/_maps/_basemap.dm b/_maps/_basemap.dm index 9499d3e8cb593..bf3b820460161 100644 --- a/_maps/_basemap.dm +++ b/_maps/_basemap.dm @@ -1,4 +1,4 @@ -//#define LOWMEMORYMODE //uncomment this to load centcom and runtime station and thats it. +#define LOWMEMORYMODE //uncomment this to load centcom and runtime station and thats it. #include "map_files\generic\CentCom.dmm" diff --git a/code/modules/mob/living/carbon/human/species_types/pumpkin_man.dm b/code/modules/mob/living/carbon/human/species_types/pumpkin_man.dm index e4ef879396c7c..d72d0d6ca9ba9 100644 --- a/code/modules/mob/living/carbon/human/species_types/pumpkin_man.dm +++ b/code/modules/mob/living/carbon/human/species_types/pumpkin_man.dm @@ -20,9 +20,6 @@ species_l_leg = /obj/item/bodypart/l_leg/pumpkin_man species_r_leg = /obj/item/bodypart/r_leg/pumpkin_man - ///Ref to overlay for carved face - var/mutable_appearance/carved_overlay - //Only allow race roundstart on Halloween /datum/species/pod/pumpkin_man/check_roundstart_eligible() if(SSevents.holidays && SSevents.holidays[HALLOWEEN]) @@ -63,15 +60,14 @@ /datum/species/pod/pumpkin_man/proc/handle_carving(datum/_source, mob/living/_user, obj/item/_item) //Check if the item is sharp - give owner a random face if applicable var/mob/living/carbon/human/M = _source - var/obj/item/head = M.get_bodypart(BODY_ZONE_HEAD) + var/obj/item/bodypart/head/pumpkin_man/head = M.get_bodypart(BODY_ZONE_HEAD) if(_item.is_sharp() && head?.item_flags & ISCARVABLE && _user.a_intent == INTENT_HELP && _user.zone_selected == BODY_ZONE_HEAD) to_chat(_user, "You begin to carve a face into [_source]...") //Do after for *flourish* if(do_after(_user, 3 SECONDS)) //Reset overlays - M.cut_overlay(carved_overlay) - carved_overlay = mutable_appearance('icons/mob/pumpkin_faces.dmi', "face[rand(0, 8)]", layer = BODY_LAYER) //Every so slightly above the mob, but below features - M.add_overlay(carved_overlay) + head.carved_state = "face[rand(0, 8)]" + M.update_body_parts_head_only() to_chat(_user, "You carve a face into [_source].") //Adjust the tongue var/obj/item/organ/tongue/podperson/pumpkin/P = M.internal_organs_slot[ORGAN_SLOT_TONGUE] diff --git a/code/modules/surgery/bodyparts/species_parts/misc_bodyparts.dm b/code/modules/surgery/bodyparts/species_parts/misc_bodyparts.dm index 49c5885a0991e..b43372a4e3ecb 100644 --- a/code/modules/surgery/bodyparts/species_parts/misc_bodyparts.dm +++ b/code/modules/surgery/bodyparts/species_parts/misc_bodyparts.dm @@ -515,6 +515,13 @@ is_dimorphic = FALSE should_draw_greyscale = FALSE item_flags = ISCARVABLE + ///What state is our carved face + var/carved_state + +/obj/item/bodypart/head/pumpkin_man/get_limb_icon(dropped) + . = ..() + if(carved_state) + . += image('icons/mob/pumpkin_faces.dmi', carved_state, -BODY_LAYER) /obj/item/bodypart/chest/pumpkin_man limb_id = "pumpkin_man" diff --git a/code/modules/surgery/organs/tongue.dm b/code/modules/surgery/organs/tongue.dm index f7d0bf7d13c9e..497c6477f2a06 100644 --- a/code/modules/surgery/organs/tongue.dm +++ b/code/modules/surgery/organs/tongue.dm @@ -373,5 +373,7 @@ /obj/item/organ/tongue/podperson/pumpkin/handle_speech(datum/source, list/speech_args) var/message = speech_args[SPEECH_MESSAGE] if((message[1] != "*" || message[1] != "#") && !carved) - message = "[message]" + message = "..." + to_chat(owner, "Something is covering your mouth!") + to_chat(owner, "Try carving your mouth open.") speech_args[SPEECH_MESSAGE] = message diff --git a/icons/mob/pumpkin_faces.dmi b/icons/mob/pumpkin_faces.dmi index 594b976ddac5a3013193ce60d297ea492ad8c1db..7f01d72627bddb27260c992a162a289e86aacc8d 100644 GIT binary patch delta 183 zcmV;o07(Ci1B3&R)qk2vL_t(oh3(Z*4nQyr2H-K_MV!E49K{hF!O?b<9mPU5Giip1 z5&!q1O=HsbJUU zro#RYfZu2bp}+$}cuqvTKf;{%hmZrjo!I`RIeSz%Ck%4|Uoex8+dRG|!YK l;@ck1Nu0P1;v)ud)C8fV6g5sO=d}O;002ovPDHLkV1g!-Qc?f_ delta 193 zcmV;y06zbO1C9fb)qkW(L_t(oh3%Ey4TCTYgk7lMrRoG7rlT+dBQRP<$tcZ_9VH|d z5)V|sebR}GED#UA9MNBSO>7KNpP$u%%4pbF=kr0ouyLOlcKsy)hw%KeanCLo6W9N3 zd0=I^c~HLrz-{=0kE4N=S(s+D}4rK00000NkvXXu0mjfxXo0>