From 52a68d212124fd3a229cd104ea681a9fc1cc2736 Mon Sep 17 00:00:00 2001 From: Ragolution Date: Fri, 4 Jan 2019 01:19:06 -0500 Subject: [PATCH 01/12] Suicide_Acts for Dildos By request. --- .../code/modules/arousal/toys/dildos.dm | 41 +++++++++++++++++- sound/weapons/gagging.ogg | Bin 0 -> 45215 bytes 2 files changed, 40 insertions(+), 1 deletion(-) create mode 100644 sound/weapons/gagging.ogg diff --git a/modular_citadel/code/modules/arousal/toys/dildos.dm b/modular_citadel/code/modules/arousal/toys/dildos.dm index 587702762c..c99084fa39 100644 --- a/modular_citadel/code/modules/arousal/toys/dildos.dm +++ b/modular_citadel/code/modules/arousal/toys/dildos.dm @@ -102,7 +102,6 @@ obj/item/dildo/random//totally random random_shape = TRUE random_size = TRUE - obj/item/dildo/knotted dildo_shape = "knotted" name = "knotted dildo" @@ -131,3 +130,43 @@ obj/item/dildo/custom random_color = TRUE random_shape = TRUE random_size = TRUE + +//Suicide acts, by request + +obj/item/dildo/suicide_act(mob/user) + user.visible_message("") + playsound(loc, 'sound/weapons/gagging.ogg', 50, 1, -1) + return (OXYLOSS) + +obj/item/dildo/knotted/suicide_act(mob/user) + user.visible_message("") + playsound(loc, 'sound/weapons/gagging.ogg', 50, 1, -1) + return (OXYLOSS) + +obj/item/dildo/human/suicide_act(mob/user) + user.visible_message("") + playsound(loc, 'sound/weapons/gagging.ogg', 50, 1, -1) + return (OXYLOSS) + +obj/item/dildo/plain/suicide_act(mob/user) + user.visible_message("") + playsound(loc, 'sound/weapons/gagging.ogg', 50, 1, -1) + return (OXYLOSS) + +obj/item/dildo/flared/suicide_act(mob/user) + user.visible_message("") + playsound(loc, 'sound/weapons/gagging.ogg', 50, 1, -1) + return (OXYLOSS) + +obj/item/dildo/flared/huge/suicide_act(mob/user) + user.visible_message("") + playsound(loc, 'sound/weapons/gagging.ogg', 50, 1, -1) + return (OXYLOSS) + + +obj/item/dildo/flared/huge/suicide_act(mob/user) + user.visible_message("") + playsound(loc, 'sound/weapons/gagging.ogg', 50, 1, -1) + return (OXYLOSS) + + diff --git a/sound/weapons/gagging.ogg b/sound/weapons/gagging.ogg new file mode 100644 index 0000000000000000000000000000000000000000..0b0a3783f4479a1d3ed1f696e5e23a06d78af9e1 GIT binary patch literal 45215 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

Ln3n)85t4|CX!4ZfB< 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 literal 0 HcmV?d00001 From 6aed6d5612980cf218d7a8b97acca2b7ca8fc560 Mon Sep 17 00:00:00 2001 From: Ragolution Date: Fri, 4 Jan 2019 01:55:33 -0500 Subject: [PATCH 02/12] Fixes all vg/5th port uniforms that aren't commented out for whatever reason. I'm pissy that this was so easy and nobody else bothered to do it. --- code/modules/clothing/under/vg_under.dm | 73 ++++++++++--------- .../code/modules/arousal/toys/dildos.dm | 18 ++--- 2 files changed, 46 insertions(+), 45 deletions(-) diff --git a/code/modules/clothing/under/vg_under.dm b/code/modules/clothing/under/vg_under.dm index 64bf75d5ac..f416f2ecc5 100644 --- a/code/modules/clothing/under/vg_under.dm +++ b/code/modules/clothing/under/vg_under.dm @@ -1,3 +1,6 @@ +// Fixed to work with Citadel code. Apparently none of them had NO_MUTANTRACE flags. +// I was pissy when I realised how to fix this because it's so fucking easy and nobody apparently had done it. + /obj/item/clothing/under/stripper_pink name = "pink stripper outfit" icon_state = "stripper_p" @@ -6,7 +9,7 @@ can_adjust = 0 icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi' alternate_worn_icon = 'modular_citadel/icons/mob/citadel/uniforms.dmi' - + mutantrace_variation = NO_MUTANTRACE_VARIATION /obj/item/clothing/under/stripper_green name = "green stripper outfit" @@ -16,8 +19,7 @@ can_adjust = 0 icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi' alternate_worn_icon = 'modular_citadel/icons/mob/citadel/uniforms.dmi' - - + mutantrace_variation = NO_MUTANTRACE_VARIATION /obj/item/clothing/under/wedding/bride_orange name = "orange wedding dress" @@ -28,7 +30,7 @@ can_adjust = 0 icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi' alternate_worn_icon = 'modular_citadel/icons/mob/citadel/uniforms.dmi' - + mutantrace_variation = NO_MUTANTRACE_VARIATION /obj/item/clothing/under/wedding/bride_purple name = "purple wedding dress" @@ -39,7 +41,7 @@ can_adjust = 0 icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi' alternate_worn_icon = 'modular_citadel/icons/mob/citadel/uniforms.dmi' - + mutantrace_variation = NO_MUTANTRACE_VARIATION /obj/item/clothing/under/wedding/bride_blue name = "blue wedding dress" @@ -50,7 +52,7 @@ can_adjust = 0 icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi' alternate_worn_icon = 'modular_citadel/icons/mob/citadel/uniforms.dmi' - + mutantrace_variation = NO_MUTANTRACE_VARIATION /obj/item/clothing/under/wedding/bride_red name = "red wedding dress" @@ -61,7 +63,7 @@ can_adjust = 0 icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi' alternate_worn_icon = 'modular_citadel/icons/mob/citadel/uniforms.dmi' - + mutantrace_variation = NO_MUTANTRACE_VARIATION /obj/item/clothing/under/wedding/bride_white name = "white wedding dress" @@ -72,7 +74,7 @@ can_adjust = 0 icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi' alternate_worn_icon = 'modular_citadel/icons/mob/citadel/uniforms.dmi' - + mutantrace_variation = NO_MUTANTRACE_VARIATION /obj/item/clothing/under/mankini name = "pink mankini" @@ -82,6 +84,7 @@ can_adjust = 0 icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi' alternate_worn_icon = 'modular_citadel/icons/mob/citadel/uniforms.dmi' + mutantrace_variation = NO_MUTANTRACE_VARIATION /* /obj/item/clothing/under/psysuit @@ -126,7 +129,7 @@ can_adjust = 0 icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi' alternate_worn_icon = 'modular_citadel/icons/mob/citadel/uniforms.dmi' - + mutantrace_variation = NO_MUTANTRACE_VARIATION /obj/item/clothing/under/russobluecamooutfit name = "russian blue camo" @@ -137,7 +140,7 @@ can_adjust = 0 icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi' alternate_worn_icon = 'modular_citadel/icons/mob/citadel/uniforms.dmi' - + mutantrace_variation = NO_MUTANTRACE_VARIATION /obj/item/clothing/under/stilsuit name = "stillsuit" @@ -148,7 +151,7 @@ can_adjust = 0 icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi' alternate_worn_icon = 'modular_citadel/icons/mob/citadel/uniforms.dmi' - + mutantrace_variation = NO_MUTANTRACE_VARIATION /obj/item/clothing/under/aviatoruniform name = "aviator uniform" @@ -159,7 +162,7 @@ can_adjust = 0 icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi' alternate_worn_icon = 'modular_citadel/icons/mob/citadel/uniforms.dmi' - + mutantrace_variation = NO_MUTANTRACE_VARIATION /obj/item/clothing/under/bikersuit name = "biker's outfit" @@ -169,7 +172,7 @@ can_adjust = 0 icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi' alternate_worn_icon = 'modular_citadel/icons/mob/citadel/uniforms.dmi' - + mutantrace_variation = NO_MUTANTRACE_VARIATION /obj/item/clothing/under/jacketsuit name = "richard's outfit" @@ -180,7 +183,7 @@ can_adjust = 0 icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi' alternate_worn_icon = 'modular_citadel/icons/mob/citadel/uniforms.dmi' - + mutantrace_variation = NO_MUTANTRACE_VARIATION obj/item/clothing/under/mega name = "\improper DRN-001 suit" @@ -191,7 +194,7 @@ obj/item/clothing/under/mega can_adjust = 0 icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi' alternate_worn_icon = 'modular_citadel/icons/mob/citadel/uniforms.dmi' - + mutantrace_variation = NO_MUTANTRACE_VARIATION /obj/item/clothing/under/proto name = "The Prototype Suit" @@ -202,7 +205,7 @@ obj/item/clothing/under/mega can_adjust = 0 icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi' alternate_worn_icon = 'modular_citadel/icons/mob/citadel/uniforms.dmi' - + mutantrace_variation = NO_MUTANTRACE_VARIATION /obj/item/clothing/under/megax name = "\improper Maverick Hunter regalia" @@ -213,7 +216,7 @@ obj/item/clothing/under/mega can_adjust = 0 icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi' alternate_worn_icon = 'modular_citadel/icons/mob/citadel/uniforms.dmi' - + mutantrace_variation = NO_MUTANTRACE_VARIATION /obj/item/clothing/under/joe name = "The Sniper Suit" @@ -224,7 +227,7 @@ obj/item/clothing/under/mega can_adjust = 0 icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi' alternate_worn_icon = 'modular_citadel/icons/mob/citadel/uniforms.dmi' - + mutantrace_variation = NO_MUTANTRACE_VARIATION /obj/item/clothing/under/roll name = "\improper DRN-002 Dress" @@ -235,7 +238,7 @@ obj/item/clothing/under/mega can_adjust = 0 icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi' alternate_worn_icon = 'modular_citadel/icons/mob/citadel/uniforms.dmi' - + mutantrace_variation = NO_MUTANTRACE_VARIATION /obj/item/clothing/under/gokugidown name = "turtle hermit undershirt" @@ -246,7 +249,7 @@ obj/item/clothing/under/mega can_adjust = 0 icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi' alternate_worn_icon = 'modular_citadel/icons/mob/citadel/uniforms.dmi' - + mutantrace_variation = NO_MUTANTRACE_VARIATION /obj/item/clothing/under/gokugi name = "turtle hermit outfit" @@ -257,7 +260,7 @@ obj/item/clothing/under/mega can_adjust = 0 icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi' alternate_worn_icon = 'modular_citadel/icons/mob/citadel/uniforms.dmi' - + mutantrace_variation = NO_MUTANTRACE_VARIATION /obj/item/clothing/under/doomguy name = "\improper Doomguy's pants" @@ -268,7 +271,7 @@ obj/item/clothing/under/mega can_adjust = 0 icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi' alternate_worn_icon = 'modular_citadel/icons/mob/citadel/uniforms.dmi' - + mutantrace_variation = NO_MUTANTRACE_VARIATION /obj/item/clothing/under/vault13 name = "vault 13 Jumpsuit" @@ -279,7 +282,7 @@ obj/item/clothing/under/mega can_adjust = 0 icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi' alternate_worn_icon = 'modular_citadel/icons/mob/citadel/uniforms.dmi' - + mutantrace_variation = NO_MUTANTRACE_VARIATION /obj/item/clothing/under/vault name = "vault jumpsuit" @@ -290,7 +293,7 @@ obj/item/clothing/under/mega can_adjust = 0 icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi' alternate_worn_icon = 'modular_citadel/icons/mob/citadel/uniforms.dmi' - + mutantrace_variation = NO_MUTANTRACE_VARIATION /obj/item/clothing/under/clownpiece name = "Clownpiece's Pierrot suit" @@ -301,7 +304,7 @@ obj/item/clothing/under/mega can_adjust = 0 icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi' alternate_worn_icon = 'modular_citadel/icons/mob/citadel/uniforms.dmi' - + mutantrace_variation = NO_MUTANTRACE_VARIATION /obj/item/clothing/under/cia name = "casual IAA outfit" @@ -312,7 +315,7 @@ obj/item/clothing/under/mega can_adjust = 0 icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi' alternate_worn_icon = 'modular_citadel/icons/mob/citadel/uniforms.dmi' - + mutantrace_variation = NO_MUTANTRACE_VARIATION /obj/item/clothing/under/greaser name = "greaser outfit" @@ -322,7 +325,7 @@ obj/item/clothing/under/mega can_adjust = 0 icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi' alternate_worn_icon = 'modular_citadel/icons/mob/citadel/uniforms.dmi' - + mutantrace_variation = NO_MUTANTRACE_VARIATION /obj/item/clothing/under/greaser/New() var/greaser_colour = "default" @@ -341,6 +344,8 @@ obj/item/clothing/under/mega item_color = "greaser_[greaser_colour]" can_adjust = 0 icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi' + mutantrace_variation = NO_MUTANTRACE_VARIATION + /obj/item/clothing/under/wintercasualwear name = "winter casualwear" @@ -351,8 +356,7 @@ obj/item/clothing/under/mega can_adjust = 0 icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi' alternate_worn_icon = 'modular_citadel/icons/mob/citadel/uniforms.dmi' - - + mutantrace_variation = NO_MUTANTRACE_VARIATION /obj/item/clothing/under/casualwear name = "spring casualwear" @@ -363,7 +367,7 @@ obj/item/clothing/under/mega can_adjust = 0 icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi' alternate_worn_icon = 'modular_citadel/icons/mob/citadel/uniforms.dmi' - + mutantrace_variation = NO_MUTANTRACE_VARIATION /obj/item/clothing/under/keyholesweater name = "keyhole sweater" @@ -374,7 +378,7 @@ obj/item/clothing/under/mega can_adjust = 0 icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi' alternate_worn_icon = 'modular_citadel/icons/mob/citadel/uniforms.dmi' - + mutantrace_variation = NO_MUTANTRACE_VARIATION /obj/item/clothing/under/casualhoodie name = "casual hoodie" @@ -385,8 +389,7 @@ obj/item/clothing/under/mega can_adjust = 0 icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi' alternate_worn_icon = 'modular_citadel/icons/mob/citadel/uniforms.dmi' - - + mutantrace_variation = NO_MUTANTRACE_VARIATION /obj/item/clothing/under/casualhoodie/skirt icon_state = "hoodieskirt" @@ -394,6 +397,8 @@ obj/item/clothing/under/mega item_color = "hoodieskirt" can_adjust = 0 icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi' + mutantrace_variation = NO_MUTANTRACE_VARIATION + /* /obj/item/clothing/under/mummy_rags name = "mummy rags" @@ -427,3 +432,5 @@ obj/item/clothing/under/mega can_adjust = 0 icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi' alternate_worn_icon = 'modular_citadel/icons/mob/citadel/uniforms.dmi' + mutantrace_variation = NO_MUTANTRACE_VARIATION + diff --git a/modular_citadel/code/modules/arousal/toys/dildos.dm b/modular_citadel/code/modules/arousal/toys/dildos.dm index c99084fa39..d6c2decb13 100644 --- a/modular_citadel/code/modules/arousal/toys/dildos.dm +++ b/modular_citadel/code/modules/arousal/toys/dildos.dm @@ -133,38 +133,32 @@ obj/item/dildo/custom //Suicide acts, by request -obj/item/dildo/suicide_act(mob/user) - user.visible_message("") - playsound(loc, 'sound/weapons/gagging.ogg', 50, 1, -1) - return (OXYLOSS) - -obj/item/dildo/knotted/suicide_act(mob/user) +/obj/item/dildo/knotted/suicide_act(mob/user) user.visible_message("") playsound(loc, 'sound/weapons/gagging.ogg', 50, 1, -1) return (OXYLOSS) -obj/item/dildo/human/suicide_act(mob/user) +/obj/item/dildo/human/suicide_act(mob/user) user.visible_message("") playsound(loc, 'sound/weapons/gagging.ogg', 50, 1, -1) return (OXYLOSS) -obj/item/dildo/plain/suicide_act(mob/user) +/obj/item/dildo/plain/suicide_act(mob/user) user.visible_message("") playsound(loc, 'sound/weapons/gagging.ogg', 50, 1, -1) return (OXYLOSS) -obj/item/dildo/flared/suicide_act(mob/user) +/obj/item/dildo/flared/suicide_act(mob/user) user.visible_message("") playsound(loc, 'sound/weapons/gagging.ogg', 50, 1, -1) return (OXYLOSS) -obj/item/dildo/flared/huge/suicide_act(mob/user) +/obj/item/dildo/flared/huge/suicide_act(mob/user) user.visible_message("") playsound(loc, 'sound/weapons/gagging.ogg', 50, 1, -1) return (OXYLOSS) - -obj/item/dildo/flared/huge/suicide_act(mob/user) +/obj/item/dildo/flared/huge/suicide_act(mob/user) user.visible_message("") playsound(loc, 'sound/weapons/gagging.ogg', 50, 1, -1) return (OXYLOSS) From 2292b06ad14ca15c8492475a19490d7c473de673 Mon Sep 17 00:00:00 2001 From: Ragolution Date: Fri, 4 Jan 2019 02:45:34 -0500 Subject: [PATCH 03/12] Improved attack verbs on dildos+ suicide improvements Adds a bracket that kept the suicide message from appearing and grants each dildo its own attack message, mostly. --- .../code/modules/arousal/toys/dildos.dm | 69 +++++++++++++------ 1 file changed, 48 insertions(+), 21 deletions(-) diff --git a/modular_citadel/code/modules/arousal/toys/dildos.dm b/modular_citadel/code/modules/arousal/toys/dildos.dm index d6c2decb13..8d41933429 100644 --- a/modular_citadel/code/modules/arousal/toys/dildos.dm +++ b/modular_citadel/code/modules/arousal/toys/dildos.dm @@ -1,7 +1,7 @@ ////////// //DILDOS// ////////// -obj/item/dildo +/obj/item/dildo name = "dildo" desc = "Floppy!" icon = 'modular_citadel/icons/obj/genitals/dildo.dmi' @@ -20,7 +20,7 @@ obj/item/dildo var/random_shape = FALSE //Lists moved to _cit_helpers.dm as globals so they're not instanced individually -obj/item/dildo/proc/update_appearance() +/obj/item/dildo/proc/update_appearance() icon_state = "[dildo_type]_[dildo_shape]_[dildo_size]" var/sizeword = "" switch(dildo_size) @@ -35,7 +35,7 @@ obj/item/dildo/proc/update_appearance() name = "[sizeword][dildo_shape] [can_customize ? "custom " : ""][dildo_type]" -obj/item/dildo/AltClick(mob/living/user) +/obj/item/dildo/AltClick(mob/living/user) if(QDELETED(src)) return if(!isliving(user)) @@ -46,7 +46,7 @@ obj/item/dildo/AltClick(mob/living/user) return customize(user) -obj/item/dildo/proc/customize(mob/living/user) +/obj/item/dildo/proc/customize(mob/living/user) if(!can_customize) return FALSE if(src && !user.incapacitated() && in_range(user,src)) @@ -75,7 +75,7 @@ obj/item/dildo/proc/customize(mob/living/user) update_appearance() return TRUE -obj/item/dildo/Initialize() +/obj/item/dildo/Initialize() . = ..() if(random_color == TRUE) var/randcolor = pick(GLOB.dildo_colors) @@ -91,32 +91,36 @@ obj/item/dildo/Initialize() pixel_y = rand(-7,7) pixel_x = rand(-7,7) -obj/item/dildo/examine(mob/user) +/obj/item/dildo/examine(mob/user) ..() if(can_customize) user << "Alt-Click \the [src.name] to customize it." -obj/item/dildo/random//totally random +/obj/item/dildo/random//totally random name = "random dildo"//this name will show up in vendors and shit so you know what you're vending(or don't, i guess :^)) random_color = TRUE random_shape = TRUE random_size = TRUE -obj/item/dildo/knotted +/obj/item/dildo/knotted dildo_shape = "knotted" name = "knotted dildo" + attack_verb = list("penetrated", "knotted", "slapped") obj/item/dildo/human dildo_shape = "human" name = "human dildo" + attack_verb = list("penetrated", "slapped") obj/item/dildo/plain dildo_shape = "plain" name = "plain dildo" + attack_verb = list("penetrated", "slapped") obj/item/dildo/flared dildo_shape = "flared" name = "flared dildo" + attack_verb = list("penetrated", "slapped", "neighed", "gaped", "prolapsed") obj/item/dildo/flared/huge name = "literal horse cock" @@ -133,34 +137,57 @@ obj/item/dildo/custom //Suicide acts, by request -/obj/item/dildo/knotted/suicide_act(mob/user) - user.visible_message("") +/obj/item/dildo/knotted/suicide_act(mob/living/user) + user.visible_message("[user] gags as they shove [src] down their throat! They swallowed the knot! It looks like [user.p_theyre()] trying to commit suicide!") playsound(loc, 'sound/weapons/gagging.ogg', 50, 1, -1) + user.Stun(150) + user.adjust_blurriness(8) + user.adjust_eye_damage(10) + sleep(15) return (OXYLOSS) -/obj/item/dildo/human/suicide_act(mob/user) - user.visible_message("") +/obj/item/dildo/human/suicide_act(mob/living/user) + user.visible_message("[user] gags as they shove [src] down their throat! Their face is turning blue! It looks like [user.p_theyre()] trying to commit suicide!") playsound(loc, 'sound/weapons/gagging.ogg', 50, 1, -1) + user.Stun(150) + user.adjust_blurriness(8) + user.adjust_eye_damage(10) + sleep(15) return (OXYLOSS) -/obj/item/dildo/plain/suicide_act(mob/user) - user.visible_message("") +/obj/item/dildo/plain/suicide_act(mob/living/user) + user.visible_message("[user] gags as they shove [src] down their throat! Their face is turning blue! It looks like [user.p_theyre()] trying to commit suicide!") playsound(loc, 'sound/weapons/gagging.ogg', 50, 1, -1) + user.Stun(150) + user.adjust_blurriness(8) + user.adjust_eye_damage(10) + sleep(15) return (OXYLOSS) -/obj/item/dildo/flared/suicide_act(mob/user) - user.visible_message("") +/obj/item/dildo/flared/suicide_act(mob/living/user) + user.visible_message("[user] gags as they shove [src] down their throat! Their face is turning blue! It looks like [user.p_theyre()] trying to commit suicide!") playsound(loc, 'sound/weapons/gagging.ogg', 50, 1, -1) + user.Stun(150) + user.adjust_blurriness(8) + user.adjust_eye_damage(10) + sleep(15) return (OXYLOSS) -/obj/item/dildo/flared/huge/suicide_act(mob/user) - user.visible_message("") - playsound(loc, 'sound/weapons/gagging.ogg', 50, 1, -1) +/obj/item/dildo/flared/huge/suicide_act(mob/living/user) + user.visible_message("[user] gags as they try to deepthroat the [src]! WHY WOULD THEY DO THAT? [user.p_theyre()] trying to commit suicide!!") + playsound(loc, 'sound/weapons/gagging.ogg', 50, 2, -1) + user.Stun(150) + user.adjust_blurriness(8) + user.adjust_eye_damage(10) return (OXYLOSS) -/obj/item/dildo/flared/huge/suicide_act(mob/user) - user.visible_message("") +/obj/item/dildo/flared/custom/suicide_act(mob/living/user) + user.visible_message("[user] gags as they shove [src] down their throat! It looks like they wanted a custom death message!!") playsound(loc, 'sound/weapons/gagging.ogg', 50, 1, -1) + user.Stun(150) + user.adjust_blurriness(8) + user.adjust_eye_damage(10) + sleep(15) return (OXYLOSS) From 5f019696bd39bdb627b061a91f34a4731e1925d0 Mon Sep 17 00:00:00 2001 From: Ragolution Date: Fri, 4 Jan 2019 06:52:57 -0500 Subject: [PATCH 04/12] Spellcheck 2 Electric Boogaloo statis Misspelling of status. --- code/modules/projectiles/ammunition/ballistic/shotgun.dm | 2 +- code/modules/research/techweb/all_nodes.dm | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/code/modules/projectiles/ammunition/ballistic/shotgun.dm b/code/modules/projectiles/ammunition/ballistic/shotgun.dm index 39cf924169..7a8a186072 100644 --- a/code/modules/projectiles/ammunition/ballistic/shotgun.dm +++ b/code/modules/projectiles/ammunition/ballistic/shotgun.dm @@ -115,7 +115,7 @@ /obj/item/ammo_casing/shotgun/dart/noreact name = "cryostasis shotgun dart" - desc = "A dart for use in shotguns, using similar technology as cryostatis beakers to keep internal reagents from reacting. Can be injected with up to 10 units of any chemical." + desc = "A dart for use in shotguns, using similar technology as cryostasis beakers to keep internal reagents from reacting. Can be injected with up to 10 units of any chemical." icon_state = "cnrshell" reagent_amount = 10 reagent_react = FALSE diff --git a/code/modules/research/techweb/all_nodes.dm b/code/modules/research/techweb/all_nodes.dm index 826f8d05b8..14d3c02284 100644 --- a/code/modules/research/techweb/all_nodes.dm +++ b/code/modules/research/techweb/all_nodes.dm @@ -580,7 +580,7 @@ display_name = "Medical Weaponry" description = "Weapons using medical technology." prereq_ids = list("adv_biotech", "adv_weaponry") - design_ids = list("rapidsyringe", "shotgundartcryostatis") + design_ids = list("rapidsyringe", "shotgundartcryostasis") research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2000) export_price = 5000 From b3a5b2257846c36c586e33ec49c30f91b9dbf222 Mon Sep 17 00:00:00 2001 From: Ragolution Date: Fri, 4 Jan 2019 07:18:28 -0500 Subject: [PATCH 05/12] TRAVIS LEAVE ME ALONE --- modular_citadel/code/modules/arousal/toys/dildos.dm | 2 -- 1 file changed, 2 deletions(-) diff --git a/modular_citadel/code/modules/arousal/toys/dildos.dm b/modular_citadel/code/modules/arousal/toys/dildos.dm index 8d41933429..b1fee37d3d 100644 --- a/modular_citadel/code/modules/arousal/toys/dildos.dm +++ b/modular_citadel/code/modules/arousal/toys/dildos.dm @@ -189,5 +189,3 @@ obj/item/dildo/custom user.adjust_eye_damage(10) sleep(15) return (OXYLOSS) - - From e390f379983736b6ca0b821db0883a3329e58822 Mon Sep 17 00:00:00 2001 From: Ragolution Date: Fri, 4 Jan 2019 07:36:32 -0500 Subject: [PATCH 06/12] Adjusts wording for grammar on cryo shotgun dart Travis is fucking bullying me. --- code/modules/projectiles/ammunition/ballistic/shotgun.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/projectiles/ammunition/ballistic/shotgun.dm b/code/modules/projectiles/ammunition/ballistic/shotgun.dm index 7a8a186072..d57edf154d 100644 --- a/code/modules/projectiles/ammunition/ballistic/shotgun.dm +++ b/code/modules/projectiles/ammunition/ballistic/shotgun.dm @@ -115,7 +115,7 @@ /obj/item/ammo_casing/shotgun/dart/noreact name = "cryostasis shotgun dart" - desc = "A dart for use in shotguns, using similar technology as cryostasis beakers to keep internal reagents from reacting. Can be injected with up to 10 units of any chemical." + desc = "A dart for use in shotguns. Uses technology similar to cryostasis beakers to keep internal reagents from reacting. Can be injected with up to 10 units of any chemical." icon_state = "cnrshell" reagent_amount = 10 reagent_react = FALSE From 6e30048029a47898d5bef1b55d3abde70037f909 Mon Sep 17 00:00:00 2001 From: Ragolution Date: Fri, 4 Jan 2019 08:20:27 -0500 Subject: [PATCH 07/12] I guess it didn't like that. I don't know how to fix this so I'm changing it back uwu --- code/modules/research/techweb/all_nodes.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/research/techweb/all_nodes.dm b/code/modules/research/techweb/all_nodes.dm index 14d3c02284..826f8d05b8 100644 --- a/code/modules/research/techweb/all_nodes.dm +++ b/code/modules/research/techweb/all_nodes.dm @@ -580,7 +580,7 @@ display_name = "Medical Weaponry" description = "Weapons using medical technology." prereq_ids = list("adv_biotech", "adv_weaponry") - design_ids = list("rapidsyringe", "shotgundartcryostasis") + design_ids = list("rapidsyringe", "shotgundartcryostatis") research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2000) export_price = 5000 From 2ab86321c359b1989f0a9f37811878d0fea3bdd9 Mon Sep 17 00:00:00 2001 From: Ragolution Date: Fri, 4 Jan 2019 16:45:06 -0500 Subject: [PATCH 08/12] Conforms with changes requested by the BhjinBot Really cool bot I can't believe we have something so advanced for our codebase. --- .../code/modules/arousal/toys/dildos.dm | 56 ++++++++++--------- 1 file changed, 31 insertions(+), 25 deletions(-) diff --git a/modular_citadel/code/modules/arousal/toys/dildos.dm b/modular_citadel/code/modules/arousal/toys/dildos.dm index b1fee37d3d..0f73564cad 100644 --- a/modular_citadel/code/modules/arousal/toys/dildos.dm +++ b/modular_citadel/code/modules/arousal/toys/dildos.dm @@ -105,22 +105,22 @@ /obj/item/dildo/knotted dildo_shape = "knotted" name = "knotted dildo" - attack_verb = list("penetrated", "knotted", "slapped") + attack_verb = list("penetrated", "knotted", "slapped", "inseminated") obj/item/dildo/human dildo_shape = "human" name = "human dildo" - attack_verb = list("penetrated", "slapped") + attack_verb = list("penetrated", "slapped", "inseminated") obj/item/dildo/plain dildo_shape = "plain" name = "plain dildo" - attack_verb = list("penetrated", "slapped") + attack_verb = list("penetrated", "slapped", "inseminated") obj/item/dildo/flared dildo_shape = "flared" name = "flared dildo" - attack_verb = list("penetrated", "slapped", "neighed", "gaped", "prolapsed") + attack_verb = list("penetrated", "slapped", "neighed", "gaped", "prolapsed", "inseminated") obj/item/dildo/flared/huge name = "literal horse cock" @@ -135,57 +135,63 @@ obj/item/dildo/custom random_shape = TRUE random_size = TRUE -//Suicide acts, by request +// Suicide acts, by request + +/obj/item/dildo/proc/manual_suicide(mob/living/user) + user.visible_message("[user] finally finishes deepthroating the [src], and their life.") + user.adjustOxyLoss(200) + user.death(0) /obj/item/dildo/knotted/suicide_act(mob/living/user) - user.visible_message("[user] gags as they shove [src] down their throat! They swallowed the knot! It looks like [user.p_theyre()] trying to commit suicide!") + user.visible_message("[user] tears-up and gags as they shove [src] down their throat! They swallowed the knot! It looks like [user.p_theyre()] trying to commit suicide!") playsound(loc, 'sound/weapons/gagging.ogg', 50, 1, -1) user.Stun(150) user.adjust_blurriness(8) user.adjust_eye_damage(10) - sleep(15) - return (OXYLOSS) + addtimer(CALLBACK(src, .proc/manual_suicide, user), 15) + return MANUAL_SUICIDE /obj/item/dildo/human/suicide_act(mob/living/user) - user.visible_message("[user] gags as they shove [src] down their throat! Their face is turning blue! It looks like [user.p_theyre()] trying to commit suicide!") + user.visible_message("[user] tears-up and gags as they shove [src] down their throat! Their face is turning blue! It looks like [user.p_theyre()] trying to commit suicide!") playsound(loc, 'sound/weapons/gagging.ogg', 50, 1, -1) user.Stun(150) user.adjust_blurriness(8) user.adjust_eye_damage(10) - sleep(15) - return (OXYLOSS) + addtimer(CALLBACK(src, .proc/manual_suicide, user), 15) + return MANUAL_SUICIDE -/obj/item/dildo/plain/suicide_act(mob/living/user) - user.visible_message("[user] gags as they shove [src] down their throat! Their face is turning blue! It looks like [user.p_theyre()] trying to commit suicide!") +/obj/item/dildo/plain/suicide_act(mob/living/user, delay = 150) + user.visible_message("[user] tears-up and gags as they shove [src] down their throat! Their face is turning blue! It looks like [user.p_theyre()] trying to commit suicide!") playsound(loc, 'sound/weapons/gagging.ogg', 50, 1, -1) user.Stun(150) user.adjust_blurriness(8) user.adjust_eye_damage(10) - sleep(15) - return (OXYLOSS) + addtimer(CALLBACK(src, .proc/manual_suicide, user), 15) + return MANUAL_SUICIDE /obj/item/dildo/flared/suicide_act(mob/living/user) - user.visible_message("[user] gags as they shove [src] down their throat! Their face is turning blue! It looks like [user.p_theyre()] trying to commit suicide!") + user.visible_message("[user] tears-up and gags as they shove [src] down their throat! Their face is turning blue! It looks like [user.p_theyre()] trying to commit suicide!") playsound(loc, 'sound/weapons/gagging.ogg', 50, 1, -1) user.Stun(150) user.adjust_blurriness(8) user.adjust_eye_damage(10) - sleep(15) - return (OXYLOSS) + addtimer(CALLBACK(src, .proc/manual_suicide, user), 15) + return MANUAL_SUICIDE /obj/item/dildo/flared/huge/suicide_act(mob/living/user) - user.visible_message("[user] gags as they try to deepthroat the [src]! WHY WOULD THEY DO THAT? [user.p_theyre()] trying to commit suicide!!") + user.visible_message("[user] tears-up and gags as they try to deepthroat the [src]! WHY WOULD THEY DO THAT? It looks like [user.p_theyre()] trying to commit suicide!!") playsound(loc, 'sound/weapons/gagging.ogg', 50, 2, -1) - user.Stun(150) + user.Stun(300) user.adjust_blurriness(8) - user.adjust_eye_damage(10) - return (OXYLOSS) + user.adjust_eye_damage(15) + addtimer(CALLBACK(src, .proc/manual_suicide, user), 22) + return MANUAL_SUICIDE /obj/item/dildo/flared/custom/suicide_act(mob/living/user) user.visible_message("[user] gags as they shove [src] down their throat! It looks like they wanted a custom death message!!") playsound(loc, 'sound/weapons/gagging.ogg', 50, 1, -1) - user.Stun(150) + user.Stun(50) user.adjust_blurriness(8) user.adjust_eye_damage(10) - sleep(15) - return (OXYLOSS) + addtimer(CALLBACK(src, .proc/manual_suicide, user), 5) + return MANUAL_SUICIDE From 77a28abccf80daf8ffa39c774ca39163007fd632 Mon Sep 17 00:00:00 2001 From: Ragolution Date: Wed, 9 Jan 2019 22:07:11 -0500 Subject: [PATCH 09/12] Code improvements Thanks to @Ghommie for the suggestion. --- .../code/modules/arousal/toys/dildos.dm | 36 +++++-------------- 1 file changed, 9 insertions(+), 27 deletions(-) diff --git a/modular_citadel/code/modules/arousal/toys/dildos.dm b/modular_citadel/code/modules/arousal/toys/dildos.dm index 0f73564cad..87cc7a73c2 100644 --- a/modular_citadel/code/modules/arousal/toys/dildos.dm +++ b/modular_citadel/code/modules/arousal/toys/dildos.dm @@ -142,6 +142,15 @@ obj/item/dildo/custom user.adjustOxyLoss(200) user.death(0) +/obj/item/dildo/suicide_act(mob/living/user) + user.visible_message("[user] tears-up and gags as they shove [src] down their throat! Their face is turning blue! It looks like [user.p_theyre()] trying to commit suicide!") + playsound(loc, 'sound/weapons/gagging.ogg', 50, 1, -1) + user.Stun(150) + user.adjust_blurriness(8) + user.adjust_eye_damage(10) + addtimer(CALLBACK(src, .proc/manual_suicide, user), 15) + return MANUAL_SUICIDE + /obj/item/dildo/knotted/suicide_act(mob/living/user) user.visible_message("[user] tears-up and gags as they shove [src] down their throat! They swallowed the knot! It looks like [user.p_theyre()] trying to commit suicide!") playsound(loc, 'sound/weapons/gagging.ogg', 50, 1, -1) @@ -151,33 +160,6 @@ obj/item/dildo/custom addtimer(CALLBACK(src, .proc/manual_suicide, user), 15) return MANUAL_SUICIDE -/obj/item/dildo/human/suicide_act(mob/living/user) - user.visible_message("[user] tears-up and gags as they shove [src] down their throat! Their face is turning blue! It looks like [user.p_theyre()] trying to commit suicide!") - playsound(loc, 'sound/weapons/gagging.ogg', 50, 1, -1) - user.Stun(150) - user.adjust_blurriness(8) - user.adjust_eye_damage(10) - addtimer(CALLBACK(src, .proc/manual_suicide, user), 15) - return MANUAL_SUICIDE - -/obj/item/dildo/plain/suicide_act(mob/living/user, delay = 150) - user.visible_message("[user] tears-up and gags as they shove [src] down their throat! Their face is turning blue! It looks like [user.p_theyre()] trying to commit suicide!") - playsound(loc, 'sound/weapons/gagging.ogg', 50, 1, -1) - user.Stun(150) - user.adjust_blurriness(8) - user.adjust_eye_damage(10) - addtimer(CALLBACK(src, .proc/manual_suicide, user), 15) - return MANUAL_SUICIDE - -/obj/item/dildo/flared/suicide_act(mob/living/user) - user.visible_message("[user] tears-up and gags as they shove [src] down their throat! Their face is turning blue! It looks like [user.p_theyre()] trying to commit suicide!") - playsound(loc, 'sound/weapons/gagging.ogg', 50, 1, -1) - user.Stun(150) - user.adjust_blurriness(8) - user.adjust_eye_damage(10) - addtimer(CALLBACK(src, .proc/manual_suicide, user), 15) - return MANUAL_SUICIDE - /obj/item/dildo/flared/huge/suicide_act(mob/living/user) user.visible_message("[user] tears-up and gags as they try to deepthroat the [src]! WHY WOULD THEY DO THAT? It looks like [user.p_theyre()] trying to commit suicide!!") playsound(loc, 'sound/weapons/gagging.ogg', 50, 2, -1) From 18d2572e57b01b5358f27753942c21629a70fb15 Mon Sep 17 00:00:00 2001 From: Ragolution Date: Sat, 12 Jan 2019 02:31:25 -0500 Subject: [PATCH 10/12] Code Improvements (again) Knowing what I know now makes me wanna go revamp every instance of suicide code but geez. --- .../code/modules/arousal/toys/dildos.dm | 63 ++++++++----------- 1 file changed, 25 insertions(+), 38 deletions(-) diff --git a/modular_citadel/code/modules/arousal/toys/dildos.dm b/modular_citadel/code/modules/arousal/toys/dildos.dm index 87cc7a73c2..f69b0b1935 100644 --- a/modular_citadel/code/modules/arousal/toys/dildos.dm +++ b/modular_citadel/code/modules/arousal/toys/dildos.dm @@ -105,7 +105,7 @@ /obj/item/dildo/knotted dildo_shape = "knotted" name = "knotted dildo" - attack_verb = list("penetrated", "knotted", "slapped", "inseminated") + attack_verb = list("penetrated", "knotted", "slapped", "inseminated") obj/item/dildo/human dildo_shape = "human" @@ -115,17 +115,18 @@ obj/item/dildo/human obj/item/dildo/plain dildo_shape = "plain" name = "plain dildo" - attack_verb = list("penetrated", "slapped", "inseminated") + attack_verb = list("penetrated", "slapped", "inseminated") obj/item/dildo/flared dildo_shape = "flared" name = "flared dildo" - attack_verb = list("penetrated", "slapped", "neighed", "gaped", "prolapsed", "inseminated") + attack_verb = list("penetrated", "slapped", "neighed", "gaped", "prolapsed", "inseminated") obj/item/dildo/flared/huge - name = "literal horse cock" - desc = "THIS THING IS HUGE!" - dildo_size = 4 + dildo_shape ="horse" + name = "literal horse cock" + desc = "THIS THING IS HUGE!" + dildo_size = 4 obj/item/dildo/custom name = "customizable dildo" @@ -137,43 +138,29 @@ obj/item/dildo/custom // Suicide acts, by request +var/is_knotted = (dildo_shape == knotted) ? "They swallowed the knot" : "Their face is turning blue" +var/is_horse = (dildo_shape == horse ) ? " + /obj/item/dildo/proc/manual_suicide(mob/living/user) - user.visible_message("[user] finally finishes deepthroating the [src], and their life.") - user.adjustOxyLoss(200) - user.death(0) + user.visible_message("[user] finally finishes deepthroating the [src], and their life.") + user.adjustOxyLoss(200) + user.death(0) /obj/item/dildo/suicide_act(mob/living/user) - user.visible_message("[user] tears-up and gags as they shove [src] down their throat! Their face is turning blue! It looks like [user.p_theyre()] trying to commit suicide!") - playsound(loc, 'sound/weapons/gagging.ogg', 50, 1, -1) - user.Stun(150) - user.adjust_blurriness(8) - user.adjust_eye_damage(10) - addtimer(CALLBACK(src, .proc/manual_suicide, user), 15) - return MANUAL_SUICIDE - -/obj/item/dildo/knotted/suicide_act(mob/living/user) - user.visible_message("[user] tears-up and gags as they shove [src] down their throat! They swallowed the knot! It looks like [user.p_theyre()] trying to commit suicide!") - playsound(loc, 'sound/weapons/gagging.ogg', 50, 1, -1) - user.Stun(150) - user.adjust_blurriness(8) - user.adjust_eye_damage(10) - addtimer(CALLBACK(src, .proc/manual_suicide, user), 15) + if(do_after(user,17,target=src)) + user.visible_message("[user] tears-up and gags as they shove [src] down their throat! [is_knotted]! It looks like [user.p_theyre()] trying to commit suicide!") + playsound(loc, 'sound/weapons/gagging.ogg', 50, 1, -1) + user.Stun(150) + user.adjust_blurriness(8) + user.adjust_eye_damage(10) return MANUAL_SUICIDE /obj/item/dildo/flared/huge/suicide_act(mob/living/user) - user.visible_message("[user] tears-up and gags as they try to deepthroat the [src]! WHY WOULD THEY DO THAT? It looks like [user.p_theyre()] trying to commit suicide!!") - playsound(loc, 'sound/weapons/gagging.ogg', 50, 2, -1) - user.Stun(300) - user.adjust_blurriness(8) - user.adjust_eye_damage(15) - addtimer(CALLBACK(src, .proc/manual_suicide, user), 22) + if(do_after(user,35,target=src)) + user.visible_message("[user] tears-up and gags as they try to deepthroat the [src]! WHY WOULD THEY DO THAT? It looks like [user.p_theyre()] trying to commit suicide!!") + playsound(loc, 'sound/weapons/gagging.ogg', 50, 2, -1) + user.Stun(300) + user.adjust_blurriness(8) + user.adjust_eye_damage(15) return MANUAL_SUICIDE -/obj/item/dildo/flared/custom/suicide_act(mob/living/user) - user.visible_message("[user] gags as they shove [src] down their throat! It looks like they wanted a custom death message!!") - playsound(loc, 'sound/weapons/gagging.ogg', 50, 1, -1) - user.Stun(50) - user.adjust_blurriness(8) - user.adjust_eye_damage(10) - addtimer(CALLBACK(src, .proc/manual_suicide, user), 5) - return MANUAL_SUICIDE From 1fd7bfe969eab189da464b8a906d487c315bf882 Mon Sep 17 00:00:00 2001 From: Ragolution Date: Sat, 12 Jan 2019 02:50:03 -0500 Subject: [PATCH 11/12] oh whoops --- modular_citadel/code/modules/arousal/toys/dildos.dm | 1 - 1 file changed, 1 deletion(-) diff --git a/modular_citadel/code/modules/arousal/toys/dildos.dm b/modular_citadel/code/modules/arousal/toys/dildos.dm index f69b0b1935..885f6efc69 100644 --- a/modular_citadel/code/modules/arousal/toys/dildos.dm +++ b/modular_citadel/code/modules/arousal/toys/dildos.dm @@ -139,7 +139,6 @@ obj/item/dildo/custom // Suicide acts, by request var/is_knotted = (dildo_shape == knotted) ? "They swallowed the knot" : "Their face is turning blue" -var/is_horse = (dildo_shape == horse ) ? " /obj/item/dildo/proc/manual_suicide(mob/living/user) user.visible_message("[user] finally finishes deepthroating the [src], and their life.") From 245b2c1968fefeb6fc4ea28bacc5900051b823f7 Mon Sep 17 00:00:00 2001 From: Ragolution Date: Sat, 12 Jan 2019 03:45:25 -0500 Subject: [PATCH 12/12] Removed knot conditionals whatever --- modular_citadel/code/modules/arousal/toys/dildos.dm | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/modular_citadel/code/modules/arousal/toys/dildos.dm b/modular_citadel/code/modules/arousal/toys/dildos.dm index 885f6efc69..4b0a7ad919 100644 --- a/modular_citadel/code/modules/arousal/toys/dildos.dm +++ b/modular_citadel/code/modules/arousal/toys/dildos.dm @@ -18,6 +18,7 @@ var/random_color = TRUE var/random_size = FALSE var/random_shape = FALSE + var/is_knotted = FALSE //Lists moved to _cit_helpers.dm as globals so they're not instanced individually /obj/item/dildo/proc/update_appearance() @@ -123,7 +124,6 @@ obj/item/dildo/flared attack_verb = list("penetrated", "slapped", "neighed", "gaped", "prolapsed", "inseminated") obj/item/dildo/flared/huge - dildo_shape ="horse" name = "literal horse cock" desc = "THIS THING IS HUGE!" dildo_size = 4 @@ -138,16 +138,15 @@ obj/item/dildo/custom // Suicide acts, by request -var/is_knotted = (dildo_shape == knotted) ? "They swallowed the knot" : "Their face is turning blue" - /obj/item/dildo/proc/manual_suicide(mob/living/user) user.visible_message("[user] finally finishes deepthroating the [src], and their life.") user.adjustOxyLoss(200) user.death(0) /obj/item/dildo/suicide_act(mob/living/user) +// is_knotted = ((src.dildo_shape == "knotted")?"They swallowed the knot":"Their face is turning blue") if(do_after(user,17,target=src)) - user.visible_message("[user] tears-up and gags as they shove [src] down their throat! [is_knotted]! It looks like [user.p_theyre()] trying to commit suicide!") + user.visible_message("[user] tears-up and gags as they shove [src] down their throat! It looks like [user.p_theyre()] trying to commit suicide!") playsound(loc, 'sound/weapons/gagging.ogg', 50, 1, -1) user.Stun(150) user.adjust_blurriness(8)