mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2026-08-22 20:57:23 +01:00
Merge branch 'release' of https://github.com/VOREStation/VOREStation into izac-voreupdate
All conflicts resolved Signed-off-by: izac112 <izac10@live.com>
This commit is contained in:
@@ -5,12 +5,6 @@
|
||||
key = ""
|
||||
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>"
|
||||
|
||||
@@ -143,6 +137,17 @@
|
||||
var/obj/item/organ/external/hand/hands = locate() in speaker //you can't sign without hands
|
||||
return (hands || !iscarbon(speaker))
|
||||
|
||||
/datum/language/sign/scramble(var/input, var/list/known_languages)
|
||||
return stars(input)
|
||||
|
||||
// This is a little weird because broadcast is traditionally for hivemind languages
|
||||
// But in practice, it's just a way for a language to override all other languages and bypass hear_say
|
||||
// which is exactly what sign language does.
|
||||
/datum/language/sign/broadcast(var/mob/living/speaker, var/message, var/speaker_mask)
|
||||
log_say("(SIGN) [message]", speaker)
|
||||
speaker.say_signlang(message, pick(signlang_verb), src)
|
||||
|
||||
|
||||
// Silly language for those times when you try to talk a languague you normally can't
|
||||
/datum/language/gibberish
|
||||
name = LANGUAGE_GIBBERISH
|
||||
|
||||
@@ -113,13 +113,13 @@
|
||||
return scrambled_text
|
||||
|
||||
/datum/language/proc/format_message(message, verb)
|
||||
return "[verb], <span class='message'><span class='[colour]'>\"[capitalize(message)]\"</span></span>"
|
||||
return "<span class='message'><span class='[colour]'>[message]</span></span>"
|
||||
|
||||
/datum/language/proc/format_message_plain(message, verb)
|
||||
return "[verb], \"[capitalize(message)]\""
|
||||
return "[capitalize(message)]"
|
||||
|
||||
/datum/language/proc/format_message_radio(message, verb)
|
||||
return "[verb], <span class='[colour]'>\"[capitalize(message)]\"</span>"
|
||||
return "<span class='[colour]'>[capitalize(message)]</span>"
|
||||
|
||||
/datum/language/proc/get_talkinto_msg_range(message)
|
||||
// if you yell, you'll be heard from two tiles over instead of one
|
||||
@@ -129,7 +129,7 @@
|
||||
log_say("(HIVE) [message]", speaker)
|
||||
|
||||
if(!speaker_mask) speaker_mask = speaker.name
|
||||
message = format_message(message, get_spoken_verb(message))
|
||||
message = "[get_spoken_verb(message)], \"[format_message(message, get_spoken_verb(message))]\""
|
||||
|
||||
for(var/mob/player in player_list)
|
||||
player.hear_broadcast(src, speaker, speaker_mask, message)
|
||||
@@ -233,36 +233,36 @@
|
||||
return prefix in config.language_prefixes
|
||||
|
||||
//TBD
|
||||
/mob/proc/check_lang_data()
|
||||
. = ""
|
||||
|
||||
for(var/datum/language/L in languages)
|
||||
if(!(L.flags & NONGLOBAL))
|
||||
. += "<b>[L.name] ([get_language_prefix()][L.key])</b><br/>[L.desc]<br/><br/>"
|
||||
|
||||
/mob/living/check_lang_data()
|
||||
. = ""
|
||||
|
||||
if(default_language)
|
||||
. += "Current default language: [default_language] - <a href='byond://?src=\ref[src];default_lang=reset'>reset</a><br/><br/>"
|
||||
|
||||
for(var/datum/language/L in languages)
|
||||
if(!(L.flags & NONGLOBAL))
|
||||
if(L == default_language)
|
||||
. += "<b>[L.name] ([get_language_prefix()][L.key])</b> - default - <a href='byond://?src=\ref[src];default_lang=reset'>reset</a><br/>[L.desc]<br/><br/>"
|
||||
else if (can_speak(L))
|
||||
. += "<b>[L.name] ([get_language_prefix()][L.key])</b> - <a href='byond://?src=\ref[src];default_lang=\ref[L]'>set default</a><br/>[L.desc]<br/><br/>"
|
||||
else
|
||||
. += "<b>[L.name] ([get_language_prefix()][L.key])</b> - cannot speak!<br/>[L.desc]<br/><br/>"
|
||||
|
||||
/mob/verb/check_languages()
|
||||
set name = "Check Known Languages"
|
||||
set category = "IC"
|
||||
set src = usr
|
||||
|
||||
var/dat = "<b><font size = 5>Known Languages</font></b><br/><br/>"
|
||||
|
||||
for(var/datum/language/L in languages)
|
||||
if(!(L.flags & NONGLOBAL))
|
||||
dat += "<b>[L.name] ([get_language_prefix()][L.key])</b><br/>[L.desc]<br/><br/>"
|
||||
|
||||
src << browse(dat, "window=checklanguage")
|
||||
return
|
||||
|
||||
/mob/living/check_languages()
|
||||
var/dat = "<b><font size = 5>Known Languages</font></b><br/><br/>"
|
||||
|
||||
if(default_language)
|
||||
dat += "Current default language: [default_language] - <a href='byond://?src=\ref[src];default_lang=reset'>reset</a><br/><br/>"
|
||||
|
||||
for(var/datum/language/L in languages)
|
||||
if(!(L.flags & NONGLOBAL))
|
||||
if(L == default_language)
|
||||
dat += "<b>[L.name] ([get_language_prefix()][L.key])</b> - default - <a href='byond://?src=\ref[src];default_lang=reset'>reset</a><br/>[L.desc]<br/><br/>"
|
||||
else if (can_speak(L))
|
||||
dat += "<b>[L.name] ([get_language_prefix()][L.key])</b> - <a href='byond://?src=\ref[src];default_lang=\ref[L]'>set default</a><br/>[L.desc]<br/><br/>"
|
||||
else
|
||||
dat += "<b>[L.name] ([get_language_prefix()][L.key])</b> - cannot speak!<br/>[L.desc]<br/><br/>"
|
||||
|
||||
src << browse(dat, "window=checklanguage")
|
||||
var/datum/browser/popup = new(src, "checklanguage", "Known Languages", 420, 470)
|
||||
popup.set_content(check_lang_data())
|
||||
popup.open()
|
||||
|
||||
/mob/living/Topic(href, href_list)
|
||||
if(href_list["default_lang"])
|
||||
|
||||
@@ -92,7 +92,11 @@
|
||||
signlang_verb = list("gestures with their hands", "gestures with their ears and tail", "gestures with their ears, tail and hands")
|
||||
colour = "tajaran"
|
||||
key = "l"
|
||||
flags = WHITELISTED | SIGNLANG | NO_STUTTER | NONVERBAL
|
||||
flags = WHITELISTED | SIGNLANG | NO_STUTTER //nonverbal define was not needed here, and i need to use it ~Layne
|
||||
|
||||
/datum/language/tajsign/broadcast(var/mob/living/speaker, var/message, var/speaker_mask)
|
||||
log_say("(SIGN) [message]", speaker)
|
||||
speaker.say_signlang(message, pick(signlang_verb), src)
|
||||
|
||||
/datum/language/tajsign/can_speak_special(var/mob/speaker) // TODO: If ever we make external organs assist languages, convert this over to the new format
|
||||
var/list/allowed_species = list(SPECIES_TAJ, SPECIES_TESHARI) // Need a tail and ears and such to use this.
|
||||
@@ -215,6 +219,19 @@
|
||||
space_chance = 20
|
||||
syllables = list("z", "dz", "i", "iv", "ti", "az", "hix", "xo", "av", "xo", "x", "za", "at", "vi")
|
||||
|
||||
/datum/language/promethean
|
||||
name = LANGUAGE_PROMETHEAN
|
||||
desc = "A complex language composed of guttural noises and bioluminescent signals"
|
||||
signlang_verb = list("flickers","flashes","rapidly flashes a light","quickly flickers a light")
|
||||
speech_verb = "gurgles"
|
||||
ask_verb = "gurgles"
|
||||
exclaim_verb = "gurgles"
|
||||
colour = "promethean"
|
||||
key = "t"
|
||||
flags = WHITELISTED | NONVERBAL
|
||||
space_chance = 20
|
||||
syllables = list("gur","gul","gug","gel","ger","geg","gir","gil","gig","gor","gol","gog","ug","ul","ur","uu","el","eg","er","oe","ig","il","ir","oi","og","ol","or","oo")
|
||||
|
||||
|
||||
//Syllable Lists
|
||||
/*
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
desc = "The dominant language of the Sergal homeworld, Vilous. It consists of aggressive low-pitched hissing and throaty growling."
|
||||
speech_verb = "snarls"
|
||||
colour = "sergal"
|
||||
key = "t"
|
||||
key = "T"
|
||||
syllables = list ("grr", "gah", "woof", "arf", "arra", "rah", "wor", "sarg")
|
||||
|
||||
/datum/language/vulpkanin
|
||||
|
||||
Reference in New Issue
Block a user