Merge pull request #8215 from GinjaNinja32/language

Fixes a few issues with noise-language.
This commit is contained in:
Zuhayr
2015-02-24 07:49:37 +10:30
5 changed files with 29 additions and 30 deletions

View File

@@ -20,26 +20,14 @@
throw_speed = 4
throw_range = 20
/obj/item/device/taperecorder/hear_talk(mob/living/M as mob, msg, var/verb="says")
/obj/item/device/taperecorder/hear_talk(mob/living/M as mob, msg, var/verb="says", datum/language/speaking=null)
if(recording)
//var/ending = copytext(msg, length(msg))
timestamp+= timerecorded
/*
if(M.stuttering)
storedinfo += "\[[time2text(timerecorded*10,"mm:ss")]\] [M.name] stammers, \"[msg]\""
return
if(M.getBrainLoss() >= 60)
storedinfo += "\[[time2text(timerecorded*10,"mm:ss")]\] [M.name] gibbers, \"[msg]\""
return
if(ending == "?")
storedinfo += "\[[time2text(timerecorded*10,"mm:ss")]\] [M.name] asks, \"[msg]\""
return
else if(ending == "!")
storedinfo += "\[[time2text(timerecorded*10,"mm:ss")]\] [M.name] exclaims, \"[msg]\""
return
*/
timestamp += timerecorded
if(speaking)
storedinfo += "\[[time2text(timerecorded*10,"mm:ss")]\] [M.name] [speaking.format_message_plain(msg, verb)]"
else
storedinfo += "\[[time2text(timerecorded*10,"mm:ss")]\] [M.name] [verb], \"[msg]\""
return
/obj/item/device/taperecorder/attackby(obj/item/weapon/W as obj, mob/user as mob)
..()

View File

@@ -186,6 +186,7 @@ var/global/floorIsLava = 0
var/f = 1
for(var/k in all_languages)
var/datum/language/L = all_languages[k]
if(!(L.flags & INNATE))
if(!f) body += " | "
else f = 0
if(L in M.languages)

View File

@@ -88,6 +88,9 @@
/datum/language/proc/format_message(message, verb)
return "[verb], <span class='message'><span class='[colour]'>\"[capitalize(message)]\"</span></span>"
/datum/language/proc/format_message_plain(message, verb)
return "[verb], \"[capitalize(message)]\""
/datum/language/proc/format_message_radio(message, verb)
return "[verb], <span class='[colour]'>\"[capitalize(message)]\"</span>"
@@ -121,11 +124,14 @@
name = "Noise"
desc = "Noises"
key = ""
flags = RESTRICTED|NONGLOBAL|INNATE|NO_TALK_MSG
flags = RESTRICTED|NONGLOBAL|INNATE|NO_TALK_MSG|NO_STUTTER
/datum/language/noise/format_message(message, verb)
return "<span class='message'><span class='[colour]'>[message]</span></span>"
/datum/language/noise/format_message_plain(message, verb)
return message
/datum/language/noise/format_message_radio(message, verb)
return "<span class='[colour]'>[message]</span>"

View File

@@ -36,6 +36,8 @@
else
message = copytext(message,3)
message = trim_left(message)
//parse the language code and consume it
var/datum/language/speaking = parse_language(message)
if(speaking)
@@ -61,6 +63,7 @@
message = trim(message)
if(speech_problem_flag)
if(!speaking || !(speaking.flags & NO_STUTTER))
var/list/handle_r = handle_speech_problems(message)
message = handle_r[1]
verb = handle_r[2]

View File

@@ -681,6 +681,7 @@ var/list/be_special_flags = list(
#define NONGLOBAL 32 // Do not add to general languages list
#define INNATE 64 // All mobs can be assumed to speak and understand this language (audible emotes)
#define NO_TALK_MSG 128 // Do not show the "\The [speaker] talks into \the [radio]" message
#define NO_STUTTER 256 // No stuttering, slurring, or other speech problems
//Flags for zone sleeping
#define ZONE_ACTIVE 1