diff --git a/code/game/objects/items/handcuffs.dm b/code/game/objects/items/handcuffs.dm index 5e19577b46..36a92b3db9 100644 --- a/code/game/objects/items/handcuffs.dm +++ b/code/game/objects/items/handcuffs.dm @@ -26,6 +26,7 @@ gender = PLURAL icon = 'icons/obj/items_and_weapons.dmi' icon_state = "handcuff" + item_state = "handcuff" lefthand_file = 'icons/mob/inhands/equipment/security_lefthand.dmi' righthand_file = 'icons/mob/inhands/equipment/security_righthand.dmi' flags_1 = CONDUCT_1 @@ -103,7 +104,6 @@ desc = "A pair of restraints fashioned from long strands of flesh." icon = 'icons/obj/mining.dmi' icon_state = "sinewcuff" - item_state = "sinewcuff" breakouttime = 300 //Deciseconds = 30s cuffsound = 'sound/weapons/cablecuff.ogg' @@ -172,6 +172,13 @@ desc = "Fake handcuffs meant for gag purposes." breakouttime = 10 //Deciseconds = 1s +/obj/item/restraints/handcuffs/fake/kinky + name = "kinky handcuffs" + desc = "Fake handcuffs meant for erotic roleplay." + icon = 'modular_citadel/icons/obj/items_and_weapons.dmi' + icon_state = "handcuffgag" + item_state = "kinkycuff" + /obj/item/restraints/handcuffs/cable/attackby(obj/item/I, mob/user, params) ..() if(istype(I, /obj/item/stack/rods)) @@ -206,7 +213,8 @@ /obj/item/restraints/handcuffs/cable/zipties name = "zipties" desc = "Plastic, disposable zipties that can be used to restrain temporarily but are destroyed after use." - icon_state = "cuff" + icon_state = "zipties" + item_state = "zipties" lefthand_file = 'icons/mob/inhands/equipment/security_lefthand.dmi' righthand_file = 'icons/mob/inhands/equipment/security_righthand.dmi' materials = list() @@ -217,7 +225,6 @@ /obj/item/restraints/handcuffs/cable/zipties/used desc = "A pair of broken zipties." icon_state = "cuff_used" - item_state = "cuff" /obj/item/restraints/handcuffs/cable/zipties/used/attack() return @@ -230,6 +237,7 @@ gender = PLURAL icon = 'icons/obj/items_and_weapons.dmi' icon_state = "handcuff" + item_state = "legcuff" lefthand_file = 'icons/mob/inhands/equipment/security_lefthand.dmi' righthand_file = 'icons/mob/inhands/equipment/security_righthand.dmi' flags_1 = CONDUCT_1 diff --git a/code/modules/antagonists/clockcult/clock_helpers/slab_abilities.dm b/code/modules/antagonists/clockcult/clock_helpers/slab_abilities.dm index 530c4c5662..23caa788d4 100644 --- a/code/modules/antagonists/clockcult/clock_helpers/slab_abilities.dm +++ b/code/modules/antagonists/clockcult/clock_helpers/slab_abilities.dm @@ -67,6 +67,7 @@ name = "replicant manacles" desc = "Heavy manacles made out of freezing-cold metal. It looks like brass, but feels much more solid." icon_state = "brass_manacles" + item_state = "brass_manacles" item_flags = DROPDEL /obj/item/restraints/handcuffs/clockwork/dropped(mob/user) diff --git a/code/modules/mob/living/carbon/alien/humanoid/update_icons.dm b/code/modules/mob/living/carbon/alien/humanoid/update_icons.dm index e1a7752e9d..d2788075e2 100644 --- a/code/modules/mob/living/carbon/alien/humanoid/update_icons.dm +++ b/code/modules/mob/living/carbon/alien/humanoid/update_icons.dm @@ -59,15 +59,19 @@ /mob/living/carbon/alien/humanoid/update_inv_handcuffed() remove_overlay(HANDCUFF_LAYER) - var/cuff_icon = "aliencuff" - var/dmi_file = 'icons/mob/alien.dmi' - - if(mob_size == MOB_SIZE_LARGE) - cuff_icon = "aliencuff_[caste]" - dmi_file = 'icons/mob/alienqueen.dmi' if(handcuffed) - overlays_standing[HANDCUFF_LAYER] = mutable_appearance(dmi_file, cuff_icon, -HANDCUFF_LAYER) + var/cuff_icon = handcuffed.item_state + var/dmi_file = 'icons/mob/alien.dmi' + + if(mob_size == MOB_SIZE_LARGE) + cuff_icon += "_[caste]" + dmi_file = 'icons/mob/alienqueen.dmi' + + var/mutable_appearance/cuffs = mutable_appearance(dmi_file, cuff_icon, -HANDCUFF_LAYER) + cuffs.color = handcuffed.color + + overlays_standing[HANDCUFF_LAYER] = cuffs apply_overlay(HANDCUFF_LAYER) //Royals have bigger sprites, so inhand things must be handled differently. diff --git a/code/modules/mob/living/carbon/carbon_defines.dm b/code/modules/mob/living/carbon/carbon_defines.dm index e9114d5298..a067be798f 100644 --- a/code/modules/mob/living/carbon/carbon_defines.dm +++ b/code/modules/mob/living/carbon/carbon_defines.dm @@ -11,8 +11,8 @@ var/silent = FALSE //Can't talk. Value goes down every life proc. //NOTE TO FUTURE CODERS: DO NOT INITIALIZE NUMERICAL VARS AS NULL OR I WILL MURDER YOU. var/dreaming = 0 //How many dream images we have left to send - var/obj/item/handcuffed = null //Whether or not the mob is handcuffed - var/obj/item/legcuffed = null //Same as handcuffs but for legs. Bear traps use this. + var/obj/item/restraints/handcuffed //Whether or not the mob is handcuffed + var/obj/item/restraints/legcuffed //Same as handcuffs but for legs. Bear traps use this. var/disgust = 0 diff --git a/code/modules/mob/living/carbon/human/update_icons.dm b/code/modules/mob/living/carbon/human/update_icons.dm index 07022e625c..72ff7e7a60 100644 --- a/code/modules/mob/living/carbon/human/update_icons.dm +++ b/code/modules/mob/living/carbon/human/update_icons.dm @@ -473,14 +473,6 @@ There are several things that need to be remembered: overlays_standing[BACK_LAYER] = back_overlay apply_overlay(BACK_LAYER) -/mob/living/carbon/human/update_inv_legcuffed() - remove_overlay(LEGCUFF_LAYER) - clear_alert("legcuffed") - if(legcuffed) - overlays_standing[LEGCUFF_LAYER] = mutable_appearance('icons/mob/mob.dmi', "legcuff1", -LEGCUFF_LAYER) - apply_overlay(LEGCUFF_LAYER) - throw_alert("legcuffed", /obj/screen/alert/restrained/legcuffed, new_master = src.legcuffed) - /proc/wear_female_version(t_color, icon, layer, type) var/index = t_color var/icon/female_clothing_icon = GLOB.female_clothing_icons[index] diff --git a/code/modules/mob/living/carbon/monkey/update_icons.dm b/code/modules/mob/living/carbon/monkey/update_icons.dm index 6311776596..e9bb9fc207 100644 --- a/code/modules/mob/living/carbon/monkey/update_icons.dm +++ b/code/modules/mob/living/carbon/monkey/update_icons.dm @@ -43,12 +43,15 @@ /mob/living/carbon/monkey/update_inv_legcuffed() remove_overlay(LEGCUFF_LAYER) + clear_alert("legcuffed") if(legcuffed) - var/mutable_appearance/legcuff_overlay = mutable_appearance('icons/mob/mob.dmi', "legcuff1", -LEGCUFF_LAYER) - legcuff_overlay.pixel_y = 8 - overlays_standing[LEGCUFF_LAYER] = legcuff_overlay - apply_overlay(LEGCUFF_LAYER) + var/mutable_appearance/legcuffs = mutable_appearance('icons/mob/restraints.dmi', legcuffed.item_state, -LEGCUFF_LAYER) + legcuffs.color = handcuffed.color + legcuffs.pixel_y = 8 + overlays_standing[HANDCUFF_LAYER] = legcuffs + apply_overlay(LEGCUFF_LAYER) + throw_alert("legcuffed", /obj/screen/alert/restrained/legcuffed, new_master = legcuffed) //monkey HUD updates for items in our inventory diff --git a/code/modules/mob/living/carbon/update_icons.dm b/code/modules/mob/living/carbon/update_icons.dm index 87bf662c4f..44c2508894 100644 --- a/code/modules/mob/living/carbon/update_icons.dm +++ b/code/modules/mob/living/carbon/update_icons.dm @@ -176,9 +176,22 @@ /mob/living/carbon/update_inv_handcuffed() remove_overlay(HANDCUFF_LAYER) if(handcuffed) - overlays_standing[HANDCUFF_LAYER] = mutable_appearance('icons/mob/mob.dmi', "handcuff1", -HANDCUFF_LAYER) + var/mutable_appearance/cuffs = mutable_appearance('icons/mob/restraints.dmi', handcuffed.item_state, -HANDCUFF_LAYER) + cuffs.color = handcuffed.color + + overlays_standing[HANDCUFF_LAYER] = cuffs apply_overlay(HANDCUFF_LAYER) +/mob/living/carbon/update_inv_legcuffed() + remove_overlay(LEGCUFF_LAYER) + clear_alert("legcuffed") + if(legcuffed) + var/mutable_appearance/legcuffs = mutable_appearance('icons/mob/restraints.dmi', legcuffed.item_state, -LEGCUFF_LAYER) + legcuffs.color = handcuffed.color + + overlays_standing[HANDCUFF_LAYER] = legcuffs + apply_overlay(LEGCUFF_LAYER) + throw_alert("legcuffed", /obj/screen/alert/restrained/legcuffed, new_master = legcuffed) //mob HUD updates for items in our inventory diff --git a/icons/mob/alien.dmi b/icons/mob/alien.dmi index c50351eef3..21238366f1 100644 Binary files a/icons/mob/alien.dmi and b/icons/mob/alien.dmi differ diff --git a/icons/mob/alienqueen.dmi b/icons/mob/alienqueen.dmi index 115bd17cb0..1176f43edd 100644 Binary files a/icons/mob/alienqueen.dmi and b/icons/mob/alienqueen.dmi differ diff --git a/icons/mob/inhands/equipment/security_lefthand.dmi b/icons/mob/inhands/equipment/security_lefthand.dmi index 6ccdfba3fc..01f8e2ca27 100644 Binary files a/icons/mob/inhands/equipment/security_lefthand.dmi and b/icons/mob/inhands/equipment/security_lefthand.dmi differ diff --git a/icons/mob/inhands/equipment/security_righthand.dmi b/icons/mob/inhands/equipment/security_righthand.dmi index e3f930a13e..d2126fe22f 100644 Binary files a/icons/mob/inhands/equipment/security_righthand.dmi and b/icons/mob/inhands/equipment/security_righthand.dmi differ diff --git a/icons/mob/mob.dmi b/icons/mob/mob.dmi index 1649706279..9beedfb417 100644 Binary files a/icons/mob/mob.dmi and b/icons/mob/mob.dmi differ diff --git a/icons/mob/restraints.dmi b/icons/mob/restraints.dmi new file mode 100644 index 0000000000..fa7eb43aa3 Binary files /dev/null and b/icons/mob/restraints.dmi differ diff --git a/modular_citadel/code/game/objects/items/handcuffs.dm b/modular_citadel/code/game/objects/items/handcuffs.dm deleted file mode 100644 index ed5e8a191e..0000000000 --- a/modular_citadel/code/game/objects/items/handcuffs.dm +++ /dev/null @@ -1,5 +0,0 @@ -/obj/item/restraints/handcuffs/fake/kinky - name = "kinky handcuffs" - desc = "Fake handcuffs meant for erotic roleplay." - icon = 'modular_citadel/icons/obj/items_and_weapons.dmi' - icon_state = "handcuffgag" diff --git a/tgstation.dme b/tgstation.dme index ad4db0e4a9..e1d7bd9b24 100755 --- a/tgstation.dme +++ b/tgstation.dme @@ -2884,7 +2884,6 @@ #include "modular_citadel\code\game\objects\effects\temporary_visuals\projectiles\tracer.dm" #include "modular_citadel\code\game\objects\items\balls.dm" #include "modular_citadel\code\game\objects\items\boombox.dm" -#include "modular_citadel\code\game\objects\items\handcuffs.dm" #include "modular_citadel\code\game\objects\items\holy_weapons.dm" #include "modular_citadel\code\game\objects\items\honk.dm" #include "modular_citadel\code\game\objects\items\meat.dm"