diff --git a/code/game/objects/items/storage/belt.dm b/code/game/objects/items/storage/belt.dm
index 4b2ce220..6f40f8bf 100644
--- a/code/game/objects/items/storage/belt.dm
+++ b/code/game/objects/items/storage/belt.dm
@@ -230,6 +230,33 @@
new /obj/item/melee/baton/loaded(src)
update_icon()
+/obj/item/storage/belt/slut
+ name = "slutcurity belt"
+ desc = "Holds a variety of gear for \"alternative\" peacekeeping."
+ icon_state = "slutbelt"
+ item_state = "slut"
+
+obj/item/storage/belt/slut/ComponentInitialize()
+ . = ..()
+ GET_COMPONENT(STR, /datum/component/storage)
+ STR.max_items = 5
+ STR.max_w_class = WEIGHT_CLASS_NORMAL
+ STR.can_hold = typecacheof(list(
+ /obj/item/melee/baton,
+ /obj/item/reagent_containers/spray/pepper,
+ /obj/item/restraints/handcuffs,
+ /obj/item/assembly/flash/handheld,
+ /obj/item/clothing/glasses,
+ /obj/item/reagent_containers/food/snacks/donut,
+ /obj/item/flashlight/seclite,
+ /obj/item/radio,
+ /obj/item/clothing/gloves,
+ /obj/item/restraints/legcuffs/bola,
+ /obj/item/dildo,
+ /obj/item/leash,
+ /obj/item/condom
+ ))
+
/obj/item/storage/belt/mining
name = "explorer's webbing"
desc = "A versatile chest rig, cherished by miners and hunters alike."
diff --git a/code/modules/clothing/masks/hailer.dm b/code/modules/clothing/masks/hailer.dm
index f004f07b..f489c639 100644
--- a/code/modules/clothing/masks/hailer.dm
+++ b/code/modules/clothing/masks/hailer.dm
@@ -38,10 +38,32 @@
aggressiveness = 1 //Borgs are nicecurity!
actions_types = list(/datum/action/item_action/halt)
+/obj/item/clothing/mask/gas/sechailer/slut
+ name = "slutcurity hailer"
+ desc = "A modified Security gas mask designed for softer apprehension, now with a hot pink paintjob!"
+ icon_state = "sluthailer"
+ item_state = "sluthailer"
+ aggressiveness = 0 //can't have your pets being mean!
+ actions_types = list(/datum/action/item_action/halt)
+
+/obj/item/clothing/mask/gas/sechailer/slut/attack_hand(mob/user)
+ if(iscarbon(user))
+ var/mob/living/carbon/C = user
+ if(src == C.wear_mask)
+ to_chat(user, "The mask is fastened tight! You'll need help taking this off!")
+ return
+ ..()
+
/obj/item/clothing/mask/gas/sechailer/screwdriver_act(mob/living/user, obj/item/I)
if(..())
return TRUE
switch(aggressiveness)
+ if(-1)
+ to_chat(user, "You set the restrictor to the on position.")
+ aggressiveness = 0
+ if(0)
+ to_chat(user, "You set the restrictor to the off position.")
+ aggressiveness = -1
if(1)
to_chat(user, "You set the restrictor to the middle position.")
aggressiveness = 2
@@ -109,6 +131,10 @@
return
switch(aggressiveness) // checks if the user has unlocked the restricted phrases
+ if(-1)
+ return // the mask will not play anything
+ if(0)
+ phrase = rand(19,24) // the mask will only play 'slut cop' phrases
if(1)
phrase = rand(1,5) // set the upper limit as the phrase above the first 'bad cop' phrase, the mask will only play 'nice' phrases
if(2)
@@ -178,8 +204,29 @@
if(18)
phrase_text = "I am, the LAW!"
phrase_sound = "dredd"
+ if(19) // slut cop
+ phrase_text = "Your ass is mine!"
+ phrase_sound = "ass"
+ if(20) //Thank you Yappy for 19 & 20
+ phrase_text = "Your consent is forfeit."
+ phrase_sound = "consent"
+ if(21)
+ phrase_text = "Fuck my brains out, I dare you."
+ phrase_sound = "brains"
+ if(22)
+ phrase_text = "Hands up, pants down."
+ phrase_sound = "pants"
+ if(23)
+ phrase_text = "On your knees, and say please."
+ phrase_sound = "knees"
+ if(24) //Thank you Nata for 22-24
+ phrase_text = "Empty or not, I'm cumming for you!"
+ phrase_sound = "empty"
- usr.audible_message("[usr]'s Compli-o-Nator: [phrase_text]")
+ if(aggressiveness == 0)
+ usr.audible_message("[usr]'s Compli-o-Nator: [phrase_text]")
+ else
+ usr.audible_message("[usr]'s Compli-o-Nator: [phrase_text]")
playsound(src.loc, "sound/voice/complionator/[phrase_sound].ogg", 100, 0, 4)
cooldown = world.time
cooldown_special = world.time
diff --git a/code/modules/clothing/masks/miscellaneous.dm b/code/modules/clothing/masks/miscellaneous.dm
index 1eb21de3..c8399321 100644
--- a/code/modules/clothing/masks/miscellaneous.dm
+++ b/code/modules/clothing/masks/miscellaneous.dm
@@ -9,7 +9,7 @@
equip_delay_other = 20
mutantrace_variation = MUTANTRACE_VARIATION
-/obj/item/clothing/mask/muzzle/attack_paw(mob/user)
+/obj/item/clothing/mask/muzzle/attack_hand(mob/user)
if(iscarbon(user))
var/mob/living/carbon/C = user
if(src == C.wear_mask)
diff --git a/code/modules/clothing/under/jobs/security.dm b/code/modules/clothing/under/jobs/security.dm
index 2fefc9f4..c33eb8b4 100644
--- a/code/modules/clothing/under/jobs/security.dm
+++ b/code/modules/clothing/under/jobs/security.dm
@@ -24,6 +24,12 @@
icon_state = "security"
item_state = "gy_suit"
item_color = "security"
+/obj/item/clothing/under/rank/security/pink
+ name = "pink security jumpsuit"
+ desc = "A tactical security jumpsuit for officers that screw up their laundry."
+ icon_state = "rsecuritypink"
+ item_state = "r_suit"
+ item_color = "rsecuritypink"
/obj/item/clothing/under/rank/security/skirt
name = "security jumpskirt"
desc = "A \"tactical\" security jumpsuit with the legs replaced by a skirt."
@@ -40,6 +46,10 @@
item_state = "secslutskirt"
item_color = null //i dont understand what item_color even is, apparently setting it to null means it won't change color in a washing machine?
mutantrace_variation = NO_MUTANTRACE_VARIATION //look at the first two comments in vg_under.dm
+/obj/item/clothing/under/rank/security/skirt/slut/pink
+ desc = "A \"\"\"tactical\"\"\" security jumpsuit with the legs replaced by a skirt. No matter how you adjust it, it always feels a little too small. This one seems to have an experimental color scheme."
+ icon_state = "secslutskirtpink"
+ item_state = "secslutskirtpink"
/obj/item/clothing/under/rank/security/stripper
name = "security stripper outfit"
desc = "This can't be dress code compliant, can it?"
diff --git a/code/modules/mob/living/carbon/carbon.dm b/code/modules/mob/living/carbon/carbon.dm
index 0afe2d08..2800eb8f 100644
--- a/code/modules/mob/living/carbon/carbon.dm
+++ b/code/modules/mob/living/carbon/carbon.dm
@@ -274,7 +274,7 @@
loc.handle_fall(src, forced)//it's loc so it doesn't call the mob's handle_fall which does nothing
/mob/living/carbon/is_muzzled()
- return(istype(src.wear_mask, /obj/item/clothing/mask/muzzle))
+ return(istype(src.wear_mask, /obj/item/clothing/mask/muzzle)||istype(src.wear_mask, /obj/item/clothing/mask/gas/sechailer/slut)) //i sure do love snowflake code
/mob/living/carbon/hallucinating()
if(hallucination)
diff --git a/code/modules/vending/security.dm b/code/modules/vending/security.dm
index 629548bc..79e6c608 100644
--- a/code/modules/vending/security.dm
+++ b/code/modules/vending/security.dm
@@ -17,8 +17,12 @@
contraband = list(/obj/item/clothing/glasses/sunglasses = 2,
/obj/item/storage/fancy/donut_box = 2,
/obj/item/ssword_kit = 1,
- /obj/item/clothing/neck/petcollar/locked/security = 3,
- /obj/item/electropack/shockcollar/security = 3)
+ /obj/item/clothing/suit/armor/vest/stripper = 5,
+ /obj/item/clothing/suit/armor/vest/stripper/bikini = 5,
+ /obj/item/clothing/neck/petcollar/locked/security = 5,
+ /obj/item/electropack/shockcollar/security = 5,
+ /obj/item/storage/belt/slut = 5,
+ /obj/item/clothing/mask/gas/sechailer/slut = 5)
premium = list(/obj/item/coin/antagtoken = 1,
/obj/item/clothing/head/helmet/blueshirt = 1,
/obj/item/clothing/suit/armor/vest/blueshirt = 1,
diff --git a/code/modules/vending/wardrobes.dm b/code/modules/vending/wardrobes.dm
index fa632db0..553738a8 100644
--- a/code/modules/vending/wardrobes.dm
+++ b/code/modules/vending/wardrobes.dm
@@ -22,10 +22,13 @@
premium = list(/obj/item/clothing/under/rank/security/navyblue = 5,
/obj/item/clothing/suit/security/officer = 5,
/obj/item/clothing/head/beret/sec/navyofficer = 5,
- /obj/item/clothing/under/rank/security/skirt/slut = 3,
- /obj/item/clothing/under/rank/security/stripper = 3,
- /obj/item/clothing/shoes/jackboots/tall = 3,
- /obj/item/clothing/head/beret/sec/bitch = 3)
+ /obj/item/clothing/under/rank/security/pink = 5,
+ /obj/item/clothing/under/rank/security/skirt/slut = 5,
+ /obj/item/clothing/under/rank/security/skirt/slut/pink = 5,
+ /obj/item/clothing/under/rank/security/stripper = 5,
+ /obj/item/clothing/shoes/jackboots/tall = 5,
+ /obj/item/clothing/head/beret/sec/bitch = 5,
+ /obj/item/clothing/gloves/latexsleeves/security = 5)
refill_canister = /obj/item/vending_refill/wardrobe/sec_wardrobe
/obj/item/vending_refill/wardrobe/sec_wardrobe
diff --git a/hyperstation/code/obj/kinkyclothes.dm b/hyperstation/code/obj/kinkyclothes.dm
index 032e3313..9c6c2e5f 100644
--- a/hyperstation/code/obj/kinkyclothes.dm
+++ b/hyperstation/code/obj/kinkyclothes.dm
@@ -7,6 +7,12 @@
alternate_worn_icon = 'hyperstation/icons/mobs/gloves.dmi'
mutantrace_variation = NO_MUTANTRACE_VARIATION
+/obj/item/clothing/gloves/latexsleeves/security
+ name = "security sleeves"
+ desc = "A pair of latex sleeves, with a band of red above the elbows denoting that the wearer is part of the security team."
+ icon_state = "latexsec"
+ item_state = "latexsec"
+
/obj/item/clothing/head/dominatrixcap
name = "dominatrix cap"
desc = "A sign of authority, over the body."
@@ -23,4 +29,4 @@
item_state = "highheels"
icon = 'hyperstation/icons/obj/clothing/shoes.dmi'
alternate_worn_icon = 'hyperstation/icons/mobs/feet.dmi'
- mutantrace_variation = NO_MUTANTRACE_VARIATION
\ No newline at end of file
+ mutantrace_variation = NO_MUTANTRACE_VARIATION
diff --git a/hyperstation/icons/mobs/gloves.dmi b/hyperstation/icons/mobs/gloves.dmi
index 39e9b9b2..b453a69d 100644
Binary files a/hyperstation/icons/mobs/gloves.dmi and b/hyperstation/icons/mobs/gloves.dmi differ
diff --git a/hyperstation/icons/obj/clothing/gloves.dmi b/hyperstation/icons/obj/clothing/gloves.dmi
index 3f3f8f0a..652a7a56 100644
Binary files a/hyperstation/icons/obj/clothing/gloves.dmi and b/hyperstation/icons/obj/clothing/gloves.dmi differ
diff --git a/icons/mob/belt.dmi b/icons/mob/belt.dmi
index ad4ffaef..8e98eade 100644
Binary files a/icons/mob/belt.dmi and b/icons/mob/belt.dmi differ
diff --git a/icons/mob/mask.dmi b/icons/mob/mask.dmi
index 2a649811..30ac12e2 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 44346aca..25d3ea8e 100644
Binary files a/icons/mob/uniform.dmi and b/icons/mob/uniform.dmi differ
diff --git a/icons/obj/clothing/belts.dmi b/icons/obj/clothing/belts.dmi
index 121d2220..8d8cd646 100644
Binary files a/icons/obj/clothing/belts.dmi and b/icons/obj/clothing/belts.dmi differ
diff --git a/icons/obj/clothing/masks.dmi b/icons/obj/clothing/masks.dmi
index 2478d882..178fed62 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 905ab355..05b7a555 100644
Binary files a/icons/obj/clothing/uniforms.dmi and b/icons/obj/clothing/uniforms.dmi differ
diff --git a/modular_citadel/icons/mob/muzzled_mask.dmi b/modular_citadel/icons/mob/muzzled_mask.dmi
index eb51e97e..cb12318f 100644
Binary files a/modular_citadel/icons/mob/muzzled_mask.dmi and b/modular_citadel/icons/mob/muzzled_mask.dmi differ
diff --git a/modular_citadel/icons/mob/uniform_digi.dmi b/modular_citadel/icons/mob/uniform_digi.dmi
index 66899752..fd3c3cd9 100644
Binary files a/modular_citadel/icons/mob/uniform_digi.dmi and b/modular_citadel/icons/mob/uniform_digi.dmi differ