From bdefdf6b1bc06a592da096bfb5271acea083ff92 Mon Sep 17 00:00:00 2001
From: lolman360 <22850904+lolman360@users.noreply.github.com>
Date: Thu, 18 Jan 2024 22:27:09 +1100
Subject: [PATCH] protean blob chameleon clothing (#6261)
fetish code
---
code/_globals/lists/clothing.dm | 4 +
code/modules/mob/holder.dm | 11 +-
code/modules/species/protean/protean_blob.dm | 167 ++++++++++++++++++-
icons/mob/clothing/back.dmi | Bin 214387 -> 215144 bytes
icons/mob/clothing/ears.dmi | Bin 20372 -> 22020 bytes
icons/mob/clothing/eyes.dmi | Bin 22635 -> 23948 bytes
icons/mob/clothing/feet.dmi | Bin 77972 -> 78782 bytes
icons/mob/clothing/hands.dmi | Bin 44371 -> 45266 bytes
8 files changed, 175 insertions(+), 7 deletions(-)
diff --git a/code/_globals/lists/clothing.dm b/code/_globals/lists/clothing.dm
index 6cb05adce2e..fdb1697eaf2 100644
--- a/code/_globals/lists/clothing.dm
+++ b/code/_globals/lists/clothing.dm
@@ -28,3 +28,7 @@ GLOBAL_LIST_INIT(clothing_belt, generate_chameleon_choices(/obj/item/storage/bel
// accessories
GLOBAL_LIST_INIT(clothing_accessory, generate_chameleon_choices(/obj/item/clothing/accessory,
list(/obj/item/clothing/accessory/chameleon)))
+
+GLOBAL_LIST_INIT(clothing_ears, generate_chameleon_choices(/obj/item/clothing/ears))
+
+GLOBAL_LIST_INIT(clothing_headsets, generate_chameleon_choices(/obj/item/radio/headset))
diff --git a/code/modules/mob/holder.dm b/code/modules/mob/holder.dm
index 33c15e5d897..a8e00c7ec73 100644
--- a/code/modules/mob/holder.dm
+++ b/code/modules/mob/holder.dm
@@ -144,11 +144,6 @@
slot_flags = SLOT_HOLSTER
origin_tech = list(TECH_BIO = 3)
-/obj/item/holder/protoblob
- slot_flags = SLOT_HEAD | SLOT_OCLOTHING | SLOT_HOLSTER | SLOT_ICLOTHING | SLOT_ID | SLOT_MASK
- w_class = ITEMSIZE_TINY
- allowed = list(/obj/item/gun,/obj/item/flashlight,/obj/item/tank,/obj/item/suit_cooling_unit,/obj/item/melee/baton)
-
/obj/item/holder/fish/afterattack(atom/target, mob/user, clickchain_flags, list/params)
if(!target)
@@ -160,6 +155,12 @@
if(prob(10))
L.afflict_stun(20 * 2)
+/obj/item/holder/protoblob
+ clothing_flags = ALLOWINTERNALS
+ slot_flags = SLOT_HEAD | SLOT_OCLOTHING | SLOT_HOLSTER | SLOT_ICLOTHING | SLOT_ID | SLOT_MASK | SLOT_GLOVES | SLOT_BACK | SLOT_BELT | SLOT_FEET | SLOT_EARS | SLOT_EYES
+ w_class = ITEMSIZE_TINY
+ allowed = list(/obj/item/gun,/obj/item/flashlight,/obj/item/tank,/obj/item/suit_cooling_unit,/obj/item/melee/baton)
+
//Roach Types
/obj/item/holder/roach
w_class = ITEMSIZE_TINY
diff --git a/code/modules/species/protean/protean_blob.dm b/code/modules/species/protean/protean_blob.dm
index ea23643a206..70bd8bae23a 100644
--- a/code/modules/species/protean/protean_blob.dm
+++ b/code/modules/species/protean/protean_blob.dm
@@ -73,6 +73,9 @@
add_verb(src, /mob/living/simple_mob/protean_blob/proc/appearanceswitch)
add_verb(src, /mob/living/simple_mob/protean_blob/proc/rig_transform)
add_verb(src, /mob/living/simple_mob/protean_blob/proc/leap_attack)
+ add_verb(src, /mob/living/simple_mob/protean_blob/proc/chameleon_apperance)
+ add_verb(src, /mob/living/simple_mob/protean_blob/proc/chameleon_color)
+ add_verb(src, /mob/living/simple_mob/protean_blob/proc/chameleon_apperance_rig)
add_verb(src, /mob/living/proc/usehardsuit)
INVOKE_ASYNC(src, TYPE_PROC_REF(/mob, update_health))
else
@@ -524,6 +527,11 @@
icon_living = "puddle0"
update_icon()
+ if(istype(loc, /obj/item/holder))
+ var/obj/item/holder/H = loc
+ H.sync()
+
+
/mob/living/simple_mob/protean_blob/proc/leap_attack()
set name = "Pounce"
set desc = "Allows a protean blob to launch itself at people."
@@ -554,7 +562,7 @@
return
visible_message("[src] coils itself up like a spring, preparing to leap at [target]!")
- if(do_after(src, 7.5 SECONDS, target)) //7.5 seconds.
+ if(do_after(src, 1 SECOND, target)) //1 second
if(buckled || pinned.len)
return
@@ -563,7 +571,10 @@
src.forceMove(H)
switch(src.zone_sel.selecting)
- if(BP_GROIN)
+ if(BP_L_LEG)
+ targeted_area = SLOT_ID_UNIFORM //fetish_code.rtf
+ target_displayname = "body"
+ if(BP_R_LEG)
targeted_area = SLOT_ID_UNIFORM //fetish_code.rtf
target_displayname = "body"
if(BP_TORSO)
@@ -575,6 +586,24 @@
if(O_MOUTH)
targeted_area = SLOT_ID_MASK
target_displayname = "face"
+ if(BP_R_HAND)
+ targeted_area = SLOT_ID_GLOVES
+ target_displayname = "body"
+ if(BP_L_HAND)
+ targeted_area = SLOT_ID_GLOVES
+ target_displayname = "body"
+ if(BP_GROIN)
+ targeted_area = SLOT_ID_BACK
+ target_displayname = "back"
+ if(BP_L_FOOT)
+ targeted_area = SLOT_ID_SHOES
+ target_displayname = "feet"
+ if(BP_R_FOOT)
+ targeted_area = SLOT_ID_SHOES
+ target_displayname = "feet"
+ if(O_EYES)
+ targeted_area = SLOT_ID_GLASSES
+ target_displayname = "eyes"
if(target.equip_to_slot_if_possible(H, targeted_area, INV_OP_IGNORE_DELAY | INV_OP_SILENT))
visible_message("[src] leaps at [target]'s [target_displayname]!")
@@ -583,6 +612,140 @@
H.sync(src)
return
+/mob/living/simple_mob/protean_blob/proc/chameleon_apperance()
+ set name = "Chameleon Change"
+ set desc = "Allows a protean blob to change or reset its apperance when worn."
+ set category = "Abilities"
+
+ if(!istype(loc, /obj/item/holder))
+ to_chat(src, "You can't do that while not being held or worn.")
+ return
+
+ var/obj/item/holder/H = loc
+ var/chosen_list
+ var/icon_file
+ switch(input(src,"What type of clothing would you like to mimic or reset appearance?","Mimic Clothes") as null|anything in list("under", "suit", "hat", "gloves", "shoes", "back", "mask", "glasses", "belt", "ears", "headsets", "reset"))
+ if("reset")
+ H.color = initial(H.color)
+ H.icon_override = null
+ H.sync(src)
+ return
+ if("under")
+ chosen_list = GLOB.clothing_under
+ icon_file = 'icons/mob/clothing/uniform.dmi'
+ if("suit")
+ chosen_list = GLOB.clothing_suit
+ icon_file = 'icons/mob/clothing/suits.dmi'
+ if("hat")
+ chosen_list = GLOB.clothing_head
+ icon_file = 'icons/mob/clothing/head.dmi'
+ if("gloves")
+ chosen_list = GLOB.clothing_gloves
+ icon_file = 'icons/mob/clothing/hands.dmi'
+ if("shoes")
+ chosen_list = GLOB.clothing_shoes
+ icon_file = 'icons/mob/clothing/feet.dmi'
+ if("back")
+ chosen_list = GLOB.clothing_backpack
+ icon_file = 'icons/mob/clothing/back.dmi'
+ if("mask")
+ chosen_list = GLOB.clothing_mask
+ icon_file = 'icons/mob/clothing/mask.dmi'
+ if("glasses")
+ chosen_list = GLOB.clothing_glasses
+ icon_file = 'icons/mob/clothing/eyes.dmi'
+ if("belt")
+ chosen_list = GLOB.clothing_belt
+ icon_file = 'icons/mob/clothing/belt.dmi'
+ if("ears")
+ chosen_list = GLOB.clothing_ears
+ icon_file = 'icons/mob/clothing/ears.dmi'
+ if("headsets")
+ chosen_list = GLOB.clothing_headsets
+ icon_file = 'icons/mob/clothing/ears.dmi'
+
+ var/picked = input(src,"What clothing would you like to mimic?","Mimic Clothes") as null|anything in chosen_list
+
+ if(!ispath(chosen_list[picked]))
+ return
+
+ H.disguise(chosen_list[picked])
+ if(isnull(H.icon_override))
+ H.icon_override = icon_file
+ H.update_worn_icon() //so our overlays update.
+
+ if (ismob(H.loc))
+ var/mob/M = H.loc
+ M.update_inv_belt() //so our overlays
+ M.update_inv_back()
+
+
+/mob/living/simple_mob/protean_blob/proc/chameleon_apperance_rig()
+ set name = "Chameleon Hardsuit Change"
+ set desc = "Allows a protean blob to change or reset its apperance when worn."
+ set category = "Abilities"
+
+ if(!istype(loc, /obj/item/hardsuit/protean))
+ to_chat(src, "You can't do that while not being held or worn as a hardsuit.")
+ return
+
+ var/obj/item/hardsuit/protean/H = loc
+ var/chosen_list
+ var/obj/item/clothing/chosenpart
+
+ switch(input(src,"What type of clothing would you like to mimic or reset appearance?","Mimic Clothes") as null|anything in list("suit", "helmet", "gloves", "boots", "reset"))
+ if("reset")
+ H.boots.disguise(H.boots.type) //disguising it as itself just sets its vars back to initial which is what we want
+ H.chest.disguise(H.chest.type)
+ H.helmet.disguise(H.helmet.type)
+ H.gloves.disguise(H.gloves.type)
+ H.boots.update_worn_icon()
+ H.chest.update_worn_icon()
+ H.helmet.update_worn_icon()
+ H.gloves.update_worn_icon()
+ return
+ if("suit")
+ chosenpart = H.chest
+ chosen_list = GLOB.clothing_suit
+ if("helmet")
+ chosenpart = H.helmet
+ chosen_list = GLOB.clothing_head
+ if("gloves")
+ chosenpart = H.gloves
+ chosen_list = GLOB.clothing_gloves
+ if("boots")
+ chosenpart = H.boots
+ chosen_list = GLOB.clothing_shoes
+
+
+ var/picked = input(src,"What clothing would you like to mimic?","Mimic Clothes") as null|anything in chosen_list
+
+ if(!ispath(chosen_list[picked]))
+ return
+
+ chosenpart.disguise(chosen_list[picked])
+ chosenpart.update_worn_icon()
+
+
+/mob/living/simple_mob/protean_blob/proc/chameleon_color()
+ set name = "Chameleon Color"
+ set desc = "Allows a protean blob to change or reset its color when worn."
+ set category = "Abilities"
+
+ if(!istype(loc, /obj/item/holder))
+ to_chat(src, "You can't do that while not being held or worn.")
+ return
+
+ var/obj/item/holder/H = loc
+ var/color_in = input("Pick a color. Cancelling sets it to default.","Color", H.color) as null|color
+
+ if(color_in)
+ H.color = color_in
+ else
+ H.color = initial(H.color)
+ H.update_worn_icon() //so our overlays update.
+
+
/mob/living/simple_mob/protean_blob/make_perspective()
. = ..()
self_perspective.set_plane_visible(/atom/movable/screen/plane_master/augmented, INNATE_TRAIT)
diff --git a/icons/mob/clothing/back.dmi b/icons/mob/clothing/back.dmi
index 3ab87182172c4c55ccb6718e4a37fa90d0162268..0f0a35776adb21f5e9090d12de809c88e914326d 100644
GIT binary patch
delta 19877
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