Cultists of Nar-sie have their own language
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
#define SCRAMBLE_CACHE_LEN 20
|
||||
#define SCRAMBLE_CACHE_LEN 50 //maximum of 50 specific scrambled lines per language
|
||||
|
||||
/*
|
||||
Datum based languages. Easily editable and modular.
|
||||
|
||||
15
code/modules/language/language.dm.rej
Normal file
15
code/modules/language/language.dm.rej
Normal file
@@ -0,0 +1,15 @@
|
||||
diff a/code/modules/language/language.dm b/code/modules/language/language.dm (rejected hunks)
|
||||
@@ -16,10 +16,10 @@
|
||||
// If key is null, then the language isn't real or learnable.
|
||||
var/flags // Various language flags.
|
||||
var/list/syllables // Used when scrambling text for a non-speaker.
|
||||
- var/list/sentence_chance = 5 // Likelihood of making a new sentence after each syllable.
|
||||
- var/list/space_chance = 55 // Likelihood of getting a space in the random scramble string
|
||||
+ var/sentence_chance = 5 // Likelihood of making a new sentence after each syllable.
|
||||
+ var/space_chance = 55 // Likelihood of getting a space in the random scramble string
|
||||
var/list/spans = list()
|
||||
- var/static/list/scramble_cache = list()
|
||||
+ var/list/scramble_cache = list()
|
||||
var/default_priority = 0 // the language that an atom knows with the highest "default_priority" is selected by default.
|
||||
|
||||
// if you are seeing someone speak popcorn language, then something is wrong.
|
||||
43
code/modules/language/narsian.dm
Normal file
43
code/modules/language/narsian.dm
Normal file
@@ -0,0 +1,43 @@
|
||||
/datum/language/narsie
|
||||
name = "Nar-Sian"
|
||||
desc = "The ancient, blood-soaked, impossibly complex language of Nar-Sian cultists."
|
||||
speech_verb = "intones"
|
||||
ask_verb = "inquires"
|
||||
exclaim_verb = "invokes"
|
||||
key = "n"
|
||||
sentence_chance = 8
|
||||
space_chance = 95 //very high due to the potential length of each syllable
|
||||
var/static/list/base_syllables = list(
|
||||
"h", "v", "c", "e", "g", "d", "r", "n", "h", "o", "p",
|
||||
"ra", "so", "at", "il", "ta", "gh", "sh", "ya", "te", "sh", "ol", "ma", "om", "ig", "ni", "in",
|
||||
"sha", "mir", "sas", "mah", "zar", "tok", "lyr", "nqa", "nap", "olt", "val", "qha",
|
||||
"fwe", "ath", "yro", "eth", "gal", "gib", "bar", "jin", "kla", "atu", "kal", "lig",
|
||||
"yoka", "drak", "loso", "arta", "weyh", "ines", "toth", "fara", "amar", "nyag", "eske", "reth", "dedo", "btoh", "nikt", "neth",
|
||||
"kanas", "garis", "uloft", "tarat", "khari", "thnor", "rekka", "ragga", "rfikk", "harfr", "andid", "ethra", "dedol", "totum",
|
||||
"ntrath", "keriam"
|
||||
) //the list of syllables we'll combine with itself to get a larger list of syllables
|
||||
syllables = list(
|
||||
"sha", "mir", "sas", "mah", "hra", "zar", "tok", "lyr", "nqa", "nap", "olt", "val",
|
||||
"yam", "qha", "fel", "det", "fwe", "mah", "erl", "ath", "yro", "eth", "gal", "mud",
|
||||
"gib", "bar", "tea", "fuu", "jin", "kla", "atu", "kal", "lig",
|
||||
"yoka", "drak", "loso", "arta", "weyh", "ines", "toth", "fara", "amar", "nyag", "eske", "reth", "dedo", "btoh", "nikt", "neth", "abis",
|
||||
"kanas", "garis", "uloft", "tarat", "khari", "thnor", "rekka", "ragga", "rfikk", "harfr", "andid", "ethra", "dedol", "totum",
|
||||
"verbot", "pleggh", "ntrath", "barhah", "pasnar", "keriam", "usinar", "savrae", "amutan", "tannin", "remium", "barada",
|
||||
"forbici"
|
||||
) //the base syllables, which include a few rare ones that won't appear in the mixed syllables
|
||||
icon_state = "narsie"
|
||||
default_priority = 10
|
||||
|
||||
/datum/language/narsie/New()
|
||||
for(var/syllable in base_syllables) //we only do this once, since there's only ever a single one of each language datum.
|
||||
for(var/target_syllable in base_syllables)
|
||||
if(syllable != target_syllable) //don't combine with yourself
|
||||
if(length(syllable) + length(target_syllable) > 8) //if the resulting syllable would be very long, don't put anything between it
|
||||
syllables += "[syllable][target_syllable]"
|
||||
else if(prob(80)) //we'll be minutely different each round.
|
||||
syllables += "[syllable]'[target_syllable]"
|
||||
else if(prob(25)) //5% chance of - instead of '
|
||||
syllables += "[syllable]-[target_syllable]"
|
||||
else //15% chance of no ' or - at all
|
||||
syllables += "[syllable][target_syllable]"
|
||||
..()
|
||||
@@ -1,14 +1,19 @@
|
||||
/datum/language/ratvar
|
||||
name = "Ratvarian"
|
||||
desc = "A timeless language full of power and incomprehensible to the unenlightened."
|
||||
speech_verb = "clinks"
|
||||
ask_verb = "clunks"
|
||||
exclaim_verb = "clanks"
|
||||
var/static/random_speech_verbs = list("clanks", "clinks", "clunks", "clangs")
|
||||
ask_verb = "requests"
|
||||
exclaim_verb = "proclaims"
|
||||
whisper_verb = "imparts"
|
||||
key = "r"
|
||||
default_priority = 10
|
||||
spans = list(SPAN_ROBOT)
|
||||
|
||||
icon_state = "ratvar"
|
||||
|
||||
/datum/language/ratvar/scramble(var/input)
|
||||
. = text2ratvar(input)
|
||||
|
||||
/datum/language/ratvar/get_spoken_verb(msg_end)
|
||||
if(!msg_end)
|
||||
return pick(random_speech_verbs)
|
||||
return ..()
|
||||
@@ -27,7 +27,8 @@
|
||||
unique_name = 1
|
||||
AIStatus = AI_OFF //normal constructs don't have AI
|
||||
loot = list(/obj/item/weapon/ectoplasm)
|
||||
del_on_death = 1
|
||||
del_on_death = TRUE
|
||||
initial_language_holder = /datum/language_holder/construct
|
||||
deathmessage = "collapses in a shattered heap."
|
||||
var/list/construct_spells = list()
|
||||
var/playstyle_string = "<b>You are a generic construct! Your job is to not exist, and you should probably adminhelp this.</b>"
|
||||
|
||||
@@ -28,7 +28,8 @@
|
||||
status_flags = CANPUSH
|
||||
movement_type = FLYING
|
||||
loot = list(/obj/item/weapon/ectoplasm)
|
||||
del_on_death = 1
|
||||
del_on_death = TRUE
|
||||
initial_language_holder = /datum/language_holder/construct
|
||||
|
||||
/mob/living/simple_animal/shade/death()
|
||||
deathmessage = "lets out a contented sigh as [p_their()] form unwinds."
|
||||
|
||||
9
code/modules/surgery/organs/tongue.dm.rej
Normal file
9
code/modules/surgery/organs/tongue.dm.rej
Normal file
@@ -0,0 +1,9 @@
|
||||
diff a/code/modules/surgery/organs/tongue.dm b/code/modules/surgery/organs/tongue.dm (rejected hunks)
|
||||
@@ -15,6 +15,7 @@
|
||||
/datum/language/common,
|
||||
/datum/language/draconic,
|
||||
/datum/language/monkey,
|
||||
+ /datum/language/narsie,
|
||||
/datum/language/ratvar
|
||||
))
|
||||
|
||||
Reference in New Issue
Block a user