anchor.diff:  
   // 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("<span class='suicide'>[user] finally finishes deepthroating the [src], and their life.</span>")
  -	user.adjustOxyLoss(200)
  -	user.death(0)
  +		user.visible_message("<span class='suicide'>[user] finally finishes deepthroating the [src], and their life.</span>")
  +		user.adjustOxyLoss(200)
  +		user.death(0)
   
   /obj/item/dildo/suicide_act(mob/living/user)
  -	user.visible_message("<span class='suicide'>[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!</span>")
  -	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("<span class='suicide'>[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!</span>")
  -	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("<span class='suicide'>[user] tears-up and gags as they shove [src] down their throat! [is_knotted]! It looks like [user.p_theyre()] trying to commit suicide!</span>")
  +		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("<span class='suicide'>[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!!</span>")
  -	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("<span class='suicide'>[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!!</span>")
  +		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("<span class='suicide'>[user] gags as they shove [src] down their throat! It looks like they wanted a custom death message!!</span>")
  -	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
  
positive.code: obj/item/dildo/plain
  	dildo_shape 		= "plain"
  	name 				= "plain dildo"
  	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")
  
  obj/item/dildo/flared/huge
  	name = "literal horse cock"
  	desc = "THIS THING IS HUGE!"
  	dildo_size = 4
  
  obj/item/dildo/custom
  	name 				= "customizable dildo"
  
negative.code: /obj/item/dildo/knotted
  	dildo_shape 		= "knotted"
  	name 				= "knotted dildo"
  	attack_verb 		= list("penetrated", "knotted", "slapped", "inseminated")
  
  obj/item/dildo/human
  	dildo_shape 		= "human"
  