diff --git a/modular_splurt/code/game/objects/items/lewd_items/genital_equipment/chastity/chastity_cage.dm b/modular_splurt/code/game/objects/items/lewd_items/genital_equipment/chastity/chastity_cage.dm index 760194d9df..45dd1355c9 100644 --- a/modular_splurt/code/game/objects/items/lewd_items/genital_equipment/chastity/chastity_cage.dm +++ b/modular_splurt/code/game/objects/items/lewd_items/genital_equipment/chastity/chastity_cage.dm @@ -31,6 +31,8 @@ var/overlay_layer = -(GENITALS_FRONT_LAYER - 0.01) var/is_overlay_on + var/cage_sprite + /obj/item/genital_equipment/chastity_cage/Initialize(mapload, obj/item/key/chastity_key/newkey = null) . = ..() @@ -38,8 +40,6 @@ key = newkey color = pick(list(COLOR_LIGHT_PINK, COLOR_STRONG_VIOLET, null)) - cage_overlay = mutable_appearance(icon, worn_icon_state ? worn_icon_state : "worn_[icon_state]", overlay_layer) - cage_overlay.color = color //Set the overlay's color to the cage item's /obj/item/genital_equipment/chastity_cage/Destroy() if(owner) @@ -117,6 +117,17 @@ //turn that flag on ENABLE_BITFIELD(penor.genital_flags, GENITAL_CHASTENED) + switch(penor.size) + if(1 to 2) + cage_sprite = 1 + if(3 to 4) + cage_sprite = 2 + if(5) + cage_sprite = 3 + + cage_overlay = mutable_appearance(icon, worn_icon_state ? worn_icon_state : "worn_[icon_state]_[cage_sprite]", overlay_layer) + cage_overlay.color = color //Set the overlay's color to the cage item's + H.add_overlay(cage_overlay) is_overlay_on = TRUE diff --git a/modular_splurt/code/game/objects/items/lewd_items/genital_equipment/chastity/metal_chastity_cage.dm b/modular_splurt/code/game/objects/items/lewd_items/genital_equipment/chastity/metal_chastity_cage.dm index 3a5668a482..ccc3a8be17 100644 --- a/modular_splurt/code/game/objects/items/lewd_items/genital_equipment/chastity/metal_chastity_cage.dm +++ b/modular_splurt/code/game/objects/items/lewd_items/genital_equipment/chastity/metal_chastity_cage.dm @@ -6,16 +6,24 @@ break_require = TOOL_WELDER var/jingle_chance = 1.25//in percentage + var/mutable_appearance/skin_overlay + var/skin_overlay_layer = -(GENITALS_FRONT_LAYER - 0.02) -/obj/item/genital_equipment/chastity_cage/metal/equip() +/obj/item/genital_equipment/chastity_cage/metal/equip(user, target, obj/item/organ/genital/penis/penor) . = ..() RegisterSignal(owner, COMSIG_MOVABLE_MOVED, .proc/on_move) + skin_overlay = mutable_appearance(icon, "worn_[icon_state]_[cage_sprite]_skin", skin_overlay_layer) + skin_overlay.color = penor.color + + owner.add_overlay(skin_overlay) + /obj/item/genital_equipment/chastity_cage/metal/proc/on_move(atom/old_loc, dir) if(owner.stat == CONSCIOUS && prob(jingle_chance)) owner.visible_message("[owner.name] jingles slightly as they move.", "You jingle slightly as you move.") -/obj/item/genital_equipment/chastity_cage/metal/unequip_process(obj/item/organ/genital/G) +/obj/item/genital_equipment/chastity_cage/metal/unequip(obj/item/organ/genital/G) UnregisterSignal(owner, COMSIG_MOVABLE_MOVED) + owner.cut_overlay(skin_overlay) . = ..() diff --git a/modular_splurt/icons/obj/lewd_items/chastity.dmi b/modular_splurt/icons/obj/lewd_items/chastity.dmi index 531971b7bb..60fd57b608 100644 Binary files a/modular_splurt/icons/obj/lewd_items/chastity.dmi and b/modular_splurt/icons/obj/lewd_items/chastity.dmi differ