From 560fe09f2dbeb2d45592b8bf364755ca9cd238cc Mon Sep 17 00:00:00 2001 From: Helg2 Date: Sat, 30 Nov 2024 18:37:17 +0200 Subject: [PATCH] hm --- code/__DEFINES/progress_display.dm | 1 + code/datums/elements/strippable.dm | 5 ++++- code/datums/progressbar.dm | 3 +++ .../living/carbon/human/human_attackhand.dm | 2 +- .../mob/living/carbon/human/inventory.dm | 20 +++++++++--------- code/modules/mob/living/silicon/silicon.dm | 3 --- icons/effects/progressicons.dmi | Bin 11658 -> 12504 bytes 7 files changed, 19 insertions(+), 15 deletions(-) diff --git a/code/__DEFINES/progress_display.dm b/code/__DEFINES/progress_display.dm index 7de391c9333..bd07f54e878 100644 --- a/code/__DEFINES/progress_display.dm +++ b/code/__DEFINES/progress_display.dm @@ -39,3 +39,4 @@ #define BUSY_ICON_BAR /image/progdisplay/bar #define BUSY_ICON_UNSKILLED /image/progdisplay/unskilled #define BUSY_ICON_ENERGY /image/progdisplay/energy +#define BUSY_ICON_FACEHUGGER /image/progdisplay/facehugger diff --git a/code/datums/elements/strippable.dm b/code/datums/elements/strippable.dm index 37210f1477a..37f2943a0f4 100644 --- a/code/datums/elements/strippable.dm +++ b/code/datums/elements/strippable.dm @@ -271,7 +271,10 @@ /// A utility function for `/datum/strippable_item`s to start unequipping an item from a mob. /datum/strippable_item/proc/start_unequip_mob(obj/item/item, mob/source, mob/user, strip_delay) - if(!do_after(user, strip_delay || item.strip_delay, NONE, source, BUSY_ICON_FRIENDLY)) + var/display_icon = BUSY_ICON_GENERIC + if(istype(item, /obj/item/clothing/mask/facehugger)) + display_icon = BUSY_ICON_FACEHUGGER + if(!do_after(user, strip_delay || item.strip_delay, NONE, source, display_icon)) return FALSE return TRUE diff --git a/code/datums/progressbar.dm b/code/datums/progressbar.dm index 152bafcf868..c7c6391722c 100644 --- a/code/datums/progressbar.dm +++ b/code/datums/progressbar.dm @@ -260,3 +260,6 @@ /image/progdisplay/energy icon_state = "busy_energy" + +/image/progdisplay/facehugger + icon_state = "busy_facehugger" diff --git a/code/modules/mob/living/carbon/human/human_attackhand.dm b/code/modules/mob/living/carbon/human/human_attackhand.dm index 6d39327ffe2..53434f60987 100644 --- a/code/modules/mob/living/carbon/human/human_attackhand.dm +++ b/code/modules/mob/living/carbon/human/human_attackhand.dm @@ -27,7 +27,7 @@ return TRUE if(istype(wear_mask, /obj/item/clothing/mask/facehugger) && H != src) - H.stripPanelUnequip(wear_mask, src, SLOT_WEAR_MASK) + H.stripPanelUnequip(wear_mask, src, SLOT_WEAR_MASK, BUSY_ICON_FACEHUGGER) return TRUE if(health >= get_crit_threshold()) diff --git a/code/modules/mob/living/carbon/human/inventory.dm b/code/modules/mob/living/carbon/human/inventory.dm index 0c86358fa4f..cef924ff4b3 100644 --- a/code/modules/mob/living/carbon/human/inventory.dm +++ b/code/modules/mob/living/carbon/human/inventory.dm @@ -535,20 +535,21 @@ else if(equipped_item == s_store) . = SLOT_S_STORE -/mob/living/carbon/human/stripPanelUnequip(obj/item/I, mob/M, slot_to_process) +/mob/living/carbon/human/stripPanelUnequip(obj/item/I, mob/M, slot_to_process, display_icon = BUSY_ICON_HOSTILE) if(!I.canStrip(M)) return log_combat(src, M, "attempted to remove [key_name(I)] ([slot_to_process])") M.visible_message(span_danger("[src] tries to remove [M]'s [I.name]."), \ - span_userdanger("[src] tries to remove [M]'s [I.name]."), null, 5) - if(do_after(src, HUMAN_STRIP_DELAY, NONE, M, BUSY_ICON_HOSTILE)) - if(Adjacent(M) && I && I == M.get_item_by_slot(slot_to_process)) - M.dropItemToGround(I) - log_combat(src, M, "removed [key_name(I)] ([slot_to_process])") - if(isidcard(I)) - message_admins("[ADMIN_TPMONTY(src)] took the [I] of [ADMIN_TPMONTY(M)].") - + span_userdanger("[src] tries to remove [M]'s [I.name]."), null, 5) + if(!do_after(src, HUMAN_STRIP_DELAY, NONE, M, display_icon)) + return + if(!Adjacent(M)|| !I || I != M.get_item_by_slot(slot_to_process)) + return + M.dropItemToGround(I) + log_combat(src, M, "removed [key_name(I)] ([slot_to_process])") + if(isidcard(I)) + message_admins("[ADMIN_TPMONTY(src)] took the [I] of [ADMIN_TPMONTY(M)].") /mob/living/carbon/human/proc/equipOutfit(outfit, visualsOnly = FALSE, client/override_client) var/datum/outfit/O = null @@ -564,7 +565,6 @@ return O.equip(src, visualsOnly, override_client) - /mob/living/carbon/human/proc/delete_equipment(save_id = FALSE) for(var/i in contents) if(save_id && istype(i, /obj/item/card/id)) diff --git a/code/modules/mob/living/silicon/silicon.dm b/code/modules/mob/living/silicon/silicon.dm index a8815a0061a..661d2e08339 100644 --- a/code/modules/mob/living/silicon/silicon.dm +++ b/code/modules/mob/living/silicon/silicon.dm @@ -45,9 +45,6 @@ /mob/living/silicon/put_in_r_hand(obj/item/I) return -/mob/living/silicon/stripPanelUnequip(obj/item/I, mob/M, slot) - return - /mob/living/silicon/med_hud_set_health() return diff --git a/icons/effects/progressicons.dmi b/icons/effects/progressicons.dmi index 659db025d1dfded0c4d2aa0804ec7a8f57858145..165cd4added36453400230435893332a1295525b 100644 GIT binary patch literal 12504 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