mirror of
https://github.com/VOREStation/VOREStation.git
synced 2026-07-18 10:34:10 +01:00
Merge HarpyEagle commit
This commit is contained in:
committed by
Arokha Sieyes
parent
2bb73a3861
commit
8bc2e4d88b
@@ -125,29 +125,20 @@
|
||||
|
||||
return verb
|
||||
|
||||
/mob/living/carbon/human/handle_speech_problems(var/message, var/verb)
|
||||
/mob/living/carbon/human/handle_speech_problems(var/list/message_data)
|
||||
if(silent || (sdisabilities & MUTE))
|
||||
message = ""
|
||||
speech_problem_flag = 1
|
||||
message_data[1] = ""
|
||||
. = 1
|
||||
|
||||
else if(istype(wear_mask, /obj/item/clothing/mask))
|
||||
var/obj/item/clothing/mask/M = wear_mask
|
||||
if(M.voicechange)
|
||||
message = pick(M.say_messages)
|
||||
verb = pick(M.say_verbs)
|
||||
speech_problem_flag = 1
|
||||
message_data[1] = pick(M.say_messages)
|
||||
message_data[2] = pick(M.say_verbs)
|
||||
. = 1
|
||||
|
||||
if(message != "")
|
||||
var/list/parent = ..()
|
||||
message = parent[1]
|
||||
verb = parent[2]
|
||||
if(parent[3])
|
||||
speech_problem_flag = 1
|
||||
|
||||
var/list/returns[3]
|
||||
returns[1] = message
|
||||
returns[2] = verb
|
||||
returns[3] = speech_problem_flag
|
||||
return returns
|
||||
else
|
||||
. = ..(message_data)
|
||||
|
||||
/mob/living/carbon/human/handle_message_mode(message_mode, message, verb, speaking, used_radios, alt_name)
|
||||
switch(message_mode)
|
||||
|
||||
@@ -60,17 +60,18 @@
|
||||
|
||||
message = capitalize(trim(message))
|
||||
|
||||
if(speech_problem_flag)
|
||||
var/list/handle_r = handle_speech_problems(message)
|
||||
message = handle_r[1]
|
||||
verb = handle_r[2]
|
||||
if(verb == "yells loudly")
|
||||
verb = "slurs emphatically"
|
||||
else
|
||||
var/adverb = pick("quietly", "softly")
|
||||
verb = "[verb] [adverb]"
|
||||
//speech problems
|
||||
if(!(speaking && (speaking.flags & NO_STUTTER)))
|
||||
var/list/message_data = list(message, verb, 1)
|
||||
if(handle_speech_problems(message_data))
|
||||
message = message_data[1]
|
||||
|
||||
speech_problem_flag = handle_r[3]
|
||||
if(!message_data[3]) //if a speech problem like hulk forces someone to yell then everyone hears it
|
||||
verb = message_data[2] //assume that if they are going to force not-whispering then they will set an appropriate verb too
|
||||
message_range = world.view
|
||||
else
|
||||
var/adverb = pick("quietly", "softly")
|
||||
verb = "[message_data[2]] [adverb]"
|
||||
|
||||
if(!message || message=="")
|
||||
return
|
||||
|
||||
@@ -82,27 +82,33 @@ proc/get_radio_key_from_channel(var/channel)
|
||||
/mob/living/proc/get_default_language()
|
||||
return default_language
|
||||
|
||||
/mob/living/proc/handle_speech_problems(var/message, var/verb)
|
||||
var/list/returns[3]
|
||||
var/speech_problem_flag = 0
|
||||
/mob/living/proc/is_muzzled()
|
||||
return 0
|
||||
|
||||
//Takes a list of the form list(message, verb, whispering) and modifies it as needed
|
||||
//Returns 1 if a speech problem was applied, 0 otherwise
|
||||
/mob/living/proc/handle_speech_problems(var/list/message_data)
|
||||
var/message = message_data[1]
|
||||
var/verb = message_data[2]
|
||||
|
||||
. = 0
|
||||
|
||||
if((HULK in mutations) && health >= 25 && length(message))
|
||||
message = "[uppertext(message)]!!!"
|
||||
verb = pick("yells","roars","hollers")
|
||||
speech_problem_flag = 1
|
||||
message_data[3] = 0
|
||||
. = 1
|
||||
if(slurring)
|
||||
message = slur(message)
|
||||
verb = pick("slobbers","slurs")
|
||||
speech_problem_flag = 1
|
||||
. = 1
|
||||
if(stuttering)
|
||||
message = stutter(message)
|
||||
verb = pick("stammers","stutters")
|
||||
speech_problem_flag = 1
|
||||
. = 1
|
||||
|
||||
returns[1] = message
|
||||
returns[2] = verb
|
||||
returns[3] = speech_problem_flag
|
||||
return returns
|
||||
message_data[1] = message
|
||||
message_data[2] = verb
|
||||
|
||||
/mob/living/proc/handle_message_mode(message_mode, message, verb, speaking, used_radios, alt_name)
|
||||
if(message_mode == "intercom")
|
||||
@@ -172,12 +178,13 @@ proc/get_radio_key_from_channel(var/channel)
|
||||
|
||||
message = trim_left(message)
|
||||
|
||||
if(!(speaking && (speaking.flags & NO_STUTTER)))
|
||||
message = handle_autohiss(message, speaking)
|
||||
message = handle_autohiss(message, speaking)
|
||||
|
||||
var/list/handle_s = handle_speech_problems(message, verb)
|
||||
message = handle_s[1]
|
||||
verb = handle_s[2]
|
||||
if(!(speaking && (speaking.flags & NO_STUTTER)))
|
||||
var/list/message_data = list(message, verb, 0)
|
||||
if(handle_speech_problems(message_data))
|
||||
message = message_data[1]
|
||||
verb = message_data[2]
|
||||
|
||||
if(!message || message == "")
|
||||
return 0
|
||||
|
||||
Reference in New Issue
Block a user