diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm
index bc0c33c233d..eb2a7bce524 100644
--- a/code/modules/mob/living/carbon/human/human.dm
+++ b/code/modules/mob/living/carbon/human/human.dm
@@ -1480,19 +1480,22 @@
if(usr != src)
return 0 //something is terribly wrong
-
+ if(incapacitated())
+ to_chat(src, "You can't write on the floor in your current state!")
+ return
if(!bloody_hands)
verbs -= /mob/living/carbon/human/proc/bloody_doodle
- if(src.gloves)
- to_chat(src, "Your [src.gloves] are getting in the way.")
+ if(gloves)
+ to_chat(src, "[gloves] are preventing you from writing anything down!")
return
- var/turf/simulated/T = src.loc
+ var/turf/simulated/T = loc
if(!istype(T)) //to prevent doodling out of mechs and lockers
to_chat(src, "You cannot reach the floor.")
return
+ var/turf/origin = T
var/direction = input(src,"Which way?","Tile selection") as anything in list("Here","North","South","East","West")
if(direction != "Here")
T = get_step(T,text2dir(direction))
@@ -1510,7 +1513,9 @@
var/max_length = bloody_hands * 30 //tweeter style
var/message = stripped_input(src,"Write a message. It cannot be longer than [max_length] characters.","Blood writing", "")
-
+ if(origin != loc)
+ to_chat(src, "Stay still while writing!")
+ return
if(message)
var/used_blood_amount = round(length(message) / 30, 1)
bloody_hands = max(0, bloody_hands - used_blood_amount) //use up some blood
@@ -1518,7 +1523,8 @@
if(length(message) > max_length)
message += "-"
to_chat(src, "You ran out of blood to write with!")
-
+ else
+ to_chat(src, "You daub '[message]' on [T] in shiny red lettering.")
var/obj/effect/decal/cleanable/blood/writing/W = new(T)
W.message = message
W.add_fingerprint(src)