mirror of
https://github.com/Aurorastation/Aurora.3.git
synced 2026-01-26 17:22:56 +00:00
227 lines
12 KiB
Plaintext
227 lines
12 KiB
Plaintext
/datum/language/diona
|
|
name = "Rootsong"
|
|
desc = "A creaking, subvocal language spoken instinctively by the Dionaea. Due to the unique makeup of the average Diona, a phrase of Rootsong can be a combination of anywhere from one to twelve individual voices and notes."
|
|
speech_verb = "creaks and rustles"
|
|
ask_verb = "creaks"
|
|
exclaim_verb = "rustles"
|
|
colour = "soghun"
|
|
key = "q"
|
|
flags = RESTRICTED
|
|
syllables = list("hs","zt","kr","st","sh")
|
|
|
|
/datum/language/diona/get_random_name()
|
|
var/new_name = "[pick(list("To Sleep Beneath","Changing of", "Soaring Above", "Wind Over","Embrace of","Dreams of","Witnessing", "Lost in", "To Walk Beneath","Approaching the", "Distant Memories of", "Forgotten Glimpse of", "Roots of", "Tendrils of", "Leaves Rustling in", "Last Hope of", "Speaking to"))]"
|
|
new_name += " [pick(list("the Void","the Stillness of Death", "the Sky","Encroaching Night","Planetsong","Starsong","the Wandering Star","the Empty Day","Daybreak","Nightfall","the Rain", "a Distant Galaxy", "a Starless Night", "the Fruits of Dreams", "the Rising Dawn", "the Song of Life", "a Lonely Shadow", "Forlorn Hope", "a Bleak Wasteland"))]"
|
|
while(findtextEx(new_name,"the the",1,null))
|
|
new_name = replacetext(new_name, "the the", "the")
|
|
|
|
while(findtextEx(new_name,"the a",1,null))
|
|
new_name = replacetext(new_name, "the a", "a")
|
|
|
|
return new_name
|
|
|
|
/datum/language/unathi
|
|
name = "Sinta'unathi"
|
|
desc = "The common language of Moghes, composed of sibilant hisses and rattles. Spoken natively by Unathi."
|
|
speech_verb = "hisses"
|
|
ask_verb = "hisses"
|
|
exclaim_verb = "roars"
|
|
colour = "soghun"
|
|
key = "o"
|
|
flags = WHITELISTED
|
|
syllables = list("ss","ss","ss","ss","skak","seeki","resh","las","esi","kor","sh")
|
|
|
|
/datum/language/unathi/get_random_name()
|
|
|
|
var/new_name = ..()
|
|
while(findtextEx(new_name,"sss",1,null))
|
|
new_name = replacetext(new_name, "sss", "ss")
|
|
return capitalize(new_name)
|
|
|
|
/datum/language/tajaran
|
|
name = "Siik'maas"
|
|
desc = "The traditionally employed tongue of Ahdomai, composed of expressive yowls and chirps. Native to the Tajaran."
|
|
speech_verb = "mrowls"
|
|
ask_verb = "mrowls"
|
|
exclaim_verb = "yowls"
|
|
colour = "tajaran"
|
|
key = "j"
|
|
flags = WHITELISTED
|
|
syllables = list("mrr","rr","tajr","kir","raj","kii","mir","kra","ahk","nal","vah","khaz","jri","ran","darr",
|
|
"mi","jri","dynh","manq","rhe","zar","rrhaz","kal","chur","eech","thaa","dra","jurl","mah","sanu","dra","ii'r",
|
|
"ka","aasi","far","wa","baq","ara","qara","zir","sam","mak","hrar","nja","rir","khan","jun","dar","rik","kah",
|
|
"hal","ket","jurl","mah","tul","cresh","azu","ragh","mro","mra","mrro","mrra")
|
|
|
|
/datum/language/tajaran/get_random_name(var/gender)
|
|
|
|
var/new_name = ..(gender,1)
|
|
if(prob(50))
|
|
new_name += " [pick(list("Hadii","Kaytam","Nazkiin","Zhan-Khazan","Hharar","Njarir'Akhan","Faaira'Nrezi","Rhezar","Mi'dynh","Rrhazkal","Bayan","Al'Manq","Mi'jri","Chur'eech","Sanu'dra","Ii'rka"))]"
|
|
else
|
|
new_name += " [..(gender,1)]"
|
|
return new_name
|
|
|
|
/datum/language/skrell
|
|
name = "Skrellian"
|
|
desc = "A melodic and complex language spoken by the Skrell of Qerrbalak. Some of the notes are inaudible to humans."
|
|
speech_verb = "warbles"
|
|
ask_verb = "warbles"
|
|
exclaim_verb = "warbles"
|
|
colour = "skrell"
|
|
key = "k"
|
|
flags = WHITELISTED
|
|
syllables = list("qr","qrr","xuq","qil","quum","xuqm","vol","xrim","zaoo","qu-uu","qix","qoo","zix","*","!")
|
|
|
|
/datum/language/bug
|
|
name = "Hivenet"
|
|
desc = "Complex Vaurcesian language comprised of rapid mandible-clicking, \"It's a bugs life.\""
|
|
speech_verb = " broadcasts"
|
|
colour = "vaurca"
|
|
key = "9"
|
|
native = 1
|
|
flags = WHITELISTED | HIVEMIND
|
|
syllables = list("vaur","uyek","uyit","avek","sc'theth","k'ztak","teth","wre'ge","lii","dra'","zo'","ra'","k'lax'","zz","vh","ik","ak",
|
|
"uhk","zir","sc'orth","sc'er","thc'yek","th'zirk","th'esk","k'ayek","ka'mil","sc'","ik'yir","yol","kig","k'zit","'","'","zrk","krg","isk'yet","na'k",
|
|
"sc'azz","th'sc","nil","n'ahk","sc'yeth","aur'sk","iy'it","azzg","a'","i'","o'","u'","a","i","o","u","zz","kr","ak","nrk")
|
|
|
|
/datum/language/bug/get_random_name()
|
|
var/new_name = "[pick(list("Ka'","Za'","Ka'"))]"
|
|
new_name += "[pick(list("Akaix'","Viax'"))]"
|
|
new_name += "[pick(list("Uyek","Uyit","Avek","Theth","Ztak","Teth","Zir","Yek","Zirk","Ayek","Yir","Kig","Yol","'Zrk","Nazgr","Yet","Nak","Kiihr","Gruz","Guurz","Nagr","Zkk","Zohd","Norc","Agraz","Yizgr","Yinzr","Nuurg","Iii","Lix","Nhagh","Xir","Z'zit","Zhul","Zgr","Na'k","Isk'yet","Aaaa"))]"
|
|
new_name += " [pick(list("Zo'ra","Zo'ra","Zo'ra","K'lax"))]"
|
|
return new_name
|
|
|
|
/datum/language/bug/broadcast(var/mob/living/speaker,var/message,var/speaker_mask)
|
|
log_say("[key_name(speaker)] : ([name]) [message]")
|
|
|
|
if(!speaker_mask)
|
|
speaker_mask = speaker.name
|
|
|
|
var/msg = "<i><span class='game say'>[name], <span class='name'>[speaker_mask]</span>[format_message(message, get_spoken_verb(message))]</span></i>"
|
|
|
|
speaker.custom_emote(1, "[pick("twitches their antennae", "twitches their antennae rythmically")].")
|
|
|
|
if (within_jamming_range(speaker))
|
|
// The user thinks that the message got through.
|
|
speaker << msg
|
|
return
|
|
|
|
for(var/mob/player in player_list)
|
|
if(istype(player,/mob/dead) || ((src in player.languages && !within_jamming_range(player)) || check_special_condition(player)))
|
|
player << msg
|
|
|
|
/datum/language/bug/check_special_condition(var/mob/other)
|
|
|
|
var/mob/living/carbon/human/M = other
|
|
if(!istype(M))
|
|
return 0
|
|
if(istype(M, /mob/new_player))
|
|
return 0
|
|
if(within_jamming_range(other))
|
|
return 0
|
|
if(locate(/obj/item/organ/vaurca/neuralsocket) in M.internal_organs)
|
|
return 1
|
|
|
|
if (M.l_ear || M.r_ear)
|
|
var/obj/item/device/radio/headset/dongle
|
|
if(istype(M.l_ear,/obj/item/device/radio/headset))
|
|
dongle = M.l_ear
|
|
else
|
|
dongle = M.r_ear
|
|
|
|
if(!istype(dongle))
|
|
return 0
|
|
if(dongle.translate_hivenet)
|
|
return 1
|
|
|
|
return 0
|
|
|
|
/datum/language/human
|
|
name = "Sol Common"
|
|
desc = "A bastardized hybrid of informal English and elements of Mandarin Chinese; the common language of the Sol system."
|
|
speech_verb = "says"
|
|
whisper_verb = "whispers"
|
|
colour = "solcom"
|
|
key = "1"
|
|
flags = RESTRICTED
|
|
|
|
//syllables are at the bottom of the file
|
|
|
|
/datum/language/human/get_spoken_verb(var/msg_end)
|
|
switch(msg_end)
|
|
if("!")
|
|
return pick("exclaims","shouts","yells") //TODO: make the basic proc handle lists of verbs.
|
|
if("?")
|
|
return ask_verb
|
|
return speech_verb
|
|
|
|
/datum/language/human/get_random_name(var/gender)
|
|
if (prob(80))
|
|
if(gender==FEMALE)
|
|
return capitalize(pick(first_names_female)) + " " + capitalize(pick(last_names))
|
|
else
|
|
return capitalize(pick(first_names_male)) + " " + capitalize(pick(last_names))
|
|
else
|
|
return ..()
|
|
|
|
//Syllable Lists
|
|
/*
|
|
This list really long, mainly because I can't make up my mind about which mandarin syllables should be removed,
|
|
and the english syllables had to be duplicated so that there is roughly a 50-50 weighting.
|
|
|
|
Sources:
|
|
http://www.sttmedia.com/syllablefrequency-english
|
|
http://www.chinahighlights.com/travelguide/learning-chinese/pinyin-syllables.htm
|
|
*/
|
|
/datum/language/human/syllables = list(
|
|
"a", "ai", "an", "ang", "ao", "ba", "bai", "ban", "bang", "bao", "bei", "ben", "beng", "bi", "bian", "biao",
|
|
"bie", "bin", "bing", "bo", "bu", "ca", "cai", "can", "cang", "cao", "ce", "cei", "cen", "ceng", "cha", "chai",
|
|
"chan", "chang", "chao", "che", "chen", "cheng", "chi", "chong", "chou", "chu", "chua", "chuai", "chuan", "chuang", "chui", "chun",
|
|
"chuo", "ci", "cong", "cou", "cu", "cuan", "cui", "cun", "cuo", "da", "dai", "dan", "dang", "dao", "de", "dei",
|
|
"den", "deng", "di", "dian", "diao", "die", "ding", "diu", "dong", "dou", "du", "duan", "dui", "dun", "duo", "e",
|
|
"ei", "en", "er", "fa", "fan", "fang", "fei", "fen", "feng", "fo", "fou", "fu", "ga", "gai", "gan", "gang",
|
|
"gao", "ge", "gei", "gen", "geng", "gong", "gou", "gu", "gua", "guai", "guan", "guang", "gui", "gun", "guo", "ha",
|
|
"hai", "han", "hang", "hao", "he", "hei", "hen", "heng", "hm", "hng", "hong", "hou", "hu", "hua", "huai", "huan",
|
|
"huang", "hui", "hun", "huo", "ji", "jia", "jian", "jiang", "jiao", "jie", "jin", "jing", "jiong", "jiu", "ju", "juan",
|
|
"jue", "jun", "ka", "kai", "kan", "kang", "kao", "ke", "kei", "ken", "keng", "kong", "kou", "ku", "kua", "kuai",
|
|
"kuan", "kuang", "kui", "kun", "kuo", "la", "lai", "lan", "lang", "lao", "le", "lei", "leng", "li", "lia", "lian",
|
|
"liang", "liao", "lie", "lin", "ling", "liu", "long", "lou", "lu", "luan", "lun", "luo", "ma", "mai", "man", "mang",
|
|
"mao", "me", "mei", "men", "meng", "mi", "mian", "miao", "mie", "min", "ming", "miu", "mo", "mou", "mu", "na",
|
|
"nai", "nan", "nang", "nao", "ne", "nei", "nen", "neng", "ng", "ni", "nian", "niang", "niao", "nie", "nin", "ning",
|
|
"niu", "nong", "nou", "nu", "nuan", "nuo", "o", "ou", "pa", "pai", "pan", "pang", "pao", "pei", "pen", "peng",
|
|
"pi", "pian", "piao", "pie", "pin", "ping", "po", "pou", "pu", "qi", "qia", "qian", "qiang", "qiao", "qie", "qin",
|
|
"qing", "qiong", "qiu", "qu", "quan", "que", "qun", "ran", "rang", "rao", "re", "ren", "reng", "ri", "rong", "rou",
|
|
"ru", "rua", "ruan", "rui", "run", "ruo", "sa", "sai", "san", "sang", "sao", "se", "sei", "sen", "seng", "sha",
|
|
"shai", "shan", "shang", "shao", "she", "shei", "shen", "sheng", "shi", "shou", "shu", "shua", "shuai", "shuan", "shuang", "shui",
|
|
"shun", "shuo", "si", "song", "sou", "su", "suan", "sui", "sun", "suo", "ta", "tai", "tan", "tang", "tao", "te",
|
|
"teng", "ti", "tian", "tiao", "tie", "ting", "tong", "tou", "tu", "tuan", "tui", "tun", "tuo", "wa", "wai", "wan",
|
|
"wang", "wei", "wen", "weng", "wo", "wu", "xi", "xia", "xian", "xiang", "xiao", "xie", "xin", "xing", "xiong", "xiu",
|
|
"xu", "xuan", "xue", "xun", "ya", "yan", "yang", "yao", "ye", "yi", "yin", "ying", "yong", "you", "yu", "yuan",
|
|
"yue", "yun", "za", "zai", "zan", "zang", "zao", "ze", "zei", "zen", "zeng", "zha", "zhai", "zhan", "zhang", "zhao",
|
|
"zhe", "zhei", "zhen", "zheng", "zhi", "zhong", "zhou", "zhu", "zhua", "zhuai", "zhuan", "zhuang", "zhui", "zhun", "zhuo", "zi",
|
|
"zong", "zou", "zuan", "zui", "zun", "zuo", "zu",
|
|
"al", "an", "ar", "as", "at", "ea", "ed", "en", "er", "es", "ha", "he", "hi", "in", "is", "it",
|
|
"le", "me", "nd", "ne", "ng", "nt", "on", "or", "ou", "re", "se", "st", "te", "th", "ti", "to",
|
|
"ve", "wa", "all", "and", "are", "but", "ent", "era", "ere", "eve", "for", "had", "hat", "hen", "her", "hin",
|
|
"his", "ing", "ion", "ith", "not", "ome", "oul", "our", "sho", "ted", "ter", "tha", "the", "thi",
|
|
"al", "an", "ar", "as", "at", "ea", "ed", "en", "er", "es", "ha", "he", "hi", "in", "is", "it",
|
|
"le", "me", "nd", "ne", "ng", "nt", "on", "or", "ou", "re", "se", "st", "te", "th", "ti", "to",
|
|
"ve", "wa", "all", "and", "are", "but", "ent", "era", "ere", "eve", "for", "had", "hat", "hen", "her", "hin",
|
|
"his", "ing", "ion", "ith", "not", "ome", "oul", "our", "sho", "ted", "ter", "tha", "the", "thi",
|
|
"al", "an", "ar", "as", "at", "ea", "ed", "en", "er", "es", "ha", "he", "hi", "in", "is", "it",
|
|
"le", "me", "nd", "ne", "ng", "nt", "on", "or", "ou", "re", "se", "st", "te", "th", "ti", "to",
|
|
"ve", "wa", "all", "and", "are", "but", "ent", "era", "ere", "eve", "for", "had", "hat", "hen", "her", "hin",
|
|
"his", "ing", "ion", "ith", "not", "ome", "oul", "our", "sho", "ted", "ter", "tha", "the", "thi",
|
|
"al", "an", "ar", "as", "at", "ea", "ed", "en", "er", "es", "ha", "he", "hi", "in", "is", "it",
|
|
"le", "me", "nd", "ne", "ng", "nt", "on", "or", "ou", "re", "se", "st", "te", "th", "ti", "to",
|
|
"ve", "wa", "all", "and", "are", "but", "ent", "era", "ere", "eve", "for", "had", "hat", "hen", "her", "hin",
|
|
"his", "ing", "ion", "ith", "not", "ome", "oul", "our", "sho", "ted", "ter", "tha", "the", "thi",
|
|
"al", "an", "ar", "as", "at", "ea", "ed", "en", "er", "es", "ha", "he", "hi", "in", "is", "it",
|
|
"le", "me", "nd", "ne", "ng", "nt", "on", "or", "ou", "re", "se", "st", "te", "th", "ti", "to",
|
|
"ve", "wa", "all", "and", "are", "but", "ent", "era", "ere", "eve", "for", "had", "hat", "hen", "her", "hin",
|
|
"his", "ing", "ion", "ith", "not", "ome", "oul", "our", "sho", "ted", "ter", "tha", "the", "thi",
|
|
"al", "an", "ar", "as", "at", "ea", "ed", "en", "er", "es", "ha", "he", "hi", "in", "is", "it",
|
|
"le", "me", "nd", "ne", "ng", "nt", "on", "or", "ou", "re", "se", "st", "te", "th", "ti", "to",
|
|
"ve", "wa", "all", "and", "are", "but", "ent", "era", "ere", "eve", "for", "had", "hat", "hen", "her", "hin",
|
|
"his", "ing", "ion", "ith", "not", "ome", "oul", "our", "sho", "ted", "ter", "tha", "the", "thi")
|