diff --git a/code/game/objects/items/weaponry.dm b/code/game/objects/items/weaponry.dm
index e270faaf..1e464612 100644
--- a/code/game/objects/items/weaponry.dm
+++ b/code/game/objects/items/weaponry.dm
@@ -663,3 +663,26 @@ for further reading, please see: https://github.com/tgstation/tgstation/pull/301
to_chat(user, "[M] is too close to use [src] on.")
return
M.attack_hand(user)
+
+/obj/item/bdsm_whip
+ name = "bdsm whip"
+ desc = "A less lethal version of the whip the librarian has. Still hurts, but just the way you like it."
+ icon_state = "whip"
+ item_state = "chain"
+ lefthand_file = 'icons/mob/inhands/weapons/melee_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/weapons/melee_righthand.dmi'
+ slot_flags = ITEM_SLOT_BELT
+ damtype = "arousal"
+ throwforce = 0
+ force = 5
+ w_class = WEIGHT_CLASS_NORMAL
+ attack_verb = list("flogged", "whipped", "lashed", "disciplined")
+
+/obj/item/bdsm_whip/suicide_act(mob/user)
+ user.visible_message("[user] is getting just a little too kinky!")
+ return (OXYLOSS)
+
+/obj/item/bdsm_whip/attack(mob/M, mob/user)
+ playsound(loc, 'sound/weapons/whip.ogg', 30)
+ if(user.a_intent != INTENT_HELP)
+ return ..(M, user)
\ No newline at end of file
diff --git a/code/modules/clothing/masks/gasmask.dm b/code/modules/clothing/masks/gasmask.dm
index 62bcbc3d..6ac07940 100644
--- a/code/modules/clothing/masks/gasmask.dm
+++ b/code/modules/clothing/masks/gasmask.dm
@@ -73,6 +73,8 @@
clownmask_designs = list(
"True Form" = image(icon = src.icon, icon_state = "clown"),
"The Feminist" = image(icon = src.icon, icon_state = "sexyclown"),
+ "Clean True Form" = image(icon = src.icon, icon_state = "clown_clean"),
+ "The Feminist Clean" = image(icon = src.icon, icon_state = "sexyclown_clean"),
"The Madman" = image(icon = src.icon, icon_state = "joker"),
"The Rainbow Color" = image(icon = src.icon, icon_state = "rainbow")
)
@@ -81,8 +83,7 @@
if(!istype(user) || user.incapacitated())
return
- var/static/list/options = list("True Form" = "clown", "The Feminist" = "sexyclown",
- "The Rainbow Color" = "rainbow", "The Madman" = "joker")
+ var/static/list/options = list("True Form" = "clown", "The Feminist" = "sexyclown", "Clean True Form" = "clown_clean", "The Feminist Clean" = "sexyclown_clean", "The Rainbow Color" = "rainbow", "The Madman" = "joker")
var/choice = show_radial_menu(user,src, clownmask_designs, custom_check = FALSE, radius = 36, require_near = TRUE)
diff --git a/code/modules/clothing/under/miscellaneous.dm b/code/modules/clothing/under/miscellaneous.dm
index 741026f9..3ea406e8 100644
--- a/code/modules/clothing/under/miscellaneous.dm
+++ b/code/modules/clothing/under/miscellaneous.dm
@@ -125,7 +125,7 @@
icon_state = "centcom"
item_state = "dg_suit"
item_color = "centcom"
-/obj/item/clothing/under/rank/centcom_officer/skirt
+/obj/item/clothing/under/rank/centcom_officer/skirt
name = "\improper CentCom Officer's jumpskirt"
desc = "It's a jumpskirt worn by CentCom's officials, adorned with a golden K and a star, signifying work under Kinaris."
icon_state = "official_skirt"
@@ -133,7 +133,7 @@
item_color = "official_skirt"
body_parts_covered = CHEST|GROIN|ARMS
fitted = FEMALE_UNIFORM_TOP
- can_adjust = FALSE
+ can_adjust = FALSE
/obj/item/clothing/under/space
name = "\improper NASA jumpsuit"
desc = "It has a NASA logo on it and is made of space-proofed materials."
@@ -765,7 +765,7 @@
item_state = "christmasfemaleg"
body_parts_covered = CHEST|GROIN
can_adjust = FALSE
-
+
/obj/item/clothing/under/zone/monolith
name = "Urban BDU"
desc = "A splinter urban camouflage Battle-Dress uniform."
@@ -775,3 +775,12 @@
fitted = NO_FEMALE_UNIFORM
can_adjust = FALSE
resistance_flags = NONE
+
+/obj/item/clothing/under/corset
+ name = "black corset"
+ desc = "We are not resposible for any organ damage."
+ icon_state = "corset"
+ item_state = "corset"
+ body_parts_covered = CHEST|GROIN
+ can_adjust = FALSE
+ fitted = FEMALE_UNIFORM_TOP
\ No newline at end of file
diff --git a/icons/mob/mask.dmi b/icons/mob/mask.dmi
index 3edd2e2a..37607356 100644
Binary files a/icons/mob/mask.dmi and b/icons/mob/mask.dmi differ
diff --git a/icons/mob/uniform.dmi b/icons/mob/uniform.dmi
index fe1ec7ef..5f94b15a 100644
Binary files a/icons/mob/uniform.dmi and b/icons/mob/uniform.dmi differ
diff --git a/icons/obj/clothing/masks.dmi b/icons/obj/clothing/masks.dmi
index 7ed165f9..fd85a879 100644
Binary files a/icons/obj/clothing/masks.dmi and b/icons/obj/clothing/masks.dmi differ
diff --git a/icons/obj/clothing/uniforms.dmi b/icons/obj/clothing/uniforms.dmi
index 3554db2f..e740aa1e 100644
Binary files a/icons/obj/clothing/uniforms.dmi and b/icons/obj/clothing/uniforms.dmi differ
diff --git a/modular_citadel/code/game/machinery/vending.dm b/modular_citadel/code/game/machinery/vending.dm
index a621f249..e364ebdb 100644
--- a/modular_citadel/code/game/machinery/vending.dm
+++ b/modular_citadel/code/game/machinery/vending.dm
@@ -56,14 +56,16 @@
/obj/item/clothing/under/polychromic/bikini = 3,
/obj/item/clothing/under/polychromic/shortpants/pantsu = 3,
/obj/item/clothing/under/polychromic/bulge = 3,
- /obj/item/clothing/suit/maidapron = 3
+ /obj/item/clothing/suit/maidapron = 3,
+ /obj/item/clothing/under/corset = 3
)
contraband = list(/obj/item/restraints/handcuffs/fake/kinky = 5,
/obj/item/clothing/neck/petcollar = 5,
/obj/item/clothing/under/mankini = 1,
/obj/item/dildo/flared/huge = 1,
/obj/item/clothing/head/dominatrixcap = 1,
- /obj/item/mesmetron = 1
+ /obj/item/mesmetron = 1,
+ /obj/item/bdsm_whip = 1
)
premium = list(
/obj/item/electropack/shockcollar = 3,
diff --git a/modular_citadel/code/modules/client/loadout/backpack.dm b/modular_citadel/code/modules/client/loadout/backpack.dm
index 550726ed..e5465b01 100644
--- a/modular_citadel/code/modules/client/loadout/backpack.dm
+++ b/modular_citadel/code/modules/client/loadout/backpack.dm
@@ -149,3 +149,9 @@
category = SLOT_IN_BACKPACK
path = /obj/item/storage/fancy/ringbox/diamond
cost = 5
+
+/datum/gear/condom
+ name = "Condom"
+ category = SLOT_IN_BACKPACK
+ path = /obj/item/condom
+ cost = 1
diff --git a/modular_citadel/code/modules/client/loadout/uniform.dm b/modular_citadel/code/modules/client/loadout/uniform.dm
index 5c35f693..023507fc 100644
--- a/modular_citadel/code/modules/client/loadout/uniform.dm
+++ b/modular_citadel/code/modules/client/loadout/uniform.dm
@@ -416,4 +416,10 @@
name = "Polychromic Bottomless Shirt"
category = SLOT_W_UNIFORM
path = /obj/item/clothing/under/polychromic/bottomless
- cost = 2
\ No newline at end of file
+ cost = 2
+
+/datum/gear/corset
+ name = "Corset"
+ category = SLOT_W_UNIFORM
+ path = /obj/item/clothing/under/corset
+ cost = 1
\ No newline at end of file
diff --git a/modular_citadel/icons/mob/mask.dmi b/modular_citadel/icons/mob/mask.dmi
index 93c02666..18d51805 100644
Binary files a/modular_citadel/icons/mob/mask.dmi and b/modular_citadel/icons/mob/mask.dmi differ
diff --git a/modular_citadel/icons/mob/muzzled_mask.dmi b/modular_citadel/icons/mob/muzzled_mask.dmi
index fafc1576..6b81c80d 100644
Binary files a/modular_citadel/icons/mob/muzzled_mask.dmi and b/modular_citadel/icons/mob/muzzled_mask.dmi differ