diff --git a/code/game/machinery/deployable.dm b/code/game/machinery/deployable.dm index 2e78d72b..f4154eac 100644 --- a/code/game/machinery/deployable.dm +++ b/code/game/machinery/deployable.dm @@ -191,6 +191,17 @@ /obj/item/grenade/barrier/ui_action_click(mob/user) toggle_mode(user) +/obj/item/grenade/secbed + name = "security bed grenade" + desc = "A nice red and black pet bed, now in a compact, throwable package! No more wrestling entire beds out of vending machines!" + icon = 'icons/obj/grenade.dmi' + icon_state = "flashbang" + item_state = "flashbang" + +/obj/item/grenade/secbed/prime() + new /obj/structure/bed/secbed(get_turf(src.loc)) + qdel(src) + #undef SINGLE #undef VERTICAL diff --git a/code/game/objects/items/implants/implant_slave.dm b/code/game/objects/items/implants/implant_slave.dm index babba2af..018a031c 100644 --- a/code/game/objects/items/implants/implant_slave.dm +++ b/code/game/objects/items/implants/implant_slave.dm @@ -1,6 +1,6 @@ /obj/item/implant/slave name = "slave implant" - desc = "Turns you into security's new pet." + desc = "Turns criminals into security's new pet." resistance_flags = INDESTRUCTIBLE activated = 0 @@ -8,7 +8,7 @@ var/dat = {"Implant Specifications:
Name: Alternative Criminal Reassignment Implant
Life: Ten years.
- Important Notes: Personnel injected with this device are forced to be fully subservient to security personnel. Incompatible with mindshield-class implants.
+ Important Notes: Incompatible with mindshield-class implants. Implant should be reserved for criminal punishment only. Recreational use is heavily frowned upon.

Implant Details:
Function: Overrides the host's mental functions with an innate desire to serve security personnel, obeying nearly any command.
@@ -19,17 +19,13 @@ /obj/item/implant/slave/implant(mob/living/target, mob/user, silent = FALSE) if(..()) - /* if(!target.mind) - ADD_TRAIT(target, TRAIT_MINDSHIELD, "implant") - target.sec_hud_set_implants() - return TRUE - Can't be a pet without having a mind! */ + return FALSE //Can't be a pet without having a mind! if(target.mind.has_antag_datum(/datum/antagonist/brainwashed)) target.mind.remove_antag_datum(/datum/antagonist/brainwashed) - if(target.mind.has_antag_datum(/datum/antagonist/rev/head) || target.mind.unconvertable || target.mind.has_antag_datum(/datum/antagonist/gang/boss) || target.mind.assigned_role == "Security Officer" || target.mind.assigned_role == "Detective" || target.mind.assigned_role == "Warden" || target.mind.assigned_role == "Head of Security") + if(target.mind.has_antag_datum(/datum/antagonist/rev/head) || target.mind.unconvertable || target.mind.has_antag_datum(/datum/antagonist/gang/boss) || target.mind.assigned_role == "Security Officer" || target.mind.assigned_role == "Detective" || target.mind.assigned_role == "Warden" || target.mind.assigned_role == "Head of Security" || HAS_TRAIT(target, TRAIT_MINDSHIELD)) if(!silent) if(target.mind.assigned_role == "Security Officer" || target.mind.assigned_role == "Detective" || target.mind.assigned_role == "Warden" || target.mind.assigned_role == "Head of Security") target.visible_message("[target] seems to resist the implant! You can't enslave a member of security!", "You feel something interfering with your mental conditioning, but you resist it!") diff --git a/code/game/objects/items/storage/belt.dm b/code/game/objects/items/storage/belt.dm index 81cc8c27..3a853865 100644 --- a/code/game/objects/items/storage/belt.dm +++ b/code/game/objects/items/storage/belt.dm @@ -251,12 +251,15 @@ obj/item/storage/belt/slut/ComponentInitialize() /obj/item/clothing/glasses, /obj/item/reagent_containers/food/snacks/donut, /obj/item/flashlight/seclite, + /obj/item/melee/classic_baton/telescopic, /obj/item/radio, /obj/item/clothing/gloves, /obj/item/restraints/legcuffs/bola, /obj/item/dildo, /obj/item/leash, - /obj/item/condom + /obj/item/condom, + /obj/item/bdsm_whip, + /obj/item/clothing/mask/gas/sechailer/slut )) /obj/item/storage/belt/mining diff --git a/code/modules/clothing/masks/hailer.dm b/code/modules/clothing/masks/hailer.dm index 537b1689..0b361e82 100644 --- a/code/modules/clothing/masks/hailer.dm +++ b/code/modules/clothing/masks/hailer.dm @@ -132,9 +132,9 @@ switch(aggressiveness) // checks if the user has unlocked the restricted phrases if(-1) - phrase = rand(25,29) // the mask will only play submissive 'slut cop' phrases + phrase = rand(28,34) // the mask will only play submissive 'slut cop' phrases if(0) - phrase = rand(19,24) // the mask will only play dominant 'slut cop' phrases + phrase = rand(19,27) // the mask will only play dominant '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) @@ -219,24 +219,39 @@ if(23) phrase_text = "On your knees, and say please." phrase_sound = "knees" - if(24) //Thank you Nata for 22-24 + if(24) phrase_text = "Empty or not, I'm cumming for you!" phrase_sound = "empty" - if(25) // slut cop - sub + if(25) //Thank you Nata for 22-25 + phrase_text = "Face down, ass up." + phrase_sound = "facedown" + if(26) + phrase_text = "Please assume the position." + phrase_sound = "fisto" + if(27) + phrase_text = "You're coming with me, and you're going to love it." + phrase_sound = "love" + if(28) // slut cop - sub phrase_text = "Please, I need more!" phrase_sound = "please" - if(26) + if(29) phrase_text = "My body is yours." phrase_sound = "body" - if(27) + if(30) phrase_text = "Am I a good pet?" phrase_sound = "goodpet" - if(28) + if(31) phrase_text = "I am yours..." phrase_sound = "yours" - if(29) //Thank you Kraxie for 28 & 29 + if(32) //Thank you Kraxie for 31 & 32 phrase_text = "Master..." phrase_sound = "master" + if(33) + phrase_text = "I'll do anything for you..." + phrase_sound = "anything" + if(34) + phrase_text = "I live to serve." + phrase_sound = "serve" if(aggressiveness <= 0) usr.audible_message("[usr]'s Compli-o-Nator: [phrase_text]") diff --git a/code/modules/vending/security.dm b/code/modules/vending/security.dm index c9e174ef..03b67a3c 100644 --- a/code/modules/vending/security.dm +++ b/code/modules/vending/security.dm @@ -24,7 +24,7 @@ /obj/item/storage/belt/slut = 5, /obj/item/clothing/mask/gas/sechailer/slut = 5, /obj/item/bdsm_whip/ridingcrop = 3, - /obj/structure/bed/secbed = 3, + /obj/item/grenade/secbed = 3, /obj/item/dildo/flared/gigantic = 1) premium = list(/obj/item/coin/antagtoken = 1, /obj/item/clothing/head/helmet/blueshirt = 1,