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