From a1a35ad4ef8260b9da83a72aeba47e43842bcbde Mon Sep 17 00:00:00 2001
From: Darius <5933805+LeDrascol@users.noreply.github.com>
Date: Tue, 10 Jan 2023 17:59:13 -0500
Subject: [PATCH] Convert disrobe implant to use LPD
Updates the Rapid Disrobe implant to use the LPD clothing burst effect, and slightly updates the flavor text.
---
.../objects/items/implants/implant_disrobe.dm | 47 +++----------------
1 file changed, 7 insertions(+), 40 deletions(-)
diff --git a/modular_splurt/code/game/objects/items/implants/implant_disrobe.dm b/modular_splurt/code/game/objects/items/implants/implant_disrobe.dm
index b329a856d0..e8656ab155 100644
--- a/modular_splurt/code/game/objects/items/implants/implant_disrobe.dm
+++ b/modular_splurt/code/game/objects/items/implants/implant_disrobe.dm
@@ -15,8 +15,8 @@
Important Notes: Nanotransen requires employees to follow workplace safety standards, including protective clothing.
Implant Details:
- Function: Allows the user to launch covering clothing items from the body.
- Special Features: Allows the express removal of embarrassing maid outfits.
+ Function: Lines the subject's epidermis with high power static charge nodes, allowing the rapid removal of worn clothing.
+ Special Features: Will not cause drunkenness in most subjects.
Integrity: Implant will last so long as it is inside the host.
"}
@@ -33,44 +33,11 @@
/obj/item/implant/disrobe/activate()
. = ..()
- // Get worn items
- var/items = imp_in.get_contents()
+ // Define target
+ var/mob/living/carbon/target_user = imp_in
- // Did the action succeed?
- var/user_disrobed = FALSE
-
- // Iterate over worn items
- for(var/obj/item/item_worn in items)
- // Ignore non-mob (storage)
- if(!ismob(item_worn.loc))
- continue
-
- // Ignore held items
- if(imp_in.is_holding(item_worn))
- continue
-
- // Check for anything covering CHEST or GROIN
- // These are the regions used by the nudist quirk
- if((item_worn.body_parts_covered & CHEST) || (item_worn.body_parts_covered & GROIN))
- // Drop the target item
- imp_in.dropItemToGround(item_worn, TRUE)
-
- // Throw item to a random spot
- item_worn.throw_at(pick(oview(7,get_turf(src))),10,1)
-
- // Play the poster rip sound
- playsound(imp_in.loc, 'sound/items/poster_ripped.ogg', 50, 1)
-
- // Set the activation variable
- user_disrobed = TRUE
-
- // Display a chat message on success
- if(user_disrobed)
- imp_in.visible_message(span_notice("[imp_in] bursts out of [imp_in.p_their()] clothes!"), span_notice("You burst out of your clothes!"))
-
- // Alert the user on failure
- else
- to_chat(imp_in, span_notice("You have nothing to disrobe!"))
+ // Perform LPD effect
+ target_user.clothing_burst(target_user)
/*
* Action datums
@@ -79,7 +46,7 @@
// Action for rapid wardrobe removal
/datum/action/item_action/disrobe
name = "Rapid Disrobe"
- desc = "Eject all torso-covering clothing from your body."
+ desc = "Instantly eject all covering clothing from your body."
icon_icon = 'modular_splurt/icons/mob/actions/misc_actions.dmi'
button_icon_state = "no_uniform"
background_icon_state = "bg_tech"