diff --git a/code/modules/language/language_holder.dm b/code/modules/language/language_holder.dm index d6610e920bc..c4d02333396 100644 --- a/code/modules/language/language_holder.dm +++ b/code/modules/language/language_holder.dm @@ -285,8 +285,16 @@ Key procs spoken_languages = list(/datum/language/common = list(LANGUAGE_ATOM), /datum/language/draconic = list(LANGUAGE_ATOM)) +/datum/language_holder/lizard/ash //SKYRAT EDIT BEGIN: Ashtongue for Ashwalkers + understood_languages = list(/datum/language/ashtongue = list(LANGUAGE_ATOM)) + spoken_languages = list(/datum/language/ashtongue = list(LANGUAGE_ATOM)) + selected_language = /datum/language/ashtongue + //SKYRAT EDIT END + +/* ORIGINAL /datum/language_holder/lizard/ash selected_language = /datum/language/draconic +*/ /datum/language_holder/lizard/silver understood_languages = list(/datum/language/uncommon = list(LANGUAGE_ATOM), diff --git a/code/modules/surgery/organs/tongue.dm b/code/modules/surgery/organs/tongue.dm index 7e6f9129f39..6850fdf4ced 100644 --- a/code/modules/surgery/organs/tongue.dm +++ b/code/modules/surgery/organs/tongue.dm @@ -43,7 +43,8 @@ /datum/language/zolmach, // SKYRAT EDIT - customization - extra languages /datum/language/xenoknockoff, // SKYRAT EDIT - customization - extra languages /datum/language/yangyu, // SKYRAT EDIT - customization - extra languages - /datum/language/schechi // SKYRAT EDIT - customization - extra languages + /datum/language/schechi, // SKYRAT EDIT - customization - extra languages + /datum/language/ashtongue, // SKYRAT EDIT - customization - extra languages )) /obj/item/organ/internal/tongue/Initialize(mapload) @@ -96,7 +97,7 @@ say_mod = "hisses" taste_sensitivity = 10 // combined nose + tongue, extra sensitive modifies_speech = TRUE - languages_native = list(/datum/language/draconic) + languages_native = list(/datum/language/draconic, /datum/language/ashtongue) //SKYRAT EDIT: Ashtongue for Ashwalkers /obj/item/organ/internal/tongue/lizard/modify_speech(datum/source, list/speech_args) var/static/regex/lizard_hiss = new("s+", "g") diff --git a/modular_skyrat/master_files/code/modules/antagonists/ashwalker/ashwalker.dm b/modular_skyrat/master_files/code/modules/antagonists/ashwalker/ashwalker.dm new file mode 100644 index 00000000000..344494ec97e --- /dev/null +++ b/modular_skyrat/master_files/code/modules/antagonists/ashwalker/ashwalker.dm @@ -0,0 +1,8 @@ +/datum/antagonist/ashwalker/apply_innate_effects(mob/living/mob_override) + . = ..() + var/mob/living/owner_mob = mob_override || owner.current + var/datum/language_holder/holder = owner_mob.get_language_holder() + holder.remove_language(/datum/language/common, TRUE, TRUE, LANGUAGE_ALL) + holder.remove_language(/datum/language/draconic, TRUE, TRUE, LANGUAGE_ALL) + holder.grant_language(/datum/language/ashtongue, TRUE, TRUE, LANGUAGE_ALL) + holder.selected_language = /datum/language/ashtongue diff --git a/modular_skyrat/master_files/icons/misc/language.dmi b/modular_skyrat/master_files/icons/misc/language.dmi index a02691fb7f8..e6d82d86a05 100644 Binary files a/modular_skyrat/master_files/icons/misc/language.dmi and b/modular_skyrat/master_files/icons/misc/language.dmi differ diff --git a/modular_skyrat/modules/customization/modules/language/ashtongue.dm b/modular_skyrat/modules/customization/modules/language/ashtongue.dm new file mode 100644 index 00000000000..b48a4a85f3e --- /dev/null +++ b/modular_skyrat/modules/customization/modules/language/ashtongue.dm @@ -0,0 +1,29 @@ +/datum/language/ashtongue + name = "Ashtongue" + desc = "A language derived from Draconic, altered and morphed into a strange tongue by the enigmatic will of the Necropolis, a half-successful attempt at patterning its own alien communication methods onto mundane races. It's become nigh-incomprehensible to speakers of the original language." + key = "o" + flags = TONGUELESS_SPEECH + space_chance = 70 + syllables = list( + "za", "az", "ze", "ez", "zi", "iz", "zo", "oz", "zu", "uz", "zs", "sz", + "ha", "ah", "he", "eh", "hi", "ih", "ho", "oh", "hu", "uh", "hs", "sh", + "la", "al", "le", "el", "li", "il", "lo", "ol", "lu", "ul", "ls", "sl", + "ka", "ak", "ke", "ek", "ki", "ik", "ko", "ok", "ku", "uk", "ks", "sk", + "sa", "as", "se", "es", "si", "is", "so", "os", "su", "us", "ss", "ss", + "ra", "ar", "re", "er", "ri", "ir", "ro", "or", "ru", "ur", "rs", "sr", + "er", "sint", "en", "et", "nor", "bahr", "sint", "un", "ku", "lakor", "eri", + "noj", "dashilu", "as", "ot", "lih", "morh", "ghinu", "kin", "sha", "marik", "jibu", + "sudas", "fut", "kol", "bivi", "pohim", "devohr", "ru", "huirf", "neiris", "sut", + "viepn","bag","docu","kar","xlaqf","raa","qwos","nen","ty","von","kytaf","xin", + "devehr", "iru", "gher", "gan", "ujil", "lacor", "bahris", "ghar", "alnef", "wah", + "khurdhar", "bar", "et", "ilu", "dash", "diru", "noj", "de", "damjulan", "luvahr", + "telshahr", "tifur", "enhi", "am", "bahr", "nei", "neibahri", "n'chow", "n'wah", + "baak","hlaf","pyk","znu","agr","ith","na'ar","uah","plhu","six","fhler","bjel","scee", + "lleri","dttm","aggr","uujl","hjjifr","wuth","aav","inya","sod","bli","min","fril","bli","'ddn","tun'da", + "'ad","iir","krei","tii'","ruuk","nei","zirua","surai","lieket","miruk","ettirup","mireez","cqiek", + "brut","vaahk","nah'za","diierk","piut","vuurk","cs'eer","jeirk","qiruvk", + ) + icon_state = "ashtongue" + icon = 'modular_skyrat/master_files/icons/misc/language.dmi' + default_priority = 90 + secret = TRUE diff --git a/modular_skyrat/modules/customization/modules/mob/living/carbon/human/species/lizard.dm b/modular_skyrat/modules/customization/modules/mob/living/carbon/human/species/lizard.dm index 149d4f6231b..440e1c3080b 100644 --- a/modular_skyrat/modules/customization/modules/mob/living/carbon/human/species/lizard.dm +++ b/modular_skyrat/modules/customization/modules/mob/living/carbon/human/species/lizard.dm @@ -55,7 +55,6 @@ lizard.update_mutant_bodyparts(TRUE) lizard.update_body(TRUE) - /datum/species/lizard/ashwalker species_traits = list( MUTCOLORS, @@ -68,7 +67,7 @@ FACEHAIR ) always_customizable = TRUE - learnable_languages = list(/datum/language/draconic) + learnable_languages = list(/datum/language/ashtongue) /datum/species/lizard/ashwalker/prepare_human_for_preview(mob/living/carbon/human/lizard, lizard_color = "#990000") . = ..(lizard, lizard_color) diff --git a/modular_skyrat/modules/modular_items/code/necklace.dm b/modular_skyrat/modules/modular_items/code/necklace.dm index 4ebddf965c8..3bc36eb773b 100644 --- a/modular_skyrat/modules/modular_items/code/necklace.dm +++ b/modular_skyrat/modules/modular_items/code/necklace.dm @@ -1,8 +1,8 @@ //ASHWALKER TRANSLATOR NECKLACE// #define LANGUAGE_TRANSLATOR "translator" /obj/item/clothing/neck/necklace/ashwalker - name = "draconic necklace" - desc = "A necklace forged in the raging fires of lavaland, grants the ability to speak Draconic, the native language of Ashwalkers, while worn." + name = "ashen necklace" + desc = "A necklace crafted from ash, connected to the Necropolis through the core of a Legion. This imbues overdwellers with an unnatural understanding of Ashtongue, the native language of Lavaland, while worn." icon = 'modular_skyrat/master_files/icons/obj/clothing/neck.dmi' icon_state = "ashnecklace" worn_icon = 'modular_skyrat/master_files/icons/mob/clothing/neck.dmi' @@ -15,8 +15,8 @@ if(!ishuman(user)) return if(slot == ITEM_SLOT_NECK) - user.grant_language(/datum/language/draconic/, TRUE, TRUE, LANGUAGE_TRANSLATOR) - to_chat(user, span_boldnotice("Slipping the necklace on, you find yourself able to understand Draconic.")) + user.grant_language(/datum/language/ashtongue/, TRUE, TRUE, LANGUAGE_TRANSLATOR) + to_chat(user, span_boldnotice("Slipping the necklace on, you feel the insidious creep of the Necropolis enter your bones, and your very shadow. You find yourself with an unnatural knowledge of Ashtongue; but the amulet's eye stares at you.")) /obj/item/clothing/neck/necklace/ashwalker/dropped(mob/user) . = ..() @@ -25,6 +25,6 @@ var/mob/living/carbon/human/H = user if(H.get_item_by_slot(ITEM_SLOT_NECK) == src && !QDELETED(src)) //This can be called as a part of destroy user.remove_language(/datum/language/draconic/, TRUE, TRUE, LANGUAGE_TRANSLATOR) - to_chat(user, span_boldnotice("Your newly gained knowledge of Draconic fades away as you remove the necklace.")) + to_chat(user, span_boldnotice("You feel the alien mind of the Necropolis lose its interest in you as you remove the necklace. The eye closes, and your mind does as well, losing its grasp of Ashtongue.")) //ASHWALKER TRANSLATOR NECKLACE END// diff --git a/tgstation.dme b/tgstation.dme index bea004a8c47..54d460979db 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -4675,6 +4675,7 @@ #include "modular_skyrat\master_files\code\game\turfs\open\floor\iron_floor.dm" #include "modular_skyrat\master_files\code\modules\admin\admin.dm" #include "modular_skyrat\master_files\code\modules\antagonists\_common\antag_datum.dm" +#include "modular_skyrat\master_files\code\modules\antagonists\ashwalker\ashwalker.dm" #include "modular_skyrat\master_files\code\modules\antagonists\ert\ert.dm" #include "modular_skyrat\master_files\code\modules\antagonists\traitor\objectives\kill_pet.dm" #include "modular_skyrat\master_files\code\modules\antagonists\traitor\objectives\smuggling.dm" @@ -5169,6 +5170,7 @@ #include "modular_skyrat\modules\customization\modules\hydroponics\grown\bananaspider.dm" #include "modular_skyrat\modules\customization\modules\hydroponics\grown\tea_coffee.dm" #include "modular_skyrat\modules\customization\modules\jobs\_job.dm" +#include "modular_skyrat\modules\customization\modules\language\ashtongue.dm" #include "modular_skyrat\modules\customization\modules\language\dwarf.dm" #include "modular_skyrat\modules\customization\modules\language\gutter.dm" #include "modular_skyrat\modules\customization\modules\language\japanese.dm"