diff --git a/code/datums/brain_damage/hypnosis.dm b/code/datums/brain_damage/hypnosis.dm index e717d43859..8f85ca12cb 100644 --- a/code/datums/brain_damage/hypnosis.dm +++ b/code/datums/brain_damage/hypnosis.dm @@ -12,7 +12,13 @@ /datum/brain_trauma/hypnosis/New(phrase) if(!phrase) qdel(src) - hypnotic_phrase = phrase + if(quirk == TRUE) + hypnotic_phrase = phrase + else + friendliify(phrase) + if(IsAdminAdvancedProcCall()) + to_chat(usr, "Hypnosis New() skipped due to try/catch incompatibility with admin proccalling.") + qdel(src) try target_phrase = new("(\\b[hypnotic_phrase]\\b)","ig") catch(var/exception/e) @@ -20,6 +26,16 @@ qdel(src) ..() +/datum/brain_trauma/hypnosis/proc/friendliify(phrase) + phrase = replacetext(lowertext(phrase), "kill", "hug") + phrase = replacetext(lowertext(phrase), "murder", "cuddle") + phrase = replacetext(lowertext(phrase), "harm", "snuggle") + phrase = replacetext(lowertext(phrase), "decapitate", "headpat") + phrase = replacetext(lowertext(phrase), "strangle", "meow at") + phrase = replacetext(lowertext(phrase), "suicide", "self-love") + phrase = replacetext(lowertext(phrase), "lynch", "kiss") + hypnotic_phrase = phrase + /datum/brain_trauma/hypnosis/on_gain() message_admins("[ADMIN_LOOKUPFLW(owner)] was hypnotized with the phrase '[hypnotic_phrase]'.") log_game("[key_name(owner)] was hypnotized with the phrase '[hypnotic_phrase]'.")