diff --git a/code/game/verbs/suicide.dm b/code/game/verbs/suicide.dm
index 604b832b44a..d6f2532ae50 100644
--- a/code/game/verbs/suicide.dm
+++ b/code/game/verbs/suicide.dm
@@ -17,6 +17,10 @@
var/confirm = alert("Are you sure you want to commit suicide?", "Confirm Suicide", "Yes", "No")
+ if(alien_egg_flag)
+ src << "The alien inside you forces you to breathe, preventing you from suiciding."
+ return
+
if(confirm == "Yes")
suiciding = 1
//instead of killing them instantly, just put them at -175 health and let 'em gasp for a while
diff --git a/code/modules/mob/dead/observer/say.dm b/code/modules/mob/dead/observer/say.dm
index 40c1b39606c..a5c6a7a46bc 100644
--- a/code/modules/mob/dead/observer/say.dm
+++ b/code/modules/mob/dead/observer/say.dm
@@ -14,7 +14,7 @@
. = src.say_dead(message)
-/* for (var/mob/M in hearers(null, null))
+ for (var/mob/M in hearers(null, null))
if (!M.stat)
if(M.job == "Chaplain")
if (prob (49))
@@ -22,7 +22,8 @@
if(prob(20))
playsound(src.loc, pick('ghost.ogg','ghost2.ogg'), 10, 1)
else
- M.show_message("[stutter(message)]", 2)
+ M.show_message("You hear muffled speech... you can almost make out some words...", 2)
+// M.show_message("[stutter(message)]", 2)
if(prob(30))
playsound(src.loc, pick('ghost.ogg','ghost2.ogg'), 10, 1)
else
@@ -33,5 +34,6 @@
if(prob(20))
playsound(src.loc, pick('ghost.ogg','ghost2.ogg'), 10, 1)
else
- M.show_message("[stutter(message)]", 2)
- playsound(src.loc, pick('ghost.ogg','ghost2.ogg'), 10, 1) */
\ No newline at end of file
+ M.show_message("You hear muffled speech... you can almost make out some words...", 2)
+// M.show_message("[stutter(message)]", 2)
+ playsound(src.loc, pick('ghost.ogg','ghost2.ogg'), 10, 1)
\ No newline at end of file
diff --git a/code/modules/mob/mob.dm b/code/modules/mob/mob.dm
index a90cdef592e..b1fb2e809f9 100644
--- a/code/modules/mob/mob.dm
+++ b/code/modules/mob/mob.dm
@@ -268,17 +268,17 @@ proc/isobserver(A)
p = 1//1 is the start of any word
while(p <= n)//while P, which starts at 1 is less or equal to N which is the length.
var/n_letter = copytext(te, p, p + 1)//copies text from a certain distance. In this case, only one letter at a time.
- if (prob(80))
+ if (prob(80) && !(n_letter in list("a","e","i","o","u","A","E","I","O","U")))
if (prob(10))
- n_letter = text("[n_letter][n_letter][n_letter][n_letter]")//replaces the current letter with this instead.
+ n_letter = text("[n_letter]-[n_letter]-[n_letter]-[n_letter]")//replaces the current letter with this instead.
else
if (prob(20))
- n_letter = text("[n_letter][n_letter][n_letter]")
+ n_letter = text("[n_letter]-[n_letter]-[n_letter]")
else
if (prob(5))
n_letter = null
else
- n_letter = text("[n_letter][n_letter]")
+ n_letter = text("[n_letter]-[n_letter]")
t = text("[t][n_letter]")//since the above is ran through for each letter, the text just adds up back to the original word.
p++//for each letter p is increased to find where the next letter will be.
return copytext(sanitize(t),1,MAX_MESSAGE_LEN)