mirror of
https://github.com/Aurorastation/Aurora.3.git
synced 2025-12-22 16:12:19 +00:00
Zeng-Hu Nral'malic Augment (#16712)
* skranguage * removes ipc and vaurca availability * understanding only, not speaking * renames proc + clarification comment * adds aug to xenobotanist * augment will not delete a skrell's voice * Update code/modules/mob/language/language.dm Co-authored-by: Fluffy <65877598+FluffyGhoster@users.noreply.github.com> * Update code/modules/mob/language/language.dm Co-authored-by: Fluffy <65877598+FluffyGhoster@users.noreply.github.com> --------- Co-authored-by: Fluffy <65877598+FluffyGhoster@users.noreply.github.com>
This commit is contained in:
@@ -237,3 +237,13 @@
|
|||||||
path = /obj/item/organ/internal/augment/head_fluff/lhand_fluff
|
path = /obj/item/organ/internal/augment/head_fluff/lhand_fluff
|
||||||
flags = GEAR_HAS_NAME_SELECTION | GEAR_HAS_DESC_SELECTION
|
flags = GEAR_HAS_NAME_SELECTION | GEAR_HAS_DESC_SELECTION
|
||||||
whitelisted = list(SPECIES_HUMAN, SPECIES_HUMAN_OFFWORLD, SPECIES_TAJARA, SPECIES_TAJARA_ZHAN, SPECIES_TAJARA_MSAI, SPECIES_SKRELL, SPECIES_SKRELL_AXIORI, SPECIES_IPC, SPECIES_IPC_G1, SPECIES_IPC_G2, SPECIES_IPC_XION, SPECIES_IPC_ZENGHU, SPECIES_IPC_BISHOP, SPECIES_IPC_SHELL, SPECIES_VAURCA_WORKER, SPECIES_VAURCA_WARRIOR, SPECIES_VAURCA_BULWARK, SPECIES_VAURCA_BREEDER, SPECIES_UNATHI)
|
whitelisted = list(SPECIES_HUMAN, SPECIES_HUMAN_OFFWORLD, SPECIES_TAJARA, SPECIES_TAJARA_ZHAN, SPECIES_TAJARA_MSAI, SPECIES_SKRELL, SPECIES_SKRELL_AXIORI, SPECIES_IPC, SPECIES_IPC_G1, SPECIES_IPC_G2, SPECIES_IPC_XION, SPECIES_IPC_ZENGHU, SPECIES_IPC_BISHOP, SPECIES_IPC_SHELL, SPECIES_VAURCA_WORKER, SPECIES_VAURCA_WARRIOR, SPECIES_VAURCA_BULWARK, SPECIES_VAURCA_BREEDER, SPECIES_UNATHI)
|
||||||
|
|
||||||
|
/datum/gear/augment/skrell_language
|
||||||
|
display_name = "Zeng-Hu Nral'malic language processor"
|
||||||
|
description = "An augmentation developed by Zeng-Hu Pharmaceuticals' Nralakk Division to enable the recipient to understand the complex and inaudible tones of Nral'malic."
|
||||||
|
path = /obj/item/organ/internal/augment/language/zeng
|
||||||
|
whitelisted = list(SPECIES_HUMAN, SPECIES_HUMAN_OFFWORLD)
|
||||||
|
faction = "Zeng-Hu Pharmaceuticals"
|
||||||
|
allowed_roles = list("Physician", "Surgeon", "Chief Medical Officer", "Pharmacist", "First Responder", "Psychiatrist", "Medical Intern", "Corporate Liaison", "Research Director","Scientist", "Xenobiologist", "Xenobotanist", "Xenoarchaeologist", "Lab Assistant", "Assistant", "Off-Duty Crew Member", "Captain")
|
||||||
|
cost = 3
|
||||||
|
|
||||||
|
|||||||
@@ -180,6 +180,16 @@
|
|||||||
/datum/language/proc/handle_message_mode(var/message_mode)
|
/datum/language/proc/handle_message_mode(var/message_mode)
|
||||||
return list(src, message_mode)
|
return list(src, message_mode)
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Checks if a language with special physical requirements can be spoken by a mob
|
||||||
|
* Returns `TRUE` if allowed to, `FALSE` otherwise
|
||||||
|
*
|
||||||
|
* * speaker - A `mob` to check for the ability to speak the language
|
||||||
|
*/
|
||||||
|
/datum/language/proc/check_speech_restrict(mob/speaker)
|
||||||
|
SHOULD_NOT_SLEEP(TRUE)
|
||||||
|
return TRUE
|
||||||
|
|
||||||
// Language handling.
|
// Language handling.
|
||||||
/mob/proc/add_language(var/language)
|
/mob/proc/add_language(var/language)
|
||||||
var/datum/language/new_language
|
var/datum/language/new_language
|
||||||
@@ -210,7 +220,7 @@
|
|||||||
|
|
||||||
// Can we speak this language, as opposed to just understanding it?
|
// Can we speak this language, as opposed to just understanding it?
|
||||||
/mob/proc/can_speak(datum/language/speaking)
|
/mob/proc/can_speak(datum/language/speaking)
|
||||||
return (universal_speak || (speaking && speaking.flags & INNATE) || (speaking in src.languages))
|
return (speaking.check_speech_restrict(src) && (universal_speak || (speaking && speaking.flags & INNATE) || (speaking in src.languages)))
|
||||||
|
|
||||||
/mob/proc/get_language_prefix()
|
/mob/proc/get_language_prefix()
|
||||||
if(client && client.prefs.language_prefixes && client.prefs.language_prefixes.len)
|
if(client && client.prefs.language_prefixes && client.prefs.language_prefixes.len)
|
||||||
@@ -251,8 +261,10 @@
|
|||||||
if(!(L.flags & NONGLOBAL))
|
if(!(L.flags & NONGLOBAL))
|
||||||
if(L == default_language)
|
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/>"
|
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
|
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/>"
|
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/>"
|
||||||
if(L.written_style)
|
if(L.written_style)
|
||||||
dat += "You can write in this language on papers by writing \[lang=[L.key]\]YourTextHere\[/lang\].<br/><br/>"
|
dat += "You can write in this language on papers by writing \[lang=[L.key]\]YourTextHere\[/lang\].<br/><br/>"
|
||||||
|
|
||||||
|
|||||||
@@ -179,6 +179,17 @@
|
|||||||
syllables = list("qr","qrr","xuq","qil","quum","xuqm","vol","xrim","zaoo","qu-uu","qix","qoo","zix","*","!")
|
syllables = list("qr","qrr","xuq","qil","quum","xuqm","vol","xrim","zaoo","qu-uu","qix","qoo","zix","*","!")
|
||||||
allow_accents = TRUE
|
allow_accents = TRUE
|
||||||
|
|
||||||
|
/datum/language/skrell/check_speech_restrict(mob/speaker)
|
||||||
|
if(!ishuman(speaker))
|
||||||
|
return FALSE
|
||||||
|
var/mob/living/carbon/human/H = speaker
|
||||||
|
var/obj/item/organ/internal/augment/language/zeng/aug = H.internal_organs_by_name[BP_AUG_LANGUAGE]
|
||||||
|
if(istype(aug) && !isskrell(H))
|
||||||
|
to_chat(speaker, SPAN_WARNING("You are not capable of speaking Nral'malic!"))
|
||||||
|
return FALSE
|
||||||
|
else
|
||||||
|
return TRUE
|
||||||
|
|
||||||
/datum/language/skrell/get_random_name()
|
/datum/language/skrell/get_random_name()
|
||||||
var/new_name = ""
|
var/new_name = ""
|
||||||
var/suff = ""
|
var/suff = ""
|
||||||
|
|||||||
@@ -470,6 +470,10 @@
|
|||||||
name = "Zino language processor"
|
name = "Zino language processor"
|
||||||
augment_languages = list(LANGUAGE_GUTTER)
|
augment_languages = list(LANGUAGE_GUTTER)
|
||||||
|
|
||||||
|
/obj/item/organ/internal/augment/language/zeng
|
||||||
|
name = "Zeng-Hu Nral'malic language processor"
|
||||||
|
augment_languages = list(LANGUAGE_SKRELLIAN)
|
||||||
|
|
||||||
/obj/item/organ/internal/augment/gustatorial
|
/obj/item/organ/internal/augment/gustatorial
|
||||||
name = "gustatorial centre"
|
name = "gustatorial centre"
|
||||||
action_button_name = "Activate Gustatorial Centre (tongue)"
|
action_button_name = "Activate Gustatorial Centre (tongue)"
|
||||||
|
|||||||
41
html/changelogs/RustingWithYou - warble.yml
Normal file
41
html/changelogs/RustingWithYou - warble.yml
Normal file
@@ -0,0 +1,41 @@
|
|||||||
|
################################
|
||||||
|
# Example Changelog File
|
||||||
|
#
|
||||||
|
# Note: This file, and files beginning with ".", and files that don't end in ".yml" will not be read. If you change this file, you will look really dumb.
|
||||||
|
#
|
||||||
|
# Your changelog will be merged with a master changelog. (New stuff added only, and only on the date entry for the day it was merged.)
|
||||||
|
# When it is, any changes listed below will disappear.
|
||||||
|
#
|
||||||
|
# Valid Prefixes:
|
||||||
|
# bugfix
|
||||||
|
# wip (For works in progress)
|
||||||
|
# tweak
|
||||||
|
# soundadd
|
||||||
|
# sounddel
|
||||||
|
# rscadd (general adding of nice things)
|
||||||
|
# rscdel (general deleting of nice things)
|
||||||
|
# imageadd
|
||||||
|
# imagedel
|
||||||
|
# maptweak
|
||||||
|
# spellcheck (typo fixes)
|
||||||
|
# experiment
|
||||||
|
# balance
|
||||||
|
# admin
|
||||||
|
# backend
|
||||||
|
# security
|
||||||
|
# refactor
|
||||||
|
#################################
|
||||||
|
|
||||||
|
# Your name.
|
||||||
|
author: RustingWithYou
|
||||||
|
|
||||||
|
# Optional: Remove this file after generating master changelog. Useful for PR changelogs that won't get used again.
|
||||||
|
delete-after: True
|
||||||
|
|
||||||
|
# Any changes you've made. See valid prefix list above.
|
||||||
|
# INDENT WITH TWO SPACES. NOT TABS. SPACES.
|
||||||
|
# SCREW THIS UP AND IT WON'T WORK.
|
||||||
|
# Also, all entries are changed into a single [] after a master changelog generation. Just remove the brackets when you add new entries.
|
||||||
|
# Please surround your changes in double quotes ("), as certain characters otherwise screws up compiling. The quotes will not show up in the changelog.
|
||||||
|
changes:
|
||||||
|
- rscadd: "Adds a Nral'malic language implant for Zeng-Hu employees."
|
||||||
Reference in New Issue
Block a user