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,