From 548bcee177977543cf6f005b8e704f7f04b9452f Mon Sep 17 00:00:00 2001 From: cib Date: Sat, 19 May 2012 19:55:16 +0200 Subject: [PATCH] Fixed a bug where you could still whisper when meme-muted. Improved agony a bit. --- .../mob/living/carbon/human/whisper.dm | 4 ++++ code/modules/mob/living/parasite/meme.dm | 19 ++++++++++++++++--- 2 files changed, 20 insertions(+), 3 deletions(-) diff --git a/code/modules/mob/living/carbon/human/whisper.dm b/code/modules/mob/living/carbon/human/whisper.dm index a17d81795ef..c8c291131a2 100644 --- a/code/modules/mob/living/carbon/human/whisper.dm +++ b/code/modules/mob/living/carbon/human/whisper.dm @@ -11,6 +11,10 @@ src << "You are muted." return + if(!speech_allowed && usr == src) + usr << "\red You can't speak." + return + if (src.stat == 2) return src.say_dead(message) diff --git a/code/modules/mob/living/parasite/meme.dm b/code/modules/mob/living/parasite/meme.dm index 7a9061a18c2..f56e9436f2f 100644 --- a/code/modules/mob/living/parasite/meme.dm +++ b/code/modules/mob/living/parasite/meme.dm @@ -173,7 +173,19 @@ mob/living/parasite/meme/proc/select_indoctrinated(var/title, var/message) if(candidates.len == 1) target = candidates[1] else - target = input(message,title) as null|mob in candidates + var/selected + + var/list/text_candidates = list() + var/list/map_text_to_mob = list() + + for(var/mob/living/carbon/human/M in candidates) + text_candidates += M.real_name + map_text_to_mob[M.real_name] = M + + selected = input(message,title) as null|mob in text_candidates + if(!selected) return null + + target = map_text_to_mob[selected] return target @@ -282,7 +294,7 @@ mob/living/parasite/meme/verb/Agony() host.paralysis = max(host.paralysis, 2) - host.flash_pain() + host.flash_weak_pain() host << "\red You feel excrutiating pain all over your body! It is so bad you can't think or articulate yourself properly.." usr << "You send a jolt of agonizing pain through [host], they should be unable to concentrate on anything else for half a minute." @@ -290,8 +302,9 @@ mob/living/parasite/meme/verb/Agony() host.emote("scream") for(var/i=0, i<10, i++) + host.stuttering = 2 sleep(50) - if(prob(50)) host.flash_weak_pain() + if(prob(80)) host.flash_weak_pain() if(prob(10)) host.paralysis = max(host.paralysis, 2) if(prob(15)) host.emote("twitch") else if(prob(15)) host.emote("scream")